From 71bb0118729a530cf4dee92eaf6434f890c530aa Mon Sep 17 00:00:00 2001 From: axionbuster Date: Mon, 27 Jan 2025 17:59:44 +0000 Subject: [PATCH] deploy: e45de930586c7902230aaa2e9d6360b000476305 --- .nojekyll | 0 M-Chunk-Code.html | 2 + M-Chunk-Net.html | 2 + M-Collision-Effectful.html | 2 + M-Collision-Internal-Face.html | 3 + M-Collision-Internal-March.html | 16 + M-Collision-Pure.html | 7 + M-Collision.html | 2 + M-Crypto.html | 7 + M-IO-Internal-Datagram.html | 3 + M-IO-Internal-EffectSocket.html | 2 + M-IO-Internal-EffectTypes.html | 4 + M-IO-Internal-Read.html | 5 + M-IO-Internal-Socket.html | 2 + M-IO-Internal-Zlib.html | 2 + M-IO-KeepAlive.html | 3 + M-IO-Obs.html | 6 + M-IO-TH.html | 11 + M-IO-Tick.html | 4 + M-IO.html | 2 + M-LEB.html | 4 + M-Misc.html | 6 + M-NBT-Internal-JS.html | 4 + M-NBT-Internal-P.html | 2 + M-NBT-Internal-Types.html | 2 + M-NBT.html | 2 + M-Pack-Internal-Bit.html | 12 + M-Pack-Internal-Etc.html | 2 + M-Pack-Internal-FromIntegral.html | 2 + M-Pack-Internal-Linear.html | 2 + M-Pack-Internal-Newtypes.html | 6 + M-Pack-Internal-Num.html | 2 + M-Pack-Internal-TH.html | 2 + M-Pack-Internal-Types.html | 2 + M-Pack.html | 5 + M-Position.html | 3 + M-Reg.html | 30 + M-TODO.html | 1 + M-V769-C.html | 3 + M-V769-H.html | 3 + M-V769-I.html | 3 + M-V769-L.html | 3 + M-V769-P.html | 3 + M-V769-Reg.html | 5 + M-V769-S.html | 3 + doc-index-95.html | 1 + doc-index-A.html | 1 + doc-index-All.html | 1 + doc-index-B.html | 1 + doc-index-C.html | 1 + doc-index-D.html | 1 + doc-index-E.html | 1 + doc-index-F.html | 1 + doc-index-G.html | 1 + doc-index-H.html | 1 + doc-index-I.html | 1 + doc-index-J.html | 1 + doc-index-K.html | 1 + doc-index-L.html | 1 + doc-index-M.html | 1 + doc-index-N.html | 1 + doc-index-O.html | 1 + doc-index-P.html | 1 + doc-index-Q.html | 1 + doc-index-R.html | 1 + doc-index-S.html | 1 + doc-index-T.html | 1 + doc-index-U.html | 1 + doc-index-V.html | 1 + doc-index-W.html | 1 + doc-index-X.html | 1 + doc-index-Z.html | 1 + doc-index.html | 1 + doc-index.json | 1 + haddock-bundle.min.js | 2 + index.html | 1 + linuwial.css | 881 +++ meta.json | 1 + mmm.haddock | Bin 0 -> 181295 bytes mmm.txt | 6183 +++++++++++++++++++++ quick-jump.css | 221 + quick-jump.min.js | 2 + src/M.Chunk.Code.html | 1877 +++++++ src/M.Chunk.Net.html | 410 ++ src/M.Collision.Effectful.html | 1946 +++++++ src/M.Collision.Internal.Face.html | 482 ++ src/M.Collision.Internal.March.html | 764 +++ src/M.Collision.Pure.html | 2014 +++++++ src/M.Collision.html | 17 + src/M.Crypto.html | 1150 ++++ src/M.IO.Internal.Datagram.html | 1143 ++++ src/M.IO.Internal.EffectSocket.html | 532 ++ src/M.IO.Internal.EffectTypes.html | 901 +++ src/M.IO.Internal.Read.html | 191 + src/M.IO.Internal.Socket.html | 253 + src/M.IO.Internal.Zlib.html | 63 + src/M.IO.KeepAlive.html | 205 + src/M.IO.Obs.html | 106 + src/M.IO.TH.html | 1160 ++++ src/M.IO.Tick.html | 106 + src/M.IO.html | 24 + src/M.LEB.html | 690 +++ src/M.Misc.html | 371 ++ src/M.NBT.Internal.JS.html | 1231 +++++ src/M.NBT.Internal.P.html | 822 +++ src/M.NBT.Internal.Types.html | 699 +++ src/M.NBT.html | 14 + src/M.Pack.Internal.Bit.html | 2108 +++++++ src/M.Pack.Internal.Etc.html | 327 ++ src/M.Pack.Internal.FromIntegral.html | 18 + src/M.Pack.Internal.Linear.html | 66 + src/M.Pack.Internal.Newtypes.html | 7306 +++++++++++++++++++++++++ src/M.Pack.Internal.Num.html | 330 ++ src/M.Pack.Internal.TH.html | 80 + src/M.Pack.Internal.Types.html | 881 +++ src/M.Pack.html | 33 + src/M.Position.html | 490 ++ src/M.Reg.html | 598 ++ src/M.TODO.html | 2508 +++++++++ src/M.V769.C.html | 107 + src/M.V769.H.html | 45 + src/M.V769.I.html | 2548 +++++++++ src/M.V769.L.html | 82 + src/M.V769.P.html | 871 +++ src/M.V769.Reg.html | 279 + src/M.V769.S.html | 46 + src/Paths_mmm.html | 209 + src/highlight.js | 27 + src/style.css | 97 + synopsis.png | Bin 0 -> 11327 bytes 130 files changed, 43744 insertions(+) create mode 100644 .nojekyll create mode 100644 M-Chunk-Code.html create mode 100644 M-Chunk-Net.html create mode 100644 M-Collision-Effectful.html create mode 100644 M-Collision-Internal-Face.html create mode 100644 M-Collision-Internal-March.html create mode 100644 M-Collision-Pure.html create mode 100644 M-Collision.html create mode 100644 M-Crypto.html create mode 100644 M-IO-Internal-Datagram.html create mode 100644 M-IO-Internal-EffectSocket.html create mode 100644 M-IO-Internal-EffectTypes.html create mode 100644 M-IO-Internal-Read.html create mode 100644 M-IO-Internal-Socket.html create mode 100644 M-IO-Internal-Zlib.html create mode 100644 M-IO-KeepAlive.html create mode 100644 M-IO-Obs.html create mode 100644 M-IO-TH.html create mode 100644 M-IO-Tick.html create mode 100644 M-IO.html create mode 100644 M-LEB.html create mode 100644 M-Misc.html create mode 100644 M-NBT-Internal-JS.html create mode 100644 M-NBT-Internal-P.html create mode 100644 M-NBT-Internal-Types.html create mode 100644 M-NBT.html create mode 100644 M-Pack-Internal-Bit.html create mode 100644 M-Pack-Internal-Etc.html create mode 100644 M-Pack-Internal-FromIntegral.html create mode 100644 M-Pack-Internal-Linear.html create mode 100644 M-Pack-Internal-Newtypes.html create mode 100644 M-Pack-Internal-Num.html create mode 100644 M-Pack-Internal-TH.html create mode 100644 M-Pack-Internal-Types.html create mode 100644 M-Pack.html create mode 100644 M-Position.html create mode 100644 M-Reg.html create mode 100644 M-TODO.html create mode 100644 M-V769-C.html create mode 100644 M-V769-H.html create mode 100644 M-V769-I.html create mode 100644 M-V769-L.html create mode 100644 M-V769-P.html create mode 100644 M-V769-Reg.html create mode 100644 M-V769-S.html create mode 100644 doc-index-95.html create mode 100644 doc-index-A.html create mode 100644 doc-index-All.html create mode 100644 doc-index-B.html create mode 100644 doc-index-C.html create mode 100644 doc-index-D.html create mode 100644 doc-index-E.html create mode 100644 doc-index-F.html create mode 100644 doc-index-G.html create mode 100644 doc-index-H.html create mode 100644 doc-index-I.html create mode 100644 doc-index-J.html create mode 100644 doc-index-K.html create mode 100644 doc-index-L.html create mode 100644 doc-index-M.html create mode 100644 doc-index-N.html create mode 100644 doc-index-O.html create mode 100644 doc-index-P.html create mode 100644 doc-index-Q.html create mode 100644 doc-index-R.html create mode 100644 doc-index-S.html create mode 100644 doc-index-T.html create mode 100644 doc-index-U.html create mode 100644 doc-index-V.html create mode 100644 doc-index-W.html create mode 100644 doc-index-X.html create mode 100644 doc-index-Z.html create mode 100644 doc-index.html create mode 100644 doc-index.json create mode 100644 haddock-bundle.min.js create mode 100644 index.html create mode 100644 linuwial.css create mode 100644 meta.json create mode 100644 mmm.haddock create mode 100644 mmm.txt create mode 100644 quick-jump.css create mode 100644 quick-jump.min.js create mode 100644 src/M.Chunk.Code.html create mode 100644 src/M.Chunk.Net.html create mode 100644 src/M.Collision.Effectful.html create mode 100644 src/M.Collision.Internal.Face.html create mode 100644 src/M.Collision.Internal.March.html create mode 100644 src/M.Collision.Pure.html create mode 100644 src/M.Collision.html create mode 100644 src/M.Crypto.html create mode 100644 src/M.IO.Internal.Datagram.html create mode 100644 src/M.IO.Internal.EffectSocket.html create mode 100644 src/M.IO.Internal.EffectTypes.html create mode 100644 src/M.IO.Internal.Read.html create mode 100644 src/M.IO.Internal.Socket.html create mode 100644 src/M.IO.Internal.Zlib.html create mode 100644 src/M.IO.KeepAlive.html create mode 100644 src/M.IO.Obs.html create mode 100644 src/M.IO.TH.html create mode 100644 src/M.IO.Tick.html create mode 100644 src/M.IO.html create mode 100644 src/M.LEB.html create mode 100644 src/M.Misc.html create mode 100644 src/M.NBT.Internal.JS.html create mode 100644 src/M.NBT.Internal.P.html create mode 100644 src/M.NBT.Internal.Types.html create mode 100644 src/M.NBT.html create mode 100644 src/M.Pack.Internal.Bit.html create mode 100644 src/M.Pack.Internal.Etc.html create mode 100644 src/M.Pack.Internal.FromIntegral.html create mode 100644 src/M.Pack.Internal.Linear.html create mode 100644 src/M.Pack.Internal.Newtypes.html create mode 100644 src/M.Pack.Internal.Num.html create mode 100644 src/M.Pack.Internal.TH.html create mode 100644 src/M.Pack.Internal.Types.html create mode 100644 src/M.Pack.html create mode 100644 src/M.Position.html create mode 100644 src/M.Reg.html create mode 100644 src/M.TODO.html create mode 100644 src/M.V769.C.html create mode 100644 src/M.V769.H.html create mode 100644 src/M.V769.I.html create mode 100644 src/M.V769.L.html create mode 100644 src/M.V769.P.html create mode 100644 src/M.V769.Reg.html create mode 100644 src/M.V769.S.html create mode 100644 src/Paths_mmm.html create mode 100644 src/highlight.js create mode 100644 src/style.css create mode 100644 synopsis.png diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/M-Chunk-Code.html b/M-Chunk-Code.html new file mode 100644 index 0000000..bc7bc80 --- /dev/null +++ b/M-Chunk-Code.html @@ -0,0 +1,2 @@ +M.Chunk.Code
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.Chunk.Code

Description

Encode and decode paletted containers for block states and biomes.

Synopsis

Documentation

data ChunkSection c m Source #

a chunk section where c is the numeric type for block states and + m is the same for biomes

Constructors

ChunkSection 

Fields

  • csnonempty :: !Int16

    number of non-air blocks (tracked for optimization)

  • csblockstates :: !(Vector c)

    block states (4,096 entries; 16x16x16, access [y][z][x])

  • csbiomes :: !(Vector m)

    biomes (64 entries; 4x4x4, access [y][z][x])

Instances

Instances details
(Data c, Data m, Unbox c, Unbox m) => Data (ChunkSection c m) Source # 
Instance details

Defined in M.Chunk.Code

Methods

gfoldl :: (forall d b. Data d => c0 (d -> b) -> d -> c0 b) -> (forall g. g -> c0 g) -> ChunkSection c m -> c0 (ChunkSection c m) #

gunfold :: (forall b r. Data b => c0 (b -> r) -> c0 r) -> (forall r. r -> c0 r) -> Constr -> c0 (ChunkSection c m) #

toConstr :: ChunkSection c m -> Constr #

dataTypeOf :: ChunkSection c m -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c0 (t d)) -> Maybe (c0 (ChunkSection c m)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c0 (t d e)) -> Maybe (c0 (ChunkSection c m)) #

gmapT :: (forall b. Data b => b -> b) -> ChunkSection c m -> ChunkSection c m #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ChunkSection c m -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ChunkSection c m -> r #

gmapQ :: (forall d. Data d => d -> u) -> ChunkSection c m -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ChunkSection c m -> u #

gmapM :: Monad m0 => (forall d. Data d => d -> m0 d) -> ChunkSection c m -> m0 (ChunkSection c m) #

gmapMp :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> ChunkSection c m -> m0 (ChunkSection c m) #

gmapMo :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> ChunkSection c m -> m0 (ChunkSection c m) #

Generic (ChunkSection c m) Source # 
Instance details

Defined in M.Chunk.Code

Associated Types

type Rep (ChunkSection c m) 
Instance details

Defined in M.Chunk.Code

type Rep (ChunkSection c m) = D1 ('MetaData "ChunkSection" "M.Chunk.Code" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChunkSection" 'PrefixI 'True) (S1 ('MetaSel ('Just "csnonempty") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int16) :*: (S1 ('MetaSel ('Just "csblockstates") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Vector c)) :*: S1 ('MetaSel ('Just "csbiomes") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Vector m)))))

Methods

from :: ChunkSection c m -> Rep (ChunkSection c m) x #

to :: Rep (ChunkSection c m) x -> ChunkSection c m #

(Show c, Integral c, FiniteBits c, Unbox c, Show m, Integral m, FiniteBits m, Unbox m) => Show (ChunkSection c m) Source #

uses paletted view with hard-coded settings to compress what's been shown

Instance details

Defined in M.Chunk.Code

(Unbox c, Unbox m, Eq c, Eq m) => Eq (ChunkSection c m) Source # 
Instance details

Defined in M.Chunk.Code

Methods

(==) :: ChunkSection c m -> ChunkSection c m -> Bool #

(/=) :: ChunkSection c m -> ChunkSection c m -> Bool #

(Unbox c, Unbox m, Ord c, Ord m) => Ord (ChunkSection c m) Source # 
Instance details

Defined in M.Chunk.Code

type Rep (ChunkSection c m) Source # 
Instance details

Defined in M.Chunk.Code

type Rep (ChunkSection c m) = D1 ('MetaData "ChunkSection" "M.Chunk.Code" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChunkSection" 'PrefixI 'True) (S1 ('MetaSel ('Just "csnonempty") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int16) :*: (S1 ('MetaSel ('Just "csblockstates") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Vector c)) :*: S1 ('MetaSel ('Just "csbiomes") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Vector m)))))

data ChunkSectionEncoding Source #

encoding configuration for ChunkSection

Constructors

ChunkSectionEncoding 

Fields

Instances

Instances details
Data ChunkSectionEncoding Source # 
Instance details

Defined in M.Chunk.Code

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ChunkSectionEncoding -> c ChunkSectionEncoding #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ChunkSectionEncoding #

toConstr :: ChunkSectionEncoding -> Constr #

dataTypeOf :: ChunkSectionEncoding -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ChunkSectionEncoding) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ChunkSectionEncoding) #

gmapT :: (forall b. Data b => b -> b) -> ChunkSectionEncoding -> ChunkSectionEncoding #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ChunkSectionEncoding -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ChunkSectionEncoding -> r #

gmapQ :: (forall d. Data d => d -> u) -> ChunkSectionEncoding -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ChunkSectionEncoding -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ChunkSectionEncoding -> m ChunkSectionEncoding #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ChunkSectionEncoding -> m ChunkSectionEncoding #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ChunkSectionEncoding -> m ChunkSectionEncoding #

Generic ChunkSectionEncoding Source # 
Instance details

Defined in M.Chunk.Code

Associated Types

type Rep ChunkSectionEncoding 
Instance details

Defined in M.Chunk.Code

type Rep ChunkSectionEncoding = D1 ('MetaData "ChunkSectionEncoding" "M.Chunk.Code" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChunkSectionEncoding" 'PrefixI 'True) (S1 ('MetaSel ('Just "cseblockstates") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Just "csebiomes") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int)))
Read ChunkSectionEncoding Source # 
Instance details

Defined in M.Chunk.Code

Show ChunkSectionEncoding Source # 
Instance details

Defined in M.Chunk.Code

Eq ChunkSectionEncoding Source # 
Instance details

Defined in M.Chunk.Code

Ord ChunkSectionEncoding Source # 
Instance details

Defined in M.Chunk.Code

type Rep ChunkSectionEncoding Source # 
Instance details

Defined in M.Chunk.Code

type Rep ChunkSectionEncoding = D1 ('MetaData "ChunkSectionEncoding" "M.Chunk.Code" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChunkSectionEncoding" 'PrefixI 'True) (S1 ('MetaSel ('Just "cseblockstates") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Just "csebiomes") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int)))

mkcscodec Source #

Arguments

:: forall m c (st :: ZeroBitType) r. (Unbox m, Unbox c, FiniteBits m, FiniteBits c, Integral m, Integral c) 
=> ChunkSectionEncoding

encoding settings

-> (ChunkSection c m -> Builder, Parser st r (ChunkSection c m))

a pair of an encoder and a decoder, respectively

create a codec for ChunkSections using the provided settings

\ No newline at end of file diff --git a/M-Chunk-Net.html b/M-Chunk-Net.html new file mode 100644 index 0000000..9d847e2 --- /dev/null +++ b/M-Chunk-Net.html @@ -0,0 +1,2 @@ +M.Chunk.Net
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.Chunk.Net

Description

Defines data types for chunk and lighting data used in network serialization. + Includes block entities and packed coordinate representations.

Documentation

data ChunkData Source #

Constructors

ChunkData 

Instances

Instances details
Data ChunkData Source # 
Instance details

Defined in M.Chunk.Net

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ChunkData -> c ChunkData #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ChunkData #

toConstr :: ChunkData -> Constr #

dataTypeOf :: ChunkData -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ChunkData) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ChunkData) #

gmapT :: (forall b. Data b => b -> b) -> ChunkData -> ChunkData #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ChunkData -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ChunkData -> r #

gmapQ :: (forall d. Data d => d -> u) -> ChunkData -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ChunkData -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ChunkData -> m ChunkData #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ChunkData -> m ChunkData #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ChunkData -> m ChunkData #

Generic ChunkData Source # 
Instance details

Defined in M.Chunk.Net

Associated Types

type Rep ChunkData 
Instance details

Defined in M.Chunk.Net

type Rep ChunkData = D1 ('MetaData "ChunkData" "M.Chunk.Net" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChunkData" 'PrefixI 'True) (S1 ('MetaSel ('Just "cdhmaps") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tg) :*: (S1 ('MetaSel ('Just "cddata") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString) :*: S1 ('MetaSel ('Just "cdblockentities") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector BlockEntity)))))
Read ChunkData Source # 
Instance details

Defined in M.Chunk.Net

Show ChunkData Source # 
Instance details

Defined in M.Chunk.Net

NFData ChunkData Source # 
Instance details

Defined in M.Chunk.Net

Methods

rnf :: ChunkData -> () #

Eq ChunkData Source # 
Instance details

Defined in M.Chunk.Net

Ord ChunkData Source # 
Instance details

Defined in M.Chunk.Net

Pack ChunkData Source # 
Instance details

Defined in M.Chunk.Net

Unpack ChunkData Source # 
Instance details

Defined in M.Chunk.Net

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChunkData Source #

type Rep ChunkData Source # 
Instance details

Defined in M.Chunk.Net

type Rep ChunkData = D1 ('MetaData "ChunkData" "M.Chunk.Net" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChunkData" 'PrefixI 'True) (S1 ('MetaSel ('Just "cdhmaps") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tg) :*: (S1 ('MetaSel ('Just "cddata") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString) :*: S1 ('MetaSel ('Just "cdblockentities") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector BlockEntity)))))

data BlockEntity Source #

Constructors

BlockEntity 

Fields

Instances

Instances details
Data BlockEntity Source # 
Instance details

Defined in M.Chunk.Net

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BlockEntity -> c BlockEntity #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BlockEntity #

toConstr :: BlockEntity -> Constr #

dataTypeOf :: BlockEntity -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BlockEntity) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BlockEntity) #

gmapT :: (forall b. Data b => b -> b) -> BlockEntity -> BlockEntity #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BlockEntity -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BlockEntity -> r #

gmapQ :: (forall d. Data d => d -> u) -> BlockEntity -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> BlockEntity -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> BlockEntity -> m BlockEntity #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BlockEntity -> m BlockEntity #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BlockEntity -> m BlockEntity #

Generic BlockEntity Source # 
Instance details

Defined in M.Chunk.Net

Associated Types

type Rep BlockEntity 
Instance details

Defined in M.Chunk.Net

type Rep BlockEntity = D1 ('MetaData "BlockEntity" "M.Chunk.Net" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "BlockEntity" 'PrefixI 'True) ((S1 ('MetaSel ('Just "bexz") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Word8)) :*: S1 ('MetaSel ('Just "berelheight") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16)) :*: (S1 ('MetaSel ('Just "betype") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "bedata") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tg))))
Read BlockEntity Source # 
Instance details

Defined in M.Chunk.Net

Show BlockEntity Source # 
Instance details

Defined in M.Chunk.Net

NFData BlockEntity Source # 
Instance details

Defined in M.Chunk.Net

Methods

rnf :: BlockEntity -> () #

Eq BlockEntity Source # 
Instance details

Defined in M.Chunk.Net

Ord BlockEntity Source # 
Instance details

Defined in M.Chunk.Net

Pack BlockEntity Source # 
Instance details

Defined in M.Chunk.Net

Unpack BlockEntity Source # 
Instance details

Defined in M.Chunk.Net

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r BlockEntity Source #

type Rep BlockEntity Source # 
Instance details

Defined in M.Chunk.Net

type Rep BlockEntity = D1 ('MetaData "BlockEntity" "M.Chunk.Net" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "BlockEntity" 'PrefixI 'True) ((S1 ('MetaSel ('Just "bexz") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Word8)) :*: S1 ('MetaSel ('Just "berelheight") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16)) :*: (S1 ('MetaSel ('Just "betype") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "bedata") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tg))))

data LightData Source #

Instances

Instances details
Data LightData Source # 
Instance details

Defined in M.Chunk.Net

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LightData -> c LightData #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LightData #

toConstr :: LightData -> Constr #

dataTypeOf :: LightData -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LightData) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LightData) #

gmapT :: (forall b. Data b => b -> b) -> LightData -> LightData #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LightData -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LightData -> r #

gmapQ :: (forall d. Data d => d -> u) -> LightData -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> LightData -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LightData -> m LightData #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LightData -> m LightData #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LightData -> m LightData #

Generic LightData Source # 
Instance details

Defined in M.Chunk.Net

Associated Types

type Rep LightData 
Instance details

Defined in M.Chunk.Net

Read LightData Source # 
Instance details

Defined in M.Chunk.Net

Show LightData Source # 
Instance details

Defined in M.Chunk.Net

NFData LightData Source # 
Instance details

Defined in M.Chunk.Net

Methods

rnf :: LightData -> () #

Eq LightData Source # 
Instance details

Defined in M.Chunk.Net

Ord LightData Source # 
Instance details

Defined in M.Chunk.Net

Pack LightData Source # 
Instance details

Defined in M.Chunk.Net

Unpack LightData Source # 
Instance details

Defined in M.Chunk.Net

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LightData Source #

type Rep LightData Source # 
Instance details

Defined in M.Chunk.Net

\ No newline at end of file diff --git a/M-Collision-Effectful.html b/M-Collision-Effectful.html new file mode 100644 index 0000000..2251535 --- /dev/null +++ b/M-Collision-Effectful.html @@ -0,0 +1,2 @@ +M.Collision.Effectful
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.Collision.Effectful

Description

Provides the core collision detection and resolution system with effects. + Handles block-based collision detection, movement resolution, and ground contact states.

Parts

  1. The GetBlock effect
  2. The Resolve data type and resolve function (the main part)
  3. The NewlyTouchingGround data type and updonground function

Usage

  1. Use getblock to get a block's shape at integer coordinates
  2. Use resolve to detect and resolve collision
  3. Use updonground to update the on-ground status (from #2)
Synopsis

Documentation

data GetBlock (f :: Type -> Type) a (b :: Type -> Type) c where Source #

get a block's shape at integer coordinates (dynamic effect)

Constructors

GetBlock :: forall (f :: Type -> Type) a (b :: Type -> Type). !(V3 Int) -> GetBlock f a b (Maybe (f a))

get a block's shape at integer coordinates

Instances

Instances details
type DispatchOf (GetBlock f a) Source # 
Instance details

Defined in M.Collision.Effectful

type DispatchOf (GetBlock f a) = 'Dynamic

getblock Source #

Arguments

:: forall f a (ef :: [Effect]). (HasCallStack, GetBlock f a :> ef) 
=> V3 Int

integer coordinates

-> Eff ef (Maybe (f a))

if (relevant) block exists, return its shape

what block is "relevant" is up to the implementation

get a block's shape at integer coordinates

data Resolve a Source #

collision resolution data type

Constructors

Resolve 

Fields

Instances

Instances details
Functor Resolve Source # 
Instance details

Defined in M.Collision.Effectful

Methods

fmap :: (a -> b) -> Resolve a -> Resolve b #

(<$) :: a -> Resolve b -> Resolve a #

Data a => Data (Resolve a) Source # 
Instance details

Defined in M.Collision.Effectful

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Resolve a -> c (Resolve a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Resolve a) #

toConstr :: Resolve a -> Constr #

dataTypeOf :: Resolve a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Resolve a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Resolve a)) #

gmapT :: (forall b. Data b => b -> b) -> Resolve a -> Resolve a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Resolve a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Resolve a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Resolve a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Resolve a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Resolve a -> m (Resolve a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Resolve a -> m (Resolve a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Resolve a -> m (Resolve a) #

Generic (Resolve a) Source # 
Instance details

Defined in M.Collision.Effectful

Associated Types

type Rep (Resolve a) 
Instance details

Defined in M.Collision.Effectful

type Rep (Resolve a) = D1 ('MetaData "Resolve" "M.Collision.Effectful" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Resolve" 'PrefixI 'True) (S1 ('MetaSel ('Just "respos") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (V3 a)) :*: (S1 ('MetaSel ('Just "resdis") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (V3 a)) :*: S1 ('MetaSel ('Just "restou") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 NewlyTouchingGround))))

Methods

from :: Resolve a -> Rep (Resolve a) x #

to :: Rep (Resolve a) x -> Resolve a #

Show a => Show (Resolve a) Source # 
Instance details

Defined in M.Collision.Effectful

Methods

showsPrec :: Int -> Resolve a -> ShowS #

show :: Resolve a -> String #

showList :: [Resolve a] -> ShowS #

Eq a => Eq (Resolve a) Source # 
Instance details

Defined in M.Collision.Effectful

Methods

(==) :: Resolve a -> Resolve a -> Bool #

(/=) :: Resolve a -> Resolve a -> Bool #

Hashable a => Hashable (Resolve a) Source # 
Instance details

Defined in M.Collision.Effectful

Methods

hashWithSalt :: Int -> Resolve a -> Int

hash :: Resolve a -> Int

type Rep (Resolve a) Source # 
Instance details

Defined in M.Collision.Effectful

type Rep (Resolve a) = D1 ('MetaData "Resolve" "M.Collision.Effectful" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Resolve" 'PrefixI 'True) (S1 ('MetaSel ('Just "respos") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (V3 a)) :*: (S1 ('MetaSel ('Just "resdis") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (V3 a)) :*: S1 ('MetaSel ('Just "restou") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 NewlyTouchingGround))))

resolve Source #

Arguments

:: forall s n (ef :: [Effect]). (Shape s, RealFloat n, Epsilon n, Typeable n, GetBlock s n :> ef) 
=> s n

shape of the object who is moving

-> V3 n

attempted displacement

-> Eff ef (Resolve n)

new resolution

unless it got stuck, the new displacement should be zero

detect and resolve collision

_respos :: forall a f. Functor f => (V3 a -> f (V3 a)) -> Resolve a -> f (Resolve a) Source #

lens for Resolve position

_resdis :: forall a f. Functor f => (V3 a -> f (V3 a)) -> Resolve a -> f (Resolve a) Source #

lens for Resolve displacement

_restou :: forall a f. Functor f => (NewlyTouchingGround -> f NewlyTouchingGround) -> Resolve a -> f (Resolve a) Source #

lens for Resolve newly touching ground

newtype NewlyTouchingGround Source #

newly touching ground?

  • LT means it taking off from the ground
  • EQ means it should maintain the previous state
  • GT means it landing on the ground

Constructors

NewlyTouchingGround 

Instances

Instances details
Data NewlyTouchingGround Source # 
Instance details

Defined in M.Collision.Effectful

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NewlyTouchingGround -> c NewlyTouchingGround #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NewlyTouchingGround #

toConstr :: NewlyTouchingGround -> Constr #

dataTypeOf :: NewlyTouchingGround -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NewlyTouchingGround) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NewlyTouchingGround) #

gmapT :: (forall b. Data b => b -> b) -> NewlyTouchingGround -> NewlyTouchingGround #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NewlyTouchingGround -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NewlyTouchingGround -> r #

gmapQ :: (forall d. Data d => d -> u) -> NewlyTouchingGround -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> NewlyTouchingGround -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> NewlyTouchingGround -> m NewlyTouchingGround #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NewlyTouchingGround -> m NewlyTouchingGround #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NewlyTouchingGround -> m NewlyTouchingGround #

Bounded NewlyTouchingGround Source # 
Instance details

Defined in M.Collision.Effectful

Enum NewlyTouchingGround Source # 
Instance details

Defined in M.Collision.Effectful

Generic NewlyTouchingGround Source # 
Instance details

Defined in M.Collision.Effectful

Associated Types

type Rep NewlyTouchingGround 
Instance details

Defined in M.Collision.Effectful

type Rep NewlyTouchingGround = D1 ('MetaData "NewlyTouchingGround" "M.Collision.Effectful" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "NewlyTouchingGround" 'PrefixI 'True) (S1 ('MetaSel ('Just "newonground") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ordering)))
Show NewlyTouchingGround Source # 
Instance details

Defined in M.Collision.Effectful

Eq NewlyTouchingGround Source # 
Instance details

Defined in M.Collision.Effectful

Ord NewlyTouchingGround Source # 
Instance details

Defined in M.Collision.Effectful

Hashable NewlyTouchingGround Source # 
Instance details

Defined in M.Collision.Effectful

type Rep NewlyTouchingGround Source # 
Instance details

Defined in M.Collision.Effectful

type Rep NewlyTouchingGround = D1 ('MetaData "NewlyTouchingGround" "M.Collision.Effectful" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "NewlyTouchingGround" 'PrefixI 'True) (S1 ('MetaSel ('Just "newonground") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ordering)))

updonground :: NewlyTouchingGround -> Bool -> Bool Source #

'update' the on-ground status

\ No newline at end of file diff --git a/M-Collision-Internal-Face.html b/M-Collision-Internal-Face.html new file mode 100644 index 0000000..cf6923b --- /dev/null +++ b/M-Collision-Internal-Face.html @@ -0,0 +1,3 @@ +M.Collision.Internal.Face
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.Collision.Internal.Face

Description

Provides utilities for sampling points on cuboid faces, used in collision detection. + The module focuses on efficient face point generation for AABB collision testing.

Synopsis

Documentation

facepoints Source #

Arguments

:: V3 Int

cuboid dimensions

-> V3 Int

direction (signum vector)

-> [V3 Int]

points on the faces from the cuboid's (0, 0, 0) corner

retrieve the points on the faces of a cuboid + normal to a certain direction (sig: {-1, 0, 1}) from said cuboid

dbgcountfacepoints Source #

Arguments

:: V3 Int

cuboid dimensions

-> V3 Int

direction (signum vector)

-> Int

number of points sampled by facepoints

predict the number of points sampled by facepoints

dbgdesmos :: Show a => [V3 a] -> String Source #

print a list of vectors in a format that can be copy-pasted into Desmos

\ No newline at end of file diff --git a/M-Collision-Internal-March.html b/M-Collision-Internal-March.html new file mode 100644 index 0000000..9483642 --- /dev/null +++ b/M-Collision-Internal-March.html @@ -0,0 +1,16 @@ +M.Collision.Internal.March
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.Collision.Internal.March

Description

Implements ray marching algorithm for finding intersections with grid points. + Used for precise collision detection in voxel-based environments.

Synopsis

Documentation

data March (f :: Type -> Type) a Source #

march data structure

Constructors

March 

Fields

  • mtot :: a

    total time

  • mpct :: f a

    grid intersection (lies on boundaries of grid cells)

    'pct' is for 'punctum', which is Latin for point

  • mict :: [f Int]

    grid points (e.g., cubes, squares) intersected

march Source #

Arguments

:: (Foldable f, Representable f, Rep f ~ E f, RealFloat a, Epsilon a) 
=> f a

starting point. use either f ~ V2 or f ~ V3 or other Representable + vector types where 'fmap f x' agrees with

tabulate \i -> f (index x i))
-> f a

direction (no need to be normalized)

-> [March f a]

list of (total time, point, [grid point]) pairs

march along a line segment, finding all intersections + with grid squares or cubes (depending on the dimensionality) + as well as the time it takes to reach each intersection + and the cubes that are intersected

the cubes are represented by their low corner coordinates

in 2D, when a point is intersected, the two squares about + the point that the line (that extends rhe ray) does NOT + intersect will be included. it's because this routine is used + for collision detection

in 3D, there are many edge cases, but generally only the cubes + needed for collision detection are returned. so about + a corner, three cubes will be returned; abour an edge, + two (assuming ray is not parallel to a coordinate plane)

a compensated sum is used to reduce floating point error. + the compensation applies to the coordinates and times

the returned list being infinite, it is recommended to + use take to limit the number of points to be computed

the starting point is not included in the list unless it + happens to be a grid intersection

if the direction is (near) zero, or if any component of the + direction is not finite, then the function will return an empty list

\ No newline at end of file diff --git a/M-Collision-Pure.html b/M-Collision-Pure.html new file mode 100644 index 0000000..ebeff90 --- /dev/null +++ b/M-Collision-Pure.html @@ -0,0 +1,7 @@ +M.Collision.Pure
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.Collision.Pure

Description

Core collision detection primitives and algorithms in pure form. + Provides AABB collision testing, shape interfaces, and hit detection utilities.

Synopsis

Documentation

class Shape (s :: Type -> Type) where Source #

an AABB type class used for collision detection and resolution

Minimal complete definition

intersecting, crossing, hitting, translate, corners, tomanyboxes

Methods

intersecting :: (Fractional a, Ord a) => s a -> s a -> Bool Source #

check if two shapes intersect

crossing :: RealFloat a => V3 a -> V3 a -> s a -> Hit a Source #

check if a ray will hit the shape and return the hit data

hitting :: RealFloat a => V3 a -> s a -> s a -> Hit a Source #

check if the first shape will collide into the second shape + if it moves with the given displacement

translate :: Num a => V3 a -> s a -> s a Source #

translate the shape by the given displacement

corners :: (Fractional a, Ord a) => s a -> V2 (V3 a) Source #

the locations of the lower and higher corners of the shape + respectively

tomanyboxes :: s a -> ManyBoxes [] a Source #

convert a Shape to a ManyBoxes of Boxes with a list container, + which is a canonical form for ManyBoxes

scenter :: (Fractional a, Ord a) => s a -> V3 a Source #

the center of the shape

sdimensions :: (Fractional a, Ord a) => s a -> V3 a Source #

the dimensions of the shape

Instances

Instances details
Shape Box Source # 
Instance details

Defined in M.Collision.Pure

Methods

intersecting :: (Fractional a, Ord a) => Box a -> Box a -> Bool Source #

crossing :: RealFloat a => V3 a -> V3 a -> Box a -> Hit a Source #

hitting :: RealFloat a => V3 a -> Box a -> Box a -> Hit a Source #

translate :: Num a => V3 a -> Box a -> Box a Source #

corners :: (Fractional a, Ord a) => Box a -> V2 (V3 a) Source #

tomanyboxes :: Box a -> ManyBoxes [] a Source #

scenter :: (Fractional a, Ord a) => Box a -> V3 a Source #

sdimensions :: (Fractional a, Ord a) => Box a -> V3 a Source #

Shape SomeShape1 Source # 
Instance details

Defined in M.Collision.Pure

Methods

intersecting :: (Fractional a, Ord a) => SomeShape1 a -> SomeShape1 a -> Bool Source #

crossing :: RealFloat a => V3 a -> V3 a -> SomeShape1 a -> Hit a Source #

hitting :: RealFloat a => V3 a -> SomeShape1 a -> SomeShape1 a -> Hit a Source #

translate :: Num a => V3 a -> SomeShape1 a -> SomeShape1 a Source #

corners :: (Fractional a, Ord a) => SomeShape1 a -> V2 (V3 a) Source #

tomanyboxes :: SomeShape1 a -> ManyBoxes [] a Source #

scenter :: (Fractional a, Ord a) => SomeShape1 a -> V3 a Source #

sdimensions :: (Fractional a, Ord a) => SomeShape1 a -> V3 a Source #

(Functor f, Foldable f) => Shape (ManyBoxes f) Source # 
Instance details

Defined in M.Collision.Pure

Methods

intersecting :: (Fractional a, Ord a) => ManyBoxes f a -> ManyBoxes f a -> Bool Source #

crossing :: RealFloat a => V3 a -> V3 a -> ManyBoxes f a -> Hit a Source #

hitting :: RealFloat a => V3 a -> ManyBoxes f a -> ManyBoxes f a -> Hit a Source #

translate :: Num a => V3 a -> ManyBoxes f a -> ManyBoxes f a Source #

corners :: (Fractional a, Ord a) => ManyBoxes f a -> V2 (V3 a) Source #

tomanyboxes :: ManyBoxes f a -> ManyBoxes [] a Source #

scenter :: (Fractional a, Ord a) => ManyBoxes f a -> V3 a Source #

sdimensions :: (Fractional a, Ord a) => ManyBoxes f a -> V3 a Source #

data SomeShape1 a Source #

existential Shape type but where numeric type is erased

see also: castshape1

Constructors

(Typeable (s a), Show (s a), Shape s) => SomeShape1 (s a) 

Instances

Instances details
Shape SomeShape1 Source # 
Instance details

Defined in M.Collision.Pure

Methods

intersecting :: (Fractional a, Ord a) => SomeShape1 a -> SomeShape1 a -> Bool Source #

crossing :: RealFloat a => V3 a -> V3 a -> SomeShape1 a -> Hit a Source #

hitting :: RealFloat a => V3 a -> SomeShape1 a -> SomeShape1 a -> Hit a Source #

translate :: Num a => V3 a -> SomeShape1 a -> SomeShape1 a Source #

corners :: (Fractional a, Ord a) => SomeShape1 a -> V2 (V3 a) Source #

tomanyboxes :: SomeShape1 a -> ManyBoxes [] a Source #

scenter :: (Fractional a, Ord a) => SomeShape1 a -> V3 a Source #

sdimensions :: (Fractional a, Ord a) => SomeShape1 a -> V3 a Source #

Show (SomeShape1 a) Source # 
Instance details

Defined in M.Collision.Pure

data Hit a Source #

a collision resolution data type

no hit is represented by a hit at infinity (other fields are unspecified)

Constructors

Hit 

Fields

  • hittime :: !a

    proportion of move completed in [0, 1]

  • hitwhere :: !(V3 a)

    the point of collision

    if you're using Box, this is the center of the box

  • hitnorm :: !(V3 a)

    normal vector of the surface hit

    a signum vector, so each component is either -1, 0, or 1

Instances

Instances details
Functor Hit Source # 
Instance details

Defined in M.Collision.Pure

Methods

fmap :: (a -> b) -> Hit a -> Hit b #

(<$) :: a -> Hit b -> Hit a #

Data a => Data (Hit a) Source # 
Instance details

Defined in M.Collision.Pure

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Hit a -> c (Hit a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Hit a) #

toConstr :: Hit a -> Constr #

dataTypeOf :: Hit a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Hit a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Hit a)) #

gmapT :: (forall b. Data b => b -> b) -> Hit a -> Hit a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Hit a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Hit a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Hit a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Hit a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Hit a -> m (Hit a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Hit a -> m (Hit a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Hit a -> m (Hit a) #

Generic (Hit a) Source # 
Instance details

Defined in M.Collision.Pure

Associated Types

type Rep (Hit a) 
Instance details

Defined in M.Collision.Pure

type Rep (Hit a) = D1 ('MetaData "Hit" "M.Collision.Pure" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Hit" 'PrefixI 'True) (S1 ('MetaSel ('Just "hittime") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: (S1 ('MetaSel ('Just "hitwhere") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (V3 a)) :*: S1 ('MetaSel ('Just "hitnorm") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (V3 a)))))

Methods

from :: Hit a -> Rep (Hit a) x #

to :: Rep (Hit a) x -> Hit a #

Show a => Show (Hit a) Source # 
Instance details

Defined in M.Collision.Pure

Methods

showsPrec :: Int -> Hit a -> ShowS #

show :: Hit a -> String #

showList :: [Hit a] -> ShowS #

Eq a => Eq (Hit a) Source # 
Instance details

Defined in M.Collision.Pure

Methods

(==) :: Hit a -> Hit a -> Bool #

(/=) :: Hit a -> Hit a -> Bool #

Hashable a => Hashable (Hit a) Source # 
Instance details

Defined in M.Collision.Pure

Methods

hashWithSalt :: Int -> Hit a -> Int

hash :: Hit a -> Int

type Rep (Hit a) Source # 
Instance details

Defined in M.Collision.Pure

type Rep (Hit a) = D1 ('MetaData "Hit" "M.Collision.Pure" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Hit" 'PrefixI 'True) (S1 ('MetaSel ('Just "hittime") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: (S1 ('MetaSel ('Just "hitwhere") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (V3 a)) :*: S1 ('MetaSel ('Just "hitnorm") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (V3 a)))))

newtype Hit' a Source #

internal newtype used with Min to find the closest hit

Constructors

Hit' 

Fields

Instances

Instances details
(Fractional a, Num a) => Bounded (Hit' a) Source # 
Instance details

Defined in M.Collision.Pure

Methods

minBound :: Hit' a #

maxBound :: Hit' a #

Show a => Show (Hit' a) Source # 
Instance details

Defined in M.Collision.Pure

Methods

showsPrec :: Int -> Hit' a -> ShowS #

show :: Hit' a -> String #

showList :: [Hit' a] -> ShowS #

Eq a => Eq (Hit' a) Source # 
Instance details

Defined in M.Collision.Pure

Methods

(==) :: Hit' a -> Hit' a -> Bool #

(/=) :: Hit' a -> Hit' a -> Bool #

Ord a => Ord (Hit' a) Source # 
Instance details

Defined in M.Collision.Pure

Methods

compare :: Hit' a -> Hit' a -> Ordering #

(<) :: Hit' a -> Hit' a -> Bool #

(<=) :: Hit' a -> Hit' a -> Bool #

(>) :: Hit' a -> Hit' a -> Bool #

(>=) :: Hit' a -> Hit' a -> Bool #

max :: Hit' a -> Hit' a -> Hit' a #

min :: Hit' a -> Hit' a -> Hit' a #

Hashable a => Hashable (Hit' a) Source # 
Instance details

Defined in M.Collision.Pure

Methods

hashWithSalt :: Int -> Hit' a -> Int

hash :: Hit' a -> Int

data Box a Source #

a box in 3D space, located either relatively or absolutely

Constructors

Box 

Fields

  • dimensions :: !(V3 a)

    the dimensions of the box

  • center :: !(V3 a)

    the center of the box

Bundled Patterns

pattern Box' :: Fractional a => V3 a -> V3 a -> Box a

bidrectional pattern for Box but with corner locations (low to high)

you can use the locorner' and hicorner' patterns to extract the corners, + respectively

Instances

Instances details
Applicative Box Source # 
Instance details

Defined in M.Collision.Pure

Methods

pure :: a -> Box a #

(<*>) :: Box (a -> b) -> Box a -> Box b #

liftA2 :: (a -> b -> c) -> Box a -> Box b -> Box c #

(*>) :: Box a -> Box b -> Box b #

(<*) :: Box a -> Box b -> Box a #

Functor Box Source # 
Instance details

Defined in M.Collision.Pure

Methods

fmap :: (a -> b) -> Box a -> Box b #

(<$) :: a -> Box b -> Box a #

Shape Box Source # 
Instance details

Defined in M.Collision.Pure

Methods

intersecting :: (Fractional a, Ord a) => Box a -> Box a -> Bool Source #

crossing :: RealFloat a => V3 a -> V3 a -> Box a -> Hit a Source #

hitting :: RealFloat a => V3 a -> Box a -> Box a -> Hit a Source #

translate :: Num a => V3 a -> Box a -> Box a Source #

corners :: (Fractional a, Ord a) => Box a -> V2 (V3 a) Source #

tomanyboxes :: Box a -> ManyBoxes [] a Source #

scenter :: (Fractional a, Ord a) => Box a -> V3 a Source #

sdimensions :: (Fractional a, Ord a) => Box a -> V3 a Source #

Data a => Data (Box a) Source # 
Instance details

Defined in M.Collision.Pure

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Box a -> c (Box a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Box a) #

toConstr :: Box a -> Constr #

dataTypeOf :: Box a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Box a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Box a)) #

gmapT :: (forall b. Data b => b -> b) -> Box a -> Box a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Box a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Box a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Box a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Box a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Box a -> m (Box a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Box a -> m (Box a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Box a -> m (Box a) #

Generic (Box a) Source # 
Instance details

Defined in M.Collision.Pure

Associated Types

type Rep (Box a) 
Instance details

Defined in M.Collision.Pure

type Rep (Box a) = D1 ('MetaData "Box" "M.Collision.Pure" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Box" 'PrefixI 'True) (S1 ('MetaSel ('Just "dimensions") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (V3 a)) :*: S1 ('MetaSel ('Just "center") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (V3 a))))

Methods

from :: Box a -> Rep (Box a) x #

to :: Rep (Box a) x -> Box a #

Show a => Show (Box a) Source # 
Instance details

Defined in M.Collision.Pure

Methods

showsPrec :: Int -> Box a -> ShowS #

show :: Box a -> String #

showList :: [Box a] -> ShowS #

Eq a => Eq (Box a) Source # 
Instance details

Defined in M.Collision.Pure

Methods

(==) :: Box a -> Box a -> Bool #

(/=) :: Box a -> Box a -> Bool #

Hashable a => Hashable (Box a) Source # 
Instance details

Defined in M.Collision.Pure

Methods

hashWithSalt :: Int -> Box a -> Int

hash :: Box a -> Int

type Rep (Box a) Source # 
Instance details

Defined in M.Collision.Pure

type Rep (Box a) = D1 ('MetaData "Box" "M.Collision.Pure" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Box" 'PrefixI 'True) (S1 ('MetaSel ('Just "dimensions") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (V3 a)) :*: S1 ('MetaSel ('Just "center") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (V3 a))))

newtype ManyBoxes (f :: Type -> Type) a Source #

a newtype over a Foldable Functor container of Boxes

the low and high corners are those of the smallest bounding box

Constructors

ManyBoxes (f (Box a)) 

Instances

Instances details
Functor f => Functor (ManyBoxes f) Source # 
Instance details

Defined in M.Collision.Pure

Methods

fmap :: (a -> b) -> ManyBoxes f a -> ManyBoxes f b #

(<$) :: a -> ManyBoxes f b -> ManyBoxes f a #

(Functor f, Foldable f) => Shape (ManyBoxes f) Source # 
Instance details

Defined in M.Collision.Pure

Methods

intersecting :: (Fractional a, Ord a) => ManyBoxes f a -> ManyBoxes f a -> Bool Source #

crossing :: RealFloat a => V3 a -> V3 a -> ManyBoxes f a -> Hit a Source #

hitting :: RealFloat a => V3 a -> ManyBoxes f a -> ManyBoxes f a -> Hit a Source #

translate :: Num a => V3 a -> ManyBoxes f a -> ManyBoxes f a Source #

corners :: (Fractional a, Ord a) => ManyBoxes f a -> V2 (V3 a) Source #

tomanyboxes :: ManyBoxes f a -> ManyBoxes [] a Source #

scenter :: (Fractional a, Ord a) => ManyBoxes f a -> V3 a Source #

sdimensions :: (Fractional a, Ord a) => ManyBoxes f a -> V3 a Source #

(Typeable f, Typeable a, Data (f (Box a))) => Data (ManyBoxes f a) Source # 
Instance details

Defined in M.Collision.Pure

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ManyBoxes f a -> c (ManyBoxes f a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ManyBoxes f a) #

toConstr :: ManyBoxes f a -> Constr #

dataTypeOf :: ManyBoxes f a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (ManyBoxes f a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (ManyBoxes f a)) #

gmapT :: (forall b. Data b => b -> b) -> ManyBoxes f a -> ManyBoxes f a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ManyBoxes f a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ManyBoxes f a -> r #

gmapQ :: (forall d. Data d => d -> u) -> ManyBoxes f a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ManyBoxes f a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ManyBoxes f a -> m (ManyBoxes f a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ManyBoxes f a -> m (ManyBoxes f a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ManyBoxes f a -> m (ManyBoxes f a) #

Generic (ManyBoxes f a) Source # 
Instance details

Defined in M.Collision.Pure

Associated Types

type Rep (ManyBoxes f a) 
Instance details

Defined in M.Collision.Pure

type Rep (ManyBoxes f a) = D1 ('MetaData "ManyBoxes" "M.Collision.Pure" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "ManyBoxes" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f (Box a)))))

Methods

from :: ManyBoxes f a -> Rep (ManyBoxes f a) x #

to :: Rep (ManyBoxes f a) x -> ManyBoxes f a #

Show (f (Box a)) => Show (ManyBoxes f a) Source # 
Instance details

Defined in M.Collision.Pure

Methods

showsPrec :: Int -> ManyBoxes f a -> ShowS #

show :: ManyBoxes f a -> String #

showList :: [ManyBoxes f a] -> ShowS #

Eq (f (Box a)) => Eq (ManyBoxes f a) Source # 
Instance details

Defined in M.Collision.Pure

Methods

(==) :: ManyBoxes f a -> ManyBoxes f a -> Bool #

(/=) :: ManyBoxes f a -> ManyBoxes f a -> Bool #

Ord (f (Box a)) => Ord (ManyBoxes f a) Source # 
Instance details

Defined in M.Collision.Pure

Methods

compare :: ManyBoxes f a -> ManyBoxes f a -> Ordering #

(<) :: ManyBoxes f a -> ManyBoxes f a -> Bool #

(<=) :: ManyBoxes f a -> ManyBoxes f a -> Bool #

(>) :: ManyBoxes f a -> ManyBoxes f a -> Bool #

(>=) :: ManyBoxes f a -> ManyBoxes f a -> Bool #

max :: ManyBoxes f a -> ManyBoxes f a -> ManyBoxes f a #

min :: ManyBoxes f a -> ManyBoxes f a -> ManyBoxes f a #

Hashable (f (Box a)) => Hashable (ManyBoxes f a) Source # 
Instance details

Defined in M.Collision.Pure

Methods

hashWithSalt :: Int -> ManyBoxes f a -> Int

hash :: ManyBoxes f a -> Int

type Rep (ManyBoxes f a) Source # 
Instance details

Defined in M.Collision.Pure

type Rep (ManyBoxes f a) = D1 ('MetaData "ManyBoxes" "M.Collision.Pure" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "ManyBoxes" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f (Box a)))))

type ManyBoxes_ a = ManyBoxes [] a Source #

a type alias for a list of Boxes + (canonical form for ManyBoxes)

_dimensions :: forall a f. Functor f => (V3 a -> f (V3 a)) -> Box a -> f (Box a) Source #

Lens for the dimensions of the box

_center :: forall a f. Functor f => (V3 a -> f (V3 a)) -> Box a -> f (Box a) Source #

Lens for the center of the box

_lcorner :: Fractional a => Lens' (Box a) (V3 a) Source #

Lens for the lower corner of the box

_hcorner :: Fractional a => Lens' (Box a) (V3 a) Source #

Lens for the higher corner of the box

hitin01 :: (Num a, Ord a) => Hit a -> Bool Source #

check if the hit time is in [0, 1]

infhit :: Fractional a => Hit a Source #

a hit at infinity

boxfromcorners Source #

Arguments

:: Fractional a 
=> V3 a

low corner

-> V3 a

high corner

-> Box a

the box

a box from the low and high corners

castshape1 :: Typeable b => SomeShape1 a -> Maybe b Source #

cast a SomeShape1 to a specific type

boxzero :: Num a => Box a Source #

a box with zero dimensions and center

hicorner :: Fractional a => Box a -> V3 a Source #

the location of the higher corner of the box

hicorner' :: Fractional a => Box a -> V3 a Source #

locorner :: Fractional a => Box a -> V3 a Source #

the location of the lower corner of the box

locorner' :: Fractional a => Box a -> V3 a Source #

shicorner :: (Shape s, Fractional a, Ord a) => s a -> V3 a Source #

the upper corner of a shape

slocorner :: (Shape s, Fractional a, Ord a) => s a -> V3 a Source #

the lower corner of a shape

\ No newline at end of file diff --git a/M-Collision.html b/M-Collision.html new file mode 100644 index 0000000..86b6a15 --- /dev/null +++ b/M-Collision.html @@ -0,0 +1,2 @@ +M.Collision
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.Collision

Description

Re-exports both pure and effectful collision detection systems. + Provides a unified interface for the collision detection subsystem.

Documentation

\ No newline at end of file diff --git a/M-Crypto.html b/M-Crypto.html new file mode 100644 index 0000000..f34b609 --- /dev/null +++ b/M-Crypto.html @@ -0,0 +1,7 @@ +M.Crypto
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.Crypto

Description

Provides cryptographic functionality required by the Minecraft protocol, + including AES encryption/decryption, RSA operations, and server-specific + hashing utilities.

Synopsis

AES

data AES (mode :: Mode) Source #

encryption/decryption context for AES (AES-128-CFB8)

Instances

Instances details
Show (AES mode) Source # 
Instance details

Defined in M.Crypto

Methods

showsPrec :: Int -> AES mode -> ShowS #

show :: AES mode -> String #

showList :: [AES mode] -> ShowS #

Eq (AES mode) Source # 
Instance details

Defined in M.Crypto

Methods

(==) :: AES mode -> AES mode -> Bool #

(/=) :: AES mode -> AES mode -> Bool #

data Mode Source #

encryption/decryption mode

Constructors

Encrypt 
Decrypt 

Instances

Instances details
Data Mode Source # 
Instance details

Defined in M.Crypto

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Mode -> c Mode #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Mode #

toConstr :: Mode -> Constr #

dataTypeOf :: Mode -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Mode) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Mode) #

gmapT :: (forall b. Data b => b -> b) -> Mode -> Mode #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Mode -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Mode -> r #

gmapQ :: (forall d. Data d => d -> u) -> Mode -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Mode -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Mode -> m Mode #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Mode -> m Mode #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Mode -> m Mode #

Bounded Mode Source # 
Instance details

Defined in M.Crypto

Enum Mode Source # 
Instance details

Defined in M.Crypto

Methods

succ :: Mode -> Mode #

pred :: Mode -> Mode #

toEnum :: Int -> Mode #

fromEnum :: Mode -> Int #

enumFrom :: Mode -> [Mode] #

enumFromThen :: Mode -> Mode -> [Mode] #

enumFromTo :: Mode -> Mode -> [Mode] #

enumFromThenTo :: Mode -> Mode -> Mode -> [Mode] #

Generic Mode Source # 
Instance details

Defined in M.Crypto

Associated Types

type Rep Mode 
Instance details

Defined in M.Crypto

type Rep Mode = D1 ('MetaData "Mode" "M.Crypto" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Encrypt" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Decrypt" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: Mode -> Rep Mode x #

to :: Rep Mode x -> Mode #

Read Mode Source # 
Instance details

Defined in M.Crypto

Show Mode Source # 
Instance details

Defined in M.Crypto

Methods

showsPrec :: Int -> Mode -> ShowS #

show :: Mode -> String #

showList :: [Mode] -> ShowS #

Eq Mode Source # 
Instance details

Defined in M.Crypto

Methods

(==) :: Mode -> Mode -> Bool #

(/=) :: Mode -> Mode -> Bool #

type Rep Mode Source # 
Instance details

Defined in M.Crypto

type Rep Mode = D1 ('MetaData "Mode" "M.Crypto" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Encrypt" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Decrypt" 'PrefixI 'False) (U1 :: Type -> Type))

aesnew :: AESClass mode => ByteString -> IO (AES mode) Source #

create a new AES context

aesupdate :: AESClass mode => AES mode -> ByteString -> IO ByteString Source #

either encrypt or decrypt a message

RSA

data RSA Source #

RSA pkey

Instances

Instances details
Show RSA Source # 
Instance details

Defined in M.Crypto

Methods

showsPrec :: Int -> RSA -> ShowS #

show :: RSA -> String #

showList :: [RSA] -> ShowS #

Eq RSA Source # 
Instance details

Defined in M.Crypto

Methods

(==) :: RSA -> RSA -> Bool #

(/=) :: RSA -> RSA -> Bool #

rsanew :: Int -> IO RSA Source #

create a new RSA pkey

rsaup :: RSAClass mode => RSA -> ByteString -> IO ByteString Source #

either encrypt or decrypt a message

rsaspki :: RSA -> IO ByteString Source #

write the SubjectPublicKeyInfo to a ByteString

Hash

hashservnam Source #

Arguments

:: ByteString

server id

-> ByteString

shared secret

-> ByteString

verify token

-> IO ByteString

SHA1 hash (20 bytes)

generate a SHA1 hash of the server name

General

newtype Error Source #

error type

Constructors

Error String 

Instances

Instances details
Data Error Source # 
Instance details

Defined in M.Crypto

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Error -> c Error #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Error #

toConstr :: Error -> Constr #

dataTypeOf :: Error -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Error) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Error) #

gmapT :: (forall b. Data b => b -> b) -> Error -> Error #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Error -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Error -> r #

gmapQ :: (forall d. Data d => d -> u) -> Error -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Error -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Error -> m Error #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Error -> m Error #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Error -> m Error #

Exception Error Source # 
Instance details

Defined in M.Crypto

Generic Error Source # 
Instance details

Defined in M.Crypto

Associated Types

type Rep Error 
Instance details

Defined in M.Crypto

type Rep Error = D1 ('MetaData "Error" "M.Crypto" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "Error" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

Methods

from :: Error -> Rep Error x #

to :: Rep Error x -> Error #

Show Error Source # 
Instance details

Defined in M.Crypto

Methods

showsPrec :: Int -> Error -> ShowS #

show :: Error -> String #

showList :: [Error] -> ShowS #

Eq Error Source # 
Instance details

Defined in M.Crypto

Methods

(==) :: Error -> Error -> Bool #

(/=) :: Error -> Error -> Bool #

type Rep Error Source # 
Instance details

Defined in M.Crypto

type Rep Error = D1 ('MetaData "Error" "M.Crypto" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "Error" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

class AESClass (mode :: Mode) Source #

Minimal complete definition

aesnew_, aesupdate_

Instances

Instances details
AESClass 'Decrypt Source # 
Instance details

Defined in M.Crypto

AESClass 'Encrypt Source # 
Instance details

Defined in M.Crypto

class RSAClass (mode :: Mode) Source #

Minimal complete definition

rsaup_

Instances

Instances details
RSAClass 'Decrypt Source # 
Instance details

Defined in M.Crypto

Methods

rsaup_ :: Ptr EVP_PKEY -> Ptr Word8 -> CSize -> Ptr MMMRSAOUT -> IO CInt

rsaup :: RSA -> ByteString -> IO ByteString Source #

RSAClass 'Encrypt Source # 
Instance details

Defined in M.Crypto

Methods

rsaup_ :: Ptr EVP_PKEY -> Ptr Word8 -> CSize -> Ptr MMMRSAOUT -> IO CInt

rsaup :: RSA -> ByteString -> IO ByteString Source #

Re-exports

data ByteString #

A space-efficient representation of a Word8 vector, supporting many + efficient operations.

A ByteString contains 8-bit bytes, or by using the operations from + Data.ByteString.Char8 it can be interpreted as containing 8-bit + characters.

Instances

Instances details
Data ByteString 
Instance details

Defined in Data.ByteString.Internal.Type

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ByteString -> c ByteString #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ByteString #

toConstr :: ByteString -> Constr #

dataTypeOf :: ByteString -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ByteString) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ByteString) #

gmapT :: (forall b. Data b => b -> b) -> ByteString -> ByteString #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ByteString -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ByteString -> r #

gmapQ :: (forall d. Data d => d -> u) -> ByteString -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ByteString -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ByteString -> m ByteString #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ByteString -> m ByteString #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ByteString -> m ByteString #

IsString ByteString

Beware: fromString truncates multi-byte characters to octets. + e.g. "枯朶に烏のとまりけり秋の暮" becomes �6k�nh~�Q��n�

Instance details

Defined in Data.ByteString.Internal.Type

Monoid ByteString 
Instance details

Defined in Data.ByteString.Internal.Type

Semigroup ByteString 
Instance details

Defined in Data.ByteString.Internal.Type

IsList ByteString

Since: bytestring-0.10.12.0

Instance details

Defined in Data.ByteString.Internal.Type

Associated Types

type Item ByteString 
Instance details

Defined in Data.ByteString.Internal.Type

Read ByteString 
Instance details

Defined in Data.ByteString.Internal.Type

Show ByteString 
Instance details

Defined in Data.ByteString.Internal.Type

NFData ByteString 
Instance details

Defined in Data.ByteString.Internal.Type

Methods

rnf :: ByteString -> () #

Eq ByteString 
Instance details

Defined in Data.ByteString.Internal.Type

Ord ByteString 
Instance details

Defined in Data.ByteString.Internal.Type

Hashable ByteString 
Instance details

Defined in Data.Hashable.Class

Ixed ByteString 
Instance details

Defined in Control.Lens.At

Methods

ix :: Index ByteString -> Traversal' ByteString (IxValue ByteString)

AsEmpty ByteString 
Instance details

Defined in Control.Lens.Empty

Methods

_Empty :: Prism' ByteString ()

Reversing ByteString 
Instance details

Defined in Control.Lens.Internal.Iso

Prefixed ByteString 
Instance details

Defined in Control.Lens.Prism

Suffixed ByteString 
Instance details

Defined in Control.Lens.Prism

IsByteString ByteString 
Instance details

Defined in Data.ByteString.Lens

Methods

packedBytes :: Iso' [Word8] ByteString

packedChars :: Iso' String ByteString

bytes :: IndexedTraversal' Int ByteString Word8

chars :: IndexedTraversal' Int ByteString Char

Stream ByteString 
Instance details

Defined in Text.Megaparsec.Stream

Associated Types

type Token ByteString 
Instance details

Defined in Text.Megaparsec.Stream

type Token ByteString = Token (ShareInput ByteString)
type Tokens ByteString 
Instance details

Defined in Text.Megaparsec.Stream

type Tokens ByteString = Tokens (ShareInput ByteString)
TraversableStream ByteString 
Instance details

Defined in Text.Megaparsec.Stream

Methods

reachOffset :: Int -> PosState ByteString -> (Maybe String, PosState ByteString)

reachOffsetNoLine :: Int -> PosState ByteString -> PosState ByteString

VisualStream ByteString 
Instance details

Defined in Text.Megaparsec.Stream

Pack ByteString Source # 
Instance details

Defined in M.Pack.Internal.Etc

Unpack ByteString Source # 
Instance details

Defined in M.Pack.Internal.Etc

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ByteString Source #

Lift ByteString

Since: bytestring-0.11.2.0

Instance details

Defined in Data.ByteString.Internal.Type

Methods

lift :: Quote m => ByteString -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => ByteString -> Code m ByteString #

Cons ByteString ByteString Word8 Word8 
Instance details

Defined in Control.Lens.Cons

Snoc ByteString ByteString Word8 Word8 
Instance details

Defined in Control.Lens.Cons

(a ~ Word8, b ~ Word8) => Each ByteString ByteString a b 
Instance details

Defined in Control.Lens.Each

Methods

each :: Traversal ByteString ByteString a b

BufferedIO (InputStream ByteString) 
Instance details

Defined in System.IO.Streams.Internal

BufferedIO (OutputStream ByteString) 
Instance details

Defined in System.IO.Streams.Internal

BufferedIO (StreamPair ByteString) 
Instance details

Defined in System.IO.Streams.Internal

IODevice (InputStream ByteString) 
Instance details

Defined in System.IO.Streams.Internal

Methods

ready :: InputStream ByteString -> Bool -> Int -> IO Bool #

close :: InputStream ByteString -> IO () #

isTerminal :: InputStream ByteString -> IO Bool #

isSeekable :: InputStream ByteString -> IO Bool #

seek :: InputStream ByteString -> SeekMode -> Integer -> IO Integer #

tell :: InputStream ByteString -> IO Integer #

getSize :: InputStream ByteString -> IO Integer #

setSize :: InputStream ByteString -> Integer -> IO () #

setEcho :: InputStream ByteString -> Bool -> IO () #

getEcho :: InputStream ByteString -> IO Bool #

setRaw :: InputStream ByteString -> Bool -> IO () #

devType :: InputStream ByteString -> IO IODeviceType #

dup :: InputStream ByteString -> IO (InputStream ByteString) #

dup2 :: InputStream ByteString -> InputStream ByteString -> IO (InputStream ByteString) #

IODevice (OutputStream ByteString) 
Instance details

Defined in System.IO.Streams.Internal

Methods

ready :: OutputStream ByteString -> Bool -> Int -> IO Bool #

close :: OutputStream ByteString -> IO () #

isTerminal :: OutputStream ByteString -> IO Bool #

isSeekable :: OutputStream ByteString -> IO Bool #

seek :: OutputStream ByteString -> SeekMode -> Integer -> IO Integer #

tell :: OutputStream ByteString -> IO Integer #

getSize :: OutputStream ByteString -> IO Integer #

setSize :: OutputStream ByteString -> Integer -> IO () #

setEcho :: OutputStream ByteString -> Bool -> IO () #

getEcho :: OutputStream ByteString -> IO Bool #

setRaw :: OutputStream ByteString -> Bool -> IO () #

devType :: OutputStream ByteString -> IO IODeviceType #

dup :: OutputStream ByteString -> IO (OutputStream ByteString) #

dup2 :: OutputStream ByteString -> OutputStream ByteString -> IO (OutputStream ByteString) #

IODevice (StreamPair ByteString) 
Instance details

Defined in System.IO.Streams.Internal

Methods

ready :: StreamPair ByteString -> Bool -> Int -> IO Bool #

close :: StreamPair ByteString -> IO () #

isTerminal :: StreamPair ByteString -> IO Bool #

isSeekable :: StreamPair ByteString -> IO Bool #

seek :: StreamPair ByteString -> SeekMode -> Integer -> IO Integer #

tell :: StreamPair ByteString -> IO Integer #

getSize :: StreamPair ByteString -> IO Integer #

setSize :: StreamPair ByteString -> Integer -> IO () #

setEcho :: StreamPair ByteString -> Bool -> IO () #

getEcho :: StreamPair ByteString -> IO Bool #

setRaw :: StreamPair ByteString -> Bool -> IO () #

devType :: StreamPair ByteString -> IO IODeviceType #

dup :: StreamPair ByteString -> IO (StreamPair ByteString) #

dup2 :: StreamPair ByteString -> StreamPair ByteString -> IO (StreamPair ByteString) #

RawIO (InputStream ByteString) 
Instance details

Defined in System.IO.Streams.Internal

Methods

read :: InputStream ByteString -> Ptr Word8 -> Word64 -> Int -> IO Int #

readNonBlocking :: InputStream ByteString -> Ptr Word8 -> Word64 -> Int -> IO (Maybe Int) #

write :: InputStream ByteString -> Ptr Word8 -> Word64 -> Int -> IO () #

writeNonBlocking :: InputStream ByteString -> Ptr Word8 -> Word64 -> Int -> IO Int #

RawIO (OutputStream ByteString) 
Instance details

Defined in System.IO.Streams.Internal

Methods

read :: OutputStream ByteString -> Ptr Word8 -> Word64 -> Int -> IO Int #

readNonBlocking :: OutputStream ByteString -> Ptr Word8 -> Word64 -> Int -> IO (Maybe Int) #

write :: OutputStream ByteString -> Ptr Word8 -> Word64 -> Int -> IO () #

writeNonBlocking :: OutputStream ByteString -> Ptr Word8 -> Word64 -> Int -> IO Int #

RawIO (StreamPair ByteString) 
Instance details

Defined in System.IO.Streams.Internal

Methods

read :: StreamPair ByteString -> Ptr Word8 -> Word64 -> Int -> IO Int #

readNonBlocking :: StreamPair ByteString -> Ptr Word8 -> Word64 -> Int -> IO (Maybe Int) #

write :: StreamPair ByteString -> Ptr Word8 -> Word64 -> Int -> IO () #

writeNonBlocking :: StreamPair ByteString -> Ptr Word8 -> Word64 -> Int -> IO Int #

Stream (NoShareInput ByteString) 
Instance details

Defined in Text.Megaparsec.Stream

Associated Types

type Token (NoShareInput ByteString) 
Instance details

Defined in Text.Megaparsec.Stream

type Token (NoShareInput ByteString) = Word8
type Tokens (NoShareInput ByteString) 
Instance details

Defined in Text.Megaparsec.Stream

type Tokens (NoShareInput ByteString) = ByteString

Methods

tokenToChunk :: Proxy (NoShareInput ByteString) -> Token (NoShareInput ByteString) -> Tokens (NoShareInput ByteString)

tokensToChunk :: Proxy (NoShareInput ByteString) -> [Token (NoShareInput ByteString)] -> Tokens (NoShareInput ByteString)

chunkToTokens :: Proxy (NoShareInput ByteString) -> Tokens (NoShareInput ByteString) -> [Token (NoShareInput ByteString)]

chunkLength :: Proxy (NoShareInput ByteString) -> Tokens (NoShareInput ByteString) -> Int

chunkEmpty :: Proxy (NoShareInput ByteString) -> Tokens (NoShareInput ByteString) -> Bool

take1_ :: NoShareInput ByteString -> Maybe (Token (NoShareInput ByteString), NoShareInput ByteString)

takeN_ :: Int -> NoShareInput ByteString -> Maybe (Tokens (NoShareInput ByteString), NoShareInput ByteString)

takeWhile_ :: (Token (NoShareInput ByteString) -> Bool) -> NoShareInput ByteString -> (Tokens (NoShareInput ByteString), NoShareInput ByteString)

Stream (ShareInput ByteString) 
Instance details

Defined in Text.Megaparsec.Stream

Associated Types

type Token (ShareInput ByteString) 
Instance details

Defined in Text.Megaparsec.Stream

type Token (ShareInput ByteString) = Word8
type Tokens (ShareInput ByteString) 
Instance details

Defined in Text.Megaparsec.Stream

type Tokens (ShareInput ByteString) = ByteString

Methods

tokenToChunk :: Proxy (ShareInput ByteString) -> Token (ShareInput ByteString) -> Tokens (ShareInput ByteString)

tokensToChunk :: Proxy (ShareInput ByteString) -> [Token (ShareInput ByteString)] -> Tokens (ShareInput ByteString)

chunkToTokens :: Proxy (ShareInput ByteString) -> Tokens (ShareInput ByteString) -> [Token (ShareInput ByteString)]

chunkLength :: Proxy (ShareInput ByteString) -> Tokens (ShareInput ByteString) -> Int

chunkEmpty :: Proxy (ShareInput ByteString) -> Tokens (ShareInput ByteString) -> Bool

take1_ :: ShareInput ByteString -> Maybe (Token (ShareInput ByteString), ShareInput ByteString)

takeN_ :: Int -> ShareInput ByteString -> Maybe (Tokens (ShareInput ByteString), ShareInput ByteString)

takeWhile_ :: (Token (ShareInput ByteString) -> Bool) -> ShareInput ByteString -> (Tokens (ShareInput ByteString), ShareInput ByteString)

type Item ByteString 
Instance details

Defined in Data.ByteString.Internal.Type

type Index ByteString 
Instance details

Defined in Control.Lens.At

type Index ByteString = Int
type IxValue ByteString 
Instance details

Defined in Control.Lens.At

type IxValue ByteString = Word8
type Token ByteString 
Instance details

Defined in Text.Megaparsec.Stream

type Token ByteString = Token (ShareInput ByteString)
type Tokens ByteString 
Instance details

Defined in Text.Megaparsec.Stream

type Tokens ByteString = Tokens (ShareInput ByteString)
type Token (NoShareInput ByteString) 
Instance details

Defined in Text.Megaparsec.Stream

type Token (NoShareInput ByteString) = Word8
type Token (ShareInput ByteString) 
Instance details

Defined in Text.Megaparsec.Stream

type Token (ShareInput ByteString) = Word8
type Tokens (NoShareInput ByteString) 
Instance details

Defined in Text.Megaparsec.Stream

type Tokens (NoShareInput ByteString) = ByteString
type Tokens (ShareInput ByteString) 
Instance details

Defined in Text.Megaparsec.Stream

type Tokens (ShareInput ByteString) = ByteString
\ No newline at end of file diff --git a/M-IO-Internal-Datagram.html b/M-IO-Internal-Datagram.html new file mode 100644 index 0000000..247c2a6 --- /dev/null +++ b/M-IO-Internal-Datagram.html @@ -0,0 +1,3 @@ +M.IO.Internal.Datagram
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.IO.Internal.Datagram

Contents

Description

Internal module for handling low-level packet parsing and building, + including uninterpreted packets and stream transformations.

Synopsis

Types

data Uninterpreted Source #

uninterpreted packet

Constructors

Uninterpreted 

Fields

Instances

Instances details
Data Uninterpreted Source # 
Instance details

Defined in M.IO.Internal.Datagram

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Uninterpreted -> c Uninterpreted #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Uninterpreted #

toConstr :: Uninterpreted -> Constr #

dataTypeOf :: Uninterpreted -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Uninterpreted) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Uninterpreted) #

gmapT :: (forall b. Data b => b -> b) -> Uninterpreted -> Uninterpreted #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Uninterpreted -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Uninterpreted -> r #

gmapQ :: (forall d. Data d => d -> u) -> Uninterpreted -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Uninterpreted -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Uninterpreted -> m Uninterpreted #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Uninterpreted -> m Uninterpreted #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Uninterpreted -> m Uninterpreted #

Generic Uninterpreted Source # 
Instance details

Defined in M.IO.Internal.Datagram

Associated Types

type Rep Uninterpreted 
Instance details

Defined in M.IO.Internal.Datagram

type Rep Uninterpreted = D1 ('MetaData "Uninterpreted" "M.IO.Internal.Datagram" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Uninterpreted" 'PrefixI 'True) (S1 ('MetaSel ('Just "pkcode") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word8) :*: S1 ('MetaSel ('Just "pkdata") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ByteString)))
Show Uninterpreted Source # 
Instance details

Defined in M.IO.Internal.Datagram

NFData Uninterpreted Source # 
Instance details

Defined in M.IO.Internal.Datagram

Methods

rnf :: Uninterpreted -> () #

Eq Uninterpreted Source # 
Instance details

Defined in M.IO.Internal.Datagram

Ord Uninterpreted Source # 
Instance details

Defined in M.IO.Internal.Datagram

Hashable Uninterpreted Source # 
Instance details

Defined in M.IO.Internal.Datagram

Lift Uninterpreted Source # 
Instance details

Defined in M.IO.Internal.Datagram

Methods

lift :: Quote m => Uninterpreted -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Uninterpreted -> Code m Uninterpreted #

type Rep Uninterpreted Source # 
Instance details

Defined in M.IO.Internal.Datagram

type Rep Uninterpreted = D1 ('MetaData "Uninterpreted" "M.IO.Internal.Datagram" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Uninterpreted" 'PrefixI 'True) (S1 ('MetaSel ('Just "pkcode") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word8) :*: S1 ('MetaSel ('Just "pkdata") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ByteString)))

data EOF Source #

end of input

Constructors

EOF 

Instances

Instances details
Data EOF Source # 
Instance details

Defined in M.IO.Internal.Datagram

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> EOF -> c EOF #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c EOF #

toConstr :: EOF -> Constr #

dataTypeOf :: EOF -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c EOF) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c EOF) #

gmapT :: (forall b. Data b => b -> b) -> EOF -> EOF #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> EOF -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> EOF -> r #

gmapQ :: (forall d. Data d => d -> u) -> EOF -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> EOF -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> EOF -> m EOF #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> EOF -> m EOF #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> EOF -> m EOF #

Exception EOF Source # 
Instance details

Defined in M.IO.Internal.Datagram

Generic EOF Source # 
Instance details

Defined in M.IO.Internal.Datagram

Associated Types

type Rep EOF 
Instance details

Defined in M.IO.Internal.Datagram

type Rep EOF = D1 ('MetaData "EOF" "M.IO.Internal.Datagram" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EOF" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: EOF -> Rep EOF x #

to :: Rep EOF x -> EOF #

Read EOF Source # 
Instance details

Defined in M.IO.Internal.Datagram

Show EOF Source # 
Instance details

Defined in M.IO.Internal.Datagram

Methods

showsPrec :: Int -> EOF -> ShowS #

show :: EOF -> String #

showList :: [EOF] -> ShowS #

Lift EOF Source # 
Instance details

Defined in M.IO.Internal.Datagram

Methods

lift :: Quote m => EOF -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => EOF -> Code m EOF #

type Rep EOF Source # 
Instance details

Defined in M.IO.Internal.Datagram

type Rep EOF = D1 ('MetaData "EOF" "M.IO.Internal.Datagram" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EOF" 'PrefixI 'False) (U1 :: Type -> Type))

Streams

makepacketstreami Source #

Arguments

:: TVar Int

compression threshold reference (negative = off, + non-negative = on with threshold)

-> InputStream ByteString

input stream

-> IO (InputStream Uninterpreted)

stream of uninterpreted packets

make a stream of uninterpreted packets

makepacketstreamo :: TVar Int -> OutputStream ByteString -> IO (OutputStream Uninterpreted) Source #

make an output stream of uninterpreted packets

makedecrypting Source #

Arguments

:: TVar (ByteString -> IO ByteString)

decryptor

-> InputStream ByteString

input stream

-> IO (InputStream ByteString)

new input stream

register an octet streaming decryptor to an input stream

makeencrypting Source #

Arguments

:: TVar (ByteString -> IO ByteString)

encryptor

-> OutputStream ByteString

output stream

-> IO (OutputStream ByteString)

new output stream

register an octet stremaing encryptor to an output stream

\ No newline at end of file diff --git a/M-IO-Internal-EffectSocket.html b/M-IO-Internal-EffectSocket.html new file mode 100644 index 0000000..9b96785 --- /dev/null +++ b/M-IO-Internal-EffectSocket.html @@ -0,0 +1,2 @@ +M.IO.Internal.EffectSocket
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.IO.Internal.EffectSocket

Description

Implements the interpretation of the Talking effect in terms of socket + connections, providing both client and server capabilities.

Synopsis

Documentation

withtalkingserver Source #

Arguments

:: forall (es :: [Effect]) a. (IOE :> es, State ParserState :> es, Concurrent :> es, NonDet :> es) 
=> UnliftStrategy

unlift strategy

-> Maybe String

host (Nothing = all interfaces)

-> String

port

-> Eff (Talking ': es) a

per-connection handler

-> Eff es a

final result

run server accepting multiple connections

withtalkingclient Source #

Arguments

:: forall (es :: [Effect]) a. (IOE :> es, State ParserState :> es, Concurrent :> es, NonDet :> es) 
=> UnliftStrategy

unlift strategy

-> String

host

-> String

port

-> Eff (Talking ': es) a

handler

-> Eff es a

result

run client with single connection

\ No newline at end of file diff --git a/M-IO-Internal-EffectTypes.html b/M-IO-Internal-EffectTypes.html new file mode 100644 index 0000000..c2a02c6 --- /dev/null +++ b/M-IO-Internal-EffectTypes.html @@ -0,0 +1,4 @@ +M.IO.Internal.EffectTypes
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.IO.Internal.EffectTypes

Description

This module defines the core effects used for networking in the Minecraft protocol + implementation. It provides bidirectional packet communication with compression and + encryption support.

Synopsis

Core effect

data Talking (a :: Type -> Type) b where Source #

the communication effect

Constructors

Hear :: forall b (a :: Type -> Type). (Unpack b, Typeable b) => Immediately -> Talking a b

listen for a message and assert its type

when immediately is set and message missing, invoke Empty

HearU :: forall (a :: Type -> Type). Immediately -> Talking a Uninterpreted

listen for a raw uninterpreted message

when immediately is set and message missing, invoke Empty

HearA :: forall (a :: Type -> Type). Immediately -> Talking a SomeUnpack

listen for a message with dynamic unpacking

when immediately is set and message missing, invoke Empty

Say :: forall a1 (a :: Type -> Type). (Pack a1, Typeable a1) => a1 -> Talking a ()

send a message

Setcompression :: forall (a :: Type -> Type). Int -> Talking a ()

set the compression threshold

  • non-negative: compress messages larger than this size
  • negative: disable compression
Setencryption :: forall (a :: Type -> Type). ByteString -> Talking a ()

set the encryption key

Instances

Instances details
type DispatchOf Talking Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

type DispatchOf Talking = 'Dynamic

Types

data Direction Source #

relative packet direction. Used to identify packet flow without + hardcoding client/server roles

Constructors

Inbound 
Outbound 

Instances

Instances details
Data Direction Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Direction -> c Direction #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Direction #

toConstr :: Direction -> Constr #

dataTypeOf :: Direction -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Direction) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Direction) #

gmapT :: (forall b. Data b => b -> b) -> Direction -> Direction #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Direction -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Direction -> r #

gmapQ :: (forall d. Data d => d -> u) -> Direction -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Direction -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Direction -> m Direction #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Direction -> m Direction #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Direction -> m Direction #

Bounded Direction Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Enum Direction Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Generic Direction Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Associated Types

type Rep Direction 
Instance details

Defined in M.IO.Internal.EffectTypes

type Rep Direction = D1 ('MetaData "Direction" "M.IO.Internal.EffectTypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Inbound" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Outbound" 'PrefixI 'False) (U1 :: Type -> Type))
Read Direction Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Show Direction Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

NFData Direction Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Methods

rnf :: Direction -> () #

Eq Direction Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Ord Direction Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Hashable Direction Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Lift Direction Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Methods

lift :: Quote m => Direction -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Direction -> Code m Direction #

type Rep Direction Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

type Rep Direction = D1 ('MetaData "Direction" "M.IO.Internal.EffectTypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Inbound" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Outbound" 'PrefixI 'False) (U1 :: Type -> Type))

data Immediately Source #

urgency level for receiving packets

Constructors

Immediately 
Eventually 

Instances

Instances details
Data Immediately Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Immediately -> c Immediately #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Immediately #

toConstr :: Immediately -> Constr #

dataTypeOf :: Immediately -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Immediately) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Immediately) #

gmapT :: (forall b. Data b => b -> b) -> Immediately -> Immediately #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Immediately -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Immediately -> r #

gmapQ :: (forall d. Data d => d -> u) -> Immediately -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Immediately -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Immediately -> m Immediately #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Immediately -> m Immediately #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Immediately -> m Immediately #

Bounded Immediately Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Enum Immediately Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Generic Immediately Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Associated Types

type Rep Immediately 
Instance details

Defined in M.IO.Internal.EffectTypes

type Rep Immediately = D1 ('MetaData "Immediately" "M.IO.Internal.EffectTypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Immediately" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Eventually" 'PrefixI 'False) (U1 :: Type -> Type))
Read Immediately Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Show Immediately Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

NFData Immediately Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Methods

rnf :: Immediately -> () #

Eq Immediately Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Ord Immediately Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Hashable Immediately Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Lift Immediately Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Methods

lift :: Quote m => Immediately -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Immediately -> Code m Immediately #

type Rep Immediately Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

type Rep Immediately = D1 ('MetaData "Immediately" "M.IO.Internal.EffectTypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Immediately" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Eventually" 'PrefixI 'False) (U1 :: Type -> Type))

data Op r where Source #

operations on a packet

Constructors

Parse :: Uninterpreted -> Op SomeUnpack

parse any packet

Code :: Direction -> TypeRep -> Op (Maybe Word8)

find code of a packet based on its TypeRep

Instances

Instances details
Show (Op r) Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Methods

showsPrec :: Int -> Op r -> ShowS #

show :: Op r -> String #

showList :: [Op r] -> ShowS #

NFData (Op r) Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Methods

rnf :: Op r -> () #

Eq (Op r) Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Methods

(==) :: Op r -> Op r -> Bool #

(/=) :: Op r -> Op r -> Bool #

Ord (Op r) Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Methods

compare :: Op r -> Op r -> Ordering #

(<) :: Op r -> Op r -> Bool #

(<=) :: Op r -> Op r -> Bool #

(>) :: Op r -> Op r -> Bool #

(>=) :: Op r -> Op r -> Bool #

max :: Op r -> Op r -> Op r #

min :: Op r -> Op r -> Op r #

Hashable (Op r) Source # 
Instance details

Defined in M.IO.Internal.EffectTypes

Methods

hashWithSalt :: Int -> Op r -> Int

hash :: Op r -> Int

newtype ParserState Source #

parser state object (as in object-oriented programming)

Constructors

ParserState 

Fields

  • send2parserstate :: forall r. Op r -> r

    send a "message" to the parser state and get a response

Effect operations

type Talking' (es :: [Effect]) = (Talking :> es, State ParserState :> es, NonDet :> es) Source #

the communication effect with parser state and non-determinism

hear :: forall a (es :: [Effect]). (HasCallStack, Talking :> es, Unpack a, Typeable a) => Immediately -> Eff es a Source #

listen for a message and assert its type

when immediately is set and message missing, invoke Empty

hearU :: forall (es :: [Effect]). (HasCallStack, Talking :> es) => Immediately -> Eff es Uninterpreted Source #

listen for a raw uninterpreted message

when immediately is set and message missing, invoke Empty

hearA :: forall (es :: [Effect]). (HasCallStack, Talking :> es) => Immediately -> Eff es SomeUnpack Source #

listen for a message with dynamic unpacking

when immediately is set and message missing, invoke Empty

say :: forall a (es :: [Effect]). (HasCallStack, Talking :> es, Pack a, Typeable a) => a -> Eff es () Source #

send a message

Configuration

setcompression :: forall (es :: [Effect]). (HasCallStack, Talking :> es) => Int -> Eff es () Source #

set the compression threshold

  • non-negative: compress messages larger than this size
  • negative: disable compression

setencryption :: forall (es :: [Effect]). (HasCallStack, Talking :> es) => ByteString -> Eff es () Source #

set the encryption key

enter :: forall (es :: [Effect]). State ParserState :> es => ParserState -> Eff es () Source #

enter the parser state

\ No newline at end of file diff --git a/M-IO-Internal-Read.html b/M-IO-Internal-Read.html new file mode 100644 index 0000000..0a28e0c --- /dev/null +++ b/M-IO-Internal-Read.html @@ -0,0 +1,5 @@ +M.IO.Internal.Read
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.IO.Internal.Read

Description

This module provides parsing utilities for reading structured data from streams.

Synopsis

Basic parsing

parseio Source #

Arguments

:: Exception e 
=> r

state

-> Int

int value

-> InputStream ByteString

input stream

-> ParserIO r e a

parser

-> IO a

result

Parse from a stream. Automatically handles chunked input by + concatenating chunks until a complete parse succeeds.

May throw: + * The parser's error type e + * IOError "parseio: unexpected end of input"

parseio0 Source #

Arguments

:: Exception e 
=> InputStream ByteString

input stream

-> ParserIO () e a

parser

-> IO a

result

parse from a stream (with no state and int value of 0). see also: + parseio

Lifted versions

parseiolift Source #

Arguments

:: (MonadIO m, Exception e) 
=> r

state

-> Int

int value

-> InputStream ByteString

input stream

-> ParserIO r e a

parser

-> m a

result

lifted version of parseio

parseio0lift Source #

Arguments

:: (MonadIO m, Exception e) 
=> InputStream ByteString

input stream

-> ParserIO () e a

parser

-> m a

result

lifted version of parseio0

\ No newline at end of file diff --git a/M-IO-Internal-Socket.html b/M-IO-Internal-Socket.html new file mode 100644 index 0000000..115b51b --- /dev/null +++ b/M-IO-Internal-Socket.html @@ -0,0 +1,2 @@ +M.IO.Internal.Socket
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.IO.Internal.Socket

Description

Implements reliable duplex stream connections for the Java Minecraft protocol, + handling encryption and compression.

Synopsis

Documentation

data Connection Source #

a connection to either a server or a client

Constructors

Connection 

Fields

withcxfromsocket :: Socket -> (Connection -> IO a) -> IO a Source #

create a connection from a socket

\ No newline at end of file diff --git a/M-IO-Internal-Zlib.html b/M-IO-Internal-Zlib.html new file mode 100644 index 0000000..ce0a2a6 --- /dev/null +++ b/M-IO-Internal-Zlib.html @@ -0,0 +1,2 @@ +M.IO.Internal.Zlib
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.IO.Internal.Zlib

Description

Provides safe decompression functionality for zlib-compressed data + with length validation and error handling.

Documentation

safedecomp Source #

Arguments

:: Int

expected length of decompressed data

-> ByteString

compressed data

-> IO ByteString

decompressed data

length-checked decompression of zlib-compressed data under IO

\ No newline at end of file diff --git a/M-IO-KeepAlive.html b/M-IO-KeepAlive.html new file mode 100644 index 0000000..55a58dc --- /dev/null +++ b/M-IO-KeepAlive.html @@ -0,0 +1,3 @@ +M.IO.KeepAlive
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.IO.KeepAlive

Description

This module implements the Minecraft protocol's keep-alive mechanism, which helps + detect stale connections by periodically exchanging random numbers.

Synopsis

Types

data KeepAliveFail a Source #

keep-alive failure modes. Occurs when:

Constructors

KeepAliveFail 

Fields

  • a

    sent

  • a

    received

KeepAliveTimeout 

Instances

Instances details
(Typeable a, Show a) => Exception (KeepAliveFail a) Source # 
Instance details

Defined in M.IO.KeepAlive

Show a => Show (KeepAliveFail a) Source # 
Instance details

Defined in M.IO.KeepAlive

Eq a => Eq (KeepAliveFail a) Source # 
Instance details

Defined in M.IO.KeepAlive

Keep-alive functions

skeepalive :: forall a (es :: [Effect]) void. (Concurrent :> es, Talking' es, IOE :> es, Random a, Show a, Eq a, Pack a, Unpack a, Typeable a) => Eff es void Source #

server's keep-alive mechanism. sends a random number every 15 seconds + and verifies the client echoes it back correctly

throws:

\ No newline at end of file diff --git a/M-IO-Obs.html b/M-IO-Obs.html new file mode 100644 index 0000000..a7104e1 --- /dev/null +++ b/M-IO-Obs.html @@ -0,0 +1,6 @@ +M.IO.Obs
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.IO.Obs

Contents

Description

This module provides a general-purpose observer pattern implementation + for monitoring and reacting to state changes in STM transactions.

Synopsis
  • obs :: forall (es :: [Effect]) a b. (Concurrent :> es, Eq a) => TVar a -> (a -> a -> STM a) -> (a -> a -> Eff es ()) -> Eff es b

Observer

obs Source #

Arguments

:: forall (es :: [Effect]) a b. (Concurrent :> es, Eq a) 
=> TVar a

Target variable to observe for changes

-> (a -> a -> STM a)

Function to compare and transform old and new values in STM

Old value is passed first; returned value gets committed and remembered

-> (a -> a -> Eff es ())

Action to execute when changes are detected, with old and new values

Old value is passed first

-> Eff es b 

A general observer that monitors changes in a shared variable and reacts to them.

The observer watches a target variable for changes, compares values using a custom + comparison function, and executes an action when changes are detected.

obs targetvar              -- Variable to observe
+    compareandtransform    -- STM function to compare and transform values
+    reacttochange          -- Action to execute when changes occur
+
\ No newline at end of file diff --git a/M-IO-TH.html b/M-IO-TH.html new file mode 100644 index 0000000..ff479dc --- /dev/null +++ b/M-IO-TH.html @@ -0,0 +1,11 @@ +M.IO.TH
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.IO.TH

Description

This module provides Template Haskell functionality to generate parser states + for client-server packet handling. It uses a simple grammar to define packet + mappings and their associated codes.

Usage

Define parser states using the states quasi-quoter:

-- creates mystatepair :: ParserStates
+[states|
+  mystatepair
+  Login:1f:2f     -- Login packet: recv=0x1f, send=0x2f
+  Handshake::3f   -- Handshake packet: send=0x3f only
+  |]
+

See: ParserStates, forserver, and forclient.

Note

All numerals are hexadecimal.

Documentation

data ParserStates Source #

Represents a pair of parser states - one for server-side parsing and one for client-side. + The states contain mappings between packet types, codes and identifiers.

states :: QuasiQuoter Source #

A quasi-quoter for generating parser states. + Parses the input grammar and generates appropriate ParserState pairs.

\ No newline at end of file diff --git a/M-IO-Tick.html b/M-IO-Tick.html new file mode 100644 index 0000000..5ff3013 --- /dev/null +++ b/M-IO-Tick.html @@ -0,0 +1,4 @@ +M.IO.Tick
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.IO.Tick

Description

This module provides functionality for running actions at controlled intervals + with adaptive timing adjustments.

Synopsis
  • tick :: forall (es :: [Effect]) b. (IOE :> es, Concurrent :> es) => TVar Double -> Eff es () -> Eff es b

Timing Control

tick Source #

Arguments

:: forall (es :: [Effect]) b. (IOE :> es, Concurrent :> es) 
=> TVar Double

Target frequency in Hz (stored in TVar)

-> Eff es ()

Action to execute periodically

-> Eff es b 

Executes an action periodically with adaptive timing control.

The function ensures the action runs at a target frequency by adjusting + delays between executions based on execution time.

tick ratevar action    -- Runs 'action' at frequency specified by rateVar (in Hz)
+
\ No newline at end of file diff --git a/M-IO.html b/M-IO.html new file mode 100644 index 0000000..2f0c62e --- /dev/null +++ b/M-IO.html @@ -0,0 +1,2 @@ +M.IO
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.IO

Description

Provides high-level IO operations and types for handling Minecraft protocol + connections, including socket management and data streaming.

Synopsis

Documentation

data Connection Source #

a connection to either a server or a client

Constructors

Connection 

Fields

data Uninterpreted Source #

uninterpreted packet

Constructors

Uninterpreted 

Fields

Instances

Instances details
Data Uninterpreted Source # 
Instance details

Defined in M.IO.Internal.Datagram

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Uninterpreted -> c Uninterpreted #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Uninterpreted #

toConstr :: Uninterpreted -> Constr #

dataTypeOf :: Uninterpreted -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Uninterpreted) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Uninterpreted) #

gmapT :: (forall b. Data b => b -> b) -> Uninterpreted -> Uninterpreted #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Uninterpreted -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Uninterpreted -> r #

gmapQ :: (forall d. Data d => d -> u) -> Uninterpreted -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Uninterpreted -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Uninterpreted -> m Uninterpreted #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Uninterpreted -> m Uninterpreted #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Uninterpreted -> m Uninterpreted #

Generic Uninterpreted Source # 
Instance details

Defined in M.IO.Internal.Datagram

Associated Types

type Rep Uninterpreted 
Instance details

Defined in M.IO.Internal.Datagram

type Rep Uninterpreted = D1 ('MetaData "Uninterpreted" "M.IO.Internal.Datagram" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Uninterpreted" 'PrefixI 'True) (S1 ('MetaSel ('Just "pkcode") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word8) :*: S1 ('MetaSel ('Just "pkdata") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ByteString)))
Show Uninterpreted Source # 
Instance details

Defined in M.IO.Internal.Datagram

NFData Uninterpreted Source # 
Instance details

Defined in M.IO.Internal.Datagram

Methods

rnf :: Uninterpreted -> () #

Eq Uninterpreted Source # 
Instance details

Defined in M.IO.Internal.Datagram

Ord Uninterpreted Source # 
Instance details

Defined in M.IO.Internal.Datagram

Hashable Uninterpreted Source # 
Instance details

Defined in M.IO.Internal.Datagram

Lift Uninterpreted Source # 
Instance details

Defined in M.IO.Internal.Datagram

Methods

lift :: Quote m => Uninterpreted -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Uninterpreted -> Code m Uninterpreted #

type Rep Uninterpreted Source # 
Instance details

Defined in M.IO.Internal.Datagram

type Rep Uninterpreted = D1 ('MetaData "Uninterpreted" "M.IO.Internal.Datagram" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Uninterpreted" 'PrefixI 'True) (S1 ('MetaSel ('Just "pkcode") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word8) :*: S1 ('MetaSel ('Just "pkdata") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ByteString)))

define communication effects

withtalkingserver Source #

Arguments

:: forall (es :: [Effect]) a. (IOE :> es, State ParserState :> es, Concurrent :> es, NonDet :> es) 
=> UnliftStrategy

unlift strategy

-> Maybe String

host (Nothing = all interfaces)

-> String

port

-> Eff (Talking ': es) a

per-connection handler

-> Eff es a

final result

run server accepting multiple connections

withtalkingclient Source #

Arguments

:: forall (es :: [Effect]) a. (IOE :> es, State ParserState :> es, Concurrent :> es, NonDet :> es) 
=> UnliftStrategy

unlift strategy

-> String

host

-> String

port

-> Eff (Talking ': es) a

handler

-> Eff es a

result

run client with single connection

withcxfromsocket :: Socket -> (Connection -> IO a) -> IO a Source #

create a connection from a socket

\ No newline at end of file diff --git a/M-LEB.html b/M-LEB.html new file mode 100644 index 0000000..e19edbc --- /dev/null +++ b/M-LEB.html @@ -0,0 +1,4 @@ +M.LEB
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.LEB

Description

Implements LEB128 (Little-Endian Base 128) variable-length encoding + for arbitrary finite-bit integers, used in the Minecraft protocol.

Synopsis

Documentation

newtype LEB a Source #

a LEB128 (unsigned) encoded integer. the integer itself may or + may not be signed

Constructors

LEB 

Fields

Instances

Instances details
Functor LEB Source # 
Instance details

Defined in M.LEB

Methods

fmap :: (a -> b) -> LEB a -> LEB b #

(<$) :: a -> LEB b -> LEB a #

Lift a => Lift (LEB a :: Type) Source # 
Instance details

Defined in M.LEB

Methods

lift :: Quote m => LEB a -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => LEB a -> Code m (LEB a) #

Data a => Data (LEB a) Source # 
Instance details

Defined in M.LEB

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LEB a -> c (LEB a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (LEB a) #

toConstr :: LEB a -> Constr #

dataTypeOf :: LEB a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (LEB a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (LEB a)) #

gmapT :: (forall b. Data b => b -> b) -> LEB a -> LEB a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LEB a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LEB a -> r #

gmapQ :: (forall d. Data d => d -> u) -> LEB a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> LEB a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LEB a -> m (LEB a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LEB a -> m (LEB a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LEB a -> m (LEB a) #

Bounded a => Bounded (LEB a) Source # 
Instance details

Defined in M.LEB

Methods

minBound :: LEB a #

maxBound :: LEB a #

Enum a => Enum (LEB a) Source # 
Instance details

Defined in M.LEB

Methods

succ :: LEB a -> LEB a #

pred :: LEB a -> LEB a #

toEnum :: Int -> LEB a #

fromEnum :: LEB a -> Int #

enumFrom :: LEB a -> [LEB a] #

enumFromThen :: LEB a -> LEB a -> [LEB a] #

enumFromTo :: LEB a -> LEB a -> [LEB a] #

enumFromThenTo :: LEB a -> LEB a -> LEB a -> [LEB a] #

Generic (LEB a) Source # 
Instance details

Defined in M.LEB

Associated Types

type Rep (LEB a) 
Instance details

Defined in M.LEB

type Rep (LEB a) = D1 ('MetaData "LEB" "M.LEB" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "LEB" 'PrefixI 'True) (S1 ('MetaSel ('Just "getleb") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: LEB a -> Rep (LEB a) x #

to :: Rep (LEB a) x -> LEB a #

Num a => Num (LEB a) Source # 
Instance details

Defined in M.LEB

Methods

(+) :: LEB a -> LEB a -> LEB a #

(-) :: LEB a -> LEB a -> LEB a #

(*) :: LEB a -> LEB a -> LEB a #

negate :: LEB a -> LEB a #

abs :: LEB a -> LEB a #

signum :: LEB a -> LEB a #

fromInteger :: Integer -> LEB a #

Read a => Read (LEB a) Source # 
Instance details

Defined in M.LEB

Integral a => Integral (LEB a) Source # 
Instance details

Defined in M.LEB

Methods

quot :: LEB a -> LEB a -> LEB a #

rem :: LEB a -> LEB a -> LEB a #

div :: LEB a -> LEB a -> LEB a #

mod :: LEB a -> LEB a -> LEB a #

quotRem :: LEB a -> LEB a -> (LEB a, LEB a) #

divMod :: LEB a -> LEB a -> (LEB a, LEB a) #

toInteger :: LEB a -> Integer #

Real a => Real (LEB a) Source # 
Instance details

Defined in M.LEB

Methods

toRational :: LEB a -> Rational #

Show a => Show (LEB a) Source # 
Instance details

Defined in M.LEB

Methods

showsPrec :: Int -> LEB a -> ShowS #

show :: LEB a -> String #

showList :: [LEB a] -> ShowS #

NFData a => NFData (LEB a) Source # 
Instance details

Defined in M.LEB

Methods

rnf :: LEB a -> () #

Eq a => Eq (LEB a) Source # 
Instance details

Defined in M.LEB

Methods

(==) :: LEB a -> LEB a -> Bool #

(/=) :: LEB a -> LEB a -> Bool #

Ord a => Ord (LEB a) Source # 
Instance details

Defined in M.LEB

Methods

compare :: LEB a -> LEB a -> Ordering #

(<) :: LEB a -> LEB a -> Bool #

(<=) :: LEB a -> LEB a -> Bool #

(>) :: LEB a -> LEB a -> Bool #

(>=) :: LEB a -> LEB a -> Bool #

max :: LEB a -> LEB a -> LEB a #

min :: LEB a -> LEB a -> LEB a #

Hashable a => Hashable (LEB a) Source # 
Instance details

Defined in M.LEB

Methods

hashWithSalt :: Int -> LEB a -> Int

hash :: LEB a -> Int

(FiniteBits a, Integral a) => Pack (LEB a) Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

pack :: LEB a -> Builder Source #

(FiniteBits a, Num a) => Unpack (LEB a) Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (LEB a) Source #

type Rep (LEB a) Source # 
Instance details

Defined in M.LEB

type Rep (LEB a) = D1 ('MetaData "LEB" "M.LEB" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "LEB" 'PrefixI 'True) (S1 ('MetaSel ('Just "getleb") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

type VarInt = LEB Int32 Source #

VarInt

type VarLong = LEB Int64 Source #

VarLong

decodeleb Source #

Arguments

:: (Monad m, FiniteBits a, Num a) 
=> m Word8

accept any Word8 value

-> m (LEB a)

LEB128 encoded integer

decode an unsigned LEB128 encoded integer

the actual integer may or may not be signed; the encoding itself is + "unsigned"

encodeleb :: (FiniteBits a, Integral a) => LEB a -> Builder Source #

encode an LEB128 encoded integer into a Builder

\ No newline at end of file diff --git a/M-Misc.html b/M-Misc.html new file mode 100644 index 0000000..887d0a0 --- /dev/null +++ b/M-Misc.html @@ -0,0 +1,6 @@ +M.Misc
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.Misc

Description

Defines common types used across the Minecraft protocol implementation, + including teleportation flags and sound events.

Documentation

data TeleportFlags Source #

flags for teleporting an entity

16+ bits

Constructors

TeleportFlags 

Fields

Instances

Instances details
Data TeleportFlags Source # 
Instance details

Defined in M.Misc

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TeleportFlags -> c TeleportFlags #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TeleportFlags #

toConstr :: TeleportFlags -> Constr #

dataTypeOf :: TeleportFlags -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TeleportFlags) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TeleportFlags) #

gmapT :: (forall b. Data b => b -> b) -> TeleportFlags -> TeleportFlags #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TeleportFlags -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TeleportFlags -> r #

gmapQ :: (forall d. Data d => d -> u) -> TeleportFlags -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TeleportFlags -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TeleportFlags -> m TeleportFlags #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TeleportFlags -> m TeleportFlags #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TeleportFlags -> m TeleportFlags #

Generic TeleportFlags Source # 
Instance details

Defined in M.Misc

Read TeleportFlags Source # 
Instance details

Defined in M.Misc

Show TeleportFlags Source # 
Instance details

Defined in M.Misc

NFData TeleportFlags Source # 
Instance details

Defined in M.Misc

Methods

rnf :: TeleportFlags -> () #

Eq TeleportFlags Source # 
Instance details

Defined in M.Misc

Ord TeleportFlags Source # 
Instance details

Defined in M.Misc

Hashable TeleportFlags Source # 
Instance details

Defined in M.Misc

(Bits i, Integral i, Pack i, Unpack i) => Bitreppable i TeleportFlags Source #

do NOT use 8-bit packing for this type. + use a type that is at least 16 bits wide

Instance details

Defined in M.Misc

Lift TeleportFlags Source # 
Instance details

Defined in M.Misc

Methods

lift :: Quote m => TeleportFlags -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => TeleportFlags -> Code m TeleportFlags #

type Rep TeleportFlags Source # 
Instance details

Defined in M.Misc

data SoundEvent Source #

Constructors

SoundEvent 

Instances

Instances details
Data SoundEvent Source # 
Instance details

Defined in M.Misc

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SoundEvent -> c SoundEvent #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SoundEvent #

toConstr :: SoundEvent -> Constr #

dataTypeOf :: SoundEvent -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SoundEvent) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SoundEvent) #

gmapT :: (forall b. Data b => b -> b) -> SoundEvent -> SoundEvent #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SoundEvent -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SoundEvent -> r #

gmapQ :: (forall d. Data d => d -> u) -> SoundEvent -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SoundEvent -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SoundEvent -> m SoundEvent #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SoundEvent -> m SoundEvent #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SoundEvent -> m SoundEvent #

Generic SoundEvent Source # 
Instance details

Defined in M.Misc

Associated Types

type Rep SoundEvent 
Instance details

Defined in M.Misc

type Rep SoundEvent = D1 ('MetaData "SoundEvent" "M.Misc" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SoundEvent" 'PrefixI 'True) (S1 ('MetaSel ('Just "soundname") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "fixedrange") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Float))))
Read SoundEvent Source # 
Instance details

Defined in M.Misc

Show SoundEvent Source # 
Instance details

Defined in M.Misc

NFData SoundEvent Source # 
Instance details

Defined in M.Misc

Methods

rnf :: SoundEvent -> () #

Eq SoundEvent Source # 
Instance details

Defined in M.Misc

Ord SoundEvent Source # 
Instance details

Defined in M.Misc

Hashable SoundEvent Source # 
Instance details

Defined in M.Misc

Pack SoundEvent Source # 
Instance details

Defined in M.Misc

Unpack SoundEvent Source # 
Instance details

Defined in M.Misc

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SoundEvent Source #

Lift SoundEvent Source # 
Instance details

Defined in M.Misc

Methods

lift :: Quote m => SoundEvent -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => SoundEvent -> Code m SoundEvent #

type Rep SoundEvent Source # 
Instance details

Defined in M.Misc

type Rep SoundEvent = D1 ('MetaData "SoundEvent" "M.Misc" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SoundEvent" 'PrefixI 'True) (S1 ('MetaSel ('Just "soundname") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "fixedrange") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Float))))
\ No newline at end of file diff --git a/M-NBT-Internal-JS.html b/M-NBT-Internal-JS.html new file mode 100644 index 0000000..73b1b17 --- /dev/null +++ b/M-NBT-Internal-JS.html @@ -0,0 +1,4 @@ +M.NBT.Internal.JS
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.NBT.Internal.JS

Description

Implements Java's Modified UTF-8 (CESU-8) encoding and decoding for + string handling in NBT format.

See: https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html#modified-utf-8

Documentation

newtype JS Source #

Java's CESU-8 encoding/decoding

this newtype is purely for modulation of encoding and decoding. + it is not intended to be used directly in the public API

use textascesu8 and cesu8astext to convert between Text + and ByteString

see:

Constructors

JS 

Fields

Instances

Instances details
Data JS Source # 
Instance details

Defined in M.NBT.Internal.JS

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JS -> c JS #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JS #

toConstr :: JS -> Constr #

dataTypeOf :: JS -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JS) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JS) #

gmapT :: (forall b. Data b => b -> b) -> JS -> JS #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JS -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JS -> r #

gmapQ :: (forall d. Data d => d -> u) -> JS -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JS -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JS -> m JS #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JS -> m JS #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JS -> m JS #

IsString JS Source # 
Instance details

Defined in M.NBT.Internal.JS

Methods

fromString :: String -> JS #

Generic JS Source # 
Instance details

Defined in M.NBT.Internal.JS

Associated Types

type Rep JS 
Instance details

Defined in M.NBT.Internal.JS

type Rep JS = D1 ('MetaData "JS" "M.NBT.Internal.JS" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "JS" 'PrefixI 'True) (S1 ('MetaSel ('Just "getjs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

Methods

from :: JS -> Rep JS x #

to :: Rep JS x -> JS #

Read JS Source # 
Instance details

Defined in M.NBT.Internal.JS

Show JS Source # 
Instance details

Defined in M.NBT.Internal.JS

Methods

showsPrec :: Int -> JS -> ShowS #

show :: JS -> String #

showList :: [JS] -> ShowS #

NFData JS Source # 
Instance details

Defined in M.NBT.Internal.JS

Methods

rnf :: JS -> () #

Eq JS Source # 
Instance details

Defined in M.NBT.Internal.JS

Methods

(==) :: JS -> JS -> Bool #

(/=) :: JS -> JS -> Bool #

Ord JS Source # 
Instance details

Defined in M.NBT.Internal.JS

Methods

compare :: JS -> JS -> Ordering #

(<) :: JS -> JS -> Bool #

(<=) :: JS -> JS -> Bool #

(>) :: JS -> JS -> Bool #

(>=) :: JS -> JS -> Bool #

max :: JS -> JS -> JS #

min :: JS -> JS -> JS #

Hashable JS Source # 
Instance details

Defined in M.NBT.Internal.JS

Methods

hashWithSalt :: Int -> JS -> Int

hash :: JS -> Int

Pack JS Source # 
Instance details

Defined in M.NBT.Internal.JS

Methods

pack :: JS -> Builder Source #

Unpack JS Source # 
Instance details

Defined in M.NBT.Internal.JS

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r JS Source #

Lift JS Source # 
Instance details

Defined in M.NBT.Internal.JS

Methods

lift :: Quote m => JS -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => JS -> Code m JS #

type Rep JS Source # 
Instance details

Defined in M.NBT.Internal.JS

type Rep JS = D1 ('MetaData "JS" "M.NBT.Internal.JS" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "JS" 'PrefixI 'True) (S1 ('MetaSel ('Just "getjs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

tocesu8 :: JS -> ByteString Source #

encode text to CESU-8

tocesu8p :: JS -> Builder Source #

encode text to CESU-8 (Builder version)

fromcesu8 :: ByteString -> Maybe JS Source #

decode CESU-8 encoded text

fromcesu8p :: forall (st :: ZeroBitType) r. Parser st r JS Source #

decode CESU-8 encoded text (Parser version)

\ No newline at end of file diff --git a/M-NBT-Internal-P.html b/M-NBT-Internal-P.html new file mode 100644 index 0000000..322f8a3 --- /dev/null +++ b/M-NBT-Internal-P.html @@ -0,0 +1,2 @@ +M.NBT.Internal.P
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.NBT.Internal.P

Description

Implements parsing and serialization for NBT data structures, + handling named pairs and tag types.

Synopsis

Documentation

data NamedPair Source #

named pair of a Text and a Tg

Constructors

NamedPair !Text !Tg 

Instances

Instances details
Data NamedPair Source # 
Instance details

Defined in M.NBT.Internal.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NamedPair -> c NamedPair #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NamedPair #

toConstr :: NamedPair -> Constr #

dataTypeOf :: NamedPair -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NamedPair) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NamedPair) #

gmapT :: (forall b. Data b => b -> b) -> NamedPair -> NamedPair #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NamedPair -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NamedPair -> r #

gmapQ :: (forall d. Data d => d -> u) -> NamedPair -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> NamedPair -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> NamedPair -> m NamedPair #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NamedPair -> m NamedPair #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NamedPair -> m NamedPair #

Generic NamedPair Source # 
Instance details

Defined in M.NBT.Internal.P

Associated Types

type Rep NamedPair 
Instance details

Defined in M.NBT.Internal.P

type Rep NamedPair = D1 ('MetaData "NamedPair" "M.NBT.Internal.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "NamedPair" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Tg)))
Read NamedPair Source # 
Instance details

Defined in M.NBT.Internal.P

Show NamedPair Source # 
Instance details

Defined in M.NBT.Internal.P

NFData NamedPair Source # 
Instance details

Defined in M.NBT.Internal.P

Methods

rnf :: NamedPair -> () #

Eq NamedPair Source # 
Instance details

Defined in M.NBT.Internal.P

Ord NamedPair Source # 
Instance details

Defined in M.NBT.Internal.P

Pack NamedPair Source # 
Instance details

Defined in M.NBT.Internal.P

Unpack NamedPair Source # 
Instance details

Defined in M.NBT.Internal.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r NamedPair Source #

type Rep NamedPair Source # 
Instance details

Defined in M.NBT.Internal.P

type Rep NamedPair = D1 ('MetaData "NamedPair" "M.NBT.Internal.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "NamedPair" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Tg)))

Orphan instances

Pack Tg Source # 
Instance details

Methods

pack :: Tg -> Builder Source #

Unpack Tg Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Tg Source #

\ No newline at end of file diff --git a/M-NBT-Internal-Types.html b/M-NBT-Internal-Types.html new file mode 100644 index 0000000..a5ec7ac --- /dev/null +++ b/M-NBT-Internal-Types.html @@ -0,0 +1,2 @@ +M.NBT.Internal.Types
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.NBT.Internal.Types

Description

Internal type definitions for Named Binary Tag (NBT) format used in + Minecraft, including tag types and container types.

Synopsis

Documentation

data Ty Source #

NBT tag types

Constructors

TEnd

special type for the end of a compound tag

TByte 
TShort 
TInt 
TLong 
TFloat 
TDouble 
TByteArray 
TString 
TList 
TCompound 
TIntArray 
TLongArray 

Instances

Instances details
Data Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Ty -> c Ty #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Ty #

toConstr :: Ty -> Constr #

dataTypeOf :: Ty -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Ty) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Ty) #

gmapT :: (forall b. Data b => b -> b) -> Ty -> Ty #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ty -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ty -> r #

gmapQ :: (forall d. Data d => d -> u) -> Ty -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Ty -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Ty -> m Ty #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Ty -> m Ty #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Ty -> m Ty #

Bounded Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

minBound :: Ty #

maxBound :: Ty #

Enum Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

succ :: Ty -> Ty #

pred :: Ty -> Ty #

toEnum :: Int -> Ty #

fromEnum :: Ty -> Int #

enumFrom :: Ty -> [Ty] #

enumFromThen :: Ty -> Ty -> [Ty] #

enumFromTo :: Ty -> Ty -> [Ty] #

enumFromThenTo :: Ty -> Ty -> Ty -> [Ty] #

Generic Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Associated Types

type Rep Ty 
Instance details

Defined in M.NBT.Internal.Types

type Rep Ty = D1 ('MetaData "Ty" "M.NBT.Internal.Types" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (((C1 ('MetaCons "TEnd" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TByte" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TShort" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "TInt" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TLong" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TFloat" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "TDouble" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TByteArray" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TString" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "TList" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TCompound" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TIntArray" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TLongArray" 'PrefixI 'False) (U1 :: Type -> Type)))))

Methods

from :: Ty -> Rep Ty x #

to :: Rep Ty x -> Ty #

Read Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Show Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

showsPrec :: Int -> Ty -> ShowS #

show :: Ty -> String #

showList :: [Ty] -> ShowS #

NFData Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

rnf :: Ty -> () #

Eq Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

(==) :: Ty -> Ty -> Bool #

(/=) :: Ty -> Ty -> Bool #

Ord Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

compare :: Ty -> Ty -> Ordering #

(<) :: Ty -> Ty -> Bool #

(<=) :: Ty -> Ty -> Bool #

(>) :: Ty -> Ty -> Bool #

(>=) :: Ty -> Ty -> Bool #

max :: Ty -> Ty -> Ty #

min :: Ty -> Ty -> Ty #

Hashable Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

hashWithSalt :: Int -> Ty -> Int

hash :: Ty -> Int

Pack Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

pack :: Ty -> Builder Source #

Unpack Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Ty Source #

Lift Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

lift :: Quote m => Ty -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Ty -> Code m Ty #

type Rep Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

type Rep Ty = D1 ('MetaData "Ty" "M.NBT.Internal.Types" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (((C1 ('MetaCons "TEnd" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TByte" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TShort" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "TInt" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TLong" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TFloat" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "TDouble" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TByteArray" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TString" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "TList" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TCompound" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TIntArray" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TLongArray" 'PrefixI 'False) (U1 :: Type -> Type)))))

data Tg where Source #

NBT tag

Constructors

End :: Tg

used for internal purposes only

Byte :: Int8 -> Tg 
Short :: Int16 -> Tg 
Int :: Int32 -> Tg 
Long :: Int64 -> Tg 
Float :: Float -> Tg 
Double :: Double -> Tg 
ByteArray :: ByteString -> Tg 
String :: Text -> Tg 
List :: Ty -> Vector Tg -> Tg

a homogeneous list of tags

Compound :: HashMap Text Tg -> Tg 
IntArray :: Vector Int32 -> Tg 
LongArray :: Vector Int64 -> Tg 

Instances

Instances details
Data Tg Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Tg -> c Tg #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Tg #

toConstr :: Tg -> Constr #

dataTypeOf :: Tg -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Tg) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Tg) #

gmapT :: (forall b. Data b => b -> b) -> Tg -> Tg #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Tg -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Tg -> r #

gmapQ :: (forall d. Data d => d -> u) -> Tg -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Tg -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Tg -> m Tg #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Tg -> m Tg #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Tg -> m Tg #

IsString Tg Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

fromString :: String -> Tg #

Generic Tg Source # 
Instance details

Defined in M.NBT.Internal.Types

Associated Types

type Rep Tg 
Instance details

Defined in M.NBT.Internal.Types

type Rep Tg = D1 ('MetaData "Tg" "M.NBT.Internal.Types" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (((C1 ('MetaCons "End" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Byte" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int8)) :+: C1 ('MetaCons "Short" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16)))) :+: (C1 ('MetaCons "Int" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)) :+: (C1 ('MetaCons "Long" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64)) :+: C1 ('MetaCons "Float" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float))))) :+: ((C1 ('MetaCons "Double" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double)) :+: (C1 ('MetaCons "ByteArray" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)) :+: C1 ('MetaCons "String" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))) :+: ((C1 ('MetaCons "List" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ty) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Tg))) :+: C1 ('MetaCons "Compound" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap Text Tg)))) :+: (C1 ('MetaCons "IntArray" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Int32))) :+: C1 ('MetaCons "LongArray" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Int64)))))))

Methods

from :: Tg -> Rep Tg x #

to :: Rep Tg x -> Tg #

Read Tg Source # 
Instance details

Defined in M.NBT.Internal.Types

Show Tg Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

showsPrec :: Int -> Tg -> ShowS #

show :: Tg -> String #

showList :: [Tg] -> ShowS #

NFData Tg Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

rnf :: Tg -> () #

Eq Tg Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

(==) :: Tg -> Tg -> Bool #

(/=) :: Tg -> Tg -> Bool #

Ord Tg Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

compare :: Tg -> Tg -> Ordering #

(<) :: Tg -> Tg -> Bool #

(<=) :: Tg -> Tg -> Bool #

(>) :: Tg -> Tg -> Bool #

(>=) :: Tg -> Tg -> Bool #

max :: Tg -> Tg -> Tg #

min :: Tg -> Tg -> Tg #

Pack Tg Source # 
Instance details

Defined in M.NBT.Internal.P

Methods

pack :: Tg -> Builder Source #

Unpack Tg Source # 
Instance details

Defined in M.NBT.Internal.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Tg Source #

type Rep Tg Source # 
Instance details

Defined in M.NBT.Internal.Types

type Rep Tg = D1 ('MetaData "Tg" "M.NBT.Internal.Types" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (((C1 ('MetaCons "End" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Byte" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int8)) :+: C1 ('MetaCons "Short" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16)))) :+: (C1 ('MetaCons "Int" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)) :+: (C1 ('MetaCons "Long" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64)) :+: C1 ('MetaCons "Float" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float))))) :+: ((C1 ('MetaCons "Double" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double)) :+: (C1 ('MetaCons "ByteArray" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)) :+: C1 ('MetaCons "String" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))) :+: ((C1 ('MetaCons "List" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ty) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Tg))) :+: C1 ('MetaCons "Compound" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap Text Tg)))) :+: (C1 ('MetaCons "IntArray" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Int32))) :+: C1 ('MetaCons "LongArray" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Int64)))))))

getty :: Tg -> Ty Source #

get the type of a tag

\ No newline at end of file diff --git a/M-NBT.html b/M-NBT.html new file mode 100644 index 0000000..0b459b7 --- /dev/null +++ b/M-NBT.html @@ -0,0 +1,2 @@ +M.NBT
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.NBT

Description

Provides types and functions for working with Minecraft's NBT format, which is + used for storing structured binary data.

Synopsis

Documentation

data Ty Source #

NBT tag types

Constructors

TEnd

special type for the end of a compound tag

TByte 
TShort 
TInt 
TLong 
TFloat 
TDouble 
TByteArray 
TString 
TList 
TCompound 
TIntArray 
TLongArray 

Instances

Instances details
Data Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Ty -> c Ty #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Ty #

toConstr :: Ty -> Constr #

dataTypeOf :: Ty -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Ty) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Ty) #

gmapT :: (forall b. Data b => b -> b) -> Ty -> Ty #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ty -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ty -> r #

gmapQ :: (forall d. Data d => d -> u) -> Ty -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Ty -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Ty -> m Ty #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Ty -> m Ty #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Ty -> m Ty #

Bounded Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

minBound :: Ty #

maxBound :: Ty #

Enum Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

succ :: Ty -> Ty #

pred :: Ty -> Ty #

toEnum :: Int -> Ty #

fromEnum :: Ty -> Int #

enumFrom :: Ty -> [Ty] #

enumFromThen :: Ty -> Ty -> [Ty] #

enumFromTo :: Ty -> Ty -> [Ty] #

enumFromThenTo :: Ty -> Ty -> Ty -> [Ty] #

Generic Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Associated Types

type Rep Ty 
Instance details

Defined in M.NBT.Internal.Types

type Rep Ty = D1 ('MetaData "Ty" "M.NBT.Internal.Types" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (((C1 ('MetaCons "TEnd" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TByte" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TShort" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "TInt" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TLong" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TFloat" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "TDouble" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TByteArray" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TString" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "TList" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TCompound" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TIntArray" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TLongArray" 'PrefixI 'False) (U1 :: Type -> Type)))))

Methods

from :: Ty -> Rep Ty x #

to :: Rep Ty x -> Ty #

Read Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Show Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

showsPrec :: Int -> Ty -> ShowS #

show :: Ty -> String #

showList :: [Ty] -> ShowS #

NFData Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

rnf :: Ty -> () #

Eq Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

(==) :: Ty -> Ty -> Bool #

(/=) :: Ty -> Ty -> Bool #

Ord Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

compare :: Ty -> Ty -> Ordering #

(<) :: Ty -> Ty -> Bool #

(<=) :: Ty -> Ty -> Bool #

(>) :: Ty -> Ty -> Bool #

(>=) :: Ty -> Ty -> Bool #

max :: Ty -> Ty -> Ty #

min :: Ty -> Ty -> Ty #

Hashable Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

hashWithSalt :: Int -> Ty -> Int

hash :: Ty -> Int

Pack Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

pack :: Ty -> Builder Source #

Unpack Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Ty Source #

Lift Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

lift :: Quote m => Ty -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Ty -> Code m Ty #

type Rep Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

type Rep Ty = D1 ('MetaData "Ty" "M.NBT.Internal.Types" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (((C1 ('MetaCons "TEnd" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TByte" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TShort" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "TInt" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TLong" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TFloat" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "TDouble" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TByteArray" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TString" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "TList" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TCompound" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TIntArray" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TLongArray" 'PrefixI 'False) (U1 :: Type -> Type)))))

data Tg where Source #

NBT tag

Constructors

End :: Tg

used for internal purposes only

Byte :: Int8 -> Tg 
Short :: Int16 -> Tg 
Int :: Int32 -> Tg 
Long :: Int64 -> Tg 
Float :: Float -> Tg 
Double :: Double -> Tg 
ByteArray :: ByteString -> Tg 
String :: Text -> Tg 
List :: Ty -> Vector Tg -> Tg

a homogeneous list of tags

Compound :: HashMap Text Tg -> Tg 
IntArray :: Vector Int32 -> Tg 
LongArray :: Vector Int64 -> Tg 

Instances

Instances details
Data Tg Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Tg -> c Tg #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Tg #

toConstr :: Tg -> Constr #

dataTypeOf :: Tg -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Tg) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Tg) #

gmapT :: (forall b. Data b => b -> b) -> Tg -> Tg #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Tg -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Tg -> r #

gmapQ :: (forall d. Data d => d -> u) -> Tg -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Tg -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Tg -> m Tg #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Tg -> m Tg #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Tg -> m Tg #

IsString Tg Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

fromString :: String -> Tg #

Generic Tg Source # 
Instance details

Defined in M.NBT.Internal.Types

Associated Types

type Rep Tg 
Instance details

Defined in M.NBT.Internal.Types

type Rep Tg = D1 ('MetaData "Tg" "M.NBT.Internal.Types" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (((C1 ('MetaCons "End" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Byte" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int8)) :+: C1 ('MetaCons "Short" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16)))) :+: (C1 ('MetaCons "Int" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)) :+: (C1 ('MetaCons "Long" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64)) :+: C1 ('MetaCons "Float" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float))))) :+: ((C1 ('MetaCons "Double" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double)) :+: (C1 ('MetaCons "ByteArray" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)) :+: C1 ('MetaCons "String" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))) :+: ((C1 ('MetaCons "List" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ty) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Tg))) :+: C1 ('MetaCons "Compound" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap Text Tg)))) :+: (C1 ('MetaCons "IntArray" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Int32))) :+: C1 ('MetaCons "LongArray" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Int64)))))))

Methods

from :: Tg -> Rep Tg x #

to :: Rep Tg x -> Tg #

Read Tg Source # 
Instance details

Defined in M.NBT.Internal.Types

Show Tg Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

showsPrec :: Int -> Tg -> ShowS #

show :: Tg -> String #

showList :: [Tg] -> ShowS #

NFData Tg Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

rnf :: Tg -> () #

Eq Tg Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

(==) :: Tg -> Tg -> Bool #

(/=) :: Tg -> Tg -> Bool #

Ord Tg Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

compare :: Tg -> Tg -> Ordering #

(<) :: Tg -> Tg -> Bool #

(<=) :: Tg -> Tg -> Bool #

(>) :: Tg -> Tg -> Bool #

(>=) :: Tg -> Tg -> Bool #

max :: Tg -> Tg -> Tg #

min :: Tg -> Tg -> Tg #

Pack Tg Source # 
Instance details

Defined in M.NBT.Internal.P

Methods

pack :: Tg -> Builder Source #

Unpack Tg Source # 
Instance details

Defined in M.NBT.Internal.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Tg Source #

type Rep Tg Source # 
Instance details

Defined in M.NBT.Internal.Types

type Rep Tg = D1 ('MetaData "Tg" "M.NBT.Internal.Types" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (((C1 ('MetaCons "End" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Byte" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int8)) :+: C1 ('MetaCons "Short" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16)))) :+: (C1 ('MetaCons "Int" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)) :+: (C1 ('MetaCons "Long" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64)) :+: C1 ('MetaCons "Float" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float))))) :+: ((C1 ('MetaCons "Double" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double)) :+: (C1 ('MetaCons "ByteArray" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)) :+: C1 ('MetaCons "String" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))) :+: ((C1 ('MetaCons "List" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ty) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Tg))) :+: C1 ('MetaCons "Compound" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap Text Tg)))) :+: (C1 ('MetaCons "IntArray" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Int32))) :+: C1 ('MetaCons "LongArray" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Int64)))))))

data NamedPair Source #

named pair of a Text and a Tg

Constructors

NamedPair !Text !Tg 

Instances

Instances details
Data NamedPair Source # 
Instance details

Defined in M.NBT.Internal.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NamedPair -> c NamedPair #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NamedPair #

toConstr :: NamedPair -> Constr #

dataTypeOf :: NamedPair -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NamedPair) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NamedPair) #

gmapT :: (forall b. Data b => b -> b) -> NamedPair -> NamedPair #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NamedPair -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NamedPair -> r #

gmapQ :: (forall d. Data d => d -> u) -> NamedPair -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> NamedPair -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> NamedPair -> m NamedPair #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NamedPair -> m NamedPair #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NamedPair -> m NamedPair #

Generic NamedPair Source # 
Instance details

Defined in M.NBT.Internal.P

Associated Types

type Rep NamedPair 
Instance details

Defined in M.NBT.Internal.P

type Rep NamedPair = D1 ('MetaData "NamedPair" "M.NBT.Internal.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "NamedPair" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Tg)))
Read NamedPair Source # 
Instance details

Defined in M.NBT.Internal.P

Show NamedPair Source # 
Instance details

Defined in M.NBT.Internal.P

NFData NamedPair Source # 
Instance details

Defined in M.NBT.Internal.P

Methods

rnf :: NamedPair -> () #

Eq NamedPair Source # 
Instance details

Defined in M.NBT.Internal.P

Ord NamedPair Source # 
Instance details

Defined in M.NBT.Internal.P

Pack NamedPair Source # 
Instance details

Defined in M.NBT.Internal.P

Unpack NamedPair Source # 
Instance details

Defined in M.NBT.Internal.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r NamedPair Source #

type Rep NamedPair Source # 
Instance details

Defined in M.NBT.Internal.P

type Rep NamedPair = D1 ('MetaData "NamedPair" "M.NBT.Internal.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "NamedPair" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Tg)))
\ No newline at end of file diff --git a/M-Pack-Internal-Bit.html b/M-Pack-Internal-Bit.html new file mode 100644 index 0000000..a13284a --- /dev/null +++ b/M-Pack-Internal-Bit.html @@ -0,0 +1,12 @@ +M.Pack.Internal.Bit
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.Pack.Internal.Bit

Description

Implements bit-level serialization for boolean flags and bitsets, + supporting both variable-length and fixed-length bit patterns.

Synopsis

Documentation

newtype Bitwise (i :: k) a Source #

a wrapper type that enables bit-level packing of boolean product types. + the type parameter i specifies the underlying integral type used to store + the bits (e.g. Word8, Word16, etc). the type parameter a is the product + type containing the boolean fields to be encoded.

Constructors

Bitwise 

Fields

Instances

Instances details
Lift a => Lift (Bitwise i a :: Type) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

lift :: Quote m => Bitwise i a -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Bitwise i a -> Code m (Bitwise i a) #

Functor (Bitwise i) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

fmap :: (a -> b) -> Bitwise i a -> Bitwise i b #

(<$) :: a -> Bitwise i b -> Bitwise i a #

(Typeable i, Typeable k, Data a) => Data (Bitwise i a) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Bitwise i a -> c (Bitwise i a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Bitwise i a) #

toConstr :: Bitwise i a -> Constr #

dataTypeOf :: Bitwise i a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Bitwise i a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Bitwise i a)) #

gmapT :: (forall b. Data b => b -> b) -> Bitwise i a -> Bitwise i a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Bitwise i a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Bitwise i a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Bitwise i a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Bitwise i a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Bitwise i a -> m (Bitwise i a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Bitwise i a -> m (Bitwise i a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Bitwise i a -> m (Bitwise i a) #

Generic (Bitwise i a) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Associated Types

type Rep (Bitwise i a) 
Instance details

Defined in M.Pack.Internal.Bit

type Rep (Bitwise i a) = D1 ('MetaData "Bitwise" "M.Pack.Internal.Bit" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "Bitwise" 'PrefixI 'True) (S1 ('MetaSel ('Just "unbitwise") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: Bitwise i a -> Rep (Bitwise i a) x #

to :: Rep (Bitwise i a) x -> Bitwise i a #

Read a => Read (Bitwise i a) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Show a => Show (Bitwise i a) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

showsPrec :: Int -> Bitwise i a -> ShowS #

show :: Bitwise i a -> String #

showList :: [Bitwise i a] -> ShowS #

NFData a => NFData (Bitwise i a) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

rnf :: Bitwise i a -> () #

Eq a => Eq (Bitwise i a) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

(==) :: Bitwise i a -> Bitwise i a -> Bool #

(/=) :: Bitwise i a -> Bitwise i a -> Bool #

Ord a => Ord (Bitwise i a) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

compare :: Bitwise i a -> Bitwise i a -> Ordering #

(<) :: Bitwise i a -> Bitwise i a -> Bool #

(<=) :: Bitwise i a -> Bitwise i a -> Bool #

(>) :: Bitwise i a -> Bitwise i a -> Bool #

(>=) :: Bitwise i a -> Bitwise i a -> Bool #

max :: Bitwise i a -> Bitwise i a -> Bitwise i a #

min :: Bitwise i a -> Bitwise i a -> Bitwise i a #

Hashable a => Hashable (Bitwise i a) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

hashWithSalt :: Int -> Bitwise i a -> Int

hash :: Bitwise i a -> Int

Bitreppable i a => Pack (Bitwise i a) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

pack :: Bitwise i a -> Builder Source #

Bitreppable i a => Unpack (Bitwise i a) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (Bitwise i a) Source #

type Rep (Bitwise i a) Source # 
Instance details

Defined in M.Pack.Internal.Bit

type Rep (Bitwise i a) = D1 ('MetaData "Bitwise" "M.Pack.Internal.Bit" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "Bitwise" 'PrefixI 'True) (S1 ('MetaSel ('Just "unbitwise") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

class Bitreppable i a where Source #

type class for types that can be represented as bit flags. + provides methods for converting to and from bit representations.

most users should not need to implement this directly - just derive Generic + for your type and declare an instance without implementations:

instance Bitreppable Word8 MyFlags
+

Minimal complete definition

Nothing

Methods

tobits0 :: a -> Builder Source #

default tobits0 :: (Generic a, GBitRep (Rep a), Integral i, Bits i, Pack i) => a -> Builder Source #

frombits0 :: forall (st :: ZeroBitType) r. Parser st r a Source #

default frombits0 :: forall r (st :: ZeroBitType). (Generic a, GBitRep (Rep a), Integral i, Bits i, Unpack i) => Parser st r a Source #

Instances

Instances details
(Bits i, Integral i, Pack i, Unpack i) => Bitreppable i TeleportFlags Source #

do NOT use 8-bit packing for this type. + use a type that is at least 16 bits wide

Instance details

Defined in M.Misc

(Bits i, Integral i, Pack i, Unpack i) => Bitreppable i DisplayedSkinParts Source # 
Instance details

Defined in M.V769.I

newtype Bitset Source #

variable-length bitset

(network representation: little-endian vector of Int64s)

Constructors

Bitset 

Fields

Instances

Instances details
Data Bitset Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Bitset -> c Bitset #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Bitset #

toConstr :: Bitset -> Constr #

dataTypeOf :: Bitset -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Bitset) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Bitset) #

gmapT :: (forall b. Data b => b -> b) -> Bitset -> Bitset #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Bitset -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Bitset -> r #

gmapQ :: (forall d. Data d => d -> u) -> Bitset -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Bitset -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Bitset -> m Bitset #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Bitset -> m Bitset #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Bitset -> m Bitset #

Bits Bitset Source # 
Instance details

Defined in M.Pack.Internal.Bit

Enum Bitset Source # 
Instance details

Defined in M.Pack.Internal.Bit

Generic Bitset Source # 
Instance details

Defined in M.Pack.Internal.Bit

Associated Types

type Rep Bitset 
Instance details

Defined in M.Pack.Internal.Bit

type Rep Bitset = D1 ('MetaData "Bitset" "M.Pack.Internal.Bit" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "Bitset" 'PrefixI 'True) (S1 ('MetaSel ('Just "getbitset") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))

Methods

from :: Bitset -> Rep Bitset x #

to :: Rep Bitset x -> Bitset #

Num Bitset Source # 
Instance details

Defined in M.Pack.Internal.Bit

Read Bitset Source # 
Instance details

Defined in M.Pack.Internal.Bit

Real Bitset Source # 
Instance details

Defined in M.Pack.Internal.Bit

Show Bitset Source # 
Instance details

Defined in M.Pack.Internal.Bit

NFData Bitset Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

rnf :: Bitset -> () #

Eq Bitset Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

(==) :: Bitset -> Bitset -> Bool #

(/=) :: Bitset -> Bitset -> Bool #

Ord Bitset Source # 
Instance details

Defined in M.Pack.Internal.Bit

Hashable Bitset Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

hashWithSalt :: Int -> Bitset -> Int

hash :: Bitset -> Int

Pack Bitset Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

pack :: Bitset -> Builder Source #

Unpack Bitset Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Bitset Source #

Lift Bitset Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

lift :: Quote m => Bitset -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Bitset -> Code m Bitset #

type Rep Bitset Source # 
Instance details

Defined in M.Pack.Internal.Bit

type Rep Bitset = D1 ('MetaData "Bitset" "M.Pack.Internal.Bit" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "Bitset" 'PrefixI 'True) (S1 ('MetaSel ('Just "getbitset") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))

newtype FixedBitset (i :: k) Source #

a fixed-size bitset with i bits

(implemented identically to Bitset; only difference is that + when ser/de occurs, it pads missing bits with zeroes. hence it is + also possible to access out-of-bounds bits, and these bits will + get silently truncated when ser/de occurs)

Constructors

FixedBitset 

Instances

Instances details
Lift (FixedBitset i :: Type) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

lift :: Quote m => FixedBitset i -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => FixedBitset i -> Code m (FixedBitset i) #

(Typeable i, Typeable k) => Data (FixedBitset i) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FixedBitset i -> c (FixedBitset i) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (FixedBitset i) #

toConstr :: FixedBitset i -> Constr #

dataTypeOf :: FixedBitset i -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (FixedBitset i)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (FixedBitset i)) #

gmapT :: (forall b. Data b => b -> b) -> FixedBitset i -> FixedBitset i #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FixedBitset i -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FixedBitset i -> r #

gmapQ :: (forall d. Data d => d -> u) -> FixedBitset i -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> FixedBitset i -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> FixedBitset i -> m (FixedBitset i) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FixedBitset i -> m (FixedBitset i) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FixedBitset i -> m (FixedBitset i) #

Bits (FixedBitset i) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Enum (FixedBitset i) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Generic (FixedBitset i) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Associated Types

type Rep (FixedBitset i) 
Instance details

Defined in M.Pack.Internal.Bit

type Rep (FixedBitset i) = D1 ('MetaData "FixedBitset" "M.Pack.Internal.Bit" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "FixedBitset" 'PrefixI 'True) (S1 ('MetaSel ('Just "getfixedbitset") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))

Methods

from :: FixedBitset i -> Rep (FixedBitset i) x #

to :: Rep (FixedBitset i) x -> FixedBitset i #

Num (FixedBitset i) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Read (FixedBitset i) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Real (FixedBitset i) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Show (FixedBitset i) Source # 
Instance details

Defined in M.Pack.Internal.Bit

NFData (FixedBitset i) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

rnf :: FixedBitset i -> () #

Eq (FixedBitset i) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Ord (FixedBitset i) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Hashable (FixedBitset i) Source # 
Instance details

Defined in M.Pack.Internal.Bit

KnownNat i => Pack (FixedBitset i) Source # 
Instance details

Defined in M.Pack.Internal.Bit

KnownNat i => Unpack (FixedBitset i) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (FixedBitset i) Source #

type Rep (FixedBitset i) Source # 
Instance details

Defined in M.Pack.Internal.Bit

type Rep (FixedBitset i) = D1 ('MetaData "FixedBitset" "M.Pack.Internal.Bit" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "FixedBitset" 'PrefixI 'True) (S1 ('MetaSel ('Just "getfixedbitset") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))
\ No newline at end of file diff --git a/M-Pack-Internal-Etc.html b/M-Pack-Internal-Etc.html new file mode 100644 index 0000000..df25351 --- /dev/null +++ b/M-Pack-Internal-Etc.html @@ -0,0 +1,2 @@ +M.Pack.Internal.Etc
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.Pack.Internal.Etc

Description

Implements Pack and Unpack instances for various types including Text, + ByteString, Maybe, Vector, and UUID.

Orphan instances

Pack ByteString Source # 
Instance details

Pack Text Source # 
Instance details

Methods

pack :: Text -> Builder Source #

Pack UUID Source # 
Instance details

Methods

pack :: UUID -> Builder Source #

Unpack ByteString Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ByteString Source #

Unpack Text Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Text Source #

Unpack UUID Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UUID Source #

Pack a => Pack (Vector a) Source # 
Instance details

Methods

pack :: Vector a -> Builder Source #

(Unbox a, Pack a) => Pack (Vector a) Source # 
Instance details

Methods

pack :: Vector a -> Builder Source #

Pack a => Pack (Maybe a) Source # 
Instance details

Methods

pack :: Maybe a -> Builder Source #

Unpack a => Unpack (Vector a) Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (Vector a) Source #

(Unbox a, Unpack a) => Unpack (Vector a) Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (Vector a) Source #

Unpack a => Unpack (Maybe a) Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (Maybe a) Source #

\ No newline at end of file diff --git a/M-Pack-Internal-FromIntegral.html b/M-Pack-Internal-FromIntegral.html new file mode 100644 index 0000000..1cd521e --- /dev/null +++ b/M-Pack-Internal-FromIntegral.html @@ -0,0 +1,2 @@ +M.Pack.Internal.FromIntegral
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.Pack.Internal.FromIntegral

Description

Provides utility functions for numeric type conversions, + primarily an abbreviated form of fromIntegral.

Synopsis

Documentation

fi :: (Integral a, Num b) => a -> b Source #

an abbreviation for fromIntegral

\ No newline at end of file diff --git a/M-Pack-Internal-Linear.html b/M-Pack-Internal-Linear.html new file mode 100644 index 0000000..c5db63a --- /dev/null +++ b/M-Pack-Internal-Linear.html @@ -0,0 +1,2 @@ +M.Pack.Internal.Linear
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.Pack.Internal.Linear

Description

Provides Pack and Unpack instances for linear algebra types from the + linear package, including vectors and complex numbers.

Orphan instances

Pack a => Pack (Complex a) Source # 
Instance details

Methods

pack :: Complex a -> Builder Source #

Pack a => Pack (Quaternion a) Source # 
Instance details

Methods

pack :: Quaternion a -> Builder Source #

Pack a => Pack (V0 a) Source # 
Instance details

Methods

pack :: V0 a -> Builder Source #

Pack a => Pack (V1 a) Source # 
Instance details

Methods

pack :: V1 a -> Builder Source #

Pack a => Pack (V2 a) Source # 
Instance details

Methods

pack :: V2 a -> Builder Source #

Pack a => Pack (V3 a) Source # 
Instance details

Methods

pack :: V3 a -> Builder Source #

Pack a => Pack (V4 a) Source # 
Instance details

Methods

pack :: V4 a -> Builder Source #

Unpack a => Unpack (Complex a) Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (Complex a) Source #

Unpack a => Unpack (Quaternion a) Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (Quaternion a) Source #

Unpack a => Unpack (V0 a) Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (V0 a) Source #

Unpack a => Unpack (V1 a) Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (V1 a) Source #

Unpack a => Unpack (V2 a) Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (V2 a) Source #

Unpack a => Unpack (V3 a) Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (V3 a) Source #

Unpack a => Unpack (V4 a) Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (V4 a) Source #

Pack a => Pack (V n a) Source # 
Instance details

Methods

pack :: V n a -> Builder Source #

(Unpack a, Dim n) => Unpack (V n a) Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (V n a) Source #

\ No newline at end of file diff --git a/M-Pack-Internal-Newtypes.html b/M-Pack-Internal-Newtypes.html new file mode 100644 index 0000000..6b33c12 --- /dev/null +++ b/M-Pack-Internal-Newtypes.html @@ -0,0 +1,6 @@ +M.Pack.Internal.Newtypes
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.Pack.Internal.Newtypes

Description

Defines newtype wrappers that control how values are packed and unpacked, + including enum indices, fixed-point numbers, angles, and identifiers.

Synopsis

Documentation

newtype EnumIndex (i :: k) a Source #

represent any Enum type using a zero-based index

Constructors

EnumIndex 

Fields

Instances

Instances details
Lift a => Lift (EnumIndex i a :: Type) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

lift :: Quote m => EnumIndex i a -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => EnumIndex i a -> Code m (EnumIndex i a) #

Functor (EnumIndex i) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

fmap :: (a -> b) -> EnumIndex i a -> EnumIndex i b #

(<$) :: a -> EnumIndex i b -> EnumIndex i a #

(Typeable i, Typeable k, Data a) => Data (EnumIndex i a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> EnumIndex i a -> c (EnumIndex i a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (EnumIndex i a) #

toConstr :: EnumIndex i a -> Constr #

dataTypeOf :: EnumIndex i a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (EnumIndex i a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (EnumIndex i a)) #

gmapT :: (forall b. Data b => b -> b) -> EnumIndex i a -> EnumIndex i a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> EnumIndex i a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> EnumIndex i a -> r #

gmapQ :: (forall d. Data d => d -> u) -> EnumIndex i a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> EnumIndex i a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> EnumIndex i a -> m (EnumIndex i a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> EnumIndex i a -> m (EnumIndex i a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> EnumIndex i a -> m (EnumIndex i a) #

Bounded a => Bounded (EnumIndex i a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

minBound :: EnumIndex i a #

maxBound :: EnumIndex i a #

Enum a => Enum (EnumIndex i a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

succ :: EnumIndex i a -> EnumIndex i a #

pred :: EnumIndex i a -> EnumIndex i a #

toEnum :: Int -> EnumIndex i a #

fromEnum :: EnumIndex i a -> Int #

enumFrom :: EnumIndex i a -> [EnumIndex i a] #

enumFromThen :: EnumIndex i a -> EnumIndex i a -> [EnumIndex i a] #

enumFromTo :: EnumIndex i a -> EnumIndex i a -> [EnumIndex i a] #

enumFromThenTo :: EnumIndex i a -> EnumIndex i a -> EnumIndex i a -> [EnumIndex i a] #

Generic (EnumIndex i a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Associated Types

type Rep (EnumIndex i a) 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep (EnumIndex i a) = D1 ('MetaData "EnumIndex" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "EnumIndex" 'PrefixI 'True) (S1 ('MetaSel ('Just "enumindex") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: EnumIndex i a -> Rep (EnumIndex i a) x #

to :: Rep (EnumIndex i a) x -> EnumIndex i a #

Read a => Read (EnumIndex i a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Show a => Show (EnumIndex i a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

showsPrec :: Int -> EnumIndex i a -> ShowS #

show :: EnumIndex i a -> String #

showList :: [EnumIndex i a] -> ShowS #

NFData a => NFData (EnumIndex i a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

rnf :: EnumIndex i a -> () #

Eq a => Eq (EnumIndex i a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

(==) :: EnumIndex i a -> EnumIndex i a -> Bool #

(/=) :: EnumIndex i a -> EnumIndex i a -> Bool #

Ord a => Ord (EnumIndex i a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

compare :: EnumIndex i a -> EnumIndex i a -> Ordering #

(<) :: EnumIndex i a -> EnumIndex i a -> Bool #

(<=) :: EnumIndex i a -> EnumIndex i a -> Bool #

(>) :: EnumIndex i a -> EnumIndex i a -> Bool #

(>=) :: EnumIndex i a -> EnumIndex i a -> Bool #

max :: EnumIndex i a -> EnumIndex i a -> EnumIndex i a #

min :: EnumIndex i a -> EnumIndex i a -> EnumIndex i a #

Hashable a => Hashable (EnumIndex i a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

hashWithSalt :: Int -> EnumIndex i a -> Int

hash :: EnumIndex i a -> Int

(Enum a, Integral i, Pack i) => Pack (EnumIndex i a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

pack :: EnumIndex i a -> Builder Source #

(Enum a, Bounded a, Integral i, Unpack i) => Unpack (EnumIndex i a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (EnumIndex i a) Source #

type Rep (EnumIndex i a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep (EnumIndex i a) = D1 ('MetaData "EnumIndex" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "EnumIndex" 'PrefixI 'True) (S1 ('MetaSel ('Just "enumindex") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

newtype Fixed' (i :: k) (r :: k1) f Source #

use an integer type i for serialization of a fixed-point number + with resolution r (see HasResolution, Fixed), with underlying + numeric representation f

Constructors

Fixed' 

Fields

Instances

Instances details
Lift f => Lift (Fixed' i r f :: Type) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

lift :: Quote m => Fixed' i r f -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Fixed' i r f -> Code m (Fixed' i r f) #

(Typeable i, Typeable r, Typeable k1, Typeable k2, Data f) => Data (Fixed' i r f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Fixed' i r f -> c (Fixed' i r f) #

gunfold :: (forall b r0. Data b => c (b -> r0) -> c r0) -> (forall r1. r1 -> c r1) -> Constr -> c (Fixed' i r f) #

toConstr :: Fixed' i r f -> Constr #

dataTypeOf :: Fixed' i r f -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Fixed' i r f)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Fixed' i r f)) #

gmapT :: (forall b. Data b => b -> b) -> Fixed' i r f -> Fixed' i r f #

gmapQl :: (r0 -> r' -> r0) -> r0 -> (forall d. Data d => d -> r') -> Fixed' i r f -> r0 #

gmapQr :: forall r0 r'. (r' -> r0 -> r0) -> r0 -> (forall d. Data d => d -> r') -> Fixed' i r f -> r0 #

gmapQ :: (forall d. Data d => d -> u) -> Fixed' i r f -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Fixed' i r f -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Fixed' i r f -> m (Fixed' i r f) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Fixed' i r f -> m (Fixed' i r f) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Fixed' i r f -> m (Fixed' i r f) #

Enum f => Enum (Fixed' i r f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

succ :: Fixed' i r f -> Fixed' i r f #

pred :: Fixed' i r f -> Fixed' i r f #

toEnum :: Int -> Fixed' i r f #

fromEnum :: Fixed' i r f -> Int #

enumFrom :: Fixed' i r f -> [Fixed' i r f] #

enumFromThen :: Fixed' i r f -> Fixed' i r f -> [Fixed' i r f] #

enumFromTo :: Fixed' i r f -> Fixed' i r f -> [Fixed' i r f] #

enumFromThenTo :: Fixed' i r f -> Fixed' i r f -> Fixed' i r f -> [Fixed' i r f] #

Generic (Fixed' i r f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Associated Types

type Rep (Fixed' i r f) 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep (Fixed' i r f) = D1 ('MetaData "Fixed'" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "Fixed'" 'PrefixI 'True) (S1 ('MetaSel ('Just "unfixed'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f)))

Methods

from :: Fixed' i r f -> Rep (Fixed' i r f) x #

to :: Rep (Fixed' i r f) x -> Fixed' i r f #

Num f => Num (Fixed' i r f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

(+) :: Fixed' i r f -> Fixed' i r f -> Fixed' i r f #

(-) :: Fixed' i r f -> Fixed' i r f -> Fixed' i r f #

(*) :: Fixed' i r f -> Fixed' i r f -> Fixed' i r f #

negate :: Fixed' i r f -> Fixed' i r f #

abs :: Fixed' i r f -> Fixed' i r f #

signum :: Fixed' i r f -> Fixed' i r f #

fromInteger :: Integer -> Fixed' i r f #

Read f => Read (Fixed' i r f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

readsPrec :: Int -> ReadS (Fixed' i r f) #

readList :: ReadS [Fixed' i r f] #

readPrec :: ReadPrec (Fixed' i r f) #

readListPrec :: ReadPrec [Fixed' i r f] #

Fractional f => Fractional (Fixed' i r f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

(/) :: Fixed' i r f -> Fixed' i r f -> Fixed' i r f #

recip :: Fixed' i r f -> Fixed' i r f #

fromRational :: Rational -> Fixed' i r f #

Real f => Real (Fixed' i r f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

toRational :: Fixed' i r f -> Rational #

RealFrac f => RealFrac (Fixed' i r f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

properFraction :: Integral b => Fixed' i r f -> (b, Fixed' i r f) #

truncate :: Integral b => Fixed' i r f -> b #

round :: Integral b => Fixed' i r f -> b #

ceiling :: Integral b => Fixed' i r f -> b #

floor :: Integral b => Fixed' i r f -> b #

Show f => Show (Fixed' i r f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

showsPrec :: Int -> Fixed' i r f -> ShowS #

show :: Fixed' i r f -> String #

showList :: [Fixed' i r f] -> ShowS #

NFData f => NFData (Fixed' i r f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

rnf :: Fixed' i r f -> () #

Eq f => Eq (Fixed' i r f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

(==) :: Fixed' i r f -> Fixed' i r f -> Bool #

(/=) :: Fixed' i r f -> Fixed' i r f -> Bool #

Ord f => Ord (Fixed' i r f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

compare :: Fixed' i r f -> Fixed' i r f -> Ordering #

(<) :: Fixed' i r f -> Fixed' i r f -> Bool #

(<=) :: Fixed' i r f -> Fixed' i r f -> Bool #

(>) :: Fixed' i r f -> Fixed' i r f -> Bool #

(>=) :: Fixed' i r f -> Fixed' i r f -> Bool #

max :: Fixed' i r f -> Fixed' i r f -> Fixed' i r f #

min :: Fixed' i r f -> Fixed' i r f -> Fixed' i r f #

Hashable f => Hashable (Fixed' i r f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

hashWithSalt :: Int -> Fixed' i r f -> Int

hash :: Fixed' i r f -> Int

(Integral i, Pack i, Real f, HasResolution r) => Pack (Fixed' i r f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

pack :: Fixed' i r f -> Builder Source #

(Integral i, Unpack i, Fractional f, HasResolution r) => Unpack (Fixed' i r f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

unpack :: forall (st :: ZeroBitType) r0. Parser st r0 (Fixed' i r f) Source #

type Rep (Fixed' i r f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep (Fixed' i r f) = D1 ('MetaData "Fixed'" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "Fixed'" 'PrefixI 'True) (S1 ('MetaSel ('Just "unfixed'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 f)))

newtype Int8Angle Source #

a signed angle; divides the circle into 256 parts

Constructors

Int8Angle 

Fields

Instances

Instances details
Data Int8Angle Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Int8Angle -> c Int8Angle #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Int8Angle #

toConstr :: Int8Angle -> Constr #

dataTypeOf :: Int8Angle -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Int8Angle) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Int8Angle) #

gmapT :: (forall b. Data b => b -> b) -> Int8Angle -> Int8Angle #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Int8Angle -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Int8Angle -> r #

gmapQ :: (forall d. Data d => d -> u) -> Int8Angle -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Int8Angle -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Int8Angle -> m Int8Angle #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Int8Angle -> m Int8Angle #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Int8Angle -> m Int8Angle #

Enum Int8Angle Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Generic Int8Angle Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Associated Types

type Rep Int8Angle 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep Int8Angle = D1 ('MetaData "Int8Angle" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "Int8Angle" 'PrefixI 'True) (S1 ('MetaSel ('Just "int8angle") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int8)))
Num Int8Angle Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Read Int8Angle Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Integral Int8Angle Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Real Int8Angle Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Show Int8Angle Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

NFData Int8Angle Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

rnf :: Int8Angle -> () #

Eq Int8Angle Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Ord Int8Angle Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Hashable Int8Angle Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Pack Int8Angle Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Unpack Int8Angle Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Int8Angle Source #

Lift Int8Angle Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

lift :: Quote m => Int8Angle -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Int8Angle -> Code m Int8Angle #

type Rep Int8Angle Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep Int8Angle = D1 ('MetaData "Int8Angle" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "Int8Angle" 'PrefixI 'True) (S1 ('MetaSel ('Just "int8angle") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int8)))

newtype Identifier Source #

an "identifier" string, used for names, tags, etc.

example: minecraft:stone or stone/stone

validation only happens when unpacking (unpack)

Constructors

Identifier 

Fields

Instances

Instances details
Data Identifier Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Identifier -> c Identifier #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Identifier #

toConstr :: Identifier -> Constr #

dataTypeOf :: Identifier -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Identifier) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Identifier) #

gmapT :: (forall b. Data b => b -> b) -> Identifier -> Identifier #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Identifier -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Identifier -> r #

gmapQ :: (forall d. Data d => d -> u) -> Identifier -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Identifier -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Identifier -> m Identifier #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Identifier -> m Identifier #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Identifier -> m Identifier #

IsString Identifier Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Monoid Identifier Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Semigroup Identifier Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Generic Identifier Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Associated Types

type Rep Identifier 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep Identifier = D1 ('MetaData "Identifier" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "Identifier" 'PrefixI 'True) (S1 ('MetaSel ('Just "identifier") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Read Identifier Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Show Identifier Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

NFData Identifier Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

rnf :: Identifier -> () #

Eq Identifier Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Ord Identifier Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Hashable Identifier Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Pack Identifier Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Unpack Identifier Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Identifier Source #

Lift Identifier Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

lift :: Quote m => Identifier -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Identifier -> Code m Identifier #

type Rep Identifier Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep Identifier = D1 ('MetaData "Identifier" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "Identifier" 'PrefixI 'True) (S1 ('MetaSel ('Just "identifier") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

newtype IDorX a Source #

unresolved value; either an ID or an inline value

Constructors

IDorX 

Fields

Instances

Instances details
Foldable IDorX Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

fold :: Monoid m => IDorX m -> m #

foldMap :: Monoid m => (a -> m) -> IDorX a -> m #

foldMap' :: Monoid m => (a -> m) -> IDorX a -> m #

foldr :: (a -> b -> b) -> b -> IDorX a -> b #

foldr' :: (a -> b -> b) -> b -> IDorX a -> b #

foldl :: (b -> a -> b) -> b -> IDorX a -> b #

foldl' :: (b -> a -> b) -> b -> IDorX a -> b #

foldr1 :: (a -> a -> a) -> IDorX a -> a #

foldl1 :: (a -> a -> a) -> IDorX a -> a #

toList :: IDorX a -> [a] #

null :: IDorX a -> Bool #

length :: IDorX a -> Int #

elem :: Eq a => a -> IDorX a -> Bool #

maximum :: Ord a => IDorX a -> a #

minimum :: Ord a => IDorX a -> a #

sum :: Num a => IDorX a -> a #

product :: Num a => IDorX a -> a #

Applicative IDorX Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

pure :: a -> IDorX a #

(<*>) :: IDorX (a -> b) -> IDorX a -> IDorX b #

liftA2 :: (a -> b -> c) -> IDorX a -> IDorX b -> IDorX c #

(*>) :: IDorX a -> IDorX b -> IDorX b #

(<*) :: IDorX a -> IDorX b -> IDorX a #

Functor IDorX Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

fmap :: (a -> b) -> IDorX a -> IDorX b #

(<$) :: a -> IDorX b -> IDorX a #

Monad IDorX Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

(>>=) :: IDorX a -> (a -> IDorX b) -> IDorX b #

(>>) :: IDorX a -> IDorX b -> IDorX b #

return :: a -> IDorX a #

Lift a => Lift (IDorX a :: Type) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

lift :: Quote m => IDorX a -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => IDorX a -> Code m (IDorX a) #

Data a => Data (IDorX a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IDorX a -> c (IDorX a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (IDorX a) #

toConstr :: IDorX a -> Constr #

dataTypeOf :: IDorX a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (IDorX a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (IDorX a)) #

gmapT :: (forall b. Data b => b -> b) -> IDorX a -> IDorX a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IDorX a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IDorX a -> r #

gmapQ :: (forall d. Data d => d -> u) -> IDorX a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> IDorX a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> IDorX a -> m (IDorX a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IDorX a -> m (IDorX a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IDorX a -> m (IDorX a) #

Semigroup (IDorX a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

(<>) :: IDorX a -> IDorX a -> IDorX a #

sconcat :: NonEmpty (IDorX a) -> IDorX a #

stimes :: Integral b => b -> IDorX a -> IDorX a #

Generic (IDorX a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Associated Types

type Rep (IDorX a) 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep (IDorX a) = D1 ('MetaData "IDorX" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "IDorX" 'PrefixI 'True) (S1 ('MetaSel ('Just "idorvalue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Either Int32 a))))

Methods

from :: IDorX a -> Rep (IDorX a) x #

to :: Rep (IDorX a) x -> IDorX a #

Read a => Read (IDorX a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Show a => Show (IDorX a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

showsPrec :: Int -> IDorX a -> ShowS #

show :: IDorX a -> String #

showList :: [IDorX a] -> ShowS #

NFData a => NFData (IDorX a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

rnf :: IDorX a -> () #

Eq a => Eq (IDorX a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

(==) :: IDorX a -> IDorX a -> Bool #

(/=) :: IDorX a -> IDorX a -> Bool #

Ord a => Ord (IDorX a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

compare :: IDorX a -> IDorX a -> Ordering #

(<) :: IDorX a -> IDorX a -> Bool #

(<=) :: IDorX a -> IDorX a -> Bool #

(>) :: IDorX a -> IDorX a -> Bool #

(>=) :: IDorX a -> IDorX a -> Bool #

max :: IDorX a -> IDorX a -> IDorX a #

min :: IDorX a -> IDorX a -> IDorX a #

Hashable a => Hashable (IDorX a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

hashWithSalt :: Int -> IDorX a -> Int

hash :: IDorX a -> Int

Pack a => Pack (IDorX a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

pack :: IDorX a -> Builder Source #

Unpack a => Unpack (IDorX a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (IDorX a) Source #

type Rep (IDorX a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep (IDorX a) = D1 ('MetaData "IDorX" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "IDorX" 'PrefixI 'True) (S1 ('MetaSel ('Just "idorvalue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Either Int32 a))))

newtype IDSet Source #

potentially unresolved ID set; either an identifier for its location or + an inline set of IDs

Constructors

IDSet 

Fields

Instances

Instances details
Data IDSet Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IDSet -> c IDSet #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c IDSet #

toConstr :: IDSet -> Constr #

dataTypeOf :: IDSet -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c IDSet) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IDSet) #

gmapT :: (forall b. Data b => b -> b) -> IDSet -> IDSet #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IDSet -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IDSet -> r #

gmapQ :: (forall d. Data d => d -> u) -> IDSet -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> IDSet -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> IDSet -> m IDSet #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IDSet -> m IDSet #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IDSet -> m IDSet #

Semigroup IDSet Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

(<>) :: IDSet -> IDSet -> IDSet #

sconcat :: NonEmpty IDSet -> IDSet #

stimes :: Integral b => b -> IDSet -> IDSet #

Generic IDSet Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Associated Types

type Rep IDSet 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep IDSet = D1 ('MetaData "IDSet" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "IDSet" 'PrefixI 'True) (S1 ('MetaSel ('Just "setnameorids") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Either Text (Vector Int32)))))

Methods

from :: IDSet -> Rep IDSet x #

to :: Rep IDSet x -> IDSet #

Read IDSet Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Show IDSet Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

showsPrec :: Int -> IDSet -> ShowS #

show :: IDSet -> String #

showList :: [IDSet] -> ShowS #

NFData IDSet Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

rnf :: IDSet -> () #

Eq IDSet Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

(==) :: IDSet -> IDSet -> Bool #

(/=) :: IDSet -> IDSet -> Bool #

Ord IDSet Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

compare :: IDSet -> IDSet -> Ordering #

(<) :: IDSet -> IDSet -> Bool #

(<=) :: IDSet -> IDSet -> Bool #

(>) :: IDSet -> IDSet -> Bool #

(>=) :: IDSet -> IDSet -> Bool #

max :: IDSet -> IDSet -> IDSet #

min :: IDSet -> IDSet -> IDSet #

Pack IDSet Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

pack :: IDSet -> Builder Source #

Unpack IDSet Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r IDSet Source #

type Rep IDSet Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep IDSet = D1 ('MetaData "IDSet" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "IDSet" 'PrefixI 'True) (S1 ('MetaSel ('Just "setnameorids") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Either Text (Vector Int32)))))

newtype TakeRest Source #

a newtype wrapper over ByteString; not length-prefixed

Constructors

TakeRest 

Instances

Instances details
Data TakeRest Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TakeRest -> c TakeRest #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TakeRest #

toConstr :: TakeRest -> Constr #

dataTypeOf :: TakeRest -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TakeRest) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TakeRest) #

gmapT :: (forall b. Data b => b -> b) -> TakeRest -> TakeRest #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TakeRest -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TakeRest -> r #

gmapQ :: (forall d. Data d => d -> u) -> TakeRest -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TakeRest -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TakeRest -> m TakeRest #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TakeRest -> m TakeRest #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TakeRest -> m TakeRest #

Monoid TakeRest Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Semigroup TakeRest Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Generic TakeRest Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Associated Types

type Rep TakeRest 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep TakeRest = D1 ('MetaData "TakeRest" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "TakeRest" 'PrefixI 'True) (S1 ('MetaSel ('Just "gettakerest") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

Methods

from :: TakeRest -> Rep TakeRest x #

to :: Rep TakeRest x -> TakeRest #

Read TakeRest Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Show TakeRest Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

NFData TakeRest Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

rnf :: TakeRest -> () #

Eq TakeRest Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Ord TakeRest Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Hashable TakeRest Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Pack TakeRest Source #

TakeRest is serialized as-is

Instance details

Defined in M.Pack.Internal.Newtypes

Unpack TakeRest Source #

TakeRest is deserialized as-is and reads the rest of the input

Instance details

Defined in M.Pack.Internal.Newtypes

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r TakeRest Source #

Lift TakeRest Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

lift :: Quote m => TakeRest -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => TakeRest -> Code m TakeRest #

type Rep TakeRest Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep TakeRest = D1 ('MetaData "TakeRest" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "TakeRest" 'PrefixI 'True) (S1 ('MetaSel ('Just "gettakerest") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

newtype PackFoldableVI (f :: k -> Type) (a :: k) Source #

General Pack instance provider for Foldables

length-prefixed (VarInt), strict left fold

Constructors

PackFoldableVI 

Fields

Instances

Instances details
Generic1 (PackFoldableVI f :: k -> Type) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Associated Types

type Rep1 (PackFoldableVI f :: k -> Type) 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep1 (PackFoldableVI f :: k -> Type) = D1 ('MetaData "PackFoldableVI" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "PackFoldableVI" 'PrefixI 'True) (S1 ('MetaSel ('Just "getpackfoldablevi") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))

Methods

from1 :: forall (a :: k). PackFoldableVI f a -> Rep1 (PackFoldableVI f) a #

to1 :: forall (a :: k). Rep1 (PackFoldableVI f) a -> PackFoldableVI f a #

Lift (f a) => Lift (PackFoldableVI f a :: Type) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

lift :: Quote m => PackFoldableVI f a -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => PackFoldableVI f a -> Code m (PackFoldableVI f a) #

Foldable f => Foldable (PackFoldableVI f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

fold :: Monoid m => PackFoldableVI f m -> m #

foldMap :: Monoid m => (a -> m) -> PackFoldableVI f a -> m #

foldMap' :: Monoid m => (a -> m) -> PackFoldableVI f a -> m #

foldr :: (a -> b -> b) -> b -> PackFoldableVI f a -> b #

foldr' :: (a -> b -> b) -> b -> PackFoldableVI f a -> b #

foldl :: (b -> a -> b) -> b -> PackFoldableVI f a -> b #

foldl' :: (b -> a -> b) -> b -> PackFoldableVI f a -> b #

foldr1 :: (a -> a -> a) -> PackFoldableVI f a -> a #

foldl1 :: (a -> a -> a) -> PackFoldableVI f a -> a #

toList :: PackFoldableVI f a -> [a] #

null :: PackFoldableVI f a -> Bool #

length :: PackFoldableVI f a -> Int #

elem :: Eq a => a -> PackFoldableVI f a -> Bool #

maximum :: Ord a => PackFoldableVI f a -> a #

minimum :: Ord a => PackFoldableVI f a -> a #

sum :: Num a => PackFoldableVI f a -> a #

product :: Num a => PackFoldableVI f a -> a #

Foldable1 f => Foldable1 (PackFoldableVI f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

fold1 :: Semigroup m => PackFoldableVI f m -> m #

foldMap1 :: Semigroup m => (a -> m) -> PackFoldableVI f a -> m #

foldMap1' :: Semigroup m => (a -> m) -> PackFoldableVI f a -> m #

toNonEmpty :: PackFoldableVI f a -> NonEmpty a #

maximum :: Ord a => PackFoldableVI f a -> a #

minimum :: Ord a => PackFoldableVI f a -> a #

head :: PackFoldableVI f a -> a #

last :: PackFoldableVI f a -> a #

foldrMap1 :: (a -> b) -> (a -> b -> b) -> PackFoldableVI f a -> b #

foldlMap1' :: (a -> b) -> (b -> a -> b) -> PackFoldableVI f a -> b #

foldlMap1 :: (a -> b) -> (b -> a -> b) -> PackFoldableVI f a -> b #

foldrMap1' :: (a -> b) -> (a -> b -> b) -> PackFoldableVI f a -> b #

Eq1 f => Eq1 (PackFoldableVI f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

liftEq :: (a -> b -> Bool) -> PackFoldableVI f a -> PackFoldableVI f b -> Bool #

Ord1 f => Ord1 (PackFoldableVI f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

liftCompare :: (a -> b -> Ordering) -> PackFoldableVI f a -> PackFoldableVI f b -> Ordering #

Read1 f => Read1 (PackFoldableVI f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Show1 f => Show1 (PackFoldableVI f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> PackFoldableVI f a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [PackFoldableVI f a] -> ShowS #

Applicative f => Applicative (PackFoldableVI f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

pure :: a -> PackFoldableVI f a #

(<*>) :: PackFoldableVI f (a -> b) -> PackFoldableVI f a -> PackFoldableVI f b #

liftA2 :: (a -> b -> c) -> PackFoldableVI f a -> PackFoldableVI f b -> PackFoldableVI f c #

(*>) :: PackFoldableVI f a -> PackFoldableVI f b -> PackFoldableVI f b #

(<*) :: PackFoldableVI f a -> PackFoldableVI f b -> PackFoldableVI f a #

Functor f => Functor (PackFoldableVI f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

fmap :: (a -> b) -> PackFoldableVI f a -> PackFoldableVI f b #

(<$) :: a -> PackFoldableVI f b -> PackFoldableVI f a #

Monad f => Monad (PackFoldableVI f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

(>>=) :: PackFoldableVI f a -> (a -> PackFoldableVI f b) -> PackFoldableVI f b #

(>>) :: PackFoldableVI f a -> PackFoldableVI f b -> PackFoldableVI f b #

return :: a -> PackFoldableVI f a #

(Typeable a, Typeable f, Typeable k, Data (f a)) => Data (PackFoldableVI f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PackFoldableVI f a -> c (PackFoldableVI f a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (PackFoldableVI f a) #

toConstr :: PackFoldableVI f a -> Constr #

dataTypeOf :: PackFoldableVI f a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (PackFoldableVI f a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (PackFoldableVI f a)) #

gmapT :: (forall b. Data b => b -> b) -> PackFoldableVI f a -> PackFoldableVI f a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PackFoldableVI f a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PackFoldableVI f a -> r #

gmapQ :: (forall d. Data d => d -> u) -> PackFoldableVI f a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PackFoldableVI f a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PackFoldableVI f a -> m (PackFoldableVI f a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PackFoldableVI f a -> m (PackFoldableVI f a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PackFoldableVI f a -> m (PackFoldableVI f a) #

Monoid (f a) => Monoid (PackFoldableVI f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Semigroup (f a) => Semigroup (PackFoldableVI f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Generic (PackFoldableVI f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Associated Types

type Rep (PackFoldableVI f a) 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep (PackFoldableVI f a) = D1 ('MetaData "PackFoldableVI" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "PackFoldableVI" 'PrefixI 'True) (S1 ('MetaSel ('Just "getpackfoldablevi") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))

Methods

from :: PackFoldableVI f a -> Rep (PackFoldableVI f a) x #

to :: Rep (PackFoldableVI f a) x -> PackFoldableVI f a #

Read (f a) => Read (PackFoldableVI f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Show (f a) => Show (PackFoldableVI f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

NFData (f a) => NFData (PackFoldableVI f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

rnf :: PackFoldableVI f a -> () #

Eq (f a) => Eq (PackFoldableVI f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Ord (f a) => Ord (PackFoldableVI f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Hashable (f a) => Hashable (PackFoldableVI f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

(Pack a, Foldable f) => Pack (PackFoldableVI f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep1 (PackFoldableVI f :: k -> Type) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep1 (PackFoldableVI f :: k -> Type) = D1 ('MetaData "PackFoldableVI" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "PackFoldableVI" 'PrefixI 'True) (S1 ('MetaSel ('Just "getpackfoldablevi") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))
type Rep (PackFoldableVI f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep (PackFoldableVI f a) = D1 ('MetaData "PackFoldableVI" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "PackFoldableVI" 'PrefixI 'True) (S1 ('MetaSel ('Just "getpackfoldablevi") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))

newtype PackFoldable0 (f :: k -> Type) (a :: k) Source #

General Pack instance provider for Foldables

no length prefix, strict left fold

Constructors

PackFoldable0 

Fields

Instances

Instances details
Generic1 (PackFoldable0 f :: k -> Type) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Associated Types

type Rep1 (PackFoldable0 f :: k -> Type) 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep1 (PackFoldable0 f :: k -> Type) = D1 ('MetaData "PackFoldable0" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "PackFoldable0" 'PrefixI 'True) (S1 ('MetaSel ('Just "getpackfoldable0") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))

Methods

from1 :: forall (a :: k). PackFoldable0 f a -> Rep1 (PackFoldable0 f) a #

to1 :: forall (a :: k). Rep1 (PackFoldable0 f) a -> PackFoldable0 f a #

Lift (f a) => Lift (PackFoldable0 f a :: Type) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

lift :: Quote m => PackFoldable0 f a -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => PackFoldable0 f a -> Code m (PackFoldable0 f a) #

Foldable f => Foldable (PackFoldable0 f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

fold :: Monoid m => PackFoldable0 f m -> m #

foldMap :: Monoid m => (a -> m) -> PackFoldable0 f a -> m #

foldMap' :: Monoid m => (a -> m) -> PackFoldable0 f a -> m #

foldr :: (a -> b -> b) -> b -> PackFoldable0 f a -> b #

foldr' :: (a -> b -> b) -> b -> PackFoldable0 f a -> b #

foldl :: (b -> a -> b) -> b -> PackFoldable0 f a -> b #

foldl' :: (b -> a -> b) -> b -> PackFoldable0 f a -> b #

foldr1 :: (a -> a -> a) -> PackFoldable0 f a -> a #

foldl1 :: (a -> a -> a) -> PackFoldable0 f a -> a #

toList :: PackFoldable0 f a -> [a] #

null :: PackFoldable0 f a -> Bool #

length :: PackFoldable0 f a -> Int #

elem :: Eq a => a -> PackFoldable0 f a -> Bool #

maximum :: Ord a => PackFoldable0 f a -> a #

minimum :: Ord a => PackFoldable0 f a -> a #

sum :: Num a => PackFoldable0 f a -> a #

product :: Num a => PackFoldable0 f a -> a #

Foldable1 f => Foldable1 (PackFoldable0 f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

fold1 :: Semigroup m => PackFoldable0 f m -> m #

foldMap1 :: Semigroup m => (a -> m) -> PackFoldable0 f a -> m #

foldMap1' :: Semigroup m => (a -> m) -> PackFoldable0 f a -> m #

toNonEmpty :: PackFoldable0 f a -> NonEmpty a #

maximum :: Ord a => PackFoldable0 f a -> a #

minimum :: Ord a => PackFoldable0 f a -> a #

head :: PackFoldable0 f a -> a #

last :: PackFoldable0 f a -> a #

foldrMap1 :: (a -> b) -> (a -> b -> b) -> PackFoldable0 f a -> b #

foldlMap1' :: (a -> b) -> (b -> a -> b) -> PackFoldable0 f a -> b #

foldlMap1 :: (a -> b) -> (b -> a -> b) -> PackFoldable0 f a -> b #

foldrMap1' :: (a -> b) -> (a -> b -> b) -> PackFoldable0 f a -> b #

Eq1 f => Eq1 (PackFoldable0 f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

liftEq :: (a -> b -> Bool) -> PackFoldable0 f a -> PackFoldable0 f b -> Bool #

Ord1 f => Ord1 (PackFoldable0 f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

liftCompare :: (a -> b -> Ordering) -> PackFoldable0 f a -> PackFoldable0 f b -> Ordering #

Read1 f => Read1 (PackFoldable0 f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Show1 f => Show1 (PackFoldable0 f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> PackFoldable0 f a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [PackFoldable0 f a] -> ShowS #

Applicative f => Applicative (PackFoldable0 f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

pure :: a -> PackFoldable0 f a #

(<*>) :: PackFoldable0 f (a -> b) -> PackFoldable0 f a -> PackFoldable0 f b #

liftA2 :: (a -> b -> c) -> PackFoldable0 f a -> PackFoldable0 f b -> PackFoldable0 f c #

(*>) :: PackFoldable0 f a -> PackFoldable0 f b -> PackFoldable0 f b #

(<*) :: PackFoldable0 f a -> PackFoldable0 f b -> PackFoldable0 f a #

Functor f => Functor (PackFoldable0 f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

fmap :: (a -> b) -> PackFoldable0 f a -> PackFoldable0 f b #

(<$) :: a -> PackFoldable0 f b -> PackFoldable0 f a #

Monad f => Monad (PackFoldable0 f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

(>>=) :: PackFoldable0 f a -> (a -> PackFoldable0 f b) -> PackFoldable0 f b #

(>>) :: PackFoldable0 f a -> PackFoldable0 f b -> PackFoldable0 f b #

return :: a -> PackFoldable0 f a #

(Typeable a, Typeable f, Typeable k, Data (f a)) => Data (PackFoldable0 f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PackFoldable0 f a -> c (PackFoldable0 f a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (PackFoldable0 f a) #

toConstr :: PackFoldable0 f a -> Constr #

dataTypeOf :: PackFoldable0 f a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (PackFoldable0 f a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (PackFoldable0 f a)) #

gmapT :: (forall b. Data b => b -> b) -> PackFoldable0 f a -> PackFoldable0 f a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PackFoldable0 f a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PackFoldable0 f a -> r #

gmapQ :: (forall d. Data d => d -> u) -> PackFoldable0 f a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PackFoldable0 f a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PackFoldable0 f a -> m (PackFoldable0 f a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PackFoldable0 f a -> m (PackFoldable0 f a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PackFoldable0 f a -> m (PackFoldable0 f a) #

Monoid (f a) => Monoid (PackFoldable0 f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Semigroup (f a) => Semigroup (PackFoldable0 f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Generic (PackFoldable0 f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Associated Types

type Rep (PackFoldable0 f a) 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep (PackFoldable0 f a) = D1 ('MetaData "PackFoldable0" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "PackFoldable0" 'PrefixI 'True) (S1 ('MetaSel ('Just "getpackfoldable0") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))

Methods

from :: PackFoldable0 f a -> Rep (PackFoldable0 f a) x #

to :: Rep (PackFoldable0 f a) x -> PackFoldable0 f a #

Read (f a) => Read (PackFoldable0 f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Show (f a) => Show (PackFoldable0 f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

NFData (f a) => NFData (PackFoldable0 f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

rnf :: PackFoldable0 f a -> () #

Eq (f a) => Eq (PackFoldable0 f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

(==) :: PackFoldable0 f a -> PackFoldable0 f a -> Bool #

(/=) :: PackFoldable0 f a -> PackFoldable0 f a -> Bool #

Ord (f a) => Ord (PackFoldable0 f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Hashable (f a) => Hashable (PackFoldable0 f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

hashWithSalt :: Int -> PackFoldable0 f a -> Int

hash :: PackFoldable0 f a -> Int

(Pack a, Foldable f) => Pack (PackFoldable0 f a) Source #
foldMap pack
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

pack :: PackFoldable0 f a -> Builder Source #

type Rep1 (PackFoldable0 f :: k -> Type) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep1 (PackFoldable0 f :: k -> Type) = D1 ('MetaData "PackFoldable0" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "PackFoldable0" 'PrefixI 'True) (S1 ('MetaSel ('Just "getpackfoldable0") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))
type Rep (PackFoldable0 f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep (PackFoldable0 f a) = D1 ('MetaData "PackFoldable0" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "PackFoldable0" 'PrefixI 'True) (S1 ('MetaSel ('Just "getpackfoldable0") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))

newtype UnpackRepresentable0 (f :: k -> Type) (a :: k) Source #

General Unpack instance provider for Representables that are also + Traversable

Constructors

UnpackRepresentable0 

Instances

Instances details
Generic1 (UnpackRepresentable0 f :: k -> Type) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Associated Types

type Rep1 (UnpackRepresentable0 f :: k -> Type) 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep1 (UnpackRepresentable0 f :: k -> Type) = D1 ('MetaData "UnpackRepresentable0" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "UnpackRepresentable0" 'PrefixI 'True) (S1 ('MetaSel ('Just "getunpackrepresentable0") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))

Methods

from1 :: forall (a :: k). UnpackRepresentable0 f a -> Rep1 (UnpackRepresentable0 f) a #

to1 :: forall (a :: k). Rep1 (UnpackRepresentable0 f) a -> UnpackRepresentable0 f a #

Lift (f a) => Lift (UnpackRepresentable0 f a :: Type) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

lift :: Quote m => UnpackRepresentable0 f a -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => UnpackRepresentable0 f a -> Code m (UnpackRepresentable0 f a) #

Foldable f => Foldable (UnpackRepresentable0 f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

fold :: Monoid m => UnpackRepresentable0 f m -> m #

foldMap :: Monoid m => (a -> m) -> UnpackRepresentable0 f a -> m #

foldMap' :: Monoid m => (a -> m) -> UnpackRepresentable0 f a -> m #

foldr :: (a -> b -> b) -> b -> UnpackRepresentable0 f a -> b #

foldr' :: (a -> b -> b) -> b -> UnpackRepresentable0 f a -> b #

foldl :: (b -> a -> b) -> b -> UnpackRepresentable0 f a -> b #

foldl' :: (b -> a -> b) -> b -> UnpackRepresentable0 f a -> b #

foldr1 :: (a -> a -> a) -> UnpackRepresentable0 f a -> a #

foldl1 :: (a -> a -> a) -> UnpackRepresentable0 f a -> a #

toList :: UnpackRepresentable0 f a -> [a] #

null :: UnpackRepresentable0 f a -> Bool #

length :: UnpackRepresentable0 f a -> Int #

elem :: Eq a => a -> UnpackRepresentable0 f a -> Bool #

maximum :: Ord a => UnpackRepresentable0 f a -> a #

minimum :: Ord a => UnpackRepresentable0 f a -> a #

sum :: Num a => UnpackRepresentable0 f a -> a #

product :: Num a => UnpackRepresentable0 f a -> a #

Foldable1 f => Foldable1 (UnpackRepresentable0 f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

fold1 :: Semigroup m => UnpackRepresentable0 f m -> m #

foldMap1 :: Semigroup m => (a -> m) -> UnpackRepresentable0 f a -> m #

foldMap1' :: Semigroup m => (a -> m) -> UnpackRepresentable0 f a -> m #

toNonEmpty :: UnpackRepresentable0 f a -> NonEmpty a #

maximum :: Ord a => UnpackRepresentable0 f a -> a #

minimum :: Ord a => UnpackRepresentable0 f a -> a #

head :: UnpackRepresentable0 f a -> a #

last :: UnpackRepresentable0 f a -> a #

foldrMap1 :: (a -> b) -> (a -> b -> b) -> UnpackRepresentable0 f a -> b #

foldlMap1' :: (a -> b) -> (b -> a -> b) -> UnpackRepresentable0 f a -> b #

foldlMap1 :: (a -> b) -> (b -> a -> b) -> UnpackRepresentable0 f a -> b #

foldrMap1' :: (a -> b) -> (a -> b -> b) -> UnpackRepresentable0 f a -> b #

Eq1 f => Eq1 (UnpackRepresentable0 f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

liftEq :: (a -> b -> Bool) -> UnpackRepresentable0 f a -> UnpackRepresentable0 f b -> Bool #

Ord1 f => Ord1 (UnpackRepresentable0 f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Read1 f => Read1 (UnpackRepresentable0 f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Show1 f => Show1 (UnpackRepresentable0 f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> UnpackRepresentable0 f a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [UnpackRepresentable0 f a] -> ShowS #

Applicative f => Applicative (UnpackRepresentable0 f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Functor f => Functor (UnpackRepresentable0 f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Monad f => Monad (UnpackRepresentable0 f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

(Typeable a, Typeable f, Typeable k, Data (f a)) => Data (UnpackRepresentable0 f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UnpackRepresentable0 f a -> c (UnpackRepresentable0 f a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (UnpackRepresentable0 f a) #

toConstr :: UnpackRepresentable0 f a -> Constr #

dataTypeOf :: UnpackRepresentable0 f a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (UnpackRepresentable0 f a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (UnpackRepresentable0 f a)) #

gmapT :: (forall b. Data b => b -> b) -> UnpackRepresentable0 f a -> UnpackRepresentable0 f a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UnpackRepresentable0 f a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UnpackRepresentable0 f a -> r #

gmapQ :: (forall d. Data d => d -> u) -> UnpackRepresentable0 f a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> UnpackRepresentable0 f a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UnpackRepresentable0 f a -> m (UnpackRepresentable0 f a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UnpackRepresentable0 f a -> m (UnpackRepresentable0 f a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UnpackRepresentable0 f a -> m (UnpackRepresentable0 f a) #

Monoid (f a) => Monoid (UnpackRepresentable0 f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Semigroup (f a) => Semigroup (UnpackRepresentable0 f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Generic (UnpackRepresentable0 f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Associated Types

type Rep (UnpackRepresentable0 f a) 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep (UnpackRepresentable0 f a) = D1 ('MetaData "UnpackRepresentable0" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "UnpackRepresentable0" 'PrefixI 'True) (S1 ('MetaSel ('Just "getunpackrepresentable0") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))
Read (f a) => Read (UnpackRepresentable0 f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Show (f a) => Show (UnpackRepresentable0 f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

NFData (f a) => NFData (UnpackRepresentable0 f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

rnf :: UnpackRepresentable0 f a -> () #

Eq (f a) => Eq (UnpackRepresentable0 f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Ord (f a) => Ord (UnpackRepresentable0 f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Hashable (f a) => Hashable (UnpackRepresentable0 f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

(Unpack a, Representable f, Traversable f) => Unpack (UnpackRepresentable0 f a) Source #
sequenceA (tabulate (const unpack))
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (UnpackRepresentable0 f a) Source #

type Rep1 (UnpackRepresentable0 f :: k -> Type) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep1 (UnpackRepresentable0 f :: k -> Type) = D1 ('MetaData "UnpackRepresentable0" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "UnpackRepresentable0" 'PrefixI 'True) (S1 ('MetaSel ('Just "getunpackrepresentable0") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))
type Rep (UnpackRepresentable0 f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

type Rep (UnpackRepresentable0 f a) = D1 ('MetaData "UnpackRepresentable0" "M.Pack.Internal.Newtypes" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "UnpackRepresentable0" 'PrefixI 'True) (S1 ('MetaSel ('Just "getunpackrepresentable0") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))

degtoi8angle :: RealFrac a => a -> Int8Angle Source #

convert degrees to Int8Angle

i8angledeg :: RealFrac a => Int8Angle -> a Source #

convert Int8Angle to degrees

\ No newline at end of file diff --git a/M-Pack-Internal-Num.html b/M-Pack-Internal-Num.html new file mode 100644 index 0000000..1386741 --- /dev/null +++ b/M-Pack-Internal-Num.html @@ -0,0 +1,2 @@ +M.Pack.Internal.Num
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.Pack.Internal.Num

Description

Implements Pack and Unpack instances for numeric types and Bool, + including integral types, floating point numbers, and LEB128 encoding.

Synopsis

Documentation

packleb32 :: Integral a => a -> Builder Source #

pack as an LEB128-encoded Int32

unpackleb32 :: forall a (st :: ZeroBitType) r. Integral a => Parser st r a Source #

unpack from an LEB128-encoded Int32

packfi :: (Integral a, Pack a, Integral b) => b -> Builder Source #

pack b in the format of a

unpackfi :: forall a b (st :: ZeroBitType) r. (Integral a, Unpack a, Integral b) => Parser st r b Source #

unpack b from a number in the format of a

guardnat :: forall a (st :: ZeroBitType) r. (Num a, Ord a, Show a) => String -> a -> Parser st r a Source #

ensure the number is non-negative

Orphan instances

Pack Int16 Source # 
Instance details

Methods

pack :: Int16 -> Builder Source #

Pack Int32 Source # 
Instance details

Methods

pack :: Int32 -> Builder Source #

Pack Int64 Source # 
Instance details

Methods

pack :: Int64 -> Builder Source #

Pack Int8 Source # 
Instance details

Methods

pack :: Int8 -> Builder Source #

Pack Word16 Source # 
Instance details

Methods

pack :: Word16 -> Builder Source #

Pack Word32 Source # 
Instance details

Methods

pack :: Word32 -> Builder Source #

Pack Word64 Source # 
Instance details

Methods

pack :: Word64 -> Builder Source #

Pack Word8 Source # 
Instance details

Methods

pack :: Word8 -> Builder Source #

Pack Bool Source # 
Instance details

Methods

pack :: Bool -> Builder Source #

Pack Double Source # 
Instance details

Methods

pack :: Double -> Builder Source #

Pack Float Source # 
Instance details

Methods

pack :: Float -> Builder Source #

Unpack Int16 Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Int16 Source #

Unpack Int32 Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Int32 Source #

Unpack Int64 Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Int64 Source #

Unpack Int8 Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Int8 Source #

Unpack Word16 Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Word16 Source #

Unpack Word32 Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Word32 Source #

Unpack Word64 Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Word64 Source #

Unpack Word8 Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Word8 Source #

Unpack Bool Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Bool Source #

Unpack Double Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Double Source #

Unpack Float Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Float Source #

(FiniteBits a, Integral a) => Pack (LEB a) Source # 
Instance details

Methods

pack :: LEB a -> Builder Source #

(FiniteBits a, Num a) => Unpack (LEB a) Source # 
Instance details

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (LEB a) Source #

\ No newline at end of file diff --git a/M-Pack-Internal-TH.html b/M-Pack-Internal-TH.html new file mode 100644 index 0000000..5a39962 --- /dev/null +++ b/M-Pack-Internal-TH.html @@ -0,0 +1,2 @@ +M.Pack.Internal.TH
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.Pack.Internal.TH

Description

Provides Template Haskell machinery for automatically deriving Pack and + Unpack instances, including support for shadowing and proper derivation.

Synopsis

Documentation

borrowderivepackunpack :: RunUserCoercion -> Q [Dec] Source #

shadow-derive Pack and Unpack instances for a type

borrowderivenothing :: RunUserCoercion -> Q [Dec] Source #

literally do nothing

\ No newline at end of file diff --git a/M-Pack-Internal-Types.html b/M-Pack-Internal-Types.html new file mode 100644 index 0000000..a4e3257 --- /dev/null +++ b/M-Pack-Internal-Types.html @@ -0,0 +1,2 @@ +M.Pack.Internal.Types
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.Pack.Internal.Types

Description

Defines the core type system for binary serialization and deserialization, + including Pack and Unpack typeclasses and related utilities.

Synopsis

Documentation

class Pack a where Source #

produce a Builder from a value

Minimal complete definition

Nothing

Methods

pack :: a -> Builder Source #

produce a Builder from a value

default pack :: (Generic a, GPack (Rep a)) => a -> Builder Source #

Instances

Instances details
Pack Void Source # 
Instance details

Defined in M.Pack.Internal.Types

Methods

pack :: Void -> Builder Source #

Pack Int16 Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

pack :: Int16 -> Builder Source #

Pack Int32 Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

pack :: Int32 -> Builder Source #

Pack Int64 Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

pack :: Int64 -> Builder Source #

Pack Int8 Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

pack :: Int8 -> Builder Source #

Pack Word16 Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

pack :: Word16 -> Builder Source #

Pack Word32 Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

pack :: Word32 -> Builder Source #

Pack Word64 Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

pack :: Word64 -> Builder Source #

Pack Word8 Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

pack :: Word8 -> Builder Source #

Pack ByteString Source # 
Instance details

Defined in M.Pack.Internal.Etc

Pack BlockEntity Source # 
Instance details

Defined in M.Chunk.Net

Pack ChunkData Source # 
Instance details

Defined in M.Chunk.Net

Pack LightData Source # 
Instance details

Defined in M.Chunk.Net

Pack SoundEvent Source # 
Instance details

Defined in M.Misc

Pack JS Source # 
Instance details

Defined in M.NBT.Internal.JS

Methods

pack :: JS -> Builder Source #

Pack NamedPair Source # 
Instance details

Defined in M.NBT.Internal.P

Pack Tg Source # 
Instance details

Defined in M.NBT.Internal.P

Methods

pack :: Tg -> Builder Source #

Pack Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

pack :: Ty -> Builder Source #

Pack Bitset Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

pack :: Bitset -> Builder Source #

Pack IDSet Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

pack :: IDSet -> Builder Source #

Pack Identifier Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Pack Int8Angle Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Pack TakeRest Source #

TakeRest is serialized as-is

Instance details

Defined in M.Pack.Internal.Newtypes

Pack SomePack Source # 
Instance details

Defined in M.Pack.Internal.Types

Pack Position Source # 
Instance details

Defined in M.Position

Pack BossBarAction Source # 
Instance details

Defined in M.TODO

Pack CommandNode Source # 
Instance details

Defined in M.TODO

Pack MapIcon Source # 
Instance details

Defined in M.TODO

Methods

pack :: MapIcon -> Builder Source #

Pack MerchantOffer Source # 
Instance details

Defined in M.TODO

Pack ParticleData Source # 
Instance details

Defined in M.TODO

Pack Slot Source # 
Instance details

Defined in M.TODO

Methods

pack :: Slot -> Builder Source #

Pack TextComponent Source # 
Instance details

Defined in M.TODO

Pack AcknowledgeFinishConfiguration Source # 
Instance details

Defined in M.V769.C

Pack ClientInformationConfiguration Source # 
Instance details

Defined in M.V769.C

Pack ClientInformationConfiguration__ Source # 
Instance details

Defined in M.V769.C

Pack CookieRequest Source # 
Instance details

Defined in M.V769.C

Pack CookieResponse Source # 
Instance details

Defined in M.V769.C

Pack CustomReportDetails Source # 
Instance details

Defined in M.V769.C

Pack CustomReportDetails__ Source # 
Instance details

Defined in M.V769.C

Pack Disconnect Source # 
Instance details

Defined in M.V769.C

Pack FeatureFlags Source # 
Instance details

Defined in M.V769.C

Pack FeatureFlags__ Source # 
Instance details

Defined in M.V769.C

Pack FinishConfiguration Source # 
Instance details

Defined in M.V769.C

Pack KnownPacks Source # 
Instance details

Defined in M.V769.C

Pack KnownPacks__ Source # 
Instance details

Defined in M.V769.C

Pack Pong Source # 
Instance details

Defined in M.V769.C

Methods

pack :: Pong -> Builder Source #

Pack RegistryData Source # 
Instance details

Defined in M.V769.C

Pack RemoveResourcePack Source # 
Instance details

Defined in M.V769.C

Pack ResetChat Source # 
Instance details

Defined in M.V769.C

Pack ResourcePackResponse Source # 
Instance details

Defined in M.V769.C

Pack ServerLinks Source # 
Instance details

Defined in M.V769.C

Pack ServerLinks__ Source # 
Instance details

Defined in M.V769.C

Pack StoreCookie Source # 
Instance details

Defined in M.V769.C

Pack Transfer Source # 
Instance details

Defined in M.V769.C

Pack UpdateTags Source # 
Instance details

Defined in M.V769.C

Pack UpdateTags__ Source # 
Instance details

Defined in M.V769.C

Pack HandshakePacket Source # 
Instance details

Defined in M.V769.H

Pack HandshakePacket__ Source # 
Instance details

Defined in M.V769.H

Pack DisplayedSkinParts Source # 
Instance details

Defined in M.V769.I

Pack KeepAlive Source # 
Instance details

Defined in M.V769.I

Pack Ping Source # 
Instance details

Defined in M.V769.I

Methods

pack :: Ping -> Builder Source #

Pack PluginMessage Source # 
Instance details

Defined in M.V769.I

Pack ResourcePack Source # 
Instance details

Defined in M.V769.I

Pack EncryptionRequest Source # 
Instance details

Defined in M.V769.L

Pack EncryptionResponse Source # 
Instance details

Defined in M.V769.L

Pack LoginAcknowledged Source # 
Instance details

Defined in M.V769.L

Pack LoginDisconnect Source # 
Instance details

Defined in M.V769.L

Pack LoginPluginRequest Source # 
Instance details

Defined in M.V769.L

Pack LoginPluginRequest__ Source # 
Instance details

Defined in M.V769.L

Pack LoginPluginResponse Source # 
Instance details

Defined in M.V769.L

Pack LoginPluginResponse__ Source # 
Instance details

Defined in M.V769.L

Pack LoginStart Source # 
Instance details

Defined in M.V769.L

Pack LoginSuccess Source # 
Instance details

Defined in M.V769.L

Pack LoginSuccess_Property Source # 
Instance details

Defined in M.V769.L

Pack AcknowledgeBlockChange Source # 
Instance details

Defined in M.V769.P

Pack AcknowledgeBlockChange__ Source # 
Instance details

Defined in M.V769.P

Pack AcknowledgeConfiguration Source # 
Instance details

Defined in M.V769.P

Pack AcknowledgeMessage Source # 
Instance details

Defined in M.V769.P

Pack AddResourcePack Source # 
Instance details

Defined in M.V769.P

Pack AwardStatistics Source # 
Instance details

Defined in M.V769.P

Pack AwardStatistics_Entry Source # 
Instance details

Defined in M.V769.P

Pack AwardStatistics_Entry__ Source # 
Instance details

Defined in M.V769.P

Pack BlockAction Source # 
Instance details

Defined in M.V769.P

Pack BlockAction__ Source # 
Instance details

Defined in M.V769.P

Pack BlockEntityData Source # 
Instance details

Defined in M.V769.P

Pack BlockEntityData__ Source # 
Instance details

Defined in M.V769.P

Pack BlockUpdate Source # 
Instance details

Defined in M.V769.P

Pack BlockUpdate__ Source # 
Instance details

Defined in M.V769.P

Pack BossBar Source # 
Instance details

Defined in M.V769.P

Methods

pack :: BossBar -> Builder Source #

Pack BundleDelimiter Source # 
Instance details

Defined in M.V769.P

Pack BundleItemSelected Source # 
Instance details

Defined in M.V769.P

Pack BundleItemSelected__ Source # 
Instance details

Defined in M.V769.P

Pack ChangeContainerSlotState Source # 
Instance details

Defined in M.V769.P

Pack ChangeDifficulty Source # 
Instance details

Defined in M.V769.P

Pack ChangeRecipeBookSettings Source # 
Instance details

Defined in M.V769.P

Pack ChangeRecipeBookSettings__ Source # 
Instance details

Defined in M.V769.P

Pack ChatMessage Source # 
Instance details

Defined in M.V769.P

Pack ChatSuggestions Source # 
Instance details

Defined in M.V769.P

Pack ChatSuggestions__ Source # 
Instance details

Defined in M.V769.P

Pack ChunkBatchFinished Source # 
Instance details

Defined in M.V769.P

Pack ChunkBatchFinished__ Source # 
Instance details

Defined in M.V769.P

Pack ChunkBatchReceived Source # 
Instance details

Defined in M.V769.P

Pack ChunkBatchStarted Source # 
Instance details

Defined in M.V769.P

Pack ChunkBiomes Source # 
Instance details

Defined in M.V769.P

Pack ChunkDataAndUpdateLight Source # 
Instance details

Defined in M.V769.P

Pack ClearTitles Source # 
Instance details

Defined in M.V769.P

Pack ClickContainer Source # 
Instance details

Defined in M.V769.P

Pack ClickContainerButton Source # 
Instance details

Defined in M.V769.P

Pack ClickContainer__ Source # 
Instance details

Defined in M.V769.P

Pack ClientInformationPlay Source # 
Instance details

Defined in M.V769.P

Pack ClientInformationPlay__ Source # 
Instance details

Defined in M.V769.P

Pack ClientStatus Source # 
Instance details

Defined in M.V769.P

Pack ClientStatus__ Source # 
Instance details

Defined in M.V769.P

Pack ClientTickEnd Source # 
Instance details

Defined in M.V769.P

Pack ClientboundPlayerAbilities Source # 
Instance details

Defined in M.V769.P

Pack CloseContainer Source # 
Instance details

Defined in M.V769.P

Pack CloseContainerServerbound Source # 
Instance details

Defined in M.V769.P

Pack CloseContainer__ Source # 
Instance details

Defined in M.V769.P

Pack CombatDeath Source # 
Instance details

Defined in M.V769.P

Pack CombatDeath__ Source # 
Instance details

Defined in M.V769.P

Pack CommandMatch Source # 
Instance details

Defined in M.V769.P

Pack CommandSuggestionsRequest Source # 
Instance details

Defined in M.V769.P

Pack CommandSuggestionsRequest__ Source # 
Instance details

Defined in M.V769.P

Pack CommandSuggestionsResponse Source # 
Instance details

Defined in M.V769.P

Pack CommandSuggestionsResponse__ Source # 
Instance details

Defined in M.V769.P

Pack Commands Source # 
Instance details

Defined in M.V769.P

Pack Commands__ Source # 
Instance details

Defined in M.V769.P

Pack ConfirmTeleportation Source # 
Instance details

Defined in M.V769.P

Pack ConfirmTeleportation__ Source # 
Instance details

Defined in M.V769.P

Pack CookieRequest Source # 
Instance details

Defined in M.V769.P

Pack CookieResponsePlay Source # 
Instance details

Defined in M.V769.P

Pack DamageEvent Source # 
Instance details

Defined in M.V769.P

Pack DamageEvent__ Source # 
Instance details

Defined in M.V769.P

Pack DebugSample Source # 
Instance details

Defined in M.V769.P

Pack DebugSampleSubscription Source # 
Instance details

Defined in M.V769.P

Pack DebugSampleSubscription__ Source # 
Instance details

Defined in M.V769.P

Pack DebugSample__ Source # 
Instance details

Defined in M.V769.P

Pack DeleteMessage Source # 
Instance details

Defined in M.V769.P

Pack Disconnect Source # 
Instance details

Defined in M.V769.P

Pack DisguisedChatMessage Source # 
Instance details

Defined in M.V769.P

Pack DisguisedChatMessage__ Source # 
Instance details

Defined in M.V769.P

Pack DisplayObjective Source # 
Instance details

Defined in M.V769.P

Pack EditBook Source # 
Instance details

Defined in M.V769.P

Pack EditBook__ Source # 
Instance details

Defined in M.V769.P

Pack EndCombat Source # 
Instance details

Defined in M.V769.P

Pack EndCombat__ Source # 
Instance details

Defined in M.V769.P

Pack EnterCombat Source # 
Instance details

Defined in M.V769.P

Pack EntityAnimation Source # 
Instance details

Defined in M.V769.P

Pack EntityAnimation__ Source # 
Instance details

Defined in M.V769.P

Pack EntityEvent Source # 
Instance details

Defined in M.V769.P

Pack EntityEvent__ Source # 
Instance details

Defined in M.V769.P

Pack EntitySoundEffect Source # 
Instance details

Defined in M.V769.P

Pack EntitySoundEffect__ Source # 
Instance details

Defined in M.V769.P

Pack Explosion Source # 
Instance details

Defined in M.V769.P

Pack GameEvent Source # 
Instance details

Defined in M.V769.P

Pack GameEvent__ Source # 
Instance details

Defined in M.V769.P

Pack HurtAnimation Source # 
Instance details

Defined in M.V769.P

Pack HurtAnimation__ Source # 
Instance details

Defined in M.V769.P

Pack InitializeWorldBorder Source # 
Instance details

Defined in M.V769.P

Pack InitializeWorldBorder__ Source # 
Instance details

Defined in M.V769.P

Pack Interact Source # 
Instance details

Defined in M.V769.P

Pack Interact__ Source # 
Instance details

Defined in M.V769.P

Pack JigsawGenerate Source # 
Instance details

Defined in M.V769.P

Pack JigsawGenerate__ Source # 
Instance details

Defined in M.V769.P

Pack LinkEntities Source # 
Instance details

Defined in M.V769.P

Pack LinkEntities__ Source # 
Instance details

Defined in M.V769.P

Pack LockDifficulty Source # 
Instance details

Defined in M.V769.P

Pack Login Source # 
Instance details

Defined in M.V769.P

Methods

pack :: Login -> Builder Source #

Pack Login__ Source # 
Instance details

Defined in M.V769.P

Methods

pack :: Login__ -> Builder Source #

Pack LookAt Source # 
Instance details

Defined in M.V769.P

Methods

pack :: LookAt -> Builder Source #

Pack LookAt__ Source # 
Instance details

Defined in M.V769.P

Pack MapData Source # 
Instance details

Defined in M.V769.P

Methods

pack :: MapData -> Builder Source #

Pack MapData__ Source # 
Instance details

Defined in M.V769.P

Pack MerchantOffers Source # 
Instance details

Defined in M.V769.P

Pack MerchantOffers__ Source # 
Instance details

Defined in M.V769.P

Pack MoveMinecartAlongTrack Source # 
Instance details

Defined in M.V769.P

Pack MoveMinecartAlongTrack__ Source # 
Instance details

Defined in M.V769.P

Pack MoveVehicle Source # 
Instance details

Defined in M.V769.P

Pack MoveVehicleServerbound Source # 
Instance details

Defined in M.V769.P

Pack OpenBook Source # 
Instance details

Defined in M.V769.P

Pack OpenBook__ Source # 
Instance details

Defined in M.V769.P

Pack OpenHorseScreen Source # 
Instance details

Defined in M.V769.P

Pack OpenHorseScreen__ Source # 
Instance details

Defined in M.V769.P

Pack OpenScreen Source # 
Instance details

Defined in M.V769.P

Pack OpenScreen__ Source # 
Instance details

Defined in M.V769.P

Pack OpenSignEditor Source # 
Instance details

Defined in M.V769.P

Pack PaddleBoat Source # 
Instance details

Defined in M.V769.P

Pack ParticleEffect Source # 
Instance details

Defined in M.V769.P

Pack ParticleEffect__ Source # 
Instance details

Defined in M.V769.P

Pack PickItemFromBlock Source # 
Instance details

Defined in M.V769.P

Pack PickItemFromEntity Source # 
Instance details

Defined in M.V769.P

Pack PickItemFromEntity__ Source # 
Instance details

Defined in M.V769.P

Pack PingRequestPlay Source # 
Instance details

Defined in M.V769.P

Pack PlaceGhostRecipe Source # 
Instance details

Defined in M.V769.P

Pack PlaceRecipe Source # 
Instance details

Defined in M.V769.P

Pack PlayPing Source # 
Instance details

Defined in M.V769.P

Pack PlayPingResponse Source # 
Instance details

Defined in M.V769.P

Pack PlayerAction Source # 
Instance details

Defined in M.V769.P

Pack PlayerAction__ Source # 
Instance details

Defined in M.V769.P

Pack PlayerChatMessage Source # 
Instance details

Defined in M.V769.P

Pack PlayerCommand Source # 
Instance details

Defined in M.V769.P

Pack PlayerCommand__ Source # 
Instance details

Defined in M.V769.P

Pack PlayerInfoRemove Source # 
Instance details

Defined in M.V769.P

Pack PlayerInfoUpdate Source # 
Instance details

Defined in M.V769.P

Pack PlayerInfoUpdate__ Source # 
Instance details

Defined in M.V769.P

Pack PlayerInput Source # 
Instance details

Defined in M.V769.P

Pack PlayerLoaded Source # 
Instance details

Defined in M.V769.P

Pack PlayerRotation Source # 
Instance details

Defined in M.V769.P

Pack PlayerSession Source # 
Instance details

Defined in M.V769.P

Pack PongPlay Source # 
Instance details

Defined in M.V769.P

Pack ProgramCommandBlock Source # 
Instance details

Defined in M.V769.P

Pack ProgramCommandBlockMinecart Source # 
Instance details

Defined in M.V769.P

Pack ProgramCommandBlockMinecart__ Source # 
Instance details

Defined in M.V769.P

Pack ProgramCommandBlock__ Source # 
Instance details

Defined in M.V769.P

Pack ProgramJigsawBlock Source # 
Instance details

Defined in M.V769.P

Pack ProgramStructureBlock Source # 
Instance details

Defined in M.V769.P

Pack ProgramStructureBlock__ Source # 
Instance details

Defined in M.V769.P

Pack QueryBlockEntityTag Source # 
Instance details

Defined in M.V769.P

Pack QueryBlockEntityTag__ Source # 
Instance details

Defined in M.V769.P

Pack QueryEntityTag Source # 
Instance details

Defined in M.V769.P

Pack QueryEntityTag__ Source # 
Instance details

Defined in M.V769.P

Pack RecipeBookAdd Source # 
Instance details

Defined in M.V769.P

Pack RecipeBookRemove Source # 
Instance details

Defined in M.V769.P

Pack RecipeBookSettings Source # 
Instance details

Defined in M.V769.P

Pack RecipeBookSettings__ Source # 
Instance details

Defined in M.V769.P

Pack RemoveEntities Source # 
Instance details

Defined in M.V769.P

Pack RemoveEntities__ Source # 
Instance details

Defined in M.V769.P

Pack RemoveEntityEffect Source # 
Instance details

Defined in M.V769.P

Pack RemoveEntityEffect__ Source # 
Instance details

Defined in M.V769.P

Pack RemoveResourcePack Source # 
Instance details

Defined in M.V769.P

Pack RenameItem Source # 
Instance details

Defined in M.V769.P

Pack ResetScore Source # 
Instance details

Defined in M.V769.P

Pack ResourcePackResponsePlay Source # 
Instance details

Defined in M.V769.P

Pack ResourcePackResponsePlay__ Source # 
Instance details

Defined in M.V769.P

Pack Respawn Source # 
Instance details

Defined in M.V769.P

Methods

pack :: Respawn -> Builder Source #

Pack SeenAdvancements Source # 
Instance details

Defined in M.V769.P

Pack SeenAdvancements__ Source # 
Instance details

Defined in M.V769.P

Pack SelectAdvancementsTab Source # 
Instance details

Defined in M.V769.P

Pack SelectTrade Source # 
Instance details

Defined in M.V769.P

Pack SelectTrade__ Source # 
Instance details

Defined in M.V769.P

Pack ServerData Source # 
Instance details

Defined in M.V769.P

Pack ServerboundChangeDifficulty Source # 
Instance details

Defined in M.V769.P

Pack ServerboundChatCommand Source # 
Instance details

Defined in M.V769.P

Pack ServerboundPlayerAbilities Source # 
Instance details

Defined in M.V769.P

Pack SetActionBarText Source # 
Instance details

Defined in M.V769.P

Pack SetBeaconEffect Source # 
Instance details

Defined in M.V769.P

Pack SetBeaconEffect__ Source # 
Instance details

Defined in M.V769.P

Pack SetBlockDestroyStage Source # 
Instance details

Defined in M.V769.P

Pack SetBlockDestroyStage__ Source # 
Instance details

Defined in M.V769.P

Pack SetBorderCenter Source # 
Instance details

Defined in M.V769.P

Pack SetBorderLerpSize Source # 
Instance details

Defined in M.V769.P

Pack SetBorderLerpSize__ Source # 
Instance details

Defined in M.V769.P

Pack SetBorderSize Source # 
Instance details

Defined in M.V769.P

Pack SetBorderWarningDelay Source # 
Instance details

Defined in M.V769.P

Pack SetBorderWarningDelay__ Source # 
Instance details

Defined in M.V769.P

Pack SetBorderWarningDistance Source # 
Instance details

Defined in M.V769.P

Pack SetBorderWarningDistance__ Source # 
Instance details

Defined in M.V769.P

Pack SetCamera Source # 
Instance details

Defined in M.V769.P

Pack SetCamera__ Source # 
Instance details

Defined in M.V769.P

Pack SetCenterChunk Source # 
Instance details

Defined in M.V769.P

Pack SetCenterChunk__ Source # 
Instance details

Defined in M.V769.P

Pack SetContainerContent Source # 
Instance details

Defined in M.V769.P

Pack SetContainerContent__ Source # 
Instance details

Defined in M.V769.P

Pack SetContainerProperty Source # 
Instance details

Defined in M.V769.P

Pack SetContainerProperty__ Source # 
Instance details

Defined in M.V769.P

Pack SetContainerSlot Source # 
Instance details

Defined in M.V769.P

Pack SetContainerSlot__ Source # 
Instance details

Defined in M.V769.P

Pack SetCooldown Source # 
Instance details

Defined in M.V769.P

Pack SetCooldown__ Source # 
Instance details

Defined in M.V769.P

Pack SetCreativeModeSlot Source # 
Instance details

Defined in M.V769.P

Pack SetCursorItem Source # 
Instance details

Defined in M.V769.P

Pack SetDefaultSpawnPosition Source # 
Instance details

Defined in M.V769.P

Pack SetEntityMetadata Source # 
Instance details

Defined in M.V769.P

Pack SetEntityMetadata__ Source # 
Instance details

Defined in M.V769.P

Pack SetEntityVelocity Source # 
Instance details

Defined in M.V769.P

Pack SetEntityVelocity__ Source # 
Instance details

Defined in M.V769.P

Pack SetEquipment Source # 
Instance details

Defined in M.V769.P

Pack SetEquipment__ Source # 
Instance details

Defined in M.V769.P

Pack SetExperience Source # 
Instance details

Defined in M.V769.P

Pack SetExperience__ Source # 
Instance details

Defined in M.V769.P

Pack SetHeadRotation Source # 
Instance details

Defined in M.V769.P

Pack SetHeadRotation__ Source # 
Instance details

Defined in M.V769.P

Pack SetHealth Source # 
Instance details

Defined in M.V769.P

Pack SetHealth__ Source # 
Instance details

Defined in M.V769.P

Pack SetHeldItem Source # 
Instance details

Defined in M.V769.P

Pack SetHeldItemServerbound Source # 
Instance details

Defined in M.V769.P

Pack SetPassengers Source # 
Instance details

Defined in M.V769.P

Pack SetPassengers__ Source # 
Instance details

Defined in M.V769.P

Pack SetPlayerInventorySlot Source # 
Instance details

Defined in M.V769.P

Pack SetPlayerMovementFlags Source # 
Instance details

Defined in M.V769.P

Pack SetPlayerPosition Source # 
Instance details

Defined in M.V769.P

Pack SetPlayerPositionAndRotation Source # 
Instance details

Defined in M.V769.P

Pack SetPlayerPositionAndRotation__ Source # 
Instance details

Defined in M.V769.P

Pack SetPlayerPosition__ Source # 
Instance details

Defined in M.V769.P

Pack SetPlayerRotation Source # 
Instance details

Defined in M.V769.P

Pack SetRenderDistance Source # 
Instance details

Defined in M.V769.P

Pack SetRenderDistance__ Source # 
Instance details

Defined in M.V769.P

Pack SetSeenRecipe Source # 
Instance details

Defined in M.V769.P

Pack SetSimulationDistance Source # 
Instance details

Defined in M.V769.P

Pack SetSimulationDistance__ Source # 
Instance details

Defined in M.V769.P

Pack SetSubtitleText Source # 
Instance details

Defined in M.V769.P

Pack SetTabListHeaderAndFooter Source # 
Instance details

Defined in M.V769.P

Pack SetTitleAnimationTimes Source # 
Instance details

Defined in M.V769.P

Pack SetTitleText Source # 
Instance details

Defined in M.V769.P

Pack SignedChatCommand Source # 
Instance details

Defined in M.V769.P

Pack SoundEffect Source # 
Instance details

Defined in M.V769.P

Pack SoundEffect__ Source # 
Instance details

Defined in M.V769.P

Pack SpawnEntity Source # 
Instance details

Defined in M.V769.P

Pack SpawnEntity__ Source # 
Instance details

Defined in M.V769.P

Pack SpawnExperienceOrb Source # 
Instance details

Defined in M.V769.P

Pack SpawnExperienceOrb__ Source # 
Instance details

Defined in M.V769.P

Pack StartConfiguration Source # 
Instance details

Defined in M.V769.P

Pack StopSound Source # 
Instance details

Defined in M.V769.P

Pack StopSound__ Source # 
Instance details

Defined in M.V769.P

Pack StoreCookie Source # 
Instance details

Defined in M.V769.P

Pack SwingArm Source # 
Instance details

Defined in M.V769.P

Pack SwingArm__ Source # 
Instance details

Defined in M.V769.P

Pack SynchronizePlayerPosition Source # 
Instance details

Defined in M.V769.P

Pack SynchronizePlayerPosition__ Source # 
Instance details

Defined in M.V769.P

Pack TeleportEntity Source # 
Instance details

Defined in M.V769.P

Pack TeleportEntity__ Source # 
Instance details

Defined in M.V769.P

Pack TeleportToEntity Source # 
Instance details

Defined in M.V769.P

Pack TeleportToEntity__ Source # 
Instance details

Defined in M.V769.P

Pack UnloadChunk Source # 
Instance details

Defined in M.V769.P

Pack UpdateEntityPosition Source # 
Instance details

Defined in M.V769.P

Pack UpdateEntityPositionAndRotation Source # 
Instance details

Defined in M.V769.P

Pack UpdateEntityPositionAndRotation__ Source # 
Instance details

Defined in M.V769.P

Pack UpdateEntityPosition__ Source # 
Instance details

Defined in M.V769.P

Pack UpdateEntityRotation Source # 
Instance details

Defined in M.V769.P

Pack UpdateEntityRotation__ Source # 
Instance details

Defined in M.V769.P

Pack UpdateLight Source # 
Instance details

Defined in M.V769.P

Pack UpdateLight__ Source # 
Instance details

Defined in M.V769.P

Pack UpdateObjectives Source # 
Instance details

Defined in M.V769.P

Pack UpdateObjectives__ Source # 
Instance details

Defined in M.V769.P

Pack UpdateScore Source # 
Instance details

Defined in M.V769.P

Pack UpdateScore__ Source # 
Instance details

Defined in M.V769.P

Pack UpdateSectionBlocks Source # 
Instance details

Defined in M.V769.P

Pack UpdateSectionBlocks__ Source # 
Instance details

Defined in M.V769.P

Pack UpdateSign Source # 
Instance details

Defined in M.V769.P

Pack UpdateTeams Source # 
Instance details

Defined in M.V769.P

Pack UpdateTeams__ Source # 
Instance details

Defined in M.V769.P

Pack UpdateTime Source # 
Instance details

Defined in M.V769.P

Pack UseItem Source # 
Instance details

Defined in M.V769.P

Methods

pack :: UseItem -> Builder Source #

Pack UseItemOn Source # 
Instance details

Defined in M.V769.P

Pack UseItemOn__ Source # 
Instance details

Defined in M.V769.P

Pack UseItem__ Source # 
Instance details

Defined in M.V769.P

Pack WorldEvent Source # 
Instance details

Defined in M.V769.P

Pack PongResponse Source # 
Instance details

Defined in M.V769.S

Pack StatusRequest Source # 
Instance details

Defined in M.V769.S

Pack StatusResponse Source # 
Instance details

Defined in M.V769.S

Pack Text Source # 
Instance details

Defined in M.Pack.Internal.Etc

Methods

pack :: Text -> Builder Source #

Pack UUID Source # 
Instance details

Defined in M.Pack.Internal.Etc

Methods

pack :: UUID -> Builder Source #

Pack () Source # 
Instance details

Defined in M.Pack.Internal.Types

Methods

pack :: () -> Builder Source #

Pack Bool Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

pack :: Bool -> Builder Source #

Pack Double Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

pack :: Double -> Builder Source #

Pack Float Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

pack :: Float -> Builder Source #

Pack a => Pack (Complex a) Source # 
Instance details

Defined in M.Pack.Internal.Linear

Methods

pack :: Complex a -> Builder Source #

Pack a => Pack (Quaternion a) Source # 
Instance details

Defined in M.Pack.Internal.Linear

Methods

pack :: Quaternion a -> Builder Source #

Pack a => Pack (V0 a) Source # 
Instance details

Defined in M.Pack.Internal.Linear

Methods

pack :: V0 a -> Builder Source #

Pack a => Pack (V1 a) Source # 
Instance details

Defined in M.Pack.Internal.Linear

Methods

pack :: V1 a -> Builder Source #

Pack a => Pack (V2 a) Source # 
Instance details

Defined in M.Pack.Internal.Linear

Methods

pack :: V2 a -> Builder Source #

Pack a => Pack (V3 a) Source # 
Instance details

Defined in M.Pack.Internal.Linear

Methods

pack :: V3 a -> Builder Source #

Pack a => Pack (V4 a) Source # 
Instance details

Defined in M.Pack.Internal.Linear

Methods

pack :: V4 a -> Builder Source #

(FiniteBits a, Integral a) => Pack (LEB a) Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

pack :: LEB a -> Builder Source #

Pack a => Pack (IDorX a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

pack :: IDorX a -> Builder Source #

Pack a => Pack (Vector a) Source # 
Instance details

Defined in M.Pack.Internal.Etc

Methods

pack :: Vector a -> Builder Source #

(Unbox a, Pack a) => Pack (Vector a) Source # 
Instance details

Defined in M.Pack.Internal.Etc

Methods

pack :: Vector a -> Builder Source #

Pack a => Pack (Maybe a) Source # 
Instance details

Defined in M.Pack.Internal.Etc

Methods

pack :: Maybe a -> Builder Source #

KnownNat i => Pack (FixedBitset i) Source # 
Instance details

Defined in M.Pack.Internal.Bit

(Pack a, Pack b) => Pack (a, b) Source # 
Instance details

Defined in M.Pack.Internal.Types

Methods

pack :: (a, b) -> Builder Source #

Pack a => Pack (V n a) Source # 
Instance details

Defined in M.Pack.Internal.Linear

Methods

pack :: V n a -> Builder Source #

Bitreppable i a => Pack (Bitwise i a) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

pack :: Bitwise i a -> Builder Source #

(Enum a, Integral i, Pack i) => Pack (EnumIndex i a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

pack :: EnumIndex i a -> Builder Source #

(Pack a, Foldable f) => Pack (PackFoldable0 f a) Source #
foldMap pack
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

pack :: PackFoldable0 f a -> Builder Source #

(Pack a, Foldable f) => Pack (PackFoldableVI f a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

(Pack a, Pack b, Pack c) => Pack (a, b, c) Source # 
Instance details

Defined in M.Pack.Internal.Types

Methods

pack :: (a, b, c) -> Builder Source #

(Pack a, Pack b, Pack c, Pack d) => Pack (a, b, c, d) Source # 
Instance details

Defined in M.Pack.Internal.Types

Methods

pack :: (a, b, c, d) -> Builder Source #

(Integral i, Pack i, Real f, HasResolution r) => Pack (Fixed' i r f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

pack :: Fixed' i r f -> Builder Source #

(Pack a, Pack b, Pack c, Pack d, Pack e) => Pack (a, b, c, d, e) Source # 
Instance details

Defined in M.Pack.Internal.Types

Methods

pack :: (a, b, c, d, e) -> Builder Source #

data SomePack Source #

existential Pack container

Constructors

(Typeable a, Pack a, Show a) => SomePack a 

Instances

Instances details
Show SomePack Source # 
Instance details

Defined in M.Pack.Internal.Types

Pack SomePack Source # 
Instance details

Defined in M.Pack.Internal.Types

class Unpack a where Source #

retrieve a Parser for a type

Minimal complete definition

Nothing

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r a Source #

retrieve a Parser for a type

default unpack :: forall (st :: ZeroBitType) r. (Generic a, GUnpack (Rep a)) => Parser st r a Source #

Instances

Instances details
Unpack Void Source # 
Instance details

Defined in M.Pack.Internal.Types

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Void Source #

Unpack Int16 Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Int16 Source #

Unpack Int32 Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Int32 Source #

Unpack Int64 Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Int64 Source #

Unpack Int8 Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Int8 Source #

Unpack Word16 Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Word16 Source #

Unpack Word32 Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Word32 Source #

Unpack Word64 Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Word64 Source #

Unpack Word8 Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Word8 Source #

Unpack ByteString Source # 
Instance details

Defined in M.Pack.Internal.Etc

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ByteString Source #

Unpack BlockEntity Source # 
Instance details

Defined in M.Chunk.Net

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r BlockEntity Source #

Unpack ChunkData Source # 
Instance details

Defined in M.Chunk.Net

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChunkData Source #

Unpack LightData Source # 
Instance details

Defined in M.Chunk.Net

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LightData Source #

Unpack SoundEvent Source # 
Instance details

Defined in M.Misc

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SoundEvent Source #

Unpack JS Source # 
Instance details

Defined in M.NBT.Internal.JS

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r JS Source #

Unpack NamedPair Source # 
Instance details

Defined in M.NBT.Internal.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r NamedPair Source #

Unpack Tg Source # 
Instance details

Defined in M.NBT.Internal.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Tg Source #

Unpack Ty Source # 
Instance details

Defined in M.NBT.Internal.Types

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Ty Source #

Unpack Bitset Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Bitset Source #

Unpack IDSet Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r IDSet Source #

Unpack Identifier Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Identifier Source #

Unpack Int8Angle Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Int8Angle Source #

Unpack TakeRest Source #

TakeRest is deserialized as-is and reads the rest of the input

Instance details

Defined in M.Pack.Internal.Newtypes

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r TakeRest Source #

Unpack Position Source # 
Instance details

Defined in M.Position

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Position Source #

Unpack BossBarAction Source # 
Instance details

Defined in M.TODO

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r BossBarAction Source #

Unpack CommandNode Source # 
Instance details

Defined in M.TODO

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CommandNode Source #

Unpack MapIcon Source # 
Instance details

Defined in M.TODO

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r MapIcon Source #

Unpack MerchantOffer Source # 
Instance details

Defined in M.TODO

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r MerchantOffer Source #

Unpack ParticleData Source # 
Instance details

Defined in M.TODO

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ParticleData Source #

Unpack Slot Source # 
Instance details

Defined in M.TODO

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Slot Source #

Unpack TextComponent Source # 
Instance details

Defined in M.TODO

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r TextComponent Source #

Unpack AcknowledgeFinishConfiguration Source # 
Instance details

Defined in M.V769.C

Unpack ClientInformationConfiguration Source # 
Instance details

Defined in M.V769.C

Unpack ClientInformationConfiguration__ Source # 
Instance details

Defined in M.V769.C

Unpack CookieRequest Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CookieRequest Source #

Unpack CookieResponse Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CookieResponse Source #

Unpack CustomReportDetails Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CustomReportDetails Source #

Unpack CustomReportDetails__ Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CustomReportDetails__ Source #

Unpack Disconnect Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Disconnect Source #

Unpack FeatureFlags Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r FeatureFlags Source #

Unpack FeatureFlags__ Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r FeatureFlags__ Source #

Unpack FinishConfiguration Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r FinishConfiguration Source #

Unpack KnownPacks Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r KnownPacks Source #

Unpack KnownPacks__ Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r KnownPacks__ Source #

Unpack Pong Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Pong Source #

Unpack RegistryData Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r RegistryData Source #

Unpack RemoveResourcePack Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r RemoveResourcePack Source #

Unpack ResetChat Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ResetChat Source #

Unpack ResourcePackResponse Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ResourcePackResponse Source #

Unpack ServerLinks Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ServerLinks Source #

Unpack ServerLinks__ Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ServerLinks__ Source #

Unpack StoreCookie Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r StoreCookie Source #

Unpack Transfer Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Transfer Source #

Unpack UpdateTags Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateTags Source #

Unpack UpdateTags__ Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateTags__ Source #

Unpack HandshakePacket Source # 
Instance details

Defined in M.V769.H

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r HandshakePacket Source #

Unpack HandshakePacket__ Source # 
Instance details

Defined in M.V769.H

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r HandshakePacket__ Source #

Unpack DisplayedSkinParts Source # 
Instance details

Defined in M.V769.I

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r DisplayedSkinParts Source #

Unpack KeepAlive Source # 
Instance details

Defined in M.V769.I

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r KeepAlive Source #

Unpack Ping Source # 
Instance details

Defined in M.V769.I

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Ping Source #

Unpack PluginMessage Source # 
Instance details

Defined in M.V769.I

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PluginMessage Source #

Unpack ResourcePack Source # 
Instance details

Defined in M.V769.I

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ResourcePack Source #

Unpack EncryptionRequest Source # 
Instance details

Defined in M.V769.L

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EncryptionRequest Source #

Unpack EncryptionResponse Source # 
Instance details

Defined in M.V769.L

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EncryptionResponse Source #

Unpack LoginAcknowledged Source # 
Instance details

Defined in M.V769.L

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LoginAcknowledged Source #

Unpack LoginDisconnect Source # 
Instance details

Defined in M.V769.L

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LoginDisconnect Source #

Unpack LoginPluginRequest Source # 
Instance details

Defined in M.V769.L

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LoginPluginRequest Source #

Unpack LoginPluginRequest__ Source # 
Instance details

Defined in M.V769.L

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LoginPluginRequest__ Source #

Unpack LoginPluginResponse Source # 
Instance details

Defined in M.V769.L

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LoginPluginResponse Source #

Unpack LoginPluginResponse__ Source # 
Instance details

Defined in M.V769.L

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LoginPluginResponse__ Source #

Unpack LoginStart Source # 
Instance details

Defined in M.V769.L

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LoginStart Source #

Unpack LoginSuccess Source # 
Instance details

Defined in M.V769.L

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LoginSuccess Source #

Unpack LoginSuccess_Property Source # 
Instance details

Defined in M.V769.L

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LoginSuccess_Property Source #

Unpack AcknowledgeBlockChange Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r AcknowledgeBlockChange Source #

Unpack AcknowledgeBlockChange__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r AcknowledgeBlockChange__ Source #

Unpack AcknowledgeConfiguration Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r AcknowledgeConfiguration Source #

Unpack AcknowledgeMessage Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r AcknowledgeMessage Source #

Unpack AddResourcePack Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r AddResourcePack Source #

Unpack AwardStatistics Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r AwardStatistics Source #

Unpack AwardStatistics_Entry Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r AwardStatistics_Entry Source #

Unpack AwardStatistics_Entry__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r AwardStatistics_Entry__ Source #

Unpack BlockAction Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r BlockAction Source #

Unpack BlockAction__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r BlockAction__ Source #

Unpack BlockEntityData Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r BlockEntityData Source #

Unpack BlockEntityData__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r BlockEntityData__ Source #

Unpack BlockUpdate Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r BlockUpdate Source #

Unpack BlockUpdate__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r BlockUpdate__ Source #

Unpack BossBar Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r BossBar Source #

Unpack BundleDelimiter Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r BundleDelimiter Source #

Unpack BundleItemSelected Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r BundleItemSelected Source #

Unpack BundleItemSelected__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r BundleItemSelected__ Source #

Unpack ChangeContainerSlotState Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChangeContainerSlotState Source #

Unpack ChangeDifficulty Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChangeDifficulty Source #

Unpack ChangeRecipeBookSettings Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChangeRecipeBookSettings Source #

Unpack ChangeRecipeBookSettings__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChangeRecipeBookSettings__ Source #

Unpack ChatMessage Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChatMessage Source #

Unpack ChatSuggestions Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChatSuggestions Source #

Unpack ChatSuggestions__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChatSuggestions__ Source #

Unpack ChunkBatchFinished Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChunkBatchFinished Source #

Unpack ChunkBatchFinished__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChunkBatchFinished__ Source #

Unpack ChunkBatchReceived Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChunkBatchReceived Source #

Unpack ChunkBatchStarted Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChunkBatchStarted Source #

Unpack ChunkBiomes Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChunkBiomes Source #

Unpack ChunkDataAndUpdateLight Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChunkDataAndUpdateLight Source #

Unpack ClearTitles Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ClearTitles Source #

Unpack ClickContainer Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ClickContainer Source #

Unpack ClickContainerButton Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ClickContainerButton Source #

Unpack ClickContainer__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ClickContainer__ Source #

Unpack ClientInformationPlay Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ClientInformationPlay Source #

Unpack ClientInformationPlay__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ClientInformationPlay__ Source #

Unpack ClientStatus Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ClientStatus Source #

Unpack ClientStatus__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ClientStatus__ Source #

Unpack ClientTickEnd Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ClientTickEnd Source #

Unpack ClientboundPlayerAbilities Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ClientboundPlayerAbilities Source #

Unpack CloseContainer Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CloseContainer Source #

Unpack CloseContainerServerbound Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CloseContainerServerbound Source #

Unpack CloseContainer__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CloseContainer__ Source #

Unpack CombatDeath Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CombatDeath Source #

Unpack CombatDeath__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CombatDeath__ Source #

Unpack CommandMatch Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CommandMatch Source #

Unpack CommandSuggestionsRequest Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CommandSuggestionsRequest Source #

Unpack CommandSuggestionsRequest__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CommandSuggestionsRequest__ Source #

Unpack CommandSuggestionsResponse Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CommandSuggestionsResponse Source #

Unpack CommandSuggestionsResponse__ Source # 
Instance details

Defined in M.V769.P

Unpack Commands Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Commands Source #

Unpack Commands__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Commands__ Source #

Unpack ConfirmTeleportation Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ConfirmTeleportation Source #

Unpack ConfirmTeleportation__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ConfirmTeleportation__ Source #

Unpack CookieRequest Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CookieRequest Source #

Unpack CookieResponsePlay Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CookieResponsePlay Source #

Unpack DamageEvent Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r DamageEvent Source #

Unpack DamageEvent__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r DamageEvent__ Source #

Unpack DebugSample Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r DebugSample Source #

Unpack DebugSampleSubscription Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r DebugSampleSubscription Source #

Unpack DebugSampleSubscription__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r DebugSampleSubscription__ Source #

Unpack DebugSample__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r DebugSample__ Source #

Unpack DeleteMessage Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r DeleteMessage Source #

Unpack Disconnect Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Disconnect Source #

Unpack DisguisedChatMessage Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r DisguisedChatMessage Source #

Unpack DisguisedChatMessage__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r DisguisedChatMessage__ Source #

Unpack DisplayObjective Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r DisplayObjective Source #

Unpack EditBook Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EditBook Source #

Unpack EditBook__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EditBook__ Source #

Unpack EndCombat Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EndCombat Source #

Unpack EndCombat__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EndCombat__ Source #

Unpack EnterCombat Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EnterCombat Source #

Unpack EntityAnimation Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EntityAnimation Source #

Unpack EntityAnimation__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EntityAnimation__ Source #

Unpack EntityEvent Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EntityEvent Source #

Unpack EntityEvent__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EntityEvent__ Source #

Unpack EntitySoundEffect Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EntitySoundEffect Source #

Unpack EntitySoundEffect__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EntitySoundEffect__ Source #

Unpack Explosion Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Explosion Source #

Unpack GameEvent Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r GameEvent Source #

Unpack GameEvent__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r GameEvent__ Source #

Unpack HurtAnimation Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r HurtAnimation Source #

Unpack HurtAnimation__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r HurtAnimation__ Source #

Unpack InitializeWorldBorder Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r InitializeWorldBorder Source #

Unpack InitializeWorldBorder__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r InitializeWorldBorder__ Source #

Unpack Interact Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Interact Source #

Unpack Interact__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Interact__ Source #

Unpack JigsawGenerate Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r JigsawGenerate Source #

Unpack JigsawGenerate__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r JigsawGenerate__ Source #

Unpack LinkEntities Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LinkEntities Source #

Unpack LinkEntities__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LinkEntities__ Source #

Unpack LockDifficulty Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LockDifficulty Source #

Unpack Login Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Login Source #

Unpack Login__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Login__ Source #

Unpack LookAt Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LookAt Source #

Unpack LookAt__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LookAt__ Source #

Unpack MapData Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r MapData Source #

Unpack MapData__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r MapData__ Source #

Unpack MerchantOffers Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r MerchantOffers Source #

Unpack MerchantOffers__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r MerchantOffers__ Source #

Unpack MoveMinecartAlongTrack Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r MoveMinecartAlongTrack Source #

Unpack MoveMinecartAlongTrack__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r MoveMinecartAlongTrack__ Source #

Unpack MoveVehicle Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r MoveVehicle Source #

Unpack MoveVehicleServerbound Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r MoveVehicleServerbound Source #

Unpack OpenBook Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r OpenBook Source #

Unpack OpenBook__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r OpenBook__ Source #

Unpack OpenHorseScreen Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r OpenHorseScreen Source #

Unpack OpenHorseScreen__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r OpenHorseScreen__ Source #

Unpack OpenScreen Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r OpenScreen Source #

Unpack OpenScreen__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r OpenScreen__ Source #

Unpack OpenSignEditor Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r OpenSignEditor Source #

Unpack PaddleBoat Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PaddleBoat Source #

Unpack ParticleEffect Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ParticleEffect Source #

Unpack ParticleEffect__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ParticleEffect__ Source #

Unpack PickItemFromBlock Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PickItemFromBlock Source #

Unpack PickItemFromEntity Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PickItemFromEntity Source #

Unpack PickItemFromEntity__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PickItemFromEntity__ Source #

Unpack PingRequestPlay Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PingRequestPlay Source #

Unpack PlaceGhostRecipe Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlaceGhostRecipe Source #

Unpack PlaceRecipe Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlaceRecipe Source #

Unpack PlayPing Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayPing Source #

Unpack PlayPingResponse Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayPingResponse Source #

Unpack PlayerAction Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayerAction Source #

Unpack PlayerAction__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayerAction__ Source #

Unpack PlayerChatMessage Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayerChatMessage Source #

Unpack PlayerCommand Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayerCommand Source #

Unpack PlayerCommand__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayerCommand__ Source #

Unpack PlayerInfoRemove Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayerInfoRemove Source #

Unpack PlayerInfoUpdate Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayerInfoUpdate Source #

Unpack PlayerInfoUpdate__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayerInfoUpdate__ Source #

Unpack PlayerInput Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayerInput Source #

Unpack PlayerLoaded Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayerLoaded Source #

Unpack PlayerRotation Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayerRotation Source #

Unpack PlayerSession Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayerSession Source #

Unpack PongPlay Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PongPlay Source #

Unpack ProgramCommandBlock Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ProgramCommandBlock Source #

Unpack ProgramCommandBlockMinecart Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ProgramCommandBlockMinecart Source #

Unpack ProgramCommandBlockMinecart__ Source # 
Instance details

Defined in M.V769.P

Unpack ProgramCommandBlock__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ProgramCommandBlock__ Source #

Unpack ProgramJigsawBlock Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ProgramJigsawBlock Source #

Unpack ProgramStructureBlock Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ProgramStructureBlock Source #

Unpack ProgramStructureBlock__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ProgramStructureBlock__ Source #

Unpack QueryBlockEntityTag Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r QueryBlockEntityTag Source #

Unpack QueryBlockEntityTag__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r QueryBlockEntityTag__ Source #

Unpack QueryEntityTag Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r QueryEntityTag Source #

Unpack QueryEntityTag__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r QueryEntityTag__ Source #

Unpack RecipeBookAdd Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r RecipeBookAdd Source #

Unpack RecipeBookRemove Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r RecipeBookRemove Source #

Unpack RecipeBookSettings Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r RecipeBookSettings Source #

Unpack RecipeBookSettings__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r RecipeBookSettings__ Source #

Unpack RemoveEntities Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r RemoveEntities Source #

Unpack RemoveEntities__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r RemoveEntities__ Source #

Unpack RemoveEntityEffect Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r RemoveEntityEffect Source #

Unpack RemoveEntityEffect__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r RemoveEntityEffect__ Source #

Unpack RemoveResourcePack Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r RemoveResourcePack Source #

Unpack RenameItem Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r RenameItem Source #

Unpack ResetScore Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ResetScore Source #

Unpack ResourcePackResponsePlay Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ResourcePackResponsePlay Source #

Unpack ResourcePackResponsePlay__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ResourcePackResponsePlay__ Source #

Unpack Respawn Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Respawn Source #

Unpack SeenAdvancements Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SeenAdvancements Source #

Unpack SeenAdvancements__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SeenAdvancements__ Source #

Unpack SelectAdvancementsTab Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SelectAdvancementsTab Source #

Unpack SelectTrade Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SelectTrade Source #

Unpack SelectTrade__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SelectTrade__ Source #

Unpack ServerData Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ServerData Source #

Unpack ServerboundChangeDifficulty Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ServerboundChangeDifficulty Source #

Unpack ServerboundChatCommand Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ServerboundChatCommand Source #

Unpack ServerboundPlayerAbilities Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ServerboundPlayerAbilities Source #

Unpack SetActionBarText Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetActionBarText Source #

Unpack SetBeaconEffect Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetBeaconEffect Source #

Unpack SetBeaconEffect__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetBeaconEffect__ Source #

Unpack SetBlockDestroyStage Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetBlockDestroyStage Source #

Unpack SetBlockDestroyStage__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetBlockDestroyStage__ Source #

Unpack SetBorderCenter Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetBorderCenter Source #

Unpack SetBorderLerpSize Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetBorderLerpSize Source #

Unpack SetBorderLerpSize__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetBorderLerpSize__ Source #

Unpack SetBorderSize Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetBorderSize Source #

Unpack SetBorderWarningDelay Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetBorderWarningDelay Source #

Unpack SetBorderWarningDelay__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetBorderWarningDelay__ Source #

Unpack SetBorderWarningDistance Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetBorderWarningDistance Source #

Unpack SetBorderWarningDistance__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetBorderWarningDistance__ Source #

Unpack SetCamera Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetCamera Source #

Unpack SetCamera__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetCamera__ Source #

Unpack SetCenterChunk Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetCenterChunk Source #

Unpack SetCenterChunk__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetCenterChunk__ Source #

Unpack SetContainerContent Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetContainerContent Source #

Unpack SetContainerContent__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetContainerContent__ Source #

Unpack SetContainerProperty Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetContainerProperty Source #

Unpack SetContainerProperty__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetContainerProperty__ Source #

Unpack SetContainerSlot Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetContainerSlot Source #

Unpack SetContainerSlot__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetContainerSlot__ Source #

Unpack SetCooldown Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetCooldown Source #

Unpack SetCooldown__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetCooldown__ Source #

Unpack SetCreativeModeSlot Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetCreativeModeSlot Source #

Unpack SetCursorItem Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetCursorItem Source #

Unpack SetDefaultSpawnPosition Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetDefaultSpawnPosition Source #

Unpack SetEntityMetadata Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetEntityMetadata Source #

Unpack SetEntityMetadata__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetEntityMetadata__ Source #

Unpack SetEntityVelocity Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetEntityVelocity Source #

Unpack SetEntityVelocity__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetEntityVelocity__ Source #

Unpack SetEquipment Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetEquipment Source #

Unpack SetEquipment__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetEquipment__ Source #

Unpack SetExperience Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetExperience Source #

Unpack SetExperience__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetExperience__ Source #

Unpack SetHeadRotation Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetHeadRotation Source #

Unpack SetHeadRotation__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetHeadRotation__ Source #

Unpack SetHealth Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetHealth Source #

Unpack SetHealth__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetHealth__ Source #

Unpack SetHeldItem Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetHeldItem Source #

Unpack SetHeldItemServerbound Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetHeldItemServerbound Source #

Unpack SetPassengers Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetPassengers Source #

Unpack SetPassengers__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetPassengers__ Source #

Unpack SetPlayerInventorySlot Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetPlayerInventorySlot Source #

Unpack SetPlayerMovementFlags Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetPlayerMovementFlags Source #

Unpack SetPlayerPosition Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetPlayerPosition Source #

Unpack SetPlayerPositionAndRotation Source # 
Instance details

Defined in M.V769.P

Unpack SetPlayerPositionAndRotation__ Source # 
Instance details

Defined in M.V769.P

Unpack SetPlayerPosition__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetPlayerPosition__ Source #

Unpack SetPlayerRotation Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetPlayerRotation Source #

Unpack SetRenderDistance Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetRenderDistance Source #

Unpack SetRenderDistance__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetRenderDistance__ Source #

Unpack SetSeenRecipe Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetSeenRecipe Source #

Unpack SetSimulationDistance Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetSimulationDistance Source #

Unpack SetSimulationDistance__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetSimulationDistance__ Source #

Unpack SetSubtitleText Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetSubtitleText Source #

Unpack SetTabListHeaderAndFooter Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetTabListHeaderAndFooter Source #

Unpack SetTitleAnimationTimes Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetTitleAnimationTimes Source #

Unpack SetTitleText Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetTitleText Source #

Unpack SignedChatCommand Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SignedChatCommand Source #

Unpack SoundEffect Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SoundEffect Source #

Unpack SoundEffect__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SoundEffect__ Source #

Unpack SpawnEntity Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SpawnEntity Source #

Unpack SpawnEntity__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SpawnEntity__ Source #

Unpack SpawnExperienceOrb Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SpawnExperienceOrb Source #

Unpack SpawnExperienceOrb__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SpawnExperienceOrb__ Source #

Unpack StartConfiguration Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r StartConfiguration Source #

Unpack StopSound Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r StopSound Source #

Unpack StopSound__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r StopSound__ Source #

Unpack StoreCookie Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r StoreCookie Source #

Unpack SwingArm Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SwingArm Source #

Unpack SwingArm__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SwingArm__ Source #

Unpack SynchronizePlayerPosition Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SynchronizePlayerPosition Source #

Unpack SynchronizePlayerPosition__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SynchronizePlayerPosition__ Source #

Unpack TeleportEntity Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r TeleportEntity Source #

Unpack TeleportEntity__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r TeleportEntity__ Source #

Unpack TeleportToEntity Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r TeleportToEntity Source #

Unpack TeleportToEntity__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r TeleportToEntity__ Source #

Unpack UnloadChunk Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UnloadChunk Source #

Unpack UpdateEntityPosition Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateEntityPosition Source #

Unpack UpdateEntityPositionAndRotation Source # 
Instance details

Defined in M.V769.P

Unpack UpdateEntityPositionAndRotation__ Source # 
Instance details

Defined in M.V769.P

Unpack UpdateEntityPosition__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateEntityPosition__ Source #

Unpack UpdateEntityRotation Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateEntityRotation Source #

Unpack UpdateEntityRotation__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateEntityRotation__ Source #

Unpack UpdateLight Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateLight Source #

Unpack UpdateLight__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateLight__ Source #

Unpack UpdateObjectives Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateObjectives Source #

Unpack UpdateObjectives__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateObjectives__ Source #

Unpack UpdateScore Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateScore Source #

Unpack UpdateScore__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateScore__ Source #

Unpack UpdateSectionBlocks Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateSectionBlocks Source #

Unpack UpdateSectionBlocks__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateSectionBlocks__ Source #

Unpack UpdateSign Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateSign Source #

Unpack UpdateTeams Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateTeams Source #

Unpack UpdateTeams__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateTeams__ Source #

Unpack UpdateTime Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateTime Source #

Unpack UseItem Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UseItem Source #

Unpack UseItemOn Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UseItemOn Source #

Unpack UseItemOn__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UseItemOn__ Source #

Unpack UseItem__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UseItem__ Source #

Unpack WorldEvent Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r WorldEvent Source #

Unpack PongResponse Source # 
Instance details

Defined in M.V769.S

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PongResponse Source #

Unpack StatusRequest Source # 
Instance details

Defined in M.V769.S

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r StatusRequest Source #

Unpack StatusResponse Source # 
Instance details

Defined in M.V769.S

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r StatusResponse Source #

Unpack Text Source # 
Instance details

Defined in M.Pack.Internal.Etc

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Text Source #

Unpack UUID Source # 
Instance details

Defined in M.Pack.Internal.Etc

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UUID Source #

Unpack () Source # 
Instance details

Defined in M.Pack.Internal.Types

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r () Source #

Unpack Bool Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Bool Source #

Unpack Double Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Double Source #

Unpack Float Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Float Source #

Unpack a => Unpack (Complex a) Source # 
Instance details

Defined in M.Pack.Internal.Linear

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (Complex a) Source #

Unpack a => Unpack (Quaternion a) Source # 
Instance details

Defined in M.Pack.Internal.Linear

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (Quaternion a) Source #

Unpack a => Unpack (V0 a) Source # 
Instance details

Defined in M.Pack.Internal.Linear

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (V0 a) Source #

Unpack a => Unpack (V1 a) Source # 
Instance details

Defined in M.Pack.Internal.Linear

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (V1 a) Source #

Unpack a => Unpack (V2 a) Source # 
Instance details

Defined in M.Pack.Internal.Linear

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (V2 a) Source #

Unpack a => Unpack (V3 a) Source # 
Instance details

Defined in M.Pack.Internal.Linear

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (V3 a) Source #

Unpack a => Unpack (V4 a) Source # 
Instance details

Defined in M.Pack.Internal.Linear

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (V4 a) Source #

(FiniteBits a, Num a) => Unpack (LEB a) Source # 
Instance details

Defined in M.Pack.Internal.Num

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (LEB a) Source #

Unpack a => Unpack (IDorX a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (IDorX a) Source #

Unpack a => Unpack (Vector a) Source # 
Instance details

Defined in M.Pack.Internal.Etc

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (Vector a) Source #

(Unbox a, Unpack a) => Unpack (Vector a) Source # 
Instance details

Defined in M.Pack.Internal.Etc

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (Vector a) Source #

Unpack a => Unpack (Maybe a) Source # 
Instance details

Defined in M.Pack.Internal.Etc

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (Maybe a) Source #

KnownNat i => Unpack (FixedBitset i) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (FixedBitset i) Source #

(Unpack a, Unpack b) => Unpack (a, b) Source # 
Instance details

Defined in M.Pack.Internal.Types

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (a, b) Source #

(Unpack a, Dim n) => Unpack (V n a) Source # 
Instance details

Defined in M.Pack.Internal.Linear

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (V n a) Source #

Bitreppable i a => Unpack (Bitwise i a) Source # 
Instance details

Defined in M.Pack.Internal.Bit

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (Bitwise i a) Source #

(Enum a, Bounded a, Integral i, Unpack i) => Unpack (EnumIndex i a) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (EnumIndex i a) Source #

(Unpack a, Representable f, Traversable f) => Unpack (UnpackRepresentable0 f a) Source #
sequenceA (tabulate (const unpack))
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (UnpackRepresentable0 f a) Source #

(Unpack a, Unpack b, Unpack c) => Unpack (a, b, c) Source # 
Instance details

Defined in M.Pack.Internal.Types

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (a, b, c) Source #

(Unpack a, Unpack b, Unpack c, Unpack d) => Unpack (a, b, c, d) Source # 
Instance details

Defined in M.Pack.Internal.Types

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (a, b, c, d) Source #

(Integral i, Unpack i, Fractional f, HasResolution r) => Unpack (Fixed' i r f) Source # 
Instance details

Defined in M.Pack.Internal.Newtypes

Methods

unpack :: forall (st :: ZeroBitType) r0. Parser st r0 (Fixed' i r f) Source #

(Unpack a, Unpack b, Unpack c, Unpack d, Unpack e) => Unpack (a, b, c, d, e) Source # 
Instance details

Defined in M.Pack.Internal.Types

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r (a, b, c, d, e) Source #

data SomeUnpack Source #

existential Unpack container

to unpack this, try using unpacksome with a type application

Constructors

(Typeable a, Unpack a, Show a) => SomeUnpack a 

Instances

Instances details
Show SomeUnpack Source # 
Instance details

Defined in M.Pack.Internal.Types

type Parser (st :: ZeroBitType) r = ParserT st r ParseError Source #

our parser type

type Result = Result ParseError Source #

our parse result

newtype ParseError Source #

our parser error type

Constructors

ParseError 

Instances

Instances details
Data ParseError Source # 
Instance details

Defined in M.Pack.Internal.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ParseError -> c ParseError #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ParseError #

toConstr :: ParseError -> Constr #

dataTypeOf :: ParseError -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ParseError) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ParseError) #

gmapT :: (forall b. Data b => b -> b) -> ParseError -> ParseError #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ParseError -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ParseError -> r #

gmapQ :: (forall d. Data d => d -> u) -> ParseError -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ParseError -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ParseError -> m ParseError #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ParseError -> m ParseError #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ParseError -> m ParseError #

IsString ParseError Source # 
Instance details

Defined in M.Pack.Internal.Types

Exception ParseError Source # 
Instance details

Defined in M.Pack.Internal.Types

Generic ParseError Source # 
Instance details

Defined in M.Pack.Internal.Types

Associated Types

type Rep ParseError 
Instance details

Defined in M.Pack.Internal.Types

type Rep ParseError = D1 ('MetaData "ParseError" "M.Pack.Internal.Types" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "ParseError" 'PrefixI 'True) (S1 ('MetaSel ('Just "showparseerror") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))
Show ParseError Source # 
Instance details

Defined in M.Pack.Internal.Types

Eq ParseError Source # 
Instance details

Defined in M.Pack.Internal.Types

Ord ParseError Source # 
Instance details

Defined in M.Pack.Internal.Types

Lift ParseError Source # 
Instance details

Defined in M.Pack.Internal.Types

Methods

lift :: Quote m => ParseError -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => ParseError -> Code m ParseError #

type Rep ParseError Source # 
Instance details

Defined in M.Pack.Internal.Types

type Rep ParseError = D1 ('MetaData "ParseError" "M.Pack.Internal.Types" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "ParseError" 'PrefixI 'True) (S1 ('MetaSel ('Just "showparseerror") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

parsepure :: (forall (st :: ZeroBitType). Parser st r a) -> r -> Int -> ByteString -> Result a Source #

run a pure parser efficiently (by inlining)

parsepure0 :: (forall (st :: ZeroBitType). Parser st () a) -> ByteString -> Result a Source #

run a pure parser with no state efficiently (by inlining)

castsomepack :: Typeable a => SomePack -> Maybe a Source #

cast a SomePack to a type

unpacksome :: forall a (st :: ZeroBitType) r. (Typeable a, Unpack a, Show a) => Parser st r SomeUnpack Source #

use a type application to retrieve a SomeUnpack

\ No newline at end of file diff --git a/M-Pack.html b/M-Pack.html new file mode 100644 index 0000000..d4b39ce --- /dev/null +++ b/M-Pack.html @@ -0,0 +1,5 @@ +M.Pack
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.Pack

Description

Provides the core serialization framework including Pack and Unpack typeclasses, + along with utilities for numeric types, newtypes, bit operations, and Template + Haskell support for automated instance derivation.

Documentation

Pack and Unpack classes for serializing/deserializing data

instances for numbers; utilities for packing and unpacking numbers + in specific formats; instances for Bool

newtypes for modulating serialization behavior

bit-fiddling: bitsets, bitflags, etc.

template Haskell utilities for use with "th-serde" + to help derive Pack and Unpack instances

\ No newline at end of file diff --git a/M-Position.html b/M-Position.html new file mode 100644 index 0000000..99bfa9f --- /dev/null +++ b/M-Position.html @@ -0,0 +1,3 @@ +M.Position
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.Position

Description

Implements the packed integer Position format used by Minecraft Java Edition, + including encoding and decoding of 3D coordinates into a compact Int64 + representation.

Documentation

newtype Position Source #

Deserialized position representation

Constructors

Position 

Fields

Instances

Instances details
Data Position Source # 
Instance details

Defined in M.Position

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Position -> c Position #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Position #

toConstr :: Position -> Constr #

dataTypeOf :: Position -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Position) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Position) #

gmapT :: (forall b. Data b => b -> b) -> Position -> Position #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Position -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Position -> r #

gmapQ :: (forall d. Data d => d -> u) -> Position -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Position -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Position -> m Position #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Position -> m Position #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Position -> m Position #

Generic Position Source # 
Instance details

Defined in M.Position

Associated Types

type Rep Position 
Instance details

Defined in M.Position

type Rep Position = D1 ('MetaData "Position" "M.Position" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "Position" 'PrefixI 'True) (S1 ('MetaSel ('Just "getposition") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Int32))))

Methods

from :: Position -> Rep Position x #

to :: Rep Position x -> Position #

Read Position Source # 
Instance details

Defined in M.Position

Show Position Source # 
Instance details

Defined in M.Position

NFData Position Source # 
Instance details

Defined in M.Position

Methods

rnf :: Position -> () #

Eq Position Source # 
Instance details

Defined in M.Position

Ord Position Source # 
Instance details

Defined in M.Position

Hashable Position Source # 
Instance details

Defined in M.Position

Pack Position Source # 
Instance details

Defined in M.Position

Unpack Position Source # 
Instance details

Defined in M.Position

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Position Source #

Lift Position Source # 
Instance details

Defined in M.Position

Methods

lift :: Quote m => Position -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Position -> Code m Position #

type Rep Position Source # 
Instance details

Defined in M.Position

type Rep Position = D1 ('MetaData "Position" "M.Position" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "Position" 'PrefixI 'True) (S1 ('MetaSel ('Just "getposition") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Int32))))

encodeposition :: Position -> Int64 Source #

encode a Position into a packed Int64

decodeposition :: Int64 -> Position Source #

decode a packed Int64 into a Position

posapply :: (Int32 -> Int32) -> Position -> Position Source #

apply a function to the x, y, and z components of a Position

posapplyv :: (V3 Int32 -> V3 Int32) -> Position -> Position Source #

apply a function to the x, y, and z components of a Position

\ No newline at end of file diff --git a/M-Reg.html b/M-Reg.html new file mode 100644 index 0000000..02a2dcc --- /dev/null +++ b/M-Reg.html @@ -0,0 +1,30 @@ +M.Reg
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.Reg

Description

A generic registry that maintains a three-way mapping between:

  • Numeric codes (Int)
  • Text identifiers (Text)
  • Objects (generic type a)

This is useful for Minecraft's registry system where objects like blocks + and items are identified both by numeric IDs and string identifiers.

Usage

Create a registry:

-- imagine tr :: TypeRep exists.
+let items = [("minecraft:stone", tr Stone), ("minecraft:dirt", tr Dirt)]
+case mkreg0 items of
+  Just reg -> -- Use registry
+  Nothing -> -- Handle duplicate keys
+

Look up objects:

-- By numeric code
+case lkobjbycode 0 reg of
+  Just obj -> -- Found
+  Nothing -> -- Not found
+
+-- By string identifier
+case lkcodebyid "minecraft:stone" reg of
+  Just code -> -- Found
+  Nothing -> -- Not found
+
Synopsis

Documentation

data Reg a Source #

A "registry" type maintaining a triple link between codes, identifiers and objects.

The registry is immutable after creation and provides efficient lookups in both directions:

  • From numeric code to object (using IntMap)
  • From text identifier to numeric code (using HashMap)

Implementation Notes

  • code -> object mapping uses lazy IntMap since object types may be large
  • identifier -> code mapping uses strict HashMap for text lookups
  • Registry cannot be modified after creation (updates planned for future)

Instances

Instances details
Functor Reg Source # 
Instance details

Defined in M.Reg

Methods

fmap :: (a -> b) -> Reg a -> Reg b #

(<$) :: a -> Reg b -> Reg a #

Data a => Data (Reg a) Source # 
Instance details

Defined in M.Reg

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Reg a -> c (Reg a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Reg a) #

toConstr :: Reg a -> Constr #

dataTypeOf :: Reg a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Reg a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Reg a)) #

gmapT :: (forall b. Data b => b -> b) -> Reg a -> Reg a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Reg a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Reg a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Reg a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Reg a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Reg a -> m (Reg a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Reg a -> m (Reg a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Reg a -> m (Reg a) #

Generic (Reg a) Source # 
Instance details

Defined in M.Reg

Associated Types

type Rep (Reg a) 
Instance details

Defined in M.Reg

type Rep (Reg a) = D1 ('MetaData "Reg" "M.Reg" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Reg" 'PrefixI 'True) (S1 ('MetaSel ('Just "regca") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (IntMap a)) :*: S1 ('MetaSel ('Just "regic") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap Text Int))))

Methods

from :: Reg a -> Rep (Reg a) x #

to :: Rep (Reg a) x -> Reg a #

Show a => Show (Reg a) Source #
[(0, blah:bloh/blee; 42), ..., (<code>, <id>; <object>)]
Instance details

Defined in M.Reg

Methods

showsPrec :: Int -> Reg a -> ShowS #

show :: Reg a -> String #

showList :: [Reg a] -> ShowS #

Eq a => Eq (Reg a) Source # 
Instance details

Defined in M.Reg

Methods

(==) :: Reg a -> Reg a -> Bool #

(/=) :: Reg a -> Reg a -> Bool #

Ord a => Ord (Reg a) Source # 
Instance details

Defined in M.Reg

Methods

compare :: Reg a -> Reg a -> Ordering #

(<) :: Reg a -> Reg a -> Bool #

(<=) :: Reg a -> Reg a -> Bool #

(>) :: Reg a -> Reg a -> Bool #

(>=) :: Reg a -> Reg a -> Bool #

max :: Reg a -> Reg a -> Reg a #

min :: Reg a -> Reg a -> Reg a #

type Rep (Reg a) Source # 
Instance details

Defined in M.Reg

type Rep (Reg a) = D1 ('MetaData "Reg" "M.Reg" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Reg" 'PrefixI 'True) (S1 ('MetaSel ('Just "regca") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (IntMap a)) :*: S1 ('MetaSel ('Just "regic") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap Text Int))))

mkreg0 :: [(Text, a)] -> Maybe (Reg a) Source #

Create a simple registry from identifier-object pairs. + Numeric codes are assigned sequentially starting from 0.

Returns Nothing if there are duplicate identifiers.

Usage

let reg = mkreg0 [("minecraft:stone", Stone), ("minecraft:dirt", Dirt)]
+

mkreg1 :: (b -> a) -> [(Text, b)] -> Maybe (Reg a) Source #

Create a registry with a transformation function applied to values.

Like mkreg0 but applies a function to transform the values before storing. + Returns Nothing if there are duplicate identifiers.

Usage

let reg = mkreg1 Block [("stone", StoneData), ("dirt", DirtData)]
+-- Creates registry with Block StoneData, Block DirtData
+

lkcodebyid :: Text -> Reg a -> Maybe Int Source #

Look up a numeric code by its string identifier.

Usage

case lkcodebyid "minecraft:stone" registry of
+  Just code -> -- Found code for identifier
+  Nothing -> -- No such identifier
+

lkobjbycode :: Int -> Reg a -> Maybe a Source #

Look up an object by its numeric code.

Usage

case lkobjbycode 0 registry of
+  Just obj -> -- Found object at code 0
+  Nothing -> -- No object at code 0
+

lkobjbyid :: Text -> Reg a -> Maybe a Source #

Look up an object by its string identifier.

Combines lkcodebyid and lkobjbycode for direct identifier to object lookup.

Usage

case lkobjbyid "minecraft:stone" registry of
+  Just obj -> -- Found object for identifier
+  Nothing -> -- No such identifier
+
\ No newline at end of file diff --git a/M-TODO.html b/M-TODO.html new file mode 100644 index 0000000..ccfa6cb --- /dev/null +++ b/M-TODO.html @@ -0,0 +1 @@ +M.TODO
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.TODO

Description

 

Documentation

data Slot Source #

Instances

Instances details
Data Slot Source # 
Instance details

Defined in M.TODO

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Slot -> c Slot #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Slot #

toConstr :: Slot -> Constr #

dataTypeOf :: Slot -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Slot) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Slot) #

gmapT :: (forall b. Data b => b -> b) -> Slot -> Slot #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Slot -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Slot -> r #

gmapQ :: (forall d. Data d => d -> u) -> Slot -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Slot -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Slot -> m Slot #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Slot -> m Slot #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Slot -> m Slot #

Generic Slot Source # 
Instance details

Defined in M.TODO

Associated Types

type Rep Slot 
Instance details

Defined in M.TODO

type Rep Slot = D1 ('MetaData "Slot" "M.TODO" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (V1 :: Type -> Type)

Methods

from :: Slot -> Rep Slot x #

to :: Rep Slot x -> Slot #

Read Slot Source # 
Instance details

Defined in M.TODO

Show Slot Source # 
Instance details

Defined in M.TODO

Methods

showsPrec :: Int -> Slot -> ShowS #

show :: Slot -> String #

showList :: [Slot] -> ShowS #

NFData Slot Source # 
Instance details

Defined in M.TODO

Methods

rnf :: Slot -> () #

Eq Slot Source # 
Instance details

Defined in M.TODO

Methods

(==) :: Slot -> Slot -> Bool #

(/=) :: Slot -> Slot -> Bool #

Ord Slot Source # 
Instance details

Defined in M.TODO

Methods

compare :: Slot -> Slot -> Ordering #

(<) :: Slot -> Slot -> Bool #

(<=) :: Slot -> Slot -> Bool #

(>) :: Slot -> Slot -> Bool #

(>=) :: Slot -> Slot -> Bool #

max :: Slot -> Slot -> Slot #

min :: Slot -> Slot -> Slot #

Hashable Slot Source # 
Instance details

Defined in M.TODO

Methods

hashWithSalt :: Int -> Slot -> Int

hash :: Slot -> Int

Pack Slot Source # 
Instance details

Defined in M.TODO

Methods

pack :: Slot -> Builder Source #

Unpack Slot Source # 
Instance details

Defined in M.TODO

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Slot Source #

type Rep Slot Source # 
Instance details

Defined in M.TODO

type Rep Slot = D1 ('MetaData "Slot" "M.TODO" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (V1 :: Type -> Type)

data BossBarAction Source #

Instances

Instances details
Data BossBarAction Source # 
Instance details

Defined in M.TODO

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BossBarAction -> c BossBarAction #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BossBarAction #

toConstr :: BossBarAction -> Constr #

dataTypeOf :: BossBarAction -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BossBarAction) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BossBarAction) #

gmapT :: (forall b. Data b => b -> b) -> BossBarAction -> BossBarAction #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BossBarAction -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BossBarAction -> r #

gmapQ :: (forall d. Data d => d -> u) -> BossBarAction -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> BossBarAction -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> BossBarAction -> m BossBarAction #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BossBarAction -> m BossBarAction #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BossBarAction -> m BossBarAction #

Generic BossBarAction Source # 
Instance details

Defined in M.TODO

Associated Types

type Rep BossBarAction 
Instance details

Defined in M.TODO

type Rep BossBarAction = D1 ('MetaData "BossBarAction" "M.TODO" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (V1 :: Type -> Type)
Read BossBarAction Source # 
Instance details

Defined in M.TODO

Show BossBarAction Source # 
Instance details

Defined in M.TODO

NFData BossBarAction Source # 
Instance details

Defined in M.TODO

Methods

rnf :: BossBarAction -> () #

Eq BossBarAction Source # 
Instance details

Defined in M.TODO

Ord BossBarAction Source # 
Instance details

Defined in M.TODO

Hashable BossBarAction Source # 
Instance details

Defined in M.TODO

Pack BossBarAction Source # 
Instance details

Defined in M.TODO

Unpack BossBarAction Source # 
Instance details

Defined in M.TODO

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r BossBarAction Source #

type Rep BossBarAction Source # 
Instance details

Defined in M.TODO

type Rep BossBarAction = D1 ('MetaData "BossBarAction" "M.TODO" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (V1 :: Type -> Type)

data CommandNode Source #

Instances

Instances details
Data CommandNode Source # 
Instance details

Defined in M.TODO

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CommandNode -> c CommandNode #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CommandNode #

toConstr :: CommandNode -> Constr #

dataTypeOf :: CommandNode -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CommandNode) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CommandNode) #

gmapT :: (forall b. Data b => b -> b) -> CommandNode -> CommandNode #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CommandNode -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CommandNode -> r #

gmapQ :: (forall d. Data d => d -> u) -> CommandNode -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CommandNode -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CommandNode -> m CommandNode #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CommandNode -> m CommandNode #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CommandNode -> m CommandNode #

Generic CommandNode Source # 
Instance details

Defined in M.TODO

Associated Types

type Rep CommandNode 
Instance details

Defined in M.TODO

type Rep CommandNode = D1 ('MetaData "CommandNode" "M.TODO" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (V1 :: Type -> Type)
Read CommandNode Source # 
Instance details

Defined in M.TODO

Show CommandNode Source # 
Instance details

Defined in M.TODO

NFData CommandNode Source # 
Instance details

Defined in M.TODO

Methods

rnf :: CommandNode -> () #

Eq CommandNode Source # 
Instance details

Defined in M.TODO

Ord CommandNode Source # 
Instance details

Defined in M.TODO

Hashable CommandNode Source # 
Instance details

Defined in M.TODO

Pack CommandNode Source # 
Instance details

Defined in M.TODO

Unpack CommandNode Source # 
Instance details

Defined in M.TODO

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CommandNode Source #

type Rep CommandNode Source # 
Instance details

Defined in M.TODO

type Rep CommandNode = D1 ('MetaData "CommandNode" "M.TODO" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (V1 :: Type -> Type)

data ParticleData Source #

Instances

Instances details
Data ParticleData Source # 
Instance details

Defined in M.TODO

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ParticleData -> c ParticleData #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ParticleData #

toConstr :: ParticleData -> Constr #

dataTypeOf :: ParticleData -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ParticleData) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ParticleData) #

gmapT :: (forall b. Data b => b -> b) -> ParticleData -> ParticleData #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ParticleData -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ParticleData -> r #

gmapQ :: (forall d. Data d => d -> u) -> ParticleData -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ParticleData -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ParticleData -> m ParticleData #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ParticleData -> m ParticleData #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ParticleData -> m ParticleData #

Generic ParticleData Source # 
Instance details

Defined in M.TODO

Associated Types

type Rep ParticleData 
Instance details

Defined in M.TODO

type Rep ParticleData = D1 ('MetaData "ParticleData" "M.TODO" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (V1 :: Type -> Type)
Read ParticleData Source # 
Instance details

Defined in M.TODO

Show ParticleData Source # 
Instance details

Defined in M.TODO

NFData ParticleData Source # 
Instance details

Defined in M.TODO

Methods

rnf :: ParticleData -> () #

Eq ParticleData Source # 
Instance details

Defined in M.TODO

Ord ParticleData Source # 
Instance details

Defined in M.TODO

Hashable ParticleData Source # 
Instance details

Defined in M.TODO

Pack ParticleData Source # 
Instance details

Defined in M.TODO

Unpack ParticleData Source # 
Instance details

Defined in M.TODO

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ParticleData Source #

type Rep ParticleData Source # 
Instance details

Defined in M.TODO

type Rep ParticleData = D1 ('MetaData "ParticleData" "M.TODO" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (V1 :: Type -> Type)

data TextComponent Source #

Instances

Instances details
Data TextComponent Source # 
Instance details

Defined in M.TODO

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TextComponent -> c TextComponent #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TextComponent #

toConstr :: TextComponent -> Constr #

dataTypeOf :: TextComponent -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TextComponent) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TextComponent) #

gmapT :: (forall b. Data b => b -> b) -> TextComponent -> TextComponent #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TextComponent -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TextComponent -> r #

gmapQ :: (forall d. Data d => d -> u) -> TextComponent -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TextComponent -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TextComponent -> m TextComponent #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TextComponent -> m TextComponent #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TextComponent -> m TextComponent #

Generic TextComponent Source # 
Instance details

Defined in M.TODO

Associated Types

type Rep TextComponent 
Instance details

Defined in M.TODO

type Rep TextComponent = D1 ('MetaData "TextComponent" "M.TODO" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (V1 :: Type -> Type)
Read TextComponent Source # 
Instance details

Defined in M.TODO

Show TextComponent Source # 
Instance details

Defined in M.TODO

NFData TextComponent Source # 
Instance details

Defined in M.TODO

Methods

rnf :: TextComponent -> () #

Eq TextComponent Source # 
Instance details

Defined in M.TODO

Ord TextComponent Source # 
Instance details

Defined in M.TODO

Hashable TextComponent Source # 
Instance details

Defined in M.TODO

Pack TextComponent Source # 
Instance details

Defined in M.TODO

Unpack TextComponent Source # 
Instance details

Defined in M.TODO

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r TextComponent Source #

type Rep TextComponent Source # 
Instance details

Defined in M.TODO

type Rep TextComponent = D1 ('MetaData "TextComponent" "M.TODO" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (V1 :: Type -> Type)

data MapIcon Source #

Instances

Instances details
Data MapIcon Source # 
Instance details

Defined in M.TODO

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MapIcon -> c MapIcon #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MapIcon #

toConstr :: MapIcon -> Constr #

dataTypeOf :: MapIcon -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MapIcon) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MapIcon) #

gmapT :: (forall b. Data b => b -> b) -> MapIcon -> MapIcon #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MapIcon -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MapIcon -> r #

gmapQ :: (forall d. Data d => d -> u) -> MapIcon -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> MapIcon -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> MapIcon -> m MapIcon #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MapIcon -> m MapIcon #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MapIcon -> m MapIcon #

Generic MapIcon Source # 
Instance details

Defined in M.TODO

Associated Types

type Rep MapIcon 
Instance details

Defined in M.TODO

type Rep MapIcon = D1 ('MetaData "MapIcon" "M.TODO" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (V1 :: Type -> Type)

Methods

from :: MapIcon -> Rep MapIcon x #

to :: Rep MapIcon x -> MapIcon #

Read MapIcon Source # 
Instance details

Defined in M.TODO

Show MapIcon Source # 
Instance details

Defined in M.TODO

NFData MapIcon Source # 
Instance details

Defined in M.TODO

Methods

rnf :: MapIcon -> () #

Eq MapIcon Source # 
Instance details

Defined in M.TODO

Methods

(==) :: MapIcon -> MapIcon -> Bool #

(/=) :: MapIcon -> MapIcon -> Bool #

Ord MapIcon Source # 
Instance details

Defined in M.TODO

Hashable MapIcon Source # 
Instance details

Defined in M.TODO

Methods

hashWithSalt :: Int -> MapIcon -> Int

hash :: MapIcon -> Int

Pack MapIcon Source # 
Instance details

Defined in M.TODO

Methods

pack :: MapIcon -> Builder Source #

Unpack MapIcon Source # 
Instance details

Defined in M.TODO

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r MapIcon Source #

type Rep MapIcon Source # 
Instance details

Defined in M.TODO

type Rep MapIcon = D1 ('MetaData "MapIcon" "M.TODO" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (V1 :: Type -> Type)

data MerchantOffer Source #

Instances

Instances details
Data MerchantOffer Source # 
Instance details

Defined in M.TODO

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MerchantOffer -> c MerchantOffer #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MerchantOffer #

toConstr :: MerchantOffer -> Constr #

dataTypeOf :: MerchantOffer -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MerchantOffer) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MerchantOffer) #

gmapT :: (forall b. Data b => b -> b) -> MerchantOffer -> MerchantOffer #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MerchantOffer -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MerchantOffer -> r #

gmapQ :: (forall d. Data d => d -> u) -> MerchantOffer -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> MerchantOffer -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> MerchantOffer -> m MerchantOffer #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MerchantOffer -> m MerchantOffer #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MerchantOffer -> m MerchantOffer #

Generic MerchantOffer Source # 
Instance details

Defined in M.TODO

Associated Types

type Rep MerchantOffer 
Instance details

Defined in M.TODO

type Rep MerchantOffer = D1 ('MetaData "MerchantOffer" "M.TODO" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (V1 :: Type -> Type)
Read MerchantOffer Source # 
Instance details

Defined in M.TODO

Show MerchantOffer Source # 
Instance details

Defined in M.TODO

NFData MerchantOffer Source # 
Instance details

Defined in M.TODO

Methods

rnf :: MerchantOffer -> () #

Eq MerchantOffer Source # 
Instance details

Defined in M.TODO

Ord MerchantOffer Source # 
Instance details

Defined in M.TODO

Hashable MerchantOffer Source # 
Instance details

Defined in M.TODO

Pack MerchantOffer Source # 
Instance details

Defined in M.TODO

Unpack MerchantOffer Source # 
Instance details

Defined in M.TODO

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r MerchantOffer Source #

type Rep MerchantOffer Source # 
Instance details

Defined in M.TODO

type Rep MerchantOffer = D1 ('MetaData "MerchantOffer" "M.TODO" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (V1 :: Type -> Type)
\ No newline at end of file diff --git a/M-V769-C.html b/M-V769-C.html new file mode 100644 index 0000000..79f8482 --- /dev/null +++ b/M-V769-C.html @@ -0,0 +1,3 @@ +M.V769.C
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.V769.C

Description

Defines packet structures for the configuration state of protocol version 769, + including client and server capabilities negotiation, resource pack management, + and server feature flags.

Documentation

data ResourcePackResponse Source #

Constructors

ResourcePackResponse 

Fields

Instances

Instances details
Data ResourcePackResponse Source # 
Instance details

Defined in M.V769.C

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ResourcePackResponse -> c ResourcePackResponse #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ResourcePackResponse #

toConstr :: ResourcePackResponse -> Constr #

dataTypeOf :: ResourcePackResponse -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ResourcePackResponse) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ResourcePackResponse) #

gmapT :: (forall b. Data b => b -> b) -> ResourcePackResponse -> ResourcePackResponse #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ResourcePackResponse -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ResourcePackResponse -> r #

gmapQ :: (forall d. Data d => d -> u) -> ResourcePackResponse -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ResourcePackResponse -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ResourcePackResponse -> m ResourcePackResponse #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ResourcePackResponse -> m ResourcePackResponse #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ResourcePackResponse -> m ResourcePackResponse #

Generic ResourcePackResponse Source # 
Instance details

Defined in M.V769.C

Associated Types

type Rep ResourcePackResponse 
Instance details

Defined in M.V769.C

type Rep ResourcePackResponse = D1 ('MetaData "ResourcePackResponse" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ResourcePackResponse" 'PrefixI 'True) (S1 ('MetaSel ('Just "status") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
Read ResourcePackResponse Source # 
Instance details

Defined in M.V769.C

Show ResourcePackResponse Source # 
Instance details

Defined in M.V769.C

NFData ResourcePackResponse Source # 
Instance details

Defined in M.V769.C

Methods

rnf :: ResourcePackResponse -> () #

Eq ResourcePackResponse Source # 
Instance details

Defined in M.V769.C

Ord ResourcePackResponse Source # 
Instance details

Defined in M.V769.C

Pack ResourcePackResponse Source # 
Instance details

Defined in M.V769.C

Unpack ResourcePackResponse Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ResourcePackResponse Source #

type Rep ResourcePackResponse Source # 
Instance details

Defined in M.V769.C

type Rep ResourcePackResponse = D1 ('MetaData "ResourcePackResponse" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ResourcePackResponse" 'PrefixI 'True) (S1 ('MetaSel ('Just "status") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data Pong Source #

Constructors

Pong 

Fields

Instances

Instances details
Data Pong Source # 
Instance details

Defined in M.V769.C

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Pong -> c Pong #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Pong #

toConstr :: Pong -> Constr #

dataTypeOf :: Pong -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Pong) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Pong) #

gmapT :: (forall b. Data b => b -> b) -> Pong -> Pong #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Pong -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Pong -> r #

gmapQ :: (forall d. Data d => d -> u) -> Pong -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Pong -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Pong -> m Pong #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Pong -> m Pong #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Pong -> m Pong #

Generic Pong Source # 
Instance details

Defined in M.V769.C

Associated Types

type Rep Pong 
Instance details

Defined in M.V769.C

type Rep Pong = D1 ('MetaData "Pong" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Pong" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64)))

Methods

from :: Pong -> Rep Pong x #

to :: Rep Pong x -> Pong #

Read Pong Source # 
Instance details

Defined in M.V769.C

Show Pong Source # 
Instance details

Defined in M.V769.C

Methods

showsPrec :: Int -> Pong -> ShowS #

show :: Pong -> String #

showList :: [Pong] -> ShowS #

NFData Pong Source # 
Instance details

Defined in M.V769.C

Methods

rnf :: Pong -> () #

Eq Pong Source # 
Instance details

Defined in M.V769.C

Methods

(==) :: Pong -> Pong -> Bool #

(/=) :: Pong -> Pong -> Bool #

Ord Pong Source # 
Instance details

Defined in M.V769.C

Methods

compare :: Pong -> Pong -> Ordering #

(<) :: Pong -> Pong -> Bool #

(<=) :: Pong -> Pong -> Bool #

(>) :: Pong -> Pong -> Bool #

(>=) :: Pong -> Pong -> Bool #

max :: Pong -> Pong -> Pong #

min :: Pong -> Pong -> Pong #

Pack Pong Source # 
Instance details

Defined in M.V769.C

Methods

pack :: Pong -> Builder Source #

Unpack Pong Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Pong Source #

type Rep Pong Source # 
Instance details

Defined in M.V769.C

type Rep Pong = D1 ('MetaData "Pong" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Pong" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64)))

data AcknowledgeFinishConfiguration Source #

Instances

Instances details
Data AcknowledgeFinishConfiguration Source # 
Instance details

Defined in M.V769.C

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AcknowledgeFinishConfiguration -> c AcknowledgeFinishConfiguration #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AcknowledgeFinishConfiguration #

toConstr :: AcknowledgeFinishConfiguration -> Constr #

dataTypeOf :: AcknowledgeFinishConfiguration -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AcknowledgeFinishConfiguration) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AcknowledgeFinishConfiguration) #

gmapT :: (forall b. Data b => b -> b) -> AcknowledgeFinishConfiguration -> AcknowledgeFinishConfiguration #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AcknowledgeFinishConfiguration -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AcknowledgeFinishConfiguration -> r #

gmapQ :: (forall d. Data d => d -> u) -> AcknowledgeFinishConfiguration -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> AcknowledgeFinishConfiguration -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AcknowledgeFinishConfiguration -> m AcknowledgeFinishConfiguration #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AcknowledgeFinishConfiguration -> m AcknowledgeFinishConfiguration #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AcknowledgeFinishConfiguration -> m AcknowledgeFinishConfiguration #

Generic AcknowledgeFinishConfiguration Source # 
Instance details

Defined in M.V769.C

Associated Types

type Rep AcknowledgeFinishConfiguration 
Instance details

Defined in M.V769.C

type Rep AcknowledgeFinishConfiguration = D1 ('MetaData "AcknowledgeFinishConfiguration" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "AcknowledgeFinishConfiguration" 'PrefixI 'False) (U1 :: Type -> Type))
Read AcknowledgeFinishConfiguration Source # 
Instance details

Defined in M.V769.C

Show AcknowledgeFinishConfiguration Source # 
Instance details

Defined in M.V769.C

NFData AcknowledgeFinishConfiguration Source # 
Instance details

Defined in M.V769.C

Eq AcknowledgeFinishConfiguration Source # 
Instance details

Defined in M.V769.C

Ord AcknowledgeFinishConfiguration Source # 
Instance details

Defined in M.V769.C

Pack AcknowledgeFinishConfiguration Source # 
Instance details

Defined in M.V769.C

Unpack AcknowledgeFinishConfiguration Source # 
Instance details

Defined in M.V769.C

type Rep AcknowledgeFinishConfiguration Source # 
Instance details

Defined in M.V769.C

type Rep AcknowledgeFinishConfiguration = D1 ('MetaData "AcknowledgeFinishConfiguration" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "AcknowledgeFinishConfiguration" 'PrefixI 'False) (U1 :: Type -> Type))

data CookieResponse Source #

Constructors

CookieResponse 

Fields

Instances

Instances details
Data CookieResponse Source # 
Instance details

Defined in M.V769.C

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CookieResponse -> c CookieResponse #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CookieResponse #

toConstr :: CookieResponse -> Constr #

dataTypeOf :: CookieResponse -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CookieResponse) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CookieResponse) #

gmapT :: (forall b. Data b => b -> b) -> CookieResponse -> CookieResponse #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CookieResponse -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CookieResponse -> r #

gmapQ :: (forall d. Data d => d -> u) -> CookieResponse -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CookieResponse -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CookieResponse -> m CookieResponse #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CookieResponse -> m CookieResponse #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CookieResponse -> m CookieResponse #

Generic CookieResponse Source # 
Instance details

Defined in M.V769.C

Associated Types

type Rep CookieResponse 
Instance details

Defined in M.V769.C

type Rep CookieResponse = D1 ('MetaData "CookieResponse" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CookieResponse" 'PrefixI 'True) (S1 ('MetaSel ('Just "key") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "value") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Read CookieResponse Source # 
Instance details

Defined in M.V769.C

Show CookieResponse Source # 
Instance details

Defined in M.V769.C

NFData CookieResponse Source # 
Instance details

Defined in M.V769.C

Methods

rnf :: CookieResponse -> () #

Eq CookieResponse Source # 
Instance details

Defined in M.V769.C

Ord CookieResponse Source # 
Instance details

Defined in M.V769.C

Pack CookieResponse Source # 
Instance details

Defined in M.V769.C

Unpack CookieResponse Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CookieResponse Source #

type Rep CookieResponse Source # 
Instance details

Defined in M.V769.C

type Rep CookieResponse = D1 ('MetaData "CookieResponse" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CookieResponse" 'PrefixI 'True) (S1 ('MetaSel ('Just "key") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "value") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data ClientInformationConfiguration__ Source #

Instances

Instances details
Generic ClientInformationConfiguration__ Source # 
Instance details

Defined in M.V769.C

Associated Types

type Rep ClientInformationConfiguration__ 
Instance details

Defined in M.V769.C

NFData ClientInformationConfiguration__ Source # 
Instance details

Defined in M.V769.C

Eq ClientInformationConfiguration__ Source # 
Instance details

Defined in M.V769.C

Ord ClientInformationConfiguration__ Source # 
Instance details

Defined in M.V769.C

Pack ClientInformationConfiguration__ Source # 
Instance details

Defined in M.V769.C

Unpack ClientInformationConfiguration__ Source # 
Instance details

Defined in M.V769.C

type Rep ClientInformationConfiguration__ Source # 
Instance details

Defined in M.V769.C

data ClientInformationConfiguration Source #

Instances

Instances details
Data ClientInformationConfiguration Source # 
Instance details

Defined in M.V769.C

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ClientInformationConfiguration -> c ClientInformationConfiguration #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ClientInformationConfiguration #

toConstr :: ClientInformationConfiguration -> Constr #

dataTypeOf :: ClientInformationConfiguration -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ClientInformationConfiguration) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ClientInformationConfiguration) #

gmapT :: (forall b. Data b => b -> b) -> ClientInformationConfiguration -> ClientInformationConfiguration #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ClientInformationConfiguration -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ClientInformationConfiguration -> r #

gmapQ :: (forall d. Data d => d -> u) -> ClientInformationConfiguration -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ClientInformationConfiguration -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ClientInformationConfiguration -> m ClientInformationConfiguration #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ClientInformationConfiguration -> m ClientInformationConfiguration #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ClientInformationConfiguration -> m ClientInformationConfiguration #

Generic ClientInformationConfiguration Source # 
Instance details

Defined in M.V769.C

Associated Types

type Rep ClientInformationConfiguration 
Instance details

Defined in M.V769.C

Read ClientInformationConfiguration Source # 
Instance details

Defined in M.V769.C

Show ClientInformationConfiguration Source # 
Instance details

Defined in M.V769.C

NFData ClientInformationConfiguration Source # 
Instance details

Defined in M.V769.C

Eq ClientInformationConfiguration Source # 
Instance details

Defined in M.V769.C

Ord ClientInformationConfiguration Source # 
Instance details

Defined in M.V769.C

Pack ClientInformationConfiguration Source # 
Instance details

Defined in M.V769.C

Unpack ClientInformationConfiguration Source # 
Instance details

Defined in M.V769.C

type Rep ClientInformationConfiguration Source # 
Instance details

Defined in M.V769.C

data ServerLinks__ Source #

Constructors

ServerLinks__ 

Fields

Instances

data ServerLinks Source #

Constructors

ServerLinks 

Fields

Instances

data CustomReportDetails__ Source #

Constructors

CustomReportDetails__ 

Fields

Instances

Instances details
Generic CustomReportDetails__ Source # 
Instance details

Defined in M.V769.C

Associated Types

type Rep CustomReportDetails__ 
Instance details

Defined in M.V769.C

type Rep CustomReportDetails__ = D1 ('MetaData "CustomReportDetails__" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CustomReportDetails__" 'PrefixI 'True) (S1 ('MetaSel ('Just "details__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TakeRest)))
NFData CustomReportDetails__ Source # 
Instance details

Defined in M.V769.C

Methods

rnf :: CustomReportDetails__ -> () #

Eq CustomReportDetails__ Source # 
Instance details

Defined in M.V769.C

Ord CustomReportDetails__ Source # 
Instance details

Defined in M.V769.C

Pack CustomReportDetails__ Source # 
Instance details

Defined in M.V769.C

Unpack CustomReportDetails__ Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CustomReportDetails__ Source #

type Rep CustomReportDetails__ Source # 
Instance details

Defined in M.V769.C

type Rep CustomReportDetails__ = D1 ('MetaData "CustomReportDetails__" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CustomReportDetails__" 'PrefixI 'True) (S1 ('MetaSel ('Just "details__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TakeRest)))

data CustomReportDetails Source #

Constructors

CustomReportDetails 

Fields

Instances

Instances details
Data CustomReportDetails Source # 
Instance details

Defined in M.V769.C

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CustomReportDetails -> c CustomReportDetails #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CustomReportDetails #

toConstr :: CustomReportDetails -> Constr #

dataTypeOf :: CustomReportDetails -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CustomReportDetails) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CustomReportDetails) #

gmapT :: (forall b. Data b => b -> b) -> CustomReportDetails -> CustomReportDetails #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CustomReportDetails -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CustomReportDetails -> r #

gmapQ :: (forall d. Data d => d -> u) -> CustomReportDetails -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CustomReportDetails -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CustomReportDetails -> m CustomReportDetails #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CustomReportDetails -> m CustomReportDetails #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CustomReportDetails -> m CustomReportDetails #

Generic CustomReportDetails Source # 
Instance details

Defined in M.V769.C

Associated Types

type Rep CustomReportDetails 
Instance details

Defined in M.V769.C

type Rep CustomReportDetails = D1 ('MetaData "CustomReportDetails" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CustomReportDetails" 'PrefixI 'True) (S1 ('MetaSel ('Just "details") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))
Read CustomReportDetails Source # 
Instance details

Defined in M.V769.C

Show CustomReportDetails Source # 
Instance details

Defined in M.V769.C

NFData CustomReportDetails Source # 
Instance details

Defined in M.V769.C

Methods

rnf :: CustomReportDetails -> () #

Eq CustomReportDetails Source # 
Instance details

Defined in M.V769.C

Ord CustomReportDetails Source # 
Instance details

Defined in M.V769.C

Pack CustomReportDetails Source # 
Instance details

Defined in M.V769.C

Unpack CustomReportDetails Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CustomReportDetails Source #

type Rep CustomReportDetails Source # 
Instance details

Defined in M.V769.C

type Rep CustomReportDetails = D1 ('MetaData "CustomReportDetails" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CustomReportDetails" 'PrefixI 'True) (S1 ('MetaSel ('Just "details") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

data KnownPacks__ Source #

Constructors

KnownPacks__ 

Fields

Instances

Instances details
Generic KnownPacks__ Source # 
Instance details

Defined in M.V769.C

Associated Types

type Rep KnownPacks__ 
Instance details

Defined in M.V769.C

type Rep KnownPacks__ = D1 ('MetaData "KnownPacks__" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "KnownPacks__" 'PrefixI 'True) (S1 ('MetaSel ('Just "packs__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TakeRest)))
NFData KnownPacks__ Source # 
Instance details

Defined in M.V769.C

Methods

rnf :: KnownPacks__ -> () #

Eq KnownPacks__ Source # 
Instance details

Defined in M.V769.C

Ord KnownPacks__ Source # 
Instance details

Defined in M.V769.C

Pack KnownPacks__ Source # 
Instance details

Defined in M.V769.C

Unpack KnownPacks__ Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r KnownPacks__ Source #

type Rep KnownPacks__ Source # 
Instance details

Defined in M.V769.C

type Rep KnownPacks__ = D1 ('MetaData "KnownPacks__" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "KnownPacks__" 'PrefixI 'True) (S1 ('MetaSel ('Just "packs__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TakeRest)))

data KnownPacks Source #

Constructors

KnownPacks 

Fields

Instances

Instances details
Data KnownPacks Source # 
Instance details

Defined in M.V769.C

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> KnownPacks -> c KnownPacks #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c KnownPacks #

toConstr :: KnownPacks -> Constr #

dataTypeOf :: KnownPacks -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c KnownPacks) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c KnownPacks) #

gmapT :: (forall b. Data b => b -> b) -> KnownPacks -> KnownPacks #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> KnownPacks -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> KnownPacks -> r #

gmapQ :: (forall d. Data d => d -> u) -> KnownPacks -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> KnownPacks -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> KnownPacks -> m KnownPacks #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> KnownPacks -> m KnownPacks #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> KnownPacks -> m KnownPacks #

Generic KnownPacks Source # 
Instance details

Defined in M.V769.C

Associated Types

type Rep KnownPacks 
Instance details

Defined in M.V769.C

type Rep KnownPacks = D1 ('MetaData "KnownPacks" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "KnownPacks" 'PrefixI 'True) (S1 ('MetaSel ('Just "packs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))
Read KnownPacks Source # 
Instance details

Defined in M.V769.C

Show KnownPacks Source # 
Instance details

Defined in M.V769.C

NFData KnownPacks Source # 
Instance details

Defined in M.V769.C

Methods

rnf :: KnownPacks -> () #

Eq KnownPacks Source # 
Instance details

Defined in M.V769.C

Ord KnownPacks Source # 
Instance details

Defined in M.V769.C

Pack KnownPacks Source # 
Instance details

Defined in M.V769.C

Unpack KnownPacks Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r KnownPacks Source #

type Rep KnownPacks Source # 
Instance details

Defined in M.V769.C

type Rep KnownPacks = D1 ('MetaData "KnownPacks" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "KnownPacks" 'PrefixI 'True) (S1 ('MetaSel ('Just "packs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

data UpdateTags__ Source #

Constructors

UpdateTags__ 

Fields

Instances

Instances details
Generic UpdateTags__ Source # 
Instance details

Defined in M.V769.C

Associated Types

type Rep UpdateTags__ 
Instance details

Defined in M.V769.C

type Rep UpdateTags__ = D1 ('MetaData "UpdateTags__" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateTags__" 'PrefixI 'True) (S1 ('MetaSel ('Just "tags__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TakeRest)))
NFData UpdateTags__ Source # 
Instance details

Defined in M.V769.C

Methods

rnf :: UpdateTags__ -> () #

Eq UpdateTags__ Source # 
Instance details

Defined in M.V769.C

Ord UpdateTags__ Source # 
Instance details

Defined in M.V769.C

Pack UpdateTags__ Source # 
Instance details

Defined in M.V769.C

Unpack UpdateTags__ Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateTags__ Source #

type Rep UpdateTags__ Source # 
Instance details

Defined in M.V769.C

type Rep UpdateTags__ = D1 ('MetaData "UpdateTags__" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateTags__" 'PrefixI 'True) (S1 ('MetaSel ('Just "tags__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TakeRest)))

data UpdateTags Source #

Constructors

UpdateTags 

Fields

Instances

Instances details
Data UpdateTags Source # 
Instance details

Defined in M.V769.C

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UpdateTags -> c UpdateTags #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UpdateTags #

toConstr :: UpdateTags -> Constr #

dataTypeOf :: UpdateTags -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UpdateTags) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UpdateTags) #

gmapT :: (forall b. Data b => b -> b) -> UpdateTags -> UpdateTags #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UpdateTags -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UpdateTags -> r #

gmapQ :: (forall d. Data d => d -> u) -> UpdateTags -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> UpdateTags -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UpdateTags -> m UpdateTags #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateTags -> m UpdateTags #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateTags -> m UpdateTags #

Generic UpdateTags Source # 
Instance details

Defined in M.V769.C

Associated Types

type Rep UpdateTags 
Instance details

Defined in M.V769.C

type Rep UpdateTags = D1 ('MetaData "UpdateTags" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateTags" 'PrefixI 'True) (S1 ('MetaSel ('Just "tags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))
Read UpdateTags Source # 
Instance details

Defined in M.V769.C

Show UpdateTags Source # 
Instance details

Defined in M.V769.C

NFData UpdateTags Source # 
Instance details

Defined in M.V769.C

Methods

rnf :: UpdateTags -> () #

Eq UpdateTags Source # 
Instance details

Defined in M.V769.C

Ord UpdateTags Source # 
Instance details

Defined in M.V769.C

Pack UpdateTags Source # 
Instance details

Defined in M.V769.C

Unpack UpdateTags Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateTags Source #

type Rep UpdateTags Source # 
Instance details

Defined in M.V769.C

type Rep UpdateTags = D1 ('MetaData "UpdateTags" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateTags" 'PrefixI 'True) (S1 ('MetaSel ('Just "tags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

data FeatureFlags__ Source #

Constructors

FeatureFlags__ 

Fields

Instances

Instances details
Generic FeatureFlags__ Source # 
Instance details

Defined in M.V769.C

Associated Types

type Rep FeatureFlags__ 
Instance details

Defined in M.V769.C

type Rep FeatureFlags__ = D1 ('MetaData "FeatureFlags__" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "FeatureFlags__" 'PrefixI 'True) (S1 ('MetaSel ('Just "flags__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Identifier))))
NFData FeatureFlags__ Source # 
Instance details

Defined in M.V769.C

Methods

rnf :: FeatureFlags__ -> () #

Eq FeatureFlags__ Source # 
Instance details

Defined in M.V769.C

Ord FeatureFlags__ Source # 
Instance details

Defined in M.V769.C

Pack FeatureFlags__ Source # 
Instance details

Defined in M.V769.C

Unpack FeatureFlags__ Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r FeatureFlags__ Source #

type Rep FeatureFlags__ Source # 
Instance details

Defined in M.V769.C

type Rep FeatureFlags__ = D1 ('MetaData "FeatureFlags__" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "FeatureFlags__" 'PrefixI 'True) (S1 ('MetaSel ('Just "flags__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Identifier))))

data FeatureFlags Source #

Constructors

FeatureFlags 

Fields

Instances

Instances details
Data FeatureFlags Source # 
Instance details

Defined in M.V769.C

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FeatureFlags -> c FeatureFlags #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FeatureFlags #

toConstr :: FeatureFlags -> Constr #

dataTypeOf :: FeatureFlags -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FeatureFlags) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FeatureFlags) #

gmapT :: (forall b. Data b => b -> b) -> FeatureFlags -> FeatureFlags #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FeatureFlags -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FeatureFlags -> r #

gmapQ :: (forall d. Data d => d -> u) -> FeatureFlags -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> FeatureFlags -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> FeatureFlags -> m FeatureFlags #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FeatureFlags -> m FeatureFlags #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FeatureFlags -> m FeatureFlags #

Generic FeatureFlags Source # 
Instance details

Defined in M.V769.C

Associated Types

type Rep FeatureFlags 
Instance details

Defined in M.V769.C

type Rep FeatureFlags = D1 ('MetaData "FeatureFlags" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "FeatureFlags" 'PrefixI 'True) (S1 ('MetaSel ('Just "flags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Text))))
Read FeatureFlags Source # 
Instance details

Defined in M.V769.C

Show FeatureFlags Source # 
Instance details

Defined in M.V769.C

NFData FeatureFlags Source # 
Instance details

Defined in M.V769.C

Methods

rnf :: FeatureFlags -> () #

Eq FeatureFlags Source # 
Instance details

Defined in M.V769.C

Ord FeatureFlags Source # 
Instance details

Defined in M.V769.C

Pack FeatureFlags Source # 
Instance details

Defined in M.V769.C

Unpack FeatureFlags Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r FeatureFlags Source #

type Rep FeatureFlags Source # 
Instance details

Defined in M.V769.C

type Rep FeatureFlags = D1 ('MetaData "FeatureFlags" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "FeatureFlags" 'PrefixI 'True) (S1 ('MetaSel ('Just "flags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Text))))

data Transfer Source #

Constructors

Transfer 

Instances

Instances details
Data Transfer Source # 
Instance details

Defined in M.V769.C

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Transfer -> c Transfer #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Transfer #

toConstr :: Transfer -> Constr #

dataTypeOf :: Transfer -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Transfer) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Transfer) #

gmapT :: (forall b. Data b => b -> b) -> Transfer -> Transfer #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Transfer -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Transfer -> r #

gmapQ :: (forall d. Data d => d -> u) -> Transfer -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Transfer -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Transfer -> m Transfer #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Transfer -> m Transfer #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Transfer -> m Transfer #

Generic Transfer Source # 
Instance details

Defined in M.V769.C

Associated Types

type Rep Transfer 
Instance details

Defined in M.V769.C

type Rep Transfer = D1 ('MetaData "Transfer" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Transfer" 'PrefixI 'True) (S1 ('MetaSel ('Just "serveraddress") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "serverport") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word16)))

Methods

from :: Transfer -> Rep Transfer x #

to :: Rep Transfer x -> Transfer #

Read Transfer Source # 
Instance details

Defined in M.V769.C

Show Transfer Source # 
Instance details

Defined in M.V769.C

NFData Transfer Source # 
Instance details

Defined in M.V769.C

Methods

rnf :: Transfer -> () #

Eq Transfer Source # 
Instance details

Defined in M.V769.C

Ord Transfer Source # 
Instance details

Defined in M.V769.C

Pack Transfer Source # 
Instance details

Defined in M.V769.C

Unpack Transfer Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Transfer Source #

type Rep Transfer Source # 
Instance details

Defined in M.V769.C

type Rep Transfer = D1 ('MetaData "Transfer" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Transfer" 'PrefixI 'True) (S1 ('MetaSel ('Just "serveraddress") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "serverport") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word16)))

data StoreCookie Source #

Constructors

StoreCookie 

Fields

Instances

Instances details
Data StoreCookie Source # 
Instance details

Defined in M.V769.C

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> StoreCookie -> c StoreCookie #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c StoreCookie #

toConstr :: StoreCookie -> Constr #

dataTypeOf :: StoreCookie -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c StoreCookie) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c StoreCookie) #

gmapT :: (forall b. Data b => b -> b) -> StoreCookie -> StoreCookie #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> StoreCookie -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> StoreCookie -> r #

gmapQ :: (forall d. Data d => d -> u) -> StoreCookie -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> StoreCookie -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> StoreCookie -> m StoreCookie #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> StoreCookie -> m StoreCookie #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> StoreCookie -> m StoreCookie #

Generic StoreCookie Source # 
Instance details

Defined in M.V769.C

Associated Types

type Rep StoreCookie 
Instance details

Defined in M.V769.C

type Rep StoreCookie = D1 ('MetaData "StoreCookie" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "StoreCookie" 'PrefixI 'True) (S1 ('MetaSel ('Just "key") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "value") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Read StoreCookie Source # 
Instance details

Defined in M.V769.C

Show StoreCookie Source # 
Instance details

Defined in M.V769.C

NFData StoreCookie Source # 
Instance details

Defined in M.V769.C

Methods

rnf :: StoreCookie -> () #

Eq StoreCookie Source # 
Instance details

Defined in M.V769.C

Ord StoreCookie Source # 
Instance details

Defined in M.V769.C

Pack StoreCookie Source # 
Instance details

Defined in M.V769.C

Unpack StoreCookie Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r StoreCookie Source #

type Rep StoreCookie Source # 
Instance details

Defined in M.V769.C

type Rep StoreCookie = D1 ('MetaData "StoreCookie" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "StoreCookie" 'PrefixI 'True) (S1 ('MetaSel ('Just "key") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "value") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data RemoveResourcePack Source #

Constructors

RemoveResourcePack 

Instances

Instances details
Data RemoveResourcePack Source # 
Instance details

Defined in M.V769.C

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RemoveResourcePack -> c RemoveResourcePack #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RemoveResourcePack #

toConstr :: RemoveResourcePack -> Constr #

dataTypeOf :: RemoveResourcePack -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RemoveResourcePack) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RemoveResourcePack) #

gmapT :: (forall b. Data b => b -> b) -> RemoveResourcePack -> RemoveResourcePack #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RemoveResourcePack -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RemoveResourcePack -> r #

gmapQ :: (forall d. Data d => d -> u) -> RemoveResourcePack -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> RemoveResourcePack -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> RemoveResourcePack -> m RemoveResourcePack #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RemoveResourcePack -> m RemoveResourcePack #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RemoveResourcePack -> m RemoveResourcePack #

Generic RemoveResourcePack Source # 
Instance details

Defined in M.V769.C

Associated Types

type Rep RemoveResourcePack 
Instance details

Defined in M.V769.C

type Rep RemoveResourcePack = D1 ('MetaData "RemoveResourcePack" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "RemoveResourcePack" 'PrefixI 'False) (U1 :: Type -> Type))
Read RemoveResourcePack Source # 
Instance details

Defined in M.V769.C

Show RemoveResourcePack Source # 
Instance details

Defined in M.V769.C

NFData RemoveResourcePack Source # 
Instance details

Defined in M.V769.C

Methods

rnf :: RemoveResourcePack -> () #

Eq RemoveResourcePack Source # 
Instance details

Defined in M.V769.C

Ord RemoveResourcePack Source # 
Instance details

Defined in M.V769.C

Pack RemoveResourcePack Source # 
Instance details

Defined in M.V769.C

Unpack RemoveResourcePack Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r RemoveResourcePack Source #

type Rep RemoveResourcePack Source # 
Instance details

Defined in M.V769.C

type Rep RemoveResourcePack = D1 ('MetaData "RemoveResourcePack" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "RemoveResourcePack" 'PrefixI 'False) (U1 :: Type -> Type))

data RegistryData Source #

Constructors

RegistryData 

Fields

Instances

Instances details
Data RegistryData Source # 
Instance details

Defined in M.V769.C

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RegistryData -> c RegistryData #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RegistryData #

toConstr :: RegistryData -> Constr #

dataTypeOf :: RegistryData -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RegistryData) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RegistryData) #

gmapT :: (forall b. Data b => b -> b) -> RegistryData -> RegistryData #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RegistryData -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RegistryData -> r #

gmapQ :: (forall d. Data d => d -> u) -> RegistryData -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> RegistryData -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> RegistryData -> m RegistryData #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RegistryData -> m RegistryData #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RegistryData -> m RegistryData #

Generic RegistryData Source # 
Instance details

Defined in M.V769.C

Associated Types

type Rep RegistryData 
Instance details

Defined in M.V769.C

type Rep RegistryData = D1 ('MetaData "RegistryData" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "RegistryData" 'PrefixI 'True) (S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))
Read RegistryData Source # 
Instance details

Defined in M.V769.C

Show RegistryData Source # 
Instance details

Defined in M.V769.C

NFData RegistryData Source # 
Instance details

Defined in M.V769.C

Methods

rnf :: RegistryData -> () #

Eq RegistryData Source # 
Instance details

Defined in M.V769.C

Ord RegistryData Source # 
Instance details

Defined in M.V769.C

Pack RegistryData Source # 
Instance details

Defined in M.V769.C

Unpack RegistryData Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r RegistryData Source #

type Rep RegistryData Source # 
Instance details

Defined in M.V769.C

type Rep RegistryData = D1 ('MetaData "RegistryData" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "RegistryData" 'PrefixI 'True) (S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

data ResetChat Source #

Constructors

ResetChat 

Instances

Instances details
Data ResetChat Source # 
Instance details

Defined in M.V769.C

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ResetChat -> c ResetChat #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ResetChat #

toConstr :: ResetChat -> Constr #

dataTypeOf :: ResetChat -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ResetChat) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ResetChat) #

gmapT :: (forall b. Data b => b -> b) -> ResetChat -> ResetChat #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ResetChat -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ResetChat -> r #

gmapQ :: (forall d. Data d => d -> u) -> ResetChat -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ResetChat -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ResetChat -> m ResetChat #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ResetChat -> m ResetChat #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ResetChat -> m ResetChat #

Generic ResetChat Source # 
Instance details

Defined in M.V769.C

Associated Types

type Rep ResetChat 
Instance details

Defined in M.V769.C

type Rep ResetChat = D1 ('MetaData "ResetChat" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ResetChat" 'PrefixI 'False) (U1 :: Type -> Type))
Read ResetChat Source # 
Instance details

Defined in M.V769.C

Show ResetChat Source # 
Instance details

Defined in M.V769.C

NFData ResetChat Source # 
Instance details

Defined in M.V769.C

Methods

rnf :: ResetChat -> () #

Eq ResetChat Source # 
Instance details

Defined in M.V769.C

Ord ResetChat Source # 
Instance details

Defined in M.V769.C

Pack ResetChat Source # 
Instance details

Defined in M.V769.C

Unpack ResetChat Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ResetChat Source #

type Rep ResetChat Source # 
Instance details

Defined in M.V769.C

type Rep ResetChat = D1 ('MetaData "ResetChat" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ResetChat" 'PrefixI 'False) (U1 :: Type -> Type))

data FinishConfiguration Source #

Constructors

FinishConfiguration 

Instances

Instances details
Data FinishConfiguration Source # 
Instance details

Defined in M.V769.C

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FinishConfiguration -> c FinishConfiguration #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FinishConfiguration #

toConstr :: FinishConfiguration -> Constr #

dataTypeOf :: FinishConfiguration -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FinishConfiguration) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FinishConfiguration) #

gmapT :: (forall b. Data b => b -> b) -> FinishConfiguration -> FinishConfiguration #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FinishConfiguration -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FinishConfiguration -> r #

gmapQ :: (forall d. Data d => d -> u) -> FinishConfiguration -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> FinishConfiguration -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> FinishConfiguration -> m FinishConfiguration #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FinishConfiguration -> m FinishConfiguration #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FinishConfiguration -> m FinishConfiguration #

Generic FinishConfiguration Source # 
Instance details

Defined in M.V769.C

Associated Types

type Rep FinishConfiguration 
Instance details

Defined in M.V769.C

type Rep FinishConfiguration = D1 ('MetaData "FinishConfiguration" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "FinishConfiguration" 'PrefixI 'False) (U1 :: Type -> Type))
Read FinishConfiguration Source # 
Instance details

Defined in M.V769.C

Show FinishConfiguration Source # 
Instance details

Defined in M.V769.C

NFData FinishConfiguration Source # 
Instance details

Defined in M.V769.C

Methods

rnf :: FinishConfiguration -> () #

Eq FinishConfiguration Source # 
Instance details

Defined in M.V769.C

Ord FinishConfiguration Source # 
Instance details

Defined in M.V769.C

Pack FinishConfiguration Source # 
Instance details

Defined in M.V769.C

Unpack FinishConfiguration Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r FinishConfiguration Source #

type Rep FinishConfiguration Source # 
Instance details

Defined in M.V769.C

type Rep FinishConfiguration = D1 ('MetaData "FinishConfiguration" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "FinishConfiguration" 'PrefixI 'False) (U1 :: Type -> Type))

data Disconnect Source #

Constructors

Disconnect 

Fields

Instances

Instances details
Data Disconnect Source # 
Instance details

Defined in M.V769.C

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Disconnect -> c Disconnect #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Disconnect #

toConstr :: Disconnect -> Constr #

dataTypeOf :: Disconnect -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Disconnect) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Disconnect) #

gmapT :: (forall b. Data b => b -> b) -> Disconnect -> Disconnect #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Disconnect -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Disconnect -> r #

gmapQ :: (forall d. Data d => d -> u) -> Disconnect -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Disconnect -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Disconnect -> m Disconnect #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Disconnect -> m Disconnect #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Disconnect -> m Disconnect #

Generic Disconnect Source # 
Instance details

Defined in M.V769.C

Associated Types

type Rep Disconnect 
Instance details

Defined in M.V769.C

type Rep Disconnect = D1 ('MetaData "Disconnect" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Disconnect" 'PrefixI 'True) (S1 ('MetaSel ('Just "reason") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Read Disconnect Source # 
Instance details

Defined in M.V769.C

Show Disconnect Source # 
Instance details

Defined in M.V769.C

NFData Disconnect Source # 
Instance details

Defined in M.V769.C

Methods

rnf :: Disconnect -> () #

Eq Disconnect Source # 
Instance details

Defined in M.V769.C

Ord Disconnect Source # 
Instance details

Defined in M.V769.C

Pack Disconnect Source # 
Instance details

Defined in M.V769.C

Unpack Disconnect Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Disconnect Source #

type Rep Disconnect Source # 
Instance details

Defined in M.V769.C

type Rep Disconnect = D1 ('MetaData "Disconnect" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Disconnect" 'PrefixI 'True) (S1 ('MetaSel ('Just "reason") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data CookieRequest Source #

Constructors

CookieRequest 

Fields

Instances

Instances details
Data CookieRequest Source # 
Instance details

Defined in M.V769.C

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CookieRequest -> c CookieRequest #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CookieRequest #

toConstr :: CookieRequest -> Constr #

dataTypeOf :: CookieRequest -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CookieRequest) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CookieRequest) #

gmapT :: (forall b. Data b => b -> b) -> CookieRequest -> CookieRequest #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CookieRequest -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CookieRequest -> r #

gmapQ :: (forall d. Data d => d -> u) -> CookieRequest -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CookieRequest -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CookieRequest -> m CookieRequest #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CookieRequest -> m CookieRequest #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CookieRequest -> m CookieRequest #

Generic CookieRequest Source # 
Instance details

Defined in M.V769.C

Associated Types

type Rep CookieRequest 
Instance details

Defined in M.V769.C

type Rep CookieRequest = D1 ('MetaData "CookieRequest" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CookieRequest" 'PrefixI 'True) (S1 ('MetaSel ('Just "key") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Read CookieRequest Source # 
Instance details

Defined in M.V769.C

Show CookieRequest Source # 
Instance details

Defined in M.V769.C

NFData CookieRequest Source # 
Instance details

Defined in M.V769.C

Methods

rnf :: CookieRequest -> () #

Eq CookieRequest Source # 
Instance details

Defined in M.V769.C

Ord CookieRequest Source # 
Instance details

Defined in M.V769.C

Pack CookieRequest Source # 
Instance details

Defined in M.V769.C

Unpack CookieRequest Source # 
Instance details

Defined in M.V769.C

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CookieRequest Source #

type Rep CookieRequest Source # 
Instance details

Defined in M.V769.C

type Rep CookieRequest = D1 ('MetaData "CookieRequest" "M.V769.C" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CookieRequest" 'PrefixI 'True) (S1 ('MetaSel ('Just "key") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
\ No newline at end of file diff --git a/M-V769-H.html b/M-V769-H.html new file mode 100644 index 0000000..d09489f --- /dev/null +++ b/M-V769-H.html @@ -0,0 +1,3 @@ +M.V769.H
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.V769.H

Description

Implements packet structures for the initial handshake phase of protocol + version 769, where clients establish basic connection parameters including + protocol version and intended next state.

Documentation

data HandshakePacket__ Source #

Instances

Instances details
Generic HandshakePacket__ Source # 
Instance details

Defined in M.V769.H

Associated Types

type Rep HandshakePacket__ 
Instance details

Defined in M.V769.H

type Rep HandshakePacket__ = D1 ('MetaData "HandshakePacket__" "M.V769.H" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "HandshakePacket__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "protocolversion__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "serveraddress__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "serverport__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word16) :*: S1 ('MetaSel ('Just "nextstate__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))))
NFData HandshakePacket__ Source # 
Instance details

Defined in M.V769.H

Methods

rnf :: HandshakePacket__ -> () #

Eq HandshakePacket__ Source # 
Instance details

Defined in M.V769.H

Ord HandshakePacket__ Source # 
Instance details

Defined in M.V769.H

Pack HandshakePacket__ Source # 
Instance details

Defined in M.V769.H

Unpack HandshakePacket__ Source # 
Instance details

Defined in M.V769.H

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r HandshakePacket__ Source #

type Rep HandshakePacket__ Source # 
Instance details

Defined in M.V769.H

type Rep HandshakePacket__ = D1 ('MetaData "HandshakePacket__" "M.V769.H" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "HandshakePacket__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "protocolversion__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "serveraddress__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "serverport__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word16) :*: S1 ('MetaSel ('Just "nextstate__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))))

data HandshakePacket Source #

Instances

Instances details
Data HandshakePacket Source # 
Instance details

Defined in M.V769.H

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HandshakePacket -> c HandshakePacket #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c HandshakePacket #

toConstr :: HandshakePacket -> Constr #

dataTypeOf :: HandshakePacket -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c HandshakePacket) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c HandshakePacket) #

gmapT :: (forall b. Data b => b -> b) -> HandshakePacket -> HandshakePacket #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HandshakePacket -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HandshakePacket -> r #

gmapQ :: (forall d. Data d => d -> u) -> HandshakePacket -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> HandshakePacket -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> HandshakePacket -> m HandshakePacket #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HandshakePacket -> m HandshakePacket #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HandshakePacket -> m HandshakePacket #

Generic HandshakePacket Source # 
Instance details

Defined in M.V769.H

Associated Types

type Rep HandshakePacket 
Instance details

Defined in M.V769.H

type Rep HandshakePacket = D1 ('MetaData "HandshakePacket" "M.V769.H" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "HandshakePacket" 'PrefixI 'True) ((S1 ('MetaSel ('Just "protocolversion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "serveraddress") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "serverport") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word16) :*: S1 ('MetaSel ('Just "nextstate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))
Read HandshakePacket Source # 
Instance details

Defined in M.V769.H

Show HandshakePacket Source # 
Instance details

Defined in M.V769.H

NFData HandshakePacket Source # 
Instance details

Defined in M.V769.H

Methods

rnf :: HandshakePacket -> () #

Eq HandshakePacket Source # 
Instance details

Defined in M.V769.H

Ord HandshakePacket Source # 
Instance details

Defined in M.V769.H

Pack HandshakePacket Source # 
Instance details

Defined in M.V769.H

Unpack HandshakePacket Source # 
Instance details

Defined in M.V769.H

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r HandshakePacket Source #

type Rep HandshakePacket Source # 
Instance details

Defined in M.V769.H

type Rep HandshakePacket = D1 ('MetaData "HandshakePacket" "M.V769.H" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "HandshakePacket" 'PrefixI 'True) ((S1 ('MetaSel ('Just "protocolversion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "serveraddress") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "serverport") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word16) :*: S1 ('MetaSel ('Just "nextstate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))
\ No newline at end of file diff --git a/M-V769-I.html b/M-V769-I.html new file mode 100644 index 0000000..eef815a --- /dev/null +++ b/M-V769-I.html @@ -0,0 +1,3 @@ +M.V769.I
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.V769.I

Description

Provides internal type definitions and utilities for protocol version 769, + including game-specific enumerations, resolution specifications, and + display configuration types used across different protocol states.

Documentation

data SetEntityVelocityRes Source #

given in 1/8000 resolution

Instances

Instances details
HasResolution SetEntityVelocityRes Source #

given in 1/8000 resolution

Instance details

Defined in M.V769.I

data ChatMode Source #

Instances

Instances details
Data ChatMode Source # 
Instance details

Defined in M.V769.I

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ChatMode -> c ChatMode #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ChatMode #

toConstr :: ChatMode -> Constr #

dataTypeOf :: ChatMode -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ChatMode) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ChatMode) #

gmapT :: (forall b. Data b => b -> b) -> ChatMode -> ChatMode #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ChatMode -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ChatMode -> r #

gmapQ :: (forall d. Data d => d -> u) -> ChatMode -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ChatMode -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ChatMode -> m ChatMode #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ChatMode -> m ChatMode #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ChatMode -> m ChatMode #

Bounded ChatMode Source # 
Instance details

Defined in M.V769.I

Enum ChatMode Source # 
Instance details

Defined in M.V769.I

Generic ChatMode Source # 
Instance details

Defined in M.V769.I

Associated Types

type Rep ChatMode 
Instance details

Defined in M.V769.I

type Rep ChatMode = D1 ('MetaData "ChatMode" "M.V769.I" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CMEnabled" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CMCommandsOnly" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CMHidden" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: ChatMode -> Rep ChatMode x #

to :: Rep ChatMode x -> ChatMode #

Read ChatMode Source # 
Instance details

Defined in M.V769.I

Show ChatMode Source # 
Instance details

Defined in M.V769.I

NFData ChatMode Source # 
Instance details

Defined in M.V769.I

Methods

rnf :: ChatMode -> () #

Eq ChatMode Source # 
Instance details

Defined in M.V769.I

Ord ChatMode Source # 
Instance details

Defined in M.V769.I

Hashable ChatMode Source # 
Instance details

Defined in M.V769.I

Lift ChatMode Source # 
Instance details

Defined in M.V769.I

Methods

lift :: Quote m => ChatMode -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => ChatMode -> Code m ChatMode #

type Rep ChatMode Source # 
Instance details

Defined in M.V769.I

type Rep ChatMode = D1 ('MetaData "ChatMode" "M.V769.I" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CMEnabled" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CMCommandsOnly" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CMHidden" 'PrefixI 'False) (U1 :: Type -> Type)))

data ParticleStatus Source #

Constructors

PSAll 
PSDecreased 
PSMinimal 

Instances

Instances details
Data ParticleStatus Source # 
Instance details

Defined in M.V769.I

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ParticleStatus -> c ParticleStatus #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ParticleStatus #

toConstr :: ParticleStatus -> Constr #

dataTypeOf :: ParticleStatus -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ParticleStatus) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ParticleStatus) #

gmapT :: (forall b. Data b => b -> b) -> ParticleStatus -> ParticleStatus #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ParticleStatus -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ParticleStatus -> r #

gmapQ :: (forall d. Data d => d -> u) -> ParticleStatus -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ParticleStatus -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ParticleStatus -> m ParticleStatus #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ParticleStatus -> m ParticleStatus #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ParticleStatus -> m ParticleStatus #

Bounded ParticleStatus Source # 
Instance details

Defined in M.V769.I

Enum ParticleStatus Source # 
Instance details

Defined in M.V769.I

Generic ParticleStatus Source # 
Instance details

Defined in M.V769.I

Associated Types

type Rep ParticleStatus 
Instance details

Defined in M.V769.I

type Rep ParticleStatus = D1 ('MetaData "ParticleStatus" "M.V769.I" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PSAll" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PSDecreased" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PSMinimal" 'PrefixI 'False) (U1 :: Type -> Type)))
Read ParticleStatus Source # 
Instance details

Defined in M.V769.I

Show ParticleStatus Source # 
Instance details

Defined in M.V769.I

NFData ParticleStatus Source # 
Instance details

Defined in M.V769.I

Methods

rnf :: ParticleStatus -> () #

Eq ParticleStatus Source # 
Instance details

Defined in M.V769.I

Ord ParticleStatus Source # 
Instance details

Defined in M.V769.I

Hashable ParticleStatus Source # 
Instance details

Defined in M.V769.I

Lift ParticleStatus Source # 
Instance details

Defined in M.V769.I

Methods

lift :: Quote m => ParticleStatus -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => ParticleStatus -> Code m ParticleStatus #

type Rep ParticleStatus Source # 
Instance details

Defined in M.V769.I

type Rep ParticleStatus = D1 ('MetaData "ParticleStatus" "M.V769.I" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PSAll" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PSDecreased" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PSMinimal" 'PrefixI 'False) (U1 :: Type -> Type)))

data FilterType Source #

Instances

Instances details
Data FilterType Source # 
Instance details

Defined in M.V769.I

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FilterType -> c FilterType #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FilterType #

toConstr :: FilterType -> Constr #

dataTypeOf :: FilterType -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FilterType) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FilterType) #

gmapT :: (forall b. Data b => b -> b) -> FilterType -> FilterType #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FilterType -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FilterType -> r #

gmapQ :: (forall d. Data d => d -> u) -> FilterType -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> FilterType -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> FilterType -> m FilterType #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FilterType -> m FilterType #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FilterType -> m FilterType #

Bounded FilterType Source # 
Instance details

Defined in M.V769.I

Enum FilterType Source # 
Instance details

Defined in M.V769.I

Generic FilterType Source # 
Instance details

Defined in M.V769.I

Associated Types

type Rep FilterType 
Instance details

Defined in M.V769.I

type Rep FilterType = D1 ('MetaData "FilterType" "M.V769.I" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PassThrough" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "FullyFiltered" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PartiallyFiltered" 'PrefixI 'False) (U1 :: Type -> Type)))
Read FilterType Source # 
Instance details

Defined in M.V769.I

Show FilterType Source # 
Instance details

Defined in M.V769.I

NFData FilterType Source # 
Instance details

Defined in M.V769.I

Methods

rnf :: FilterType -> () #

Eq FilterType Source # 
Instance details

Defined in M.V769.I

Ord FilterType Source # 
Instance details

Defined in M.V769.I

Hashable FilterType Source # 
Instance details

Defined in M.V769.I

Lift FilterType Source # 
Instance details

Defined in M.V769.I

Methods

lift :: Quote m => FilterType -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => FilterType -> Code m FilterType #

type Rep FilterType Source # 
Instance details

Defined in M.V769.I

type Rep FilterType = D1 ('MetaData "FilterType" "M.V769.I" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PassThrough" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "FullyFiltered" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PartiallyFiltered" 'PrefixI 'False) (U1 :: Type -> Type)))

data BossBarColor Source #

Instances

Instances details
Data BossBarColor Source # 
Instance details

Defined in M.V769.I

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BossBarColor -> c BossBarColor #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BossBarColor #

toConstr :: BossBarColor -> Constr #

dataTypeOf :: BossBarColor -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BossBarColor) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BossBarColor) #

gmapT :: (forall b. Data b => b -> b) -> BossBarColor -> BossBarColor #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BossBarColor -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BossBarColor -> r #

gmapQ :: (forall d. Data d => d -> u) -> BossBarColor -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> BossBarColor -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> BossBarColor -> m BossBarColor #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BossBarColor -> m BossBarColor #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BossBarColor -> m BossBarColor #

Bounded BossBarColor Source # 
Instance details

Defined in M.V769.I

Enum BossBarColor Source # 
Instance details

Defined in M.V769.I

Generic BossBarColor Source # 
Instance details

Defined in M.V769.I

Associated Types

type Rep BossBarColor 
Instance details

Defined in M.V769.I

type Rep BossBarColor = D1 ('MetaData "BossBarColor" "M.V769.I" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) ((C1 ('MetaCons "BCPink" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BCBlue" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BCRed" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "BCGreen" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BCYellow" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BCPurple" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BCWhite" 'PrefixI 'False) (U1 :: Type -> Type))))
Read BossBarColor Source # 
Instance details

Defined in M.V769.I

Show BossBarColor Source # 
Instance details

Defined in M.V769.I

NFData BossBarColor Source # 
Instance details

Defined in M.V769.I

Methods

rnf :: BossBarColor -> () #

Eq BossBarColor Source # 
Instance details

Defined in M.V769.I

Ord BossBarColor Source # 
Instance details

Defined in M.V769.I

Hashable BossBarColor Source # 
Instance details

Defined in M.V769.I

Lift BossBarColor Source # 
Instance details

Defined in M.V769.I

Methods

lift :: Quote m => BossBarColor -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => BossBarColor -> Code m BossBarColor #

type Rep BossBarColor Source # 
Instance details

Defined in M.V769.I

type Rep BossBarColor = D1 ('MetaData "BossBarColor" "M.V769.I" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) ((C1 ('MetaCons "BCPink" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BCBlue" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BCRed" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "BCGreen" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BCYellow" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BCPurple" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BCWhite" 'PrefixI 'False) (U1 :: Type -> Type))))

newtype KeepAlive Source #

Constructors

KeepAlive 

Fields

Instances

Instances details
Data KeepAlive Source # 
Instance details

Defined in M.V769.I

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> KeepAlive -> c KeepAlive #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c KeepAlive #

toConstr :: KeepAlive -> Constr #

dataTypeOf :: KeepAlive -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c KeepAlive) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c KeepAlive) #

gmapT :: (forall b. Data b => b -> b) -> KeepAlive -> KeepAlive #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> KeepAlive -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> KeepAlive -> r #

gmapQ :: (forall d. Data d => d -> u) -> KeepAlive -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> KeepAlive -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> KeepAlive -> m KeepAlive #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> KeepAlive -> m KeepAlive #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> KeepAlive -> m KeepAlive #

Generic KeepAlive Source # 
Instance details

Defined in M.V769.I

Associated Types

type Rep KeepAlive 
Instance details

Defined in M.V769.I

type Rep KeepAlive = D1 ('MetaData "KeepAlive" "M.V769.I" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "KeepAlive" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64)))
Read KeepAlive Source # 
Instance details

Defined in M.V769.I

Show KeepAlive Source # 
Instance details

Defined in M.V769.I

NFData KeepAlive Source # 
Instance details

Defined in M.V769.I

Methods

rnf :: KeepAlive -> () #

Eq KeepAlive Source # 
Instance details

Defined in M.V769.I

Ord KeepAlive Source # 
Instance details

Defined in M.V769.I

Pack KeepAlive Source # 
Instance details

Defined in M.V769.I

Unpack KeepAlive Source # 
Instance details

Defined in M.V769.I

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r KeepAlive Source #

type Rep KeepAlive Source # 
Instance details

Defined in M.V769.I

type Rep KeepAlive = D1 ('MetaData "KeepAlive" "M.V769.I" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "KeepAlive" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64)))

data PluginMessage Source #

Constructors

PluginMessage 

Fields

Instances

Instances details
Data PluginMessage Source # 
Instance details

Defined in M.V769.I

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PluginMessage -> c PluginMessage #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PluginMessage #

toConstr :: PluginMessage -> Constr #

dataTypeOf :: PluginMessage -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PluginMessage) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PluginMessage) #

gmapT :: (forall b. Data b => b -> b) -> PluginMessage -> PluginMessage #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PluginMessage -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PluginMessage -> r #

gmapQ :: (forall d. Data d => d -> u) -> PluginMessage -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PluginMessage -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PluginMessage -> m PluginMessage #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PluginMessage -> m PluginMessage #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PluginMessage -> m PluginMessage #

Generic PluginMessage Source # 
Instance details

Defined in M.V769.I

Associated Types

type Rep PluginMessage 
Instance details

Defined in M.V769.I

type Rep PluginMessage = D1 ('MetaData "PluginMessage" "M.V769.I" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PluginMessage" 'PrefixI 'True) (S1 ('MetaSel ('Just "channel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))
Read PluginMessage Source # 
Instance details

Defined in M.V769.I

Show PluginMessage Source # 
Instance details

Defined in M.V769.I

NFData PluginMessage Source # 
Instance details

Defined in M.V769.I

Methods

rnf :: PluginMessage -> () #

Eq PluginMessage Source # 
Instance details

Defined in M.V769.I

Ord PluginMessage Source # 
Instance details

Defined in M.V769.I

Pack PluginMessage Source # 
Instance details

Defined in M.V769.I

Unpack PluginMessage Source # 
Instance details

Defined in M.V769.I

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PluginMessage Source #

type Rep PluginMessage Source # 
Instance details

Defined in M.V769.I

type Rep PluginMessage = D1 ('MetaData "PluginMessage" "M.V769.I" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PluginMessage" 'PrefixI 'True) (S1 ('MetaSel ('Just "channel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

data ResourcePack Source #

Constructors

ResourcePack 

Fields

Instances

Instances details
Data ResourcePack Source # 
Instance details

Defined in M.V769.I

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ResourcePack -> c ResourcePack #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ResourcePack #

toConstr :: ResourcePack -> Constr #

dataTypeOf :: ResourcePack -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ResourcePack) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ResourcePack) #

gmapT :: (forall b. Data b => b -> b) -> ResourcePack -> ResourcePack #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ResourcePack -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ResourcePack -> r #

gmapQ :: (forall d. Data d => d -> u) -> ResourcePack -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ResourcePack -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ResourcePack -> m ResourcePack #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ResourcePack -> m ResourcePack #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ResourcePack -> m ResourcePack #

Generic ResourcePack Source # 
Instance details

Defined in M.V769.I

Associated Types

type Rep ResourcePack 
Instance details

Defined in M.V769.I

type Rep ResourcePack = D1 ('MetaData "ResourcePack" "M.V769.I" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ResourcePack" 'PrefixI 'True) (S1 ('MetaSel ('Just "url") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "hash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Read ResourcePack Source # 
Instance details

Defined in M.V769.I

Show ResourcePack Source # 
Instance details

Defined in M.V769.I

NFData ResourcePack Source # 
Instance details

Defined in M.V769.I

Methods

rnf :: ResourcePack -> () #

Eq ResourcePack Source # 
Instance details

Defined in M.V769.I

Ord ResourcePack Source # 
Instance details

Defined in M.V769.I

Pack ResourcePack Source # 
Instance details

Defined in M.V769.I

Unpack ResourcePack Source # 
Instance details

Defined in M.V769.I

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ResourcePack Source #

type Rep ResourcePack Source # 
Instance details

Defined in M.V769.I

type Rep ResourcePack = D1 ('MetaData "ResourcePack" "M.V769.I" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ResourcePack" 'PrefixI 'True) (S1 ('MetaSel ('Just "url") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "hash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

newtype Ping Source #

Constructors

Ping 

Fields

Instances

Instances details
Data Ping Source # 
Instance details

Defined in M.V769.I

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Ping -> c Ping #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Ping #

toConstr :: Ping -> Constr #

dataTypeOf :: Ping -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Ping) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Ping) #

gmapT :: (forall b. Data b => b -> b) -> Ping -> Ping #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ping -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ping -> r #

gmapQ :: (forall d. Data d => d -> u) -> Ping -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Ping -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Ping -> m Ping #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Ping -> m Ping #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Ping -> m Ping #

Generic Ping Source # 
Instance details

Defined in M.V769.I

Associated Types

type Rep Ping 
Instance details

Defined in M.V769.I

type Rep Ping = D1 ('MetaData "Ping" "M.V769.I" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "Ping" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

Methods

from :: Ping -> Rep Ping x #

to :: Rep Ping x -> Ping #

Read Ping Source # 
Instance details

Defined in M.V769.I

Show Ping Source # 
Instance details

Defined in M.V769.I

Methods

showsPrec :: Int -> Ping -> ShowS #

show :: Ping -> String #

showList :: [Ping] -> ShowS #

NFData Ping Source # 
Instance details

Defined in M.V769.I

Methods

rnf :: Ping -> () #

Eq Ping Source # 
Instance details

Defined in M.V769.I

Methods

(==) :: Ping -> Ping -> Bool #

(/=) :: Ping -> Ping -> Bool #

Ord Ping Source # 
Instance details

Defined in M.V769.I

Methods

compare :: Ping -> Ping -> Ordering #

(<) :: Ping -> Ping -> Bool #

(<=) :: Ping -> Ping -> Bool #

(>) :: Ping -> Ping -> Bool #

(>=) :: Ping -> Ping -> Bool #

max :: Ping -> Ping -> Ping #

min :: Ping -> Ping -> Ping #

Pack Ping Source # 
Instance details

Defined in M.V769.I

Methods

pack :: Ping -> Builder Source #

Unpack Ping Source # 
Instance details

Defined in M.V769.I

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Ping Source #

type Rep Ping Source # 
Instance details

Defined in M.V769.I

type Rep Ping = D1 ('MetaData "Ping" "M.V769.I" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'True) (C1 ('MetaCons "Ping" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data DisplayedSkinParts Source #

Instances

Instances details
Data DisplayedSkinParts Source # 
Instance details

Defined in M.V769.I

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DisplayedSkinParts -> c DisplayedSkinParts #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DisplayedSkinParts #

toConstr :: DisplayedSkinParts -> Constr #

dataTypeOf :: DisplayedSkinParts -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DisplayedSkinParts) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DisplayedSkinParts) #

gmapT :: (forall b. Data b => b -> b) -> DisplayedSkinParts -> DisplayedSkinParts #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DisplayedSkinParts -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DisplayedSkinParts -> r #

gmapQ :: (forall d. Data d => d -> u) -> DisplayedSkinParts -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> DisplayedSkinParts -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DisplayedSkinParts -> m DisplayedSkinParts #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DisplayedSkinParts -> m DisplayedSkinParts #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DisplayedSkinParts -> m DisplayedSkinParts #

Generic DisplayedSkinParts Source # 
Instance details

Defined in M.V769.I

Read DisplayedSkinParts Source # 
Instance details

Defined in M.V769.I

Show DisplayedSkinParts Source # 
Instance details

Defined in M.V769.I

NFData DisplayedSkinParts Source # 
Instance details

Defined in M.V769.I

Methods

rnf :: DisplayedSkinParts -> () #

Eq DisplayedSkinParts Source # 
Instance details

Defined in M.V769.I

Ord DisplayedSkinParts Source # 
Instance details

Defined in M.V769.I

Pack DisplayedSkinParts Source # 
Instance details

Defined in M.V769.I

Unpack DisplayedSkinParts Source # 
Instance details

Defined in M.V769.I

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r DisplayedSkinParts Source #

(Bits i, Integral i, Pack i, Unpack i) => Bitreppable i DisplayedSkinParts Source # 
Instance details

Defined in M.V769.I

type Rep DisplayedSkinParts Source # 
Instance details

Defined in M.V769.I

\ No newline at end of file diff --git a/M-V769-L.html b/M-V769-L.html new file mode 100644 index 0000000..5e817de --- /dev/null +++ b/M-V769-L.html @@ -0,0 +1,3 @@ +M.V769.L
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.V769.L

Description

Defines packet structures for the login phase of protocol version 769, + handling authentication, encryption setup, and session establishment + between client and server.

Documentation

data EncryptionResponse Source #

Instances

Instances details
Data EncryptionResponse Source # 
Instance details

Defined in M.V769.L

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> EncryptionResponse -> c EncryptionResponse #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c EncryptionResponse #

toConstr :: EncryptionResponse -> Constr #

dataTypeOf :: EncryptionResponse -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c EncryptionResponse) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c EncryptionResponse) #

gmapT :: (forall b. Data b => b -> b) -> EncryptionResponse -> EncryptionResponse #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> EncryptionResponse -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> EncryptionResponse -> r #

gmapQ :: (forall d. Data d => d -> u) -> EncryptionResponse -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> EncryptionResponse -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> EncryptionResponse -> m EncryptionResponse #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> EncryptionResponse -> m EncryptionResponse #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> EncryptionResponse -> m EncryptionResponse #

Generic EncryptionResponse Source # 
Instance details

Defined in M.V769.L

Associated Types

type Rep EncryptionResponse 
Instance details

Defined in M.V769.L

type Rep EncryptionResponse = D1 ('MetaData "EncryptionResponse" "M.V769.L" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EncryptionResponse" 'PrefixI 'True) (S1 ('MetaSel ('Just "sharedsecret") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString) :*: S1 ('MetaSel ('Just "verifytoken") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))
Read EncryptionResponse Source # 
Instance details

Defined in M.V769.L

Show EncryptionResponse Source # 
Instance details

Defined in M.V769.L

NFData EncryptionResponse Source # 
Instance details

Defined in M.V769.L

Methods

rnf :: EncryptionResponse -> () #

Eq EncryptionResponse Source # 
Instance details

Defined in M.V769.L

Ord EncryptionResponse Source # 
Instance details

Defined in M.V769.L

Pack EncryptionResponse Source # 
Instance details

Defined in M.V769.L

Unpack EncryptionResponse Source # 
Instance details

Defined in M.V769.L

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EncryptionResponse Source #

type Rep EncryptionResponse Source # 
Instance details

Defined in M.V769.L

type Rep EncryptionResponse = D1 ('MetaData "EncryptionResponse" "M.V769.L" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EncryptionResponse" 'PrefixI 'True) (S1 ('MetaSel ('Just "sharedsecret") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString) :*: S1 ('MetaSel ('Just "verifytoken") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

data LoginAcknowledged Source #

Constructors

LoginAcknowledged 

Instances

Instances details
Data LoginAcknowledged Source # 
Instance details

Defined in M.V769.L

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LoginAcknowledged -> c LoginAcknowledged #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LoginAcknowledged #

toConstr :: LoginAcknowledged -> Constr #

dataTypeOf :: LoginAcknowledged -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LoginAcknowledged) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LoginAcknowledged) #

gmapT :: (forall b. Data b => b -> b) -> LoginAcknowledged -> LoginAcknowledged #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LoginAcknowledged -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LoginAcknowledged -> r #

gmapQ :: (forall d. Data d => d -> u) -> LoginAcknowledged -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> LoginAcknowledged -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LoginAcknowledged -> m LoginAcknowledged #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LoginAcknowledged -> m LoginAcknowledged #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LoginAcknowledged -> m LoginAcknowledged #

Generic LoginAcknowledged Source # 
Instance details

Defined in M.V769.L

Associated Types

type Rep LoginAcknowledged 
Instance details

Defined in M.V769.L

type Rep LoginAcknowledged = D1 ('MetaData "LoginAcknowledged" "M.V769.L" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LoginAcknowledged" 'PrefixI 'False) (U1 :: Type -> Type))
Read LoginAcknowledged Source # 
Instance details

Defined in M.V769.L

Show LoginAcknowledged Source # 
Instance details

Defined in M.V769.L

NFData LoginAcknowledged Source # 
Instance details

Defined in M.V769.L

Methods

rnf :: LoginAcknowledged -> () #

Eq LoginAcknowledged Source # 
Instance details

Defined in M.V769.L

Ord LoginAcknowledged Source # 
Instance details

Defined in M.V769.L

Pack LoginAcknowledged Source # 
Instance details

Defined in M.V769.L

Unpack LoginAcknowledged Source # 
Instance details

Defined in M.V769.L

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LoginAcknowledged Source #

type Rep LoginAcknowledged Source # 
Instance details

Defined in M.V769.L

type Rep LoginAcknowledged = D1 ('MetaData "LoginAcknowledged" "M.V769.L" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LoginAcknowledged" 'PrefixI 'False) (U1 :: Type -> Type))

data LoginStart Source #

Constructors

LoginStart 

Fields

Instances

Instances details
Data LoginStart Source # 
Instance details

Defined in M.V769.L

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LoginStart -> c LoginStart #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LoginStart #

toConstr :: LoginStart -> Constr #

dataTypeOf :: LoginStart -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LoginStart) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LoginStart) #

gmapT :: (forall b. Data b => b -> b) -> LoginStart -> LoginStart #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LoginStart -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LoginStart -> r #

gmapQ :: (forall d. Data d => d -> u) -> LoginStart -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> LoginStart -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LoginStart -> m LoginStart #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LoginStart -> m LoginStart #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LoginStart -> m LoginStart #

Generic LoginStart Source # 
Instance details

Defined in M.V769.L

Associated Types

type Rep LoginStart 
Instance details

Defined in M.V769.L

type Rep LoginStart = D1 ('MetaData "LoginStart" "M.V769.L" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LoginStart" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "uuid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UUID)))
Read LoginStart Source # 
Instance details

Defined in M.V769.L

Show LoginStart Source # 
Instance details

Defined in M.V769.L

NFData LoginStart Source # 
Instance details

Defined in M.V769.L

Methods

rnf :: LoginStart -> () #

Eq LoginStart Source # 
Instance details

Defined in M.V769.L

Ord LoginStart Source # 
Instance details

Defined in M.V769.L

Pack LoginStart Source # 
Instance details

Defined in M.V769.L

Unpack LoginStart Source # 
Instance details

Defined in M.V769.L

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LoginStart Source #

type Rep LoginStart Source # 
Instance details

Defined in M.V769.L

type Rep LoginStart = D1 ('MetaData "LoginStart" "M.V769.L" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LoginStart" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "uuid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UUID)))

data LoginPluginResponse__ Source #

Instances

Instances details
Generic LoginPluginResponse__ Source # 
Instance details

Defined in M.V769.L

Associated Types

type Rep LoginPluginResponse__ 
Instance details

Defined in M.V769.L

type Rep LoginPluginResponse__ = D1 ('MetaData "LoginPluginResponse__" "M.V769.L" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LoginPluginResponse__" 'PrefixI 'True) (S1 ('MetaSel ('Just "messageid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "successful__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "data___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ByteString)))))
NFData LoginPluginResponse__ Source # 
Instance details

Defined in M.V769.L

Methods

rnf :: LoginPluginResponse__ -> () #

Eq LoginPluginResponse__ Source # 
Instance details

Defined in M.V769.L

Ord LoginPluginResponse__ Source # 
Instance details

Defined in M.V769.L

Pack LoginPluginResponse__ Source # 
Instance details

Defined in M.V769.L

Unpack LoginPluginResponse__ Source # 
Instance details

Defined in M.V769.L

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LoginPluginResponse__ Source #

type Rep LoginPluginResponse__ Source # 
Instance details

Defined in M.V769.L

type Rep LoginPluginResponse__ = D1 ('MetaData "LoginPluginResponse__" "M.V769.L" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LoginPluginResponse__" 'PrefixI 'True) (S1 ('MetaSel ('Just "messageid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "successful__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "data___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ByteString)))))

data LoginPluginResponse Source #

Instances

Instances details
Data LoginPluginResponse Source # 
Instance details

Defined in M.V769.L

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LoginPluginResponse -> c LoginPluginResponse #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LoginPluginResponse #

toConstr :: LoginPluginResponse -> Constr #

dataTypeOf :: LoginPluginResponse -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LoginPluginResponse) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LoginPluginResponse) #

gmapT :: (forall b. Data b => b -> b) -> LoginPluginResponse -> LoginPluginResponse #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LoginPluginResponse -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LoginPluginResponse -> r #

gmapQ :: (forall d. Data d => d -> u) -> LoginPluginResponse -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> LoginPluginResponse -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LoginPluginResponse -> m LoginPluginResponse #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LoginPluginResponse -> m LoginPluginResponse #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LoginPluginResponse -> m LoginPluginResponse #

Generic LoginPluginResponse Source # 
Instance details

Defined in M.V769.L

Associated Types

type Rep LoginPluginResponse 
Instance details

Defined in M.V769.L

type Rep LoginPluginResponse = D1 ('MetaData "LoginPluginResponse" "M.V769.L" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LoginPluginResponse" 'PrefixI 'True) (S1 ('MetaSel ('Just "messageid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "successful") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ByteString)))))
Read LoginPluginResponse Source # 
Instance details

Defined in M.V769.L

Show LoginPluginResponse Source # 
Instance details

Defined in M.V769.L

NFData LoginPluginResponse Source # 
Instance details

Defined in M.V769.L

Methods

rnf :: LoginPluginResponse -> () #

Eq LoginPluginResponse Source # 
Instance details

Defined in M.V769.L

Ord LoginPluginResponse Source # 
Instance details

Defined in M.V769.L

Pack LoginPluginResponse Source # 
Instance details

Defined in M.V769.L

Unpack LoginPluginResponse Source # 
Instance details

Defined in M.V769.L

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LoginPluginResponse Source #

type Rep LoginPluginResponse Source # 
Instance details

Defined in M.V769.L

type Rep LoginPluginResponse = D1 ('MetaData "LoginPluginResponse" "M.V769.L" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LoginPluginResponse" 'PrefixI 'True) (S1 ('MetaSel ('Just "messageid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "successful") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ByteString)))))

data LoginPluginRequest__ Source #

Instances

Instances details
Generic LoginPluginRequest__ Source # 
Instance details

Defined in M.V769.L

Associated Types

type Rep LoginPluginRequest__ 
Instance details

Defined in M.V769.L

type Rep LoginPluginRequest__ = D1 ('MetaData "LoginPluginRequest__" "M.V769.L" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LoginPluginRequest__" 'PrefixI 'True) (S1 ('MetaSel ('Just "messageid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (LEB Int32)) :*: (S1 ('MetaSel ('Just "channel__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "data___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TakeRest))))
NFData LoginPluginRequest__ Source # 
Instance details

Defined in M.V769.L

Methods

rnf :: LoginPluginRequest__ -> () #

Eq LoginPluginRequest__ Source # 
Instance details

Defined in M.V769.L

Ord LoginPluginRequest__ Source # 
Instance details

Defined in M.V769.L

Pack LoginPluginRequest__ Source # 
Instance details

Defined in M.V769.L

Unpack LoginPluginRequest__ Source # 
Instance details

Defined in M.V769.L

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LoginPluginRequest__ Source #

type Rep LoginPluginRequest__ Source # 
Instance details

Defined in M.V769.L

type Rep LoginPluginRequest__ = D1 ('MetaData "LoginPluginRequest__" "M.V769.L" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LoginPluginRequest__" 'PrefixI 'True) (S1 ('MetaSel ('Just "messageid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (LEB Int32)) :*: (S1 ('MetaSel ('Just "channel__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "data___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TakeRest))))

data LoginPluginRequest Source #

Instances

Instances details
Data LoginPluginRequest Source # 
Instance details

Defined in M.V769.L

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LoginPluginRequest -> c LoginPluginRequest #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LoginPluginRequest #

toConstr :: LoginPluginRequest -> Constr #

dataTypeOf :: LoginPluginRequest -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LoginPluginRequest) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LoginPluginRequest) #

gmapT :: (forall b. Data b => b -> b) -> LoginPluginRequest -> LoginPluginRequest #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LoginPluginRequest -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LoginPluginRequest -> r #

gmapQ :: (forall d. Data d => d -> u) -> LoginPluginRequest -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> LoginPluginRequest -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LoginPluginRequest -> m LoginPluginRequest #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LoginPluginRequest -> m LoginPluginRequest #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LoginPluginRequest -> m LoginPluginRequest #

Generic LoginPluginRequest Source # 
Instance details

Defined in M.V769.L

Associated Types

type Rep LoginPluginRequest 
Instance details

Defined in M.V769.L

type Rep LoginPluginRequest = D1 ('MetaData "LoginPluginRequest" "M.V769.L" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LoginPluginRequest" 'PrefixI 'True) (S1 ('MetaSel ('Just "messageid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "channel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString))))
Read LoginPluginRequest Source # 
Instance details

Defined in M.V769.L

Show LoginPluginRequest Source # 
Instance details

Defined in M.V769.L

NFData LoginPluginRequest Source # 
Instance details

Defined in M.V769.L

Methods

rnf :: LoginPluginRequest -> () #

Eq LoginPluginRequest Source # 
Instance details

Defined in M.V769.L

Ord LoginPluginRequest Source # 
Instance details

Defined in M.V769.L

Pack LoginPluginRequest Source # 
Instance details

Defined in M.V769.L

Unpack LoginPluginRequest Source # 
Instance details

Defined in M.V769.L

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LoginPluginRequest Source #

type Rep LoginPluginRequest Source # 
Instance details

Defined in M.V769.L

type Rep LoginPluginRequest = D1 ('MetaData "LoginPluginRequest" "M.V769.L" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LoginPluginRequest" 'PrefixI 'True) (S1 ('MetaSel ('Just "messageid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "channel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString))))

data LoginSuccess_Property Source #

Constructors

LoginSuccess_Property 

Fields

Instances

Instances details
Data LoginSuccess_Property Source # 
Instance details

Defined in M.V769.L

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LoginSuccess_Property -> c LoginSuccess_Property #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LoginSuccess_Property #

toConstr :: LoginSuccess_Property -> Constr #

dataTypeOf :: LoginSuccess_Property -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LoginSuccess_Property) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LoginSuccess_Property) #

gmapT :: (forall b. Data b => b -> b) -> LoginSuccess_Property -> LoginSuccess_Property #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LoginSuccess_Property -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LoginSuccess_Property -> r #

gmapQ :: (forall d. Data d => d -> u) -> LoginSuccess_Property -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> LoginSuccess_Property -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LoginSuccess_Property -> m LoginSuccess_Property #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LoginSuccess_Property -> m LoginSuccess_Property #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LoginSuccess_Property -> m LoginSuccess_Property #

Generic LoginSuccess_Property Source # 
Instance details

Defined in M.V769.L

Associated Types

type Rep LoginSuccess_Property 
Instance details

Defined in M.V769.L

type Rep LoginSuccess_Property = D1 ('MetaData "LoginSuccess_Property" "M.V769.L" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LoginSuccess_Property" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "value") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "signature") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)))))
Read LoginSuccess_Property Source # 
Instance details

Defined in M.V769.L

Show LoginSuccess_Property Source # 
Instance details

Defined in M.V769.L

NFData LoginSuccess_Property Source # 
Instance details

Defined in M.V769.L

Methods

rnf :: LoginSuccess_Property -> () #

Eq LoginSuccess_Property Source # 
Instance details

Defined in M.V769.L

Ord LoginSuccess_Property Source # 
Instance details

Defined in M.V769.L

Pack LoginSuccess_Property Source # 
Instance details

Defined in M.V769.L

Unpack LoginSuccess_Property Source # 
Instance details

Defined in M.V769.L

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LoginSuccess_Property Source #

type Rep LoginSuccess_Property Source # 
Instance details

Defined in M.V769.L

type Rep LoginSuccess_Property = D1 ('MetaData "LoginSuccess_Property" "M.V769.L" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LoginSuccess_Property" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "value") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "signature") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)))))

data LoginSuccess Source #

Constructors

LoginSuccess 

Fields

Instances

Instances details
Data LoginSuccess Source # 
Instance details

Defined in M.V769.L

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LoginSuccess -> c LoginSuccess #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LoginSuccess #

toConstr :: LoginSuccess -> Constr #

dataTypeOf :: LoginSuccess -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LoginSuccess) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LoginSuccess) #

gmapT :: (forall b. Data b => b -> b) -> LoginSuccess -> LoginSuccess #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LoginSuccess -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LoginSuccess -> r #

gmapQ :: (forall d. Data d => d -> u) -> LoginSuccess -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> LoginSuccess -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LoginSuccess -> m LoginSuccess #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LoginSuccess -> m LoginSuccess #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LoginSuccess -> m LoginSuccess #

Generic LoginSuccess Source # 
Instance details

Defined in M.V769.L

Associated Types

type Rep LoginSuccess 
Instance details

Defined in M.V769.L

type Rep LoginSuccess = D1 ('MetaData "LoginSuccess" "M.V769.L" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LoginSuccess" 'PrefixI 'True) (S1 ('MetaSel ('Just "uuid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UUID) :*: (S1 ('MetaSel ('Just "username") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "properties") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector LoginSuccess_Property)))))
Read LoginSuccess Source # 
Instance details

Defined in M.V769.L

Show LoginSuccess Source # 
Instance details

Defined in M.V769.L

NFData LoginSuccess Source # 
Instance details

Defined in M.V769.L

Methods

rnf :: LoginSuccess -> () #

Eq LoginSuccess Source # 
Instance details

Defined in M.V769.L

Ord LoginSuccess Source # 
Instance details

Defined in M.V769.L

Pack LoginSuccess Source # 
Instance details

Defined in M.V769.L

Unpack LoginSuccess Source # 
Instance details

Defined in M.V769.L

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LoginSuccess Source #

type Rep LoginSuccess Source # 
Instance details

Defined in M.V769.L

type Rep LoginSuccess = D1 ('MetaData "LoginSuccess" "M.V769.L" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LoginSuccess" 'PrefixI 'True) (S1 ('MetaSel ('Just "uuid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UUID) :*: (S1 ('MetaSel ('Just "username") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "properties") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector LoginSuccess_Property)))))

data EncryptionRequest Source #

Instances

Instances details
Data EncryptionRequest Source # 
Instance details

Defined in M.V769.L

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> EncryptionRequest -> c EncryptionRequest #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c EncryptionRequest #

toConstr :: EncryptionRequest -> Constr #

dataTypeOf :: EncryptionRequest -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c EncryptionRequest) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c EncryptionRequest) #

gmapT :: (forall b. Data b => b -> b) -> EncryptionRequest -> EncryptionRequest #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> EncryptionRequest -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> EncryptionRequest -> r #

gmapQ :: (forall d. Data d => d -> u) -> EncryptionRequest -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> EncryptionRequest -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> EncryptionRequest -> m EncryptionRequest #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> EncryptionRequest -> m EncryptionRequest #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> EncryptionRequest -> m EncryptionRequest #

Generic EncryptionRequest Source # 
Instance details

Defined in M.V769.L

Associated Types

type Rep EncryptionRequest 
Instance details

Defined in M.V769.L

type Rep EncryptionRequest = D1 ('MetaData "EncryptionRequest" "M.V769.L" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EncryptionRequest" 'PrefixI 'True) ((S1 ('MetaSel ('Just "serverid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "publickey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)) :*: (S1 ('MetaSel ('Just "verifytoken") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString) :*: S1 ('MetaSel ('Just "shouldauthenticate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))
Read EncryptionRequest Source # 
Instance details

Defined in M.V769.L

Show EncryptionRequest Source # 
Instance details

Defined in M.V769.L

NFData EncryptionRequest Source # 
Instance details

Defined in M.V769.L

Methods

rnf :: EncryptionRequest -> () #

Eq EncryptionRequest Source # 
Instance details

Defined in M.V769.L

Ord EncryptionRequest Source # 
Instance details

Defined in M.V769.L

Pack EncryptionRequest Source # 
Instance details

Defined in M.V769.L

Unpack EncryptionRequest Source # 
Instance details

Defined in M.V769.L

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EncryptionRequest Source #

type Rep EncryptionRequest Source # 
Instance details

Defined in M.V769.L

type Rep EncryptionRequest = D1 ('MetaData "EncryptionRequest" "M.V769.L" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EncryptionRequest" 'PrefixI 'True) ((S1 ('MetaSel ('Just "serverid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "publickey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)) :*: (S1 ('MetaSel ('Just "verifytoken") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString) :*: S1 ('MetaSel ('Just "shouldauthenticate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))

data LoginDisconnect Source #

Constructors

LoginDisconnect 

Instances

Instances details
Data LoginDisconnect Source # 
Instance details

Defined in M.V769.L

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LoginDisconnect -> c LoginDisconnect #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LoginDisconnect #

toConstr :: LoginDisconnect -> Constr #

dataTypeOf :: LoginDisconnect -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LoginDisconnect) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LoginDisconnect) #

gmapT :: (forall b. Data b => b -> b) -> LoginDisconnect -> LoginDisconnect #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LoginDisconnect -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LoginDisconnect -> r #

gmapQ :: (forall d. Data d => d -> u) -> LoginDisconnect -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> LoginDisconnect -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LoginDisconnect -> m LoginDisconnect #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LoginDisconnect -> m LoginDisconnect #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LoginDisconnect -> m LoginDisconnect #

Generic LoginDisconnect Source # 
Instance details

Defined in M.V769.L

Associated Types

type Rep LoginDisconnect 
Instance details

Defined in M.V769.L

type Rep LoginDisconnect = D1 ('MetaData "LoginDisconnect" "M.V769.L" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LoginDisconnect" 'PrefixI 'True) (S1 ('MetaSel ('Just "reason") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent)))
Read LoginDisconnect Source # 
Instance details

Defined in M.V769.L

Show LoginDisconnect Source # 
Instance details

Defined in M.V769.L

NFData LoginDisconnect Source # 
Instance details

Defined in M.V769.L

Methods

rnf :: LoginDisconnect -> () #

Eq LoginDisconnect Source # 
Instance details

Defined in M.V769.L

Ord LoginDisconnect Source # 
Instance details

Defined in M.V769.L

Pack LoginDisconnect Source # 
Instance details

Defined in M.V769.L

Unpack LoginDisconnect Source # 
Instance details

Defined in M.V769.L

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LoginDisconnect Source #

type Rep LoginDisconnect Source # 
Instance details

Defined in M.V769.L

type Rep LoginDisconnect = D1 ('MetaData "LoginDisconnect" "M.V769.L" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LoginDisconnect" 'PrefixI 'True) (S1 ('MetaSel ('Just "reason") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent)))
\ No newline at end of file diff --git a/M-V769-P.html b/M-V769-P.html new file mode 100644 index 0000000..775c856 --- /dev/null +++ b/M-V769-P.html @@ -0,0 +1,3 @@ +M.V769.P
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.V769.P

Description

Implements the extensive set of packet structures for the play state + of protocol version 769, including entity management, world interaction, + inventory handling, and all other gameplay-related communication.

Documentation

data UseItem__ Source #

Constructors

UseItem__ 

Instances

Instances details
Generic UseItem__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep UseItem__ 
Instance details

Defined in M.V769.P

type Rep UseItem__ = D1 ('MetaData "UseItem__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UseItem__" 'PrefixI 'True) (S1 ('MetaSel ('Just "hand__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "sequence__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
NFData UseItem__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: UseItem__ -> () #

Eq UseItem__ Source # 
Instance details

Defined in M.V769.P

Ord UseItem__ Source # 
Instance details

Defined in M.V769.P

Pack UseItem__ Source # 
Instance details

Defined in M.V769.P

Unpack UseItem__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UseItem__ Source #

type Rep UseItem__ Source # 
Instance details

Defined in M.V769.P

type Rep UseItem__ = D1 ('MetaData "UseItem__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UseItem__" 'PrefixI 'True) (S1 ('MetaSel ('Just "hand__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "sequence__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data UseItem Source #

Constructors

UseItem 

Fields

Instances

Instances details
Data UseItem Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UseItem -> c UseItem #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UseItem #

toConstr :: UseItem -> Constr #

dataTypeOf :: UseItem -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UseItem) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UseItem) #

gmapT :: (forall b. Data b => b -> b) -> UseItem -> UseItem #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UseItem -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UseItem -> r #

gmapQ :: (forall d. Data d => d -> u) -> UseItem -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> UseItem -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UseItem -> m UseItem #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UseItem -> m UseItem #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UseItem -> m UseItem #

Generic UseItem Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep UseItem 
Instance details

Defined in M.V769.P

type Rep UseItem = D1 ('MetaData "UseItem" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UseItem" 'PrefixI 'True) (S1 ('MetaSel ('Just "hand") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "sequence") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

Methods

from :: UseItem -> Rep UseItem x #

to :: Rep UseItem x -> UseItem #

Read UseItem Source # 
Instance details

Defined in M.V769.P

Show UseItem Source # 
Instance details

Defined in M.V769.P

NFData UseItem Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: UseItem -> () #

Eq UseItem Source # 
Instance details

Defined in M.V769.P

Methods

(==) :: UseItem -> UseItem -> Bool #

(/=) :: UseItem -> UseItem -> Bool #

Ord UseItem Source # 
Instance details

Defined in M.V769.P

Pack UseItem Source # 
Instance details

Defined in M.V769.P

Methods

pack :: UseItem -> Builder Source #

Unpack UseItem Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UseItem Source #

type Rep UseItem Source # 
Instance details

Defined in M.V769.P

type Rep UseItem = D1 ('MetaData "UseItem" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UseItem" 'PrefixI 'True) (S1 ('MetaSel ('Just "hand") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "sequence") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data UseItemOn__ Source #

Instances

Instances details
Generic UseItemOn__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep UseItemOn__ 
Instance details

Defined in M.V769.P

NFData UseItemOn__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: UseItemOn__ -> () #

Eq UseItemOn__ Source # 
Instance details

Defined in M.V769.P

Ord UseItemOn__ Source # 
Instance details

Defined in M.V769.P

Pack UseItemOn__ Source # 
Instance details

Defined in M.V769.P

Unpack UseItemOn__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UseItemOn__ Source #

type Rep UseItemOn__ Source # 
Instance details

Defined in M.V769.P

data UseItemOn Source #

Constructors

UseItemOn 

Instances

Instances details
Data UseItemOn Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UseItemOn -> c UseItemOn #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UseItemOn #

toConstr :: UseItemOn -> Constr #

dataTypeOf :: UseItemOn -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UseItemOn) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UseItemOn) #

gmapT :: (forall b. Data b => b -> b) -> UseItemOn -> UseItemOn #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UseItemOn -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UseItemOn -> r #

gmapQ :: (forall d. Data d => d -> u) -> UseItemOn -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> UseItemOn -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UseItemOn -> m UseItemOn #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UseItemOn -> m UseItemOn #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UseItemOn -> m UseItemOn #

Generic UseItemOn Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep UseItemOn 
Instance details

Defined in M.V769.P

Read UseItemOn Source # 
Instance details

Defined in M.V769.P

Show UseItemOn Source # 
Instance details

Defined in M.V769.P

NFData UseItemOn Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: UseItemOn -> () #

Eq UseItemOn Source # 
Instance details

Defined in M.V769.P

Ord UseItemOn Source # 
Instance details

Defined in M.V769.P

Pack UseItemOn Source # 
Instance details

Defined in M.V769.P

Unpack UseItemOn Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UseItemOn Source #

type Rep UseItemOn Source # 
Instance details

Defined in M.V769.P

data TeleportToEntity__ Source #

Instances

Instances details
Generic TeleportToEntity__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep TeleportToEntity__ 
Instance details

Defined in M.V769.P

type Rep TeleportToEntity__ = D1 ('MetaData "TeleportToEntity__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "TeleportToEntity__" 'PrefixI 'True) (S1 ('MetaSel ('Just "targetentityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
NFData TeleportToEntity__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: TeleportToEntity__ -> () #

Eq TeleportToEntity__ Source # 
Instance details

Defined in M.V769.P

Ord TeleportToEntity__ Source # 
Instance details

Defined in M.V769.P

Pack TeleportToEntity__ Source # 
Instance details

Defined in M.V769.P

Unpack TeleportToEntity__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r TeleportToEntity__ Source #

type Rep TeleportToEntity__ Source # 
Instance details

Defined in M.V769.P

type Rep TeleportToEntity__ = D1 ('MetaData "TeleportToEntity__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "TeleportToEntity__" 'PrefixI 'True) (S1 ('MetaSel ('Just "targetentityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data TeleportToEntity Source #

Constructors

TeleportToEntity 

Instances

Instances details
Data TeleportToEntity Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TeleportToEntity -> c TeleportToEntity #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TeleportToEntity #

toConstr :: TeleportToEntity -> Constr #

dataTypeOf :: TeleportToEntity -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TeleportToEntity) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TeleportToEntity) #

gmapT :: (forall b. Data b => b -> b) -> TeleportToEntity -> TeleportToEntity #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TeleportToEntity -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TeleportToEntity -> r #

gmapQ :: (forall d. Data d => d -> u) -> TeleportToEntity -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TeleportToEntity -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TeleportToEntity -> m TeleportToEntity #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TeleportToEntity -> m TeleportToEntity #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TeleportToEntity -> m TeleportToEntity #

Generic TeleportToEntity Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep TeleportToEntity 
Instance details

Defined in M.V769.P

type Rep TeleportToEntity = D1 ('MetaData "TeleportToEntity" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "TeleportToEntity" 'PrefixI 'True) (S1 ('MetaSel ('Just "targetentityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))
Read TeleportToEntity Source # 
Instance details

Defined in M.V769.P

Show TeleportToEntity Source # 
Instance details

Defined in M.V769.P

NFData TeleportToEntity Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: TeleportToEntity -> () #

Eq TeleportToEntity Source # 
Instance details

Defined in M.V769.P

Ord TeleportToEntity Source # 
Instance details

Defined in M.V769.P

Pack TeleportToEntity Source # 
Instance details

Defined in M.V769.P

Unpack TeleportToEntity Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r TeleportToEntity Source #

type Rep TeleportToEntity Source # 
Instance details

Defined in M.V769.P

type Rep TeleportToEntity = D1 ('MetaData "TeleportToEntity" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "TeleportToEntity" 'PrefixI 'True) (S1 ('MetaSel ('Just "targetentityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data SwingArm__ Source #

Constructors

SwingArm__ 

Fields

Instances

Instances details
Generic SwingArm__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SwingArm__ 
Instance details

Defined in M.V769.P

type Rep SwingArm__ = D1 ('MetaData "SwingArm__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SwingArm__" 'PrefixI 'True) (S1 ('MetaSel ('Just "hand__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
NFData SwingArm__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SwingArm__ -> () #

Eq SwingArm__ Source # 
Instance details

Defined in M.V769.P

Ord SwingArm__ Source # 
Instance details

Defined in M.V769.P

Pack SwingArm__ Source # 
Instance details

Defined in M.V769.P

Unpack SwingArm__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SwingArm__ Source #

type Rep SwingArm__ Source # 
Instance details

Defined in M.V769.P

type Rep SwingArm__ = D1 ('MetaData "SwingArm__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SwingArm__" 'PrefixI 'True) (S1 ('MetaSel ('Just "hand__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data SwingArm Source #

Constructors

SwingArm 

Fields

Instances

Instances details
Data SwingArm Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SwingArm -> c SwingArm #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SwingArm #

toConstr :: SwingArm -> Constr #

dataTypeOf :: SwingArm -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SwingArm) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SwingArm) #

gmapT :: (forall b. Data b => b -> b) -> SwingArm -> SwingArm #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SwingArm -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SwingArm -> r #

gmapQ :: (forall d. Data d => d -> u) -> SwingArm -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SwingArm -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SwingArm -> m SwingArm #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SwingArm -> m SwingArm #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SwingArm -> m SwingArm #

Generic SwingArm Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SwingArm 
Instance details

Defined in M.V769.P

type Rep SwingArm = D1 ('MetaData "SwingArm" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SwingArm" 'PrefixI 'True) (S1 ('MetaSel ('Just "hand") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

Methods

from :: SwingArm -> Rep SwingArm x #

to :: Rep SwingArm x -> SwingArm #

Read SwingArm Source # 
Instance details

Defined in M.V769.P

Show SwingArm Source # 
Instance details

Defined in M.V769.P

NFData SwingArm Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SwingArm -> () #

Eq SwingArm Source # 
Instance details

Defined in M.V769.P

Ord SwingArm Source # 
Instance details

Defined in M.V769.P

Pack SwingArm Source # 
Instance details

Defined in M.V769.P

Unpack SwingArm Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SwingArm Source #

type Rep SwingArm Source # 
Instance details

Defined in M.V769.P

type Rep SwingArm = D1 ('MetaData "SwingArm" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SwingArm" 'PrefixI 'True) (S1 ('MetaSel ('Just "hand") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data UpdateSign Source #

Constructors

UpdateSign 

Fields

Instances

Instances details
Data UpdateSign Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UpdateSign -> c UpdateSign #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UpdateSign #

toConstr :: UpdateSign -> Constr #

dataTypeOf :: UpdateSign -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UpdateSign) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UpdateSign) #

gmapT :: (forall b. Data b => b -> b) -> UpdateSign -> UpdateSign #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UpdateSign -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UpdateSign -> r #

gmapQ :: (forall d. Data d => d -> u) -> UpdateSign -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> UpdateSign -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UpdateSign -> m UpdateSign #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateSign -> m UpdateSign #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateSign -> m UpdateSign #

Generic UpdateSign Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep UpdateSign 
Instance details

Defined in M.V769.P

type Rep UpdateSign = D1 ('MetaData "UpdateSign" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateSign" 'PrefixI 'True) (S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: (S1 ('MetaSel ('Just "isfronttext") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "lines") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Text)))))
Read UpdateSign Source # 
Instance details

Defined in M.V769.P

Show UpdateSign Source # 
Instance details

Defined in M.V769.P

NFData UpdateSign Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: UpdateSign -> () #

Eq UpdateSign Source # 
Instance details

Defined in M.V769.P

Ord UpdateSign Source # 
Instance details

Defined in M.V769.P

Pack UpdateSign Source # 
Instance details

Defined in M.V769.P

Unpack UpdateSign Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateSign Source #

type Rep UpdateSign Source # 
Instance details

Defined in M.V769.P

type Rep UpdateSign = D1 ('MetaData "UpdateSign" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateSign" 'PrefixI 'True) (S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: (S1 ('MetaSel ('Just "isfronttext") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "lines") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Text)))))

data ProgramStructureBlock__ Source #

Instances

Instances details
Generic ProgramStructureBlock__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ProgramStructureBlock__ 
Instance details

Defined in M.V769.P

NFData ProgramStructureBlock__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ProgramStructureBlock__ -> () #

Eq ProgramStructureBlock__ Source # 
Instance details

Defined in M.V769.P

Ord ProgramStructureBlock__ Source # 
Instance details

Defined in M.V769.P

Pack ProgramStructureBlock__ Source # 
Instance details

Defined in M.V769.P

Unpack ProgramStructureBlock__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ProgramStructureBlock__ Source #

type Rep ProgramStructureBlock__ Source # 
Instance details

Defined in M.V769.P

data ProgramStructureBlock Source #

Instances

Instances details
Data ProgramStructureBlock Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ProgramStructureBlock -> c ProgramStructureBlock #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ProgramStructureBlock #

toConstr :: ProgramStructureBlock -> Constr #

dataTypeOf :: ProgramStructureBlock -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ProgramStructureBlock) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ProgramStructureBlock) #

gmapT :: (forall b. Data b => b -> b) -> ProgramStructureBlock -> ProgramStructureBlock #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ProgramStructureBlock -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ProgramStructureBlock -> r #

gmapQ :: (forall d. Data d => d -> u) -> ProgramStructureBlock -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ProgramStructureBlock -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ProgramStructureBlock -> m ProgramStructureBlock #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ProgramStructureBlock -> m ProgramStructureBlock #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ProgramStructureBlock -> m ProgramStructureBlock #

Generic ProgramStructureBlock Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ProgramStructureBlock 
Instance details

Defined in M.V769.P

Read ProgramStructureBlock Source # 
Instance details

Defined in M.V769.P

Show ProgramStructureBlock Source # 
Instance details

Defined in M.V769.P

NFData ProgramStructureBlock Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ProgramStructureBlock -> () #

Eq ProgramStructureBlock Source # 
Instance details

Defined in M.V769.P

Ord ProgramStructureBlock Source # 
Instance details

Defined in M.V769.P

Pack ProgramStructureBlock Source # 
Instance details

Defined in M.V769.P

Unpack ProgramStructureBlock Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ProgramStructureBlock Source #

type Rep ProgramStructureBlock Source # 
Instance details

Defined in M.V769.P

data ProgramJigsawBlock Source #

Instances

Instances details
Data ProgramJigsawBlock Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ProgramJigsawBlock -> c ProgramJigsawBlock #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ProgramJigsawBlock #

toConstr :: ProgramJigsawBlock -> Constr #

dataTypeOf :: ProgramJigsawBlock -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ProgramJigsawBlock) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ProgramJigsawBlock) #

gmapT :: (forall b. Data b => b -> b) -> ProgramJigsawBlock -> ProgramJigsawBlock #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ProgramJigsawBlock -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ProgramJigsawBlock -> r #

gmapQ :: (forall d. Data d => d -> u) -> ProgramJigsawBlock -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ProgramJigsawBlock -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ProgramJigsawBlock -> m ProgramJigsawBlock #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ProgramJigsawBlock -> m ProgramJigsawBlock #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ProgramJigsawBlock -> m ProgramJigsawBlock #

Generic ProgramJigsawBlock Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ProgramJigsawBlock 
Instance details

Defined in M.V769.P

Read ProgramJigsawBlock Source # 
Instance details

Defined in M.V769.P

Show ProgramJigsawBlock Source # 
Instance details

Defined in M.V769.P

NFData ProgramJigsawBlock Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ProgramJigsawBlock -> () #

Eq ProgramJigsawBlock Source # 
Instance details

Defined in M.V769.P

Ord ProgramJigsawBlock Source # 
Instance details

Defined in M.V769.P

Pack ProgramJigsawBlock Source # 
Instance details

Defined in M.V769.P

Unpack ProgramJigsawBlock Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ProgramJigsawBlock Source #

type Rep ProgramJigsawBlock Source # 
Instance details

Defined in M.V769.P

data SetCreativeModeSlot Source #

Constructors

SetCreativeModeSlot 

Fields

Instances

Instances details
Data SetCreativeModeSlot Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetCreativeModeSlot -> c SetCreativeModeSlot #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetCreativeModeSlot #

toConstr :: SetCreativeModeSlot -> Constr #

dataTypeOf :: SetCreativeModeSlot -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetCreativeModeSlot) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetCreativeModeSlot) #

gmapT :: (forall b. Data b => b -> b) -> SetCreativeModeSlot -> SetCreativeModeSlot #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetCreativeModeSlot -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetCreativeModeSlot -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetCreativeModeSlot -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetCreativeModeSlot -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetCreativeModeSlot -> m SetCreativeModeSlot #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetCreativeModeSlot -> m SetCreativeModeSlot #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetCreativeModeSlot -> m SetCreativeModeSlot #

Generic SetCreativeModeSlot Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetCreativeModeSlot 
Instance details

Defined in M.V769.P

type Rep SetCreativeModeSlot = D1 ('MetaData "SetCreativeModeSlot" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetCreativeModeSlot" 'PrefixI 'True) (S1 ('MetaSel ('Just "slot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16) :*: S1 ('MetaSel ('Just "slotdata_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Slot)))
Read SetCreativeModeSlot Source # 
Instance details

Defined in M.V769.P

Show SetCreativeModeSlot Source # 
Instance details

Defined in M.V769.P

NFData SetCreativeModeSlot Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetCreativeModeSlot -> () #

Eq SetCreativeModeSlot Source # 
Instance details

Defined in M.V769.P

Ord SetCreativeModeSlot Source # 
Instance details

Defined in M.V769.P

Pack SetCreativeModeSlot Source # 
Instance details

Defined in M.V769.P

Unpack SetCreativeModeSlot Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetCreativeModeSlot Source #

type Rep SetCreativeModeSlot Source # 
Instance details

Defined in M.V769.P

type Rep SetCreativeModeSlot = D1 ('MetaData "SetCreativeModeSlot" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetCreativeModeSlot" 'PrefixI 'True) (S1 ('MetaSel ('Just "slot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16) :*: S1 ('MetaSel ('Just "slotdata_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Slot)))

data ProgramCommandBlockMinecart__ Source #

Instances

Instances details
Generic ProgramCommandBlockMinecart__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ProgramCommandBlockMinecart__ 
Instance details

Defined in M.V769.P

type Rep ProgramCommandBlockMinecart__ = D1 ('MetaData "ProgramCommandBlockMinecart__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ProgramCommandBlockMinecart__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "command__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "trackoutput__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))
NFData ProgramCommandBlockMinecart__ Source # 
Instance details

Defined in M.V769.P

Eq ProgramCommandBlockMinecart__ Source # 
Instance details

Defined in M.V769.P

Ord ProgramCommandBlockMinecart__ Source # 
Instance details

Defined in M.V769.P

Pack ProgramCommandBlockMinecart__ Source # 
Instance details

Defined in M.V769.P

Unpack ProgramCommandBlockMinecart__ Source # 
Instance details

Defined in M.V769.P

type Rep ProgramCommandBlockMinecart__ Source # 
Instance details

Defined in M.V769.P

type Rep ProgramCommandBlockMinecart__ = D1 ('MetaData "ProgramCommandBlockMinecart__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ProgramCommandBlockMinecart__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "command__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "trackoutput__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))

data ProgramCommandBlockMinecart Source #

Instances

Instances details
Data ProgramCommandBlockMinecart Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ProgramCommandBlockMinecart -> c ProgramCommandBlockMinecart #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ProgramCommandBlockMinecart #

toConstr :: ProgramCommandBlockMinecart -> Constr #

dataTypeOf :: ProgramCommandBlockMinecart -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ProgramCommandBlockMinecart) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ProgramCommandBlockMinecart) #

gmapT :: (forall b. Data b => b -> b) -> ProgramCommandBlockMinecart -> ProgramCommandBlockMinecart #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ProgramCommandBlockMinecart -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ProgramCommandBlockMinecart -> r #

gmapQ :: (forall d. Data d => d -> u) -> ProgramCommandBlockMinecart -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ProgramCommandBlockMinecart -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ProgramCommandBlockMinecart -> m ProgramCommandBlockMinecart #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ProgramCommandBlockMinecart -> m ProgramCommandBlockMinecart #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ProgramCommandBlockMinecart -> m ProgramCommandBlockMinecart #

Generic ProgramCommandBlockMinecart Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ProgramCommandBlockMinecart 
Instance details

Defined in M.V769.P

type Rep ProgramCommandBlockMinecart = D1 ('MetaData "ProgramCommandBlockMinecart" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ProgramCommandBlockMinecart" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "command") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "trackoutput") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))
Read ProgramCommandBlockMinecart Source # 
Instance details

Defined in M.V769.P

Show ProgramCommandBlockMinecart Source # 
Instance details

Defined in M.V769.P

NFData ProgramCommandBlockMinecart Source # 
Instance details

Defined in M.V769.P

Eq ProgramCommandBlockMinecart Source # 
Instance details

Defined in M.V769.P

Ord ProgramCommandBlockMinecart Source # 
Instance details

Defined in M.V769.P

Pack ProgramCommandBlockMinecart Source # 
Instance details

Defined in M.V769.P

Unpack ProgramCommandBlockMinecart Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ProgramCommandBlockMinecart Source #

type Rep ProgramCommandBlockMinecart Source # 
Instance details

Defined in M.V769.P

type Rep ProgramCommandBlockMinecart = D1 ('MetaData "ProgramCommandBlockMinecart" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ProgramCommandBlockMinecart" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "command") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "trackoutput") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))

data ProgramCommandBlock__ Source #

Instances

Instances details
Generic ProgramCommandBlock__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ProgramCommandBlock__ 
Instance details

Defined in M.V769.P

type Rep ProgramCommandBlock__ = D1 ('MetaData "ProgramCommandBlock__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ProgramCommandBlock__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "location__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: S1 ('MetaSel ('Just "command__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "mode__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "flags__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8))))
NFData ProgramCommandBlock__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ProgramCommandBlock__ -> () #

Eq ProgramCommandBlock__ Source # 
Instance details

Defined in M.V769.P

Ord ProgramCommandBlock__ Source # 
Instance details

Defined in M.V769.P

Pack ProgramCommandBlock__ Source # 
Instance details

Defined in M.V769.P

Unpack ProgramCommandBlock__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ProgramCommandBlock__ Source #

type Rep ProgramCommandBlock__ Source # 
Instance details

Defined in M.V769.P

type Rep ProgramCommandBlock__ = D1 ('MetaData "ProgramCommandBlock__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ProgramCommandBlock__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "location__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: S1 ('MetaSel ('Just "command__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "mode__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "flags__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8))))

data ProgramCommandBlock Source #

Constructors

ProgramCommandBlock 

Instances

Instances details
Data ProgramCommandBlock Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ProgramCommandBlock -> c ProgramCommandBlock #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ProgramCommandBlock #

toConstr :: ProgramCommandBlock -> Constr #

dataTypeOf :: ProgramCommandBlock -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ProgramCommandBlock) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ProgramCommandBlock) #

gmapT :: (forall b. Data b => b -> b) -> ProgramCommandBlock -> ProgramCommandBlock #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ProgramCommandBlock -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ProgramCommandBlock -> r #

gmapQ :: (forall d. Data d => d -> u) -> ProgramCommandBlock -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ProgramCommandBlock -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ProgramCommandBlock -> m ProgramCommandBlock #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ProgramCommandBlock -> m ProgramCommandBlock #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ProgramCommandBlock -> m ProgramCommandBlock #

Generic ProgramCommandBlock Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ProgramCommandBlock 
Instance details

Defined in M.V769.P

type Rep ProgramCommandBlock = D1 ('MetaData "ProgramCommandBlock" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ProgramCommandBlock" 'PrefixI 'True) ((S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: S1 ('MetaSel ('Just "command") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "mode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "flags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8))))
Read ProgramCommandBlock Source # 
Instance details

Defined in M.V769.P

Show ProgramCommandBlock Source # 
Instance details

Defined in M.V769.P

NFData ProgramCommandBlock Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ProgramCommandBlock -> () #

Eq ProgramCommandBlock Source # 
Instance details

Defined in M.V769.P

Ord ProgramCommandBlock Source # 
Instance details

Defined in M.V769.P

Pack ProgramCommandBlock Source # 
Instance details

Defined in M.V769.P

Unpack ProgramCommandBlock Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ProgramCommandBlock Source #

type Rep ProgramCommandBlock Source # 
Instance details

Defined in M.V769.P

type Rep ProgramCommandBlock = D1 ('MetaData "ProgramCommandBlock" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ProgramCommandBlock" 'PrefixI 'True) ((S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: S1 ('MetaSel ('Just "command") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "mode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "flags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8))))

data SetHeldItemServerbound Source #

Constructors

SetHeldItemServerbound 

Fields

Instances

Instances details
Data SetHeldItemServerbound Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetHeldItemServerbound -> c SetHeldItemServerbound #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetHeldItemServerbound #

toConstr :: SetHeldItemServerbound -> Constr #

dataTypeOf :: SetHeldItemServerbound -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetHeldItemServerbound) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetHeldItemServerbound) #

gmapT :: (forall b. Data b => b -> b) -> SetHeldItemServerbound -> SetHeldItemServerbound #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetHeldItemServerbound -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetHeldItemServerbound -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetHeldItemServerbound -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetHeldItemServerbound -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetHeldItemServerbound -> m SetHeldItemServerbound #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetHeldItemServerbound -> m SetHeldItemServerbound #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetHeldItemServerbound -> m SetHeldItemServerbound #

Generic SetHeldItemServerbound Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetHeldItemServerbound 
Instance details

Defined in M.V769.P

type Rep SetHeldItemServerbound = D1 ('MetaData "SetHeldItemServerbound" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetHeldItemServerbound" 'PrefixI 'True) (S1 ('MetaSel ('Just "slot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))
Read SetHeldItemServerbound Source # 
Instance details

Defined in M.V769.P

Show SetHeldItemServerbound Source # 
Instance details

Defined in M.V769.P

NFData SetHeldItemServerbound Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetHeldItemServerbound -> () #

Eq SetHeldItemServerbound Source # 
Instance details

Defined in M.V769.P

Ord SetHeldItemServerbound Source # 
Instance details

Defined in M.V769.P

Pack SetHeldItemServerbound Source # 
Instance details

Defined in M.V769.P

Unpack SetHeldItemServerbound Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetHeldItemServerbound Source #

type Rep SetHeldItemServerbound Source # 
Instance details

Defined in M.V769.P

type Rep SetHeldItemServerbound = D1 ('MetaData "SetHeldItemServerbound" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetHeldItemServerbound" 'PrefixI 'True) (S1 ('MetaSel ('Just "slot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))

data SetBeaconEffect__ Source #

Instances

Instances details
Generic SetBeaconEffect__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetBeaconEffect__ 
Instance details

Defined in M.V769.P

type Rep SetBeaconEffect__ = D1 ('MetaData "SetBeaconEffect__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetBeaconEffect__" 'PrefixI 'True) (S1 ('MetaSel ('Just "primaryeffect__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "secondaryeffect__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
NFData SetBeaconEffect__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetBeaconEffect__ -> () #

Eq SetBeaconEffect__ Source # 
Instance details

Defined in M.V769.P

Ord SetBeaconEffect__ Source # 
Instance details

Defined in M.V769.P

Pack SetBeaconEffect__ Source # 
Instance details

Defined in M.V769.P

Unpack SetBeaconEffect__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetBeaconEffect__ Source #

type Rep SetBeaconEffect__ Source # 
Instance details

Defined in M.V769.P

type Rep SetBeaconEffect__ = D1 ('MetaData "SetBeaconEffect__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetBeaconEffect__" 'PrefixI 'True) (S1 ('MetaSel ('Just "primaryeffect__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "secondaryeffect__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data SetBeaconEffect Source #

Instances

Instances details
Data SetBeaconEffect Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetBeaconEffect -> c SetBeaconEffect #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetBeaconEffect #

toConstr :: SetBeaconEffect -> Constr #

dataTypeOf :: SetBeaconEffect -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetBeaconEffect) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetBeaconEffect) #

gmapT :: (forall b. Data b => b -> b) -> SetBeaconEffect -> SetBeaconEffect #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetBeaconEffect -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetBeaconEffect -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetBeaconEffect -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetBeaconEffect -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetBeaconEffect -> m SetBeaconEffect #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetBeaconEffect -> m SetBeaconEffect #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetBeaconEffect -> m SetBeaconEffect #

Generic SetBeaconEffect Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetBeaconEffect 
Instance details

Defined in M.V769.P

type Rep SetBeaconEffect = D1 ('MetaData "SetBeaconEffect" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetBeaconEffect" 'PrefixI 'True) (S1 ('MetaSel ('Just "primaryeffect") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "secondaryeffect") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))
Read SetBeaconEffect Source # 
Instance details

Defined in M.V769.P

Show SetBeaconEffect Source # 
Instance details

Defined in M.V769.P

NFData SetBeaconEffect Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetBeaconEffect -> () #

Eq SetBeaconEffect Source # 
Instance details

Defined in M.V769.P

Ord SetBeaconEffect Source # 
Instance details

Defined in M.V769.P

Pack SetBeaconEffect Source # 
Instance details

Defined in M.V769.P

Unpack SetBeaconEffect Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetBeaconEffect Source #

type Rep SetBeaconEffect Source # 
Instance details

Defined in M.V769.P

type Rep SetBeaconEffect = D1 ('MetaData "SetBeaconEffect" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetBeaconEffect" 'PrefixI 'True) (S1 ('MetaSel ('Just "primaryeffect") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "secondaryeffect") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data SelectTrade__ Source #

Constructors

SelectTrade__ 

Fields

Instances

Instances details
Generic SelectTrade__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SelectTrade__ 
Instance details

Defined in M.V769.P

type Rep SelectTrade__ = D1 ('MetaData "SelectTrade__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SelectTrade__" 'PrefixI 'True) (S1 ('MetaSel ('Just "slot__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
NFData SelectTrade__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SelectTrade__ -> () #

Eq SelectTrade__ Source # 
Instance details

Defined in M.V769.P

Ord SelectTrade__ Source # 
Instance details

Defined in M.V769.P

Pack SelectTrade__ Source # 
Instance details

Defined in M.V769.P

Unpack SelectTrade__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SelectTrade__ Source #

type Rep SelectTrade__ Source # 
Instance details

Defined in M.V769.P

type Rep SelectTrade__ = D1 ('MetaData "SelectTrade__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SelectTrade__" 'PrefixI 'True) (S1 ('MetaSel ('Just "slot__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data SelectTrade Source #

Constructors

SelectTrade 

Fields

Instances

Instances details
Data SelectTrade Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SelectTrade -> c SelectTrade #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SelectTrade #

toConstr :: SelectTrade -> Constr #

dataTypeOf :: SelectTrade -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SelectTrade) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SelectTrade) #

gmapT :: (forall b. Data b => b -> b) -> SelectTrade -> SelectTrade #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SelectTrade -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SelectTrade -> r #

gmapQ :: (forall d. Data d => d -> u) -> SelectTrade -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SelectTrade -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SelectTrade -> m SelectTrade #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SelectTrade -> m SelectTrade #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SelectTrade -> m SelectTrade #

Generic SelectTrade Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SelectTrade 
Instance details

Defined in M.V769.P

type Rep SelectTrade = D1 ('MetaData "SelectTrade" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SelectTrade" 'PrefixI 'True) (S1 ('MetaSel ('Just "slot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))
Read SelectTrade Source # 
Instance details

Defined in M.V769.P

Show SelectTrade Source # 
Instance details

Defined in M.V769.P

NFData SelectTrade Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SelectTrade -> () #

Eq SelectTrade Source # 
Instance details

Defined in M.V769.P

Ord SelectTrade Source # 
Instance details

Defined in M.V769.P

Pack SelectTrade Source # 
Instance details

Defined in M.V769.P

Unpack SelectTrade Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SelectTrade Source #

type Rep SelectTrade Source # 
Instance details

Defined in M.V769.P

type Rep SelectTrade = D1 ('MetaData "SelectTrade" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SelectTrade" 'PrefixI 'True) (S1 ('MetaSel ('Just "slot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data SeenAdvancements__ Source #

Constructors

SeenAdvancements__ 

Fields

Instances

Instances details
Generic SeenAdvancements__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SeenAdvancements__ 
Instance details

Defined in M.V769.P

type Rep SeenAdvancements__ = D1 ('MetaData "SeenAdvancements__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SeenAdvancements__" 'PrefixI 'True) (S1 ('MetaSel ('Just "action__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "tabid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
NFData SeenAdvancements__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SeenAdvancements__ -> () #

Eq SeenAdvancements__ Source # 
Instance details

Defined in M.V769.P

Ord SeenAdvancements__ Source # 
Instance details

Defined in M.V769.P

Pack SeenAdvancements__ Source # 
Instance details

Defined in M.V769.P

Unpack SeenAdvancements__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SeenAdvancements__ Source #

type Rep SeenAdvancements__ Source # 
Instance details

Defined in M.V769.P

type Rep SeenAdvancements__ = D1 ('MetaData "SeenAdvancements__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SeenAdvancements__" 'PrefixI 'True) (S1 ('MetaSel ('Just "action__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "tabid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data SeenAdvancements Source #

Constructors

SeenAdvancements 

Fields

Instances

Instances details
Data SeenAdvancements Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SeenAdvancements -> c SeenAdvancements #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SeenAdvancements #

toConstr :: SeenAdvancements -> Constr #

dataTypeOf :: SeenAdvancements -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SeenAdvancements) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SeenAdvancements) #

gmapT :: (forall b. Data b => b -> b) -> SeenAdvancements -> SeenAdvancements #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SeenAdvancements -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SeenAdvancements -> r #

gmapQ :: (forall d. Data d => d -> u) -> SeenAdvancements -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SeenAdvancements -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SeenAdvancements -> m SeenAdvancements #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SeenAdvancements -> m SeenAdvancements #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SeenAdvancements -> m SeenAdvancements #

Generic SeenAdvancements Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SeenAdvancements 
Instance details

Defined in M.V769.P

type Rep SeenAdvancements = D1 ('MetaData "SeenAdvancements" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SeenAdvancements" 'PrefixI 'True) (S1 ('MetaSel ('Just "action") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "tabid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Read SeenAdvancements Source # 
Instance details

Defined in M.V769.P

Show SeenAdvancements Source # 
Instance details

Defined in M.V769.P

NFData SeenAdvancements Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SeenAdvancements -> () #

Eq SeenAdvancements Source # 
Instance details

Defined in M.V769.P

Ord SeenAdvancements Source # 
Instance details

Defined in M.V769.P

Pack SeenAdvancements Source # 
Instance details

Defined in M.V769.P

Unpack SeenAdvancements Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SeenAdvancements Source #

type Rep SeenAdvancements Source # 
Instance details

Defined in M.V769.P

type Rep SeenAdvancements = D1 ('MetaData "SeenAdvancements" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SeenAdvancements" 'PrefixI 'True) (S1 ('MetaSel ('Just "action") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "tabid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data ResourcePackResponsePlay__ Source #

Instances

Instances details
Generic ResourcePackResponsePlay__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ResourcePackResponsePlay__ 
Instance details

Defined in M.V769.P

type Rep ResourcePackResponsePlay__ = D1 ('MetaData "ResourcePackResponsePlay__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ResourcePackResponsePlay__" 'PrefixI 'True) (S1 ('MetaSel ('Just "status__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
NFData ResourcePackResponsePlay__ Source # 
Instance details

Defined in M.V769.P

Eq ResourcePackResponsePlay__ Source # 
Instance details

Defined in M.V769.P

Ord ResourcePackResponsePlay__ Source # 
Instance details

Defined in M.V769.P

Pack ResourcePackResponsePlay__ Source # 
Instance details

Defined in M.V769.P

Unpack ResourcePackResponsePlay__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ResourcePackResponsePlay__ Source #

type Rep ResourcePackResponsePlay__ Source # 
Instance details

Defined in M.V769.P

type Rep ResourcePackResponsePlay__ = D1 ('MetaData "ResourcePackResponsePlay__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ResourcePackResponsePlay__" 'PrefixI 'True) (S1 ('MetaSel ('Just "status__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data ResourcePackResponsePlay Source #

Constructors

ResourcePackResponsePlay 

Fields

Instances

Instances details
Data ResourcePackResponsePlay Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ResourcePackResponsePlay -> c ResourcePackResponsePlay #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ResourcePackResponsePlay #

toConstr :: ResourcePackResponsePlay -> Constr #

dataTypeOf :: ResourcePackResponsePlay -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ResourcePackResponsePlay) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ResourcePackResponsePlay) #

gmapT :: (forall b. Data b => b -> b) -> ResourcePackResponsePlay -> ResourcePackResponsePlay #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ResourcePackResponsePlay -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ResourcePackResponsePlay -> r #

gmapQ :: (forall d. Data d => d -> u) -> ResourcePackResponsePlay -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ResourcePackResponsePlay -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ResourcePackResponsePlay -> m ResourcePackResponsePlay #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ResourcePackResponsePlay -> m ResourcePackResponsePlay #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ResourcePackResponsePlay -> m ResourcePackResponsePlay #

Generic ResourcePackResponsePlay Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ResourcePackResponsePlay 
Instance details

Defined in M.V769.P

type Rep ResourcePackResponsePlay = D1 ('MetaData "ResourcePackResponsePlay" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ResourcePackResponsePlay" 'PrefixI 'True) (S1 ('MetaSel ('Just "status") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))
Read ResourcePackResponsePlay Source # 
Instance details

Defined in M.V769.P

Show ResourcePackResponsePlay Source # 
Instance details

Defined in M.V769.P

NFData ResourcePackResponsePlay Source # 
Instance details

Defined in M.V769.P

Eq ResourcePackResponsePlay Source # 
Instance details

Defined in M.V769.P

Ord ResourcePackResponsePlay Source # 
Instance details

Defined in M.V769.P

Pack ResourcePackResponsePlay Source # 
Instance details

Defined in M.V769.P

Unpack ResourcePackResponsePlay Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ResourcePackResponsePlay Source #

type Rep ResourcePackResponsePlay Source # 
Instance details

Defined in M.V769.P

type Rep ResourcePackResponsePlay = D1 ('MetaData "ResourcePackResponsePlay" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ResourcePackResponsePlay" 'PrefixI 'True) (S1 ('MetaSel ('Just "status") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data RenameItem Source #

Constructors

RenameItem 

Fields

Instances

Instances details
Data RenameItem Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RenameItem -> c RenameItem #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RenameItem #

toConstr :: RenameItem -> Constr #

dataTypeOf :: RenameItem -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RenameItem) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RenameItem) #

gmapT :: (forall b. Data b => b -> b) -> RenameItem -> RenameItem #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RenameItem -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RenameItem -> r #

gmapQ :: (forall d. Data d => d -> u) -> RenameItem -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> RenameItem -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> RenameItem -> m RenameItem #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RenameItem -> m RenameItem #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RenameItem -> m RenameItem #

Generic RenameItem Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep RenameItem 
Instance details

Defined in M.V769.P

type Rep RenameItem = D1 ('MetaData "RenameItem" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "RenameItem" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Read RenameItem Source # 
Instance details

Defined in M.V769.P

Show RenameItem Source # 
Instance details

Defined in M.V769.P

NFData RenameItem Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: RenameItem -> () #

Eq RenameItem Source # 
Instance details

Defined in M.V769.P

Ord RenameItem Source # 
Instance details

Defined in M.V769.P

Pack RenameItem Source # 
Instance details

Defined in M.V769.P

Unpack RenameItem Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r RenameItem Source #

type Rep RenameItem Source # 
Instance details

Defined in M.V769.P

type Rep RenameItem = D1 ('MetaData "RenameItem" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "RenameItem" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data SetSeenRecipe Source #

Constructors

SetSeenRecipe 

Fields

Instances

Instances details
Data SetSeenRecipe Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetSeenRecipe -> c SetSeenRecipe #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetSeenRecipe #

toConstr :: SetSeenRecipe -> Constr #

dataTypeOf :: SetSeenRecipe -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetSeenRecipe) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetSeenRecipe) #

gmapT :: (forall b. Data b => b -> b) -> SetSeenRecipe -> SetSeenRecipe #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetSeenRecipe -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetSeenRecipe -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetSeenRecipe -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetSeenRecipe -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetSeenRecipe -> m SetSeenRecipe #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetSeenRecipe -> m SetSeenRecipe #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetSeenRecipe -> m SetSeenRecipe #

Generic SetSeenRecipe Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetSeenRecipe 
Instance details

Defined in M.V769.P

type Rep SetSeenRecipe = D1 ('MetaData "SetSeenRecipe" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetSeenRecipe" 'PrefixI 'True) (S1 ('MetaSel ('Just "recipe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Read SetSeenRecipe Source # 
Instance details

Defined in M.V769.P

Show SetSeenRecipe Source # 
Instance details

Defined in M.V769.P

NFData SetSeenRecipe Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetSeenRecipe -> () #

Eq SetSeenRecipe Source # 
Instance details

Defined in M.V769.P

Ord SetSeenRecipe Source # 
Instance details

Defined in M.V769.P

Pack SetSeenRecipe Source # 
Instance details

Defined in M.V769.P

Unpack SetSeenRecipe Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetSeenRecipe Source #

type Rep SetSeenRecipe Source # 
Instance details

Defined in M.V769.P

type Rep SetSeenRecipe = D1 ('MetaData "SetSeenRecipe" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetSeenRecipe" 'PrefixI 'True) (S1 ('MetaSel ('Just "recipe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data ChangeRecipeBookSettings__ Source #

Instances

Instances details
Generic ChangeRecipeBookSettings__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ChangeRecipeBookSettings__ 
Instance details

Defined in M.V769.P

type Rep ChangeRecipeBookSettings__ = D1 ('MetaData "ChangeRecipeBookSettings__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChangeRecipeBookSettings__" 'PrefixI 'True) (S1 ('MetaSel ('Just "bookid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "bookopen__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "filteractive__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))
NFData ChangeRecipeBookSettings__ Source # 
Instance details

Defined in M.V769.P

Eq ChangeRecipeBookSettings__ Source # 
Instance details

Defined in M.V769.P

Ord ChangeRecipeBookSettings__ Source # 
Instance details

Defined in M.V769.P

Pack ChangeRecipeBookSettings__ Source # 
Instance details

Defined in M.V769.P

Unpack ChangeRecipeBookSettings__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChangeRecipeBookSettings__ Source #

type Rep ChangeRecipeBookSettings__ Source # 
Instance details

Defined in M.V769.P

type Rep ChangeRecipeBookSettings__ = D1 ('MetaData "ChangeRecipeBookSettings__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChangeRecipeBookSettings__" 'PrefixI 'True) (S1 ('MetaSel ('Just "bookid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "bookopen__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "filteractive__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))

data ChangeRecipeBookSettings Source #

Instances

Instances details
Data ChangeRecipeBookSettings Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ChangeRecipeBookSettings -> c ChangeRecipeBookSettings #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ChangeRecipeBookSettings #

toConstr :: ChangeRecipeBookSettings -> Constr #

dataTypeOf :: ChangeRecipeBookSettings -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ChangeRecipeBookSettings) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ChangeRecipeBookSettings) #

gmapT :: (forall b. Data b => b -> b) -> ChangeRecipeBookSettings -> ChangeRecipeBookSettings #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ChangeRecipeBookSettings -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ChangeRecipeBookSettings -> r #

gmapQ :: (forall d. Data d => d -> u) -> ChangeRecipeBookSettings -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ChangeRecipeBookSettings -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ChangeRecipeBookSettings -> m ChangeRecipeBookSettings #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ChangeRecipeBookSettings -> m ChangeRecipeBookSettings #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ChangeRecipeBookSettings -> m ChangeRecipeBookSettings #

Generic ChangeRecipeBookSettings Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ChangeRecipeBookSettings 
Instance details

Defined in M.V769.P

type Rep ChangeRecipeBookSettings = D1 ('MetaData "ChangeRecipeBookSettings" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChangeRecipeBookSettings" 'PrefixI 'True) (S1 ('MetaSel ('Just "bookid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "bookopen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "filteractive") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))
Read ChangeRecipeBookSettings Source # 
Instance details

Defined in M.V769.P

Show ChangeRecipeBookSettings Source # 
Instance details

Defined in M.V769.P

NFData ChangeRecipeBookSettings Source # 
Instance details

Defined in M.V769.P

Eq ChangeRecipeBookSettings Source # 
Instance details

Defined in M.V769.P

Ord ChangeRecipeBookSettings Source # 
Instance details

Defined in M.V769.P

Pack ChangeRecipeBookSettings Source # 
Instance details

Defined in M.V769.P

Unpack ChangeRecipeBookSettings Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChangeRecipeBookSettings Source #

type Rep ChangeRecipeBookSettings Source # 
Instance details

Defined in M.V769.P

type Rep ChangeRecipeBookSettings = D1 ('MetaData "ChangeRecipeBookSettings" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChangeRecipeBookSettings" 'PrefixI 'True) (S1 ('MetaSel ('Just "bookid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "bookopen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "filteractive") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))

data PongPlay Source #

Constructors

PongPlay 

Fields

Instances

Instances details
Data PongPlay Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PongPlay -> c PongPlay #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PongPlay #

toConstr :: PongPlay -> Constr #

dataTypeOf :: PongPlay -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PongPlay) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PongPlay) #

gmapT :: (forall b. Data b => b -> b) -> PongPlay -> PongPlay #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PongPlay -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PongPlay -> r #

gmapQ :: (forall d. Data d => d -> u) -> PongPlay -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PongPlay -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PongPlay -> m PongPlay #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PongPlay -> m PongPlay #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PongPlay -> m PongPlay #

Generic PongPlay Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep PongPlay 
Instance details

Defined in M.V769.P

type Rep PongPlay = D1 ('MetaData "PongPlay" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PongPlay" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64)))

Methods

from :: PongPlay -> Rep PongPlay x #

to :: Rep PongPlay x -> PongPlay #

Read PongPlay Source # 
Instance details

Defined in M.V769.P

Show PongPlay Source # 
Instance details

Defined in M.V769.P

NFData PongPlay Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: PongPlay -> () #

Eq PongPlay Source # 
Instance details

Defined in M.V769.P

Ord PongPlay Source # 
Instance details

Defined in M.V769.P

Pack PongPlay Source # 
Instance details

Defined in M.V769.P

Unpack PongPlay Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PongPlay Source #

type Rep PongPlay Source # 
Instance details

Defined in M.V769.P

type Rep PongPlay = D1 ('MetaData "PongPlay" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PongPlay" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64)))

data PlayerLoaded Source #

Constructors

PlayerLoaded 

Instances

Instances details
Data PlayerLoaded Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PlayerLoaded -> c PlayerLoaded #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PlayerLoaded #

toConstr :: PlayerLoaded -> Constr #

dataTypeOf :: PlayerLoaded -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PlayerLoaded) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PlayerLoaded) #

gmapT :: (forall b. Data b => b -> b) -> PlayerLoaded -> PlayerLoaded #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PlayerLoaded -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PlayerLoaded -> r #

gmapQ :: (forall d. Data d => d -> u) -> PlayerLoaded -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PlayerLoaded -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PlayerLoaded -> m PlayerLoaded #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PlayerLoaded -> m PlayerLoaded #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PlayerLoaded -> m PlayerLoaded #

Generic PlayerLoaded Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep PlayerLoaded 
Instance details

Defined in M.V769.P

type Rep PlayerLoaded = D1 ('MetaData "PlayerLoaded" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlayerLoaded" 'PrefixI 'False) (U1 :: Type -> Type))
Read PlayerLoaded Source # 
Instance details

Defined in M.V769.P

Show PlayerLoaded Source # 
Instance details

Defined in M.V769.P

NFData PlayerLoaded Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: PlayerLoaded -> () #

Eq PlayerLoaded Source # 
Instance details

Defined in M.V769.P

Ord PlayerLoaded Source # 
Instance details

Defined in M.V769.P

Pack PlayerLoaded Source # 
Instance details

Defined in M.V769.P

Unpack PlayerLoaded Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayerLoaded Source #

type Rep PlayerLoaded Source # 
Instance details

Defined in M.V769.P

type Rep PlayerLoaded = D1 ('MetaData "PlayerLoaded" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlayerLoaded" 'PrefixI 'False) (U1 :: Type -> Type))

data PlayerInput Source #

Constructors

PlayerInput 

Fields

Instances

Instances details
Data PlayerInput Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PlayerInput -> c PlayerInput #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PlayerInput #

toConstr :: PlayerInput -> Constr #

dataTypeOf :: PlayerInput -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PlayerInput) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PlayerInput) #

gmapT :: (forall b. Data b => b -> b) -> PlayerInput -> PlayerInput #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PlayerInput -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PlayerInput -> r #

gmapQ :: (forall d. Data d => d -> u) -> PlayerInput -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PlayerInput -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PlayerInput -> m PlayerInput #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PlayerInput -> m PlayerInput #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PlayerInput -> m PlayerInput #

Generic PlayerInput Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep PlayerInput 
Instance details

Defined in M.V769.P

type Rep PlayerInput = D1 ('MetaData "PlayerInput" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlayerInput" 'PrefixI 'True) (S1 ('MetaSel ('Just "sideways") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float) :*: (S1 ('MetaSel ('Just "forward") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float) :*: S1 ('MetaSel ('Just "flags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8))))
Read PlayerInput Source # 
Instance details

Defined in M.V769.P

Show PlayerInput Source # 
Instance details

Defined in M.V769.P

NFData PlayerInput Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: PlayerInput -> () #

Eq PlayerInput Source # 
Instance details

Defined in M.V769.P

Ord PlayerInput Source # 
Instance details

Defined in M.V769.P

Pack PlayerInput Source # 
Instance details

Defined in M.V769.P

Unpack PlayerInput Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayerInput Source #

type Rep PlayerInput Source # 
Instance details

Defined in M.V769.P

type Rep PlayerInput = D1 ('MetaData "PlayerInput" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlayerInput" 'PrefixI 'True) (S1 ('MetaSel ('Just "sideways") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float) :*: (S1 ('MetaSel ('Just "forward") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float) :*: S1 ('MetaSel ('Just "flags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8))))

data PlayerCommand__ Source #

Instances

Instances details
Generic PlayerCommand__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep PlayerCommand__ 
Instance details

Defined in M.V769.P

type Rep PlayerCommand__ = D1 ('MetaData "PlayerCommand__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlayerCommand__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "actionid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "data___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))
NFData PlayerCommand__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: PlayerCommand__ -> () #

Eq PlayerCommand__ Source # 
Instance details

Defined in M.V769.P

Ord PlayerCommand__ Source # 
Instance details

Defined in M.V769.P

Pack PlayerCommand__ Source # 
Instance details

Defined in M.V769.P

Unpack PlayerCommand__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayerCommand__ Source #

type Rep PlayerCommand__ Source # 
Instance details

Defined in M.V769.P

type Rep PlayerCommand__ = D1 ('MetaData "PlayerCommand__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlayerCommand__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "actionid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "data___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))

data PlayerCommand Source #

Constructors

PlayerCommand 

Fields

Instances

Instances details
Data PlayerCommand Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PlayerCommand -> c PlayerCommand #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PlayerCommand #

toConstr :: PlayerCommand -> Constr #

dataTypeOf :: PlayerCommand -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PlayerCommand) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PlayerCommand) #

gmapT :: (forall b. Data b => b -> b) -> PlayerCommand -> PlayerCommand #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PlayerCommand -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PlayerCommand -> r #

gmapQ :: (forall d. Data d => d -> u) -> PlayerCommand -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PlayerCommand -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PlayerCommand -> m PlayerCommand #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PlayerCommand -> m PlayerCommand #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PlayerCommand -> m PlayerCommand #

Generic PlayerCommand Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep PlayerCommand 
Instance details

Defined in M.V769.P

type Rep PlayerCommand = D1 ('MetaData "PlayerCommand" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlayerCommand" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "actionid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))
Read PlayerCommand Source # 
Instance details

Defined in M.V769.P

Show PlayerCommand Source # 
Instance details

Defined in M.V769.P

NFData PlayerCommand Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: PlayerCommand -> () #

Eq PlayerCommand Source # 
Instance details

Defined in M.V769.P

Ord PlayerCommand Source # 
Instance details

Defined in M.V769.P

Pack PlayerCommand Source # 
Instance details

Defined in M.V769.P

Unpack PlayerCommand Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayerCommand Source #

type Rep PlayerCommand Source # 
Instance details

Defined in M.V769.P

type Rep PlayerCommand = D1 ('MetaData "PlayerCommand" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlayerCommand" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "actionid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))

data PlayerAction__ Source #

Instances

Instances details
Generic PlayerAction__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep PlayerAction__ 
Instance details

Defined in M.V769.P

type Rep PlayerAction__ = D1 ('MetaData "PlayerAction__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlayerAction__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "actionid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "location__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position)) :*: (S1 ('MetaSel ('Just "face__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int8) :*: S1 ('MetaSel ('Just "sequence__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))))
NFData PlayerAction__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: PlayerAction__ -> () #

Eq PlayerAction__ Source # 
Instance details

Defined in M.V769.P

Ord PlayerAction__ Source # 
Instance details

Defined in M.V769.P

Pack PlayerAction__ Source # 
Instance details

Defined in M.V769.P

Unpack PlayerAction__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayerAction__ Source #

type Rep PlayerAction__ Source # 
Instance details

Defined in M.V769.P

type Rep PlayerAction__ = D1 ('MetaData "PlayerAction__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlayerAction__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "actionid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "location__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position)) :*: (S1 ('MetaSel ('Just "face__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int8) :*: S1 ('MetaSel ('Just "sequence__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))))

data PlayerAction Source #

Constructors

PlayerAction 

Instances

Instances details
Data PlayerAction Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PlayerAction -> c PlayerAction #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PlayerAction #

toConstr :: PlayerAction -> Constr #

dataTypeOf :: PlayerAction -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PlayerAction) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PlayerAction) #

gmapT :: (forall b. Data b => b -> b) -> PlayerAction -> PlayerAction #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PlayerAction -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PlayerAction -> r #

gmapQ :: (forall d. Data d => d -> u) -> PlayerAction -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PlayerAction -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PlayerAction -> m PlayerAction #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PlayerAction -> m PlayerAction #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PlayerAction -> m PlayerAction #

Generic PlayerAction Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep PlayerAction 
Instance details

Defined in M.V769.P

Read PlayerAction Source # 
Instance details

Defined in M.V769.P

Show PlayerAction Source # 
Instance details

Defined in M.V769.P

NFData PlayerAction Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: PlayerAction -> () #

Eq PlayerAction Source # 
Instance details

Defined in M.V769.P

Ord PlayerAction Source # 
Instance details

Defined in M.V769.P

Pack PlayerAction Source # 
Instance details

Defined in M.V769.P

Unpack PlayerAction Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayerAction Source #

type Rep PlayerAction Source # 
Instance details

Defined in M.V769.P

data ServerboundPlayerAbilities Source #

Constructors

ServerboundPlayerAbilities 

Fields

Instances

Instances details
Data ServerboundPlayerAbilities Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ServerboundPlayerAbilities -> c ServerboundPlayerAbilities #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ServerboundPlayerAbilities #

toConstr :: ServerboundPlayerAbilities -> Constr #

dataTypeOf :: ServerboundPlayerAbilities -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ServerboundPlayerAbilities) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ServerboundPlayerAbilities) #

gmapT :: (forall b. Data b => b -> b) -> ServerboundPlayerAbilities -> ServerboundPlayerAbilities #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ServerboundPlayerAbilities -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ServerboundPlayerAbilities -> r #

gmapQ :: (forall d. Data d => d -> u) -> ServerboundPlayerAbilities -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ServerboundPlayerAbilities -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ServerboundPlayerAbilities -> m ServerboundPlayerAbilities #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ServerboundPlayerAbilities -> m ServerboundPlayerAbilities #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ServerboundPlayerAbilities -> m ServerboundPlayerAbilities #

Generic ServerboundPlayerAbilities Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ServerboundPlayerAbilities 
Instance details

Defined in M.V769.P

type Rep ServerboundPlayerAbilities = D1 ('MetaData "ServerboundPlayerAbilities" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ServerboundPlayerAbilities" 'PrefixI 'True) (S1 ('MetaSel ('Just "flags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))
Read ServerboundPlayerAbilities Source # 
Instance details

Defined in M.V769.P

Show ServerboundPlayerAbilities Source # 
Instance details

Defined in M.V769.P

NFData ServerboundPlayerAbilities Source # 
Instance details

Defined in M.V769.P

Eq ServerboundPlayerAbilities Source # 
Instance details

Defined in M.V769.P

Ord ServerboundPlayerAbilities Source # 
Instance details

Defined in M.V769.P

Pack ServerboundPlayerAbilities Source # 
Instance details

Defined in M.V769.P

Unpack ServerboundPlayerAbilities Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ServerboundPlayerAbilities Source #

type Rep ServerboundPlayerAbilities Source # 
Instance details

Defined in M.V769.P

type Rep ServerboundPlayerAbilities = D1 ('MetaData "ServerboundPlayerAbilities" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ServerboundPlayerAbilities" 'PrefixI 'True) (S1 ('MetaSel ('Just "flags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))

data PlaceRecipe Source #

Constructors

PlaceRecipe 

Fields

Instances

Instances details
Data PlaceRecipe Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PlaceRecipe -> c PlaceRecipe #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PlaceRecipe #

toConstr :: PlaceRecipe -> Constr #

dataTypeOf :: PlaceRecipe -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PlaceRecipe) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PlaceRecipe) #

gmapT :: (forall b. Data b => b -> b) -> PlaceRecipe -> PlaceRecipe #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PlaceRecipe -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PlaceRecipe -> r #

gmapQ :: (forall d. Data d => d -> u) -> PlaceRecipe -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PlaceRecipe -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PlaceRecipe -> m PlaceRecipe #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PlaceRecipe -> m PlaceRecipe #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PlaceRecipe -> m PlaceRecipe #

Generic PlaceRecipe Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep PlaceRecipe 
Instance details

Defined in M.V769.P

type Rep PlaceRecipe = D1 ('MetaData "PlaceRecipe" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlaceRecipe" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: (S1 ('MetaSel ('Just "recipe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "makeall") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))
Read PlaceRecipe Source # 
Instance details

Defined in M.V769.P

Show PlaceRecipe Source # 
Instance details

Defined in M.V769.P

NFData PlaceRecipe Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: PlaceRecipe -> () #

Eq PlaceRecipe Source # 
Instance details

Defined in M.V769.P

Ord PlaceRecipe Source # 
Instance details

Defined in M.V769.P

Pack PlaceRecipe Source # 
Instance details

Defined in M.V769.P

Unpack PlaceRecipe Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlaceRecipe Source #

type Rep PlaceRecipe Source # 
Instance details

Defined in M.V769.P

type Rep PlaceRecipe = D1 ('MetaData "PlaceRecipe" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlaceRecipe" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: (S1 ('MetaSel ('Just "recipe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "makeall") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))

data PingRequestPlay Source #

Constructors

PingRequestPlay 

Fields

Instances

Instances details
Data PingRequestPlay Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PingRequestPlay -> c PingRequestPlay #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PingRequestPlay #

toConstr :: PingRequestPlay -> Constr #

dataTypeOf :: PingRequestPlay -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PingRequestPlay) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PingRequestPlay) #

gmapT :: (forall b. Data b => b -> b) -> PingRequestPlay -> PingRequestPlay #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PingRequestPlay -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PingRequestPlay -> r #

gmapQ :: (forall d. Data d => d -> u) -> PingRequestPlay -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PingRequestPlay -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PingRequestPlay -> m PingRequestPlay #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PingRequestPlay -> m PingRequestPlay #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PingRequestPlay -> m PingRequestPlay #

Generic PingRequestPlay Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep PingRequestPlay 
Instance details

Defined in M.V769.P

type Rep PingRequestPlay = D1 ('MetaData "PingRequestPlay" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PingRequestPlay" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64)))
Read PingRequestPlay Source # 
Instance details

Defined in M.V769.P

Show PingRequestPlay Source # 
Instance details

Defined in M.V769.P

NFData PingRequestPlay Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: PingRequestPlay -> () #

Eq PingRequestPlay Source # 
Instance details

Defined in M.V769.P

Ord PingRequestPlay Source # 
Instance details

Defined in M.V769.P

Pack PingRequestPlay Source # 
Instance details

Defined in M.V769.P

Unpack PingRequestPlay Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PingRequestPlay Source #

type Rep PingRequestPlay Source # 
Instance details

Defined in M.V769.P

type Rep PingRequestPlay = D1 ('MetaData "PingRequestPlay" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PingRequestPlay" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64)))

data PickItemFromEntity__ Source #

Constructors

PickItemFromEntity__ 

Fields

Instances

Instances details
Generic PickItemFromEntity__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep PickItemFromEntity__ 
Instance details

Defined in M.V769.P

type Rep PickItemFromEntity__ = D1 ('MetaData "PickItemFromEntity__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PickItemFromEntity__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
NFData PickItemFromEntity__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: PickItemFromEntity__ -> () #

Eq PickItemFromEntity__ Source # 
Instance details

Defined in M.V769.P

Ord PickItemFromEntity__ Source # 
Instance details

Defined in M.V769.P

Pack PickItemFromEntity__ Source # 
Instance details

Defined in M.V769.P

Unpack PickItemFromEntity__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PickItemFromEntity__ Source #

type Rep PickItemFromEntity__ Source # 
Instance details

Defined in M.V769.P

type Rep PickItemFromEntity__ = D1 ('MetaData "PickItemFromEntity__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PickItemFromEntity__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data PickItemFromEntity Source #

Constructors

PickItemFromEntity 

Fields

Instances

Instances details
Data PickItemFromEntity Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PickItemFromEntity -> c PickItemFromEntity #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PickItemFromEntity #

toConstr :: PickItemFromEntity -> Constr #

dataTypeOf :: PickItemFromEntity -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PickItemFromEntity) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PickItemFromEntity) #

gmapT :: (forall b. Data b => b -> b) -> PickItemFromEntity -> PickItemFromEntity #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PickItemFromEntity -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PickItemFromEntity -> r #

gmapQ :: (forall d. Data d => d -> u) -> PickItemFromEntity -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PickItemFromEntity -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PickItemFromEntity -> m PickItemFromEntity #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PickItemFromEntity -> m PickItemFromEntity #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PickItemFromEntity -> m PickItemFromEntity #

Generic PickItemFromEntity Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep PickItemFromEntity 
Instance details

Defined in M.V769.P

type Rep PickItemFromEntity = D1 ('MetaData "PickItemFromEntity" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PickItemFromEntity" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))
Read PickItemFromEntity Source # 
Instance details

Defined in M.V769.P

Show PickItemFromEntity Source # 
Instance details

Defined in M.V769.P

NFData PickItemFromEntity Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: PickItemFromEntity -> () #

Eq PickItemFromEntity Source # 
Instance details

Defined in M.V769.P

Ord PickItemFromEntity Source # 
Instance details

Defined in M.V769.P

Pack PickItemFromEntity Source # 
Instance details

Defined in M.V769.P

Unpack PickItemFromEntity Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PickItemFromEntity Source #

type Rep PickItemFromEntity Source # 
Instance details

Defined in M.V769.P

type Rep PickItemFromEntity = D1 ('MetaData "PickItemFromEntity" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PickItemFromEntity" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data PickItemFromBlock Source #

Constructors

PickItemFromBlock 

Fields

Instances

Instances details
Data PickItemFromBlock Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PickItemFromBlock -> c PickItemFromBlock #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PickItemFromBlock #

toConstr :: PickItemFromBlock -> Constr #

dataTypeOf :: PickItemFromBlock -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PickItemFromBlock) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PickItemFromBlock) #

gmapT :: (forall b. Data b => b -> b) -> PickItemFromBlock -> PickItemFromBlock #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PickItemFromBlock -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PickItemFromBlock -> r #

gmapQ :: (forall d. Data d => d -> u) -> PickItemFromBlock -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PickItemFromBlock -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PickItemFromBlock -> m PickItemFromBlock #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PickItemFromBlock -> m PickItemFromBlock #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PickItemFromBlock -> m PickItemFromBlock #

Generic PickItemFromBlock Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep PickItemFromBlock 
Instance details

Defined in M.V769.P

type Rep PickItemFromBlock = D1 ('MetaData "PickItemFromBlock" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PickItemFromBlock" 'PrefixI 'True) (S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position)))
Read PickItemFromBlock Source # 
Instance details

Defined in M.V769.P

Show PickItemFromBlock Source # 
Instance details

Defined in M.V769.P

NFData PickItemFromBlock Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: PickItemFromBlock -> () #

Eq PickItemFromBlock Source # 
Instance details

Defined in M.V769.P

Ord PickItemFromBlock Source # 
Instance details

Defined in M.V769.P

Pack PickItemFromBlock Source # 
Instance details

Defined in M.V769.P

Unpack PickItemFromBlock Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PickItemFromBlock Source #

type Rep PickItemFromBlock Source # 
Instance details

Defined in M.V769.P

type Rep PickItemFromBlock = D1 ('MetaData "PickItemFromBlock" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PickItemFromBlock" 'PrefixI 'True) (S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position)))

data PaddleBoat Source #

Instances

Instances details
Data PaddleBoat Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PaddleBoat -> c PaddleBoat #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PaddleBoat #

toConstr :: PaddleBoat -> Constr #

dataTypeOf :: PaddleBoat -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PaddleBoat) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PaddleBoat) #

gmapT :: (forall b. Data b => b -> b) -> PaddleBoat -> PaddleBoat #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PaddleBoat -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PaddleBoat -> r #

gmapQ :: (forall d. Data d => d -> u) -> PaddleBoat -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PaddleBoat -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PaddleBoat -> m PaddleBoat #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PaddleBoat -> m PaddleBoat #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PaddleBoat -> m PaddleBoat #

Generic PaddleBoat Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep PaddleBoat 
Instance details

Defined in M.V769.P

type Rep PaddleBoat = D1 ('MetaData "PaddleBoat" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PaddleBoat" 'PrefixI 'True) (S1 ('MetaSel ('Just "leftpaddleturning") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "rightpaddleturning") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))
Read PaddleBoat Source # 
Instance details

Defined in M.V769.P

Show PaddleBoat Source # 
Instance details

Defined in M.V769.P

NFData PaddleBoat Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: PaddleBoat -> () #

Eq PaddleBoat Source # 
Instance details

Defined in M.V769.P

Ord PaddleBoat Source # 
Instance details

Defined in M.V769.P

Pack PaddleBoat Source # 
Instance details

Defined in M.V769.P

Unpack PaddleBoat Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PaddleBoat Source #

type Rep PaddleBoat Source # 
Instance details

Defined in M.V769.P

type Rep PaddleBoat = D1 ('MetaData "PaddleBoat" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PaddleBoat" 'PrefixI 'True) (S1 ('MetaSel ('Just "leftpaddleturning") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "rightpaddleturning") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

data MoveVehicleServerbound Source #

Constructors

MoveVehicleServerbound 

Fields

Instances

Instances details
Data MoveVehicleServerbound Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MoveVehicleServerbound -> c MoveVehicleServerbound #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MoveVehicleServerbound #

toConstr :: MoveVehicleServerbound -> Constr #

dataTypeOf :: MoveVehicleServerbound -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MoveVehicleServerbound) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MoveVehicleServerbound) #

gmapT :: (forall b. Data b => b -> b) -> MoveVehicleServerbound -> MoveVehicleServerbound #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MoveVehicleServerbound -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MoveVehicleServerbound -> r #

gmapQ :: (forall d. Data d => d -> u) -> MoveVehicleServerbound -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> MoveVehicleServerbound -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> MoveVehicleServerbound -> m MoveVehicleServerbound #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MoveVehicleServerbound -> m MoveVehicleServerbound #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MoveVehicleServerbound -> m MoveVehicleServerbound #

Generic MoveVehicleServerbound Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep MoveVehicleServerbound 
Instance details

Defined in M.V769.P

type Rep MoveVehicleServerbound = D1 ('MetaData "MoveVehicleServerbound" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "MoveVehicleServerbound" 'PrefixI 'True) (S1 ('MetaSel ('Just "position") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double)) :*: S1 ('MetaSel ('Just "rotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Float))))
Read MoveVehicleServerbound Source # 
Instance details

Defined in M.V769.P

Show MoveVehicleServerbound Source # 
Instance details

Defined in M.V769.P

NFData MoveVehicleServerbound Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: MoveVehicleServerbound -> () #

Eq MoveVehicleServerbound Source # 
Instance details

Defined in M.V769.P

Ord MoveVehicleServerbound Source # 
Instance details

Defined in M.V769.P

Pack MoveVehicleServerbound Source # 
Instance details

Defined in M.V769.P

Unpack MoveVehicleServerbound Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r MoveVehicleServerbound Source #

type Rep MoveVehicleServerbound Source # 
Instance details

Defined in M.V769.P

type Rep MoveVehicleServerbound = D1 ('MetaData "MoveVehicleServerbound" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "MoveVehicleServerbound" 'PrefixI 'True) (S1 ('MetaSel ('Just "position") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double)) :*: S1 ('MetaSel ('Just "rotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Float))))

data SetPlayerMovementFlags Source #

Constructors

SetPlayerMovementFlags 

Fields

Instances

Instances details
Data SetPlayerMovementFlags Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetPlayerMovementFlags -> c SetPlayerMovementFlags #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetPlayerMovementFlags #

toConstr :: SetPlayerMovementFlags -> Constr #

dataTypeOf :: SetPlayerMovementFlags -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetPlayerMovementFlags) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetPlayerMovementFlags) #

gmapT :: (forall b. Data b => b -> b) -> SetPlayerMovementFlags -> SetPlayerMovementFlags #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetPlayerMovementFlags -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetPlayerMovementFlags -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetPlayerMovementFlags -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetPlayerMovementFlags -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetPlayerMovementFlags -> m SetPlayerMovementFlags #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetPlayerMovementFlags -> m SetPlayerMovementFlags #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetPlayerMovementFlags -> m SetPlayerMovementFlags #

Generic SetPlayerMovementFlags Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetPlayerMovementFlags 
Instance details

Defined in M.V769.P

type Rep SetPlayerMovementFlags = D1 ('MetaData "SetPlayerMovementFlags" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetPlayerMovementFlags" 'PrefixI 'True) (S1 ('MetaSel ('Just "flags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))
Read SetPlayerMovementFlags Source # 
Instance details

Defined in M.V769.P

Show SetPlayerMovementFlags Source # 
Instance details

Defined in M.V769.P

NFData SetPlayerMovementFlags Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetPlayerMovementFlags -> () #

Eq SetPlayerMovementFlags Source # 
Instance details

Defined in M.V769.P

Ord SetPlayerMovementFlags Source # 
Instance details

Defined in M.V769.P

Pack SetPlayerMovementFlags Source # 
Instance details

Defined in M.V769.P

Unpack SetPlayerMovementFlags Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetPlayerMovementFlags Source #

type Rep SetPlayerMovementFlags Source # 
Instance details

Defined in M.V769.P

type Rep SetPlayerMovementFlags = D1 ('MetaData "SetPlayerMovementFlags" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetPlayerMovementFlags" 'PrefixI 'True) (S1 ('MetaSel ('Just "flags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))

data SetPlayerRotation Source #

Constructors

SetPlayerRotation 

Fields

Instances

Instances details
Data SetPlayerRotation Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetPlayerRotation -> c SetPlayerRotation #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetPlayerRotation #

toConstr :: SetPlayerRotation -> Constr #

dataTypeOf :: SetPlayerRotation -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetPlayerRotation) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetPlayerRotation) #

gmapT :: (forall b. Data b => b -> b) -> SetPlayerRotation -> SetPlayerRotation #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetPlayerRotation -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetPlayerRotation -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetPlayerRotation -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetPlayerRotation -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetPlayerRotation -> m SetPlayerRotation #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetPlayerRotation -> m SetPlayerRotation #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetPlayerRotation -> m SetPlayerRotation #

Generic SetPlayerRotation Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetPlayerRotation 
Instance details

Defined in M.V769.P

type Rep SetPlayerRotation = D1 ('MetaData "SetPlayerRotation" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetPlayerRotation" 'PrefixI 'True) (S1 ('MetaSel ('Just "rotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Float)) :*: S1 ('MetaSel ('Just "onground") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))
Read SetPlayerRotation Source # 
Instance details

Defined in M.V769.P

Show SetPlayerRotation Source # 
Instance details

Defined in M.V769.P

NFData SetPlayerRotation Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetPlayerRotation -> () #

Eq SetPlayerRotation Source # 
Instance details

Defined in M.V769.P

Ord SetPlayerRotation Source # 
Instance details

Defined in M.V769.P

Pack SetPlayerRotation Source # 
Instance details

Defined in M.V769.P

Unpack SetPlayerRotation Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetPlayerRotation Source #

type Rep SetPlayerRotation Source # 
Instance details

Defined in M.V769.P

type Rep SetPlayerRotation = D1 ('MetaData "SetPlayerRotation" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetPlayerRotation" 'PrefixI 'True) (S1 ('MetaSel ('Just "rotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Float)) :*: S1 ('MetaSel ('Just "onground") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

data SetPlayerPositionAndRotation__ Source #

Instances

Instances details
Generic SetPlayerPositionAndRotation__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetPlayerPositionAndRotation__ 
Instance details

Defined in M.V769.P

type Rep SetPlayerPositionAndRotation__ = D1 ('MetaData "SetPlayerPositionAndRotation__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetPlayerPositionAndRotation__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "position__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double)) :*: S1 ('MetaSel ('Just "rotation__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Float))) :*: (S1 ('MetaSel ('Just "flags__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "teleportid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))))
NFData SetPlayerPositionAndRotation__ Source # 
Instance details

Defined in M.V769.P

Eq SetPlayerPositionAndRotation__ Source # 
Instance details

Defined in M.V769.P

Ord SetPlayerPositionAndRotation__ Source # 
Instance details

Defined in M.V769.P

Pack SetPlayerPositionAndRotation__ Source # 
Instance details

Defined in M.V769.P

Unpack SetPlayerPositionAndRotation__ Source # 
Instance details

Defined in M.V769.P

type Rep SetPlayerPositionAndRotation__ Source # 
Instance details

Defined in M.V769.P

type Rep SetPlayerPositionAndRotation__ = D1 ('MetaData "SetPlayerPositionAndRotation__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetPlayerPositionAndRotation__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "position__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double)) :*: S1 ('MetaSel ('Just "rotation__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Float))) :*: (S1 ('MetaSel ('Just "flags__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "teleportid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))))

data SetPlayerPositionAndRotation Source #

Instances

Instances details
Data SetPlayerPositionAndRotation Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetPlayerPositionAndRotation -> c SetPlayerPositionAndRotation #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetPlayerPositionAndRotation #

toConstr :: SetPlayerPositionAndRotation -> Constr #

dataTypeOf :: SetPlayerPositionAndRotation -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetPlayerPositionAndRotation) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetPlayerPositionAndRotation) #

gmapT :: (forall b. Data b => b -> b) -> SetPlayerPositionAndRotation -> SetPlayerPositionAndRotation #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetPlayerPositionAndRotation -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetPlayerPositionAndRotation -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetPlayerPositionAndRotation -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetPlayerPositionAndRotation -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetPlayerPositionAndRotation -> m SetPlayerPositionAndRotation #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetPlayerPositionAndRotation -> m SetPlayerPositionAndRotation #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetPlayerPositionAndRotation -> m SetPlayerPositionAndRotation #

Generic SetPlayerPositionAndRotation Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetPlayerPositionAndRotation 
Instance details

Defined in M.V769.P

type Rep SetPlayerPositionAndRotation = D1 ('MetaData "SetPlayerPositionAndRotation" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetPlayerPositionAndRotation" 'PrefixI 'True) ((S1 ('MetaSel ('Just "position") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double)) :*: S1 ('MetaSel ('Just "rotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Float))) :*: (S1 ('MetaSel ('Just "flags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "teleportid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))
Read SetPlayerPositionAndRotation Source # 
Instance details

Defined in M.V769.P

Show SetPlayerPositionAndRotation Source # 
Instance details

Defined in M.V769.P

NFData SetPlayerPositionAndRotation Source # 
Instance details

Defined in M.V769.P

Eq SetPlayerPositionAndRotation Source # 
Instance details

Defined in M.V769.P

Ord SetPlayerPositionAndRotation Source # 
Instance details

Defined in M.V769.P

Pack SetPlayerPositionAndRotation Source # 
Instance details

Defined in M.V769.P

Unpack SetPlayerPositionAndRotation Source # 
Instance details

Defined in M.V769.P

type Rep SetPlayerPositionAndRotation Source # 
Instance details

Defined in M.V769.P

type Rep SetPlayerPositionAndRotation = D1 ('MetaData "SetPlayerPositionAndRotation" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetPlayerPositionAndRotation" 'PrefixI 'True) ((S1 ('MetaSel ('Just "position") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double)) :*: S1 ('MetaSel ('Just "rotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Float))) :*: (S1 ('MetaSel ('Just "flags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "teleportid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))

data SetPlayerPosition__ Source #

Instances

Instances details
Generic SetPlayerPosition__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetPlayerPosition__ 
Instance details

Defined in M.V769.P

type Rep SetPlayerPosition__ = D1 ('MetaData "SetPlayerPosition__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetPlayerPosition__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "position__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double)) :*: S1 ('MetaSel ('Just "rotation__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Float))) :*: (S1 ('MetaSel ('Just "flags__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "teleportid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))))
NFData SetPlayerPosition__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetPlayerPosition__ -> () #

Eq SetPlayerPosition__ Source # 
Instance details

Defined in M.V769.P

Ord SetPlayerPosition__ Source # 
Instance details

Defined in M.V769.P

Pack SetPlayerPosition__ Source # 
Instance details

Defined in M.V769.P

Unpack SetPlayerPosition__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetPlayerPosition__ Source #

type Rep SetPlayerPosition__ Source # 
Instance details

Defined in M.V769.P

type Rep SetPlayerPosition__ = D1 ('MetaData "SetPlayerPosition__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetPlayerPosition__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "position__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double)) :*: S1 ('MetaSel ('Just "rotation__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Float))) :*: (S1 ('MetaSel ('Just "flags__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "teleportid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))))

data SetPlayerPosition Source #

Constructors

SetPlayerPosition 

Fields

Instances

Instances details
Data SetPlayerPosition Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetPlayerPosition -> c SetPlayerPosition #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetPlayerPosition #

toConstr :: SetPlayerPosition -> Constr #

dataTypeOf :: SetPlayerPosition -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetPlayerPosition) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetPlayerPosition) #

gmapT :: (forall b. Data b => b -> b) -> SetPlayerPosition -> SetPlayerPosition #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetPlayerPosition -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetPlayerPosition -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetPlayerPosition -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetPlayerPosition -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetPlayerPosition -> m SetPlayerPosition #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetPlayerPosition -> m SetPlayerPosition #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetPlayerPosition -> m SetPlayerPosition #

Generic SetPlayerPosition Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetPlayerPosition 
Instance details

Defined in M.V769.P

type Rep SetPlayerPosition = D1 ('MetaData "SetPlayerPosition" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetPlayerPosition" 'PrefixI 'True) ((S1 ('MetaSel ('Just "position") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double)) :*: S1 ('MetaSel ('Just "rotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Float))) :*: (S1 ('MetaSel ('Just "flags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "teleportid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))
Read SetPlayerPosition Source # 
Instance details

Defined in M.V769.P

Show SetPlayerPosition Source # 
Instance details

Defined in M.V769.P

NFData SetPlayerPosition Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetPlayerPosition -> () #

Eq SetPlayerPosition Source # 
Instance details

Defined in M.V769.P

Ord SetPlayerPosition Source # 
Instance details

Defined in M.V769.P

Pack SetPlayerPosition Source # 
Instance details

Defined in M.V769.P

Unpack SetPlayerPosition Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetPlayerPosition Source #

type Rep SetPlayerPosition Source # 
Instance details

Defined in M.V769.P

type Rep SetPlayerPosition = D1 ('MetaData "SetPlayerPosition" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetPlayerPosition" 'PrefixI 'True) ((S1 ('MetaSel ('Just "position") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double)) :*: S1 ('MetaSel ('Just "rotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Float))) :*: (S1 ('MetaSel ('Just "flags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "teleportid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))

data LockDifficulty Source #

Constructors

LockDifficulty 

Fields

Instances

Instances details
Data LockDifficulty Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LockDifficulty -> c LockDifficulty #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LockDifficulty #

toConstr :: LockDifficulty -> Constr #

dataTypeOf :: LockDifficulty -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LockDifficulty) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LockDifficulty) #

gmapT :: (forall b. Data b => b -> b) -> LockDifficulty -> LockDifficulty #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LockDifficulty -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LockDifficulty -> r #

gmapQ :: (forall d. Data d => d -> u) -> LockDifficulty -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> LockDifficulty -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LockDifficulty -> m LockDifficulty #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LockDifficulty -> m LockDifficulty #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LockDifficulty -> m LockDifficulty #

Generic LockDifficulty Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep LockDifficulty 
Instance details

Defined in M.V769.P

type Rep LockDifficulty = D1 ('MetaData "LockDifficulty" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LockDifficulty" 'PrefixI 'True) (S1 ('MetaSel ('Just "locked") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))
Read LockDifficulty Source # 
Instance details

Defined in M.V769.P

Show LockDifficulty Source # 
Instance details

Defined in M.V769.P

NFData LockDifficulty Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: LockDifficulty -> () #

Eq LockDifficulty Source # 
Instance details

Defined in M.V769.P

Ord LockDifficulty Source # 
Instance details

Defined in M.V769.P

Pack LockDifficulty Source # 
Instance details

Defined in M.V769.P

Unpack LockDifficulty Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LockDifficulty Source #

type Rep LockDifficulty Source # 
Instance details

Defined in M.V769.P

type Rep LockDifficulty = D1 ('MetaData "LockDifficulty" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LockDifficulty" 'PrefixI 'True) (S1 ('MetaSel ('Just "locked") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

data JigsawGenerate__ Source #

Instances

Instances details
Generic JigsawGenerate__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep JigsawGenerate__ 
Instance details

Defined in M.V769.P

type Rep JigsawGenerate__ = D1 ('MetaData "JigsawGenerate__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "JigsawGenerate__" 'PrefixI 'True) (S1 ('MetaSel ('Just "location__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: (S1 ('MetaSel ('Just "levels__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "keepjigsaws__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))
NFData JigsawGenerate__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: JigsawGenerate__ -> () #

Eq JigsawGenerate__ Source # 
Instance details

Defined in M.V769.P

Ord JigsawGenerate__ Source # 
Instance details

Defined in M.V769.P

Pack JigsawGenerate__ Source # 
Instance details

Defined in M.V769.P

Unpack JigsawGenerate__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r JigsawGenerate__ Source #

type Rep JigsawGenerate__ Source # 
Instance details

Defined in M.V769.P

type Rep JigsawGenerate__ = D1 ('MetaData "JigsawGenerate__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "JigsawGenerate__" 'PrefixI 'True) (S1 ('MetaSel ('Just "location__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: (S1 ('MetaSel ('Just "levels__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "keepjigsaws__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))

data JigsawGenerate Source #

Constructors

JigsawGenerate 

Instances

Instances details
Data JigsawGenerate Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JigsawGenerate -> c JigsawGenerate #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JigsawGenerate #

toConstr :: JigsawGenerate -> Constr #

dataTypeOf :: JigsawGenerate -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JigsawGenerate) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JigsawGenerate) #

gmapT :: (forall b. Data b => b -> b) -> JigsawGenerate -> JigsawGenerate #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JigsawGenerate -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JigsawGenerate -> r #

gmapQ :: (forall d. Data d => d -> u) -> JigsawGenerate -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JigsawGenerate -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JigsawGenerate -> m JigsawGenerate #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JigsawGenerate -> m JigsawGenerate #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JigsawGenerate -> m JigsawGenerate #

Generic JigsawGenerate Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep JigsawGenerate 
Instance details

Defined in M.V769.P

type Rep JigsawGenerate = D1 ('MetaData "JigsawGenerate" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "JigsawGenerate" 'PrefixI 'True) (S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: (S1 ('MetaSel ('Just "levels") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "keepjigsaws") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))
Read JigsawGenerate Source # 
Instance details

Defined in M.V769.P

Show JigsawGenerate Source # 
Instance details

Defined in M.V769.P

NFData JigsawGenerate Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: JigsawGenerate -> () #

Eq JigsawGenerate Source # 
Instance details

Defined in M.V769.P

Ord JigsawGenerate Source # 
Instance details

Defined in M.V769.P

Pack JigsawGenerate Source # 
Instance details

Defined in M.V769.P

Unpack JigsawGenerate Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r JigsawGenerate Source #

type Rep JigsawGenerate Source # 
Instance details

Defined in M.V769.P

type Rep JigsawGenerate = D1 ('MetaData "JigsawGenerate" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "JigsawGenerate" 'PrefixI 'True) (S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: (S1 ('MetaSel ('Just "levels") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "keepjigsaws") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))

data Interact__ Source #

Constructors

Interact__ 

Instances

Instances details
Generic Interact__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep Interact__ 
Instance details

Defined in M.V769.P

NFData Interact__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: Interact__ -> () #

Eq Interact__ Source # 
Instance details

Defined in M.V769.P

Ord Interact__ Source # 
Instance details

Defined in M.V769.P

Pack Interact__ Source # 
Instance details

Defined in M.V769.P

Unpack Interact__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Interact__ Source #

type Rep Interact__ Source # 
Instance details

Defined in M.V769.P

data Interact Source #

Constructors

Interact 

Fields

Instances

Instances details
Data Interact Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Interact -> c Interact #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Interact #

toConstr :: Interact -> Constr #

dataTypeOf :: Interact -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Interact) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Interact) #

gmapT :: (forall b. Data b => b -> b) -> Interact -> Interact #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Interact -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Interact -> r #

gmapQ :: (forall d. Data d => d -> u) -> Interact -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Interact -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Interact -> m Interact #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Interact -> m Interact #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Interact -> m Interact #

Generic Interact Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep Interact 
Instance details

Defined in M.V769.P

Methods

from :: Interact -> Rep Interact x #

to :: Rep Interact x -> Interact #

Read Interact Source # 
Instance details

Defined in M.V769.P

Show Interact Source # 
Instance details

Defined in M.V769.P

NFData Interact Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: Interact -> () #

Eq Interact Source # 
Instance details

Defined in M.V769.P

Ord Interact Source # 
Instance details

Defined in M.V769.P

Pack Interact Source # 
Instance details

Defined in M.V769.P

Unpack Interact Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Interact Source #

type Rep Interact Source # 
Instance details

Defined in M.V769.P

data QueryEntityTag__ Source #

Instances

Instances details
Generic QueryEntityTag__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep QueryEntityTag__ 
Instance details

Defined in M.V769.P

type Rep QueryEntityTag__ = D1 ('MetaData "QueryEntityTag__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "QueryEntityTag__" 'PrefixI 'True) (S1 ('MetaSel ('Just "transactionid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
NFData QueryEntityTag__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: QueryEntityTag__ -> () #

Eq QueryEntityTag__ Source # 
Instance details

Defined in M.V769.P

Ord QueryEntityTag__ Source # 
Instance details

Defined in M.V769.P

Pack QueryEntityTag__ Source # 
Instance details

Defined in M.V769.P

Unpack QueryEntityTag__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r QueryEntityTag__ Source #

type Rep QueryEntityTag__ Source # 
Instance details

Defined in M.V769.P

type Rep QueryEntityTag__ = D1 ('MetaData "QueryEntityTag__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "QueryEntityTag__" 'PrefixI 'True) (S1 ('MetaSel ('Just "transactionid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data QueryEntityTag Source #

Constructors

QueryEntityTag 

Instances

Instances details
Data QueryEntityTag Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> QueryEntityTag -> c QueryEntityTag #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c QueryEntityTag #

toConstr :: QueryEntityTag -> Constr #

dataTypeOf :: QueryEntityTag -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c QueryEntityTag) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c QueryEntityTag) #

gmapT :: (forall b. Data b => b -> b) -> QueryEntityTag -> QueryEntityTag #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> QueryEntityTag -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> QueryEntityTag -> r #

gmapQ :: (forall d. Data d => d -> u) -> QueryEntityTag -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> QueryEntityTag -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> QueryEntityTag -> m QueryEntityTag #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> QueryEntityTag -> m QueryEntityTag #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> QueryEntityTag -> m QueryEntityTag #

Generic QueryEntityTag Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep QueryEntityTag 
Instance details

Defined in M.V769.P

type Rep QueryEntityTag = D1 ('MetaData "QueryEntityTag" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "QueryEntityTag" 'PrefixI 'True) (S1 ('MetaSel ('Just "transactionid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))
Read QueryEntityTag Source # 
Instance details

Defined in M.V769.P

Show QueryEntityTag Source # 
Instance details

Defined in M.V769.P

NFData QueryEntityTag Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: QueryEntityTag -> () #

Eq QueryEntityTag Source # 
Instance details

Defined in M.V769.P

Ord QueryEntityTag Source # 
Instance details

Defined in M.V769.P

Pack QueryEntityTag Source # 
Instance details

Defined in M.V769.P

Unpack QueryEntityTag Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r QueryEntityTag Source #

type Rep QueryEntityTag Source # 
Instance details

Defined in M.V769.P

type Rep QueryEntityTag = D1 ('MetaData "QueryEntityTag" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "QueryEntityTag" 'PrefixI 'True) (S1 ('MetaSel ('Just "transactionid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data EditBook__ Source #

Constructors

EditBook__ 

Fields

Instances

Instances details
Generic EditBook__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep EditBook__ 
Instance details

Defined in M.V769.P

type Rep EditBook__ = D1 ('MetaData "EditBook__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EditBook__" 'PrefixI 'True) (S1 ('MetaSel ('Just "hand__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "pages__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Text)) :*: S1 ('MetaSel ('Just "title__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))))
NFData EditBook__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: EditBook__ -> () #

Eq EditBook__ Source # 
Instance details

Defined in M.V769.P

Ord EditBook__ Source # 
Instance details

Defined in M.V769.P

Pack EditBook__ Source # 
Instance details

Defined in M.V769.P

Unpack EditBook__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EditBook__ Source #

type Rep EditBook__ Source # 
Instance details

Defined in M.V769.P

type Rep EditBook__ = D1 ('MetaData "EditBook__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EditBook__" 'PrefixI 'True) (S1 ('MetaSel ('Just "hand__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "pages__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Text)) :*: S1 ('MetaSel ('Just "title__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))))

data EditBook Source #

Constructors

EditBook 

Fields

Instances

Instances details
Data EditBook Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> EditBook -> c EditBook #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c EditBook #

toConstr :: EditBook -> Constr #

dataTypeOf :: EditBook -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c EditBook) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c EditBook) #

gmapT :: (forall b. Data b => b -> b) -> EditBook -> EditBook #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> EditBook -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> EditBook -> r #

gmapQ :: (forall d. Data d => d -> u) -> EditBook -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> EditBook -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> EditBook -> m EditBook #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> EditBook -> m EditBook #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> EditBook -> m EditBook #

Generic EditBook Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep EditBook 
Instance details

Defined in M.V769.P

type Rep EditBook = D1 ('MetaData "EditBook" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EditBook" 'PrefixI 'True) (S1 ('MetaSel ('Just "hand") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "pages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Text)) :*: S1 ('MetaSel ('Just "title") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))))

Methods

from :: EditBook -> Rep EditBook x #

to :: Rep EditBook x -> EditBook #

Read EditBook Source # 
Instance details

Defined in M.V769.P

Show EditBook Source # 
Instance details

Defined in M.V769.P

NFData EditBook Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: EditBook -> () #

Eq EditBook Source # 
Instance details

Defined in M.V769.P

Ord EditBook Source # 
Instance details

Defined in M.V769.P

Pack EditBook Source # 
Instance details

Defined in M.V769.P

Unpack EditBook Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EditBook Source #

type Rep EditBook Source # 
Instance details

Defined in M.V769.P

type Rep EditBook = D1 ('MetaData "EditBook" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EditBook" 'PrefixI 'True) (S1 ('MetaSel ('Just "hand") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "pages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Text)) :*: S1 ('MetaSel ('Just "title") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))))

data DebugSampleSubscription__ Source #

Instances

Instances details
Generic DebugSampleSubscription__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep DebugSampleSubscription__ 
Instance details

Defined in M.V769.P

type Rep DebugSampleSubscription__ = D1 ('MetaData "DebugSampleSubscription__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "DebugSampleSubscription__" 'PrefixI 'True) (S1 ('MetaSel ('Just "data___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TakeRest)))
NFData DebugSampleSubscription__ Source # 
Instance details

Defined in M.V769.P

Eq DebugSampleSubscription__ Source # 
Instance details

Defined in M.V769.P

Ord DebugSampleSubscription__ Source # 
Instance details

Defined in M.V769.P

Pack DebugSampleSubscription__ Source # 
Instance details

Defined in M.V769.P

Unpack DebugSampleSubscription__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r DebugSampleSubscription__ Source #

type Rep DebugSampleSubscription__ Source # 
Instance details

Defined in M.V769.P

type Rep DebugSampleSubscription__ = D1 ('MetaData "DebugSampleSubscription__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "DebugSampleSubscription__" 'PrefixI 'True) (S1 ('MetaSel ('Just "data___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TakeRest)))

data DebugSampleSubscription Source #

Constructors

DebugSampleSubscription 

Fields

Instances

Instances details
Data DebugSampleSubscription Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DebugSampleSubscription -> c DebugSampleSubscription #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DebugSampleSubscription #

toConstr :: DebugSampleSubscription -> Constr #

dataTypeOf :: DebugSampleSubscription -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DebugSampleSubscription) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DebugSampleSubscription) #

gmapT :: (forall b. Data b => b -> b) -> DebugSampleSubscription -> DebugSampleSubscription #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DebugSampleSubscription -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DebugSampleSubscription -> r #

gmapQ :: (forall d. Data d => d -> u) -> DebugSampleSubscription -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> DebugSampleSubscription -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DebugSampleSubscription -> m DebugSampleSubscription #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DebugSampleSubscription -> m DebugSampleSubscription #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DebugSampleSubscription -> m DebugSampleSubscription #

Generic DebugSampleSubscription Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep DebugSampleSubscription 
Instance details

Defined in M.V769.P

type Rep DebugSampleSubscription = D1 ('MetaData "DebugSampleSubscription" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "DebugSampleSubscription" 'PrefixI 'True) (S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))
Read DebugSampleSubscription Source # 
Instance details

Defined in M.V769.P

Show DebugSampleSubscription Source # 
Instance details

Defined in M.V769.P

NFData DebugSampleSubscription Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: DebugSampleSubscription -> () #

Eq DebugSampleSubscription Source # 
Instance details

Defined in M.V769.P

Ord DebugSampleSubscription Source # 
Instance details

Defined in M.V769.P

Pack DebugSampleSubscription Source # 
Instance details

Defined in M.V769.P

Unpack DebugSampleSubscription Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r DebugSampleSubscription Source #

type Rep DebugSampleSubscription Source # 
Instance details

Defined in M.V769.P

type Rep DebugSampleSubscription = D1 ('MetaData "DebugSampleSubscription" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "DebugSampleSubscription" 'PrefixI 'True) (S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

data CookieResponsePlay Source #

Constructors

CookieResponsePlay 

Fields

Instances

Instances details
Data CookieResponsePlay Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CookieResponsePlay -> c CookieResponsePlay #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CookieResponsePlay #

toConstr :: CookieResponsePlay -> Constr #

dataTypeOf :: CookieResponsePlay -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CookieResponsePlay) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CookieResponsePlay) #

gmapT :: (forall b. Data b => b -> b) -> CookieResponsePlay -> CookieResponsePlay #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CookieResponsePlay -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CookieResponsePlay -> r #

gmapQ :: (forall d. Data d => d -> u) -> CookieResponsePlay -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CookieResponsePlay -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CookieResponsePlay -> m CookieResponsePlay #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CookieResponsePlay -> m CookieResponsePlay #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CookieResponsePlay -> m CookieResponsePlay #

Generic CookieResponsePlay Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep CookieResponsePlay 
Instance details

Defined in M.V769.P

type Rep CookieResponsePlay = D1 ('MetaData "CookieResponsePlay" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CookieResponsePlay" 'PrefixI 'True) (S1 ('MetaSel ('Just "key") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "value") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Read CookieResponsePlay Source # 
Instance details

Defined in M.V769.P

Show CookieResponsePlay Source # 
Instance details

Defined in M.V769.P

NFData CookieResponsePlay Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: CookieResponsePlay -> () #

Eq CookieResponsePlay Source # 
Instance details

Defined in M.V769.P

Ord CookieResponsePlay Source # 
Instance details

Defined in M.V769.P

Pack CookieResponsePlay Source # 
Instance details

Defined in M.V769.P

Unpack CookieResponsePlay Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CookieResponsePlay Source #

type Rep CookieResponsePlay Source # 
Instance details

Defined in M.V769.P

type Rep CookieResponsePlay = D1 ('MetaData "CookieResponsePlay" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CookieResponsePlay" 'PrefixI 'True) (S1 ('MetaSel ('Just "key") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "value") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data ChangeContainerSlotState Source #

Constructors

ChangeContainerSlotState 

Fields

Instances

Instances details
Data ChangeContainerSlotState Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ChangeContainerSlotState -> c ChangeContainerSlotState #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ChangeContainerSlotState #

toConstr :: ChangeContainerSlotState -> Constr #

dataTypeOf :: ChangeContainerSlotState -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ChangeContainerSlotState) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ChangeContainerSlotState) #

gmapT :: (forall b. Data b => b -> b) -> ChangeContainerSlotState -> ChangeContainerSlotState #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ChangeContainerSlotState -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ChangeContainerSlotState -> r #

gmapQ :: (forall d. Data d => d -> u) -> ChangeContainerSlotState -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ChangeContainerSlotState -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ChangeContainerSlotState -> m ChangeContainerSlotState #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ChangeContainerSlotState -> m ChangeContainerSlotState #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ChangeContainerSlotState -> m ChangeContainerSlotState #

Generic ChangeContainerSlotState Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ChangeContainerSlotState 
Instance details

Defined in M.V769.P

type Rep ChangeContainerSlotState = D1 ('MetaData "ChangeContainerSlotState" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChangeContainerSlotState" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: (S1 ('MetaSel ('Just "slot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16) :*: S1 ('MetaSel ('Just "state") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int8))))
Read ChangeContainerSlotState Source # 
Instance details

Defined in M.V769.P

Show ChangeContainerSlotState Source # 
Instance details

Defined in M.V769.P

NFData ChangeContainerSlotState Source # 
Instance details

Defined in M.V769.P

Eq ChangeContainerSlotState Source # 
Instance details

Defined in M.V769.P

Ord ChangeContainerSlotState Source # 
Instance details

Defined in M.V769.P

Pack ChangeContainerSlotState Source # 
Instance details

Defined in M.V769.P

Unpack ChangeContainerSlotState Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChangeContainerSlotState Source #

type Rep ChangeContainerSlotState Source # 
Instance details

Defined in M.V769.P

type Rep ChangeContainerSlotState = D1 ('MetaData "ChangeContainerSlotState" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChangeContainerSlotState" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: (S1 ('MetaSel ('Just "slot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16) :*: S1 ('MetaSel ('Just "state") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int8))))

data CloseContainerServerbound Source #

Constructors

CloseContainerServerbound 

Fields

Instances

Instances details
Data CloseContainerServerbound Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CloseContainerServerbound -> c CloseContainerServerbound #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CloseContainerServerbound #

toConstr :: CloseContainerServerbound -> Constr #

dataTypeOf :: CloseContainerServerbound -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CloseContainerServerbound) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CloseContainerServerbound) #

gmapT :: (forall b. Data b => b -> b) -> CloseContainerServerbound -> CloseContainerServerbound #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CloseContainerServerbound -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CloseContainerServerbound -> r #

gmapQ :: (forall d. Data d => d -> u) -> CloseContainerServerbound -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CloseContainerServerbound -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CloseContainerServerbound -> m CloseContainerServerbound #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CloseContainerServerbound -> m CloseContainerServerbound #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CloseContainerServerbound -> m CloseContainerServerbound #

Generic CloseContainerServerbound Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep CloseContainerServerbound 
Instance details

Defined in M.V769.P

type Rep CloseContainerServerbound = D1 ('MetaData "CloseContainerServerbound" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CloseContainerServerbound" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))
Read CloseContainerServerbound Source # 
Instance details

Defined in M.V769.P

Show CloseContainerServerbound Source # 
Instance details

Defined in M.V769.P

NFData CloseContainerServerbound Source # 
Instance details

Defined in M.V769.P

Eq CloseContainerServerbound Source # 
Instance details

Defined in M.V769.P

Ord CloseContainerServerbound Source # 
Instance details

Defined in M.V769.P

Pack CloseContainerServerbound Source # 
Instance details

Defined in M.V769.P

Unpack CloseContainerServerbound Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CloseContainerServerbound Source #

type Rep CloseContainerServerbound Source # 
Instance details

Defined in M.V769.P

type Rep CloseContainerServerbound = D1 ('MetaData "CloseContainerServerbound" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CloseContainerServerbound" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))

data ClickContainer__ Source #

Constructors

ClickContainer__ 

Instances

Instances details
Generic ClickContainer__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ClickContainer__ 
Instance details

Defined in M.V769.P

NFData ClickContainer__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ClickContainer__ -> () #

Eq ClickContainer__ Source # 
Instance details

Defined in M.V769.P

Ord ClickContainer__ Source # 
Instance details

Defined in M.V769.P

Pack ClickContainer__ Source # 
Instance details

Defined in M.V769.P

Unpack ClickContainer__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ClickContainer__ Source #

type Rep ClickContainer__ Source # 
Instance details

Defined in M.V769.P

data ClickContainer Source #

Constructors

ClickContainer 

Fields

Instances

Instances details
Data ClickContainer Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ClickContainer -> c ClickContainer #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ClickContainer #

toConstr :: ClickContainer -> Constr #

dataTypeOf :: ClickContainer -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ClickContainer) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ClickContainer) #

gmapT :: (forall b. Data b => b -> b) -> ClickContainer -> ClickContainer #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ClickContainer -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ClickContainer -> r #

gmapQ :: (forall d. Data d => d -> u) -> ClickContainer -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ClickContainer -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ClickContainer -> m ClickContainer #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ClickContainer -> m ClickContainer #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ClickContainer -> m ClickContainer #

Generic ClickContainer Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ClickContainer 
Instance details

Defined in M.V769.P

Read ClickContainer Source # 
Instance details

Defined in M.V769.P

Show ClickContainer Source # 
Instance details

Defined in M.V769.P

NFData ClickContainer Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ClickContainer -> () #

Eq ClickContainer Source # 
Instance details

Defined in M.V769.P

Ord ClickContainer Source # 
Instance details

Defined in M.V769.P

Pack ClickContainer Source # 
Instance details

Defined in M.V769.P

Unpack ClickContainer Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ClickContainer Source #

type Rep ClickContainer Source # 
Instance details

Defined in M.V769.P

data ClickContainerButton Source #

Constructors

ClickContainerButton 

Fields

Instances

Instances details
Data ClickContainerButton Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ClickContainerButton -> c ClickContainerButton #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ClickContainerButton #

toConstr :: ClickContainerButton -> Constr #

dataTypeOf :: ClickContainerButton -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ClickContainerButton) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ClickContainerButton) #

gmapT :: (forall b. Data b => b -> b) -> ClickContainerButton -> ClickContainerButton #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ClickContainerButton -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ClickContainerButton -> r #

gmapQ :: (forall d. Data d => d -> u) -> ClickContainerButton -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ClickContainerButton -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ClickContainerButton -> m ClickContainerButton #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ClickContainerButton -> m ClickContainerButton #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ClickContainerButton -> m ClickContainerButton #

Generic ClickContainerButton Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ClickContainerButton 
Instance details

Defined in M.V769.P

type Rep ClickContainerButton = D1 ('MetaData "ClickContainerButton" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ClickContainerButton" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "buttonid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))
Read ClickContainerButton Source # 
Instance details

Defined in M.V769.P

Show ClickContainerButton Source # 
Instance details

Defined in M.V769.P

NFData ClickContainerButton Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ClickContainerButton -> () #

Eq ClickContainerButton Source # 
Instance details

Defined in M.V769.P

Ord ClickContainerButton Source # 
Instance details

Defined in M.V769.P

Pack ClickContainerButton Source # 
Instance details

Defined in M.V769.P

Unpack ClickContainerButton Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ClickContainerButton Source #

type Rep ClickContainerButton Source # 
Instance details

Defined in M.V769.P

type Rep ClickContainerButton = D1 ('MetaData "ClickContainerButton" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ClickContainerButton" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "buttonid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))

data AcknowledgeConfiguration Source #

Instances

Instances details
Data AcknowledgeConfiguration Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AcknowledgeConfiguration -> c AcknowledgeConfiguration #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AcknowledgeConfiguration #

toConstr :: AcknowledgeConfiguration -> Constr #

dataTypeOf :: AcknowledgeConfiguration -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AcknowledgeConfiguration) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AcknowledgeConfiguration) #

gmapT :: (forall b. Data b => b -> b) -> AcknowledgeConfiguration -> AcknowledgeConfiguration #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AcknowledgeConfiguration -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AcknowledgeConfiguration -> r #

gmapQ :: (forall d. Data d => d -> u) -> AcknowledgeConfiguration -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> AcknowledgeConfiguration -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AcknowledgeConfiguration -> m AcknowledgeConfiguration #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AcknowledgeConfiguration -> m AcknowledgeConfiguration #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AcknowledgeConfiguration -> m AcknowledgeConfiguration #

Generic AcknowledgeConfiguration Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep AcknowledgeConfiguration 
Instance details

Defined in M.V769.P

type Rep AcknowledgeConfiguration = D1 ('MetaData "AcknowledgeConfiguration" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "AcknowledgeConfiguration" 'PrefixI 'False) (U1 :: Type -> Type))
Read AcknowledgeConfiguration Source # 
Instance details

Defined in M.V769.P

Show AcknowledgeConfiguration Source # 
Instance details

Defined in M.V769.P

NFData AcknowledgeConfiguration Source # 
Instance details

Defined in M.V769.P

Eq AcknowledgeConfiguration Source # 
Instance details

Defined in M.V769.P

Ord AcknowledgeConfiguration Source # 
Instance details

Defined in M.V769.P

Pack AcknowledgeConfiguration Source # 
Instance details

Defined in M.V769.P

Unpack AcknowledgeConfiguration Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r AcknowledgeConfiguration Source #

type Rep AcknowledgeConfiguration Source # 
Instance details

Defined in M.V769.P

type Rep AcknowledgeConfiguration = D1 ('MetaData "AcknowledgeConfiguration" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "AcknowledgeConfiguration" 'PrefixI 'False) (U1 :: Type -> Type))

data CommandSuggestionsRequest__ Source #

Constructors

CommandSuggestionsRequest__ 

Fields

Instances

Instances details
Generic CommandSuggestionsRequest__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep CommandSuggestionsRequest__ 
Instance details

Defined in M.V769.P

type Rep CommandSuggestionsRequest__ = D1 ('MetaData "CommandSuggestionsRequest__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CommandSuggestionsRequest__" 'PrefixI 'True) (S1 ('MetaSel ('Just "id__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "text__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
NFData CommandSuggestionsRequest__ Source # 
Instance details

Defined in M.V769.P

Eq CommandSuggestionsRequest__ Source # 
Instance details

Defined in M.V769.P

Ord CommandSuggestionsRequest__ Source # 
Instance details

Defined in M.V769.P

Pack CommandSuggestionsRequest__ Source # 
Instance details

Defined in M.V769.P

Unpack CommandSuggestionsRequest__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CommandSuggestionsRequest__ Source #

type Rep CommandSuggestionsRequest__ Source # 
Instance details

Defined in M.V769.P

type Rep CommandSuggestionsRequest__ = D1 ('MetaData "CommandSuggestionsRequest__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CommandSuggestionsRequest__" 'PrefixI 'True) (S1 ('MetaSel ('Just "id__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "text__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data CommandSuggestionsRequest Source #

Constructors

CommandSuggestionsRequest 

Fields

Instances

Instances details
Data CommandSuggestionsRequest Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CommandSuggestionsRequest -> c CommandSuggestionsRequest #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CommandSuggestionsRequest #

toConstr :: CommandSuggestionsRequest -> Constr #

dataTypeOf :: CommandSuggestionsRequest -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CommandSuggestionsRequest) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CommandSuggestionsRequest) #

gmapT :: (forall b. Data b => b -> b) -> CommandSuggestionsRequest -> CommandSuggestionsRequest #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CommandSuggestionsRequest -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CommandSuggestionsRequest -> r #

gmapQ :: (forall d. Data d => d -> u) -> CommandSuggestionsRequest -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CommandSuggestionsRequest -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CommandSuggestionsRequest -> m CommandSuggestionsRequest #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CommandSuggestionsRequest -> m CommandSuggestionsRequest #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CommandSuggestionsRequest -> m CommandSuggestionsRequest #

Generic CommandSuggestionsRequest Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep CommandSuggestionsRequest 
Instance details

Defined in M.V769.P

type Rep CommandSuggestionsRequest = D1 ('MetaData "CommandSuggestionsRequest" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CommandSuggestionsRequest" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "text") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Read CommandSuggestionsRequest Source # 
Instance details

Defined in M.V769.P

Show CommandSuggestionsRequest Source # 
Instance details

Defined in M.V769.P

NFData CommandSuggestionsRequest Source # 
Instance details

Defined in M.V769.P

Eq CommandSuggestionsRequest Source # 
Instance details

Defined in M.V769.P

Ord CommandSuggestionsRequest Source # 
Instance details

Defined in M.V769.P

Pack CommandSuggestionsRequest Source # 
Instance details

Defined in M.V769.P

Unpack CommandSuggestionsRequest Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CommandSuggestionsRequest Source #

type Rep CommandSuggestionsRequest Source # 
Instance details

Defined in M.V769.P

type Rep CommandSuggestionsRequest = D1 ('MetaData "CommandSuggestionsRequest" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CommandSuggestionsRequest" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "text") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data ClientInformationPlay__ Source #

Instances

Instances details
Generic ClientInformationPlay__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ClientInformationPlay__ 
Instance details

Defined in M.V769.P

type Rep ClientInformationPlay__ = D1 ('MetaData "ClientInformationPlay__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ClientInformationPlay__" 'PrefixI 'True) (((S1 ('MetaSel ('Just "locale__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "viewdistance__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int8)) :*: (S1 ('MetaSel ('Just "chatmode__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "chatcolors__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just "displayedskinparts__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "mainhand__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)) :*: (S1 ('MetaSel ('Just "enabletextfiltering__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "allowserverlistings__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))
NFData ClientInformationPlay__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ClientInformationPlay__ -> () #

Eq ClientInformationPlay__ Source # 
Instance details

Defined in M.V769.P

Ord ClientInformationPlay__ Source # 
Instance details

Defined in M.V769.P

Pack ClientInformationPlay__ Source # 
Instance details

Defined in M.V769.P

Unpack ClientInformationPlay__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ClientInformationPlay__ Source #

type Rep ClientInformationPlay__ Source # 
Instance details

Defined in M.V769.P

type Rep ClientInformationPlay__ = D1 ('MetaData "ClientInformationPlay__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ClientInformationPlay__" 'PrefixI 'True) (((S1 ('MetaSel ('Just "locale__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "viewdistance__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int8)) :*: (S1 ('MetaSel ('Just "chatmode__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "chatcolors__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just "displayedskinparts__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "mainhand__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)) :*: (S1 ('MetaSel ('Just "enabletextfiltering__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "allowserverlistings__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))

data ClientInformationPlay Source #

Instances

Instances details
Data ClientInformationPlay Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ClientInformationPlay -> c ClientInformationPlay #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ClientInformationPlay #

toConstr :: ClientInformationPlay -> Constr #

dataTypeOf :: ClientInformationPlay -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ClientInformationPlay) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ClientInformationPlay) #

gmapT :: (forall b. Data b => b -> b) -> ClientInformationPlay -> ClientInformationPlay #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ClientInformationPlay -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ClientInformationPlay -> r #

gmapQ :: (forall d. Data d => d -> u) -> ClientInformationPlay -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ClientInformationPlay -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ClientInformationPlay -> m ClientInformationPlay #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ClientInformationPlay -> m ClientInformationPlay #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ClientInformationPlay -> m ClientInformationPlay #

Generic ClientInformationPlay Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ClientInformationPlay 
Instance details

Defined in M.V769.P

Read ClientInformationPlay Source # 
Instance details

Defined in M.V769.P

Show ClientInformationPlay Source # 
Instance details

Defined in M.V769.P

NFData ClientInformationPlay Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ClientInformationPlay -> () #

Eq ClientInformationPlay Source # 
Instance details

Defined in M.V769.P

Ord ClientInformationPlay Source # 
Instance details

Defined in M.V769.P

Pack ClientInformationPlay Source # 
Instance details

Defined in M.V769.P

Unpack ClientInformationPlay Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ClientInformationPlay Source #

type Rep ClientInformationPlay Source # 
Instance details

Defined in M.V769.P

data ClientTickEnd Source #

Constructors

ClientTickEnd 

Instances

Instances details
Data ClientTickEnd Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ClientTickEnd -> c ClientTickEnd #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ClientTickEnd #

toConstr :: ClientTickEnd -> Constr #

dataTypeOf :: ClientTickEnd -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ClientTickEnd) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ClientTickEnd) #

gmapT :: (forall b. Data b => b -> b) -> ClientTickEnd -> ClientTickEnd #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ClientTickEnd -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ClientTickEnd -> r #

gmapQ :: (forall d. Data d => d -> u) -> ClientTickEnd -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ClientTickEnd -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ClientTickEnd -> m ClientTickEnd #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ClientTickEnd -> m ClientTickEnd #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ClientTickEnd -> m ClientTickEnd #

Generic ClientTickEnd Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ClientTickEnd 
Instance details

Defined in M.V769.P

type Rep ClientTickEnd = D1 ('MetaData "ClientTickEnd" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ClientTickEnd" 'PrefixI 'False) (U1 :: Type -> Type))
Read ClientTickEnd Source # 
Instance details

Defined in M.V769.P

Show ClientTickEnd Source # 
Instance details

Defined in M.V769.P

NFData ClientTickEnd Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ClientTickEnd -> () #

Eq ClientTickEnd Source # 
Instance details

Defined in M.V769.P

Ord ClientTickEnd Source # 
Instance details

Defined in M.V769.P

Pack ClientTickEnd Source # 
Instance details

Defined in M.V769.P

Unpack ClientTickEnd Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ClientTickEnd Source #

type Rep ClientTickEnd Source # 
Instance details

Defined in M.V769.P

type Rep ClientTickEnd = D1 ('MetaData "ClientTickEnd" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ClientTickEnd" 'PrefixI 'False) (U1 :: Type -> Type))

data ClientStatus__ Source #

Constructors

ClientStatus__ 

Fields

Instances

Instances details
Generic ClientStatus__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ClientStatus__ 
Instance details

Defined in M.V769.P

type Rep ClientStatus__ = D1 ('MetaData "ClientStatus__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ClientStatus__" 'PrefixI 'True) (S1 ('MetaSel ('Just "actionid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
NFData ClientStatus__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ClientStatus__ -> () #

Eq ClientStatus__ Source # 
Instance details

Defined in M.V769.P

Ord ClientStatus__ Source # 
Instance details

Defined in M.V769.P

Pack ClientStatus__ Source # 
Instance details

Defined in M.V769.P

Unpack ClientStatus__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ClientStatus__ Source #

type Rep ClientStatus__ Source # 
Instance details

Defined in M.V769.P

type Rep ClientStatus__ = D1 ('MetaData "ClientStatus__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ClientStatus__" 'PrefixI 'True) (S1 ('MetaSel ('Just "actionid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data ClientStatus Source #

Constructors

ClientStatus 

Fields

Instances

Instances details
Data ClientStatus Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ClientStatus -> c ClientStatus #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ClientStatus #

toConstr :: ClientStatus -> Constr #

dataTypeOf :: ClientStatus -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ClientStatus) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ClientStatus) #

gmapT :: (forall b. Data b => b -> b) -> ClientStatus -> ClientStatus #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ClientStatus -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ClientStatus -> r #

gmapQ :: (forall d. Data d => d -> u) -> ClientStatus -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ClientStatus -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ClientStatus -> m ClientStatus #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ClientStatus -> m ClientStatus #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ClientStatus -> m ClientStatus #

Generic ClientStatus Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ClientStatus 
Instance details

Defined in M.V769.P

type Rep ClientStatus = D1 ('MetaData "ClientStatus" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ClientStatus" 'PrefixI 'True) (S1 ('MetaSel ('Just "actionid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))
Read ClientStatus Source # 
Instance details

Defined in M.V769.P

Show ClientStatus Source # 
Instance details

Defined in M.V769.P

NFData ClientStatus Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ClientStatus -> () #

Eq ClientStatus Source # 
Instance details

Defined in M.V769.P

Ord ClientStatus Source # 
Instance details

Defined in M.V769.P

Pack ClientStatus Source # 
Instance details

Defined in M.V769.P

Unpack ClientStatus Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ClientStatus Source #

type Rep ClientStatus Source # 
Instance details

Defined in M.V769.P

type Rep ClientStatus = D1 ('MetaData "ClientStatus" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ClientStatus" 'PrefixI 'True) (S1 ('MetaSel ('Just "actionid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data ChunkBatchReceived Source #

Constructors

ChunkBatchReceived 

Instances

Instances details
Data ChunkBatchReceived Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ChunkBatchReceived -> c ChunkBatchReceived #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ChunkBatchReceived #

toConstr :: ChunkBatchReceived -> Constr #

dataTypeOf :: ChunkBatchReceived -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ChunkBatchReceived) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ChunkBatchReceived) #

gmapT :: (forall b. Data b => b -> b) -> ChunkBatchReceived -> ChunkBatchReceived #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ChunkBatchReceived -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ChunkBatchReceived -> r #

gmapQ :: (forall d. Data d => d -> u) -> ChunkBatchReceived -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ChunkBatchReceived -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ChunkBatchReceived -> m ChunkBatchReceived #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ChunkBatchReceived -> m ChunkBatchReceived #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ChunkBatchReceived -> m ChunkBatchReceived #

Generic ChunkBatchReceived Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ChunkBatchReceived 
Instance details

Defined in M.V769.P

type Rep ChunkBatchReceived = D1 ('MetaData "ChunkBatchReceived" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChunkBatchReceived" 'PrefixI 'False) (U1 :: Type -> Type))
Read ChunkBatchReceived Source # 
Instance details

Defined in M.V769.P

Show ChunkBatchReceived Source # 
Instance details

Defined in M.V769.P

NFData ChunkBatchReceived Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ChunkBatchReceived -> () #

Eq ChunkBatchReceived Source # 
Instance details

Defined in M.V769.P

Ord ChunkBatchReceived Source # 
Instance details

Defined in M.V769.P

Pack ChunkBatchReceived Source # 
Instance details

Defined in M.V769.P

Unpack ChunkBatchReceived Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChunkBatchReceived Source #

type Rep ChunkBatchReceived Source # 
Instance details

Defined in M.V769.P

type Rep ChunkBatchReceived = D1 ('MetaData "ChunkBatchReceived" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChunkBatchReceived" 'PrefixI 'False) (U1 :: Type -> Type))

data PlayerSession Source #

Constructors

PlayerSession 

Instances

Instances details
Data PlayerSession Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PlayerSession -> c PlayerSession #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PlayerSession #

toConstr :: PlayerSession -> Constr #

dataTypeOf :: PlayerSession -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PlayerSession) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PlayerSession) #

gmapT :: (forall b. Data b => b -> b) -> PlayerSession -> PlayerSession #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PlayerSession -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PlayerSession -> r #

gmapQ :: (forall d. Data d => d -> u) -> PlayerSession -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PlayerSession -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PlayerSession -> m PlayerSession #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PlayerSession -> m PlayerSession #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PlayerSession -> m PlayerSession #

Generic PlayerSession Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep PlayerSession 
Instance details

Defined in M.V769.P

type Rep PlayerSession = D1 ('MetaData "PlayerSession" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlayerSession" 'PrefixI 'True) (S1 ('MetaSel ('Just "sessionid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UUID) :*: (S1 ('MetaSel ('Just "publickey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString) :*: S1 ('MetaSel ('Just "signature") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString))))
Read PlayerSession Source # 
Instance details

Defined in M.V769.P

Show PlayerSession Source # 
Instance details

Defined in M.V769.P

NFData PlayerSession Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: PlayerSession -> () #

Eq PlayerSession Source # 
Instance details

Defined in M.V769.P

Ord PlayerSession Source # 
Instance details

Defined in M.V769.P

Pack PlayerSession Source # 
Instance details

Defined in M.V769.P

Unpack PlayerSession Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayerSession Source #

type Rep PlayerSession Source # 
Instance details

Defined in M.V769.P

type Rep PlayerSession = D1 ('MetaData "PlayerSession" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlayerSession" 'PrefixI 'True) (S1 ('MetaSel ('Just "sessionid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UUID) :*: (S1 ('MetaSel ('Just "publickey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString) :*: S1 ('MetaSel ('Just "signature") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString))))

data ChatMessage Source #

Constructors

ChatMessage 

Instances

Instances details
Data ChatMessage Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ChatMessage -> c ChatMessage #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ChatMessage #

toConstr :: ChatMessage -> Constr #

dataTypeOf :: ChatMessage -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ChatMessage) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ChatMessage) #

gmapT :: (forall b. Data b => b -> b) -> ChatMessage -> ChatMessage #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ChatMessage -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ChatMessage -> r #

gmapQ :: (forall d. Data d => d -> u) -> ChatMessage -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ChatMessage -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ChatMessage -> m ChatMessage #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ChatMessage -> m ChatMessage #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ChatMessage -> m ChatMessage #

Generic ChatMessage Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ChatMessage 
Instance details

Defined in M.V769.P

Read ChatMessage Source # 
Instance details

Defined in M.V769.P

Show ChatMessage Source # 
Instance details

Defined in M.V769.P

NFData ChatMessage Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ChatMessage -> () #

Eq ChatMessage Source # 
Instance details

Defined in M.V769.P

Ord ChatMessage Source # 
Instance details

Defined in M.V769.P

Pack ChatMessage Source # 
Instance details

Defined in M.V769.P

Unpack ChatMessage Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChatMessage Source #

type Rep ChatMessage Source # 
Instance details

Defined in M.V769.P

data SignedChatCommand Source #

Instances

Instances details
Data SignedChatCommand Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SignedChatCommand -> c SignedChatCommand #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SignedChatCommand #

toConstr :: SignedChatCommand -> Constr #

dataTypeOf :: SignedChatCommand -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SignedChatCommand) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SignedChatCommand) #

gmapT :: (forall b. Data b => b -> b) -> SignedChatCommand -> SignedChatCommand #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SignedChatCommand -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SignedChatCommand -> r #

gmapQ :: (forall d. Data d => d -> u) -> SignedChatCommand -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SignedChatCommand -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SignedChatCommand -> m SignedChatCommand #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SignedChatCommand -> m SignedChatCommand #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SignedChatCommand -> m SignedChatCommand #

Generic SignedChatCommand Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SignedChatCommand 
Instance details

Defined in M.V769.P

type Rep SignedChatCommand = D1 ('MetaData "SignedChatCommand" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SignedChatCommand" 'PrefixI 'True) ((S1 ('MetaSel ('Just "command") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "timestamp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64) :*: S1 ('MetaSel ('Just "salt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64))) :*: (S1 ('MetaSel ('Just "argumentsignatures") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString) :*: (S1 ('MetaSel ('Just "signedpreview") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "lastseenmessages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector UUID))))))
Read SignedChatCommand Source # 
Instance details

Defined in M.V769.P

Show SignedChatCommand Source # 
Instance details

Defined in M.V769.P

NFData SignedChatCommand Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SignedChatCommand -> () #

Eq SignedChatCommand Source # 
Instance details

Defined in M.V769.P

Ord SignedChatCommand Source # 
Instance details

Defined in M.V769.P

Pack SignedChatCommand Source # 
Instance details

Defined in M.V769.P

Unpack SignedChatCommand Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SignedChatCommand Source #

type Rep SignedChatCommand Source # 
Instance details

Defined in M.V769.P

type Rep SignedChatCommand = D1 ('MetaData "SignedChatCommand" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SignedChatCommand" 'PrefixI 'True) ((S1 ('MetaSel ('Just "command") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "timestamp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64) :*: S1 ('MetaSel ('Just "salt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64))) :*: (S1 ('MetaSel ('Just "argumentsignatures") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString) :*: (S1 ('MetaSel ('Just "signedpreview") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "lastseenmessages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector UUID))))))

data ServerboundChatCommand Source #

Instances

Instances details
Data ServerboundChatCommand Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ServerboundChatCommand -> c ServerboundChatCommand #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ServerboundChatCommand #

toConstr :: ServerboundChatCommand -> Constr #

dataTypeOf :: ServerboundChatCommand -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ServerboundChatCommand) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ServerboundChatCommand) #

gmapT :: (forall b. Data b => b -> b) -> ServerboundChatCommand -> ServerboundChatCommand #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ServerboundChatCommand -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ServerboundChatCommand -> r #

gmapQ :: (forall d. Data d => d -> u) -> ServerboundChatCommand -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ServerboundChatCommand -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ServerboundChatCommand -> m ServerboundChatCommand #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ServerboundChatCommand -> m ServerboundChatCommand #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ServerboundChatCommand -> m ServerboundChatCommand #

Generic ServerboundChatCommand Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ServerboundChatCommand 
Instance details

Defined in M.V769.P

type Rep ServerboundChatCommand = D1 ('MetaData "ServerboundChatCommand" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ServerboundChatCommand" 'PrefixI 'True) ((S1 ('MetaSel ('Just "command") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "timestamp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64) :*: S1 ('MetaSel ('Just "salt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64))) :*: (S1 ('MetaSel ('Just "argumentsignatures") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString) :*: (S1 ('MetaSel ('Just "signedpreview") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "lastseenmessages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector UUID))))))
Read ServerboundChatCommand Source # 
Instance details

Defined in M.V769.P

Show ServerboundChatCommand Source # 
Instance details

Defined in M.V769.P

NFData ServerboundChatCommand Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ServerboundChatCommand -> () #

Eq ServerboundChatCommand Source # 
Instance details

Defined in M.V769.P

Ord ServerboundChatCommand Source # 
Instance details

Defined in M.V769.P

Pack ServerboundChatCommand Source # 
Instance details

Defined in M.V769.P

Unpack ServerboundChatCommand Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ServerboundChatCommand Source #

type Rep ServerboundChatCommand Source # 
Instance details

Defined in M.V769.P

type Rep ServerboundChatCommand = D1 ('MetaData "ServerboundChatCommand" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ServerboundChatCommand" 'PrefixI 'True) ((S1 ('MetaSel ('Just "command") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "timestamp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64) :*: S1 ('MetaSel ('Just "salt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64))) :*: (S1 ('MetaSel ('Just "argumentsignatures") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString) :*: (S1 ('MetaSel ('Just "signedpreview") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "lastseenmessages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector UUID))))))

data AcknowledgeMessage Source #

Constructors

AcknowledgeMessage 

Fields

Instances

Instances details
Data AcknowledgeMessage Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AcknowledgeMessage -> c AcknowledgeMessage #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AcknowledgeMessage #

toConstr :: AcknowledgeMessage -> Constr #

dataTypeOf :: AcknowledgeMessage -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AcknowledgeMessage) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AcknowledgeMessage) #

gmapT :: (forall b. Data b => b -> b) -> AcknowledgeMessage -> AcknowledgeMessage #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AcknowledgeMessage -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AcknowledgeMessage -> r #

gmapQ :: (forall d. Data d => d -> u) -> AcknowledgeMessage -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> AcknowledgeMessage -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AcknowledgeMessage -> m AcknowledgeMessage #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AcknowledgeMessage -> m AcknowledgeMessage #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AcknowledgeMessage -> m AcknowledgeMessage #

Generic AcknowledgeMessage Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep AcknowledgeMessage 
Instance details

Defined in M.V769.P

type Rep AcknowledgeMessage = D1 ('MetaData "AcknowledgeMessage" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "AcknowledgeMessage" 'PrefixI 'True) (S1 ('MetaSel ('Just "messageid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UUID)))
Read AcknowledgeMessage Source # 
Instance details

Defined in M.V769.P

Show AcknowledgeMessage Source # 
Instance details

Defined in M.V769.P

NFData AcknowledgeMessage Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: AcknowledgeMessage -> () #

Eq AcknowledgeMessage Source # 
Instance details

Defined in M.V769.P

Ord AcknowledgeMessage Source # 
Instance details

Defined in M.V769.P

Pack AcknowledgeMessage Source # 
Instance details

Defined in M.V769.P

Unpack AcknowledgeMessage Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r AcknowledgeMessage Source #

type Rep AcknowledgeMessage Source # 
Instance details

Defined in M.V769.P

type Rep AcknowledgeMessage = D1 ('MetaData "AcknowledgeMessage" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "AcknowledgeMessage" 'PrefixI 'True) (S1 ('MetaSel ('Just "messageid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UUID)))

data ServerboundChangeDifficulty Source #

Instances

Instances details
Data ServerboundChangeDifficulty Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ServerboundChangeDifficulty -> c ServerboundChangeDifficulty #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ServerboundChangeDifficulty #

toConstr :: ServerboundChangeDifficulty -> Constr #

dataTypeOf :: ServerboundChangeDifficulty -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ServerboundChangeDifficulty) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ServerboundChangeDifficulty) #

gmapT :: (forall b. Data b => b -> b) -> ServerboundChangeDifficulty -> ServerboundChangeDifficulty #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ServerboundChangeDifficulty -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ServerboundChangeDifficulty -> r #

gmapQ :: (forall d. Data d => d -> u) -> ServerboundChangeDifficulty -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ServerboundChangeDifficulty -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ServerboundChangeDifficulty -> m ServerboundChangeDifficulty #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ServerboundChangeDifficulty -> m ServerboundChangeDifficulty #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ServerboundChangeDifficulty -> m ServerboundChangeDifficulty #

Generic ServerboundChangeDifficulty Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ServerboundChangeDifficulty 
Instance details

Defined in M.V769.P

type Rep ServerboundChangeDifficulty = D1 ('MetaData "ServerboundChangeDifficulty" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ServerboundChangeDifficulty" 'PrefixI 'True) (S1 ('MetaSel ('Just "difficulty") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))
Read ServerboundChangeDifficulty Source # 
Instance details

Defined in M.V769.P

Show ServerboundChangeDifficulty Source # 
Instance details

Defined in M.V769.P

NFData ServerboundChangeDifficulty Source # 
Instance details

Defined in M.V769.P

Eq ServerboundChangeDifficulty Source # 
Instance details

Defined in M.V769.P

Ord ServerboundChangeDifficulty Source # 
Instance details

Defined in M.V769.P

Pack ServerboundChangeDifficulty Source # 
Instance details

Defined in M.V769.P

Unpack ServerboundChangeDifficulty Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ServerboundChangeDifficulty Source #

type Rep ServerboundChangeDifficulty Source # 
Instance details

Defined in M.V769.P

type Rep ServerboundChangeDifficulty = D1 ('MetaData "ServerboundChangeDifficulty" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ServerboundChangeDifficulty" 'PrefixI 'True) (S1 ('MetaSel ('Just "difficulty") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))

data BundleItemSelected__ Source #

Constructors

BundleItemSelected__ 

Fields

Instances

Instances details
Generic BundleItemSelected__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep BundleItemSelected__ 
Instance details

Defined in M.V769.P

type Rep BundleItemSelected__ = D1 ('MetaData "BundleItemSelected__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "BundleItemSelected__" 'PrefixI 'True) (S1 ('MetaSel ('Just "slot__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
NFData BundleItemSelected__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: BundleItemSelected__ -> () #

Eq BundleItemSelected__ Source # 
Instance details

Defined in M.V769.P

Ord BundleItemSelected__ Source # 
Instance details

Defined in M.V769.P

Pack BundleItemSelected__ Source # 
Instance details

Defined in M.V769.P

Unpack BundleItemSelected__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r BundleItemSelected__ Source #

type Rep BundleItemSelected__ Source # 
Instance details

Defined in M.V769.P

type Rep BundleItemSelected__ = D1 ('MetaData "BundleItemSelected__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "BundleItemSelected__" 'PrefixI 'True) (S1 ('MetaSel ('Just "slot__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data BundleItemSelected Source #

Constructors

BundleItemSelected 

Fields

Instances

Instances details
Data BundleItemSelected Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BundleItemSelected -> c BundleItemSelected #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BundleItemSelected #

toConstr :: BundleItemSelected -> Constr #

dataTypeOf :: BundleItemSelected -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BundleItemSelected) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BundleItemSelected) #

gmapT :: (forall b. Data b => b -> b) -> BundleItemSelected -> BundleItemSelected #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BundleItemSelected -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BundleItemSelected -> r #

gmapQ :: (forall d. Data d => d -> u) -> BundleItemSelected -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> BundleItemSelected -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> BundleItemSelected -> m BundleItemSelected #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BundleItemSelected -> m BundleItemSelected #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BundleItemSelected -> m BundleItemSelected #

Generic BundleItemSelected Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep BundleItemSelected 
Instance details

Defined in M.V769.P

type Rep BundleItemSelected = D1 ('MetaData "BundleItemSelected" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "BundleItemSelected" 'PrefixI 'True) (S1 ('MetaSel ('Just "slot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))
Read BundleItemSelected Source # 
Instance details

Defined in M.V769.P

Show BundleItemSelected Source # 
Instance details

Defined in M.V769.P

NFData BundleItemSelected Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: BundleItemSelected -> () #

Eq BundleItemSelected Source # 
Instance details

Defined in M.V769.P

Ord BundleItemSelected Source # 
Instance details

Defined in M.V769.P

Pack BundleItemSelected Source # 
Instance details

Defined in M.V769.P

Unpack BundleItemSelected Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r BundleItemSelected Source #

type Rep BundleItemSelected Source # 
Instance details

Defined in M.V769.P

type Rep BundleItemSelected = D1 ('MetaData "BundleItemSelected" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "BundleItemSelected" 'PrefixI 'True) (S1 ('MetaSel ('Just "slot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data QueryBlockEntityTag__ Source #

Instances

Instances details
Generic QueryBlockEntityTag__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep QueryBlockEntityTag__ 
Instance details

Defined in M.V769.P

type Rep QueryBlockEntityTag__ = D1 ('MetaData "QueryBlockEntityTag__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "QueryBlockEntityTag__" 'PrefixI 'True) (S1 ('MetaSel ('Just "transactionid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "location__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position)))
NFData QueryBlockEntityTag__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: QueryBlockEntityTag__ -> () #

Eq QueryBlockEntityTag__ Source # 
Instance details

Defined in M.V769.P

Ord QueryBlockEntityTag__ Source # 
Instance details

Defined in M.V769.P

Pack QueryBlockEntityTag__ Source # 
Instance details

Defined in M.V769.P

Unpack QueryBlockEntityTag__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r QueryBlockEntityTag__ Source #

type Rep QueryBlockEntityTag__ Source # 
Instance details

Defined in M.V769.P

type Rep QueryBlockEntityTag__ = D1 ('MetaData "QueryBlockEntityTag__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "QueryBlockEntityTag__" 'PrefixI 'True) (S1 ('MetaSel ('Just "transactionid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "location__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position)))

data QueryBlockEntityTag Source #

Instances

Instances details
Data QueryBlockEntityTag Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> QueryBlockEntityTag -> c QueryBlockEntityTag #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c QueryBlockEntityTag #

toConstr :: QueryBlockEntityTag -> Constr #

dataTypeOf :: QueryBlockEntityTag -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c QueryBlockEntityTag) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c QueryBlockEntityTag) #

gmapT :: (forall b. Data b => b -> b) -> QueryBlockEntityTag -> QueryBlockEntityTag #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> QueryBlockEntityTag -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> QueryBlockEntityTag -> r #

gmapQ :: (forall d. Data d => d -> u) -> QueryBlockEntityTag -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> QueryBlockEntityTag -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> QueryBlockEntityTag -> m QueryBlockEntityTag #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> QueryBlockEntityTag -> m QueryBlockEntityTag #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> QueryBlockEntityTag -> m QueryBlockEntityTag #

Generic QueryBlockEntityTag Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep QueryBlockEntityTag 
Instance details

Defined in M.V769.P

type Rep QueryBlockEntityTag = D1 ('MetaData "QueryBlockEntityTag" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "QueryBlockEntityTag" 'PrefixI 'True) (S1 ('MetaSel ('Just "transactionid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position)))
Read QueryBlockEntityTag Source # 
Instance details

Defined in M.V769.P

Show QueryBlockEntityTag Source # 
Instance details

Defined in M.V769.P

NFData QueryBlockEntityTag Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: QueryBlockEntityTag -> () #

Eq QueryBlockEntityTag Source # 
Instance details

Defined in M.V769.P

Ord QueryBlockEntityTag Source # 
Instance details

Defined in M.V769.P

Pack QueryBlockEntityTag Source # 
Instance details

Defined in M.V769.P

Unpack QueryBlockEntityTag Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r QueryBlockEntityTag Source #

type Rep QueryBlockEntityTag Source # 
Instance details

Defined in M.V769.P

type Rep QueryBlockEntityTag = D1 ('MetaData "QueryBlockEntityTag" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "QueryBlockEntityTag" 'PrefixI 'True) (S1 ('MetaSel ('Just "transactionid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position)))

data ConfirmTeleportation__ Source #

Instances

Instances details
Generic ConfirmTeleportation__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ConfirmTeleportation__ 
Instance details

Defined in M.V769.P

type Rep ConfirmTeleportation__ = D1 ('MetaData "ConfirmTeleportation__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ConfirmTeleportation__" 'PrefixI 'True) (S1 ('MetaSel ('Just "teleportid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
NFData ConfirmTeleportation__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ConfirmTeleportation__ -> () #

Eq ConfirmTeleportation__ Source # 
Instance details

Defined in M.V769.P

Ord ConfirmTeleportation__ Source # 
Instance details

Defined in M.V769.P

Pack ConfirmTeleportation__ Source # 
Instance details

Defined in M.V769.P

Unpack ConfirmTeleportation__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ConfirmTeleportation__ Source #

type Rep ConfirmTeleportation__ Source # 
Instance details

Defined in M.V769.P

type Rep ConfirmTeleportation__ = D1 ('MetaData "ConfirmTeleportation__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ConfirmTeleportation__" 'PrefixI 'True) (S1 ('MetaSel ('Just "teleportid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data ConfirmTeleportation Source #

Constructors

ConfirmTeleportation 

Fields

Instances

Instances details
Data ConfirmTeleportation Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ConfirmTeleportation -> c ConfirmTeleportation #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ConfirmTeleportation #

toConstr :: ConfirmTeleportation -> Constr #

dataTypeOf :: ConfirmTeleportation -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ConfirmTeleportation) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ConfirmTeleportation) #

gmapT :: (forall b. Data b => b -> b) -> ConfirmTeleportation -> ConfirmTeleportation #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ConfirmTeleportation -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ConfirmTeleportation -> r #

gmapQ :: (forall d. Data d => d -> u) -> ConfirmTeleportation -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ConfirmTeleportation -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ConfirmTeleportation -> m ConfirmTeleportation #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ConfirmTeleportation -> m ConfirmTeleportation #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ConfirmTeleportation -> m ConfirmTeleportation #

Generic ConfirmTeleportation Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ConfirmTeleportation 
Instance details

Defined in M.V769.P

type Rep ConfirmTeleportation = D1 ('MetaData "ConfirmTeleportation" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ConfirmTeleportation" 'PrefixI 'True) (S1 ('MetaSel ('Just "teleportid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))
Read ConfirmTeleportation Source # 
Instance details

Defined in M.V769.P

Show ConfirmTeleportation Source # 
Instance details

Defined in M.V769.P

NFData ConfirmTeleportation Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ConfirmTeleportation -> () #

Eq ConfirmTeleportation Source # 
Instance details

Defined in M.V769.P

Ord ConfirmTeleportation Source # 
Instance details

Defined in M.V769.P

Pack ConfirmTeleportation Source # 
Instance details

Defined in M.V769.P

Unpack ConfirmTeleportation Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ConfirmTeleportation Source #

type Rep ConfirmTeleportation Source # 
Instance details

Defined in M.V769.P

type Rep ConfirmTeleportation = D1 ('MetaData "ConfirmTeleportation" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ConfirmTeleportation" 'PrefixI 'True) (S1 ('MetaSel ('Just "teleportid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data SetTabListHeaderAndFooter Source #

Instances

Instances details
Data SetTabListHeaderAndFooter Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetTabListHeaderAndFooter -> c SetTabListHeaderAndFooter #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetTabListHeaderAndFooter #

toConstr :: SetTabListHeaderAndFooter -> Constr #

dataTypeOf :: SetTabListHeaderAndFooter -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetTabListHeaderAndFooter) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetTabListHeaderAndFooter) #

gmapT :: (forall b. Data b => b -> b) -> SetTabListHeaderAndFooter -> SetTabListHeaderAndFooter #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetTabListHeaderAndFooter -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetTabListHeaderAndFooter -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetTabListHeaderAndFooter -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetTabListHeaderAndFooter -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetTabListHeaderAndFooter -> m SetTabListHeaderAndFooter #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetTabListHeaderAndFooter -> m SetTabListHeaderAndFooter #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetTabListHeaderAndFooter -> m SetTabListHeaderAndFooter #

Generic SetTabListHeaderAndFooter Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetTabListHeaderAndFooter 
Instance details

Defined in M.V769.P

type Rep SetTabListHeaderAndFooter = D1 ('MetaData "SetTabListHeaderAndFooter" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetTabListHeaderAndFooter" 'PrefixI 'True) (S1 ('MetaSel ('Just "header") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent) :*: S1 ('MetaSel ('Just "footer") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent)))
Read SetTabListHeaderAndFooter Source # 
Instance details

Defined in M.V769.P

Show SetTabListHeaderAndFooter Source # 
Instance details

Defined in M.V769.P

NFData SetTabListHeaderAndFooter Source # 
Instance details

Defined in M.V769.P

Eq SetTabListHeaderAndFooter Source # 
Instance details

Defined in M.V769.P

Ord SetTabListHeaderAndFooter Source # 
Instance details

Defined in M.V769.P

Pack SetTabListHeaderAndFooter Source # 
Instance details

Defined in M.V769.P

Unpack SetTabListHeaderAndFooter Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetTabListHeaderAndFooter Source #

type Rep SetTabListHeaderAndFooter Source # 
Instance details

Defined in M.V769.P

type Rep SetTabListHeaderAndFooter = D1 ('MetaData "SetTabListHeaderAndFooter" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetTabListHeaderAndFooter" 'PrefixI 'True) (S1 ('MetaSel ('Just "header") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent) :*: S1 ('MetaSel ('Just "footer") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent)))

data StoreCookie Source #

Constructors

StoreCookie 

Fields

Instances

Instances details
Data StoreCookie Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> StoreCookie -> c StoreCookie #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c StoreCookie #

toConstr :: StoreCookie -> Constr #

dataTypeOf :: StoreCookie -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c StoreCookie) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c StoreCookie) #

gmapT :: (forall b. Data b => b -> b) -> StoreCookie -> StoreCookie #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> StoreCookie -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> StoreCookie -> r #

gmapQ :: (forall d. Data d => d -> u) -> StoreCookie -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> StoreCookie -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> StoreCookie -> m StoreCookie #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> StoreCookie -> m StoreCookie #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> StoreCookie -> m StoreCookie #

Generic StoreCookie Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep StoreCookie 
Instance details

Defined in M.V769.P

type Rep StoreCookie = D1 ('MetaData "StoreCookie" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "StoreCookie" 'PrefixI 'True) (S1 ('MetaSel ('Just "key") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "value") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Read StoreCookie Source # 
Instance details

Defined in M.V769.P

Show StoreCookie Source # 
Instance details

Defined in M.V769.P

NFData StoreCookie Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: StoreCookie -> () #

Eq StoreCookie Source # 
Instance details

Defined in M.V769.P

Ord StoreCookie Source # 
Instance details

Defined in M.V769.P

Pack StoreCookie Source # 
Instance details

Defined in M.V769.P

Unpack StoreCookie Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r StoreCookie Source #

type Rep StoreCookie Source # 
Instance details

Defined in M.V769.P

type Rep StoreCookie = D1 ('MetaData "StoreCookie" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "StoreCookie" 'PrefixI 'True) (S1 ('MetaSel ('Just "key") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "value") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data StopSound__ Source #

Constructors

StopSound__ 

Instances

Instances details
Generic StopSound__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep StopSound__ 
Instance details

Defined in M.V769.P

type Rep StopSound__ = D1 ('MetaData "StopSound__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "StopSound__" 'PrefixI 'True) (S1 ('MetaSel ('Just "flags__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: (S1 ('MetaSel ('Just "source__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "sound__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))))
NFData StopSound__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: StopSound__ -> () #

Eq StopSound__ Source # 
Instance details

Defined in M.V769.P

Ord StopSound__ Source # 
Instance details

Defined in M.V769.P

Pack StopSound__ Source # 
Instance details

Defined in M.V769.P

Unpack StopSound__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r StopSound__ Source #

type Rep StopSound__ Source # 
Instance details

Defined in M.V769.P

type Rep StopSound__ = D1 ('MetaData "StopSound__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "StopSound__" 'PrefixI 'True) (S1 ('MetaSel ('Just "flags__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: (S1 ('MetaSel ('Just "source__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "sound__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))))

data StopSound Source #

Constructors

StopSound 

Fields

Instances

Instances details
Data StopSound Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> StopSound -> c StopSound #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c StopSound #

toConstr :: StopSound -> Constr #

dataTypeOf :: StopSound -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c StopSound) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c StopSound) #

gmapT :: (forall b. Data b => b -> b) -> StopSound -> StopSound #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> StopSound -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> StopSound -> r #

gmapQ :: (forall d. Data d => d -> u) -> StopSound -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> StopSound -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> StopSound -> m StopSound #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> StopSound -> m StopSound #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> StopSound -> m StopSound #

Generic StopSound Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep StopSound 
Instance details

Defined in M.V769.P

type Rep StopSound = D1 ('MetaData "StopSound" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "StopSound" 'PrefixI 'True) (S1 ('MetaSel ('Just "flags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: (S1 ('MetaSel ('Just "source") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "sound") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))
Read StopSound Source # 
Instance details

Defined in M.V769.P

Show StopSound Source # 
Instance details

Defined in M.V769.P

NFData StopSound Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: StopSound -> () #

Eq StopSound Source # 
Instance details

Defined in M.V769.P

Ord StopSound Source # 
Instance details

Defined in M.V769.P

Pack StopSound Source # 
Instance details

Defined in M.V769.P

Unpack StopSound Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r StopSound Source #

type Rep StopSound Source # 
Instance details

Defined in M.V769.P

type Rep StopSound = D1 ('MetaData "StopSound" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "StopSound" 'PrefixI 'True) (S1 ('MetaSel ('Just "flags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: (S1 ('MetaSel ('Just "source") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "sound") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))

data StartConfiguration Source #

Constructors

StartConfiguration 

Instances

Instances details
Data StartConfiguration Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> StartConfiguration -> c StartConfiguration #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c StartConfiguration #

toConstr :: StartConfiguration -> Constr #

dataTypeOf :: StartConfiguration -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c StartConfiguration) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c StartConfiguration) #

gmapT :: (forall b. Data b => b -> b) -> StartConfiguration -> StartConfiguration #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> StartConfiguration -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> StartConfiguration -> r #

gmapQ :: (forall d. Data d => d -> u) -> StartConfiguration -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> StartConfiguration -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> StartConfiguration -> m StartConfiguration #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> StartConfiguration -> m StartConfiguration #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> StartConfiguration -> m StartConfiguration #

Generic StartConfiguration Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep StartConfiguration 
Instance details

Defined in M.V769.P

type Rep StartConfiguration = D1 ('MetaData "StartConfiguration" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "StartConfiguration" 'PrefixI 'False) (U1 :: Type -> Type))
Read StartConfiguration Source # 
Instance details

Defined in M.V769.P

Show StartConfiguration Source # 
Instance details

Defined in M.V769.P

NFData StartConfiguration Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: StartConfiguration -> () #

Eq StartConfiguration Source # 
Instance details

Defined in M.V769.P

Ord StartConfiguration Source # 
Instance details

Defined in M.V769.P

Pack StartConfiguration Source # 
Instance details

Defined in M.V769.P

Unpack StartConfiguration Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r StartConfiguration Source #

type Rep StartConfiguration Source # 
Instance details

Defined in M.V769.P

type Rep StartConfiguration = D1 ('MetaData "StartConfiguration" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "StartConfiguration" 'PrefixI 'False) (U1 :: Type -> Type))

data SoundEffect__ Source #

Instances

Instances details
Generic SoundEffect__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SoundEffect__ 
Instance details

Defined in M.V769.P

type Rep SoundEffect__ = D1 ('MetaData "SoundEffect__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SoundEffect__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "soundid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "soundcategory__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)) :*: (S1 ('MetaSel ('Just "position__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Int32)) :*: (S1 ('MetaSel ('Just "volume__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float) :*: S1 ('MetaSel ('Just "pitch__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float)))))
NFData SoundEffect__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SoundEffect__ -> () #

Eq SoundEffect__ Source # 
Instance details

Defined in M.V769.P

Ord SoundEffect__ Source # 
Instance details

Defined in M.V769.P

Pack SoundEffect__ Source # 
Instance details

Defined in M.V769.P

Unpack SoundEffect__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SoundEffect__ Source #

type Rep SoundEffect__ Source # 
Instance details

Defined in M.V769.P

type Rep SoundEffect__ = D1 ('MetaData "SoundEffect__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SoundEffect__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "soundid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "soundcategory__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)) :*: (S1 ('MetaSel ('Just "position__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Int32)) :*: (S1 ('MetaSel ('Just "volume__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float) :*: S1 ('MetaSel ('Just "pitch__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float)))))

data SoundEffect Source #

Constructors

SoundEffect 

Instances

Instances details
Data SoundEffect Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SoundEffect -> c SoundEffect #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SoundEffect #

toConstr :: SoundEffect -> Constr #

dataTypeOf :: SoundEffect -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SoundEffect) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SoundEffect) #

gmapT :: (forall b. Data b => b -> b) -> SoundEffect -> SoundEffect #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SoundEffect -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SoundEffect -> r #

gmapQ :: (forall d. Data d => d -> u) -> SoundEffect -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SoundEffect -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SoundEffect -> m SoundEffect #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SoundEffect -> m SoundEffect #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SoundEffect -> m SoundEffect #

Generic SoundEffect Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SoundEffect 
Instance details

Defined in M.V769.P

Read SoundEffect Source # 
Instance details

Defined in M.V769.P

Show SoundEffect Source # 
Instance details

Defined in M.V769.P

NFData SoundEffect Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SoundEffect -> () #

Eq SoundEffect Source # 
Instance details

Defined in M.V769.P

Ord SoundEffect Source # 
Instance details

Defined in M.V769.P

Pack SoundEffect Source # 
Instance details

Defined in M.V769.P

Unpack SoundEffect Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SoundEffect Source #

type Rep SoundEffect Source # 
Instance details

Defined in M.V769.P

data EntitySoundEffect__ Source #

Instances

Instances details
Generic EntitySoundEffect__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep EntitySoundEffect__ 
Instance details

Defined in M.V769.P

type Rep EntitySoundEffect__ = D1 ('MetaData "EntitySoundEffect__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EntitySoundEffect__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "soundid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "soundcategory__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)) :*: (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "volume__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float) :*: S1 ('MetaSel ('Just "pitch__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float)))))
NFData EntitySoundEffect__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: EntitySoundEffect__ -> () #

Eq EntitySoundEffect__ Source # 
Instance details

Defined in M.V769.P

Ord EntitySoundEffect__ Source # 
Instance details

Defined in M.V769.P

Pack EntitySoundEffect__ Source # 
Instance details

Defined in M.V769.P

Unpack EntitySoundEffect__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EntitySoundEffect__ Source #

type Rep EntitySoundEffect__ Source # 
Instance details

Defined in M.V769.P

type Rep EntitySoundEffect__ = D1 ('MetaData "EntitySoundEffect__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EntitySoundEffect__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "soundid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "soundcategory__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)) :*: (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "volume__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float) :*: S1 ('MetaSel ('Just "pitch__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float)))))

data EntitySoundEffect Source #

Instances

Instances details
Data EntitySoundEffect Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> EntitySoundEffect -> c EntitySoundEffect #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c EntitySoundEffect #

toConstr :: EntitySoundEffect -> Constr #

dataTypeOf :: EntitySoundEffect -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c EntitySoundEffect) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c EntitySoundEffect) #

gmapT :: (forall b. Data b => b -> b) -> EntitySoundEffect -> EntitySoundEffect #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> EntitySoundEffect -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> EntitySoundEffect -> r #

gmapQ :: (forall d. Data d => d -> u) -> EntitySoundEffect -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> EntitySoundEffect -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> EntitySoundEffect -> m EntitySoundEffect #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> EntitySoundEffect -> m EntitySoundEffect #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> EntitySoundEffect -> m EntitySoundEffect #

Generic EntitySoundEffect Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep EntitySoundEffect 
Instance details

Defined in M.V769.P

Read EntitySoundEffect Source # 
Instance details

Defined in M.V769.P

Show EntitySoundEffect Source # 
Instance details

Defined in M.V769.P

NFData EntitySoundEffect Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: EntitySoundEffect -> () #

Eq EntitySoundEffect Source # 
Instance details

Defined in M.V769.P

Ord EntitySoundEffect Source # 
Instance details

Defined in M.V769.P

Pack EntitySoundEffect Source # 
Instance details

Defined in M.V769.P

Unpack EntitySoundEffect Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EntitySoundEffect Source #

type Rep EntitySoundEffect Source # 
Instance details

Defined in M.V769.P

data SetTitleAnimationTimes Source #

Constructors

SetTitleAnimationTimes 

Fields

Instances

Instances details
Data SetTitleAnimationTimes Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetTitleAnimationTimes -> c SetTitleAnimationTimes #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetTitleAnimationTimes #

toConstr :: SetTitleAnimationTimes -> Constr #

dataTypeOf :: SetTitleAnimationTimes -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetTitleAnimationTimes) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetTitleAnimationTimes) #

gmapT :: (forall b. Data b => b -> b) -> SetTitleAnimationTimes -> SetTitleAnimationTimes #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetTitleAnimationTimes -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetTitleAnimationTimes -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetTitleAnimationTimes -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetTitleAnimationTimes -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetTitleAnimationTimes -> m SetTitleAnimationTimes #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetTitleAnimationTimes -> m SetTitleAnimationTimes #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetTitleAnimationTimes -> m SetTitleAnimationTimes #

Generic SetTitleAnimationTimes Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetTitleAnimationTimes 
Instance details

Defined in M.V769.P

type Rep SetTitleAnimationTimes = D1 ('MetaData "SetTitleAnimationTimes" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetTitleAnimationTimes" 'PrefixI 'True) (S1 ('MetaSel ('Just "fadein") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "stay") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "fadeout") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))
Read SetTitleAnimationTimes Source # 
Instance details

Defined in M.V769.P

Show SetTitleAnimationTimes Source # 
Instance details

Defined in M.V769.P

NFData SetTitleAnimationTimes Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetTitleAnimationTimes -> () #

Eq SetTitleAnimationTimes Source # 
Instance details

Defined in M.V769.P

Ord SetTitleAnimationTimes Source # 
Instance details

Defined in M.V769.P

Pack SetTitleAnimationTimes Source # 
Instance details

Defined in M.V769.P

Unpack SetTitleAnimationTimes Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetTitleAnimationTimes Source #

type Rep SetTitleAnimationTimes Source # 
Instance details

Defined in M.V769.P

type Rep SetTitleAnimationTimes = D1 ('MetaData "SetTitleAnimationTimes" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetTitleAnimationTimes" 'PrefixI 'True) (S1 ('MetaSel ('Just "fadein") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "stay") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "fadeout") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))

data SetTitleText Source #

Constructors

SetTitleText 

Fields

Instances

Instances details
Data SetTitleText Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetTitleText -> c SetTitleText #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetTitleText #

toConstr :: SetTitleText -> Constr #

dataTypeOf :: SetTitleText -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetTitleText) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetTitleText) #

gmapT :: (forall b. Data b => b -> b) -> SetTitleText -> SetTitleText #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetTitleText -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetTitleText -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetTitleText -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetTitleText -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetTitleText -> m SetTitleText #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetTitleText -> m SetTitleText #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetTitleText -> m SetTitleText #

Generic SetTitleText Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetTitleText 
Instance details

Defined in M.V769.P

type Rep SetTitleText = D1 ('MetaData "SetTitleText" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetTitleText" 'PrefixI 'True) (S1 ('MetaSel ('Just "text") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent)))
Read SetTitleText Source # 
Instance details

Defined in M.V769.P

Show SetTitleText Source # 
Instance details

Defined in M.V769.P

NFData SetTitleText Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetTitleText -> () #

Eq SetTitleText Source # 
Instance details

Defined in M.V769.P

Ord SetTitleText Source # 
Instance details

Defined in M.V769.P

Pack SetTitleText Source # 
Instance details

Defined in M.V769.P

Unpack SetTitleText Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetTitleText Source #

type Rep SetTitleText Source # 
Instance details

Defined in M.V769.P

type Rep SetTitleText = D1 ('MetaData "SetTitleText" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetTitleText" 'PrefixI 'True) (S1 ('MetaSel ('Just "text") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent)))

data UpdateTime Source #

Constructors

UpdateTime 

Fields

Instances

Instances details
Data UpdateTime Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UpdateTime -> c UpdateTime #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UpdateTime #

toConstr :: UpdateTime -> Constr #

dataTypeOf :: UpdateTime -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UpdateTime) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UpdateTime) #

gmapT :: (forall b. Data b => b -> b) -> UpdateTime -> UpdateTime #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UpdateTime -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UpdateTime -> r #

gmapQ :: (forall d. Data d => d -> u) -> UpdateTime -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> UpdateTime -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UpdateTime -> m UpdateTime #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateTime -> m UpdateTime #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateTime -> m UpdateTime #

Generic UpdateTime Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep UpdateTime 
Instance details

Defined in M.V769.P

type Rep UpdateTime = D1 ('MetaData "UpdateTime" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateTime" 'PrefixI 'True) (S1 ('MetaSel ('Just "worldage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64) :*: S1 ('MetaSel ('Just "timeofday") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64)))
Read UpdateTime Source # 
Instance details

Defined in M.V769.P

Show UpdateTime Source # 
Instance details

Defined in M.V769.P

NFData UpdateTime Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: UpdateTime -> () #

Eq UpdateTime Source # 
Instance details

Defined in M.V769.P

Ord UpdateTime Source # 
Instance details

Defined in M.V769.P

Pack UpdateTime Source # 
Instance details

Defined in M.V769.P

Unpack UpdateTime Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateTime Source #

type Rep UpdateTime Source # 
Instance details

Defined in M.V769.P

type Rep UpdateTime = D1 ('MetaData "UpdateTime" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateTime" 'PrefixI 'True) (S1 ('MetaSel ('Just "worldage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64) :*: S1 ('MetaSel ('Just "timeofday") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64)))

data SetSubtitleText Source #

Constructors

SetSubtitleText 

Fields

Instances

Instances details
Data SetSubtitleText Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetSubtitleText -> c SetSubtitleText #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetSubtitleText #

toConstr :: SetSubtitleText -> Constr #

dataTypeOf :: SetSubtitleText -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetSubtitleText) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetSubtitleText) #

gmapT :: (forall b. Data b => b -> b) -> SetSubtitleText -> SetSubtitleText #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetSubtitleText -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetSubtitleText -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetSubtitleText -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetSubtitleText -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetSubtitleText -> m SetSubtitleText #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetSubtitleText -> m SetSubtitleText #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetSubtitleText -> m SetSubtitleText #

Generic SetSubtitleText Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetSubtitleText 
Instance details

Defined in M.V769.P

type Rep SetSubtitleText = D1 ('MetaData "SetSubtitleText" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetSubtitleText" 'PrefixI 'True) (S1 ('MetaSel ('Just "text") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent)))
Read SetSubtitleText Source # 
Instance details

Defined in M.V769.P

Show SetSubtitleText Source # 
Instance details

Defined in M.V769.P

NFData SetSubtitleText Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetSubtitleText -> () #

Eq SetSubtitleText Source # 
Instance details

Defined in M.V769.P

Ord SetSubtitleText Source # 
Instance details

Defined in M.V769.P

Pack SetSubtitleText Source # 
Instance details

Defined in M.V769.P

Unpack SetSubtitleText Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetSubtitleText Source #

type Rep SetSubtitleText Source # 
Instance details

Defined in M.V769.P

type Rep SetSubtitleText = D1 ('MetaData "SetSubtitleText" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetSubtitleText" 'PrefixI 'True) (S1 ('MetaSel ('Just "text") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent)))

data SetSimulationDistance__ Source #

Instances

Instances details
Generic SetSimulationDistance__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetSimulationDistance__ 
Instance details

Defined in M.V769.P

type Rep SetSimulationDistance__ = D1 ('MetaData "SetSimulationDistance__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetSimulationDistance__" 'PrefixI 'True) (S1 ('MetaSel ('Just "simulationdistance__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
NFData SetSimulationDistance__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetSimulationDistance__ -> () #

Eq SetSimulationDistance__ Source # 
Instance details

Defined in M.V769.P

Ord SetSimulationDistance__ Source # 
Instance details

Defined in M.V769.P

Pack SetSimulationDistance__ Source # 
Instance details

Defined in M.V769.P

Unpack SetSimulationDistance__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetSimulationDistance__ Source #

type Rep SetSimulationDistance__ Source # 
Instance details

Defined in M.V769.P

type Rep SetSimulationDistance__ = D1 ('MetaData "SetSimulationDistance__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetSimulationDistance__" 'PrefixI 'True) (S1 ('MetaSel ('Just "simulationdistance__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data SetSimulationDistance Source #

Instances

Instances details
Data SetSimulationDistance Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetSimulationDistance -> c SetSimulationDistance #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetSimulationDistance #

toConstr :: SetSimulationDistance -> Constr #

dataTypeOf :: SetSimulationDistance -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetSimulationDistance) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetSimulationDistance) #

gmapT :: (forall b. Data b => b -> b) -> SetSimulationDistance -> SetSimulationDistance #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetSimulationDistance -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetSimulationDistance -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetSimulationDistance -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetSimulationDistance -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetSimulationDistance -> m SetSimulationDistance #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetSimulationDistance -> m SetSimulationDistance #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetSimulationDistance -> m SetSimulationDistance #

Generic SetSimulationDistance Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetSimulationDistance 
Instance details

Defined in M.V769.P

type Rep SetSimulationDistance = D1 ('MetaData "SetSimulationDistance" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetSimulationDistance" 'PrefixI 'True) (S1 ('MetaSel ('Just "simulationdistance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))
Read SetSimulationDistance Source # 
Instance details

Defined in M.V769.P

Show SetSimulationDistance Source # 
Instance details

Defined in M.V769.P

NFData SetSimulationDistance Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetSimulationDistance -> () #

Eq SetSimulationDistance Source # 
Instance details

Defined in M.V769.P

Ord SetSimulationDistance Source # 
Instance details

Defined in M.V769.P

Pack SetSimulationDistance Source # 
Instance details

Defined in M.V769.P

Unpack SetSimulationDistance Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetSimulationDistance Source #

type Rep SetSimulationDistance Source # 
Instance details

Defined in M.V769.P

type Rep SetSimulationDistance = D1 ('MetaData "SetSimulationDistance" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetSimulationDistance" 'PrefixI 'True) (S1 ('MetaSel ('Just "simulationdistance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data UpdateScore__ Source #

Instances

Instances details
Generic UpdateScore__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep UpdateScore__ 
Instance details

Defined in M.V769.P

type Rep UpdateScore__ = D1 ('MetaData "UpdateScore__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateScore__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "entityname__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "action__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)) :*: (S1 ('MetaSel ('Just "objectivename__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "value__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))))
NFData UpdateScore__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: UpdateScore__ -> () #

Eq UpdateScore__ Source # 
Instance details

Defined in M.V769.P

Ord UpdateScore__ Source # 
Instance details

Defined in M.V769.P

Pack UpdateScore__ Source # 
Instance details

Defined in M.V769.P

Unpack UpdateScore__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateScore__ Source #

type Rep UpdateScore__ Source # 
Instance details

Defined in M.V769.P

type Rep UpdateScore__ = D1 ('MetaData "UpdateScore__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateScore__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "entityname__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "action__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)) :*: (S1 ('MetaSel ('Just "objectivename__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "value__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))))

data UpdateScore Source #

Constructors

UpdateScore 

Instances

Instances details
Data UpdateScore Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UpdateScore -> c UpdateScore #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UpdateScore #

toConstr :: UpdateScore -> Constr #

dataTypeOf :: UpdateScore -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UpdateScore) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UpdateScore) #

gmapT :: (forall b. Data b => b -> b) -> UpdateScore -> UpdateScore #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UpdateScore -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UpdateScore -> r #

gmapQ :: (forall d. Data d => d -> u) -> UpdateScore -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> UpdateScore -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UpdateScore -> m UpdateScore #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateScore -> m UpdateScore #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateScore -> m UpdateScore #

Generic UpdateScore Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep UpdateScore 
Instance details

Defined in M.V769.P

type Rep UpdateScore = D1 ('MetaData "UpdateScore" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateScore" 'PrefixI 'True) ((S1 ('MetaSel ('Just "entityname") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "action") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)) :*: (S1 ('MetaSel ('Just "objectivename") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "value") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))
Read UpdateScore Source # 
Instance details

Defined in M.V769.P

Show UpdateScore Source # 
Instance details

Defined in M.V769.P

NFData UpdateScore Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: UpdateScore -> () #

Eq UpdateScore Source # 
Instance details

Defined in M.V769.P

Ord UpdateScore Source # 
Instance details

Defined in M.V769.P

Pack UpdateScore Source # 
Instance details

Defined in M.V769.P

Unpack UpdateScore Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateScore Source #

type Rep UpdateScore Source # 
Instance details

Defined in M.V769.P

type Rep UpdateScore = D1 ('MetaData "UpdateScore" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateScore" 'PrefixI 'True) ((S1 ('MetaSel ('Just "entityname") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "action") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)) :*: (S1 ('MetaSel ('Just "objectivename") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "value") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))

data UpdateTeams__ Source #

Instances

Instances details
Generic UpdateTeams__ Source # 
Instance details

Defined in M.V769.P

NFData UpdateTeams__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: UpdateTeams__ -> () #

Eq UpdateTeams__ Source # 
Instance details

Defined in M.V769.P

Ord UpdateTeams__ Source # 
Instance details

Defined in M.V769.P

Pack UpdateTeams__ Source # 
Instance details

Defined in M.V769.P

Unpack UpdateTeams__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateTeams__ Source #

type Rep UpdateTeams__ Source # 
Instance details

Defined in M.V769.P

data UpdateTeams Source #

Instances

Instances details
Data UpdateTeams Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UpdateTeams -> c UpdateTeams #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UpdateTeams #

toConstr :: UpdateTeams -> Constr #

dataTypeOf :: UpdateTeams -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UpdateTeams) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UpdateTeams) #

gmapT :: (forall b. Data b => b -> b) -> UpdateTeams -> UpdateTeams #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UpdateTeams -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UpdateTeams -> r #

gmapQ :: (forall d. Data d => d -> u) -> UpdateTeams -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> UpdateTeams -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UpdateTeams -> m UpdateTeams #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateTeams -> m UpdateTeams #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateTeams -> m UpdateTeams #

Generic UpdateTeams Source # 
Instance details

Defined in M.V769.P

Read UpdateTeams Source # 
Instance details

Defined in M.V769.P

Show UpdateTeams Source # 
Instance details

Defined in M.V769.P

NFData UpdateTeams Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: UpdateTeams -> () #

Eq UpdateTeams Source # 
Instance details

Defined in M.V769.P

Ord UpdateTeams Source # 
Instance details

Defined in M.V769.P

Pack UpdateTeams Source # 
Instance details

Defined in M.V769.P

Unpack UpdateTeams Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateTeams Source #

type Rep UpdateTeams Source # 
Instance details

Defined in M.V769.P

data SetPlayerInventorySlot Source #

Constructors

SetPlayerInventorySlot 

Fields

Instances

Instances details
Data SetPlayerInventorySlot Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetPlayerInventorySlot -> c SetPlayerInventorySlot #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetPlayerInventorySlot #

toConstr :: SetPlayerInventorySlot -> Constr #

dataTypeOf :: SetPlayerInventorySlot -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetPlayerInventorySlot) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetPlayerInventorySlot) #

gmapT :: (forall b. Data b => b -> b) -> SetPlayerInventorySlot -> SetPlayerInventorySlot #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetPlayerInventorySlot -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetPlayerInventorySlot -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetPlayerInventorySlot -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetPlayerInventorySlot -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetPlayerInventorySlot -> m SetPlayerInventorySlot #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetPlayerInventorySlot -> m SetPlayerInventorySlot #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetPlayerInventorySlot -> m SetPlayerInventorySlot #

Generic SetPlayerInventorySlot Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetPlayerInventorySlot 
Instance details

Defined in M.V769.P

type Rep SetPlayerInventorySlot = D1 ('MetaData "SetPlayerInventorySlot" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetPlayerInventorySlot" 'PrefixI 'True) (S1 ('MetaSel ('Just "slot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16) :*: S1 ('MetaSel ('Just "slotdata_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Slot)))
Read SetPlayerInventorySlot Source # 
Instance details

Defined in M.V769.P

Show SetPlayerInventorySlot Source # 
Instance details

Defined in M.V769.P

NFData SetPlayerInventorySlot Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetPlayerInventorySlot -> () #

Eq SetPlayerInventorySlot Source # 
Instance details

Defined in M.V769.P

Ord SetPlayerInventorySlot Source # 
Instance details

Defined in M.V769.P

Pack SetPlayerInventorySlot Source # 
Instance details

Defined in M.V769.P

Unpack SetPlayerInventorySlot Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetPlayerInventorySlot Source #

type Rep SetPlayerInventorySlot Source # 
Instance details

Defined in M.V769.P

type Rep SetPlayerInventorySlot = D1 ('MetaData "SetPlayerInventorySlot" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetPlayerInventorySlot" 'PrefixI 'True) (S1 ('MetaSel ('Just "slot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16) :*: S1 ('MetaSel ('Just "slotdata_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Slot)))

data SetPassengers__ Source #

Constructors

SetPassengers__ 

Fields

Instances

Instances details
Generic SetPassengers__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetPassengers__ 
Instance details

Defined in M.V769.P

type Rep SetPassengers__ = D1 ('MetaData "SetPassengers__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetPassengers__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "passengerids__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector VarInt))))
NFData SetPassengers__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetPassengers__ -> () #

Eq SetPassengers__ Source # 
Instance details

Defined in M.V769.P

Ord SetPassengers__ Source # 
Instance details

Defined in M.V769.P

Pack SetPassengers__ Source # 
Instance details

Defined in M.V769.P

Unpack SetPassengers__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetPassengers__ Source #

type Rep SetPassengers__ Source # 
Instance details

Defined in M.V769.P

type Rep SetPassengers__ = D1 ('MetaData "SetPassengers__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetPassengers__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "passengerids__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector VarInt))))

data SetPassengers Source #

Constructors

SetPassengers 

Fields

Instances

Instances details
Data SetPassengers Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetPassengers -> c SetPassengers #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetPassengers #

toConstr :: SetPassengers -> Constr #

dataTypeOf :: SetPassengers -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetPassengers) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetPassengers) #

gmapT :: (forall b. Data b => b -> b) -> SetPassengers -> SetPassengers #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetPassengers -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetPassengers -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetPassengers -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetPassengers -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetPassengers -> m SetPassengers #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetPassengers -> m SetPassengers #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetPassengers -> m SetPassengers #

Generic SetPassengers Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetPassengers 
Instance details

Defined in M.V769.P

type Rep SetPassengers = D1 ('MetaData "SetPassengers" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetPassengers" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "passengerids") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Int32))))
Read SetPassengers Source # 
Instance details

Defined in M.V769.P

Show SetPassengers Source # 
Instance details

Defined in M.V769.P

NFData SetPassengers Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetPassengers -> () #

Eq SetPassengers Source # 
Instance details

Defined in M.V769.P

Ord SetPassengers Source # 
Instance details

Defined in M.V769.P

Pack SetPassengers Source # 
Instance details

Defined in M.V769.P

Unpack SetPassengers Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetPassengers Source #

type Rep SetPassengers Source # 
Instance details

Defined in M.V769.P

type Rep SetPassengers = D1 ('MetaData "SetPassengers" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetPassengers" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "passengerids") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Int32))))

data UpdateObjectives__ Source #

Instances

Instances details
Generic UpdateObjectives__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep UpdateObjectives__ 
Instance details

Defined in M.V769.P

type Rep UpdateObjectives__ = D1 ('MetaData "UpdateObjectives__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateObjectives__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "name__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "mode__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)) :*: (S1 ('MetaSel ('Just "displayname__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "type___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))))
NFData UpdateObjectives__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: UpdateObjectives__ -> () #

Eq UpdateObjectives__ Source # 
Instance details

Defined in M.V769.P

Ord UpdateObjectives__ Source # 
Instance details

Defined in M.V769.P

Pack UpdateObjectives__ Source # 
Instance details

Defined in M.V769.P

Unpack UpdateObjectives__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateObjectives__ Source #

type Rep UpdateObjectives__ Source # 
Instance details

Defined in M.V769.P

type Rep UpdateObjectives__ = D1 ('MetaData "UpdateObjectives__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateObjectives__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "name__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "mode__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)) :*: (S1 ('MetaSel ('Just "displayname__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "type___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))))

data UpdateObjectives Source #

Constructors

UpdateObjectives 

Fields

Instances

Instances details
Data UpdateObjectives Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UpdateObjectives -> c UpdateObjectives #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UpdateObjectives #

toConstr :: UpdateObjectives -> Constr #

dataTypeOf :: UpdateObjectives -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UpdateObjectives) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UpdateObjectives) #

gmapT :: (forall b. Data b => b -> b) -> UpdateObjectives -> UpdateObjectives #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UpdateObjectives -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UpdateObjectives -> r #

gmapQ :: (forall d. Data d => d -> u) -> UpdateObjectives -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> UpdateObjectives -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UpdateObjectives -> m UpdateObjectives #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateObjectives -> m UpdateObjectives #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateObjectives -> m UpdateObjectives #

Generic UpdateObjectives Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep UpdateObjectives 
Instance details

Defined in M.V769.P

type Rep UpdateObjectives = D1 ('MetaData "UpdateObjectives" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateObjectives" 'PrefixI 'True) ((S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "mode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)) :*: (S1 ('MetaSel ('Just "displayname") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "type_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))
Read UpdateObjectives Source # 
Instance details

Defined in M.V769.P

Show UpdateObjectives Source # 
Instance details

Defined in M.V769.P

NFData UpdateObjectives Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: UpdateObjectives -> () #

Eq UpdateObjectives Source # 
Instance details

Defined in M.V769.P

Ord UpdateObjectives Source # 
Instance details

Defined in M.V769.P

Pack UpdateObjectives Source # 
Instance details

Defined in M.V769.P

Unpack UpdateObjectives Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateObjectives Source #

type Rep UpdateObjectives Source # 
Instance details

Defined in M.V769.P

type Rep UpdateObjectives = D1 ('MetaData "UpdateObjectives" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateObjectives" 'PrefixI 'True) ((S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "mode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)) :*: (S1 ('MetaSel ('Just "displayname") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "type_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))

data SetHeldItem Source #

Constructors

SetHeldItem 

Fields

Instances

Instances details
Data SetHeldItem Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetHeldItem -> c SetHeldItem #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetHeldItem #

toConstr :: SetHeldItem -> Constr #

dataTypeOf :: SetHeldItem -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetHeldItem) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetHeldItem) #

gmapT :: (forall b. Data b => b -> b) -> SetHeldItem -> SetHeldItem #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetHeldItem -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetHeldItem -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetHeldItem -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetHeldItem -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetHeldItem -> m SetHeldItem #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetHeldItem -> m SetHeldItem #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetHeldItem -> m SetHeldItem #

Generic SetHeldItem Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetHeldItem 
Instance details

Defined in M.V769.P

type Rep SetHeldItem = D1 ('MetaData "SetHeldItem" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetHeldItem" 'PrefixI 'True) (S1 ('MetaSel ('Just "slot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))
Read SetHeldItem Source # 
Instance details

Defined in M.V769.P

Show SetHeldItem Source # 
Instance details

Defined in M.V769.P

NFData SetHeldItem Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetHeldItem -> () #

Eq SetHeldItem Source # 
Instance details

Defined in M.V769.P

Ord SetHeldItem Source # 
Instance details

Defined in M.V769.P

Pack SetHeldItem Source # 
Instance details

Defined in M.V769.P

Unpack SetHeldItem Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetHeldItem Source #

type Rep SetHeldItem Source # 
Instance details

Defined in M.V769.P

type Rep SetHeldItem = D1 ('MetaData "SetHeldItem" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetHeldItem" 'PrefixI 'True) (S1 ('MetaSel ('Just "slot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))

data SetHealth__ Source #

Constructors

SetHealth__ 

Instances

Instances details
Generic SetHealth__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetHealth__ 
Instance details

Defined in M.V769.P

type Rep SetHealth__ = D1 ('MetaData "SetHealth__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetHealth__" 'PrefixI 'True) (S1 ('MetaSel ('Just "health__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float) :*: (S1 ('MetaSel ('Just "food__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "foodsaturation__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float))))
NFData SetHealth__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetHealth__ -> () #

Eq SetHealth__ Source # 
Instance details

Defined in M.V769.P

Ord SetHealth__ Source # 
Instance details

Defined in M.V769.P

Pack SetHealth__ Source # 
Instance details

Defined in M.V769.P

Unpack SetHealth__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetHealth__ Source #

type Rep SetHealth__ Source # 
Instance details

Defined in M.V769.P

type Rep SetHealth__ = D1 ('MetaData "SetHealth__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetHealth__" 'PrefixI 'True) (S1 ('MetaSel ('Just "health__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float) :*: (S1 ('MetaSel ('Just "food__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "foodsaturation__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float))))

data SetHealth Source #

Constructors

SetHealth 

Instances

Instances details
Data SetHealth Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetHealth -> c SetHealth #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetHealth #

toConstr :: SetHealth -> Constr #

dataTypeOf :: SetHealth -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetHealth) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetHealth) #

gmapT :: (forall b. Data b => b -> b) -> SetHealth -> SetHealth #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetHealth -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetHealth -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetHealth -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetHealth -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetHealth -> m SetHealth #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetHealth -> m SetHealth #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetHealth -> m SetHealth #

Generic SetHealth Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetHealth 
Instance details

Defined in M.V769.P

type Rep SetHealth = D1 ('MetaData "SetHealth" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetHealth" 'PrefixI 'True) (S1 ('MetaSel ('Just "health") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float) :*: (S1 ('MetaSel ('Just "food") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "foodsaturation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float))))
Read SetHealth Source # 
Instance details

Defined in M.V769.P

Show SetHealth Source # 
Instance details

Defined in M.V769.P

NFData SetHealth Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetHealth -> () #

Eq SetHealth Source # 
Instance details

Defined in M.V769.P

Ord SetHealth Source # 
Instance details

Defined in M.V769.P

Pack SetHealth Source # 
Instance details

Defined in M.V769.P

Unpack SetHealth Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetHealth Source #

type Rep SetHealth Source # 
Instance details

Defined in M.V769.P

type Rep SetHealth = D1 ('MetaData "SetHealth" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetHealth" 'PrefixI 'True) (S1 ('MetaSel ('Just "health") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float) :*: (S1 ('MetaSel ('Just "food") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "foodsaturation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float))))

data SetExperience__ Source #

Instances

Instances details
Generic SetExperience__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetExperience__ 
Instance details

Defined in M.V769.P

type Rep SetExperience__ = D1 ('MetaData "SetExperience__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetExperience__" 'PrefixI 'True) (S1 ('MetaSel ('Just "experiencebar__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float) :*: (S1 ('MetaSel ('Just "level__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "totalexperience__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))))
NFData SetExperience__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetExperience__ -> () #

Eq SetExperience__ Source # 
Instance details

Defined in M.V769.P

Ord SetExperience__ Source # 
Instance details

Defined in M.V769.P

Pack SetExperience__ Source # 
Instance details

Defined in M.V769.P

Unpack SetExperience__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetExperience__ Source #

type Rep SetExperience__ Source # 
Instance details

Defined in M.V769.P

type Rep SetExperience__ = D1 ('MetaData "SetExperience__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetExperience__" 'PrefixI 'True) (S1 ('MetaSel ('Just "experiencebar__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float) :*: (S1 ('MetaSel ('Just "level__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "totalexperience__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))))

data SetExperience Source #

Instances

Instances details
Data SetExperience Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetExperience -> c SetExperience #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetExperience #

toConstr :: SetExperience -> Constr #

dataTypeOf :: SetExperience -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetExperience) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetExperience) #

gmapT :: (forall b. Data b => b -> b) -> SetExperience -> SetExperience #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetExperience -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetExperience -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetExperience -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetExperience -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetExperience -> m SetExperience #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetExperience -> m SetExperience #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetExperience -> m SetExperience #

Generic SetExperience Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetExperience 
Instance details

Defined in M.V769.P

type Rep SetExperience = D1 ('MetaData "SetExperience" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetExperience" 'PrefixI 'True) (S1 ('MetaSel ('Just "experiencebar") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float) :*: (S1 ('MetaSel ('Just "level") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "totalexperience") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))
Read SetExperience Source # 
Instance details

Defined in M.V769.P

Show SetExperience Source # 
Instance details

Defined in M.V769.P

NFData SetExperience Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetExperience -> () #

Eq SetExperience Source # 
Instance details

Defined in M.V769.P

Ord SetExperience Source # 
Instance details

Defined in M.V769.P

Pack SetExperience Source # 
Instance details

Defined in M.V769.P

Unpack SetExperience Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetExperience Source #

type Rep SetExperience Source # 
Instance details

Defined in M.V769.P

type Rep SetExperience = D1 ('MetaData "SetExperience" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetExperience" 'PrefixI 'True) (S1 ('MetaSel ('Just "experiencebar") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float) :*: (S1 ('MetaSel ('Just "level") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "totalexperience") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))

data SetEquipment__ Source #

Constructors

SetEquipment__ 

Fields

Instances

Instances details
Generic SetEquipment__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetEquipment__ 
Instance details

Defined in M.V769.P

type Rep SetEquipment__ = D1 ('MetaData "SetEquipment__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetEquipment__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "equipment__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Slot))))
NFData SetEquipment__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetEquipment__ -> () #

Eq SetEquipment__ Source # 
Instance details

Defined in M.V769.P

Ord SetEquipment__ Source # 
Instance details

Defined in M.V769.P

Pack SetEquipment__ Source # 
Instance details

Defined in M.V769.P

Unpack SetEquipment__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetEquipment__ Source #

type Rep SetEquipment__ Source # 
Instance details

Defined in M.V769.P

type Rep SetEquipment__ = D1 ('MetaData "SetEquipment__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetEquipment__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "equipment__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Slot))))

data SetEquipment Source #

Constructors

SetEquipment 

Fields

Instances

Instances details
Data SetEquipment Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetEquipment -> c SetEquipment #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetEquipment #

toConstr :: SetEquipment -> Constr #

dataTypeOf :: SetEquipment -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetEquipment) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetEquipment) #

gmapT :: (forall b. Data b => b -> b) -> SetEquipment -> SetEquipment #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetEquipment -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetEquipment -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetEquipment -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetEquipment -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetEquipment -> m SetEquipment #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetEquipment -> m SetEquipment #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetEquipment -> m SetEquipment #

Generic SetEquipment Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetEquipment 
Instance details

Defined in M.V769.P

type Rep SetEquipment = D1 ('MetaData "SetEquipment" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetEquipment" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "equipment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Slot))))
Read SetEquipment Source # 
Instance details

Defined in M.V769.P

Show SetEquipment Source # 
Instance details

Defined in M.V769.P

NFData SetEquipment Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetEquipment -> () #

Eq SetEquipment Source # 
Instance details

Defined in M.V769.P

Ord SetEquipment Source # 
Instance details

Defined in M.V769.P

Pack SetEquipment Source # 
Instance details

Defined in M.V769.P

Unpack SetEquipment Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetEquipment Source #

type Rep SetEquipment Source # 
Instance details

Defined in M.V769.P

type Rep SetEquipment = D1 ('MetaData "SetEquipment" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetEquipment" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "equipment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Slot))))

data SetEntityVelocity__ Source #

Constructors

SetEntityVelocity__ 

Fields

Instances

Instances details
Generic SetEntityVelocity__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetEntityVelocity__ 
Instance details

Defined in M.V769.P

type Rep SetEntityVelocity__ = D1 ('MetaData "SetEntityVelocity__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetEntityVelocity__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "velocity__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Int16))))
NFData SetEntityVelocity__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetEntityVelocity__ -> () #

Eq SetEntityVelocity__ Source # 
Instance details

Defined in M.V769.P

Ord SetEntityVelocity__ Source # 
Instance details

Defined in M.V769.P

Pack SetEntityVelocity__ Source # 
Instance details

Defined in M.V769.P

Unpack SetEntityVelocity__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetEntityVelocity__ Source #

type Rep SetEntityVelocity__ Source # 
Instance details

Defined in M.V769.P

type Rep SetEntityVelocity__ = D1 ('MetaData "SetEntityVelocity__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetEntityVelocity__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "velocity__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Int16))))

data SetEntityVelocity Source #

Constructors

SetEntityVelocity 

Fields

Instances

Instances details
Data SetEntityVelocity Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetEntityVelocity -> c SetEntityVelocity #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetEntityVelocity #

toConstr :: SetEntityVelocity -> Constr #

dataTypeOf :: SetEntityVelocity -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetEntityVelocity) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetEntityVelocity) #

gmapT :: (forall b. Data b => b -> b) -> SetEntityVelocity -> SetEntityVelocity #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetEntityVelocity -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetEntityVelocity -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetEntityVelocity -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetEntityVelocity -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetEntityVelocity -> m SetEntityVelocity #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetEntityVelocity -> m SetEntityVelocity #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetEntityVelocity -> m SetEntityVelocity #

Generic SetEntityVelocity Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetEntityVelocity 
Instance details

Defined in M.V769.P

type Rep SetEntityVelocity = D1 ('MetaData "SetEntityVelocity" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetEntityVelocity" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "velocity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Int16))))
Read SetEntityVelocity Source # 
Instance details

Defined in M.V769.P

Show SetEntityVelocity Source # 
Instance details

Defined in M.V769.P

NFData SetEntityVelocity Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetEntityVelocity -> () #

Eq SetEntityVelocity Source # 
Instance details

Defined in M.V769.P

Ord SetEntityVelocity Source # 
Instance details

Defined in M.V769.P

Pack SetEntityVelocity Source # 
Instance details

Defined in M.V769.P

Unpack SetEntityVelocity Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetEntityVelocity Source #

type Rep SetEntityVelocity Source # 
Instance details

Defined in M.V769.P

type Rep SetEntityVelocity = D1 ('MetaData "SetEntityVelocity" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetEntityVelocity" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "velocity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Int16))))

data LinkEntities__ Source #

Constructors

LinkEntities__ 

Fields

Instances

Instances details
Generic LinkEntities__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep LinkEntities__ 
Instance details

Defined in M.V769.P

type Rep LinkEntities__ = D1 ('MetaData "LinkEntities__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LinkEntities__" 'PrefixI 'True) (S1 ('MetaSel ('Just "vehicleid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "passengerids__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector VarInt))))
NFData LinkEntities__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: LinkEntities__ -> () #

Eq LinkEntities__ Source # 
Instance details

Defined in M.V769.P

Ord LinkEntities__ Source # 
Instance details

Defined in M.V769.P

Pack LinkEntities__ Source # 
Instance details

Defined in M.V769.P

Unpack LinkEntities__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LinkEntities__ Source #

type Rep LinkEntities__ Source # 
Instance details

Defined in M.V769.P

type Rep LinkEntities__ = D1 ('MetaData "LinkEntities__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LinkEntities__" 'PrefixI 'True) (S1 ('MetaSel ('Just "vehicleid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "passengerids__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector VarInt))))

data LinkEntities Source #

Constructors

LinkEntities 

Fields

Instances

Instances details
Data LinkEntities Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LinkEntities -> c LinkEntities #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LinkEntities #

toConstr :: LinkEntities -> Constr #

dataTypeOf :: LinkEntities -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LinkEntities) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LinkEntities) #

gmapT :: (forall b. Data b => b -> b) -> LinkEntities -> LinkEntities #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LinkEntities -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LinkEntities -> r #

gmapQ :: (forall d. Data d => d -> u) -> LinkEntities -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> LinkEntities -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LinkEntities -> m LinkEntities #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LinkEntities -> m LinkEntities #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LinkEntities -> m LinkEntities #

Generic LinkEntities Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep LinkEntities 
Instance details

Defined in M.V769.P

type Rep LinkEntities = D1 ('MetaData "LinkEntities" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LinkEntities" 'PrefixI 'True) (S1 ('MetaSel ('Just "vehicleid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "passengerids") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Int32))))
Read LinkEntities Source # 
Instance details

Defined in M.V769.P

Show LinkEntities Source # 
Instance details

Defined in M.V769.P

NFData LinkEntities Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: LinkEntities -> () #

Eq LinkEntities Source # 
Instance details

Defined in M.V769.P

Ord LinkEntities Source # 
Instance details

Defined in M.V769.P

Pack LinkEntities Source # 
Instance details

Defined in M.V769.P

Unpack LinkEntities Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LinkEntities Source #

type Rep LinkEntities Source # 
Instance details

Defined in M.V769.P

type Rep LinkEntities = D1 ('MetaData "LinkEntities" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LinkEntities" 'PrefixI 'True) (S1 ('MetaSel ('Just "vehicleid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "passengerids") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Int32))))

data SetEntityMetadata__ Source #

Instances

Instances details
Generic SetEntityMetadata__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetEntityMetadata__ 
Instance details

Defined in M.V769.P

type Rep SetEntityMetadata__ = D1 ('MetaData "SetEntityMetadata__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetEntityMetadata__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "metadata___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TakeRest)))
NFData SetEntityMetadata__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetEntityMetadata__ -> () #

Eq SetEntityMetadata__ Source # 
Instance details

Defined in M.V769.P

Ord SetEntityMetadata__ Source # 
Instance details

Defined in M.V769.P

Pack SetEntityMetadata__ Source # 
Instance details

Defined in M.V769.P

Unpack SetEntityMetadata__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetEntityMetadata__ Source #

type Rep SetEntityMetadata__ Source # 
Instance details

Defined in M.V769.P

type Rep SetEntityMetadata__ = D1 ('MetaData "SetEntityMetadata__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetEntityMetadata__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "metadata___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TakeRest)))

data SetEntityMetadata Source #

Instances

Instances details
Data SetEntityMetadata Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetEntityMetadata -> c SetEntityMetadata #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetEntityMetadata #

toConstr :: SetEntityMetadata -> Constr #

dataTypeOf :: SetEntityMetadata -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetEntityMetadata) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetEntityMetadata) #

gmapT :: (forall b. Data b => b -> b) -> SetEntityMetadata -> SetEntityMetadata #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetEntityMetadata -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetEntityMetadata -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetEntityMetadata -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetEntityMetadata -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetEntityMetadata -> m SetEntityMetadata #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetEntityMetadata -> m SetEntityMetadata #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetEntityMetadata -> m SetEntityMetadata #

Generic SetEntityMetadata Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetEntityMetadata 
Instance details

Defined in M.V769.P

type Rep SetEntityMetadata = D1 ('MetaData "SetEntityMetadata" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetEntityMetadata" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "metadata_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))
Read SetEntityMetadata Source # 
Instance details

Defined in M.V769.P

Show SetEntityMetadata Source # 
Instance details

Defined in M.V769.P

NFData SetEntityMetadata Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetEntityMetadata -> () #

Eq SetEntityMetadata Source # 
Instance details

Defined in M.V769.P

Ord SetEntityMetadata Source # 
Instance details

Defined in M.V769.P

Pack SetEntityMetadata Source # 
Instance details

Defined in M.V769.P

Unpack SetEntityMetadata Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetEntityMetadata Source #

type Rep SetEntityMetadata Source # 
Instance details

Defined in M.V769.P

type Rep SetEntityMetadata = D1 ('MetaData "SetEntityMetadata" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetEntityMetadata" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "metadata_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

data DisplayObjective Source #

Constructors

DisplayObjective 

Fields

Instances

Instances details
Data DisplayObjective Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DisplayObjective -> c DisplayObjective #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DisplayObjective #

toConstr :: DisplayObjective -> Constr #

dataTypeOf :: DisplayObjective -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DisplayObjective) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DisplayObjective) #

gmapT :: (forall b. Data b => b -> b) -> DisplayObjective -> DisplayObjective #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DisplayObjective -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DisplayObjective -> r #

gmapQ :: (forall d. Data d => d -> u) -> DisplayObjective -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> DisplayObjective -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DisplayObjective -> m DisplayObjective #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DisplayObjective -> m DisplayObjective #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DisplayObjective -> m DisplayObjective #

Generic DisplayObjective Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep DisplayObjective 
Instance details

Defined in M.V769.P

type Rep DisplayObjective = D1 ('MetaData "DisplayObjective" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "DisplayObjective" 'PrefixI 'True) (S1 ('MetaSel ('Just "position") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Read DisplayObjective Source # 
Instance details

Defined in M.V769.P

Show DisplayObjective Source # 
Instance details

Defined in M.V769.P

NFData DisplayObjective Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: DisplayObjective -> () #

Eq DisplayObjective Source # 
Instance details

Defined in M.V769.P

Ord DisplayObjective Source # 
Instance details

Defined in M.V769.P

Pack DisplayObjective Source # 
Instance details

Defined in M.V769.P

Unpack DisplayObjective Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r DisplayObjective Source #

type Rep DisplayObjective Source # 
Instance details

Defined in M.V769.P

type Rep DisplayObjective = D1 ('MetaData "DisplayObjective" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "DisplayObjective" 'PrefixI 'True) (S1 ('MetaSel ('Just "position") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data SetDefaultSpawnPosition Source #

Instances

Instances details
Data SetDefaultSpawnPosition Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetDefaultSpawnPosition -> c SetDefaultSpawnPosition #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetDefaultSpawnPosition #

toConstr :: SetDefaultSpawnPosition -> Constr #

dataTypeOf :: SetDefaultSpawnPosition -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetDefaultSpawnPosition) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetDefaultSpawnPosition) #

gmapT :: (forall b. Data b => b -> b) -> SetDefaultSpawnPosition -> SetDefaultSpawnPosition #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetDefaultSpawnPosition -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetDefaultSpawnPosition -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetDefaultSpawnPosition -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetDefaultSpawnPosition -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetDefaultSpawnPosition -> m SetDefaultSpawnPosition #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetDefaultSpawnPosition -> m SetDefaultSpawnPosition #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetDefaultSpawnPosition -> m SetDefaultSpawnPosition #

Generic SetDefaultSpawnPosition Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetDefaultSpawnPosition 
Instance details

Defined in M.V769.P

type Rep SetDefaultSpawnPosition = D1 ('MetaData "SetDefaultSpawnPosition" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetDefaultSpawnPosition" 'PrefixI 'True) (S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: S1 ('MetaSel ('Just "angle") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float)))
Read SetDefaultSpawnPosition Source # 
Instance details

Defined in M.V769.P

Show SetDefaultSpawnPosition Source # 
Instance details

Defined in M.V769.P

NFData SetDefaultSpawnPosition Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetDefaultSpawnPosition -> () #

Eq SetDefaultSpawnPosition Source # 
Instance details

Defined in M.V769.P

Ord SetDefaultSpawnPosition Source # 
Instance details

Defined in M.V769.P

Pack SetDefaultSpawnPosition Source # 
Instance details

Defined in M.V769.P

Unpack SetDefaultSpawnPosition Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetDefaultSpawnPosition Source #

type Rep SetDefaultSpawnPosition Source # 
Instance details

Defined in M.V769.P

type Rep SetDefaultSpawnPosition = D1 ('MetaData "SetDefaultSpawnPosition" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetDefaultSpawnPosition" 'PrefixI 'True) (S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: S1 ('MetaSel ('Just "angle") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float)))

data SetCursorItem Source #

Constructors

SetCursorItem 

Fields

Instances

Instances details
Data SetCursorItem Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetCursorItem -> c SetCursorItem #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetCursorItem #

toConstr :: SetCursorItem -> Constr #

dataTypeOf :: SetCursorItem -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetCursorItem) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetCursorItem) #

gmapT :: (forall b. Data b => b -> b) -> SetCursorItem -> SetCursorItem #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetCursorItem -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetCursorItem -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetCursorItem -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetCursorItem -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetCursorItem -> m SetCursorItem #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetCursorItem -> m SetCursorItem #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetCursorItem -> m SetCursorItem #

Generic SetCursorItem Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetCursorItem 
Instance details

Defined in M.V769.P

type Rep SetCursorItem = D1 ('MetaData "SetCursorItem" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetCursorItem" 'PrefixI 'True) (S1 ('MetaSel ('Just "slotdata_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Slot)))
Read SetCursorItem Source # 
Instance details

Defined in M.V769.P

Show SetCursorItem Source # 
Instance details

Defined in M.V769.P

NFData SetCursorItem Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetCursorItem -> () #

Eq SetCursorItem Source # 
Instance details

Defined in M.V769.P

Ord SetCursorItem Source # 
Instance details

Defined in M.V769.P

Pack SetCursorItem Source # 
Instance details

Defined in M.V769.P

Unpack SetCursorItem Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetCursorItem Source #

type Rep SetCursorItem Source # 
Instance details

Defined in M.V769.P

type Rep SetCursorItem = D1 ('MetaData "SetCursorItem" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetCursorItem" 'PrefixI 'True) (S1 ('MetaSel ('Just "slotdata_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Slot)))

data SetRenderDistance__ Source #

Constructors

SetRenderDistance__ 

Instances

Instances details
Generic SetRenderDistance__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetRenderDistance__ 
Instance details

Defined in M.V769.P

type Rep SetRenderDistance__ = D1 ('MetaData "SetRenderDistance__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetRenderDistance__" 'PrefixI 'True) (S1 ('MetaSel ('Just "viewdistance__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
NFData SetRenderDistance__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetRenderDistance__ -> () #

Eq SetRenderDistance__ Source # 
Instance details

Defined in M.V769.P

Ord SetRenderDistance__ Source # 
Instance details

Defined in M.V769.P

Pack SetRenderDistance__ Source # 
Instance details

Defined in M.V769.P

Unpack SetRenderDistance__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetRenderDistance__ Source #

type Rep SetRenderDistance__ Source # 
Instance details

Defined in M.V769.P

type Rep SetRenderDistance__ = D1 ('MetaData "SetRenderDistance__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetRenderDistance__" 'PrefixI 'True) (S1 ('MetaSel ('Just "viewdistance__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data SetRenderDistance Source #

Constructors

SetRenderDistance 

Fields

Instances

Instances details
Data SetRenderDistance Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetRenderDistance -> c SetRenderDistance #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetRenderDistance #

toConstr :: SetRenderDistance -> Constr #

dataTypeOf :: SetRenderDistance -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetRenderDistance) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetRenderDistance) #

gmapT :: (forall b. Data b => b -> b) -> SetRenderDistance -> SetRenderDistance #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetRenderDistance -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetRenderDistance -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetRenderDistance -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetRenderDistance -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetRenderDistance -> m SetRenderDistance #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetRenderDistance -> m SetRenderDistance #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetRenderDistance -> m SetRenderDistance #

Generic SetRenderDistance Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetRenderDistance 
Instance details

Defined in M.V769.P

type Rep SetRenderDistance = D1 ('MetaData "SetRenderDistance" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetRenderDistance" 'PrefixI 'True) (S1 ('MetaSel ('Just "viewdistance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))
Read SetRenderDistance Source # 
Instance details

Defined in M.V769.P

Show SetRenderDistance Source # 
Instance details

Defined in M.V769.P

NFData SetRenderDistance Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetRenderDistance -> () #

Eq SetRenderDistance Source # 
Instance details

Defined in M.V769.P

Ord SetRenderDistance Source # 
Instance details

Defined in M.V769.P

Pack SetRenderDistance Source # 
Instance details

Defined in M.V769.P

Unpack SetRenderDistance Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetRenderDistance Source #

type Rep SetRenderDistance Source # 
Instance details

Defined in M.V769.P

type Rep SetRenderDistance = D1 ('MetaData "SetRenderDistance" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetRenderDistance" 'PrefixI 'True) (S1 ('MetaSel ('Just "viewdistance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data SetCenterChunk__ Source #

Constructors

SetCenterChunk__ 

Instances

Instances details
Generic SetCenterChunk__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetCenterChunk__ 
Instance details

Defined in M.V769.P

type Rep SetCenterChunk__ = D1 ('MetaData "SetCenterChunk__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetCenterChunk__" 'PrefixI 'True) (S1 ('MetaSel ('Just "chunkx__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "chunkz__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
NFData SetCenterChunk__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetCenterChunk__ -> () #

Eq SetCenterChunk__ Source # 
Instance details

Defined in M.V769.P

Ord SetCenterChunk__ Source # 
Instance details

Defined in M.V769.P

Pack SetCenterChunk__ Source # 
Instance details

Defined in M.V769.P

Unpack SetCenterChunk__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetCenterChunk__ Source #

type Rep SetCenterChunk__ Source # 
Instance details

Defined in M.V769.P

type Rep SetCenterChunk__ = D1 ('MetaData "SetCenterChunk__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetCenterChunk__" 'PrefixI 'True) (S1 ('MetaSel ('Just "chunkx__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "chunkz__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data SetCenterChunk Source #

Constructors

SetCenterChunk 

Fields

Instances

Instances details
Data SetCenterChunk Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetCenterChunk -> c SetCenterChunk #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetCenterChunk #

toConstr :: SetCenterChunk -> Constr #

dataTypeOf :: SetCenterChunk -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetCenterChunk) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetCenterChunk) #

gmapT :: (forall b. Data b => b -> b) -> SetCenterChunk -> SetCenterChunk #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetCenterChunk -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetCenterChunk -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetCenterChunk -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetCenterChunk -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetCenterChunk -> m SetCenterChunk #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetCenterChunk -> m SetCenterChunk #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetCenterChunk -> m SetCenterChunk #

Generic SetCenterChunk Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetCenterChunk 
Instance details

Defined in M.V769.P

type Rep SetCenterChunk = D1 ('MetaData "SetCenterChunk" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetCenterChunk" 'PrefixI 'True) (S1 ('MetaSel ('Just "chunkx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "chunkz") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))
Read SetCenterChunk Source # 
Instance details

Defined in M.V769.P

Show SetCenterChunk Source # 
Instance details

Defined in M.V769.P

NFData SetCenterChunk Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetCenterChunk -> () #

Eq SetCenterChunk Source # 
Instance details

Defined in M.V769.P

Ord SetCenterChunk Source # 
Instance details

Defined in M.V769.P

Pack SetCenterChunk Source # 
Instance details

Defined in M.V769.P

Unpack SetCenterChunk Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetCenterChunk Source #

type Rep SetCenterChunk Source # 
Instance details

Defined in M.V769.P

type Rep SetCenterChunk = D1 ('MetaData "SetCenterChunk" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetCenterChunk" 'PrefixI 'True) (S1 ('MetaSel ('Just "chunkx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "chunkz") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data SetCamera__ Source #

Constructors

SetCamera__ 

Fields

Instances

Instances details
Generic SetCamera__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetCamera__ 
Instance details

Defined in M.V769.P

type Rep SetCamera__ = D1 ('MetaData "SetCamera__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetCamera__" 'PrefixI 'True) (S1 ('MetaSel ('Just "cameraid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
NFData SetCamera__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetCamera__ -> () #

Eq SetCamera__ Source # 
Instance details

Defined in M.V769.P

Ord SetCamera__ Source # 
Instance details

Defined in M.V769.P

Pack SetCamera__ Source # 
Instance details

Defined in M.V769.P

Unpack SetCamera__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetCamera__ Source #

type Rep SetCamera__ Source # 
Instance details

Defined in M.V769.P

type Rep SetCamera__ = D1 ('MetaData "SetCamera__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetCamera__" 'PrefixI 'True) (S1 ('MetaSel ('Just "cameraid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data SetCamera Source #

Constructors

SetCamera 

Fields

Instances

Instances details
Data SetCamera Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetCamera -> c SetCamera #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetCamera #

toConstr :: SetCamera -> Constr #

dataTypeOf :: SetCamera -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetCamera) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetCamera) #

gmapT :: (forall b. Data b => b -> b) -> SetCamera -> SetCamera #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetCamera -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetCamera -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetCamera -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetCamera -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetCamera -> m SetCamera #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetCamera -> m SetCamera #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetCamera -> m SetCamera #

Generic SetCamera Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetCamera 
Instance details

Defined in M.V769.P

type Rep SetCamera = D1 ('MetaData "SetCamera" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetCamera" 'PrefixI 'True) (S1 ('MetaSel ('Just "cameraid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))
Read SetCamera Source # 
Instance details

Defined in M.V769.P

Show SetCamera Source # 
Instance details

Defined in M.V769.P

NFData SetCamera Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetCamera -> () #

Eq SetCamera Source # 
Instance details

Defined in M.V769.P

Ord SetCamera Source # 
Instance details

Defined in M.V769.P

Pack SetCamera Source # 
Instance details

Defined in M.V769.P

Unpack SetCamera Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetCamera Source #

type Rep SetCamera Source # 
Instance details

Defined in M.V769.P

type Rep SetCamera = D1 ('MetaData "SetCamera" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetCamera" 'PrefixI 'True) (S1 ('MetaSel ('Just "cameraid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data SetBorderWarningDistance__ Source #

Instances

Instances details
Generic SetBorderWarningDistance__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetBorderWarningDistance__ 
Instance details

Defined in M.V769.P

type Rep SetBorderWarningDistance__ = D1 ('MetaData "SetBorderWarningDistance__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetBorderWarningDistance__" 'PrefixI 'True) (S1 ('MetaSel ('Just "warningblocks__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
NFData SetBorderWarningDistance__ Source # 
Instance details

Defined in M.V769.P

Eq SetBorderWarningDistance__ Source # 
Instance details

Defined in M.V769.P

Ord SetBorderWarningDistance__ Source # 
Instance details

Defined in M.V769.P

Pack SetBorderWarningDistance__ Source # 
Instance details

Defined in M.V769.P

Unpack SetBorderWarningDistance__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetBorderWarningDistance__ Source #

type Rep SetBorderWarningDistance__ Source # 
Instance details

Defined in M.V769.P

type Rep SetBorderWarningDistance__ = D1 ('MetaData "SetBorderWarningDistance__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetBorderWarningDistance__" 'PrefixI 'True) (S1 ('MetaSel ('Just "warningblocks__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data SetBorderWarningDistance Source #

Instances

Instances details
Data SetBorderWarningDistance Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetBorderWarningDistance -> c SetBorderWarningDistance #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetBorderWarningDistance #

toConstr :: SetBorderWarningDistance -> Constr #

dataTypeOf :: SetBorderWarningDistance -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetBorderWarningDistance) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetBorderWarningDistance) #

gmapT :: (forall b. Data b => b -> b) -> SetBorderWarningDistance -> SetBorderWarningDistance #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetBorderWarningDistance -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetBorderWarningDistance -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetBorderWarningDistance -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetBorderWarningDistance -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetBorderWarningDistance -> m SetBorderWarningDistance #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetBorderWarningDistance -> m SetBorderWarningDistance #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetBorderWarningDistance -> m SetBorderWarningDistance #

Generic SetBorderWarningDistance Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetBorderWarningDistance 
Instance details

Defined in M.V769.P

type Rep SetBorderWarningDistance = D1 ('MetaData "SetBorderWarningDistance" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetBorderWarningDistance" 'PrefixI 'True) (S1 ('MetaSel ('Just "warningblocks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))
Read SetBorderWarningDistance Source # 
Instance details

Defined in M.V769.P

Show SetBorderWarningDistance Source # 
Instance details

Defined in M.V769.P

NFData SetBorderWarningDistance Source # 
Instance details

Defined in M.V769.P

Eq SetBorderWarningDistance Source # 
Instance details

Defined in M.V769.P

Ord SetBorderWarningDistance Source # 
Instance details

Defined in M.V769.P

Pack SetBorderWarningDistance Source # 
Instance details

Defined in M.V769.P

Unpack SetBorderWarningDistance Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetBorderWarningDistance Source #

type Rep SetBorderWarningDistance Source # 
Instance details

Defined in M.V769.P

type Rep SetBorderWarningDistance = D1 ('MetaData "SetBorderWarningDistance" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetBorderWarningDistance" 'PrefixI 'True) (S1 ('MetaSel ('Just "warningblocks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data SetBorderWarningDelay__ Source #

Instances

Instances details
Generic SetBorderWarningDelay__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetBorderWarningDelay__ 
Instance details

Defined in M.V769.P

type Rep SetBorderWarningDelay__ = D1 ('MetaData "SetBorderWarningDelay__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetBorderWarningDelay__" 'PrefixI 'True) (S1 ('MetaSel ('Just "warningtime__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
NFData SetBorderWarningDelay__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetBorderWarningDelay__ -> () #

Eq SetBorderWarningDelay__ Source # 
Instance details

Defined in M.V769.P

Ord SetBorderWarningDelay__ Source # 
Instance details

Defined in M.V769.P

Pack SetBorderWarningDelay__ Source # 
Instance details

Defined in M.V769.P

Unpack SetBorderWarningDelay__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetBorderWarningDelay__ Source #

type Rep SetBorderWarningDelay__ Source # 
Instance details

Defined in M.V769.P

type Rep SetBorderWarningDelay__ = D1 ('MetaData "SetBorderWarningDelay__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetBorderWarningDelay__" 'PrefixI 'True) (S1 ('MetaSel ('Just "warningtime__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data SetBorderWarningDelay Source #

Constructors

SetBorderWarningDelay 

Fields

Instances

Instances details
Data SetBorderWarningDelay Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetBorderWarningDelay -> c SetBorderWarningDelay #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetBorderWarningDelay #

toConstr :: SetBorderWarningDelay -> Constr #

dataTypeOf :: SetBorderWarningDelay -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetBorderWarningDelay) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetBorderWarningDelay) #

gmapT :: (forall b. Data b => b -> b) -> SetBorderWarningDelay -> SetBorderWarningDelay #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetBorderWarningDelay -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetBorderWarningDelay -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetBorderWarningDelay -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetBorderWarningDelay -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetBorderWarningDelay -> m SetBorderWarningDelay #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetBorderWarningDelay -> m SetBorderWarningDelay #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetBorderWarningDelay -> m SetBorderWarningDelay #

Generic SetBorderWarningDelay Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetBorderWarningDelay 
Instance details

Defined in M.V769.P

type Rep SetBorderWarningDelay = D1 ('MetaData "SetBorderWarningDelay" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetBorderWarningDelay" 'PrefixI 'True) (S1 ('MetaSel ('Just "warningtime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))
Read SetBorderWarningDelay Source # 
Instance details

Defined in M.V769.P

Show SetBorderWarningDelay Source # 
Instance details

Defined in M.V769.P

NFData SetBorderWarningDelay Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetBorderWarningDelay -> () #

Eq SetBorderWarningDelay Source # 
Instance details

Defined in M.V769.P

Ord SetBorderWarningDelay Source # 
Instance details

Defined in M.V769.P

Pack SetBorderWarningDelay Source # 
Instance details

Defined in M.V769.P

Unpack SetBorderWarningDelay Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetBorderWarningDelay Source #

type Rep SetBorderWarningDelay Source # 
Instance details

Defined in M.V769.P

type Rep SetBorderWarningDelay = D1 ('MetaData "SetBorderWarningDelay" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetBorderWarningDelay" 'PrefixI 'True) (S1 ('MetaSel ('Just "warningtime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data SetBorderSize Source #

Constructors

SetBorderSize 

Fields

Instances

Instances details
Data SetBorderSize Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetBorderSize -> c SetBorderSize #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetBorderSize #

toConstr :: SetBorderSize -> Constr #

dataTypeOf :: SetBorderSize -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetBorderSize) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetBorderSize) #

gmapT :: (forall b. Data b => b -> b) -> SetBorderSize -> SetBorderSize #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetBorderSize -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetBorderSize -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetBorderSize -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetBorderSize -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetBorderSize -> m SetBorderSize #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetBorderSize -> m SetBorderSize #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetBorderSize -> m SetBorderSize #

Generic SetBorderSize Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetBorderSize 
Instance details

Defined in M.V769.P

type Rep SetBorderSize = D1 ('MetaData "SetBorderSize" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetBorderSize" 'PrefixI 'True) (S1 ('MetaSel ('Just "size") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double)))
Read SetBorderSize Source # 
Instance details

Defined in M.V769.P

Show SetBorderSize Source # 
Instance details

Defined in M.V769.P

NFData SetBorderSize Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetBorderSize -> () #

Eq SetBorderSize Source # 
Instance details

Defined in M.V769.P

Ord SetBorderSize Source # 
Instance details

Defined in M.V769.P

Pack SetBorderSize Source # 
Instance details

Defined in M.V769.P

Unpack SetBorderSize Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetBorderSize Source #

type Rep SetBorderSize Source # 
Instance details

Defined in M.V769.P

type Rep SetBorderSize = D1 ('MetaData "SetBorderSize" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetBorderSize" 'PrefixI 'True) (S1 ('MetaSel ('Just "size") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double)))

data SetBorderLerpSize__ Source #

Instances

Instances details
Generic SetBorderLerpSize__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetBorderLerpSize__ 
Instance details

Defined in M.V769.P

type Rep SetBorderLerpSize__ = D1 ('MetaData "SetBorderLerpSize__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetBorderLerpSize__" 'PrefixI 'True) (S1 ('MetaSel ('Just "oldsize__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: (S1 ('MetaSel ('Just "newsize__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: S1 ('MetaSel ('Just "speed__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarLong))))
NFData SetBorderLerpSize__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetBorderLerpSize__ -> () #

Eq SetBorderLerpSize__ Source # 
Instance details

Defined in M.V769.P

Ord SetBorderLerpSize__ Source # 
Instance details

Defined in M.V769.P

Pack SetBorderLerpSize__ Source # 
Instance details

Defined in M.V769.P

Unpack SetBorderLerpSize__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetBorderLerpSize__ Source #

type Rep SetBorderLerpSize__ Source # 
Instance details

Defined in M.V769.P

type Rep SetBorderLerpSize__ = D1 ('MetaData "SetBorderLerpSize__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetBorderLerpSize__" 'PrefixI 'True) (S1 ('MetaSel ('Just "oldsize__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: (S1 ('MetaSel ('Just "newsize__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: S1 ('MetaSel ('Just "speed__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarLong))))

data SetBorderLerpSize Source #

Constructors

SetBorderLerpSize 

Fields

Instances

Instances details
Data SetBorderLerpSize Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetBorderLerpSize -> c SetBorderLerpSize #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetBorderLerpSize #

toConstr :: SetBorderLerpSize -> Constr #

dataTypeOf :: SetBorderLerpSize -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetBorderLerpSize) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetBorderLerpSize) #

gmapT :: (forall b. Data b => b -> b) -> SetBorderLerpSize -> SetBorderLerpSize #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetBorderLerpSize -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetBorderLerpSize -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetBorderLerpSize -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetBorderLerpSize -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetBorderLerpSize -> m SetBorderLerpSize #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetBorderLerpSize -> m SetBorderLerpSize #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetBorderLerpSize -> m SetBorderLerpSize #

Generic SetBorderLerpSize Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetBorderLerpSize 
Instance details

Defined in M.V769.P

type Rep SetBorderLerpSize = D1 ('MetaData "SetBorderLerpSize" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetBorderLerpSize" 'PrefixI 'True) (S1 ('MetaSel ('Just "oldsize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: (S1 ('MetaSel ('Just "newsize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: S1 ('MetaSel ('Just "speed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64))))
Read SetBorderLerpSize Source # 
Instance details

Defined in M.V769.P

Show SetBorderLerpSize Source # 
Instance details

Defined in M.V769.P

NFData SetBorderLerpSize Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetBorderLerpSize -> () #

Eq SetBorderLerpSize Source # 
Instance details

Defined in M.V769.P

Ord SetBorderLerpSize Source # 
Instance details

Defined in M.V769.P

Pack SetBorderLerpSize Source # 
Instance details

Defined in M.V769.P

Unpack SetBorderLerpSize Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetBorderLerpSize Source #

type Rep SetBorderLerpSize Source # 
Instance details

Defined in M.V769.P

type Rep SetBorderLerpSize = D1 ('MetaData "SetBorderLerpSize" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetBorderLerpSize" 'PrefixI 'True) (S1 ('MetaSel ('Just "oldsize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: (S1 ('MetaSel ('Just "newsize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: S1 ('MetaSel ('Just "speed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64))))

data SetBorderCenter Source #

Constructors

SetBorderCenter 

Fields

Instances

Instances details
Data SetBorderCenter Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetBorderCenter -> c SetBorderCenter #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetBorderCenter #

toConstr :: SetBorderCenter -> Constr #

dataTypeOf :: SetBorderCenter -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetBorderCenter) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetBorderCenter) #

gmapT :: (forall b. Data b => b -> b) -> SetBorderCenter -> SetBorderCenter #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetBorderCenter -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetBorderCenter -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetBorderCenter -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetBorderCenter -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetBorderCenter -> m SetBorderCenter #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetBorderCenter -> m SetBorderCenter #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetBorderCenter -> m SetBorderCenter #

Generic SetBorderCenter Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetBorderCenter 
Instance details

Defined in M.V769.P

type Rep SetBorderCenter = D1 ('MetaData "SetBorderCenter" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetBorderCenter" 'PrefixI 'True) (S1 ('MetaSel ('Just "x") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: S1 ('MetaSel ('Just "z") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double)))
Read SetBorderCenter Source # 
Instance details

Defined in M.V769.P

Show SetBorderCenter Source # 
Instance details

Defined in M.V769.P

NFData SetBorderCenter Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetBorderCenter -> () #

Eq SetBorderCenter Source # 
Instance details

Defined in M.V769.P

Ord SetBorderCenter Source # 
Instance details

Defined in M.V769.P

Pack SetBorderCenter Source # 
Instance details

Defined in M.V769.P

Unpack SetBorderCenter Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetBorderCenter Source #

type Rep SetBorderCenter Source # 
Instance details

Defined in M.V769.P

type Rep SetBorderCenter = D1 ('MetaData "SetBorderCenter" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetBorderCenter" 'PrefixI 'True) (S1 ('MetaSel ('Just "x") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: S1 ('MetaSel ('Just "z") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double)))

data SetActionBarText Source #

Constructors

SetActionBarText 

Fields

Instances

Instances details
Data SetActionBarText Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetActionBarText -> c SetActionBarText #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetActionBarText #

toConstr :: SetActionBarText -> Constr #

dataTypeOf :: SetActionBarText -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetActionBarText) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetActionBarText) #

gmapT :: (forall b. Data b => b -> b) -> SetActionBarText -> SetActionBarText #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetActionBarText -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetActionBarText -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetActionBarText -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetActionBarText -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetActionBarText -> m SetActionBarText #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetActionBarText -> m SetActionBarText #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetActionBarText -> m SetActionBarText #

Generic SetActionBarText Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetActionBarText 
Instance details

Defined in M.V769.P

type Rep SetActionBarText = D1 ('MetaData "SetActionBarText" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetActionBarText" 'PrefixI 'True) (S1 ('MetaSel ('Just "text") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent)))
Read SetActionBarText Source # 
Instance details

Defined in M.V769.P

Show SetActionBarText Source # 
Instance details

Defined in M.V769.P

NFData SetActionBarText Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetActionBarText -> () #

Eq SetActionBarText Source # 
Instance details

Defined in M.V769.P

Ord SetActionBarText Source # 
Instance details

Defined in M.V769.P

Pack SetActionBarText Source # 
Instance details

Defined in M.V769.P

Unpack SetActionBarText Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetActionBarText Source #

type Rep SetActionBarText Source # 
Instance details

Defined in M.V769.P

type Rep SetActionBarText = D1 ('MetaData "SetActionBarText" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetActionBarText" 'PrefixI 'True) (S1 ('MetaSel ('Just "text") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent)))

data ServerData Source #

Constructors

ServerData 

Instances

Instances details
Data ServerData Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ServerData -> c ServerData #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ServerData #

toConstr :: ServerData -> Constr #

dataTypeOf :: ServerData -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ServerData) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ServerData) #

gmapT :: (forall b. Data b => b -> b) -> ServerData -> ServerData #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ServerData -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ServerData -> r #

gmapQ :: (forall d. Data d => d -> u) -> ServerData -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ServerData -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ServerData -> m ServerData #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ServerData -> m ServerData #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ServerData -> m ServerData #

Generic ServerData Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ServerData 
Instance details

Defined in M.V769.P

type Rep ServerData = D1 ('MetaData "ServerData" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ServerData" 'PrefixI 'True) (S1 ('MetaSel ('Just "motd") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent) :*: (S1 ('MetaSel ('Just "icon") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "enforcesecurechat") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))
Read ServerData Source # 
Instance details

Defined in M.V769.P

Show ServerData Source # 
Instance details

Defined in M.V769.P

NFData ServerData Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ServerData -> () #

Eq ServerData Source # 
Instance details

Defined in M.V769.P

Ord ServerData Source # 
Instance details

Defined in M.V769.P

Pack ServerData Source # 
Instance details

Defined in M.V769.P

Unpack ServerData Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ServerData Source #

type Rep ServerData Source # 
Instance details

Defined in M.V769.P

type Rep ServerData = D1 ('MetaData "ServerData" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ServerData" 'PrefixI 'True) (S1 ('MetaSel ('Just "motd") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent) :*: (S1 ('MetaSel ('Just "icon") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "enforcesecurechat") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))

data SelectAdvancementsTab Source #

Constructors

SelectAdvancementsTab 

Fields

Instances

Instances details
Data SelectAdvancementsTab Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SelectAdvancementsTab -> c SelectAdvancementsTab #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SelectAdvancementsTab #

toConstr :: SelectAdvancementsTab -> Constr #

dataTypeOf :: SelectAdvancementsTab -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SelectAdvancementsTab) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SelectAdvancementsTab) #

gmapT :: (forall b. Data b => b -> b) -> SelectAdvancementsTab -> SelectAdvancementsTab #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SelectAdvancementsTab -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SelectAdvancementsTab -> r #

gmapQ :: (forall d. Data d => d -> u) -> SelectAdvancementsTab -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SelectAdvancementsTab -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SelectAdvancementsTab -> m SelectAdvancementsTab #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SelectAdvancementsTab -> m SelectAdvancementsTab #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SelectAdvancementsTab -> m SelectAdvancementsTab #

Generic SelectAdvancementsTab Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SelectAdvancementsTab 
Instance details

Defined in M.V769.P

type Rep SelectAdvancementsTab = D1 ('MetaData "SelectAdvancementsTab" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SelectAdvancementsTab" 'PrefixI 'True) (S1 ('MetaSel ('Just "identifier") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Read SelectAdvancementsTab Source # 
Instance details

Defined in M.V769.P

Show SelectAdvancementsTab Source # 
Instance details

Defined in M.V769.P

NFData SelectAdvancementsTab Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SelectAdvancementsTab -> () #

Eq SelectAdvancementsTab Source # 
Instance details

Defined in M.V769.P

Ord SelectAdvancementsTab Source # 
Instance details

Defined in M.V769.P

Pack SelectAdvancementsTab Source # 
Instance details

Defined in M.V769.P

Unpack SelectAdvancementsTab Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SelectAdvancementsTab Source #

type Rep SelectAdvancementsTab Source # 
Instance details

Defined in M.V769.P

type Rep SelectAdvancementsTab = D1 ('MetaData "SelectAdvancementsTab" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SelectAdvancementsTab" 'PrefixI 'True) (S1 ('MetaSel ('Just "identifier") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data UpdateSectionBlocks__ Source #

Instances

Instances details
Generic UpdateSectionBlocks__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep UpdateSectionBlocks__ 
Instance details

Defined in M.V769.P

type Rep UpdateSectionBlocks__ = D1 ('MetaData "UpdateSectionBlocks__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateSectionBlocks__" 'PrefixI 'True) (S1 ('MetaSel ('Just "sectionposition__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64) :*: (S1 ('MetaSel ('Just "trustedges__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "blocks__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector VarLong)))))
NFData UpdateSectionBlocks__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: UpdateSectionBlocks__ -> () #

Eq UpdateSectionBlocks__ Source # 
Instance details

Defined in M.V769.P

Ord UpdateSectionBlocks__ Source # 
Instance details

Defined in M.V769.P

Pack UpdateSectionBlocks__ Source # 
Instance details

Defined in M.V769.P

Unpack UpdateSectionBlocks__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateSectionBlocks__ Source #

type Rep UpdateSectionBlocks__ Source # 
Instance details

Defined in M.V769.P

type Rep UpdateSectionBlocks__ = D1 ('MetaData "UpdateSectionBlocks__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateSectionBlocks__" 'PrefixI 'True) (S1 ('MetaSel ('Just "sectionposition__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64) :*: (S1 ('MetaSel ('Just "trustedges__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "blocks__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector VarLong)))))

data UpdateSectionBlocks Source #

Constructors

UpdateSectionBlocks 

Fields

Instances

Instances details
Data UpdateSectionBlocks Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UpdateSectionBlocks -> c UpdateSectionBlocks #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UpdateSectionBlocks #

toConstr :: UpdateSectionBlocks -> Constr #

dataTypeOf :: UpdateSectionBlocks -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UpdateSectionBlocks) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UpdateSectionBlocks) #

gmapT :: (forall b. Data b => b -> b) -> UpdateSectionBlocks -> UpdateSectionBlocks #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UpdateSectionBlocks -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UpdateSectionBlocks -> r #

gmapQ :: (forall d. Data d => d -> u) -> UpdateSectionBlocks -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> UpdateSectionBlocks -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UpdateSectionBlocks -> m UpdateSectionBlocks #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateSectionBlocks -> m UpdateSectionBlocks #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateSectionBlocks -> m UpdateSectionBlocks #

Generic UpdateSectionBlocks Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep UpdateSectionBlocks 
Instance details

Defined in M.V769.P

type Rep UpdateSectionBlocks = D1 ('MetaData "UpdateSectionBlocks" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateSectionBlocks" 'PrefixI 'True) (S1 ('MetaSel ('Just "sectionposition") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64) :*: (S1 ('MetaSel ('Just "trustedges") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "blocks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Int64)))))
Read UpdateSectionBlocks Source # 
Instance details

Defined in M.V769.P

Show UpdateSectionBlocks Source # 
Instance details

Defined in M.V769.P

NFData UpdateSectionBlocks Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: UpdateSectionBlocks -> () #

Eq UpdateSectionBlocks Source # 
Instance details

Defined in M.V769.P

Ord UpdateSectionBlocks Source # 
Instance details

Defined in M.V769.P

Pack UpdateSectionBlocks Source # 
Instance details

Defined in M.V769.P

Unpack UpdateSectionBlocks Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateSectionBlocks Source #

type Rep UpdateSectionBlocks Source # 
Instance details

Defined in M.V769.P

type Rep UpdateSectionBlocks = D1 ('MetaData "UpdateSectionBlocks" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateSectionBlocks" 'PrefixI 'True) (S1 ('MetaSel ('Just "sectionposition") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64) :*: (S1 ('MetaSel ('Just "trustedges") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "blocks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Int64)))))

data SetHeadRotation__ Source #

Instances

Instances details
Generic SetHeadRotation__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetHeadRotation__ 
Instance details

Defined in M.V769.P

type Rep SetHeadRotation__ = D1 ('MetaData "SetHeadRotation__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetHeadRotation__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "headyaw__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int8Angle)))
NFData SetHeadRotation__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetHeadRotation__ -> () #

Eq SetHeadRotation__ Source # 
Instance details

Defined in M.V769.P

Ord SetHeadRotation__ Source # 
Instance details

Defined in M.V769.P

Pack SetHeadRotation__ Source # 
Instance details

Defined in M.V769.P

Unpack SetHeadRotation__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetHeadRotation__ Source #

type Rep SetHeadRotation__ Source # 
Instance details

Defined in M.V769.P

type Rep SetHeadRotation__ = D1 ('MetaData "SetHeadRotation__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetHeadRotation__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "headyaw__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int8Angle)))

data SetHeadRotation Source #

Constructors

SetHeadRotation 

Fields

Instances

Instances details
Data SetHeadRotation Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetHeadRotation -> c SetHeadRotation #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetHeadRotation #

toConstr :: SetHeadRotation -> Constr #

dataTypeOf :: SetHeadRotation -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetHeadRotation) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetHeadRotation) #

gmapT :: (forall b. Data b => b -> b) -> SetHeadRotation -> SetHeadRotation #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetHeadRotation -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetHeadRotation -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetHeadRotation -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetHeadRotation -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetHeadRotation -> m SetHeadRotation #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetHeadRotation -> m SetHeadRotation #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetHeadRotation -> m SetHeadRotation #

Generic SetHeadRotation Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetHeadRotation 
Instance details

Defined in M.V769.P

type Rep SetHeadRotation = D1 ('MetaData "SetHeadRotation" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetHeadRotation" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "headyaw") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int8)))
Read SetHeadRotation Source # 
Instance details

Defined in M.V769.P

Show SetHeadRotation Source # 
Instance details

Defined in M.V769.P

NFData SetHeadRotation Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetHeadRotation -> () #

Eq SetHeadRotation Source # 
Instance details

Defined in M.V769.P

Ord SetHeadRotation Source # 
Instance details

Defined in M.V769.P

Pack SetHeadRotation Source # 
Instance details

Defined in M.V769.P

Unpack SetHeadRotation Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetHeadRotation Source #

type Rep SetHeadRotation Source # 
Instance details

Defined in M.V769.P

type Rep SetHeadRotation = D1 ('MetaData "SetHeadRotation" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetHeadRotation" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "headyaw") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int8)))

data Respawn Source #

Instances

Instances details
Data Respawn Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Respawn -> c Respawn #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Respawn #

toConstr :: Respawn -> Constr #

dataTypeOf :: Respawn -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Respawn) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Respawn) #

gmapT :: (forall b. Data b => b -> b) -> Respawn -> Respawn #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Respawn -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Respawn -> r #

gmapQ :: (forall d. Data d => d -> u) -> Respawn -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Respawn -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Respawn -> m Respawn #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Respawn -> m Respawn #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Respawn -> m Respawn #

Generic Respawn Source # 
Instance details

Defined in M.V769.P

Methods

from :: Respawn -> Rep Respawn x #

to :: Rep Respawn x -> Respawn #

Read Respawn Source # 
Instance details

Defined in M.V769.P

Show Respawn Source # 
Instance details

Defined in M.V769.P

NFData Respawn Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: Respawn -> () #

Eq Respawn Source # 
Instance details

Defined in M.V769.P

Methods

(==) :: Respawn -> Respawn -> Bool #

(/=) :: Respawn -> Respawn -> Bool #

Ord Respawn Source # 
Instance details

Defined in M.V769.P

Pack Respawn Source # 
Instance details

Defined in M.V769.P

Methods

pack :: Respawn -> Builder Source #

Unpack Respawn Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Respawn Source #

type Rep Respawn Source # 
Instance details

Defined in M.V769.P

data AddResourcePack Source #

Constructors

AddResourcePack 

Fields

Instances

Instances details
Data AddResourcePack Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AddResourcePack -> c AddResourcePack #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AddResourcePack #

toConstr :: AddResourcePack -> Constr #

dataTypeOf :: AddResourcePack -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AddResourcePack) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AddResourcePack) #

gmapT :: (forall b. Data b => b -> b) -> AddResourcePack -> AddResourcePack #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AddResourcePack -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AddResourcePack -> r #

gmapQ :: (forall d. Data d => d -> u) -> AddResourcePack -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> AddResourcePack -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AddResourcePack -> m AddResourcePack #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AddResourcePack -> m AddResourcePack #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AddResourcePack -> m AddResourcePack #

Generic AddResourcePack Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep AddResourcePack 
Instance details

Defined in M.V769.P

type Rep AddResourcePack = D1 ('MetaData "AddResourcePack" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "AddResourcePack" 'PrefixI 'True) (S1 ('MetaSel ('Just "url") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "hash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Read AddResourcePack Source # 
Instance details

Defined in M.V769.P

Show AddResourcePack Source # 
Instance details

Defined in M.V769.P

NFData AddResourcePack Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: AddResourcePack -> () #

Eq AddResourcePack Source # 
Instance details

Defined in M.V769.P

Ord AddResourcePack Source # 
Instance details

Defined in M.V769.P

Pack AddResourcePack Source # 
Instance details

Defined in M.V769.P

Unpack AddResourcePack Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r AddResourcePack Source #

type Rep AddResourcePack Source # 
Instance details

Defined in M.V769.P

type Rep AddResourcePack = D1 ('MetaData "AddResourcePack" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "AddResourcePack" 'PrefixI 'True) (S1 ('MetaSel ('Just "url") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "hash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data RemoveResourcePack Source #

Constructors

RemoveResourcePack 

Instances

Instances details
Data RemoveResourcePack Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RemoveResourcePack -> c RemoveResourcePack #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RemoveResourcePack #

toConstr :: RemoveResourcePack -> Constr #

dataTypeOf :: RemoveResourcePack -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RemoveResourcePack) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RemoveResourcePack) #

gmapT :: (forall b. Data b => b -> b) -> RemoveResourcePack -> RemoveResourcePack #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RemoveResourcePack -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RemoveResourcePack -> r #

gmapQ :: (forall d. Data d => d -> u) -> RemoveResourcePack -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> RemoveResourcePack -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> RemoveResourcePack -> m RemoveResourcePack #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RemoveResourcePack -> m RemoveResourcePack #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RemoveResourcePack -> m RemoveResourcePack #

Generic RemoveResourcePack Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep RemoveResourcePack 
Instance details

Defined in M.V769.P

type Rep RemoveResourcePack = D1 ('MetaData "RemoveResourcePack" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "RemoveResourcePack" 'PrefixI 'False) (U1 :: Type -> Type))
Read RemoveResourcePack Source # 
Instance details

Defined in M.V769.P

Show RemoveResourcePack Source # 
Instance details

Defined in M.V769.P

NFData RemoveResourcePack Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: RemoveResourcePack -> () #

Eq RemoveResourcePack Source # 
Instance details

Defined in M.V769.P

Ord RemoveResourcePack Source # 
Instance details

Defined in M.V769.P

Pack RemoveResourcePack Source # 
Instance details

Defined in M.V769.P

Unpack RemoveResourcePack Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r RemoveResourcePack Source #

type Rep RemoveResourcePack Source # 
Instance details

Defined in M.V769.P

type Rep RemoveResourcePack = D1 ('MetaData "RemoveResourcePack" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "RemoveResourcePack" 'PrefixI 'False) (U1 :: Type -> Type))

data ResetScore Source #

Constructors

ResetScore 

Instances

Instances details
Data ResetScore Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ResetScore -> c ResetScore #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ResetScore #

toConstr :: ResetScore -> Constr #

dataTypeOf :: ResetScore -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ResetScore) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ResetScore) #

gmapT :: (forall b. Data b => b -> b) -> ResetScore -> ResetScore #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ResetScore -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ResetScore -> r #

gmapQ :: (forall d. Data d => d -> u) -> ResetScore -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ResetScore -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ResetScore -> m ResetScore #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ResetScore -> m ResetScore #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ResetScore -> m ResetScore #

Generic ResetScore Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ResetScore 
Instance details

Defined in M.V769.P

type Rep ResetScore = D1 ('MetaData "ResetScore" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ResetScore" 'PrefixI 'True) (S1 ('MetaSel ('Just "objectivename") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "playername") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "action") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8))))
Read ResetScore Source # 
Instance details

Defined in M.V769.P

Show ResetScore Source # 
Instance details

Defined in M.V769.P

NFData ResetScore Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ResetScore -> () #

Eq ResetScore Source # 
Instance details

Defined in M.V769.P

Ord ResetScore Source # 
Instance details

Defined in M.V769.P

Pack ResetScore Source # 
Instance details

Defined in M.V769.P

Unpack ResetScore Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ResetScore Source #

type Rep ResetScore Source # 
Instance details

Defined in M.V769.P

type Rep ResetScore = D1 ('MetaData "ResetScore" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ResetScore" 'PrefixI 'True) (S1 ('MetaSel ('Just "objectivename") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "playername") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "action") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8))))

data RemoveEntityEffect__ Source #

Instances

Instances details
Generic RemoveEntityEffect__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep RemoveEntityEffect__ 
Instance details

Defined in M.V769.P

type Rep RemoveEntityEffect__ = D1 ('MetaData "RemoveEntityEffect__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "RemoveEntityEffect__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "effectid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))
NFData RemoveEntityEffect__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: RemoveEntityEffect__ -> () #

Eq RemoveEntityEffect__ Source # 
Instance details

Defined in M.V769.P

Ord RemoveEntityEffect__ Source # 
Instance details

Defined in M.V769.P

Pack RemoveEntityEffect__ Source # 
Instance details

Defined in M.V769.P

Unpack RemoveEntityEffect__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r RemoveEntityEffect__ Source #

type Rep RemoveEntityEffect__ Source # 
Instance details

Defined in M.V769.P

type Rep RemoveEntityEffect__ = D1 ('MetaData "RemoveEntityEffect__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "RemoveEntityEffect__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "effectid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))

data RemoveEntityEffect Source #

Constructors

RemoveEntityEffect 

Fields

Instances

Instances details
Data RemoveEntityEffect Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RemoveEntityEffect -> c RemoveEntityEffect #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RemoveEntityEffect #

toConstr :: RemoveEntityEffect -> Constr #

dataTypeOf :: RemoveEntityEffect -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RemoveEntityEffect) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RemoveEntityEffect) #

gmapT :: (forall b. Data b => b -> b) -> RemoveEntityEffect -> RemoveEntityEffect #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RemoveEntityEffect -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RemoveEntityEffect -> r #

gmapQ :: (forall d. Data d => d -> u) -> RemoveEntityEffect -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> RemoveEntityEffect -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> RemoveEntityEffect -> m RemoveEntityEffect #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RemoveEntityEffect -> m RemoveEntityEffect #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RemoveEntityEffect -> m RemoveEntityEffect #

Generic RemoveEntityEffect Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep RemoveEntityEffect 
Instance details

Defined in M.V769.P

type Rep RemoveEntityEffect = D1 ('MetaData "RemoveEntityEffect" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "RemoveEntityEffect" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "effectid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))
Read RemoveEntityEffect Source # 
Instance details

Defined in M.V769.P

Show RemoveEntityEffect Source # 
Instance details

Defined in M.V769.P

NFData RemoveEntityEffect Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: RemoveEntityEffect -> () #

Eq RemoveEntityEffect Source # 
Instance details

Defined in M.V769.P

Ord RemoveEntityEffect Source # 
Instance details

Defined in M.V769.P

Pack RemoveEntityEffect Source # 
Instance details

Defined in M.V769.P

Unpack RemoveEntityEffect Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r RemoveEntityEffect Source #

type Rep RemoveEntityEffect Source # 
Instance details

Defined in M.V769.P

type Rep RemoveEntityEffect = D1 ('MetaData "RemoveEntityEffect" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "RemoveEntityEffect" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "effectid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))

data RemoveEntities__ Source #

Constructors

RemoveEntities__ 

Fields

Instances

Instances details
Generic RemoveEntities__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep RemoveEntities__ 
Instance details

Defined in M.V769.P

type Rep RemoveEntities__ = D1 ('MetaData "RemoveEntities__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "RemoveEntities__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityids__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector VarInt))))
NFData RemoveEntities__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: RemoveEntities__ -> () #

Eq RemoveEntities__ Source # 
Instance details

Defined in M.V769.P

Ord RemoveEntities__ Source # 
Instance details

Defined in M.V769.P

Pack RemoveEntities__ Source # 
Instance details

Defined in M.V769.P

Unpack RemoveEntities__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r RemoveEntities__ Source #

type Rep RemoveEntities__ Source # 
Instance details

Defined in M.V769.P

type Rep RemoveEntities__ = D1 ('MetaData "RemoveEntities__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "RemoveEntities__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityids__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector VarInt))))

data RemoveEntities Source #

Constructors

RemoveEntities 

Fields

Instances

Instances details
Data RemoveEntities Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RemoveEntities -> c RemoveEntities #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RemoveEntities #

toConstr :: RemoveEntities -> Constr #

dataTypeOf :: RemoveEntities -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RemoveEntities) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RemoveEntities) #

gmapT :: (forall b. Data b => b -> b) -> RemoveEntities -> RemoveEntities #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RemoveEntities -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RemoveEntities -> r #

gmapQ :: (forall d. Data d => d -> u) -> RemoveEntities -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> RemoveEntities -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> RemoveEntities -> m RemoveEntities #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RemoveEntities -> m RemoveEntities #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RemoveEntities -> m RemoveEntities #

Generic RemoveEntities Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep RemoveEntities 
Instance details

Defined in M.V769.P

type Rep RemoveEntities = D1 ('MetaData "RemoveEntities" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "RemoveEntities" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityids") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Int32))))
Read RemoveEntities Source # 
Instance details

Defined in M.V769.P

Show RemoveEntities Source # 
Instance details

Defined in M.V769.P

NFData RemoveEntities Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: RemoveEntities -> () #

Eq RemoveEntities Source # 
Instance details

Defined in M.V769.P

Ord RemoveEntities Source # 
Instance details

Defined in M.V769.P

Pack RemoveEntities Source # 
Instance details

Defined in M.V769.P

Unpack RemoveEntities Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r RemoveEntities Source #

type Rep RemoveEntities Source # 
Instance details

Defined in M.V769.P

type Rep RemoveEntities = D1 ('MetaData "RemoveEntities" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "RemoveEntities" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityids") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Int32))))

data RecipeBookSettings__ Source #

Instances

Instances details
Generic RecipeBookSettings__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep RecipeBookSettings__ 
Instance details

Defined in M.V769.P

type Rep RecipeBookSettings__ = D1 ('MetaData "RecipeBookSettings__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "RecipeBookSettings__" 'PrefixI 'True) (S1 ('MetaSel ('Just "bookid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "bookopen__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "filteractive__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))
NFData RecipeBookSettings__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: RecipeBookSettings__ -> () #

Eq RecipeBookSettings__ Source # 
Instance details

Defined in M.V769.P

Ord RecipeBookSettings__ Source # 
Instance details

Defined in M.V769.P

Pack RecipeBookSettings__ Source # 
Instance details

Defined in M.V769.P

Unpack RecipeBookSettings__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r RecipeBookSettings__ Source #

type Rep RecipeBookSettings__ Source # 
Instance details

Defined in M.V769.P

type Rep RecipeBookSettings__ = D1 ('MetaData "RecipeBookSettings__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "RecipeBookSettings__" 'PrefixI 'True) (S1 ('MetaSel ('Just "bookid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "bookopen__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "filteractive__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))

data RecipeBookSettings Source #

Constructors

RecipeBookSettings 

Instances

Instances details
Data RecipeBookSettings Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RecipeBookSettings -> c RecipeBookSettings #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RecipeBookSettings #

toConstr :: RecipeBookSettings -> Constr #

dataTypeOf :: RecipeBookSettings -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RecipeBookSettings) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RecipeBookSettings) #

gmapT :: (forall b. Data b => b -> b) -> RecipeBookSettings -> RecipeBookSettings #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RecipeBookSettings -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RecipeBookSettings -> r #

gmapQ :: (forall d. Data d => d -> u) -> RecipeBookSettings -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> RecipeBookSettings -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> RecipeBookSettings -> m RecipeBookSettings #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RecipeBookSettings -> m RecipeBookSettings #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RecipeBookSettings -> m RecipeBookSettings #

Generic RecipeBookSettings Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep RecipeBookSettings 
Instance details

Defined in M.V769.P

type Rep RecipeBookSettings = D1 ('MetaData "RecipeBookSettings" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "RecipeBookSettings" 'PrefixI 'True) (S1 ('MetaSel ('Just "bookid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "bookopen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "filteractive") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))
Read RecipeBookSettings Source # 
Instance details

Defined in M.V769.P

Show RecipeBookSettings Source # 
Instance details

Defined in M.V769.P

NFData RecipeBookSettings Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: RecipeBookSettings -> () #

Eq RecipeBookSettings Source # 
Instance details

Defined in M.V769.P

Ord RecipeBookSettings Source # 
Instance details

Defined in M.V769.P

Pack RecipeBookSettings Source # 
Instance details

Defined in M.V769.P

Unpack RecipeBookSettings Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r RecipeBookSettings Source #

type Rep RecipeBookSettings Source # 
Instance details

Defined in M.V769.P

type Rep RecipeBookSettings = D1 ('MetaData "RecipeBookSettings" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "RecipeBookSettings" 'PrefixI 'True) (S1 ('MetaSel ('Just "bookid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "bookopen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "filteractive") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))

data RecipeBookRemove Source #

Constructors

RecipeBookRemove 

Fields

Instances

Instances details
Data RecipeBookRemove Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RecipeBookRemove -> c RecipeBookRemove #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RecipeBookRemove #

toConstr :: RecipeBookRemove -> Constr #

dataTypeOf :: RecipeBookRemove -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RecipeBookRemove) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RecipeBookRemove) #

gmapT :: (forall b. Data b => b -> b) -> RecipeBookRemove -> RecipeBookRemove #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RecipeBookRemove -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RecipeBookRemove -> r #

gmapQ :: (forall d. Data d => d -> u) -> RecipeBookRemove -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> RecipeBookRemove -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> RecipeBookRemove -> m RecipeBookRemove #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RecipeBookRemove -> m RecipeBookRemove #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RecipeBookRemove -> m RecipeBookRemove #

Generic RecipeBookRemove Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep RecipeBookRemove 
Instance details

Defined in M.V769.P

type Rep RecipeBookRemove = D1 ('MetaData "RecipeBookRemove" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "RecipeBookRemove" 'PrefixI 'True) (S1 ('MetaSel ('Just "recipe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Read RecipeBookRemove Source # 
Instance details

Defined in M.V769.P

Show RecipeBookRemove Source # 
Instance details

Defined in M.V769.P

NFData RecipeBookRemove Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: RecipeBookRemove -> () #

Eq RecipeBookRemove Source # 
Instance details

Defined in M.V769.P

Ord RecipeBookRemove Source # 
Instance details

Defined in M.V769.P

Pack RecipeBookRemove Source # 
Instance details

Defined in M.V769.P

Unpack RecipeBookRemove Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r RecipeBookRemove Source #

type Rep RecipeBookRemove Source # 
Instance details

Defined in M.V769.P

type Rep RecipeBookRemove = D1 ('MetaData "RecipeBookRemove" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "RecipeBookRemove" 'PrefixI 'True) (S1 ('MetaSel ('Just "recipe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data RecipeBookAdd Source #

Constructors

RecipeBookAdd 

Fields

Instances

Instances details
Data RecipeBookAdd Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RecipeBookAdd -> c RecipeBookAdd #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RecipeBookAdd #

toConstr :: RecipeBookAdd -> Constr #

dataTypeOf :: RecipeBookAdd -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RecipeBookAdd) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RecipeBookAdd) #

gmapT :: (forall b. Data b => b -> b) -> RecipeBookAdd -> RecipeBookAdd #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RecipeBookAdd -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RecipeBookAdd -> r #

gmapQ :: (forall d. Data d => d -> u) -> RecipeBookAdd -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> RecipeBookAdd -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> RecipeBookAdd -> m RecipeBookAdd #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RecipeBookAdd -> m RecipeBookAdd #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RecipeBookAdd -> m RecipeBookAdd #

Generic RecipeBookAdd Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep RecipeBookAdd 
Instance details

Defined in M.V769.P

type Rep RecipeBookAdd = D1 ('MetaData "RecipeBookAdd" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "RecipeBookAdd" 'PrefixI 'True) (S1 ('MetaSel ('Just "recipe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Read RecipeBookAdd Source # 
Instance details

Defined in M.V769.P

Show RecipeBookAdd Source # 
Instance details

Defined in M.V769.P

NFData RecipeBookAdd Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: RecipeBookAdd -> () #

Eq RecipeBookAdd Source # 
Instance details

Defined in M.V769.P

Ord RecipeBookAdd Source # 
Instance details

Defined in M.V769.P

Pack RecipeBookAdd Source # 
Instance details

Defined in M.V769.P

Unpack RecipeBookAdd Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r RecipeBookAdd Source #

type Rep RecipeBookAdd Source # 
Instance details

Defined in M.V769.P

type Rep RecipeBookAdd = D1 ('MetaData "RecipeBookAdd" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "RecipeBookAdd" 'PrefixI 'True) (S1 ('MetaSel ('Just "recipe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data PlayerRotation Source #

Constructors

PlayerRotation 

Fields

Instances

Instances details
Data PlayerRotation Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PlayerRotation -> c PlayerRotation #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PlayerRotation #

toConstr :: PlayerRotation -> Constr #

dataTypeOf :: PlayerRotation -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PlayerRotation) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PlayerRotation) #

gmapT :: (forall b. Data b => b -> b) -> PlayerRotation -> PlayerRotation #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PlayerRotation -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PlayerRotation -> r #

gmapQ :: (forall d. Data d => d -> u) -> PlayerRotation -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PlayerRotation -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PlayerRotation -> m PlayerRotation #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PlayerRotation -> m PlayerRotation #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PlayerRotation -> m PlayerRotation #

Generic PlayerRotation Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep PlayerRotation 
Instance details

Defined in M.V769.P

type Rep PlayerRotation = D1 ('MetaData "PlayerRotation" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlayerRotation" 'PrefixI 'True) (S1 ('MetaSel ('Just "rotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Float)) :*: S1 ('MetaSel ('Just "onground") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))
Read PlayerRotation Source # 
Instance details

Defined in M.V769.P

Show PlayerRotation Source # 
Instance details

Defined in M.V769.P

NFData PlayerRotation Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: PlayerRotation -> () #

Eq PlayerRotation Source # 
Instance details

Defined in M.V769.P

Ord PlayerRotation Source # 
Instance details

Defined in M.V769.P

Pack PlayerRotation Source # 
Instance details

Defined in M.V769.P

Unpack PlayerRotation Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayerRotation Source #

type Rep PlayerRotation Source # 
Instance details

Defined in M.V769.P

type Rep PlayerRotation = D1 ('MetaData "PlayerRotation" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlayerRotation" 'PrefixI 'True) (S1 ('MetaSel ('Just "rotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Float)) :*: S1 ('MetaSel ('Just "onground") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

data SynchronizePlayerPosition__ Source #

Instances

Instances details
Generic SynchronizePlayerPosition__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SynchronizePlayerPosition__ 
Instance details

Defined in M.V769.P

type Rep SynchronizePlayerPosition__ = D1 ('MetaData "SynchronizePlayerPosition__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SynchronizePlayerPosition__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "position__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double)) :*: S1 ('MetaSel ('Just "rotation__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Float))) :*: (S1 ('MetaSel ('Just "flags__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "teleportid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))))
NFData SynchronizePlayerPosition__ Source # 
Instance details

Defined in M.V769.P

Eq SynchronizePlayerPosition__ Source # 
Instance details

Defined in M.V769.P

Ord SynchronizePlayerPosition__ Source # 
Instance details

Defined in M.V769.P

Pack SynchronizePlayerPosition__ Source # 
Instance details

Defined in M.V769.P

Unpack SynchronizePlayerPosition__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SynchronizePlayerPosition__ Source #

type Rep SynchronizePlayerPosition__ Source # 
Instance details

Defined in M.V769.P

type Rep SynchronizePlayerPosition__ = D1 ('MetaData "SynchronizePlayerPosition__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SynchronizePlayerPosition__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "position__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double)) :*: S1 ('MetaSel ('Just "rotation__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Float))) :*: (S1 ('MetaSel ('Just "flags__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "teleportid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))))

data SynchronizePlayerPosition Source #

Instances

Instances details
Data SynchronizePlayerPosition Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SynchronizePlayerPosition -> c SynchronizePlayerPosition #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SynchronizePlayerPosition #

toConstr :: SynchronizePlayerPosition -> Constr #

dataTypeOf :: SynchronizePlayerPosition -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SynchronizePlayerPosition) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SynchronizePlayerPosition) #

gmapT :: (forall b. Data b => b -> b) -> SynchronizePlayerPosition -> SynchronizePlayerPosition #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SynchronizePlayerPosition -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SynchronizePlayerPosition -> r #

gmapQ :: (forall d. Data d => d -> u) -> SynchronizePlayerPosition -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SynchronizePlayerPosition -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SynchronizePlayerPosition -> m SynchronizePlayerPosition #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SynchronizePlayerPosition -> m SynchronizePlayerPosition #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SynchronizePlayerPosition -> m SynchronizePlayerPosition #

Generic SynchronizePlayerPosition Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SynchronizePlayerPosition 
Instance details

Defined in M.V769.P

type Rep SynchronizePlayerPosition = D1 ('MetaData "SynchronizePlayerPosition" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SynchronizePlayerPosition" 'PrefixI 'True) ((S1 ('MetaSel ('Just "position") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double)) :*: S1 ('MetaSel ('Just "rotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Float))) :*: (S1 ('MetaSel ('Just "flags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "teleportid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))
Read SynchronizePlayerPosition Source # 
Instance details

Defined in M.V769.P

Show SynchronizePlayerPosition Source # 
Instance details

Defined in M.V769.P

NFData SynchronizePlayerPosition Source # 
Instance details

Defined in M.V769.P

Eq SynchronizePlayerPosition Source # 
Instance details

Defined in M.V769.P

Ord SynchronizePlayerPosition Source # 
Instance details

Defined in M.V769.P

Pack SynchronizePlayerPosition Source # 
Instance details

Defined in M.V769.P

Unpack SynchronizePlayerPosition Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SynchronizePlayerPosition Source #

type Rep SynchronizePlayerPosition Source # 
Instance details

Defined in M.V769.P

type Rep SynchronizePlayerPosition = D1 ('MetaData "SynchronizePlayerPosition" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SynchronizePlayerPosition" 'PrefixI 'True) ((S1 ('MetaSel ('Just "position") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double)) :*: S1 ('MetaSel ('Just "rotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Float))) :*: (S1 ('MetaSel ('Just "flags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "teleportid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))

data LookAt__ Source #

Constructors

LookAt__ 

Instances

Instances details
Generic LookAt__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep LookAt__ 
Instance details

Defined in M.V769.P

type Rep LookAt__ = D1 ('MetaData "LookAt__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LookAt__" 'PrefixI 'True) (S1 ('MetaSel ('Just "target__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "position__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double)) :*: S1 ('MetaSel ('Just "isentity__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))

Methods

from :: LookAt__ -> Rep LookAt__ x #

to :: Rep LookAt__ x -> LookAt__ #

NFData LookAt__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: LookAt__ -> () #

Eq LookAt__ Source # 
Instance details

Defined in M.V769.P

Ord LookAt__ Source # 
Instance details

Defined in M.V769.P

Pack LookAt__ Source # 
Instance details

Defined in M.V769.P

Unpack LookAt__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LookAt__ Source #

type Rep LookAt__ Source # 
Instance details

Defined in M.V769.P

type Rep LookAt__ = D1 ('MetaData "LookAt__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LookAt__" 'PrefixI 'True) (S1 ('MetaSel ('Just "target__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "position__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double)) :*: S1 ('MetaSel ('Just "isentity__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))

data LookAt Source #

Constructors

LookAt 

Fields

Instances

Instances details
Data LookAt Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LookAt -> c LookAt #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LookAt #

toConstr :: LookAt -> Constr #

dataTypeOf :: LookAt -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LookAt) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LookAt) #

gmapT :: (forall b. Data b => b -> b) -> LookAt -> LookAt #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LookAt -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LookAt -> r #

gmapQ :: (forall d. Data d => d -> u) -> LookAt -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> LookAt -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LookAt -> m LookAt #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LookAt -> m LookAt #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LookAt -> m LookAt #

Generic LookAt Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep LookAt 
Instance details

Defined in M.V769.P

type Rep LookAt = D1 ('MetaData "LookAt" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LookAt" 'PrefixI 'True) (S1 ('MetaSel ('Just "target") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "position") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double)) :*: S1 ('MetaSel ('Just "isentity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))

Methods

from :: LookAt -> Rep LookAt x #

to :: Rep LookAt x -> LookAt #

Read LookAt Source # 
Instance details

Defined in M.V769.P

Show LookAt Source # 
Instance details

Defined in M.V769.P

NFData LookAt Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: LookAt -> () #

Eq LookAt Source # 
Instance details

Defined in M.V769.P

Methods

(==) :: LookAt -> LookAt -> Bool #

(/=) :: LookAt -> LookAt -> Bool #

Ord LookAt Source # 
Instance details

Defined in M.V769.P

Pack LookAt Source # 
Instance details

Defined in M.V769.P

Methods

pack :: LookAt -> Builder Source #

Unpack LookAt Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r LookAt Source #

type Rep LookAt Source # 
Instance details

Defined in M.V769.P

type Rep LookAt = D1 ('MetaData "LookAt" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "LookAt" 'PrefixI 'True) (S1 ('MetaSel ('Just "target") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "position") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double)) :*: S1 ('MetaSel ('Just "isentity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))

data PlayerInfoUpdate__ Source #

Constructors

PlayerInfoUpdate__ 

Instances

Instances details
Generic PlayerInfoUpdate__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep PlayerInfoUpdate__ 
Instance details

Defined in M.V769.P

type Rep PlayerInfoUpdate__ = D1 ('MetaData "PlayerInfoUpdate__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlayerInfoUpdate__" 'PrefixI 'True) (S1 ('MetaSel ('Just "action__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "data___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TakeRest)))
NFData PlayerInfoUpdate__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: PlayerInfoUpdate__ -> () #

Eq PlayerInfoUpdate__ Source # 
Instance details

Defined in M.V769.P

Ord PlayerInfoUpdate__ Source # 
Instance details

Defined in M.V769.P

Pack PlayerInfoUpdate__ Source # 
Instance details

Defined in M.V769.P

Unpack PlayerInfoUpdate__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayerInfoUpdate__ Source #

type Rep PlayerInfoUpdate__ Source # 
Instance details

Defined in M.V769.P

type Rep PlayerInfoUpdate__ = D1 ('MetaData "PlayerInfoUpdate__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlayerInfoUpdate__" 'PrefixI 'True) (S1 ('MetaSel ('Just "action__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "data___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TakeRest)))

data PlayerInfoUpdate Source #

Constructors

PlayerInfoUpdate 

Fields

Instances

Instances details
Data PlayerInfoUpdate Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PlayerInfoUpdate -> c PlayerInfoUpdate #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PlayerInfoUpdate #

toConstr :: PlayerInfoUpdate -> Constr #

dataTypeOf :: PlayerInfoUpdate -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PlayerInfoUpdate) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PlayerInfoUpdate) #

gmapT :: (forall b. Data b => b -> b) -> PlayerInfoUpdate -> PlayerInfoUpdate #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PlayerInfoUpdate -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PlayerInfoUpdate -> r #

gmapQ :: (forall d. Data d => d -> u) -> PlayerInfoUpdate -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PlayerInfoUpdate -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PlayerInfoUpdate -> m PlayerInfoUpdate #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PlayerInfoUpdate -> m PlayerInfoUpdate #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PlayerInfoUpdate -> m PlayerInfoUpdate #

Generic PlayerInfoUpdate Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep PlayerInfoUpdate 
Instance details

Defined in M.V769.P

type Rep PlayerInfoUpdate = D1 ('MetaData "PlayerInfoUpdate" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlayerInfoUpdate" 'PrefixI 'True) (S1 ('MetaSel ('Just "action") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))
Read PlayerInfoUpdate Source # 
Instance details

Defined in M.V769.P

Show PlayerInfoUpdate Source # 
Instance details

Defined in M.V769.P

NFData PlayerInfoUpdate Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: PlayerInfoUpdate -> () #

Eq PlayerInfoUpdate Source # 
Instance details

Defined in M.V769.P

Ord PlayerInfoUpdate Source # 
Instance details

Defined in M.V769.P

Pack PlayerInfoUpdate Source # 
Instance details

Defined in M.V769.P

Unpack PlayerInfoUpdate Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayerInfoUpdate Source #

type Rep PlayerInfoUpdate Source # 
Instance details

Defined in M.V769.P

type Rep PlayerInfoUpdate = D1 ('MetaData "PlayerInfoUpdate" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlayerInfoUpdate" 'PrefixI 'True) (S1 ('MetaSel ('Just "action") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

data PlayerInfoRemove Source #

Constructors

PlayerInfoRemove 

Fields

Instances

Instances details
Data PlayerInfoRemove Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PlayerInfoRemove -> c PlayerInfoRemove #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PlayerInfoRemove #

toConstr :: PlayerInfoRemove -> Constr #

dataTypeOf :: PlayerInfoRemove -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PlayerInfoRemove) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PlayerInfoRemove) #

gmapT :: (forall b. Data b => b -> b) -> PlayerInfoRemove -> PlayerInfoRemove #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PlayerInfoRemove -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PlayerInfoRemove -> r #

gmapQ :: (forall d. Data d => d -> u) -> PlayerInfoRemove -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PlayerInfoRemove -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PlayerInfoRemove -> m PlayerInfoRemove #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PlayerInfoRemove -> m PlayerInfoRemove #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PlayerInfoRemove -> m PlayerInfoRemove #

Generic PlayerInfoRemove Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep PlayerInfoRemove 
Instance details

Defined in M.V769.P

type Rep PlayerInfoRemove = D1 ('MetaData "PlayerInfoRemove" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlayerInfoRemove" 'PrefixI 'True) (S1 ('MetaSel ('Just "players") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector UUID))))
Read PlayerInfoRemove Source # 
Instance details

Defined in M.V769.P

Show PlayerInfoRemove Source # 
Instance details

Defined in M.V769.P

NFData PlayerInfoRemove Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: PlayerInfoRemove -> () #

Eq PlayerInfoRemove Source # 
Instance details

Defined in M.V769.P

Ord PlayerInfoRemove Source # 
Instance details

Defined in M.V769.P

Pack PlayerInfoRemove Source # 
Instance details

Defined in M.V769.P

Unpack PlayerInfoRemove Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayerInfoRemove Source #

type Rep PlayerInfoRemove Source # 
Instance details

Defined in M.V769.P

type Rep PlayerInfoRemove = D1 ('MetaData "PlayerInfoRemove" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlayerInfoRemove" 'PrefixI 'True) (S1 ('MetaSel ('Just "players") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector UUID))))

data CombatDeath__ Source #

Instances

Instances details
Generic CombatDeath__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep CombatDeath__ 
Instance details

Defined in M.V769.P

type Rep CombatDeath__ = D1 ('MetaData "CombatDeath__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CombatDeath__" 'PrefixI 'True) (S1 ('MetaSel ('Just "playerid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "message__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))))
NFData CombatDeath__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: CombatDeath__ -> () #

Eq CombatDeath__ Source # 
Instance details

Defined in M.V769.P

Ord CombatDeath__ Source # 
Instance details

Defined in M.V769.P

Pack CombatDeath__ Source # 
Instance details

Defined in M.V769.P

Unpack CombatDeath__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CombatDeath__ Source #

type Rep CombatDeath__ Source # 
Instance details

Defined in M.V769.P

type Rep CombatDeath__ = D1 ('MetaData "CombatDeath__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CombatDeath__" 'PrefixI 'True) (S1 ('MetaSel ('Just "playerid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "message__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))))

data CombatDeath Source #

Constructors

CombatDeath 

Instances

Instances details
Data CombatDeath Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CombatDeath -> c CombatDeath #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CombatDeath #

toConstr :: CombatDeath -> Constr #

dataTypeOf :: CombatDeath -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CombatDeath) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CombatDeath) #

gmapT :: (forall b. Data b => b -> b) -> CombatDeath -> CombatDeath #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CombatDeath -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CombatDeath -> r #

gmapQ :: (forall d. Data d => d -> u) -> CombatDeath -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CombatDeath -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CombatDeath -> m CombatDeath #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CombatDeath -> m CombatDeath #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CombatDeath -> m CombatDeath #

Generic CombatDeath Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep CombatDeath 
Instance details

Defined in M.V769.P

type Rep CombatDeath = D1 ('MetaData "CombatDeath" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CombatDeath" 'PrefixI 'True) (S1 ('MetaSel ('Just "playerid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "message") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))))
Read CombatDeath Source # 
Instance details

Defined in M.V769.P

Show CombatDeath Source # 
Instance details

Defined in M.V769.P

NFData CombatDeath Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: CombatDeath -> () #

Eq CombatDeath Source # 
Instance details

Defined in M.V769.P

Ord CombatDeath Source # 
Instance details

Defined in M.V769.P

Pack CombatDeath Source # 
Instance details

Defined in M.V769.P

Unpack CombatDeath Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CombatDeath Source #

type Rep CombatDeath Source # 
Instance details

Defined in M.V769.P

type Rep CombatDeath = D1 ('MetaData "CombatDeath" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CombatDeath" 'PrefixI 'True) (S1 ('MetaSel ('Just "playerid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "message") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))))

data EnterCombat Source #

Constructors

EnterCombat 

Instances

Instances details
Data EnterCombat Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> EnterCombat -> c EnterCombat #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c EnterCombat #

toConstr :: EnterCombat -> Constr #

dataTypeOf :: EnterCombat -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c EnterCombat) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c EnterCombat) #

gmapT :: (forall b. Data b => b -> b) -> EnterCombat -> EnterCombat #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> EnterCombat -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> EnterCombat -> r #

gmapQ :: (forall d. Data d => d -> u) -> EnterCombat -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> EnterCombat -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> EnterCombat -> m EnterCombat #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> EnterCombat -> m EnterCombat #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> EnterCombat -> m EnterCombat #

Generic EnterCombat Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep EnterCombat 
Instance details

Defined in M.V769.P

type Rep EnterCombat = D1 ('MetaData "EnterCombat" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EnterCombat" 'PrefixI 'False) (U1 :: Type -> Type))
Read EnterCombat Source # 
Instance details

Defined in M.V769.P

Show EnterCombat Source # 
Instance details

Defined in M.V769.P

NFData EnterCombat Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: EnterCombat -> () #

Eq EnterCombat Source # 
Instance details

Defined in M.V769.P

Ord EnterCombat Source # 
Instance details

Defined in M.V769.P

Pack EnterCombat Source # 
Instance details

Defined in M.V769.P

Unpack EnterCombat Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EnterCombat Source #

type Rep EnterCombat Source # 
Instance details

Defined in M.V769.P

type Rep EnterCombat = D1 ('MetaData "EnterCombat" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EnterCombat" 'PrefixI 'False) (U1 :: Type -> Type))

data EndCombat__ Source #

Constructors

EndCombat__ 

Instances

Instances details
Generic EndCombat__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep EndCombat__ 
Instance details

Defined in M.V769.P

type Rep EndCombat__ = D1 ('MetaData "EndCombat__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EndCombat__" 'PrefixI 'True) (S1 ('MetaSel ('Just "duration__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))
NFData EndCombat__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: EndCombat__ -> () #

Eq EndCombat__ Source # 
Instance details

Defined in M.V769.P

Ord EndCombat__ Source # 
Instance details

Defined in M.V769.P

Pack EndCombat__ Source # 
Instance details

Defined in M.V769.P

Unpack EndCombat__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EndCombat__ Source #

type Rep EndCombat__ Source # 
Instance details

Defined in M.V769.P

type Rep EndCombat__ = D1 ('MetaData "EndCombat__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EndCombat__" 'PrefixI 'True) (S1 ('MetaSel ('Just "duration__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data EndCombat Source #

Constructors

EndCombat 

Fields

Instances

Instances details
Data EndCombat Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> EndCombat -> c EndCombat #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c EndCombat #

toConstr :: EndCombat -> Constr #

dataTypeOf :: EndCombat -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c EndCombat) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c EndCombat) #

gmapT :: (forall b. Data b => b -> b) -> EndCombat -> EndCombat #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> EndCombat -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> EndCombat -> r #

gmapQ :: (forall d. Data d => d -> u) -> EndCombat -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> EndCombat -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> EndCombat -> m EndCombat #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> EndCombat -> m EndCombat #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> EndCombat -> m EndCombat #

Generic EndCombat Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep EndCombat 
Instance details

Defined in M.V769.P

type Rep EndCombat = D1 ('MetaData "EndCombat" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EndCombat" 'PrefixI 'True) (S1 ('MetaSel ('Just "duration") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))
Read EndCombat Source # 
Instance details

Defined in M.V769.P

Show EndCombat Source # 
Instance details

Defined in M.V769.P

NFData EndCombat Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: EndCombat -> () #

Eq EndCombat Source # 
Instance details

Defined in M.V769.P

Ord EndCombat Source # 
Instance details

Defined in M.V769.P

Pack EndCombat Source # 
Instance details

Defined in M.V769.P

Unpack EndCombat Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EndCombat Source #

type Rep EndCombat Source # 
Instance details

Defined in M.V769.P

type Rep EndCombat = D1 ('MetaData "EndCombat" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EndCombat" 'PrefixI 'True) (S1 ('MetaSel ('Just "duration") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data PlayerChatMessage Source #

Constructors

PlayerChatMessage 

Fields

Instances

Instances details
Data PlayerChatMessage Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PlayerChatMessage -> c PlayerChatMessage #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PlayerChatMessage #

toConstr :: PlayerChatMessage -> Constr #

dataTypeOf :: PlayerChatMessage -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PlayerChatMessage) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PlayerChatMessage) #

gmapT :: (forall b. Data b => b -> b) -> PlayerChatMessage -> PlayerChatMessage #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PlayerChatMessage -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PlayerChatMessage -> r #

gmapQ :: (forall d. Data d => d -> u) -> PlayerChatMessage -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PlayerChatMessage -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PlayerChatMessage -> m PlayerChatMessage #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PlayerChatMessage -> m PlayerChatMessage #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PlayerChatMessage -> m PlayerChatMessage #

Generic PlayerChatMessage Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep PlayerChatMessage 
Instance details

Defined in M.V769.P

Read PlayerChatMessage Source # 
Instance details

Defined in M.V769.P

Show PlayerChatMessage Source # 
Instance details

Defined in M.V769.P

NFData PlayerChatMessage Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: PlayerChatMessage -> () #

Eq PlayerChatMessage Source # 
Instance details

Defined in M.V769.P

Ord PlayerChatMessage Source # 
Instance details

Defined in M.V769.P

Pack PlayerChatMessage Source # 
Instance details

Defined in M.V769.P

Unpack PlayerChatMessage Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayerChatMessage Source #

type Rep PlayerChatMessage Source # 
Instance details

Defined in M.V769.P

data ClientboundPlayerAbilities Source #

Instances

Instances details
Data ClientboundPlayerAbilities Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ClientboundPlayerAbilities -> c ClientboundPlayerAbilities #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ClientboundPlayerAbilities #

toConstr :: ClientboundPlayerAbilities -> Constr #

dataTypeOf :: ClientboundPlayerAbilities -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ClientboundPlayerAbilities) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ClientboundPlayerAbilities) #

gmapT :: (forall b. Data b => b -> b) -> ClientboundPlayerAbilities -> ClientboundPlayerAbilities #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ClientboundPlayerAbilities -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ClientboundPlayerAbilities -> r #

gmapQ :: (forall d. Data d => d -> u) -> ClientboundPlayerAbilities -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ClientboundPlayerAbilities -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ClientboundPlayerAbilities -> m ClientboundPlayerAbilities #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ClientboundPlayerAbilities -> m ClientboundPlayerAbilities #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ClientboundPlayerAbilities -> m ClientboundPlayerAbilities #

Generic ClientboundPlayerAbilities Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ClientboundPlayerAbilities 
Instance details

Defined in M.V769.P

type Rep ClientboundPlayerAbilities = D1 ('MetaData "ClientboundPlayerAbilities" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ClientboundPlayerAbilities" 'PrefixI 'True) (S1 ('MetaSel ('Just "flags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: (S1 ('MetaSel ('Just "flyingspeed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float) :*: S1 ('MetaSel ('Just "walkingspeed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float))))
Read ClientboundPlayerAbilities Source # 
Instance details

Defined in M.V769.P

Show ClientboundPlayerAbilities Source # 
Instance details

Defined in M.V769.P

NFData ClientboundPlayerAbilities Source # 
Instance details

Defined in M.V769.P

Eq ClientboundPlayerAbilities Source # 
Instance details

Defined in M.V769.P

Ord ClientboundPlayerAbilities Source # 
Instance details

Defined in M.V769.P

Pack ClientboundPlayerAbilities Source # 
Instance details

Defined in M.V769.P

Unpack ClientboundPlayerAbilities Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ClientboundPlayerAbilities Source #

type Rep ClientboundPlayerAbilities Source # 
Instance details

Defined in M.V769.P

type Rep ClientboundPlayerAbilities = D1 ('MetaData "ClientboundPlayerAbilities" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ClientboundPlayerAbilities" 'PrefixI 'True) (S1 ('MetaSel ('Just "flags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: (S1 ('MetaSel ('Just "flyingspeed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float) :*: S1 ('MetaSel ('Just "walkingspeed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float))))

data PlaceGhostRecipe Source #

Constructors

PlaceGhostRecipe 

Fields

Instances

Instances details
Data PlaceGhostRecipe Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PlaceGhostRecipe -> c PlaceGhostRecipe #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PlaceGhostRecipe #

toConstr :: PlaceGhostRecipe -> Constr #

dataTypeOf :: PlaceGhostRecipe -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PlaceGhostRecipe) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PlaceGhostRecipe) #

gmapT :: (forall b. Data b => b -> b) -> PlaceGhostRecipe -> PlaceGhostRecipe #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PlaceGhostRecipe -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PlaceGhostRecipe -> r #

gmapQ :: (forall d. Data d => d -> u) -> PlaceGhostRecipe -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PlaceGhostRecipe -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PlaceGhostRecipe -> m PlaceGhostRecipe #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PlaceGhostRecipe -> m PlaceGhostRecipe #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PlaceGhostRecipe -> m PlaceGhostRecipe #

Generic PlaceGhostRecipe Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep PlaceGhostRecipe 
Instance details

Defined in M.V769.P

type Rep PlaceGhostRecipe = D1 ('MetaData "PlaceGhostRecipe" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlaceGhostRecipe" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "recipe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Read PlaceGhostRecipe Source # 
Instance details

Defined in M.V769.P

Show PlaceGhostRecipe Source # 
Instance details

Defined in M.V769.P

NFData PlaceGhostRecipe Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: PlaceGhostRecipe -> () #

Eq PlaceGhostRecipe Source # 
Instance details

Defined in M.V769.P

Ord PlaceGhostRecipe Source # 
Instance details

Defined in M.V769.P

Pack PlaceGhostRecipe Source # 
Instance details

Defined in M.V769.P

Unpack PlaceGhostRecipe Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlaceGhostRecipe Source #

type Rep PlaceGhostRecipe Source # 
Instance details

Defined in M.V769.P

type Rep PlaceGhostRecipe = D1 ('MetaData "PlaceGhostRecipe" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlaceGhostRecipe" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "recipe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data PlayPingResponse Source #

Constructors

PlayPingResponse 

Fields

Instances

Instances details
Data PlayPingResponse Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PlayPingResponse -> c PlayPingResponse #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PlayPingResponse #

toConstr :: PlayPingResponse -> Constr #

dataTypeOf :: PlayPingResponse -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PlayPingResponse) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PlayPingResponse) #

gmapT :: (forall b. Data b => b -> b) -> PlayPingResponse -> PlayPingResponse #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PlayPingResponse -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PlayPingResponse -> r #

gmapQ :: (forall d. Data d => d -> u) -> PlayPingResponse -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PlayPingResponse -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PlayPingResponse -> m PlayPingResponse #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PlayPingResponse -> m PlayPingResponse #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PlayPingResponse -> m PlayPingResponse #

Generic PlayPingResponse Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep PlayPingResponse 
Instance details

Defined in M.V769.P

type Rep PlayPingResponse = D1 ('MetaData "PlayPingResponse" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlayPingResponse" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64)))
Read PlayPingResponse Source # 
Instance details

Defined in M.V769.P

Show PlayPingResponse Source # 
Instance details

Defined in M.V769.P

NFData PlayPingResponse Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: PlayPingResponse -> () #

Eq PlayPingResponse Source # 
Instance details

Defined in M.V769.P

Ord PlayPingResponse Source # 
Instance details

Defined in M.V769.P

Pack PlayPingResponse Source # 
Instance details

Defined in M.V769.P

Unpack PlayPingResponse Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayPingResponse Source #

type Rep PlayPingResponse Source # 
Instance details

Defined in M.V769.P

type Rep PlayPingResponse = D1 ('MetaData "PlayPingResponse" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlayPingResponse" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64)))

data PlayPing Source #

Constructors

PlayPing 

Fields

Instances

Instances details
Data PlayPing Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PlayPing -> c PlayPing #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PlayPing #

toConstr :: PlayPing -> Constr #

dataTypeOf :: PlayPing -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PlayPing) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PlayPing) #

gmapT :: (forall b. Data b => b -> b) -> PlayPing -> PlayPing #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PlayPing -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PlayPing -> r #

gmapQ :: (forall d. Data d => d -> u) -> PlayPing -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PlayPing -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PlayPing -> m PlayPing #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PlayPing -> m PlayPing #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PlayPing -> m PlayPing #

Generic PlayPing Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep PlayPing 
Instance details

Defined in M.V769.P

type Rep PlayPing = D1 ('MetaData "PlayPing" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlayPing" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64)))

Methods

from :: PlayPing -> Rep PlayPing x #

to :: Rep PlayPing x -> PlayPing #

Read PlayPing Source # 
Instance details

Defined in M.V769.P

Show PlayPing Source # 
Instance details

Defined in M.V769.P

NFData PlayPing Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: PlayPing -> () #

Eq PlayPing Source # 
Instance details

Defined in M.V769.P

Ord PlayPing Source # 
Instance details

Defined in M.V769.P

Pack PlayPing Source # 
Instance details

Defined in M.V769.P

Unpack PlayPing Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PlayPing Source #

type Rep PlayPing Source # 
Instance details

Defined in M.V769.P

type Rep PlayPing = D1 ('MetaData "PlayPing" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PlayPing" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64)))

data OpenSignEditor Source #

Constructors

OpenSignEditor 

Fields

Instances

Instances details
Data OpenSignEditor Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> OpenSignEditor -> c OpenSignEditor #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c OpenSignEditor #

toConstr :: OpenSignEditor -> Constr #

dataTypeOf :: OpenSignEditor -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c OpenSignEditor) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c OpenSignEditor) #

gmapT :: (forall b. Data b => b -> b) -> OpenSignEditor -> OpenSignEditor #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> OpenSignEditor -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> OpenSignEditor -> r #

gmapQ :: (forall d. Data d => d -> u) -> OpenSignEditor -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> OpenSignEditor -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> OpenSignEditor -> m OpenSignEditor #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> OpenSignEditor -> m OpenSignEditor #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> OpenSignEditor -> m OpenSignEditor #

Generic OpenSignEditor Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep OpenSignEditor 
Instance details

Defined in M.V769.P

type Rep OpenSignEditor = D1 ('MetaData "OpenSignEditor" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "OpenSignEditor" 'PrefixI 'True) (S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position)))
Read OpenSignEditor Source # 
Instance details

Defined in M.V769.P

Show OpenSignEditor Source # 
Instance details

Defined in M.V769.P

NFData OpenSignEditor Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: OpenSignEditor -> () #

Eq OpenSignEditor Source # 
Instance details

Defined in M.V769.P

Ord OpenSignEditor Source # 
Instance details

Defined in M.V769.P

Pack OpenSignEditor Source # 
Instance details

Defined in M.V769.P

Unpack OpenSignEditor Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r OpenSignEditor Source #

type Rep OpenSignEditor Source # 
Instance details

Defined in M.V769.P

type Rep OpenSignEditor = D1 ('MetaData "OpenSignEditor" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "OpenSignEditor" 'PrefixI 'True) (S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position)))

data OpenScreen__ Source #

Instances

Instances details
Generic OpenScreen__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep OpenScreen__ 
Instance details

Defined in M.V769.P

type Rep OpenScreen__ = D1 ('MetaData "OpenScreen__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "OpenScreen__" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "type___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "title__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent))))
NFData OpenScreen__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: OpenScreen__ -> () #

Eq OpenScreen__ Source # 
Instance details

Defined in M.V769.P

Ord OpenScreen__ Source # 
Instance details

Defined in M.V769.P

Pack OpenScreen__ Source # 
Instance details

Defined in M.V769.P

Unpack OpenScreen__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r OpenScreen__ Source #

type Rep OpenScreen__ Source # 
Instance details

Defined in M.V769.P

type Rep OpenScreen__ = D1 ('MetaData "OpenScreen__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "OpenScreen__" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "type___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "title__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent))))

data OpenScreen Source #

Constructors

OpenScreen 

Instances

Instances details
Data OpenScreen Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> OpenScreen -> c OpenScreen #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c OpenScreen #

toConstr :: OpenScreen -> Constr #

dataTypeOf :: OpenScreen -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c OpenScreen) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c OpenScreen) #

gmapT :: (forall b. Data b => b -> b) -> OpenScreen -> OpenScreen #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> OpenScreen -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> OpenScreen -> r #

gmapQ :: (forall d. Data d => d -> u) -> OpenScreen -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> OpenScreen -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> OpenScreen -> m OpenScreen #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> OpenScreen -> m OpenScreen #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> OpenScreen -> m OpenScreen #

Generic OpenScreen Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep OpenScreen 
Instance details

Defined in M.V769.P

type Rep OpenScreen = D1 ('MetaData "OpenScreen" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "OpenScreen" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "type_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "title") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent))))
Read OpenScreen Source # 
Instance details

Defined in M.V769.P

Show OpenScreen Source # 
Instance details

Defined in M.V769.P

NFData OpenScreen Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: OpenScreen -> () #

Eq OpenScreen Source # 
Instance details

Defined in M.V769.P

Ord OpenScreen Source # 
Instance details

Defined in M.V769.P

Pack OpenScreen Source # 
Instance details

Defined in M.V769.P

Unpack OpenScreen Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r OpenScreen Source #

type Rep OpenScreen Source # 
Instance details

Defined in M.V769.P

type Rep OpenScreen = D1 ('MetaData "OpenScreen" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "OpenScreen" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "type_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "title") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent))))

data OpenBook__ Source #

Constructors

OpenBook__ 

Fields

Instances

Instances details
Generic OpenBook__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep OpenBook__ 
Instance details

Defined in M.V769.P

type Rep OpenBook__ = D1 ('MetaData "OpenBook__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "OpenBook__" 'PrefixI 'True) (S1 ('MetaSel ('Just "hand__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
NFData OpenBook__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: OpenBook__ -> () #

Eq OpenBook__ Source # 
Instance details

Defined in M.V769.P

Ord OpenBook__ Source # 
Instance details

Defined in M.V769.P

Pack OpenBook__ Source # 
Instance details

Defined in M.V769.P

Unpack OpenBook__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r OpenBook__ Source #

type Rep OpenBook__ Source # 
Instance details

Defined in M.V769.P

type Rep OpenBook__ = D1 ('MetaData "OpenBook__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "OpenBook__" 'PrefixI 'True) (S1 ('MetaSel ('Just "hand__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data OpenBook Source #

Constructors

OpenBook 

Fields

Instances

Instances details
Data OpenBook Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> OpenBook -> c OpenBook #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c OpenBook #

toConstr :: OpenBook -> Constr #

dataTypeOf :: OpenBook -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c OpenBook) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c OpenBook) #

gmapT :: (forall b. Data b => b -> b) -> OpenBook -> OpenBook #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> OpenBook -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> OpenBook -> r #

gmapQ :: (forall d. Data d => d -> u) -> OpenBook -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> OpenBook -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> OpenBook -> m OpenBook #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> OpenBook -> m OpenBook #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> OpenBook -> m OpenBook #

Generic OpenBook Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep OpenBook 
Instance details

Defined in M.V769.P

type Rep OpenBook = D1 ('MetaData "OpenBook" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "OpenBook" 'PrefixI 'True) (S1 ('MetaSel ('Just "hand") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

Methods

from :: OpenBook -> Rep OpenBook x #

to :: Rep OpenBook x -> OpenBook #

Read OpenBook Source # 
Instance details

Defined in M.V769.P

Show OpenBook Source # 
Instance details

Defined in M.V769.P

NFData OpenBook Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: OpenBook -> () #

Eq OpenBook Source # 
Instance details

Defined in M.V769.P

Ord OpenBook Source # 
Instance details

Defined in M.V769.P

Pack OpenBook Source # 
Instance details

Defined in M.V769.P

Unpack OpenBook Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r OpenBook Source #

type Rep OpenBook Source # 
Instance details

Defined in M.V769.P

type Rep OpenBook = D1 ('MetaData "OpenBook" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "OpenBook" 'PrefixI 'True) (S1 ('MetaSel ('Just "hand") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data MoveVehicle Source #

Constructors

MoveVehicle 

Fields

Instances

Instances details
Data MoveVehicle Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MoveVehicle -> c MoveVehicle #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MoveVehicle #

toConstr :: MoveVehicle -> Constr #

dataTypeOf :: MoveVehicle -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MoveVehicle) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MoveVehicle) #

gmapT :: (forall b. Data b => b -> b) -> MoveVehicle -> MoveVehicle #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MoveVehicle -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MoveVehicle -> r #

gmapQ :: (forall d. Data d => d -> u) -> MoveVehicle -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> MoveVehicle -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> MoveVehicle -> m MoveVehicle #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MoveVehicle -> m MoveVehicle #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MoveVehicle -> m MoveVehicle #

Generic MoveVehicle Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep MoveVehicle 
Instance details

Defined in M.V769.P

type Rep MoveVehicle = D1 ('MetaData "MoveVehicle" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "MoveVehicle" 'PrefixI 'True) (S1 ('MetaSel ('Just "position") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double)) :*: S1 ('MetaSel ('Just "rotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Float))))
Read MoveVehicle Source # 
Instance details

Defined in M.V769.P

Show MoveVehicle Source # 
Instance details

Defined in M.V769.P

NFData MoveVehicle Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: MoveVehicle -> () #

Eq MoveVehicle Source # 
Instance details

Defined in M.V769.P

Ord MoveVehicle Source # 
Instance details

Defined in M.V769.P

Pack MoveVehicle Source # 
Instance details

Defined in M.V769.P

Unpack MoveVehicle Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r MoveVehicle Source #

type Rep MoveVehicle Source # 
Instance details

Defined in M.V769.P

type Rep MoveVehicle = D1 ('MetaData "MoveVehicle" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "MoveVehicle" 'PrefixI 'True) (S1 ('MetaSel ('Just "position") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double)) :*: S1 ('MetaSel ('Just "rotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Float))))

data UpdateEntityRotation__ Source #

Instances

Instances details
Generic UpdateEntityRotation__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep UpdateEntityRotation__ 
Instance details

Defined in M.V769.P

type Rep UpdateEntityRotation__ = D1 ('MetaData "UpdateEntityRotation__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateEntityRotation__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "rotation__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Int8Angle)) :*: S1 ('MetaSel ('Just "onground__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))
NFData UpdateEntityRotation__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: UpdateEntityRotation__ -> () #

Eq UpdateEntityRotation__ Source # 
Instance details

Defined in M.V769.P

Ord UpdateEntityRotation__ Source # 
Instance details

Defined in M.V769.P

Pack UpdateEntityRotation__ Source # 
Instance details

Defined in M.V769.P

Unpack UpdateEntityRotation__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateEntityRotation__ Source #

type Rep UpdateEntityRotation__ Source # 
Instance details

Defined in M.V769.P

type Rep UpdateEntityRotation__ = D1 ('MetaData "UpdateEntityRotation__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateEntityRotation__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "rotation__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Int8Angle)) :*: S1 ('MetaSel ('Just "onground__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))

data UpdateEntityRotation Source #

Constructors

UpdateEntityRotation 

Fields

Instances

Instances details
Data UpdateEntityRotation Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UpdateEntityRotation -> c UpdateEntityRotation #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UpdateEntityRotation #

toConstr :: UpdateEntityRotation -> Constr #

dataTypeOf :: UpdateEntityRotation -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UpdateEntityRotation) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UpdateEntityRotation) #

gmapT :: (forall b. Data b => b -> b) -> UpdateEntityRotation -> UpdateEntityRotation #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UpdateEntityRotation -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UpdateEntityRotation -> r #

gmapQ :: (forall d. Data d => d -> u) -> UpdateEntityRotation -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> UpdateEntityRotation -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UpdateEntityRotation -> m UpdateEntityRotation #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateEntityRotation -> m UpdateEntityRotation #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateEntityRotation -> m UpdateEntityRotation #

Generic UpdateEntityRotation Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep UpdateEntityRotation 
Instance details

Defined in M.V769.P

type Rep UpdateEntityRotation = D1 ('MetaData "UpdateEntityRotation" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateEntityRotation" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "rotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Int8)) :*: S1 ('MetaSel ('Just "onground") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))
Read UpdateEntityRotation Source # 
Instance details

Defined in M.V769.P

Show UpdateEntityRotation Source # 
Instance details

Defined in M.V769.P

NFData UpdateEntityRotation Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: UpdateEntityRotation -> () #

Eq UpdateEntityRotation Source # 
Instance details

Defined in M.V769.P

Ord UpdateEntityRotation Source # 
Instance details

Defined in M.V769.P

Pack UpdateEntityRotation Source # 
Instance details

Defined in M.V769.P

Unpack UpdateEntityRotation Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateEntityRotation Source #

type Rep UpdateEntityRotation Source # 
Instance details

Defined in M.V769.P

type Rep UpdateEntityRotation = D1 ('MetaData "UpdateEntityRotation" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateEntityRotation" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "rotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Int8)) :*: S1 ('MetaSel ('Just "onground") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))

data MoveMinecartAlongTrack__ Source #

Instances

Instances details
Generic MoveMinecartAlongTrack__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep MoveMinecartAlongTrack__ 
Instance details

Defined in M.V769.P

type Rep MoveMinecartAlongTrack__ = D1 ('MetaData "MoveMinecartAlongTrack__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "MoveMinecartAlongTrack__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "location__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position)))
NFData MoveMinecartAlongTrack__ Source # 
Instance details

Defined in M.V769.P

Eq MoveMinecartAlongTrack__ Source # 
Instance details

Defined in M.V769.P

Ord MoveMinecartAlongTrack__ Source # 
Instance details

Defined in M.V769.P

Pack MoveMinecartAlongTrack__ Source # 
Instance details

Defined in M.V769.P

Unpack MoveMinecartAlongTrack__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r MoveMinecartAlongTrack__ Source #

type Rep MoveMinecartAlongTrack__ Source # 
Instance details

Defined in M.V769.P

type Rep MoveMinecartAlongTrack__ = D1 ('MetaData "MoveMinecartAlongTrack__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "MoveMinecartAlongTrack__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "location__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position)))

data MoveMinecartAlongTrack Source #

Instances

Instances details
Data MoveMinecartAlongTrack Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MoveMinecartAlongTrack -> c MoveMinecartAlongTrack #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MoveMinecartAlongTrack #

toConstr :: MoveMinecartAlongTrack -> Constr #

dataTypeOf :: MoveMinecartAlongTrack -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MoveMinecartAlongTrack) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MoveMinecartAlongTrack) #

gmapT :: (forall b. Data b => b -> b) -> MoveMinecartAlongTrack -> MoveMinecartAlongTrack #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MoveMinecartAlongTrack -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MoveMinecartAlongTrack -> r #

gmapQ :: (forall d. Data d => d -> u) -> MoveMinecartAlongTrack -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> MoveMinecartAlongTrack -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> MoveMinecartAlongTrack -> m MoveMinecartAlongTrack #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MoveMinecartAlongTrack -> m MoveMinecartAlongTrack #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MoveMinecartAlongTrack -> m MoveMinecartAlongTrack #

Generic MoveMinecartAlongTrack Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep MoveMinecartAlongTrack 
Instance details

Defined in M.V769.P

type Rep MoveMinecartAlongTrack = D1 ('MetaData "MoveMinecartAlongTrack" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "MoveMinecartAlongTrack" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position)))
Read MoveMinecartAlongTrack Source # 
Instance details

Defined in M.V769.P

Show MoveMinecartAlongTrack Source # 
Instance details

Defined in M.V769.P

NFData MoveMinecartAlongTrack Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: MoveMinecartAlongTrack -> () #

Eq MoveMinecartAlongTrack Source # 
Instance details

Defined in M.V769.P

Ord MoveMinecartAlongTrack Source # 
Instance details

Defined in M.V769.P

Pack MoveMinecartAlongTrack Source # 
Instance details

Defined in M.V769.P

Unpack MoveMinecartAlongTrack Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r MoveMinecartAlongTrack Source #

type Rep MoveMinecartAlongTrack Source # 
Instance details

Defined in M.V769.P

type Rep MoveMinecartAlongTrack = D1 ('MetaData "MoveMinecartAlongTrack" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "MoveMinecartAlongTrack" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position)))

data UpdateEntityPositionAndRotation__ Source #

Instances

Instances details
Generic UpdateEntityPositionAndRotation__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep UpdateEntityPositionAndRotation__ 
Instance details

Defined in M.V769.P

type Rep UpdateEntityPositionAndRotation__ = D1 ('MetaData "UpdateEntityPositionAndRotation__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateEntityPositionAndRotation__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "deltax__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16) :*: S1 ('MetaSel ('Just "deltay__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16))) :*: (S1 ('MetaSel ('Just "deltaz__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16) :*: (S1 ('MetaSel ('Just "rotation__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Int8Angle)) :*: S1 ('MetaSel ('Just "onground__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))
NFData UpdateEntityPositionAndRotation__ Source # 
Instance details

Defined in M.V769.P

Eq UpdateEntityPositionAndRotation__ Source # 
Instance details

Defined in M.V769.P

Ord UpdateEntityPositionAndRotation__ Source # 
Instance details

Defined in M.V769.P

Pack UpdateEntityPositionAndRotation__ Source # 
Instance details

Defined in M.V769.P

Unpack UpdateEntityPositionAndRotation__ Source # 
Instance details

Defined in M.V769.P

type Rep UpdateEntityPositionAndRotation__ Source # 
Instance details

Defined in M.V769.P

type Rep UpdateEntityPositionAndRotation__ = D1 ('MetaData "UpdateEntityPositionAndRotation__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateEntityPositionAndRotation__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "deltax__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16) :*: S1 ('MetaSel ('Just "deltay__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16))) :*: (S1 ('MetaSel ('Just "deltaz__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16) :*: (S1 ('MetaSel ('Just "rotation__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Int8Angle)) :*: S1 ('MetaSel ('Just "onground__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))

data UpdateEntityPositionAndRotation Source #

Instances

Instances details
Data UpdateEntityPositionAndRotation Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UpdateEntityPositionAndRotation -> c UpdateEntityPositionAndRotation #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UpdateEntityPositionAndRotation #

toConstr :: UpdateEntityPositionAndRotation -> Constr #

dataTypeOf :: UpdateEntityPositionAndRotation -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UpdateEntityPositionAndRotation) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UpdateEntityPositionAndRotation) #

gmapT :: (forall b. Data b => b -> b) -> UpdateEntityPositionAndRotation -> UpdateEntityPositionAndRotation #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UpdateEntityPositionAndRotation -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UpdateEntityPositionAndRotation -> r #

gmapQ :: (forall d. Data d => d -> u) -> UpdateEntityPositionAndRotation -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> UpdateEntityPositionAndRotation -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UpdateEntityPositionAndRotation -> m UpdateEntityPositionAndRotation #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateEntityPositionAndRotation -> m UpdateEntityPositionAndRotation #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateEntityPositionAndRotation -> m UpdateEntityPositionAndRotation #

Generic UpdateEntityPositionAndRotation Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep UpdateEntityPositionAndRotation 
Instance details

Defined in M.V769.P

Read UpdateEntityPositionAndRotation Source # 
Instance details

Defined in M.V769.P

Show UpdateEntityPositionAndRotation Source # 
Instance details

Defined in M.V769.P

NFData UpdateEntityPositionAndRotation Source # 
Instance details

Defined in M.V769.P

Eq UpdateEntityPositionAndRotation Source # 
Instance details

Defined in M.V769.P

Ord UpdateEntityPositionAndRotation Source # 
Instance details

Defined in M.V769.P

Pack UpdateEntityPositionAndRotation Source # 
Instance details

Defined in M.V769.P

Unpack UpdateEntityPositionAndRotation Source # 
Instance details

Defined in M.V769.P

type Rep UpdateEntityPositionAndRotation Source # 
Instance details

Defined in M.V769.P

data UpdateEntityPosition__ Source #

Instances

Instances details
Generic UpdateEntityPosition__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep UpdateEntityPosition__ 
Instance details

Defined in M.V769.P

type Rep UpdateEntityPosition__ = D1 ('MetaData "UpdateEntityPosition__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateEntityPosition__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "deltax__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16)) :*: (S1 ('MetaSel ('Just "deltay__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16) :*: (S1 ('MetaSel ('Just "deltaz__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16) :*: S1 ('MetaSel ('Just "onground__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))
NFData UpdateEntityPosition__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: UpdateEntityPosition__ -> () #

Eq UpdateEntityPosition__ Source # 
Instance details

Defined in M.V769.P

Ord UpdateEntityPosition__ Source # 
Instance details

Defined in M.V769.P

Pack UpdateEntityPosition__ Source # 
Instance details

Defined in M.V769.P

Unpack UpdateEntityPosition__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateEntityPosition__ Source #

type Rep UpdateEntityPosition__ Source # 
Instance details

Defined in M.V769.P

type Rep UpdateEntityPosition__ = D1 ('MetaData "UpdateEntityPosition__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateEntityPosition__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "deltax__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16)) :*: (S1 ('MetaSel ('Just "deltay__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16) :*: (S1 ('MetaSel ('Just "deltaz__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16) :*: S1 ('MetaSel ('Just "onground__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))

data UpdateEntityPosition Source #

Instances

Instances details
Data UpdateEntityPosition Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UpdateEntityPosition -> c UpdateEntityPosition #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UpdateEntityPosition #

toConstr :: UpdateEntityPosition -> Constr #

dataTypeOf :: UpdateEntityPosition -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UpdateEntityPosition) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UpdateEntityPosition) #

gmapT :: (forall b. Data b => b -> b) -> UpdateEntityPosition -> UpdateEntityPosition #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UpdateEntityPosition -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UpdateEntityPosition -> r #

gmapQ :: (forall d. Data d => d -> u) -> UpdateEntityPosition -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> UpdateEntityPosition -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UpdateEntityPosition -> m UpdateEntityPosition #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateEntityPosition -> m UpdateEntityPosition #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateEntityPosition -> m UpdateEntityPosition #

Generic UpdateEntityPosition Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep UpdateEntityPosition 
Instance details

Defined in M.V769.P

Read UpdateEntityPosition Source # 
Instance details

Defined in M.V769.P

Show UpdateEntityPosition Source # 
Instance details

Defined in M.V769.P

NFData UpdateEntityPosition Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: UpdateEntityPosition -> () #

Eq UpdateEntityPosition Source # 
Instance details

Defined in M.V769.P

Ord UpdateEntityPosition Source # 
Instance details

Defined in M.V769.P

Pack UpdateEntityPosition Source # 
Instance details

Defined in M.V769.P

Unpack UpdateEntityPosition Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateEntityPosition Source #

type Rep UpdateEntityPosition Source # 
Instance details

Defined in M.V769.P

data MerchantOffers__ Source #

Instances

Instances details
Generic MerchantOffers__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep MerchantOffers__ 
Instance details

Defined in M.V769.P

type Rep MerchantOffers__ = D1 ('MetaData "MerchantOffers__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "MerchantOffers__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "windowid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: (S1 ('MetaSel ('Just "offers__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector MerchantOffer)) :*: S1 ('MetaSel ('Just "villagerlevel__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))) :*: (S1 ('MetaSel ('Just "experience__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "isregularvillager__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "canrestock__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))
NFData MerchantOffers__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: MerchantOffers__ -> () #

Eq MerchantOffers__ Source # 
Instance details

Defined in M.V769.P

Ord MerchantOffers__ Source # 
Instance details

Defined in M.V769.P

Pack MerchantOffers__ Source # 
Instance details

Defined in M.V769.P

Unpack MerchantOffers__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r MerchantOffers__ Source #

type Rep MerchantOffers__ Source # 
Instance details

Defined in M.V769.P

type Rep MerchantOffers__ = D1 ('MetaData "MerchantOffers__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "MerchantOffers__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "windowid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: (S1 ('MetaSel ('Just "offers__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector MerchantOffer)) :*: S1 ('MetaSel ('Just "villagerlevel__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))) :*: (S1 ('MetaSel ('Just "experience__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "isregularvillager__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "canrestock__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))

data MerchantOffers Source #

Instances

Instances details
Data MerchantOffers Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MerchantOffers -> c MerchantOffers #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MerchantOffers #

toConstr :: MerchantOffers -> Constr #

dataTypeOf :: MerchantOffers -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MerchantOffers) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MerchantOffers) #

gmapT :: (forall b. Data b => b -> b) -> MerchantOffers -> MerchantOffers #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MerchantOffers -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MerchantOffers -> r #

gmapQ :: (forall d. Data d => d -> u) -> MerchantOffers -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> MerchantOffers -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> MerchantOffers -> m MerchantOffers #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MerchantOffers -> m MerchantOffers #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MerchantOffers -> m MerchantOffers #

Generic MerchantOffers Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep MerchantOffers 
Instance details

Defined in M.V769.P

Read MerchantOffers Source # 
Instance details

Defined in M.V769.P

Show MerchantOffers Source # 
Instance details

Defined in M.V769.P

NFData MerchantOffers Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: MerchantOffers -> () #

Eq MerchantOffers Source # 
Instance details

Defined in M.V769.P

Ord MerchantOffers Source # 
Instance details

Defined in M.V769.P

Pack MerchantOffers Source # 
Instance details

Defined in M.V769.P

Unpack MerchantOffers Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r MerchantOffers Source #

type Rep MerchantOffers Source # 
Instance details

Defined in M.V769.P

data MapData__ Source #

Instances

Instances details
Generic MapData__ Source # 
Instance details

Defined in M.V769.P

NFData MapData__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: MapData__ -> () #

Eq MapData__ Source # 
Instance details

Defined in M.V769.P

Ord MapData__ Source # 
Instance details

Defined in M.V769.P

Pack MapData__ Source # 
Instance details

Defined in M.V769.P

Unpack MapData__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r MapData__ Source #

type Rep MapData__ Source # 
Instance details

Defined in M.V769.P

data MapData Source #

Constructors

MapData 

Fields

Instances

Instances details
Data MapData Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MapData -> c MapData #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MapData #

toConstr :: MapData -> Constr #

dataTypeOf :: MapData -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MapData) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MapData) #

gmapT :: (forall b. Data b => b -> b) -> MapData -> MapData #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MapData -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MapData -> r #

gmapQ :: (forall d. Data d => d -> u) -> MapData -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> MapData -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> MapData -> m MapData #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MapData -> m MapData #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MapData -> m MapData #

Generic MapData Source # 
Instance details

Defined in M.V769.P

Methods

from :: MapData -> Rep MapData x #

to :: Rep MapData x -> MapData #

Read MapData Source # 
Instance details

Defined in M.V769.P

Show MapData Source # 
Instance details

Defined in M.V769.P

NFData MapData Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: MapData -> () #

Eq MapData Source # 
Instance details

Defined in M.V769.P

Methods

(==) :: MapData -> MapData -> Bool #

(/=) :: MapData -> MapData -> Bool #

Ord MapData Source # 
Instance details

Defined in M.V769.P

Pack MapData Source # 
Instance details

Defined in M.V769.P

Methods

pack :: MapData -> Builder Source #

Unpack MapData Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r MapData Source #

type Rep MapData Source # 
Instance details

Defined in M.V769.P

data Login__ Source #

Instances

Instances details
Generic Login__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep Login__ 
Instance details

Defined in M.V769.P

type Rep Login__ = D1 ('MetaData "Login__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Login__" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "ishardcore__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "gamemode__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "previousgamemode__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int8))) :*: ((S1 ('MetaSel ('Just "worldnames__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Text)) :*: S1 ('MetaSel ('Just "dimensioncodec__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tg)) :*: (S1 ('MetaSel ('Just "dimension__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tg) :*: S1 ('MetaSel ('Just "worldname__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))) :*: (((S1 ('MetaSel ('Just "hashedseed__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64) :*: S1 ('MetaSel ('Just "maxplayers__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)) :*: (S1 ('MetaSel ('Just "viewdistance__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "simulationdistance__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))) :*: ((S1 ('MetaSel ('Just "reduceddebuginfo__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "enablerespawnscreen__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "isdebug__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "isflat__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))))

Methods

from :: Login__ -> Rep Login__ x #

to :: Rep Login__ x -> Login__ #

NFData Login__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: Login__ -> () #

Eq Login__ Source # 
Instance details

Defined in M.V769.P

Methods

(==) :: Login__ -> Login__ -> Bool #

(/=) :: Login__ -> Login__ -> Bool #

Ord Login__ Source # 
Instance details

Defined in M.V769.P

Pack Login__ Source # 
Instance details

Defined in M.V769.P

Methods

pack :: Login__ -> Builder Source #

Unpack Login__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Login__ Source #

type Rep Login__ Source # 
Instance details

Defined in M.V769.P

type Rep Login__ = D1 ('MetaData "Login__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Login__" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "ishardcore__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "gamemode__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "previousgamemode__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int8))) :*: ((S1 ('MetaSel ('Just "worldnames__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Text)) :*: S1 ('MetaSel ('Just "dimensioncodec__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tg)) :*: (S1 ('MetaSel ('Just "dimension__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tg) :*: S1 ('MetaSel ('Just "worldname__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))) :*: (((S1 ('MetaSel ('Just "hashedseed__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64) :*: S1 ('MetaSel ('Just "maxplayers__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)) :*: (S1 ('MetaSel ('Just "viewdistance__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "simulationdistance__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))) :*: ((S1 ('MetaSel ('Just "reduceddebuginfo__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "enablerespawnscreen__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "isdebug__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "isflat__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))))

data Login Source #

Instances

Instances details
Data Login Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Login -> c Login #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Login #

toConstr :: Login -> Constr #

dataTypeOf :: Login -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Login) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Login) #

gmapT :: (forall b. Data b => b -> b) -> Login -> Login #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Login -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Login -> r #

gmapQ :: (forall d. Data d => d -> u) -> Login -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Login -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Login -> m Login #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Login -> m Login #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Login -> m Login #

Generic Login Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep Login 
Instance details

Defined in M.V769.P

type Rep Login = D1 ('MetaData "Login" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Login" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "ishardcore") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "gamemode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "previousgamemode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int8))) :*: ((S1 ('MetaSel ('Just "worldnames") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Text)) :*: S1 ('MetaSel ('Just "dimensioncodec") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tg)) :*: (S1 ('MetaSel ('Just "dimension") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tg) :*: S1 ('MetaSel ('Just "worldname") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))) :*: (((S1 ('MetaSel ('Just "hashedseed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64) :*: S1 ('MetaSel ('Just "maxplayers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)) :*: (S1 ('MetaSel ('Just "viewdistance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "simulationdistance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))) :*: ((S1 ('MetaSel ('Just "reduceddebuginfo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "enablerespawnscreen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "isdebug") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "isflat") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))))

Methods

from :: Login -> Rep Login x #

to :: Rep Login x -> Login #

Read Login Source # 
Instance details

Defined in M.V769.P

Show Login Source # 
Instance details

Defined in M.V769.P

Methods

showsPrec :: Int -> Login -> ShowS #

show :: Login -> String #

showList :: [Login] -> ShowS #

NFData Login Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: Login -> () #

Eq Login Source # 
Instance details

Defined in M.V769.P

Methods

(==) :: Login -> Login -> Bool #

(/=) :: Login -> Login -> Bool #

Ord Login Source # 
Instance details

Defined in M.V769.P

Methods

compare :: Login -> Login -> Ordering #

(<) :: Login -> Login -> Bool #

(<=) :: Login -> Login -> Bool #

(>) :: Login -> Login -> Bool #

(>=) :: Login -> Login -> Bool #

max :: Login -> Login -> Login #

min :: Login -> Login -> Login #

Pack Login Source # 
Instance details

Defined in M.V769.P

Methods

pack :: Login -> Builder Source #

Unpack Login Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Login Source #

type Rep Login Source # 
Instance details

Defined in M.V769.P

type Rep Login = D1 ('MetaData "Login" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Login" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "ishardcore") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "gamemode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "previousgamemode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int8))) :*: ((S1 ('MetaSel ('Just "worldnames") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Text)) :*: S1 ('MetaSel ('Just "dimensioncodec") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tg)) :*: (S1 ('MetaSel ('Just "dimension") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tg) :*: S1 ('MetaSel ('Just "worldname") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))) :*: (((S1 ('MetaSel ('Just "hashedseed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64) :*: S1 ('MetaSel ('Just "maxplayers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)) :*: (S1 ('MetaSel ('Just "viewdistance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "simulationdistance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))) :*: ((S1 ('MetaSel ('Just "reduceddebuginfo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "enablerespawnscreen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "isdebug") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "isflat") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))))

data UpdateLight__ Source #

Constructors

UpdateLight__ 

Instances

Instances details
Generic UpdateLight__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep UpdateLight__ 
Instance details

Defined in M.V769.P

type Rep UpdateLight__ = D1 ('MetaData "UpdateLight__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateLight__" 'PrefixI 'True) (S1 ('MetaSel ('Just "chunkx__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "chunkz__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "data___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LightData))))
NFData UpdateLight__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: UpdateLight__ -> () #

Eq UpdateLight__ Source # 
Instance details

Defined in M.V769.P

Ord UpdateLight__ Source # 
Instance details

Defined in M.V769.P

Pack UpdateLight__ Source # 
Instance details

Defined in M.V769.P

Unpack UpdateLight__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateLight__ Source #

type Rep UpdateLight__ Source # 
Instance details

Defined in M.V769.P

type Rep UpdateLight__ = D1 ('MetaData "UpdateLight__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateLight__" 'PrefixI 'True) (S1 ('MetaSel ('Just "chunkx__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "chunkz__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "data___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LightData))))

data UpdateLight Source #

Constructors

UpdateLight 

Fields

Instances

Instances details
Data UpdateLight Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UpdateLight -> c UpdateLight #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UpdateLight #

toConstr :: UpdateLight -> Constr #

dataTypeOf :: UpdateLight -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UpdateLight) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UpdateLight) #

gmapT :: (forall b. Data b => b -> b) -> UpdateLight -> UpdateLight #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UpdateLight -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UpdateLight -> r #

gmapQ :: (forall d. Data d => d -> u) -> UpdateLight -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> UpdateLight -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UpdateLight -> m UpdateLight #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateLight -> m UpdateLight #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateLight -> m UpdateLight #

Generic UpdateLight Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep UpdateLight 
Instance details

Defined in M.V769.P

type Rep UpdateLight = D1 ('MetaData "UpdateLight" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateLight" 'PrefixI 'True) (S1 ('MetaSel ('Just "chunkx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "chunkz") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LightData))))
Read UpdateLight Source # 
Instance details

Defined in M.V769.P

Show UpdateLight Source # 
Instance details

Defined in M.V769.P

NFData UpdateLight Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: UpdateLight -> () #

Eq UpdateLight Source # 
Instance details

Defined in M.V769.P

Ord UpdateLight Source # 
Instance details

Defined in M.V769.P

Pack UpdateLight Source # 
Instance details

Defined in M.V769.P

Unpack UpdateLight Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UpdateLight Source #

type Rep UpdateLight Source # 
Instance details

Defined in M.V769.P

type Rep UpdateLight = D1 ('MetaData "UpdateLight" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UpdateLight" 'PrefixI 'True) (S1 ('MetaSel ('Just "chunkx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "chunkz") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LightData))))

data ParticleEffect__ Source #

Instances

Instances details
Generic ParticleEffect__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ParticleEffect__ 
Instance details

Defined in M.V769.P

NFData ParticleEffect__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ParticleEffect__ -> () #

Eq ParticleEffect__ Source # 
Instance details

Defined in M.V769.P

Ord ParticleEffect__ Source # 
Instance details

Defined in M.V769.P

Pack ParticleEffect__ Source # 
Instance details

Defined in M.V769.P

Unpack ParticleEffect__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ParticleEffect__ Source #

type Rep ParticleEffect__ Source # 
Instance details

Defined in M.V769.P

data ParticleEffect Source #

Instances

Instances details
Data ParticleEffect Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ParticleEffect -> c ParticleEffect #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ParticleEffect #

toConstr :: ParticleEffect -> Constr #

dataTypeOf :: ParticleEffect -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ParticleEffect) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ParticleEffect) #

gmapT :: (forall b. Data b => b -> b) -> ParticleEffect -> ParticleEffect #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ParticleEffect -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ParticleEffect -> r #

gmapQ :: (forall d. Data d => d -> u) -> ParticleEffect -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ParticleEffect -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ParticleEffect -> m ParticleEffect #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ParticleEffect -> m ParticleEffect #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ParticleEffect -> m ParticleEffect #

Generic ParticleEffect Source # 
Instance details

Defined in M.V769.P

Read ParticleEffect Source # 
Instance details

Defined in M.V769.P

Show ParticleEffect Source # 
Instance details

Defined in M.V769.P

NFData ParticleEffect Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ParticleEffect -> () #

Eq ParticleEffect Source # 
Instance details

Defined in M.V769.P

Ord ParticleEffect Source # 
Instance details

Defined in M.V769.P

Pack ParticleEffect Source # 
Instance details

Defined in M.V769.P

Unpack ParticleEffect Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ParticleEffect Source #

type Rep ParticleEffect Source # 
Instance details

Defined in M.V769.P

data WorldEvent Source #

Instances

Instances details
Data WorldEvent Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> WorldEvent -> c WorldEvent #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c WorldEvent #

toConstr :: WorldEvent -> Constr #

dataTypeOf :: WorldEvent -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c WorldEvent) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c WorldEvent) #

gmapT :: (forall b. Data b => b -> b) -> WorldEvent -> WorldEvent #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> WorldEvent -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> WorldEvent -> r #

gmapQ :: (forall d. Data d => d -> u) -> WorldEvent -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> WorldEvent -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> WorldEvent -> m WorldEvent #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> WorldEvent -> m WorldEvent #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> WorldEvent -> m WorldEvent #

Generic WorldEvent Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep WorldEvent 
Instance details

Defined in M.V769.P

type Rep WorldEvent = D1 ('MetaData "WorldEvent" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "WorldEvent" 'PrefixI 'True) ((S1 ('MetaSel ('Just "event") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position)) :*: (S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "disablerelativevolume") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))
Read WorldEvent Source # 
Instance details

Defined in M.V769.P

Show WorldEvent Source # 
Instance details

Defined in M.V769.P

NFData WorldEvent Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: WorldEvent -> () #

Eq WorldEvent Source # 
Instance details

Defined in M.V769.P

Ord WorldEvent Source # 
Instance details

Defined in M.V769.P

Pack WorldEvent Source # 
Instance details

Defined in M.V769.P

Unpack WorldEvent Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r WorldEvent Source #

type Rep WorldEvent Source # 
Instance details

Defined in M.V769.P

type Rep WorldEvent = D1 ('MetaData "WorldEvent" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "WorldEvent" 'PrefixI 'True) ((S1 ('MetaSel ('Just "event") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position)) :*: (S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "disablerelativevolume") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))

data ChunkDataAndUpdateLight Source #

Instances

Instances details
Data ChunkDataAndUpdateLight Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ChunkDataAndUpdateLight -> c ChunkDataAndUpdateLight #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ChunkDataAndUpdateLight #

toConstr :: ChunkDataAndUpdateLight -> Constr #

dataTypeOf :: ChunkDataAndUpdateLight -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ChunkDataAndUpdateLight) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ChunkDataAndUpdateLight) #

gmapT :: (forall b. Data b => b -> b) -> ChunkDataAndUpdateLight -> ChunkDataAndUpdateLight #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ChunkDataAndUpdateLight -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ChunkDataAndUpdateLight -> r #

gmapQ :: (forall d. Data d => d -> u) -> ChunkDataAndUpdateLight -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ChunkDataAndUpdateLight -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ChunkDataAndUpdateLight -> m ChunkDataAndUpdateLight #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ChunkDataAndUpdateLight -> m ChunkDataAndUpdateLight #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ChunkDataAndUpdateLight -> m ChunkDataAndUpdateLight #

Generic ChunkDataAndUpdateLight Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ChunkDataAndUpdateLight 
Instance details

Defined in M.V769.P

type Rep ChunkDataAndUpdateLight = D1 ('MetaData "ChunkDataAndUpdateLight" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChunkDataAndUpdateLight" 'PrefixI 'True) ((S1 ('MetaSel ('Just "chunkx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "chunkz") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)) :*: (S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ChunkData) :*: S1 ('MetaSel ('Just "lightdata_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LightData))))
Read ChunkDataAndUpdateLight Source # 
Instance details

Defined in M.V769.P

Show ChunkDataAndUpdateLight Source # 
Instance details

Defined in M.V769.P

NFData ChunkDataAndUpdateLight Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ChunkDataAndUpdateLight -> () #

Eq ChunkDataAndUpdateLight Source # 
Instance details

Defined in M.V769.P

Ord ChunkDataAndUpdateLight Source # 
Instance details

Defined in M.V769.P

Pack ChunkDataAndUpdateLight Source # 
Instance details

Defined in M.V769.P

Unpack ChunkDataAndUpdateLight Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChunkDataAndUpdateLight Source #

type Rep ChunkDataAndUpdateLight Source # 
Instance details

Defined in M.V769.P

type Rep ChunkDataAndUpdateLight = D1 ('MetaData "ChunkDataAndUpdateLight" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChunkDataAndUpdateLight" 'PrefixI 'True) ((S1 ('MetaSel ('Just "chunkx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "chunkz") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)) :*: (S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ChunkData) :*: S1 ('MetaSel ('Just "lightdata_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LightData))))

data InitializeWorldBorder__ Source #

Instances

Instances details
Generic InitializeWorldBorder__ Source # 
Instance details

Defined in M.V769.P

NFData InitializeWorldBorder__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: InitializeWorldBorder__ -> () #

Eq InitializeWorldBorder__ Source # 
Instance details

Defined in M.V769.P

Ord InitializeWorldBorder__ Source # 
Instance details

Defined in M.V769.P

Pack InitializeWorldBorder__ Source # 
Instance details

Defined in M.V769.P

Unpack InitializeWorldBorder__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r InitializeWorldBorder__ Source #

type Rep InitializeWorldBorder__ Source # 
Instance details

Defined in M.V769.P

data InitializeWorldBorder Source #

Instances

Instances details
Data InitializeWorldBorder Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> InitializeWorldBorder -> c InitializeWorldBorder #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c InitializeWorldBorder #

toConstr :: InitializeWorldBorder -> Constr #

dataTypeOf :: InitializeWorldBorder -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c InitializeWorldBorder) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c InitializeWorldBorder) #

gmapT :: (forall b. Data b => b -> b) -> InitializeWorldBorder -> InitializeWorldBorder #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> InitializeWorldBorder -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> InitializeWorldBorder -> r #

gmapQ :: (forall d. Data d => d -> u) -> InitializeWorldBorder -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> InitializeWorldBorder -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> InitializeWorldBorder -> m InitializeWorldBorder #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> InitializeWorldBorder -> m InitializeWorldBorder #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> InitializeWorldBorder -> m InitializeWorldBorder #

Generic InitializeWorldBorder Source # 
Instance details

Defined in M.V769.P

Read InitializeWorldBorder Source # 
Instance details

Defined in M.V769.P

Show InitializeWorldBorder Source # 
Instance details

Defined in M.V769.P

NFData InitializeWorldBorder Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: InitializeWorldBorder -> () #

Eq InitializeWorldBorder Source # 
Instance details

Defined in M.V769.P

Ord InitializeWorldBorder Source # 
Instance details

Defined in M.V769.P

Pack InitializeWorldBorder Source # 
Instance details

Defined in M.V769.P

Unpack InitializeWorldBorder Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r InitializeWorldBorder Source #

type Rep InitializeWorldBorder Source # 
Instance details

Defined in M.V769.P

data HurtAnimation__ Source #

Instances

Instances details
Generic HurtAnimation__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep HurtAnimation__ 
Instance details

Defined in M.V769.P

type Rep HurtAnimation__ = D1 ('MetaData "HurtAnimation__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "HurtAnimation__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "damagedirection__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float)))
NFData HurtAnimation__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: HurtAnimation__ -> () #

Eq HurtAnimation__ Source # 
Instance details

Defined in M.V769.P

Ord HurtAnimation__ Source # 
Instance details

Defined in M.V769.P

Pack HurtAnimation__ Source # 
Instance details

Defined in M.V769.P

Unpack HurtAnimation__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r HurtAnimation__ Source #

type Rep HurtAnimation__ Source # 
Instance details

Defined in M.V769.P

type Rep HurtAnimation__ = D1 ('MetaData "HurtAnimation__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "HurtAnimation__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "damagedirection__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float)))

data HurtAnimation Source #

Constructors

HurtAnimation 

Instances

Instances details
Data HurtAnimation Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HurtAnimation -> c HurtAnimation #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c HurtAnimation #

toConstr :: HurtAnimation -> Constr #

dataTypeOf :: HurtAnimation -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c HurtAnimation) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c HurtAnimation) #

gmapT :: (forall b. Data b => b -> b) -> HurtAnimation -> HurtAnimation #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HurtAnimation -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HurtAnimation -> r #

gmapQ :: (forall d. Data d => d -> u) -> HurtAnimation -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> HurtAnimation -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> HurtAnimation -> m HurtAnimation #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HurtAnimation -> m HurtAnimation #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HurtAnimation -> m HurtAnimation #

Generic HurtAnimation Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep HurtAnimation 
Instance details

Defined in M.V769.P

type Rep HurtAnimation = D1 ('MetaData "HurtAnimation" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "HurtAnimation" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "damagedirection") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float)))
Read HurtAnimation Source # 
Instance details

Defined in M.V769.P

Show HurtAnimation Source # 
Instance details

Defined in M.V769.P

NFData HurtAnimation Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: HurtAnimation -> () #

Eq HurtAnimation Source # 
Instance details

Defined in M.V769.P

Ord HurtAnimation Source # 
Instance details

Defined in M.V769.P

Pack HurtAnimation Source # 
Instance details

Defined in M.V769.P

Unpack HurtAnimation Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r HurtAnimation Source #

type Rep HurtAnimation Source # 
Instance details

Defined in M.V769.P

type Rep HurtAnimation = D1 ('MetaData "HurtAnimation" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "HurtAnimation" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "damagedirection") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float)))

data OpenHorseScreen__ Source #

Instances

Instances details
Generic OpenHorseScreen__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep OpenHorseScreen__ 
Instance details

Defined in M.V769.P

type Rep OpenHorseScreen__ = D1 ('MetaData "OpenHorseScreen__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "OpenHorseScreen__" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: (S1 ('MetaSel ('Just "slotcount__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))
NFData OpenHorseScreen__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: OpenHorseScreen__ -> () #

Eq OpenHorseScreen__ Source # 
Instance details

Defined in M.V769.P

Ord OpenHorseScreen__ Source # 
Instance details

Defined in M.V769.P

Pack OpenHorseScreen__ Source # 
Instance details

Defined in M.V769.P

Unpack OpenHorseScreen__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r OpenHorseScreen__ Source #

type Rep OpenHorseScreen__ Source # 
Instance details

Defined in M.V769.P

type Rep OpenHorseScreen__ = D1 ('MetaData "OpenHorseScreen__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "OpenHorseScreen__" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: (S1 ('MetaSel ('Just "slotcount__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))

data OpenHorseScreen Source #

Constructors

OpenHorseScreen 

Instances

Instances details
Data OpenHorseScreen Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> OpenHorseScreen -> c OpenHorseScreen #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c OpenHorseScreen #

toConstr :: OpenHorseScreen -> Constr #

dataTypeOf :: OpenHorseScreen -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c OpenHorseScreen) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c OpenHorseScreen) #

gmapT :: (forall b. Data b => b -> b) -> OpenHorseScreen -> OpenHorseScreen #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> OpenHorseScreen -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> OpenHorseScreen -> r #

gmapQ :: (forall d. Data d => d -> u) -> OpenHorseScreen -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> OpenHorseScreen -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> OpenHorseScreen -> m OpenHorseScreen #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> OpenHorseScreen -> m OpenHorseScreen #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> OpenHorseScreen -> m OpenHorseScreen #

Generic OpenHorseScreen Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep OpenHorseScreen 
Instance details

Defined in M.V769.P

type Rep OpenHorseScreen = D1 ('MetaData "OpenHorseScreen" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "OpenHorseScreen" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: (S1 ('MetaSel ('Just "slotcount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))
Read OpenHorseScreen Source # 
Instance details

Defined in M.V769.P

Show OpenHorseScreen Source # 
Instance details

Defined in M.V769.P

NFData OpenHorseScreen Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: OpenHorseScreen -> () #

Eq OpenHorseScreen Source # 
Instance details

Defined in M.V769.P

Ord OpenHorseScreen Source # 
Instance details

Defined in M.V769.P

Pack OpenHorseScreen Source # 
Instance details

Defined in M.V769.P

Unpack OpenHorseScreen Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r OpenHorseScreen Source #

type Rep OpenHorseScreen Source # 
Instance details

Defined in M.V769.P

type Rep OpenHorseScreen = D1 ('MetaData "OpenHorseScreen" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "OpenHorseScreen" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: (S1 ('MetaSel ('Just "slotcount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))

data GameEvent__ Source #

Constructors

GameEvent__ 

Fields

Instances

Instances details
Generic GameEvent__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep GameEvent__ 
Instance details

Defined in M.V769.P

type Rep GameEvent__ = D1 ('MetaData "GameEvent__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "GameEvent__" 'PrefixI 'True) (S1 ('MetaSel ('Just "event__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "data___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float)))
NFData GameEvent__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: GameEvent__ -> () #

Eq GameEvent__ Source # 
Instance details

Defined in M.V769.P

Ord GameEvent__ Source # 
Instance details

Defined in M.V769.P

Pack GameEvent__ Source # 
Instance details

Defined in M.V769.P

Unpack GameEvent__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r GameEvent__ Source #

type Rep GameEvent__ Source # 
Instance details

Defined in M.V769.P

type Rep GameEvent__ = D1 ('MetaData "GameEvent__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "GameEvent__" 'PrefixI 'True) (S1 ('MetaSel ('Just "event__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "data___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float)))

data GameEvent Source #

Constructors

GameEvent 

Fields

Instances

Instances details
Data GameEvent Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> GameEvent -> c GameEvent #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c GameEvent #

toConstr :: GameEvent -> Constr #

dataTypeOf :: GameEvent -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c GameEvent) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c GameEvent) #

gmapT :: (forall b. Data b => b -> b) -> GameEvent -> GameEvent #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> GameEvent -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> GameEvent -> r #

gmapQ :: (forall d. Data d => d -> u) -> GameEvent -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> GameEvent -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> GameEvent -> m GameEvent #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> GameEvent -> m GameEvent #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> GameEvent -> m GameEvent #

Generic GameEvent Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep GameEvent 
Instance details

Defined in M.V769.P

type Rep GameEvent = D1 ('MetaData "GameEvent" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "GameEvent" 'PrefixI 'True) (S1 ('MetaSel ('Just "event") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float)))
Read GameEvent Source # 
Instance details

Defined in M.V769.P

Show GameEvent Source # 
Instance details

Defined in M.V769.P

NFData GameEvent Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: GameEvent -> () #

Eq GameEvent Source # 
Instance details

Defined in M.V769.P

Ord GameEvent Source # 
Instance details

Defined in M.V769.P

Pack GameEvent Source # 
Instance details

Defined in M.V769.P

Unpack GameEvent Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r GameEvent Source #

type Rep GameEvent Source # 
Instance details

Defined in M.V769.P

type Rep GameEvent = D1 ('MetaData "GameEvent" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "GameEvent" 'PrefixI 'True) (S1 ('MetaSel ('Just "event") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float)))

data UnloadChunk Source #

Constructors

UnloadChunk 

Fields

Instances

Instances details
Data UnloadChunk Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UnloadChunk -> c UnloadChunk #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UnloadChunk #

toConstr :: UnloadChunk -> Constr #

dataTypeOf :: UnloadChunk -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UnloadChunk) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UnloadChunk) #

gmapT :: (forall b. Data b => b -> b) -> UnloadChunk -> UnloadChunk #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UnloadChunk -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UnloadChunk -> r #

gmapQ :: (forall d. Data d => d -> u) -> UnloadChunk -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> UnloadChunk -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UnloadChunk -> m UnloadChunk #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UnloadChunk -> m UnloadChunk #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UnloadChunk -> m UnloadChunk #

Generic UnloadChunk Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep UnloadChunk 
Instance details

Defined in M.V769.P

type Rep UnloadChunk = D1 ('MetaData "UnloadChunk" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UnloadChunk" 'PrefixI 'True) (S1 ('MetaSel ('Just "chunkx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "chunkz") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))
Read UnloadChunk Source # 
Instance details

Defined in M.V769.P

Show UnloadChunk Source # 
Instance details

Defined in M.V769.P

NFData UnloadChunk Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: UnloadChunk -> () #

Eq UnloadChunk Source # 
Instance details

Defined in M.V769.P

Ord UnloadChunk Source # 
Instance details

Defined in M.V769.P

Pack UnloadChunk Source # 
Instance details

Defined in M.V769.P

Unpack UnloadChunk Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r UnloadChunk Source #

type Rep UnloadChunk Source # 
Instance details

Defined in M.V769.P

type Rep UnloadChunk = D1 ('MetaData "UnloadChunk" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "UnloadChunk" 'PrefixI 'True) (S1 ('MetaSel ('Just "chunkx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "chunkz") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data Explosion Source #

Constructors

Explosion 

Fields

Instances

Instances details
Data Explosion Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Explosion -> c Explosion #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Explosion #

toConstr :: Explosion -> Constr #

dataTypeOf :: Explosion -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Explosion) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Explosion) #

gmapT :: (forall b. Data b => b -> b) -> Explosion -> Explosion #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Explosion -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Explosion -> r #

gmapQ :: (forall d. Data d => d -> u) -> Explosion -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Explosion -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Explosion -> m Explosion #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Explosion -> m Explosion #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Explosion -> m Explosion #

Generic Explosion Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep Explosion 
Instance details

Defined in M.V769.P

type Rep Explosion = D1 ('MetaData "Explosion" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Explosion" 'PrefixI 'True) ((S1 ('MetaSel ('Just "position") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Float)) :*: S1 ('MetaSel ('Just "radius") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float)) :*: (S1 ('MetaSel ('Just "affectedblocks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Position)) :*: S1 ('MetaSel ('Just "playermotion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Float)))))
Read Explosion Source # 
Instance details

Defined in M.V769.P

Show Explosion Source # 
Instance details

Defined in M.V769.P

NFData Explosion Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: Explosion -> () #

Eq Explosion Source # 
Instance details

Defined in M.V769.P

Ord Explosion Source # 
Instance details

Defined in M.V769.P

Pack Explosion Source # 
Instance details

Defined in M.V769.P

Unpack Explosion Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Explosion Source #

type Rep Explosion Source # 
Instance details

Defined in M.V769.P

type Rep Explosion = D1 ('MetaData "Explosion" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Explosion" 'PrefixI 'True) ((S1 ('MetaSel ('Just "position") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Float)) :*: S1 ('MetaSel ('Just "radius") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float)) :*: (S1 ('MetaSel ('Just "affectedblocks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Position)) :*: S1 ('MetaSel ('Just "playermotion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Float)))))

data TeleportEntity__ Source #

Instances

Instances details
Generic TeleportEntity__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep TeleportEntity__ 
Instance details

Defined in M.V769.P

type Rep TeleportEntity__ = D1 ('MetaData "TeleportEntity__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "TeleportEntity__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "position__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double))) :*: (S1 ('MetaSel ('Just "rotation__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Int8Angle)) :*: S1 ('MetaSel ('Just "onground__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))
NFData TeleportEntity__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: TeleportEntity__ -> () #

Eq TeleportEntity__ Source # 
Instance details

Defined in M.V769.P

Ord TeleportEntity__ Source # 
Instance details

Defined in M.V769.P

Pack TeleportEntity__ Source # 
Instance details

Defined in M.V769.P

Unpack TeleportEntity__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r TeleportEntity__ Source #

type Rep TeleportEntity__ Source # 
Instance details

Defined in M.V769.P

type Rep TeleportEntity__ = D1 ('MetaData "TeleportEntity__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "TeleportEntity__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "position__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double))) :*: (S1 ('MetaSel ('Just "rotation__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Int8Angle)) :*: S1 ('MetaSel ('Just "onground__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))

data TeleportEntity Source #

Constructors

TeleportEntity 

Fields

Instances

Instances details
Data TeleportEntity Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TeleportEntity -> c TeleportEntity #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TeleportEntity #

toConstr :: TeleportEntity -> Constr #

dataTypeOf :: TeleportEntity -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TeleportEntity) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TeleportEntity) #

gmapT :: (forall b. Data b => b -> b) -> TeleportEntity -> TeleportEntity #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TeleportEntity -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TeleportEntity -> r #

gmapQ :: (forall d. Data d => d -> u) -> TeleportEntity -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TeleportEntity -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TeleportEntity -> m TeleportEntity #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TeleportEntity -> m TeleportEntity #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TeleportEntity -> m TeleportEntity #

Generic TeleportEntity Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep TeleportEntity 
Instance details

Defined in M.V769.P

type Rep TeleportEntity = D1 ('MetaData "TeleportEntity" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "TeleportEntity" 'PrefixI 'True) ((S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "position") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double))) :*: (S1 ('MetaSel ('Just "rotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Int8)) :*: S1 ('MetaSel ('Just "onground") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))
Read TeleportEntity Source # 
Instance details

Defined in M.V769.P

Show TeleportEntity Source # 
Instance details

Defined in M.V769.P

NFData TeleportEntity Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: TeleportEntity -> () #

Eq TeleportEntity Source # 
Instance details

Defined in M.V769.P

Ord TeleportEntity Source # 
Instance details

Defined in M.V769.P

Pack TeleportEntity Source # 
Instance details

Defined in M.V769.P

Unpack TeleportEntity Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r TeleportEntity Source #

type Rep TeleportEntity Source # 
Instance details

Defined in M.V769.P

type Rep TeleportEntity = D1 ('MetaData "TeleportEntity" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "TeleportEntity" 'PrefixI 'True) ((S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "position") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double))) :*: (S1 ('MetaSel ('Just "rotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V2 Int8)) :*: S1 ('MetaSel ('Just "onground") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))

data EntityEvent__ Source #

Constructors

EntityEvent__ 

Instances

Instances details
Generic EntityEvent__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep EntityEvent__ 
Instance details

Defined in M.V769.P

type Rep EntityEvent__ = D1 ('MetaData "EntityEvent__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EntityEvent__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "event__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))
NFData EntityEvent__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: EntityEvent__ -> () #

Eq EntityEvent__ Source # 
Instance details

Defined in M.V769.P

Ord EntityEvent__ Source # 
Instance details

Defined in M.V769.P

Pack EntityEvent__ Source # 
Instance details

Defined in M.V769.P

Unpack EntityEvent__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EntityEvent__ Source #

type Rep EntityEvent__ Source # 
Instance details

Defined in M.V769.P

type Rep EntityEvent__ = D1 ('MetaData "EntityEvent__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EntityEvent__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "event__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))

data EntityEvent Source #

Constructors

EntityEvent 

Fields

Instances

Instances details
Data EntityEvent Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> EntityEvent -> c EntityEvent #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c EntityEvent #

toConstr :: EntityEvent -> Constr #

dataTypeOf :: EntityEvent -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c EntityEvent) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c EntityEvent) #

gmapT :: (forall b. Data b => b -> b) -> EntityEvent -> EntityEvent #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> EntityEvent -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> EntityEvent -> r #

gmapQ :: (forall d. Data d => d -> u) -> EntityEvent -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> EntityEvent -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> EntityEvent -> m EntityEvent #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> EntityEvent -> m EntityEvent #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> EntityEvent -> m EntityEvent #

Generic EntityEvent Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep EntityEvent 
Instance details

Defined in M.V769.P

type Rep EntityEvent = D1 ('MetaData "EntityEvent" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EntityEvent" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "event") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))
Read EntityEvent Source # 
Instance details

Defined in M.V769.P

Show EntityEvent Source # 
Instance details

Defined in M.V769.P

NFData EntityEvent Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: EntityEvent -> () #

Eq EntityEvent Source # 
Instance details

Defined in M.V769.P

Ord EntityEvent Source # 
Instance details

Defined in M.V769.P

Pack EntityEvent Source # 
Instance details

Defined in M.V769.P

Unpack EntityEvent Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EntityEvent Source #

type Rep EntityEvent Source # 
Instance details

Defined in M.V769.P

type Rep EntityEvent = D1 ('MetaData "EntityEvent" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EntityEvent" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "event") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))

data DisguisedChatMessage__ Source #

Instances

Instances details
Generic DisguisedChatMessage__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep DisguisedChatMessage__ 
Instance details

Defined in M.V769.P

type Rep DisguisedChatMessage__ = D1 ('MetaData "DisguisedChatMessage__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "DisguisedChatMessage__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "message__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent) :*: S1 ('MetaSel ('Just "chattype__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)) :*: (S1 ('MetaSel ('Just "sendername__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent) :*: S1 ('MetaSel ('Just "targetname__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe TextComponent)))))
NFData DisguisedChatMessage__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: DisguisedChatMessage__ -> () #

Eq DisguisedChatMessage__ Source # 
Instance details

Defined in M.V769.P

Ord DisguisedChatMessage__ Source # 
Instance details

Defined in M.V769.P

Pack DisguisedChatMessage__ Source # 
Instance details

Defined in M.V769.P

Unpack DisguisedChatMessage__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r DisguisedChatMessage__ Source #

type Rep DisguisedChatMessage__ Source # 
Instance details

Defined in M.V769.P

type Rep DisguisedChatMessage__ = D1 ('MetaData "DisguisedChatMessage__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "DisguisedChatMessage__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "message__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent) :*: S1 ('MetaSel ('Just "chattype__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)) :*: (S1 ('MetaSel ('Just "sendername__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent) :*: S1 ('MetaSel ('Just "targetname__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe TextComponent)))))

data DisguisedChatMessage Source #

Instances

Instances details
Data DisguisedChatMessage Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DisguisedChatMessage -> c DisguisedChatMessage #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DisguisedChatMessage #

toConstr :: DisguisedChatMessage -> Constr #

dataTypeOf :: DisguisedChatMessage -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DisguisedChatMessage) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DisguisedChatMessage) #

gmapT :: (forall b. Data b => b -> b) -> DisguisedChatMessage -> DisguisedChatMessage #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DisguisedChatMessage -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DisguisedChatMessage -> r #

gmapQ :: (forall d. Data d => d -> u) -> DisguisedChatMessage -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> DisguisedChatMessage -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DisguisedChatMessage -> m DisguisedChatMessage #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DisguisedChatMessage -> m DisguisedChatMessage #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DisguisedChatMessage -> m DisguisedChatMessage #

Generic DisguisedChatMessage Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep DisguisedChatMessage 
Instance details

Defined in M.V769.P

type Rep DisguisedChatMessage = D1 ('MetaData "DisguisedChatMessage" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "DisguisedChatMessage" 'PrefixI 'True) ((S1 ('MetaSel ('Just "message") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent) :*: S1 ('MetaSel ('Just "chattype") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)) :*: (S1 ('MetaSel ('Just "sendername") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent) :*: S1 ('MetaSel ('Just "targetname") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe TextComponent)))))
Read DisguisedChatMessage Source # 
Instance details

Defined in M.V769.P

Show DisguisedChatMessage Source # 
Instance details

Defined in M.V769.P

NFData DisguisedChatMessage Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: DisguisedChatMessage -> () #

Eq DisguisedChatMessage Source # 
Instance details

Defined in M.V769.P

Ord DisguisedChatMessage Source # 
Instance details

Defined in M.V769.P

Pack DisguisedChatMessage Source # 
Instance details

Defined in M.V769.P

Unpack DisguisedChatMessage Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r DisguisedChatMessage Source #

type Rep DisguisedChatMessage Source # 
Instance details

Defined in M.V769.P

type Rep DisguisedChatMessage = D1 ('MetaData "DisguisedChatMessage" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "DisguisedChatMessage" 'PrefixI 'True) ((S1 ('MetaSel ('Just "message") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent) :*: S1 ('MetaSel ('Just "chattype") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)) :*: (S1 ('MetaSel ('Just "sendername") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TextComponent) :*: S1 ('MetaSel ('Just "targetname") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe TextComponent)))))

data Disconnect Source #

Constructors

Disconnect 

Fields

Instances

Instances details
Data Disconnect Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Disconnect -> c Disconnect #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Disconnect #

toConstr :: Disconnect -> Constr #

dataTypeOf :: Disconnect -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Disconnect) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Disconnect) #

gmapT :: (forall b. Data b => b -> b) -> Disconnect -> Disconnect #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Disconnect -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Disconnect -> r #

gmapQ :: (forall d. Data d => d -> u) -> Disconnect -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Disconnect -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Disconnect -> m Disconnect #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Disconnect -> m Disconnect #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Disconnect -> m Disconnect #

Generic Disconnect Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep Disconnect 
Instance details

Defined in M.V769.P

type Rep Disconnect = D1 ('MetaData "Disconnect" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Disconnect" 'PrefixI 'True) (S1 ('MetaSel ('Just "reason") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Read Disconnect Source # 
Instance details

Defined in M.V769.P

Show Disconnect Source # 
Instance details

Defined in M.V769.P

NFData Disconnect Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: Disconnect -> () #

Eq Disconnect Source # 
Instance details

Defined in M.V769.P

Ord Disconnect Source # 
Instance details

Defined in M.V769.P

Pack Disconnect Source # 
Instance details

Defined in M.V769.P

Unpack Disconnect Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Disconnect Source #

type Rep Disconnect Source # 
Instance details

Defined in M.V769.P

type Rep Disconnect = D1 ('MetaData "Disconnect" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Disconnect" 'PrefixI 'True) (S1 ('MetaSel ('Just "reason") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data DeleteMessage Source #

Constructors

DeleteMessage 

Fields

Instances

Instances details
Data DeleteMessage Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DeleteMessage -> c DeleteMessage #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DeleteMessage #

toConstr :: DeleteMessage -> Constr #

dataTypeOf :: DeleteMessage -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DeleteMessage) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DeleteMessage) #

gmapT :: (forall b. Data b => b -> b) -> DeleteMessage -> DeleteMessage #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DeleteMessage -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DeleteMessage -> r #

gmapQ :: (forall d. Data d => d -> u) -> DeleteMessage -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> DeleteMessage -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DeleteMessage -> m DeleteMessage #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DeleteMessage -> m DeleteMessage #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DeleteMessage -> m DeleteMessage #

Generic DeleteMessage Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep DeleteMessage 
Instance details

Defined in M.V769.P

type Rep DeleteMessage = D1 ('MetaData "DeleteMessage" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "DeleteMessage" 'PrefixI 'True) (S1 ('MetaSel ('Just "messageid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UUID)))
Read DeleteMessage Source # 
Instance details

Defined in M.V769.P

Show DeleteMessage Source # 
Instance details

Defined in M.V769.P

NFData DeleteMessage Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: DeleteMessage -> () #

Eq DeleteMessage Source # 
Instance details

Defined in M.V769.P

Ord DeleteMessage Source # 
Instance details

Defined in M.V769.P

Pack DeleteMessage Source # 
Instance details

Defined in M.V769.P

Unpack DeleteMessage Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r DeleteMessage Source #

type Rep DeleteMessage Source # 
Instance details

Defined in M.V769.P

type Rep DeleteMessage = D1 ('MetaData "DeleteMessage" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "DeleteMessage" 'PrefixI 'True) (S1 ('MetaSel ('Just "messageid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UUID)))

data DebugSample__ Source #

Constructors

DebugSample__ 

Fields

Instances

Instances details
Generic DebugSample__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep DebugSample__ 
Instance details

Defined in M.V769.P

type Rep DebugSample__ = D1 ('MetaData "DebugSample__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "DebugSample__" 'PrefixI 'True) (S1 ('MetaSel ('Just "data___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TakeRest)))
NFData DebugSample__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: DebugSample__ -> () #

Eq DebugSample__ Source # 
Instance details

Defined in M.V769.P

Ord DebugSample__ Source # 
Instance details

Defined in M.V769.P

Pack DebugSample__ Source # 
Instance details

Defined in M.V769.P

Unpack DebugSample__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r DebugSample__ Source #

type Rep DebugSample__ Source # 
Instance details

Defined in M.V769.P

type Rep DebugSample__ = D1 ('MetaData "DebugSample__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "DebugSample__" 'PrefixI 'True) (S1 ('MetaSel ('Just "data___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TakeRest)))

data DebugSample Source #

Constructors

DebugSample 

Fields

Instances

Instances details
Data DebugSample Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DebugSample -> c DebugSample #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DebugSample #

toConstr :: DebugSample -> Constr #

dataTypeOf :: DebugSample -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DebugSample) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DebugSample) #

gmapT :: (forall b. Data b => b -> b) -> DebugSample -> DebugSample #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DebugSample -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DebugSample -> r #

gmapQ :: (forall d. Data d => d -> u) -> DebugSample -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> DebugSample -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DebugSample -> m DebugSample #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DebugSample -> m DebugSample #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DebugSample -> m DebugSample #

Generic DebugSample Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep DebugSample 
Instance details

Defined in M.V769.P

type Rep DebugSample = D1 ('MetaData "DebugSample" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "DebugSample" 'PrefixI 'True) (S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))
Read DebugSample Source # 
Instance details

Defined in M.V769.P

Show DebugSample Source # 
Instance details

Defined in M.V769.P

NFData DebugSample Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: DebugSample -> () #

Eq DebugSample Source # 
Instance details

Defined in M.V769.P

Ord DebugSample Source # 
Instance details

Defined in M.V769.P

Pack DebugSample Source # 
Instance details

Defined in M.V769.P

Unpack DebugSample Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r DebugSample Source #

type Rep DebugSample Source # 
Instance details

Defined in M.V769.P

type Rep DebugSample = D1 ('MetaData "DebugSample" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "DebugSample" 'PrefixI 'True) (S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

data DamageEvent__ Source #

Instances

Instances details
Generic DamageEvent__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep DamageEvent__ 
Instance details

Defined in M.V769.P

type Rep DamageEvent__ = D1 ('MetaData "DamageEvent__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "DamageEvent__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "sourceid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)) :*: (S1 ('MetaSel ('Just "type___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "amount__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float))))
NFData DamageEvent__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: DamageEvent__ -> () #

Eq DamageEvent__ Source # 
Instance details

Defined in M.V769.P

Ord DamageEvent__ Source # 
Instance details

Defined in M.V769.P

Pack DamageEvent__ Source # 
Instance details

Defined in M.V769.P

Unpack DamageEvent__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r DamageEvent__ Source #

type Rep DamageEvent__ Source # 
Instance details

Defined in M.V769.P

type Rep DamageEvent__ = D1 ('MetaData "DamageEvent__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "DamageEvent__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "sourceid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)) :*: (S1 ('MetaSel ('Just "type___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "amount__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Float))))

data DamageEvent Source #

Constructors

DamageEvent 

Instances

Instances details
Data DamageEvent Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DamageEvent -> c DamageEvent #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DamageEvent #

toConstr :: DamageEvent -> Constr #

dataTypeOf :: DamageEvent -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DamageEvent) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DamageEvent) #

gmapT :: (forall b. Data b => b -> b) -> DamageEvent -> DamageEvent #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DamageEvent -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DamageEvent -> r #

gmapQ :: (forall d. Data d => d -> u) -> DamageEvent -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> DamageEvent -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DamageEvent -> m DamageEvent #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DamageEvent -> m DamageEvent #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DamageEvent -> m DamageEvent #

Generic DamageEvent Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep DamageEvent 
Instance details

Defined in M.V769.P

Read DamageEvent Source # 
Instance details

Defined in M.V769.P

Show DamageEvent Source # 
Instance details

Defined in M.V769.P

NFData DamageEvent Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: DamageEvent -> () #

Eq DamageEvent Source # 
Instance details

Defined in M.V769.P

Ord DamageEvent Source # 
Instance details

Defined in M.V769.P

Pack DamageEvent Source # 
Instance details

Defined in M.V769.P

Unpack DamageEvent Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r DamageEvent Source #

type Rep DamageEvent Source # 
Instance details

Defined in M.V769.P

data ChatSuggestions__ Source #

Constructors

ChatSuggestions__ 

Fields

Instances

Instances details
Generic ChatSuggestions__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ChatSuggestions__ 
Instance details

Defined in M.V769.P

type Rep ChatSuggestions__ = D1 ('MetaData "ChatSuggestions__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChatSuggestions__" 'PrefixI 'True) (S1 ('MetaSel ('Just "id__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "suggestions__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Text))))
NFData ChatSuggestions__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ChatSuggestions__ -> () #

Eq ChatSuggestions__ Source # 
Instance details

Defined in M.V769.P

Ord ChatSuggestions__ Source # 
Instance details

Defined in M.V769.P

Pack ChatSuggestions__ Source # 
Instance details

Defined in M.V769.P

Unpack ChatSuggestions__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChatSuggestions__ Source #

type Rep ChatSuggestions__ Source # 
Instance details

Defined in M.V769.P

type Rep ChatSuggestions__ = D1 ('MetaData "ChatSuggestions__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChatSuggestions__" 'PrefixI 'True) (S1 ('MetaSel ('Just "id__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "suggestions__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Text))))

data ChatSuggestions Source #

Constructors

ChatSuggestions 

Fields

Instances

Instances details
Data ChatSuggestions Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ChatSuggestions -> c ChatSuggestions #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ChatSuggestions #

toConstr :: ChatSuggestions -> Constr #

dataTypeOf :: ChatSuggestions -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ChatSuggestions) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ChatSuggestions) #

gmapT :: (forall b. Data b => b -> b) -> ChatSuggestions -> ChatSuggestions #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ChatSuggestions -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ChatSuggestions -> r #

gmapQ :: (forall d. Data d => d -> u) -> ChatSuggestions -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ChatSuggestions -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ChatSuggestions -> m ChatSuggestions #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ChatSuggestions -> m ChatSuggestions #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ChatSuggestions -> m ChatSuggestions #

Generic ChatSuggestions Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ChatSuggestions 
Instance details

Defined in M.V769.P

type Rep ChatSuggestions = D1 ('MetaData "ChatSuggestions" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChatSuggestions" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "suggestions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Text))))
Read ChatSuggestions Source # 
Instance details

Defined in M.V769.P

Show ChatSuggestions Source # 
Instance details

Defined in M.V769.P

NFData ChatSuggestions Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ChatSuggestions -> () #

Eq ChatSuggestions Source # 
Instance details

Defined in M.V769.P

Ord ChatSuggestions Source # 
Instance details

Defined in M.V769.P

Pack ChatSuggestions Source # 
Instance details

Defined in M.V769.P

Unpack ChatSuggestions Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChatSuggestions Source #

type Rep ChatSuggestions Source # 
Instance details

Defined in M.V769.P

type Rep ChatSuggestions = D1 ('MetaData "ChatSuggestions" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChatSuggestions" 'PrefixI 'True) (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "suggestions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Text))))

data SetCooldown__ Source #

Constructors

SetCooldown__ 

Instances

Instances details
Generic SetCooldown__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetCooldown__ 
Instance details

Defined in M.V769.P

type Rep SetCooldown__ = D1 ('MetaData "SetCooldown__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetCooldown__" 'PrefixI 'True) (S1 ('MetaSel ('Just "itemid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "cooldown__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
NFData SetCooldown__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetCooldown__ -> () #

Eq SetCooldown__ Source # 
Instance details

Defined in M.V769.P

Ord SetCooldown__ Source # 
Instance details

Defined in M.V769.P

Pack SetCooldown__ Source # 
Instance details

Defined in M.V769.P

Unpack SetCooldown__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetCooldown__ Source #

type Rep SetCooldown__ Source # 
Instance details

Defined in M.V769.P

type Rep SetCooldown__ = D1 ('MetaData "SetCooldown__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetCooldown__" 'PrefixI 'True) (S1 ('MetaSel ('Just "itemid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "cooldown__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data SetCooldown Source #

Constructors

SetCooldown 

Fields

Instances

Instances details
Data SetCooldown Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetCooldown -> c SetCooldown #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetCooldown #

toConstr :: SetCooldown -> Constr #

dataTypeOf :: SetCooldown -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetCooldown) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetCooldown) #

gmapT :: (forall b. Data b => b -> b) -> SetCooldown -> SetCooldown #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetCooldown -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetCooldown -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetCooldown -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetCooldown -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetCooldown -> m SetCooldown #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetCooldown -> m SetCooldown #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetCooldown -> m SetCooldown #

Generic SetCooldown Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetCooldown 
Instance details

Defined in M.V769.P

type Rep SetCooldown = D1 ('MetaData "SetCooldown" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetCooldown" 'PrefixI 'True) (S1 ('MetaSel ('Just "itemid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "cooldown") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))
Read SetCooldown Source # 
Instance details

Defined in M.V769.P

Show SetCooldown Source # 
Instance details

Defined in M.V769.P

NFData SetCooldown Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetCooldown -> () #

Eq SetCooldown Source # 
Instance details

Defined in M.V769.P

Ord SetCooldown Source # 
Instance details

Defined in M.V769.P

Pack SetCooldown Source # 
Instance details

Defined in M.V769.P

Unpack SetCooldown Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetCooldown Source #

type Rep SetCooldown Source # 
Instance details

Defined in M.V769.P

type Rep SetCooldown = D1 ('MetaData "SetCooldown" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetCooldown" 'PrefixI 'True) (S1 ('MetaSel ('Just "itemid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "cooldown") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data CookieRequest Source #

Constructors

CookieRequest 

Fields

Instances

Instances details
Data CookieRequest Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CookieRequest -> c CookieRequest #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CookieRequest #

toConstr :: CookieRequest -> Constr #

dataTypeOf :: CookieRequest -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CookieRequest) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CookieRequest) #

gmapT :: (forall b. Data b => b -> b) -> CookieRequest -> CookieRequest #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CookieRequest -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CookieRequest -> r #

gmapQ :: (forall d. Data d => d -> u) -> CookieRequest -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CookieRequest -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CookieRequest -> m CookieRequest #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CookieRequest -> m CookieRequest #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CookieRequest -> m CookieRequest #

Generic CookieRequest Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep CookieRequest 
Instance details

Defined in M.V769.P

type Rep CookieRequest = D1 ('MetaData "CookieRequest" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CookieRequest" 'PrefixI 'True) (S1 ('MetaSel ('Just "key") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Read CookieRequest Source # 
Instance details

Defined in M.V769.P

Show CookieRequest Source # 
Instance details

Defined in M.V769.P

NFData CookieRequest Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: CookieRequest -> () #

Eq CookieRequest Source # 
Instance details

Defined in M.V769.P

Ord CookieRequest Source # 
Instance details

Defined in M.V769.P

Pack CookieRequest Source # 
Instance details

Defined in M.V769.P

Unpack CookieRequest Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CookieRequest Source #

type Rep CookieRequest Source # 
Instance details

Defined in M.V769.P

type Rep CookieRequest = D1 ('MetaData "CookieRequest" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CookieRequest" 'PrefixI 'True) (S1 ('MetaSel ('Just "key") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data SetContainerSlot__ Source #

Instances

Instances details
Generic SetContainerSlot__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetContainerSlot__ 
Instance details

Defined in M.V769.P

type Rep SetContainerSlot__ = D1 ('MetaData "SetContainerSlot__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetContainerSlot__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "windowid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "stateid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)) :*: (S1 ('MetaSel ('Just "slot__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16) :*: S1 ('MetaSel ('Just "data___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Slot))))
NFData SetContainerSlot__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetContainerSlot__ -> () #

Eq SetContainerSlot__ Source # 
Instance details

Defined in M.V769.P

Ord SetContainerSlot__ Source # 
Instance details

Defined in M.V769.P

Pack SetContainerSlot__ Source # 
Instance details

Defined in M.V769.P

Unpack SetContainerSlot__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetContainerSlot__ Source #

type Rep SetContainerSlot__ Source # 
Instance details

Defined in M.V769.P

type Rep SetContainerSlot__ = D1 ('MetaData "SetContainerSlot__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetContainerSlot__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "windowid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "stateid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)) :*: (S1 ('MetaSel ('Just "slot__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16) :*: S1 ('MetaSel ('Just "data___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Slot))))

data SetContainerSlot Source #

Constructors

SetContainerSlot 

Fields

Instances

Instances details
Data SetContainerSlot Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetContainerSlot -> c SetContainerSlot #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetContainerSlot #

toConstr :: SetContainerSlot -> Constr #

dataTypeOf :: SetContainerSlot -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetContainerSlot) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetContainerSlot) #

gmapT :: (forall b. Data b => b -> b) -> SetContainerSlot -> SetContainerSlot #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetContainerSlot -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetContainerSlot -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetContainerSlot -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetContainerSlot -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetContainerSlot -> m SetContainerSlot #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetContainerSlot -> m SetContainerSlot #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetContainerSlot -> m SetContainerSlot #

Generic SetContainerSlot Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetContainerSlot 
Instance details

Defined in M.V769.P

type Rep SetContainerSlot = D1 ('MetaData "SetContainerSlot" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetContainerSlot" 'PrefixI 'True) ((S1 ('MetaSel ('Just "windowid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "stateid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)) :*: (S1 ('MetaSel ('Just "slot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16) :*: S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Slot))))
Read SetContainerSlot Source # 
Instance details

Defined in M.V769.P

Show SetContainerSlot Source # 
Instance details

Defined in M.V769.P

NFData SetContainerSlot Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetContainerSlot -> () #

Eq SetContainerSlot Source # 
Instance details

Defined in M.V769.P

Ord SetContainerSlot Source # 
Instance details

Defined in M.V769.P

Pack SetContainerSlot Source # 
Instance details

Defined in M.V769.P

Unpack SetContainerSlot Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetContainerSlot Source #

type Rep SetContainerSlot Source # 
Instance details

Defined in M.V769.P

type Rep SetContainerSlot = D1 ('MetaData "SetContainerSlot" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetContainerSlot" 'PrefixI 'True) ((S1 ('MetaSel ('Just "windowid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "stateid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)) :*: (S1 ('MetaSel ('Just "slot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16) :*: S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Slot))))

data SetContainerProperty__ Source #

Instances

Instances details
Generic SetContainerProperty__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetContainerProperty__ 
Instance details

Defined in M.V769.P

type Rep SetContainerProperty__ = D1 ('MetaData "SetContainerProperty__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetContainerProperty__" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "property__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16) :*: S1 ('MetaSel ('Just "value__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16))))
NFData SetContainerProperty__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetContainerProperty__ -> () #

Eq SetContainerProperty__ Source # 
Instance details

Defined in M.V769.P

Ord SetContainerProperty__ Source # 
Instance details

Defined in M.V769.P

Pack SetContainerProperty__ Source # 
Instance details

Defined in M.V769.P

Unpack SetContainerProperty__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetContainerProperty__ Source #

type Rep SetContainerProperty__ Source # 
Instance details

Defined in M.V769.P

type Rep SetContainerProperty__ = D1 ('MetaData "SetContainerProperty__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetContainerProperty__" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "property__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16) :*: S1 ('MetaSel ('Just "value__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16))))

data SetContainerProperty Source #

Constructors

SetContainerProperty 

Fields

Instances

Instances details
Data SetContainerProperty Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetContainerProperty -> c SetContainerProperty #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetContainerProperty #

toConstr :: SetContainerProperty -> Constr #

dataTypeOf :: SetContainerProperty -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetContainerProperty) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetContainerProperty) #

gmapT :: (forall b. Data b => b -> b) -> SetContainerProperty -> SetContainerProperty #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetContainerProperty -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetContainerProperty -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetContainerProperty -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetContainerProperty -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetContainerProperty -> m SetContainerProperty #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetContainerProperty -> m SetContainerProperty #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetContainerProperty -> m SetContainerProperty #

Generic SetContainerProperty Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetContainerProperty 
Instance details

Defined in M.V769.P

type Rep SetContainerProperty = D1 ('MetaData "SetContainerProperty" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetContainerProperty" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "property") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16) :*: S1 ('MetaSel ('Just "value") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16))))
Read SetContainerProperty Source # 
Instance details

Defined in M.V769.P

Show SetContainerProperty Source # 
Instance details

Defined in M.V769.P

NFData SetContainerProperty Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetContainerProperty -> () #

Eq SetContainerProperty Source # 
Instance details

Defined in M.V769.P

Ord SetContainerProperty Source # 
Instance details

Defined in M.V769.P

Pack SetContainerProperty Source # 
Instance details

Defined in M.V769.P

Unpack SetContainerProperty Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetContainerProperty Source #

type Rep SetContainerProperty Source # 
Instance details

Defined in M.V769.P

type Rep SetContainerProperty = D1 ('MetaData "SetContainerProperty" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetContainerProperty" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "property") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16) :*: S1 ('MetaSel ('Just "value") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16))))

data SetContainerContent__ Source #

Instances

Instances details
Generic SetContainerContent__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetContainerContent__ 
Instance details

Defined in M.V769.P

type Rep SetContainerContent__ = D1 ('MetaData "SetContainerContent__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetContainerContent__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "windowid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "stateid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)) :*: (S1 ('MetaSel ('Just "slots__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Slot)) :*: S1 ('MetaSel ('Just "carrieditem__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Slot))))
NFData SetContainerContent__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetContainerContent__ -> () #

Eq SetContainerContent__ Source # 
Instance details

Defined in M.V769.P

Ord SetContainerContent__ Source # 
Instance details

Defined in M.V769.P

Pack SetContainerContent__ Source # 
Instance details

Defined in M.V769.P

Unpack SetContainerContent__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetContainerContent__ Source #

type Rep SetContainerContent__ Source # 
Instance details

Defined in M.V769.P

type Rep SetContainerContent__ = D1 ('MetaData "SetContainerContent__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetContainerContent__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "windowid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "stateid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)) :*: (S1 ('MetaSel ('Just "slots__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Slot)) :*: S1 ('MetaSel ('Just "carrieditem__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Slot))))

data SetContainerContent Source #

Constructors

SetContainerContent 

Fields

Instances

Instances details
Data SetContainerContent Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetContainerContent -> c SetContainerContent #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetContainerContent #

toConstr :: SetContainerContent -> Constr #

dataTypeOf :: SetContainerContent -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetContainerContent) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetContainerContent) #

gmapT :: (forall b. Data b => b -> b) -> SetContainerContent -> SetContainerContent #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetContainerContent -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetContainerContent -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetContainerContent -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetContainerContent -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetContainerContent -> m SetContainerContent #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetContainerContent -> m SetContainerContent #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetContainerContent -> m SetContainerContent #

Generic SetContainerContent Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetContainerContent 
Instance details

Defined in M.V769.P

type Rep SetContainerContent = D1 ('MetaData "SetContainerContent" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetContainerContent" 'PrefixI 'True) ((S1 ('MetaSel ('Just "windowid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "stateid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)) :*: (S1 ('MetaSel ('Just "slots") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Slot)) :*: S1 ('MetaSel ('Just "carrieditem") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Slot))))
Read SetContainerContent Source # 
Instance details

Defined in M.V769.P

Show SetContainerContent Source # 
Instance details

Defined in M.V769.P

NFData SetContainerContent Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetContainerContent -> () #

Eq SetContainerContent Source # 
Instance details

Defined in M.V769.P

Ord SetContainerContent Source # 
Instance details

Defined in M.V769.P

Pack SetContainerContent Source # 
Instance details

Defined in M.V769.P

Unpack SetContainerContent Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetContainerContent Source #

type Rep SetContainerContent Source # 
Instance details

Defined in M.V769.P

type Rep SetContainerContent = D1 ('MetaData "SetContainerContent" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetContainerContent" 'PrefixI 'True) ((S1 ('MetaSel ('Just "windowid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "stateid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)) :*: (S1 ('MetaSel ('Just "slots") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Slot)) :*: S1 ('MetaSel ('Just "carrieditem") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Slot))))

data CloseContainer__ Source #

Constructors

CloseContainer__ 

Fields

Instances

Instances details
Generic CloseContainer__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep CloseContainer__ 
Instance details

Defined in M.V769.P

type Rep CloseContainer__ = D1 ('MetaData "CloseContainer__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CloseContainer__" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
NFData CloseContainer__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: CloseContainer__ -> () #

Eq CloseContainer__ Source # 
Instance details

Defined in M.V769.P

Ord CloseContainer__ Source # 
Instance details

Defined in M.V769.P

Pack CloseContainer__ Source # 
Instance details

Defined in M.V769.P

Unpack CloseContainer__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CloseContainer__ Source #

type Rep CloseContainer__ Source # 
Instance details

Defined in M.V769.P

type Rep CloseContainer__ = D1 ('MetaData "CloseContainer__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CloseContainer__" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data CloseContainer Source #

Constructors

CloseContainer 

Fields

Instances

Instances details
Data CloseContainer Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CloseContainer -> c CloseContainer #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CloseContainer #

toConstr :: CloseContainer -> Constr #

dataTypeOf :: CloseContainer -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CloseContainer) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CloseContainer) #

gmapT :: (forall b. Data b => b -> b) -> CloseContainer -> CloseContainer #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CloseContainer -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CloseContainer -> r #

gmapQ :: (forall d. Data d => d -> u) -> CloseContainer -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CloseContainer -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CloseContainer -> m CloseContainer #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CloseContainer -> m CloseContainer #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CloseContainer -> m CloseContainer #

Generic CloseContainer Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep CloseContainer 
Instance details

Defined in M.V769.P

type Rep CloseContainer = D1 ('MetaData "CloseContainer" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CloseContainer" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))
Read CloseContainer Source # 
Instance details

Defined in M.V769.P

Show CloseContainer Source # 
Instance details

Defined in M.V769.P

NFData CloseContainer Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: CloseContainer -> () #

Eq CloseContainer Source # 
Instance details

Defined in M.V769.P

Ord CloseContainer Source # 
Instance details

Defined in M.V769.P

Pack CloseContainer Source # 
Instance details

Defined in M.V769.P

Unpack CloseContainer Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CloseContainer Source #

type Rep CloseContainer Source # 
Instance details

Defined in M.V769.P

type Rep CloseContainer = D1 ('MetaData "CloseContainer" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CloseContainer" 'PrefixI 'True) (S1 ('MetaSel ('Just "windowid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data Commands__ Source #

Constructors

Commands__ 

Fields

Instances

Instances details
Generic Commands__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep Commands__ 
Instance details

Defined in M.V769.P

type Rep Commands__ = D1 ('MetaData "Commands__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Commands__" 'PrefixI 'True) (S1 ('MetaSel ('Just "nodes__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector CommandNode)) :*: S1 ('MetaSel ('Just "rootindex__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
NFData Commands__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: Commands__ -> () #

Eq Commands__ Source # 
Instance details

Defined in M.V769.P

Ord Commands__ Source # 
Instance details

Defined in M.V769.P

Pack Commands__ Source # 
Instance details

Defined in M.V769.P

Unpack Commands__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Commands__ Source #

type Rep Commands__ Source # 
Instance details

Defined in M.V769.P

type Rep Commands__ = D1 ('MetaData "Commands__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Commands__" 'PrefixI 'True) (S1 ('MetaSel ('Just "nodes__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector CommandNode)) :*: S1 ('MetaSel ('Just "rootindex__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data Commands Source #

Constructors

Commands 

Fields

Instances

Instances details
Data Commands Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Commands -> c Commands #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Commands #

toConstr :: Commands -> Constr #

dataTypeOf :: Commands -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Commands) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Commands) #

gmapT :: (forall b. Data b => b -> b) -> Commands -> Commands #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Commands -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Commands -> r #

gmapQ :: (forall d. Data d => d -> u) -> Commands -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Commands -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Commands -> m Commands #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Commands -> m Commands #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Commands -> m Commands #

Generic Commands Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep Commands 
Instance details

Defined in M.V769.P

type Rep Commands = D1 ('MetaData "Commands" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Commands" 'PrefixI 'True) (S1 ('MetaSel ('Just "nodes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector CommandNode)) :*: S1 ('MetaSel ('Just "rootindex") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

Methods

from :: Commands -> Rep Commands x #

to :: Rep Commands x -> Commands #

Read Commands Source # 
Instance details

Defined in M.V769.P

Show Commands Source # 
Instance details

Defined in M.V769.P

NFData Commands Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: Commands -> () #

Eq Commands Source # 
Instance details

Defined in M.V769.P

Ord Commands Source # 
Instance details

Defined in M.V769.P

Pack Commands Source # 
Instance details

Defined in M.V769.P

Unpack Commands Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r Commands Source #

type Rep Commands Source # 
Instance details

Defined in M.V769.P

type Rep Commands = D1 ('MetaData "Commands" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "Commands" 'PrefixI 'True) (S1 ('MetaSel ('Just "nodes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector CommandNode)) :*: S1 ('MetaSel ('Just "rootindex") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data CommandMatch Source #

Constructors

CommandMatch 

Instances

Instances details
Data CommandMatch Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CommandMatch -> c CommandMatch #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CommandMatch #

toConstr :: CommandMatch -> Constr #

dataTypeOf :: CommandMatch -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CommandMatch) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CommandMatch) #

gmapT :: (forall b. Data b => b -> b) -> CommandMatch -> CommandMatch #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CommandMatch -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CommandMatch -> r #

gmapQ :: (forall d. Data d => d -> u) -> CommandMatch -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CommandMatch -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CommandMatch -> m CommandMatch #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CommandMatch -> m CommandMatch #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CommandMatch -> m CommandMatch #

Generic CommandMatch Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep CommandMatch 
Instance details

Defined in M.V769.P

type Rep CommandMatch = D1 ('MetaData "CommandMatch" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CommandMatch" 'PrefixI 'True) (S1 ('MetaSel ('Just "match") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "tooltip") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe TextComponent))))
Read CommandMatch Source # 
Instance details

Defined in M.V769.P

Show CommandMatch Source # 
Instance details

Defined in M.V769.P

NFData CommandMatch Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: CommandMatch -> () #

Eq CommandMatch Source # 
Instance details

Defined in M.V769.P

Ord CommandMatch Source # 
Instance details

Defined in M.V769.P

Pack CommandMatch Source # 
Instance details

Defined in M.V769.P

Unpack CommandMatch Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CommandMatch Source #

type Rep CommandMatch Source # 
Instance details

Defined in M.V769.P

type Rep CommandMatch = D1 ('MetaData "CommandMatch" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CommandMatch" 'PrefixI 'True) (S1 ('MetaSel ('Just "match") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "tooltip") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe TextComponent))))

data CommandSuggestionsResponse__ Source #

Instances

Instances details
Generic CommandSuggestionsResponse__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep CommandSuggestionsResponse__ 
Instance details

Defined in M.V769.P

type Rep CommandSuggestionsResponse__ = D1 ('MetaData "CommandSuggestionsResponse__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CommandSuggestionsResponse__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "id__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "start__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)) :*: (S1 ('MetaSel ('Just "length__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "matches__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector CommandMatch)))))
NFData CommandSuggestionsResponse__ Source # 
Instance details

Defined in M.V769.P

Eq CommandSuggestionsResponse__ Source # 
Instance details

Defined in M.V769.P

Ord CommandSuggestionsResponse__ Source # 
Instance details

Defined in M.V769.P

Pack CommandSuggestionsResponse__ Source # 
Instance details

Defined in M.V769.P

Unpack CommandSuggestionsResponse__ Source # 
Instance details

Defined in M.V769.P

type Rep CommandSuggestionsResponse__ Source # 
Instance details

Defined in M.V769.P

type Rep CommandSuggestionsResponse__ = D1 ('MetaData "CommandSuggestionsResponse__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CommandSuggestionsResponse__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "id__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "start__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)) :*: (S1 ('MetaSel ('Just "length__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "matches__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector CommandMatch)))))

data CommandSuggestionsResponse Source #

Constructors

CommandSuggestionsResponse 

Fields

Instances

Instances details
Data CommandSuggestionsResponse Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CommandSuggestionsResponse -> c CommandSuggestionsResponse #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CommandSuggestionsResponse #

toConstr :: CommandSuggestionsResponse -> Constr #

dataTypeOf :: CommandSuggestionsResponse -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CommandSuggestionsResponse) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CommandSuggestionsResponse) #

gmapT :: (forall b. Data b => b -> b) -> CommandSuggestionsResponse -> CommandSuggestionsResponse #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CommandSuggestionsResponse -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CommandSuggestionsResponse -> r #

gmapQ :: (forall d. Data d => d -> u) -> CommandSuggestionsResponse -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CommandSuggestionsResponse -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CommandSuggestionsResponse -> m CommandSuggestionsResponse #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CommandSuggestionsResponse -> m CommandSuggestionsResponse #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CommandSuggestionsResponse -> m CommandSuggestionsResponse #

Generic CommandSuggestionsResponse Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep CommandSuggestionsResponse 
Instance details

Defined in M.V769.P

type Rep CommandSuggestionsResponse = D1 ('MetaData "CommandSuggestionsResponse" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CommandSuggestionsResponse" 'PrefixI 'True) ((S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "start") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)) :*: (S1 ('MetaSel ('Just "length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "matches") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector CommandMatch)))))
Read CommandSuggestionsResponse Source # 
Instance details

Defined in M.V769.P

Show CommandSuggestionsResponse Source # 
Instance details

Defined in M.V769.P

NFData CommandSuggestionsResponse Source # 
Instance details

Defined in M.V769.P

Eq CommandSuggestionsResponse Source # 
Instance details

Defined in M.V769.P

Ord CommandSuggestionsResponse Source # 
Instance details

Defined in M.V769.P

Pack CommandSuggestionsResponse Source # 
Instance details

Defined in M.V769.P

Unpack CommandSuggestionsResponse Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r CommandSuggestionsResponse Source #

type Rep CommandSuggestionsResponse Source # 
Instance details

Defined in M.V769.P

type Rep CommandSuggestionsResponse = D1 ('MetaData "CommandSuggestionsResponse" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "CommandSuggestionsResponse" 'PrefixI 'True) ((S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "start") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)) :*: (S1 ('MetaSel ('Just "length") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "matches") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector CommandMatch)))))

data ClearTitles Source #

Constructors

ClearTitles 

Fields

Instances

Instances details
Data ClearTitles Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ClearTitles -> c ClearTitles #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ClearTitles #

toConstr :: ClearTitles -> Constr #

dataTypeOf :: ClearTitles -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ClearTitles) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ClearTitles) #

gmapT :: (forall b. Data b => b -> b) -> ClearTitles -> ClearTitles #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ClearTitles -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ClearTitles -> r #

gmapQ :: (forall d. Data d => d -> u) -> ClearTitles -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ClearTitles -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ClearTitles -> m ClearTitles #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ClearTitles -> m ClearTitles #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ClearTitles -> m ClearTitles #

Generic ClearTitles Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ClearTitles 
Instance details

Defined in M.V769.P

type Rep ClearTitles = D1 ('MetaData "ClearTitles" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ClearTitles" 'PrefixI 'True) (S1 ('MetaSel ('Just "reset") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))
Read ClearTitles Source # 
Instance details

Defined in M.V769.P

Show ClearTitles Source # 
Instance details

Defined in M.V769.P

NFData ClearTitles Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ClearTitles -> () #

Eq ClearTitles Source # 
Instance details

Defined in M.V769.P

Ord ClearTitles Source # 
Instance details

Defined in M.V769.P

Pack ClearTitles Source # 
Instance details

Defined in M.V769.P

Unpack ClearTitles Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ClearTitles Source #

type Rep ClearTitles Source # 
Instance details

Defined in M.V769.P

type Rep ClearTitles = D1 ('MetaData "ClearTitles" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ClearTitles" 'PrefixI 'True) (S1 ('MetaSel ('Just "reset") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

data ChunkBiomes Source #

Constructors

ChunkBiomes 

Fields

Instances

Instances details
Data ChunkBiomes Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ChunkBiomes -> c ChunkBiomes #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ChunkBiomes #

toConstr :: ChunkBiomes -> Constr #

dataTypeOf :: ChunkBiomes -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ChunkBiomes) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ChunkBiomes) #

gmapT :: (forall b. Data b => b -> b) -> ChunkBiomes -> ChunkBiomes #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ChunkBiomes -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ChunkBiomes -> r #

gmapQ :: (forall d. Data d => d -> u) -> ChunkBiomes -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ChunkBiomes -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ChunkBiomes -> m ChunkBiomes #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ChunkBiomes -> m ChunkBiomes #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ChunkBiomes -> m ChunkBiomes #

Generic ChunkBiomes Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ChunkBiomes 
Instance details

Defined in M.V769.P

Read ChunkBiomes Source # 
Instance details

Defined in M.V769.P

Show ChunkBiomes Source # 
Instance details

Defined in M.V769.P

NFData ChunkBiomes Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ChunkBiomes -> () #

Eq ChunkBiomes Source # 
Instance details

Defined in M.V769.P

Ord ChunkBiomes Source # 
Instance details

Defined in M.V769.P

Pack ChunkBiomes Source # 
Instance details

Defined in M.V769.P

Unpack ChunkBiomes Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChunkBiomes Source #

type Rep ChunkBiomes Source # 
Instance details

Defined in M.V769.P

data ChunkBatchStarted Source #

Constructors

ChunkBatchStarted 

Instances

Instances details
Data ChunkBatchStarted Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ChunkBatchStarted -> c ChunkBatchStarted #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ChunkBatchStarted #

toConstr :: ChunkBatchStarted -> Constr #

dataTypeOf :: ChunkBatchStarted -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ChunkBatchStarted) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ChunkBatchStarted) #

gmapT :: (forall b. Data b => b -> b) -> ChunkBatchStarted -> ChunkBatchStarted #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ChunkBatchStarted -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ChunkBatchStarted -> r #

gmapQ :: (forall d. Data d => d -> u) -> ChunkBatchStarted -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ChunkBatchStarted -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ChunkBatchStarted -> m ChunkBatchStarted #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ChunkBatchStarted -> m ChunkBatchStarted #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ChunkBatchStarted -> m ChunkBatchStarted #

Generic ChunkBatchStarted Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ChunkBatchStarted 
Instance details

Defined in M.V769.P

type Rep ChunkBatchStarted = D1 ('MetaData "ChunkBatchStarted" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChunkBatchStarted" 'PrefixI 'False) (U1 :: Type -> Type))
Read ChunkBatchStarted Source # 
Instance details

Defined in M.V769.P

Show ChunkBatchStarted Source # 
Instance details

Defined in M.V769.P

NFData ChunkBatchStarted Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ChunkBatchStarted -> () #

Eq ChunkBatchStarted Source # 
Instance details

Defined in M.V769.P

Ord ChunkBatchStarted Source # 
Instance details

Defined in M.V769.P

Pack ChunkBatchStarted Source # 
Instance details

Defined in M.V769.P

Unpack ChunkBatchStarted Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChunkBatchStarted Source #

type Rep ChunkBatchStarted Source # 
Instance details

Defined in M.V769.P

type Rep ChunkBatchStarted = D1 ('MetaData "ChunkBatchStarted" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChunkBatchStarted" 'PrefixI 'False) (U1 :: Type -> Type))

data ChunkBatchFinished__ Source #

Constructors

ChunkBatchFinished__ 

Fields

Instances

Instances details
Generic ChunkBatchFinished__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ChunkBatchFinished__ 
Instance details

Defined in M.V769.P

type Rep ChunkBatchFinished__ = D1 ('MetaData "ChunkBatchFinished__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChunkBatchFinished__" 'PrefixI 'True) (S1 ('MetaSel ('Just "batchsize__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
NFData ChunkBatchFinished__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ChunkBatchFinished__ -> () #

Eq ChunkBatchFinished__ Source # 
Instance details

Defined in M.V769.P

Ord ChunkBatchFinished__ Source # 
Instance details

Defined in M.V769.P

Pack ChunkBatchFinished__ Source # 
Instance details

Defined in M.V769.P

Unpack ChunkBatchFinished__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChunkBatchFinished__ Source #

type Rep ChunkBatchFinished__ Source # 
Instance details

Defined in M.V769.P

type Rep ChunkBatchFinished__ = D1 ('MetaData "ChunkBatchFinished__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChunkBatchFinished__" 'PrefixI 'True) (S1 ('MetaSel ('Just "batchsize__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data ChunkBatchFinished Source #

Constructors

ChunkBatchFinished 

Fields

Instances

Instances details
Data ChunkBatchFinished Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ChunkBatchFinished -> c ChunkBatchFinished #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ChunkBatchFinished #

toConstr :: ChunkBatchFinished -> Constr #

dataTypeOf :: ChunkBatchFinished -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ChunkBatchFinished) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ChunkBatchFinished) #

gmapT :: (forall b. Data b => b -> b) -> ChunkBatchFinished -> ChunkBatchFinished #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ChunkBatchFinished -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ChunkBatchFinished -> r #

gmapQ :: (forall d. Data d => d -> u) -> ChunkBatchFinished -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ChunkBatchFinished -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ChunkBatchFinished -> m ChunkBatchFinished #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ChunkBatchFinished -> m ChunkBatchFinished #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ChunkBatchFinished -> m ChunkBatchFinished #

Generic ChunkBatchFinished Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ChunkBatchFinished 
Instance details

Defined in M.V769.P

type Rep ChunkBatchFinished = D1 ('MetaData "ChunkBatchFinished" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChunkBatchFinished" 'PrefixI 'True) (S1 ('MetaSel ('Just "batchsize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))
Read ChunkBatchFinished Source # 
Instance details

Defined in M.V769.P

Show ChunkBatchFinished Source # 
Instance details

Defined in M.V769.P

NFData ChunkBatchFinished Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ChunkBatchFinished -> () #

Eq ChunkBatchFinished Source # 
Instance details

Defined in M.V769.P

Ord ChunkBatchFinished Source # 
Instance details

Defined in M.V769.P

Pack ChunkBatchFinished Source # 
Instance details

Defined in M.V769.P

Unpack ChunkBatchFinished Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChunkBatchFinished Source #

type Rep ChunkBatchFinished Source # 
Instance details

Defined in M.V769.P

type Rep ChunkBatchFinished = D1 ('MetaData "ChunkBatchFinished" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChunkBatchFinished" 'PrefixI 'True) (S1 ('MetaSel ('Just "batchsize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data ChangeDifficulty Source #

Constructors

ChangeDifficulty 

Fields

Instances

Instances details
Data ChangeDifficulty Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ChangeDifficulty -> c ChangeDifficulty #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ChangeDifficulty #

toConstr :: ChangeDifficulty -> Constr #

dataTypeOf :: ChangeDifficulty -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ChangeDifficulty) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ChangeDifficulty) #

gmapT :: (forall b. Data b => b -> b) -> ChangeDifficulty -> ChangeDifficulty #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ChangeDifficulty -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ChangeDifficulty -> r #

gmapQ :: (forall d. Data d => d -> u) -> ChangeDifficulty -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ChangeDifficulty -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ChangeDifficulty -> m ChangeDifficulty #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ChangeDifficulty -> m ChangeDifficulty #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ChangeDifficulty -> m ChangeDifficulty #

Generic ChangeDifficulty Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep ChangeDifficulty 
Instance details

Defined in M.V769.P

type Rep ChangeDifficulty = D1 ('MetaData "ChangeDifficulty" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChangeDifficulty" 'PrefixI 'True) (S1 ('MetaSel ('Just "difficulty") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "locked") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))
Read ChangeDifficulty Source # 
Instance details

Defined in M.V769.P

Show ChangeDifficulty Source # 
Instance details

Defined in M.V769.P

NFData ChangeDifficulty Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: ChangeDifficulty -> () #

Eq ChangeDifficulty Source # 
Instance details

Defined in M.V769.P

Ord ChangeDifficulty Source # 
Instance details

Defined in M.V769.P

Pack ChangeDifficulty Source # 
Instance details

Defined in M.V769.P

Unpack ChangeDifficulty Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r ChangeDifficulty Source #

type Rep ChangeDifficulty Source # 
Instance details

Defined in M.V769.P

type Rep ChangeDifficulty = D1 ('MetaData "ChangeDifficulty" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChangeDifficulty" 'PrefixI 'True) (S1 ('MetaSel ('Just "difficulty") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "locked") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

data BossBar Source #

Constructors

BossBar 

Fields

Instances

Instances details
Data BossBar Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BossBar -> c BossBar #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BossBar #

toConstr :: BossBar -> Constr #

dataTypeOf :: BossBar -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BossBar) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BossBar) #

gmapT :: (forall b. Data b => b -> b) -> BossBar -> BossBar #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BossBar -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BossBar -> r #

gmapQ :: (forall d. Data d => d -> u) -> BossBar -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> BossBar -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> BossBar -> m BossBar #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BossBar -> m BossBar #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BossBar -> m BossBar #

Generic BossBar Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep BossBar 
Instance details

Defined in M.V769.P

type Rep BossBar = D1 ('MetaData "BossBar" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "BossBar" 'PrefixI 'True) (S1 ('MetaSel ('Just "uuid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UUID) :*: S1 ('MetaSel ('Just "action") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BossBarAction)))

Methods

from :: BossBar -> Rep BossBar x #

to :: Rep BossBar x -> BossBar #

Read BossBar Source # 
Instance details

Defined in M.V769.P

Show BossBar Source # 
Instance details

Defined in M.V769.P

NFData BossBar Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: BossBar -> () #

Eq BossBar Source # 
Instance details

Defined in M.V769.P

Methods

(==) :: BossBar -> BossBar -> Bool #

(/=) :: BossBar -> BossBar -> Bool #

Ord BossBar Source # 
Instance details

Defined in M.V769.P

Pack BossBar Source # 
Instance details

Defined in M.V769.P

Methods

pack :: BossBar -> Builder Source #

Unpack BossBar Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r BossBar Source #

type Rep BossBar Source # 
Instance details

Defined in M.V769.P

type Rep BossBar = D1 ('MetaData "BossBar" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "BossBar" 'PrefixI 'True) (S1 ('MetaSel ('Just "uuid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UUID) :*: S1 ('MetaSel ('Just "action") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BossBarAction)))

data BlockUpdate__ Source #

Constructors

BlockUpdate__ 

Instances

Instances details
Generic BlockUpdate__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep BlockUpdate__ 
Instance details

Defined in M.V769.P

type Rep BlockUpdate__ = D1 ('MetaData "BlockUpdate__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "BlockUpdate__" 'PrefixI 'True) (S1 ('MetaSel ('Just "location__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: S1 ('MetaSel ('Just "blockid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
NFData BlockUpdate__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: BlockUpdate__ -> () #

Eq BlockUpdate__ Source # 
Instance details

Defined in M.V769.P

Ord BlockUpdate__ Source # 
Instance details

Defined in M.V769.P

Pack BlockUpdate__ Source # 
Instance details

Defined in M.V769.P

Unpack BlockUpdate__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r BlockUpdate__ Source #

type Rep BlockUpdate__ Source # 
Instance details

Defined in M.V769.P

type Rep BlockUpdate__ = D1 ('MetaData "BlockUpdate__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "BlockUpdate__" 'PrefixI 'True) (S1 ('MetaSel ('Just "location__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: S1 ('MetaSel ('Just "blockid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data BlockUpdate Source #

Constructors

BlockUpdate 

Instances

Instances details
Data BlockUpdate Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BlockUpdate -> c BlockUpdate #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BlockUpdate #

toConstr :: BlockUpdate -> Constr #

dataTypeOf :: BlockUpdate -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BlockUpdate) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BlockUpdate) #

gmapT :: (forall b. Data b => b -> b) -> BlockUpdate -> BlockUpdate #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BlockUpdate -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BlockUpdate -> r #

gmapQ :: (forall d. Data d => d -> u) -> BlockUpdate -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> BlockUpdate -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> BlockUpdate -> m BlockUpdate #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BlockUpdate -> m BlockUpdate #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BlockUpdate -> m BlockUpdate #

Generic BlockUpdate Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep BlockUpdate 
Instance details

Defined in M.V769.P

type Rep BlockUpdate = D1 ('MetaData "BlockUpdate" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "BlockUpdate" 'PrefixI 'True) (S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: S1 ('MetaSel ('Just "blockid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))
Read BlockUpdate Source # 
Instance details

Defined in M.V769.P

Show BlockUpdate Source # 
Instance details

Defined in M.V769.P

NFData BlockUpdate Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: BlockUpdate -> () #

Eq BlockUpdate Source # 
Instance details

Defined in M.V769.P

Ord BlockUpdate Source # 
Instance details

Defined in M.V769.P

Pack BlockUpdate Source # 
Instance details

Defined in M.V769.P

Unpack BlockUpdate Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r BlockUpdate Source #

type Rep BlockUpdate Source # 
Instance details

Defined in M.V769.P

type Rep BlockUpdate = D1 ('MetaData "BlockUpdate" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "BlockUpdate" 'PrefixI 'True) (S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: S1 ('MetaSel ('Just "blockid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data BlockAction__ Source #

Instances

Instances details
Generic BlockAction__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep BlockAction__ 
Instance details

Defined in M.V769.P

type Rep BlockAction__ = D1 ('MetaData "BlockAction__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "BlockAction__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "location__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: S1 ('MetaSel ('Just "actionid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)) :*: (S1 ('MetaSel ('Just "actionparam__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "blocktype__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))))
NFData BlockAction__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: BlockAction__ -> () #

Eq BlockAction__ Source # 
Instance details

Defined in M.V769.P

Ord BlockAction__ Source # 
Instance details

Defined in M.V769.P

Pack BlockAction__ Source # 
Instance details

Defined in M.V769.P

Unpack BlockAction__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r BlockAction__ Source #

type Rep BlockAction__ Source # 
Instance details

Defined in M.V769.P

type Rep BlockAction__ = D1 ('MetaData "BlockAction__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "BlockAction__" 'PrefixI 'True) ((S1 ('MetaSel ('Just "location__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: S1 ('MetaSel ('Just "actionid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)) :*: (S1 ('MetaSel ('Just "actionparam__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "blocktype__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))))

data BlockAction Source #

Instances

Instances details
Data BlockAction Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BlockAction -> c BlockAction #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BlockAction #

toConstr :: BlockAction -> Constr #

dataTypeOf :: BlockAction -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BlockAction) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BlockAction) #

gmapT :: (forall b. Data b => b -> b) -> BlockAction -> BlockAction #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BlockAction -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BlockAction -> r #

gmapQ :: (forall d. Data d => d -> u) -> BlockAction -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> BlockAction -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> BlockAction -> m BlockAction #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BlockAction -> m BlockAction #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BlockAction -> m BlockAction #

Generic BlockAction Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep BlockAction 
Instance details

Defined in M.V769.P

type Rep BlockAction = D1 ('MetaData "BlockAction" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "BlockAction" 'PrefixI 'True) ((S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: S1 ('MetaSel ('Just "actionid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)) :*: (S1 ('MetaSel ('Just "actionparam") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "blocktype") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))
Read BlockAction Source # 
Instance details

Defined in M.V769.P

Show BlockAction Source # 
Instance details

Defined in M.V769.P

NFData BlockAction Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: BlockAction -> () #

Eq BlockAction Source # 
Instance details

Defined in M.V769.P

Ord BlockAction Source # 
Instance details

Defined in M.V769.P

Pack BlockAction Source # 
Instance details

Defined in M.V769.P

Unpack BlockAction Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r BlockAction Source #

type Rep BlockAction Source # 
Instance details

Defined in M.V769.P

type Rep BlockAction = D1 ('MetaData "BlockAction" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "BlockAction" 'PrefixI 'True) ((S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: S1 ('MetaSel ('Just "actionid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)) :*: (S1 ('MetaSel ('Just "actionparam") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8) :*: S1 ('MetaSel ('Just "blocktype") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))

data BlockEntityData__ Source #

Constructors

BlockEntityData__ 

Instances

Instances details
Generic BlockEntityData__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep BlockEntityData__ 
Instance details

Defined in M.V769.P

type Rep BlockEntityData__ = D1 ('MetaData "BlockEntityData__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "BlockEntityData__" 'PrefixI 'True) (S1 ('MetaSel ('Just "location__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: (S1 ('MetaSel ('Just "type___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "data___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tg))))
NFData BlockEntityData__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: BlockEntityData__ -> () #

Eq BlockEntityData__ Source # 
Instance details

Defined in M.V769.P

Ord BlockEntityData__ Source # 
Instance details

Defined in M.V769.P

Pack BlockEntityData__ Source # 
Instance details

Defined in M.V769.P

Unpack BlockEntityData__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r BlockEntityData__ Source #

type Rep BlockEntityData__ Source # 
Instance details

Defined in M.V769.P

type Rep BlockEntityData__ = D1 ('MetaData "BlockEntityData__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "BlockEntityData__" 'PrefixI 'True) (S1 ('MetaSel ('Just "location__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: (S1 ('MetaSel ('Just "type___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "data___") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tg))))

data BlockEntityData Source #

Constructors

BlockEntityData 

Fields

Instances

Instances details
Data BlockEntityData Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BlockEntityData -> c BlockEntityData #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BlockEntityData #

toConstr :: BlockEntityData -> Constr #

dataTypeOf :: BlockEntityData -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BlockEntityData) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BlockEntityData) #

gmapT :: (forall b. Data b => b -> b) -> BlockEntityData -> BlockEntityData #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BlockEntityData -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BlockEntityData -> r #

gmapQ :: (forall d. Data d => d -> u) -> BlockEntityData -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> BlockEntityData -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> BlockEntityData -> m BlockEntityData #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BlockEntityData -> m BlockEntityData #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BlockEntityData -> m BlockEntityData #

Generic BlockEntityData Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep BlockEntityData 
Instance details

Defined in M.V769.P

type Rep BlockEntityData = D1 ('MetaData "BlockEntityData" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "BlockEntityData" 'PrefixI 'True) (S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: (S1 ('MetaSel ('Just "type_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tg))))
Read BlockEntityData Source # 
Instance details

Defined in M.V769.P

Show BlockEntityData Source # 
Instance details

Defined in M.V769.P

NFData BlockEntityData Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: BlockEntityData -> () #

Eq BlockEntityData Source # 
Instance details

Defined in M.V769.P

Ord BlockEntityData Source # 
Instance details

Defined in M.V769.P

Pack BlockEntityData Source # 
Instance details

Defined in M.V769.P

Unpack BlockEntityData Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r BlockEntityData Source #

type Rep BlockEntityData Source # 
Instance details

Defined in M.V769.P

type Rep BlockEntityData = D1 ('MetaData "BlockEntityData" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "BlockEntityData" 'PrefixI 'True) (S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: (S1 ('MetaSel ('Just "type_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Tg))))

data SetBlockDestroyStage__ Source #

Instances

Instances details
Generic SetBlockDestroyStage__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetBlockDestroyStage__ 
Instance details

Defined in M.V769.P

type Rep SetBlockDestroyStage__ = D1 ('MetaData "SetBlockDestroyStage__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetBlockDestroyStage__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "location__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: S1 ('MetaSel ('Just "destroystage__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8))))
NFData SetBlockDestroyStage__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetBlockDestroyStage__ -> () #

Eq SetBlockDestroyStage__ Source # 
Instance details

Defined in M.V769.P

Ord SetBlockDestroyStage__ Source # 
Instance details

Defined in M.V769.P

Pack SetBlockDestroyStage__ Source # 
Instance details

Defined in M.V769.P

Unpack SetBlockDestroyStage__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetBlockDestroyStage__ Source #

type Rep SetBlockDestroyStage__ Source # 
Instance details

Defined in M.V769.P

type Rep SetBlockDestroyStage__ = D1 ('MetaData "SetBlockDestroyStage__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetBlockDestroyStage__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "location__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: S1 ('MetaSel ('Just "destroystage__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8))))

data SetBlockDestroyStage Source #

Instances

Instances details
Data SetBlockDestroyStage Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetBlockDestroyStage -> c SetBlockDestroyStage #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetBlockDestroyStage #

toConstr :: SetBlockDestroyStage -> Constr #

dataTypeOf :: SetBlockDestroyStage -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetBlockDestroyStage) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetBlockDestroyStage) #

gmapT :: (forall b. Data b => b -> b) -> SetBlockDestroyStage -> SetBlockDestroyStage #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetBlockDestroyStage -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetBlockDestroyStage -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetBlockDestroyStage -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetBlockDestroyStage -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetBlockDestroyStage -> m SetBlockDestroyStage #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetBlockDestroyStage -> m SetBlockDestroyStage #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetBlockDestroyStage -> m SetBlockDestroyStage #

Generic SetBlockDestroyStage Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SetBlockDestroyStage 
Instance details

Defined in M.V769.P

type Rep SetBlockDestroyStage = D1 ('MetaData "SetBlockDestroyStage" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetBlockDestroyStage" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: S1 ('MetaSel ('Just "destroystage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8))))
Read SetBlockDestroyStage Source # 
Instance details

Defined in M.V769.P

Show SetBlockDestroyStage Source # 
Instance details

Defined in M.V769.P

NFData SetBlockDestroyStage Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SetBlockDestroyStage -> () #

Eq SetBlockDestroyStage Source # 
Instance details

Defined in M.V769.P

Ord SetBlockDestroyStage Source # 
Instance details

Defined in M.V769.P

Pack SetBlockDestroyStage Source # 
Instance details

Defined in M.V769.P

Unpack SetBlockDestroyStage Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SetBlockDestroyStage Source #

type Rep SetBlockDestroyStage Source # 
Instance details

Defined in M.V769.P

type Rep SetBlockDestroyStage = D1 ('MetaData "SetBlockDestroyStage" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SetBlockDestroyStage" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: S1 ('MetaSel ('Just "destroystage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8))))

data AcknowledgeBlockChange__ Source #

Instances

Instances details
Generic AcknowledgeBlockChange__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep AcknowledgeBlockChange__ 
Instance details

Defined in M.V769.P

type Rep AcknowledgeBlockChange__ = D1 ('MetaData "AcknowledgeBlockChange__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "AcknowledgeBlockChange__" 'PrefixI 'True) (S1 ('MetaSel ('Just "sequence__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))
NFData AcknowledgeBlockChange__ Source # 
Instance details

Defined in M.V769.P

Eq AcknowledgeBlockChange__ Source # 
Instance details

Defined in M.V769.P

Ord AcknowledgeBlockChange__ Source # 
Instance details

Defined in M.V769.P

Pack AcknowledgeBlockChange__ Source # 
Instance details

Defined in M.V769.P

Unpack AcknowledgeBlockChange__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r AcknowledgeBlockChange__ Source #

type Rep AcknowledgeBlockChange__ Source # 
Instance details

Defined in M.V769.P

type Rep AcknowledgeBlockChange__ = D1 ('MetaData "AcknowledgeBlockChange__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "AcknowledgeBlockChange__" 'PrefixI 'True) (S1 ('MetaSel ('Just "sequence__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt)))

data AcknowledgeBlockChange Source #

Constructors

AcknowledgeBlockChange 

Fields

Instances

Instances details
Data AcknowledgeBlockChange Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AcknowledgeBlockChange -> c AcknowledgeBlockChange #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AcknowledgeBlockChange #

toConstr :: AcknowledgeBlockChange -> Constr #

dataTypeOf :: AcknowledgeBlockChange -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AcknowledgeBlockChange) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AcknowledgeBlockChange) #

gmapT :: (forall b. Data b => b -> b) -> AcknowledgeBlockChange -> AcknowledgeBlockChange #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AcknowledgeBlockChange -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AcknowledgeBlockChange -> r #

gmapQ :: (forall d. Data d => d -> u) -> AcknowledgeBlockChange -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> AcknowledgeBlockChange -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AcknowledgeBlockChange -> m AcknowledgeBlockChange #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AcknowledgeBlockChange -> m AcknowledgeBlockChange #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AcknowledgeBlockChange -> m AcknowledgeBlockChange #

Generic AcknowledgeBlockChange Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep AcknowledgeBlockChange 
Instance details

Defined in M.V769.P

type Rep AcknowledgeBlockChange = D1 ('MetaData "AcknowledgeBlockChange" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "AcknowledgeBlockChange" 'PrefixI 'True) (S1 ('MetaSel ('Just "sequence") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))
Read AcknowledgeBlockChange Source # 
Instance details

Defined in M.V769.P

Show AcknowledgeBlockChange Source # 
Instance details

Defined in M.V769.P

NFData AcknowledgeBlockChange Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: AcknowledgeBlockChange -> () #

Eq AcknowledgeBlockChange Source # 
Instance details

Defined in M.V769.P

Ord AcknowledgeBlockChange Source # 
Instance details

Defined in M.V769.P

Pack AcknowledgeBlockChange Source # 
Instance details

Defined in M.V769.P

Unpack AcknowledgeBlockChange Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r AcknowledgeBlockChange Source #

type Rep AcknowledgeBlockChange Source # 
Instance details

Defined in M.V769.P

type Rep AcknowledgeBlockChange = D1 ('MetaData "AcknowledgeBlockChange" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "AcknowledgeBlockChange" 'PrefixI 'True) (S1 ('MetaSel ('Just "sequence") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32)))

data AwardStatistics_Entry__ Source #

Instances

Instances details
Generic AwardStatistics_Entry__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep AwardStatistics_Entry__ 
Instance details

Defined in M.V769.P

type Rep AwardStatistics_Entry__ = D1 ('MetaData "AwardStatistics_Entry__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "AwardStatistics_Entry__" 'PrefixI 'True) (S1 ('MetaSel ('Just "categoryid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "statisticid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "value__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))))
NFData AwardStatistics_Entry__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: AwardStatistics_Entry__ -> () #

Eq AwardStatistics_Entry__ Source # 
Instance details

Defined in M.V769.P

Ord AwardStatistics_Entry__ Source # 
Instance details

Defined in M.V769.P

Pack AwardStatistics_Entry__ Source # 
Instance details

Defined in M.V769.P

Unpack AwardStatistics_Entry__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r AwardStatistics_Entry__ Source #

type Rep AwardStatistics_Entry__ Source # 
Instance details

Defined in M.V769.P

type Rep AwardStatistics_Entry__ = D1 ('MetaData "AwardStatistics_Entry__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "AwardStatistics_Entry__" 'PrefixI 'True) (S1 ('MetaSel ('Just "categoryid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "statisticid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "value__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt))))

data AwardStatistics_Entry Source #

Instances

Instances details
Data AwardStatistics_Entry Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AwardStatistics_Entry -> c AwardStatistics_Entry #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AwardStatistics_Entry #

toConstr :: AwardStatistics_Entry -> Constr #

dataTypeOf :: AwardStatistics_Entry -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AwardStatistics_Entry) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AwardStatistics_Entry) #

gmapT :: (forall b. Data b => b -> b) -> AwardStatistics_Entry -> AwardStatistics_Entry #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AwardStatistics_Entry -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AwardStatistics_Entry -> r #

gmapQ :: (forall d. Data d => d -> u) -> AwardStatistics_Entry -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> AwardStatistics_Entry -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AwardStatistics_Entry -> m AwardStatistics_Entry #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AwardStatistics_Entry -> m AwardStatistics_Entry #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AwardStatistics_Entry -> m AwardStatistics_Entry #

Generic AwardStatistics_Entry Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep AwardStatistics_Entry 
Instance details

Defined in M.V769.P

type Rep AwardStatistics_Entry = D1 ('MetaData "AwardStatistics_Entry" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "AwardStatistics_Entry" 'PrefixI 'True) (S1 ('MetaSel ('Just "categoryid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "statisticid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "value") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))
Read AwardStatistics_Entry Source # 
Instance details

Defined in M.V769.P

Show AwardStatistics_Entry Source # 
Instance details

Defined in M.V769.P

NFData AwardStatistics_Entry Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: AwardStatistics_Entry -> () #

Eq AwardStatistics_Entry Source # 
Instance details

Defined in M.V769.P

Ord AwardStatistics_Entry Source # 
Instance details

Defined in M.V769.P

Pack AwardStatistics_Entry Source # 
Instance details

Defined in M.V769.P

Unpack AwardStatistics_Entry Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r AwardStatistics_Entry Source #

type Rep AwardStatistics_Entry Source # 
Instance details

Defined in M.V769.P

type Rep AwardStatistics_Entry = D1 ('MetaData "AwardStatistics_Entry" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "AwardStatistics_Entry" 'PrefixI 'True) (S1 ('MetaSel ('Just "categoryid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "statisticid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "value") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))))

data AwardStatistics Source #

Constructors

AwardStatistics 

Fields

Instances

Instances details
Data AwardStatistics Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AwardStatistics -> c AwardStatistics #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AwardStatistics #

toConstr :: AwardStatistics -> Constr #

dataTypeOf :: AwardStatistics -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AwardStatistics) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AwardStatistics) #

gmapT :: (forall b. Data b => b -> b) -> AwardStatistics -> AwardStatistics #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AwardStatistics -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AwardStatistics -> r #

gmapQ :: (forall d. Data d => d -> u) -> AwardStatistics -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> AwardStatistics -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AwardStatistics -> m AwardStatistics #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AwardStatistics -> m AwardStatistics #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AwardStatistics -> m AwardStatistics #

Generic AwardStatistics Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep AwardStatistics 
Instance details

Defined in M.V769.P

type Rep AwardStatistics = D1 ('MetaData "AwardStatistics" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "AwardStatistics" 'PrefixI 'True) (S1 ('MetaSel ('Just "stats") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector AwardStatistics_Entry))))
Read AwardStatistics Source # 
Instance details

Defined in M.V769.P

Show AwardStatistics Source # 
Instance details

Defined in M.V769.P

NFData AwardStatistics Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: AwardStatistics -> () #

Eq AwardStatistics Source # 
Instance details

Defined in M.V769.P

Ord AwardStatistics Source # 
Instance details

Defined in M.V769.P

Pack AwardStatistics Source # 
Instance details

Defined in M.V769.P

Unpack AwardStatistics Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r AwardStatistics Source #

type Rep AwardStatistics Source # 
Instance details

Defined in M.V769.P

type Rep AwardStatistics = D1 ('MetaData "AwardStatistics" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "AwardStatistics" 'PrefixI 'True) (S1 ('MetaSel ('Just "stats") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector AwardStatistics_Entry))))

data EntityAnimation__ Source #

Instances

Instances details
Generic EntityAnimation__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep EntityAnimation__ 
Instance details

Defined in M.V769.P

type Rep EntityAnimation__ = D1 ('MetaData "EntityAnimation__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EntityAnimation__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "animation__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))
NFData EntityAnimation__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: EntityAnimation__ -> () #

Eq EntityAnimation__ Source # 
Instance details

Defined in M.V769.P

Ord EntityAnimation__ Source # 
Instance details

Defined in M.V769.P

Pack EntityAnimation__ Source # 
Instance details

Defined in M.V769.P

Unpack EntityAnimation__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EntityAnimation__ Source #

type Rep EntityAnimation__ Source # 
Instance details

Defined in M.V769.P

type Rep EntityAnimation__ = D1 ('MetaData "EntityAnimation__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EntityAnimation__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: S1 ('MetaSel ('Just "animation__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))

data EntityAnimation Source #

Constructors

EntityAnimation 

Fields

Instances

Instances details
Data EntityAnimation Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> EntityAnimation -> c EntityAnimation #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c EntityAnimation #

toConstr :: EntityAnimation -> Constr #

dataTypeOf :: EntityAnimation -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c EntityAnimation) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c EntityAnimation) #

gmapT :: (forall b. Data b => b -> b) -> EntityAnimation -> EntityAnimation #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> EntityAnimation -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> EntityAnimation -> r #

gmapQ :: (forall d. Data d => d -> u) -> EntityAnimation -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> EntityAnimation -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> EntityAnimation -> m EntityAnimation #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> EntityAnimation -> m EntityAnimation #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> EntityAnimation -> m EntityAnimation #

Generic EntityAnimation Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep EntityAnimation 
Instance details

Defined in M.V769.P

type Rep EntityAnimation = D1 ('MetaData "EntityAnimation" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EntityAnimation" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "animation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))
Read EntityAnimation Source # 
Instance details

Defined in M.V769.P

Show EntityAnimation Source # 
Instance details

Defined in M.V769.P

NFData EntityAnimation Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: EntityAnimation -> () #

Eq EntityAnimation Source # 
Instance details

Defined in M.V769.P

Ord EntityAnimation Source # 
Instance details

Defined in M.V769.P

Pack EntityAnimation Source # 
Instance details

Defined in M.V769.P

Unpack EntityAnimation Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r EntityAnimation Source #

type Rep EntityAnimation Source # 
Instance details

Defined in M.V769.P

type Rep EntityAnimation = D1 ('MetaData "EntityAnimation" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "EntityAnimation" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: S1 ('MetaSel ('Just "animation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word8)))

data SpawnExperienceOrb__ Source #

Instances

Instances details
Generic SpawnExperienceOrb__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SpawnExperienceOrb__ 
Instance details

Defined in M.V769.P

type Rep SpawnExperienceOrb__ = D1 ('MetaData "SpawnExperienceOrb__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SpawnExperienceOrb__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "position__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double)) :*: S1 ('MetaSel ('Just "count__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16))))
NFData SpawnExperienceOrb__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SpawnExperienceOrb__ -> () #

Eq SpawnExperienceOrb__ Source # 
Instance details

Defined in M.V769.P

Ord SpawnExperienceOrb__ Source # 
Instance details

Defined in M.V769.P

Pack SpawnExperienceOrb__ Source # 
Instance details

Defined in M.V769.P

Unpack SpawnExperienceOrb__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SpawnExperienceOrb__ Source #

type Rep SpawnExperienceOrb__ Source # 
Instance details

Defined in M.V769.P

type Rep SpawnExperienceOrb__ = D1 ('MetaData "SpawnExperienceOrb__" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SpawnExperienceOrb__" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VarInt) :*: (S1 ('MetaSel ('Just "position__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double)) :*: S1 ('MetaSel ('Just "count__") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16))))

data SpawnExperienceOrb Source #

Constructors

SpawnExperienceOrb 

Fields

Instances

Instances details
Data SpawnExperienceOrb Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SpawnExperienceOrb -> c SpawnExperienceOrb #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SpawnExperienceOrb #

toConstr :: SpawnExperienceOrb -> Constr #

dataTypeOf :: SpawnExperienceOrb -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SpawnExperienceOrb) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SpawnExperienceOrb) #

gmapT :: (forall b. Data b => b -> b) -> SpawnExperienceOrb -> SpawnExperienceOrb #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SpawnExperienceOrb -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SpawnExperienceOrb -> r #

gmapQ :: (forall d. Data d => d -> u) -> SpawnExperienceOrb -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SpawnExperienceOrb -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SpawnExperienceOrb -> m SpawnExperienceOrb #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SpawnExperienceOrb -> m SpawnExperienceOrb #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SpawnExperienceOrb -> m SpawnExperienceOrb #

Generic SpawnExperienceOrb Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SpawnExperienceOrb 
Instance details

Defined in M.V769.P

type Rep SpawnExperienceOrb = D1 ('MetaData "SpawnExperienceOrb" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SpawnExperienceOrb" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "position") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double)) :*: S1 ('MetaSel ('Just "count") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16))))
Read SpawnExperienceOrb Source # 
Instance details

Defined in M.V769.P

Show SpawnExperienceOrb Source # 
Instance details

Defined in M.V769.P

NFData SpawnExperienceOrb Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SpawnExperienceOrb -> () #

Eq SpawnExperienceOrb Source # 
Instance details

Defined in M.V769.P

Ord SpawnExperienceOrb Source # 
Instance details

Defined in M.V769.P

Pack SpawnExperienceOrb Source # 
Instance details

Defined in M.V769.P

Unpack SpawnExperienceOrb Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SpawnExperienceOrb Source #

type Rep SpawnExperienceOrb Source # 
Instance details

Defined in M.V769.P

type Rep SpawnExperienceOrb = D1 ('MetaData "SpawnExperienceOrb" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "SpawnExperienceOrb" 'PrefixI 'True) (S1 ('MetaSel ('Just "entityid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "position") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (V3 Double)) :*: S1 ('MetaSel ('Just "count") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int16))))

data SpawnEntity__ Source #

Instances

Instances details
Generic SpawnEntity__ Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SpawnEntity__ 
Instance details

Defined in M.V769.P

NFData SpawnEntity__ Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SpawnEntity__ -> () #

Eq SpawnEntity__ Source # 
Instance details

Defined in M.V769.P

Ord SpawnEntity__ Source # 
Instance details

Defined in M.V769.P

Pack SpawnEntity__ Source # 
Instance details

Defined in M.V769.P

Unpack SpawnEntity__ Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SpawnEntity__ Source #

type Rep SpawnEntity__ Source # 
Instance details

Defined in M.V769.P

data SpawnEntity Source #

Constructors

SpawnEntity 

Fields

Instances

Instances details
Data SpawnEntity Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SpawnEntity -> c SpawnEntity #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SpawnEntity #

toConstr :: SpawnEntity -> Constr #

dataTypeOf :: SpawnEntity -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SpawnEntity) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SpawnEntity) #

gmapT :: (forall b. Data b => b -> b) -> SpawnEntity -> SpawnEntity #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SpawnEntity -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SpawnEntity -> r #

gmapQ :: (forall d. Data d => d -> u) -> SpawnEntity -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SpawnEntity -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SpawnEntity -> m SpawnEntity #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SpawnEntity -> m SpawnEntity #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SpawnEntity -> m SpawnEntity #

Generic SpawnEntity Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep SpawnEntity 
Instance details

Defined in M.V769.P

Read SpawnEntity Source # 
Instance details

Defined in M.V769.P

Show SpawnEntity Source # 
Instance details

Defined in M.V769.P

NFData SpawnEntity Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: SpawnEntity -> () #

Eq SpawnEntity Source # 
Instance details

Defined in M.V769.P

Ord SpawnEntity Source # 
Instance details

Defined in M.V769.P

Pack SpawnEntity Source # 
Instance details

Defined in M.V769.P

Unpack SpawnEntity Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r SpawnEntity Source #

type Rep SpawnEntity Source # 
Instance details

Defined in M.V769.P

data BundleDelimiter Source #

Constructors

BundleDelimiter 

Instances

Instances details
Data BundleDelimiter Source # 
Instance details

Defined in M.V769.P

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BundleDelimiter -> c BundleDelimiter #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BundleDelimiter #

toConstr :: BundleDelimiter -> Constr #

dataTypeOf :: BundleDelimiter -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BundleDelimiter) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BundleDelimiter) #

gmapT :: (forall b. Data b => b -> b) -> BundleDelimiter -> BundleDelimiter #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BundleDelimiter -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BundleDelimiter -> r #

gmapQ :: (forall d. Data d => d -> u) -> BundleDelimiter -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> BundleDelimiter -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> BundleDelimiter -> m BundleDelimiter #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BundleDelimiter -> m BundleDelimiter #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BundleDelimiter -> m BundleDelimiter #

Generic BundleDelimiter Source # 
Instance details

Defined in M.V769.P

Associated Types

type Rep BundleDelimiter 
Instance details

Defined in M.V769.P

type Rep BundleDelimiter = D1 ('MetaData "BundleDelimiter" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "BundleDelimiter" 'PrefixI 'False) (U1 :: Type -> Type))
Read BundleDelimiter Source # 
Instance details

Defined in M.V769.P

Show BundleDelimiter Source # 
Instance details

Defined in M.V769.P

NFData BundleDelimiter Source # 
Instance details

Defined in M.V769.P

Methods

rnf :: BundleDelimiter -> () #

Eq BundleDelimiter Source # 
Instance details

Defined in M.V769.P

Ord BundleDelimiter Source # 
Instance details

Defined in M.V769.P

Pack BundleDelimiter Source # 
Instance details

Defined in M.V769.P

Unpack BundleDelimiter Source # 
Instance details

Defined in M.V769.P

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r BundleDelimiter Source #

type Rep BundleDelimiter Source # 
Instance details

Defined in M.V769.P

type Rep BundleDelimiter = D1 ('MetaData "BundleDelimiter" "M.V769.P" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "BundleDelimiter" 'PrefixI 'False) (U1 :: Type -> Type))
\ No newline at end of file diff --git a/M-V769-Reg.html b/M-V769-Reg.html new file mode 100644 index 0000000..cc9524a --- /dev/null +++ b/M-V769-Reg.html @@ -0,0 +1,5 @@ +M.V769.Reg
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.V769.Reg

Description

Defines packet state registrations for protocol version 769 using Template Haskell. + This module maps packet types to their numeric codes for different connection states: + handshake, status, login, configuration and play.

States

  • Handshake - Initial connection handshake
  • Status - Server status/ping
  • Login - Authentication and encryption
  • Configuration - Server/client capability exchange
  • Play - Main game state

Each state defines bidirectional packet mappings using the states quasi-quoter. + Packet definitions include receive (client->server) and send (server->client) codes.

Documentation

data ParserStates Source #

Represents a pair of parser states - one for server-side parsing and one for client-side. + The states contain mappings between packet types, codes and identifiers.

\ No newline at end of file diff --git a/M-V769-S.html b/M-V769-S.html new file mode 100644 index 0000000..fb88c58 --- /dev/null +++ b/M-V769-S.html @@ -0,0 +1,3 @@ +M.V769.S
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
Copyright(c) axionbuster 2025
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

M.V769.S

Description

Defines packet structures for the status state of protocol version 769, + handling server list ping functionality including server status queries + and latency checks.

Documentation

data PongResponse Source #

Constructors

PongResponse 

Fields

Instances

Instances details
Data PongResponse Source # 
Instance details

Defined in M.V769.S

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PongResponse -> c PongResponse #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PongResponse #

toConstr :: PongResponse -> Constr #

dataTypeOf :: PongResponse -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PongResponse) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PongResponse) #

gmapT :: (forall b. Data b => b -> b) -> PongResponse -> PongResponse #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PongResponse -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PongResponse -> r #

gmapQ :: (forall d. Data d => d -> u) -> PongResponse -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PongResponse -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PongResponse -> m PongResponse #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PongResponse -> m PongResponse #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PongResponse -> m PongResponse #

Generic PongResponse Source # 
Instance details

Defined in M.V769.S

Associated Types

type Rep PongResponse 
Instance details

Defined in M.V769.S

type Rep PongResponse = D1 ('MetaData "PongResponse" "M.V769.S" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PongResponse" 'PrefixI 'True) (S1 ('MetaSel ('Just "payload") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64)))
Read PongResponse Source # 
Instance details

Defined in M.V769.S

Show PongResponse Source # 
Instance details

Defined in M.V769.S

NFData PongResponse Source # 
Instance details

Defined in M.V769.S

Methods

rnf :: PongResponse -> () #

Eq PongResponse Source # 
Instance details

Defined in M.V769.S

Ord PongResponse Source # 
Instance details

Defined in M.V769.S

Pack PongResponse Source # 
Instance details

Defined in M.V769.S

Unpack PongResponse Source # 
Instance details

Defined in M.V769.S

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r PongResponse Source #

type Rep PongResponse Source # 
Instance details

Defined in M.V769.S

type Rep PongResponse = D1 ('MetaData "PongResponse" "M.V769.S" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "PongResponse" 'PrefixI 'True) (S1 ('MetaSel ('Just "payload") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int64)))

data StatusRequest Source #

Constructors

StatusRequest 

Instances

Instances details
Data StatusRequest Source # 
Instance details

Defined in M.V769.S

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> StatusRequest -> c StatusRequest #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c StatusRequest #

toConstr :: StatusRequest -> Constr #

dataTypeOf :: StatusRequest -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c StatusRequest) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c StatusRequest) #

gmapT :: (forall b. Data b => b -> b) -> StatusRequest -> StatusRequest #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> StatusRequest -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> StatusRequest -> r #

gmapQ :: (forall d. Data d => d -> u) -> StatusRequest -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> StatusRequest -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> StatusRequest -> m StatusRequest #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> StatusRequest -> m StatusRequest #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> StatusRequest -> m StatusRequest #

Generic StatusRequest Source # 
Instance details

Defined in M.V769.S

Associated Types

type Rep StatusRequest 
Instance details

Defined in M.V769.S

type Rep StatusRequest = D1 ('MetaData "StatusRequest" "M.V769.S" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "StatusRequest" 'PrefixI 'False) (U1 :: Type -> Type))
Read StatusRequest Source # 
Instance details

Defined in M.V769.S

Show StatusRequest Source # 
Instance details

Defined in M.V769.S

NFData StatusRequest Source # 
Instance details

Defined in M.V769.S

Methods

rnf :: StatusRequest -> () #

Eq StatusRequest Source # 
Instance details

Defined in M.V769.S

Ord StatusRequest Source # 
Instance details

Defined in M.V769.S

Pack StatusRequest Source # 
Instance details

Defined in M.V769.S

Unpack StatusRequest Source # 
Instance details

Defined in M.V769.S

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r StatusRequest Source #

type Rep StatusRequest Source # 
Instance details

Defined in M.V769.S

type Rep StatusRequest = D1 ('MetaData "StatusRequest" "M.V769.S" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "StatusRequest" 'PrefixI 'False) (U1 :: Type -> Type))

data StatusResponse Source #

Constructors

StatusResponse 

Fields

Instances

Instances details
Data StatusResponse Source # 
Instance details

Defined in M.V769.S

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> StatusResponse -> c StatusResponse #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c StatusResponse #

toConstr :: StatusResponse -> Constr #

dataTypeOf :: StatusResponse -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c StatusResponse) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c StatusResponse) #

gmapT :: (forall b. Data b => b -> b) -> StatusResponse -> StatusResponse #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> StatusResponse -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> StatusResponse -> r #

gmapQ :: (forall d. Data d => d -> u) -> StatusResponse -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> StatusResponse -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> StatusResponse -> m StatusResponse #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> StatusResponse -> m StatusResponse #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> StatusResponse -> m StatusResponse #

Generic StatusResponse Source # 
Instance details

Defined in M.V769.S

Associated Types

type Rep StatusResponse 
Instance details

Defined in M.V769.S

type Rep StatusResponse = D1 ('MetaData "StatusResponse" "M.V769.S" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "StatusResponse" 'PrefixI 'True) (S1 ('MetaSel ('Just "jsonresponse") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Read StatusResponse Source # 
Instance details

Defined in M.V769.S

Show StatusResponse Source # 
Instance details

Defined in M.V769.S

NFData StatusResponse Source # 
Instance details

Defined in M.V769.S

Methods

rnf :: StatusResponse -> () #

Eq StatusResponse Source # 
Instance details

Defined in M.V769.S

Ord StatusResponse Source # 
Instance details

Defined in M.V769.S

Pack StatusResponse Source # 
Instance details

Defined in M.V769.S

Unpack StatusResponse Source # 
Instance details

Defined in M.V769.S

Methods

unpack :: forall (st :: ZeroBitType) r. Parser st r StatusResponse Source #

type Rep StatusResponse Source # 
Instance details

Defined in M.V769.S

type Rep StatusResponse = D1 ('MetaData "StatusResponse" "M.V769.S" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "StatusResponse" 'PrefixI 'True) (S1 ('MetaSel ('Just "jsonresponse") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
\ No newline at end of file diff --git a/doc-index-95.html b/doc-index-95.html new file mode 100644 index 0000000..7908984 --- /dev/null +++ b/doc-index-95.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - _)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - _

_centerM.Collision.Pure, M.Collision
_dimensionsM.Collision.Pure, M.Collision
_hcornerM.Collision.Pure, M.Collision
_lcornerM.Collision.Pure, M.Collision
_resdisM.Collision.Effectful, M.Collision
_resposM.Collision.Effectful, M.Collision
_restouM.Collision.Effectful, M.Collision
\ No newline at end of file diff --git a/doc-index-A.html b/doc-index-A.html new file mode 100644 index 0000000..aa9d3c4 --- /dev/null +++ b/doc-index-A.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - A)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - A

AcknowledgeBlockChange 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
AcknowledgeBlockChange__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
AcknowledgeConfiguration 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
AcknowledgeFinishConfiguration 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
AcknowledgeMessage 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
action 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
actionid 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
actionid__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
actionparamM.V769.P
actionparam__M.V769.P
action__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
AddResourcePack 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
AESM.Crypto
AESClassM.Crypto
aesnewM.Crypto
aesupdateM.Crypto
affectedblocksM.V769.P
allowserverlistings 
1 (Function)M.V769.C
2 (Function)M.V769.P
allowserverlistings__ 
1 (Function)M.V769.C
2 (Function)M.V769.P
amountM.V769.P
amount__M.V769.P
angleM.V769.P
animationM.V769.P
animation__M.V769.P
argumentsignatures 
1 (Function)M.V769.P
2 (Function)M.V769.P
AwardStatistics 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
AwardStatistics_Entry 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
AwardStatistics_Entry__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
\ No newline at end of file diff --git a/doc-index-All.html b/doc-index-All.html new file mode 100644 index 0000000..795bd25 --- /dev/null +++ b/doc-index-All.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index

AcknowledgeBlockChange 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
AcknowledgeBlockChange__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
AcknowledgeConfiguration 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
AcknowledgeFinishConfiguration 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
AcknowledgeMessage 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
action 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
actionid 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
actionid__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
actionparamM.V769.P
actionparam__M.V769.P
action__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
AddResourcePack 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
AESM.Crypto
AESClassM.Crypto
aesnewM.Crypto
aesupdateM.Crypto
affectedblocksM.V769.P
allowserverlistings 
1 (Function)M.V769.C
2 (Function)M.V769.P
allowserverlistings__ 
1 (Function)M.V769.C
2 (Function)M.V769.P
amountM.V769.P
amount__M.V769.P
angleM.V769.P
animationM.V769.P
animation__M.V769.P
argumentsignatures 
1 (Function)M.V769.P
2 (Function)M.V769.P
AwardStatistics 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
AwardStatistics_Entry 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
AwardStatistics_Entry__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
batchsizeM.V769.P
batchsize__M.V769.P
BCBlueM.V769.I
BCGreenM.V769.I
BCPinkM.V769.I
BCPurpleM.V769.I
BCRedM.V769.I
BCWhiteM.V769.I
BCYellowM.V769.I
bedataM.Chunk.Net
berelheightM.Chunk.Net
betypeM.Chunk.Net
bexzM.Chunk.Net
BitreppableM.Pack.Internal.Bit, M.Pack
Bitset 
1 (Type/Class)M.Pack.Internal.Bit, M.Pack
2 (Data Constructor)M.Pack.Internal.Bit, M.Pack
Bitwise 
1 (Type/Class)M.Pack.Internal.Bit, M.Pack
2 (Data Constructor)M.Pack.Internal.Bit, M.Pack
BlockAction 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
BlockAction__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
BlockEntity 
1 (Type/Class)M.Chunk.Net
2 (Data Constructor)M.Chunk.Net
BlockEntityData 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
BlockEntityData__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
blockidM.V769.P
blockid__M.V769.P
blocksM.V769.P
blocks__M.V769.P
blocktypeM.V769.P
blocktype__M.V769.P
BlockUpdate 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
BlockUpdate__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
bookid 
1 (Function)M.V769.P
2 (Function)M.V769.P
bookid__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
bookopen 
1 (Function)M.V769.P
2 (Function)M.V769.P
bookopen__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
borrowderivenothingM.Pack.Internal.TH, M.Pack
borrowderivepackunpackM.Pack.Internal.TH, M.Pack
BossBar 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
BossBarActionM.TODO
BossBarColorM.V769.I
Box 
1 (Type/Class)M.Collision.Pure, M.Collision
2 (Data Constructor)M.Collision.Pure, M.Collision
Box'M.Collision.Pure, M.Collision
boxfromcornersM.Collision.Pure, M.Collision
boxzeroM.Collision.Pure, M.Collision
BundleDelimiter 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
BundleItemSelected 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
BundleItemSelected__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
buttonM.V769.P
buttonidM.V769.P
button__M.V769.P
ByteM.NBT.Internal.Types, M.NBT
ByteArrayM.NBT.Internal.Types, M.NBT
ByteStringM.Crypto
cameraidM.V769.P
cameraid__M.V769.P
canrestockM.V769.P
canrestock__M.V769.P
capeM.V769.I
carrieditemM.V769.P
carrieditem__M.V769.P
castshape1M.Collision.Pure, M.Collision
castsomepackM.Pack.Internal.Types, M.Pack
castsomeunpackM.Pack.Internal.Types, M.Pack
categoryidM.V769.P
categoryid__M.V769.P
cdblockentitiesM.Chunk.Net
cddataM.Chunk.Net
cdhmapsM.Chunk.Net
centerM.Collision.Pure, M.Collision
cesu8astextM.NBT.Internal.JS
ChangeContainerSlotState 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ChangeDifficulty 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ChangeRecipeBookSettings 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ChangeRecipeBookSettings__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
channel 
1 (Function)M.V769.I
2 (Function)M.V769.L
channel__M.V769.L
chatcolors 
1 (Function)M.V769.C
2 (Function)M.V769.P
chatcolors__ 
1 (Function)M.V769.C
2 (Function)M.V769.P
ChatMessage 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ChatModeM.V769.I
chatmode 
1 (Function)M.V769.C
2 (Function)M.V769.P
chatmode__ 
1 (Function)M.V769.C
2 (Function)M.V769.P
ChatSuggestions 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ChatSuggestions__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
chattypeM.V769.P
chattype__M.V769.P
ChunkBatchFinished 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ChunkBatchFinished__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ChunkBatchReceived 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ChunkBatchStarted 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ChunkBiomes 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ChunkData 
1 (Type/Class)M.Chunk.Net
2 (Data Constructor)M.Chunk.Net
ChunkDataAndUpdateLight 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ChunkSection 
1 (Type/Class)M.Chunk.Code
2 (Data Constructor)M.Chunk.Code
ChunkSectionEncoding 
1 (Type/Class)M.Chunk.Code
2 (Data Constructor)M.Chunk.Code
chunkx 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
chunkx__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
chunkz 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
chunkz__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
ClearTitles 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ClickContainer 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ClickContainerButton 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ClickContainer__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ClientboundPlayerAbilities 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ClientInformationConfiguration 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
ClientInformationConfiguration__ 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
ClientInformationPlay 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ClientInformationPlay__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ClientStatus 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ClientStatus__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ClientTickEnd 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
CloseContainer 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
CloseContainerServerbound 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
CloseContainer__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
CMCommandsOnlyM.V769.I
CMEnabledM.V769.I
CMHiddenM.V769.I
CodeM.IO.Internal.EffectTypes, M.IO
collisionruleM.V769.P
collisionrule__M.V769.P
colorM.V769.P
color__M.V769.P
columnsM.V769.P
columns__M.V769.P
CombatDeath 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
CombatDeath__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
command 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
CommandMatch 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
CommandNodeM.TODO
Commands 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
CommandSuggestionsRequest 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
CommandSuggestionsRequest__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
CommandSuggestionsResponse 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
CommandSuggestionsResponse__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
Commands__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
command__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
CompoundM.NBT.Internal.Types, M.NBT
configurationM.V769.Reg
ConfirmTeleportation 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ConfirmTeleportation__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
Connection 
1 (Type/Class)M.IO.Internal.Socket, M.IO
2 (Data Constructor)M.IO.Internal.Socket, M.IO
CookieRequest 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
3 (Type/Class)M.V769.P
4 (Data Constructor)M.V769.P
CookieResponse 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
CookieResponsePlay 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
cooldownM.V769.P
cooldown__M.V769.P
copymetadata_M.V769.P
cornersM.Collision.Pure, M.Collision
count 
1 (Function)M.V769.P
2 (Function)M.V769.P
count__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
crossingM.Collision.Pure, M.Collision
csbiomesM.Chunk.Code
csblockstatesM.Chunk.Code
csebiomesM.Chunk.Code
cseblockstatesM.Chunk.Code
csnonemptyM.Chunk.Code
cursorM.V769.P
cursor__M.V769.P
CustomReportDetails 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
CustomReportDetails__ 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
cxcompthM.IO.Internal.Socket, M.IO
cxinputM.IO.Internal.Socket, M.IO
cxkeyM.IO.Internal.Socket, M.IO
cxoutputM.IO.Internal.Socket, M.IO
damagedirectionM.V769.P
damagedirection__M.V769.P
DamageEvent 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
DamageEvent__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
data_ 
1 (Function)M.V769.I
2 (Function)M.V769.C
3 (Function)M.V769.L
4 (Function)M.V769.L
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
10 (Function)M.V769.P
11 (Function)M.V769.P
12 (Function)M.V769.P
13 (Function)M.V769.P
14 (Function)M.V769.P
15 (Function)M.V769.P
16 (Function)M.V769.P
17 (Function)M.V769.P
18 (Function)M.V769.P
data___ 
1 (Function)M.V769.L
2 (Function)M.V769.L
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
10 (Function)M.V769.P
11 (Function)M.V769.P
12 (Function)M.V769.P
13 (Function)M.V769.P
dbgcountfacepointsM.Collision.Internal.Face
dbgdesmosM.Collision.Internal.Face
DebugSample 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
DebugSampleSubscription 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
DebugSampleSubscription__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
DebugSample__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
decodelebM.LEB
decodepositionM.Position
DecryptM.Crypto
degtoi8angleM.Pack.Internal.Newtypes, M.Pack
DeleteMessage 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
deltax 
1 (Function)M.V769.P
2 (Function)M.V769.P
deltax__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
deltay 
1 (Function)M.V769.P
2 (Function)M.V769.P
deltay__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
deltaz 
1 (Function)M.V769.P
2 (Function)M.V769.P
deltaz__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
destroystageM.V769.P
destroystage__M.V769.P
detailsM.V769.C
details__M.V769.C
difficulty 
1 (Function)M.V769.P
2 (Function)M.V769.P
dimension 
1 (Function)M.V769.P
2 (Function)M.V769.P
dimensioncodecM.V769.P
dimensioncodec__M.V769.P
dimensionsM.Collision.Pure, M.Collision
dimension__M.V769.P
DirectionM.IO.Internal.EffectTypes, M.IO
disablerelativevolumeM.V769.P
Disconnect 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
3 (Type/Class)M.V769.P
4 (Data Constructor)M.V769.P
DisguisedChatMessage 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
DisguisedChatMessage__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
DisplayedSkinParts 
1 (Type/Class)M.V769.I
2 (Data Constructor)M.V769.I
displayedskinparts 
1 (Function)M.V769.C
2 (Function)M.V769.P
displayedskinparts__ 
1 (Function)M.V769.C
2 (Function)M.V769.P
displayname 
1 (Function)M.V769.P
2 (Function)M.V769.P
displayname__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
DisplayObjective 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
DoubleM.NBT.Internal.Types, M.NBT
durationM.V769.P
duration__M.V769.P
EditBook 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
EditBook__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
effectidM.V769.P
effectid__M.V769.P
enablerespawnscreenM.V769.P
enablerespawnscreen__M.V769.P
enabletextfiltering 
1 (Function)M.V769.C
2 (Function)M.V769.P
enabletextfiltering__ 
1 (Function)M.V769.C
2 (Function)M.V769.P
encodelebM.LEB
encodepositionM.Position
EncryptM.Crypto
EncryptionRequest 
1 (Type/Class)M.V769.L
2 (Data Constructor)M.V769.L
EncryptionResponse 
1 (Type/Class)M.V769.L
2 (Data Constructor)M.V769.L
EndM.NBT.Internal.Types, M.NBT
EndCombat 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
EndCombat__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
enforcesecurechatM.V769.P
enterM.IO.Internal.EffectTypes, M.IO
EnterCombat 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
EntityAnimation 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
EntityAnimation__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
EntityEvent 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
EntityEvent__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
entityid 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
10 (Function)M.V769.P
11 (Function)M.V769.P
12 (Function)M.V769.P
13 (Function)M.V769.P
14 (Function)M.V769.P
15 (Function)M.V769.P
16 (Function)M.V769.P
17 (Function)M.V769.P
18 (Function)M.V769.P
19 (Function)M.V769.P
20 (Function)M.V769.P
21 (Function)M.V769.P
22 (Function)M.V769.P
23 (Function)M.V769.P
24 (Function)M.V769.P
25 (Function)M.V769.P
26 (Function)M.V769.P
27 (Function)M.V769.P
28 (Function)M.V769.P
entityidsM.V769.P
entityids__M.V769.P
entityid__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
10 (Function)M.V769.P
11 (Function)M.V769.P
12 (Function)M.V769.P
13 (Function)M.V769.P
14 (Function)M.V769.P
15 (Function)M.V769.P
16 (Function)M.V769.P
17 (Function)M.V769.P
18 (Function)M.V769.P
19 (Function)M.V769.P
20 (Function)M.V769.P
21 (Function)M.V769.P
22 (Function)M.V769.P
23 (Function)M.V769.P
24 (Function)M.V769.P
25 (Function)M.V769.P
26 (Function)M.V769.P
27 (Function)M.V769.P
28 (Function)M.V769.P
entitynameM.V769.P
entityname__M.V769.P
EntitySoundEffect 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
EntitySoundEffect__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
entityuuidM.V769.P
entityuuid__M.V769.P
EnumIndex 
1 (Type/Class)M.Pack.Internal.Newtypes, M.Pack
2 (Data Constructor)M.Pack.Internal.Newtypes, M.Pack
enumindexM.Pack.Internal.Newtypes, M.Pack
EOF 
1 (Type/Class)M.IO.Internal.Datagram
2 (Data Constructor)M.IO.Internal.Datagram
equipmentM.V769.P
equipment__M.V769.P
Error 
1 (Type/Class)M.Crypto
2 (Data Constructor)M.Crypto
event 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
EventuallyM.IO.Internal.EffectTypes, M.IO
event__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
experienceM.V769.P
experiencebarM.V769.P
experiencebar__M.V769.P
experience__M.V769.P
Explosion 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
face 
1 (Function)M.V769.P
2 (Function)M.V769.P
facepointsM.Collision.Internal.Face
face__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
fadeinM.V769.P
fadeoutM.V769.P
FeatureFlags 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
FeatureFlags__ 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
fiM.Pack.Internal.FromIntegral
filteractive 
1 (Function)M.V769.P
2 (Function)M.V769.P
filteractive__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
FilterTypeM.V769.I
finalstateM.V769.P
FinishConfiguration 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
Fixed' 
1 (Type/Class)M.Pack.Internal.Newtypes, M.Pack
2 (Data Constructor)M.Pack.Internal.Newtypes, M.Pack
FixedBitset 
1 (Type/Class)M.Pack.Internal.Bit, M.Pack
2 (Data Constructor)M.Pack.Internal.Bit, M.Pack
fixedrangeM.Misc
flags 
1 (Function)M.V769.C
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
10 (Function)M.V769.P
11 (Function)M.V769.P
12 (Function)M.V769.P
flags__ 
1 (Function)M.V769.C
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
FloatM.NBT.Internal.Types, M.NBT
flyingspeedM.V769.P
foodM.V769.P
foodsaturationM.V769.P
foodsaturation__M.V769.P
food__M.V769.P
footerM.V769.P
forclientM.IO.TH, M.V769.Reg
forserverM.IO.TH, M.V769.Reg
forwardM.V769.P
frombits0M.Pack.Internal.Bit, M.Pack
fromcesu8M.NBT.Internal.JS
fromcesu8pM.NBT.Internal.JS
FullyFilteredM.V769.I
GameEvent 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
GameEvent__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
gamemode 
1 (Function)M.V769.P
2 (Function)M.V769.P
gamemode__M.V769.P
getbitsetM.Pack.Internal.Bit, M.Pack
GetBlock 
1 (Type/Class)M.Collision.Effectful, M.Collision
2 (Data Constructor)M.Collision.Effectful, M.Collision
getblockM.Collision.Effectful, M.Collision
getfixedbitsetM.Pack.Internal.Bit, M.Pack
getjsM.NBT.Internal.JS
getlebM.LEB
getpackfoldable0M.Pack.Internal.Newtypes, M.Pack
getpackfoldableviM.Pack.Internal.Newtypes, M.Pack
getpositionM.Position
gettakerestM.Pack.Internal.Newtypes, M.Pack
gettyM.NBT.Internal.Types
getunpackrepresentable0M.Pack.Internal.Newtypes, M.Pack
guardnatM.Pack.Internal.Num, M.Pack
hand 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
handshakeM.V769.Reg
HandshakePacket 
1 (Type/Class)M.V769.H
2 (Data Constructor)M.V769.H
HandshakePacket__ 
1 (Type/Class)M.V769.H
2 (Data Constructor)M.V769.H
hand__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
hash 
1 (Function)M.V769.I
2 (Function)M.V769.P
hashedseed 
1 (Function)M.V769.P
2 (Function)M.V769.P
hashedseed__M.V769.P
hashservnamM.Crypto
hatM.V769.I
headerM.V769.P
headyawM.V769.P
headyaw__M.V769.P
healthM.V769.P
health__M.V769.P
HearM.IO.Internal.EffectTypes, M.IO
hearM.IO.Internal.EffectTypes, M.IO
HearAM.IO.Internal.EffectTypes, M.IO
hearAM.IO.Internal.EffectTypes, M.IO
HearUM.IO.Internal.EffectTypes, M.IO
hearUM.IO.Internal.EffectTypes, M.IO
hicornerM.Collision.Pure, M.Collision
hicorner'M.Collision.Pure, M.Collision
Hit 
1 (Type/Class)M.Collision.Pure, M.Collision
2 (Data Constructor)M.Collision.Pure, M.Collision
Hit' 
1 (Type/Class)M.Collision.Pure, M.Collision
2 (Data Constructor)M.Collision.Pure, M.Collision
hitin01M.Collision.Pure, M.Collision
hitnormM.Collision.Pure, M.Collision
hittimeM.Collision.Pure, M.Collision
hittingM.Collision.Pure, M.Collision
hitwhereM.Collision.Pure, M.Collision
HurtAnimation 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
HurtAnimation__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
i8angledegM.Pack.Internal.Newtypes, M.Pack
iconM.V769.P
iconsM.V769.P
icons__M.V769.P
id 
1 (Function)M.V769.I
2 (Function)M.V769.I
3 (Function)M.V769.C
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
10 (Function)M.V769.P
Identifier 
1 (Type/Class)M.Pack.Internal.Newtypes, M.Pack
2 (Data Constructor)M.Pack.Internal.Newtypes, M.Pack
identifier 
1 (Function)M.Pack.Internal.Newtypes, M.Pack
2 (Function)M.V769.P
idorvalueM.Pack.Internal.Newtypes, M.Pack
IDorX 
1 (Type/Class)M.Pack.Internal.Newtypes, M.Pack
2 (Data Constructor)M.Pack.Internal.Newtypes, M.Pack
IDSet 
1 (Type/Class)M.Pack.Internal.Newtypes, M.Pack
2 (Data Constructor)M.Pack.Internal.Newtypes, M.Pack
id__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
Immediately 
1 (Type/Class)M.IO.Internal.EffectTypes, M.IO
2 (Data Constructor)M.IO.Internal.EffectTypes, M.IO
InboundM.IO.Internal.EffectTypes, M.IO
infhitM.Collision.Pure, M.Collision
InitializeWorldBorder 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
InitializeWorldBorder__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
insideblockM.V769.P
insideblock__M.V769.P
IntM.NBT.Internal.Types, M.NBT
Int8Angle 
1 (Type/Class)M.Pack.Internal.Newtypes, M.Pack
2 (Data Constructor)M.Pack.Internal.Newtypes, M.Pack
int8angleM.Pack.Internal.Newtypes, M.Pack
IntArrayM.NBT.Internal.Types, M.NBT
integrityM.V769.P
integrity__M.V769.P
Interact 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
Interact__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
intersectingM.Collision.Pure, M.Collision
isdebug 
1 (Function)M.V769.P
2 (Function)M.V769.P
isdebug__M.V769.P
isentityM.V769.P
isentity__M.V769.P
isflat 
1 (Function)M.V769.P
2 (Function)M.V769.P
isflat__M.V769.P
isfronttextM.V769.P
ishardcoreM.V769.P
ishardcore__M.V769.P
islandingM.Collision.Effectful, M.Collision
isregularvillagerM.V769.P
isregularvillager__M.V769.P
istakingoffM.Collision.Effectful, M.Collision
itemidM.V769.P
itemid__M.V769.P
jacketM.V769.I
JigsawGenerate 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
JigsawGenerate__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
jointtypeM.V769.P
JS 
1 (Type/Class)M.NBT.Internal.JS
2 (Data Constructor)M.NBT.Internal.JS
jsonresponseM.V769.S
KeepAlive 
1 (Type/Class)M.V769.I
2 (Data Constructor)M.V769.I
KeepAliveFail 
1 (Type/Class)M.IO.KeepAlive
2 (Data Constructor)M.IO.KeepAlive
KeepAliveTimeoutM.IO.KeepAlive
keepjigsawsM.V769.P
keepjigsaws__M.V769.P
key 
1 (Function)M.V769.C
2 (Function)M.V769.C
3 (Function)M.V769.C
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
KnownPacks 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
KnownPacks__ 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
lastseenmessages 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
ld0blockmaskM.Chunk.Net
ld0skymaskM.Chunk.Net
ldblocklightsM.Chunk.Net
ldblockmaskM.Chunk.Net
ldskylightsM.Chunk.Net
ldskymaskM.Chunk.Net
LEB 
1 (Type/Class)M.LEB
2 (Data Constructor)M.LEB
leftpaddleturningM.V769.P
leftpantsM.V769.I
leftsleeveM.V769.I
lengthM.V769.P
length__M.V769.P
levelM.V769.P
levelsM.V769.P
levels__M.V769.P
level__M.V769.P
LightData 
1 (Type/Class)M.Chunk.Net
2 (Data Constructor)M.Chunk.Net
lightdata_M.V769.P
linesM.V769.P
LinkEntities 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
LinkEntities__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
linksM.V769.C
links__M.V769.C
ListM.NBT.Internal.Types, M.NBT
lkcodebyidM.Reg
lkobjbycodeM.Reg
lkobjbyidM.Reg
locale 
1 (Function)M.V769.C
2 (Function)M.V769.P
locale__ 
1 (Function)M.V769.C
2 (Function)M.V769.P
location 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
10 (Function)M.V769.P
11 (Function)M.V769.P
12 (Function)M.V769.P
13 (Function)M.V769.P
14 (Function)M.V769.P
15 (Function)M.V769.P
16 (Function)M.V769.P
17 (Function)M.V769.P
location__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
10 (Function)M.V769.P
11 (Function)M.V769.P
LockDifficulty 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
locked 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
locked__M.V769.P
locornerM.Collision.Pure, M.Collision
locorner'M.Collision.Pure, M.Collision
Login 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
loginM.V769.Reg
LoginAcknowledged 
1 (Type/Class)M.V769.L
2 (Data Constructor)M.V769.L
LoginDisconnect 
1 (Type/Class)M.V769.L
2 (Data Constructor)M.V769.L
LoginPluginRequest 
1 (Type/Class)M.V769.L
2 (Data Constructor)M.V769.L
LoginPluginRequest__ 
1 (Type/Class)M.V769.L
2 (Data Constructor)M.V769.L
LoginPluginResponse 
1 (Type/Class)M.V769.L
2 (Data Constructor)M.V769.L
LoginPluginResponse__ 
1 (Type/Class)M.V769.L
2 (Data Constructor)M.V769.L
LoginStart 
1 (Type/Class)M.V769.L
2 (Data Constructor)M.V769.L
LoginSuccess 
1 (Type/Class)M.V769.L
2 (Data Constructor)M.V769.L
LoginSuccess_Property 
1 (Type/Class)M.V769.L
2 (Data Constructor)M.V769.L
Login__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
LongM.NBT.Internal.Types, M.NBT
LongArrayM.NBT.Internal.Types, M.NBT
longdistanceM.V769.P
longdistance__M.V769.P
LookAt 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
LookAt__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
mainhandM.V769.P
mainhandrightM.V769.C
mainhandright__M.V769.C
mainhand__M.V769.P
makeallM.V769.P
makedecryptingM.IO.Internal.Datagram
makeencryptingM.IO.Internal.Datagram
makepacketstreamiM.IO.Internal.Datagram
makepacketstreamoM.IO.Internal.Datagram
ManyBoxes 
1 (Type/Class)M.Collision.Pure, M.Collision
2 (Data Constructor)M.Collision.Pure, M.Collision
ManyBoxes_M.Collision.Pure, M.Collision
MapData 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
MapData__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
MapIconM.TODO
mapidM.V769.P
mapid__M.V769.P
March 
1 (Type/Class)M.Collision.Internal.March
2 (Data Constructor)M.Collision.Internal.March
marchM.Collision.Internal.March
matchM.V769.P
matchesM.V769.P
matches__M.V769.P
maxplayersM.V769.P
maxplayers__M.V769.P
maxspeedM.V769.P
maxspeed__M.V769.P
MerchantOfferM.TODO
MerchantOffers 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
MerchantOffers__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
message 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
messageid 
1 (Function)M.V769.L
2 (Function)M.V769.L
3 (Function)M.V769.P
4 (Function)M.V769.P
messageid__ 
1 (Function)M.V769.L
2 (Function)M.V769.L
message__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
metadata_ 
1 (Function)M.V769.P
2 (Function)M.V769.P
metadata___ 
1 (Function)M.V769.P
2 (Function)M.V769.P
mictM.Collision.Internal.March
mirrorM.V769.P
mirror__M.V769.P
MismatchM.IO.Internal.EffectSocket
mkcscodecM.Chunk.Code
mkreg0M.Reg
mkreg1M.Reg
ModeM.Crypto
mode 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
mode__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
motdM.V769.P
MoveMinecartAlongTrack 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
MoveMinecartAlongTrack__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
MoveVehicle 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
MoveVehicleServerbound 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
mpctM.Collision.Internal.March
mtotM.Collision.Internal.March
name 
1 (Function)M.V769.L
2 (Function)M.V769.L
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
NamedPair 
1 (Type/Class)M.NBT.Internal.P, M.NBT
2 (Data Constructor)M.NBT.Internal.P, M.NBT
nametagvisibilityM.V769.P
nametagvisibility__M.V769.P
name__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
NewlyTouchingGround 
1 (Type/Class)M.Collision.Effectful, M.Collision
2 (Data Constructor)M.Collision.Effectful, M.Collision
newongroundM.Collision.Effectful, M.Collision
newradiusM.V769.P
newradius__M.V769.P
newsizeM.V769.P
newsize__M.V769.P
nextstateM.V769.H
nextstate__M.V769.H
nodesM.V769.P
nodes__M.V769.P
objectivename 
1 (Function)M.V769.P
2 (Function)M.V769.P
objectivename__M.V769.P
obsM.IO.Obs
offersM.V769.P
offers__M.V769.P
offset 
1 (Function)M.V769.P
2 (Function)M.V769.P
offset__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
oldradiusM.V769.P
oldradius__M.V769.P
oldsizeM.V769.P
oldsize__M.V769.P
onground 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
onground__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
OpM.IO.Internal.EffectTypes, M.IO
OpenBook 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
OpenBook__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
OpenHorseScreen 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
OpenHorseScreen__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
OpenScreen 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
OpenScreen__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
OpenSignEditor 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
OutboundM.IO.Internal.EffectTypes, M.IO
PackM.Pack.Internal.Types, M.Pack
packM.Pack.Internal.Types, M.Pack
packfiM.Pack.Internal.Num, M.Pack
PackFoldable0 
1 (Type/Class)M.Pack.Internal.Newtypes, M.Pack
2 (Data Constructor)M.Pack.Internal.Newtypes, M.Pack
PackFoldableVI 
1 (Type/Class)M.Pack.Internal.Newtypes, M.Pack
2 (Data Constructor)M.Pack.Internal.Newtypes, M.Pack
packleb32M.Pack.Internal.Num, M.Pack
packsM.V769.C
packs__M.V769.C
PaddleBoat 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
pagesM.V769.P
pages__M.V769.P
ParseM.IO.Internal.EffectTypes, M.IO
ParseError 
1 (Type/Class)M.Pack.Internal.Types, M.Pack
2 (Data Constructor)M.Pack.Internal.Types, M.Pack
parseioM.IO.Internal.Read
parseio0M.IO.Internal.Read
parseio0liftM.IO.Internal.Read
parseioliftM.IO.Internal.Read
parsepureM.Pack.Internal.Types, M.Pack
parsepure0M.Pack.Internal.Types, M.Pack
ParserM.Pack.Internal.Types, M.Pack
ParserState 
1 (Type/Class)M.IO.Internal.EffectTypes, M.IO
2 (Data Constructor)M.IO.Internal.EffectTypes, M.IO
ParserStates 
1 (Type/Class)M.IO.TH, M.V769.Reg
2 (Data Constructor)M.IO.TH, M.V769.Reg
PartiallyFilteredM.V769.I
ParticleDataM.TODO
ParticleEffect 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ParticleEffect__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
particleidM.V769.P
particleid__M.V769.P
ParticleStatusM.V769.I
particlestatusM.V769.C
particlestatus__M.V769.C
passengerids 
1 (Function)M.V769.P
2 (Function)M.V769.P
passengerids__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
PassThroughM.V769.I
payloadM.V769.S
PickItemFromBlock 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PickItemFromEntity 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PickItemFromEntity__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
Ping 
1 (Type/Class)M.V769.I
2 (Data Constructor)M.V769.I
PingRequestPlay 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
pitch 
1 (Function)M.V769.P
2 (Function)M.V769.P
pitch__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
pkcodeM.IO.Internal.Datagram, M.IO
pkdataM.IO.Internal.Datagram, M.IO
PlaceGhostRecipe 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PlaceRecipe 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
playM.V769.Reg
PlayerAction 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PlayerAction__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PlayerChatMessage 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PlayerCommand 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PlayerCommand__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
playeridM.V769.P
playerid__M.V769.P
PlayerInfoRemove 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PlayerInfoUpdate 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PlayerInfoUpdate__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PlayerInput 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PlayerLoaded 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
playermotionM.V769.P
playernameM.V769.P
PlayerRotation 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
players 
1 (Function)M.V769.P
2 (Function)M.V769.P
PlayerSession 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
players__M.V769.P
PlayPing 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PlayPingResponse 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PluginMessage 
1 (Type/Class)M.V769.I
2 (Data Constructor)M.V769.I
Pong 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
PongPlay 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PongResponse 
1 (Type/Class)M.V769.S
2 (Data Constructor)M.V769.S
poolM.V769.P
portalteleportboundaryM.V769.P
portalteleportboundary__M.V769.P
posapplyM.Position
posapplyvM.Position
Position 
1 (Type/Class)M.Position
2 (Data Constructor)M.Position
position 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
10 (Function)M.V769.P
11 (Function)M.V769.P
12 (Function)M.V769.P
13 (Function)M.V769.P
position__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
prefixM.V769.P
prefix__M.V769.P
previousgamemode 
1 (Function)M.V769.P
2 (Function)M.V769.P
previousgamemode__M.V769.P
primaryeffectM.V769.P
primaryeffect__M.V769.P
ProgramCommandBlock 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ProgramCommandBlockMinecart 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ProgramCommandBlockMinecart__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ProgramCommandBlock__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ProgramJigsawBlock 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ProgramStructureBlock 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ProgramStructureBlock__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
properderivepackunpackM.Pack.Internal.TH, M.Pack
propertiesM.V769.L
propertyM.V769.P
property__M.V769.P
protocolversionM.V769.H
protocolversion__M.V769.H
PSAllM.V769.I
PSDecreasedM.V769.I
PSMinimalM.V769.I
publickey 
1 (Function)M.V769.L
2 (Function)M.V769.P
QueryBlockEntityTag 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
QueryBlockEntityTag__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
QueryEntityTag 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
QueryEntityTag__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
radiusM.V769.P
reason 
1 (Function)M.V769.C
2 (Function)M.V769.L
3 (Function)M.V769.P
recipe 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
RecipeBookAdd 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
RecipeBookRemove 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
RecipeBookSettings 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
RecipeBookSettings__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
reduceddebuginfoM.V769.P
reduceddebuginfo__M.V769.P
RegM.Reg
RegistryData 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
RemoveEntities 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
RemoveEntities__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
RemoveEntityEffect 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
RemoveEntityEffect__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
RemoveResourcePack 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
3 (Type/Class)M.V769.P
4 (Data Constructor)M.V769.P
RenameItem 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
resdisM.Collision.Effectful, M.Collision
resetM.V769.P
ResetChat 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
ResetScore 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
Resolve 
1 (Type/Class)M.Collision.Effectful, M.Collision
2 (Data Constructor)M.Collision.Effectful, M.Collision
resolveM.Collision.Effectful, M.Collision
ResourcePack 
1 (Type/Class)M.V769.I
2 (Data Constructor)M.V769.I
ResourcePackResponse 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
ResourcePackResponsePlay 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ResourcePackResponsePlay__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
Respawn 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
resposM.Collision.Effectful, M.Collision
restouM.Collision.Effectful, M.Collision
ResultM.Pack.Internal.Types, M.Pack
rightpaddleturningM.V769.P
rightpantsM.V769.I
rightsleeveM.V769.I
rootindexM.V769.P
rootindex__M.V769.P
rotation 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
10 (Function)M.V769.P
11 (Function)M.V769.P
12 (Function)M.V769.P
rotation__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
rowsM.V769.P
rows__M.V769.P
RSAM.Crypto
RSAClassM.Crypto
rsanewM.Crypto
rsaspkiM.Crypto
rsaupM.Crypto
safedecompM.IO.Internal.Zlib
salt 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
SayM.IO.Internal.EffectTypes, M.IO
sayM.IO.Internal.EffectTypes, M.IO
scaleM.V769.P
scale__M.V769.P
scenterM.Collision.Pure, M.Collision
sdimensionsM.Collision.Pure, M.Collision
secondaryeffectM.V769.P
secondaryeffect__M.V769.P
sectionpositionM.V769.P
sectionposition__M.V769.P
seedM.V769.P
seed__M.V769.P
SeenAdvancements 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SeenAdvancements__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SelectAdvancementsTab 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SelectTrade 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SelectTrade__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
send2parserstateM.IO.Internal.EffectTypes, M.IO
senderM.V769.P
sendernameM.V769.P
sendername__M.V769.P
sequence 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
sequence__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
serveraddress 
1 (Function)M.V769.H
2 (Function)M.V769.C
serveraddress__M.V769.H
ServerboundChangeDifficulty 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ServerboundChatCommand 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ServerboundPlayerAbilities 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ServerData 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
serveridM.V769.L
ServerLinks 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
ServerLinks__ 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
serverport 
1 (Function)M.V769.H
2 (Function)M.V769.C
serverport__M.V769.H
sessionidM.V769.P
SetActionBarText 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetBeaconEffect 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetBeaconEffect__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetBlockDestroyStage 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetBlockDestroyStage__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetBorderCenter 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetBorderLerpSize 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetBorderLerpSize__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetBorderSize 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetBorderWarningDelay 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetBorderWarningDelay__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetBorderWarningDistance 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetBorderWarningDistance__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetCamera 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetCamera__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetCenterChunk 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetCenterChunk__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetcompressionM.IO.Internal.EffectTypes, M.IO
setcompressionM.IO.Internal.EffectTypes, M.IO
SetContainerContent 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetContainerContent__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetContainerProperty 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetContainerProperty__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetContainerSlot 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetContainerSlot__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetCooldown 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetCooldown__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetCreativeModeSlot 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetCursorItem 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetDefaultSpawnPosition 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetencryptionM.IO.Internal.EffectTypes, M.IO
setencryptionM.IO.Internal.EffectTypes, M.IO
SetEntityMetadata 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetEntityMetadata__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetEntityVelocity 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetEntityVelocityResM.V769.I
SetEntityVelocity__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetEquipment 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetEquipment__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetExperience 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetExperience__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetHeadRotation 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetHeadRotation__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetHealth 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetHealth__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetHeldItem 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetHeldItemServerbound 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
setnameoridsM.Pack.Internal.Newtypes, M.Pack
SetPassengers 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetPassengers__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetPlayerInventorySlot 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetPlayerMovementFlags 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetPlayerPosition 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetPlayerPositionAndRotation 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetPlayerPositionAndRotation__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetPlayerPosition__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetPlayerRotation 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetRenderDistance 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetRenderDistance__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetSeenRecipe 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetSimulationDistance 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetSimulationDistance__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetSubtitleText 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetTabListHeaderAndFooter 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetTitleAnimationTimes 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetTitleText 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ShapeM.Collision.Pure, M.Collision
sharedsecretM.V769.L
shicornerM.Collision.Pure, M.Collision
ShortM.NBT.Internal.Types, M.NBT
shouldauthenticateM.V769.L
showparseerrorM.Pack.Internal.Types, M.Pack
sidewaysM.V769.P
signature 
1 (Function)M.V769.L
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
SignedChatCommand 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
signedpreview 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
simulationdistance 
1 (Function)M.V769.P
2 (Function)M.V769.P
simulationdistance__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
size 
1 (Function)M.V769.P
2 (Function)M.V769.P
size__M.V769.P
skeepaliveM.IO.KeepAlive
slocornerM.Collision.Pure, M.Collision
SlotM.TODO
slot 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
slotcountM.V769.P
slotcount__M.V769.P
slotdata_ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
slots 
1 (Function)M.V769.P
2 (Function)M.V769.P
slots__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
slot__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
sneakingM.V769.P
sneaking__M.V769.P
SocketTalkingErrorM.IO.Internal.EffectSocket
SomePack 
1 (Type/Class)M.Pack.Internal.Types, M.Pack
2 (Data Constructor)M.Pack.Internal.Types, M.Pack
SomeShape1 
1 (Type/Class)M.Collision.Pure, M.Collision
2 (Data Constructor)M.Collision.Pure, M.Collision
SomeUnpack 
1 (Type/Class)M.Pack.Internal.Types, M.Pack
2 (Data Constructor)M.Pack.Internal.Types, M.Pack
soundM.V769.P
soundcategory 
1 (Function)M.V769.P
2 (Function)M.V769.P
soundcategory__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
SoundEffect 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SoundEffect__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SoundEvent 
1 (Type/Class)M.Misc
2 (Data Constructor)M.Misc
soundid 
1 (Function)M.V769.P
2 (Function)M.V769.P
soundid__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
soundnameM.Misc
sound__M.V769.P
sourceM.V769.P
sourceidM.V769.P
sourceid__M.V769.P
source__M.V769.P
SpawnEntity 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SpawnEntity__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SpawnExperienceOrb 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SpawnExperienceOrb__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
speed 
1 (Function)M.V769.P
2 (Function)M.V769.P
speed__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
startM.V769.P
StartConfiguration 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
start__M.V769.P
stateM.V769.P
stateid 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
stateid__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
statesM.IO.TH
statisticidM.V769.P
statisticid__M.V769.P
statsM.V769.P
status 
1 (Function)M.V769.C
2 (Function)M.V769.P
3 (Function)M.V769.Reg
StatusRequest 
1 (Type/Class)M.V769.S
2 (Data Constructor)M.V769.S
StatusResponse 
1 (Type/Class)M.V769.S
2 (Data Constructor)M.V769.S
status__M.V769.P
stayM.V769.P
StopSound 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
StopSound__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
StoreCookie 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
3 (Type/Class)M.V769.P
4 (Data Constructor)M.V769.P
StringM.NBT.Internal.Types, M.NBT
successfulM.V769.L
successful__M.V769.L
suffixM.V769.P
suffix__M.V769.P
suggestionsM.V769.P
suggestions__M.V769.P
SwingArm 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SwingArm__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SynchronizePlayerPosition 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SynchronizePlayerPosition__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
tabidM.V769.P
tabid__M.V769.P
tagsM.V769.C
tags__M.V769.C
TakeRest 
1 (Type/Class)M.Pack.Internal.Newtypes, M.Pack
2 (Data Constructor)M.Pack.Internal.Newtypes, M.Pack
TalkingM.IO.Internal.EffectTypes, M.IO
Talking'M.IO.Internal.EffectTypes, M.IO
target 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
targetentityidM.V769.P
targetentityid__M.V769.P
targetnameM.V769.P
targetname__M.V769.P
target__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
TByteM.NBT.Internal.Types, M.NBT
TByteArrayM.NBT.Internal.Types, M.NBT
TCompoundM.NBT.Internal.Types, M.NBT
TDoubleM.NBT.Internal.Types, M.NBT
teamnameM.V769.P
teamname__M.V769.P
TeleportEntity 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
TeleportEntity__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
TeleportFlags 
1 (Type/Class)M.Misc
2 (Data Constructor)M.Misc
teleportid 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
teleportid__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
TeleportToEntity 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
TeleportToEntity__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
TEndM.NBT.Internal.Types, M.NBT
text 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
textascesu8M.NBT.Internal.JS
TextComponentM.TODO
text__M.V769.P
TFloatM.NBT.Internal.Types, M.NBT
TgM.NBT.Internal.Types, M.NBT
tickM.IO.Tick
timeofdayM.V769.P
timestamp 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
TIntM.NBT.Internal.Types, M.NBT
TIntArrayM.NBT.Internal.Types, M.NBT
title 
1 (Function)M.V769.P
2 (Function)M.V769.P
title__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
TListM.NBT.Internal.Types, M.NBT
TLongM.NBT.Internal.Types, M.NBT
TLongArrayM.NBT.Internal.Types, M.NBT
tobits0M.Pack.Internal.Bit, M.Pack
tocesu8M.NBT.Internal.JS
tocesu8pM.NBT.Internal.JS
tomanyboxesM.Collision.Pure, M.Collision
tooltipM.V769.P
totalexperienceM.V769.P
totalexperience__M.V769.P
tprelpitchM.Misc
tprelvelxM.Misc
tprelvelyM.Misc
tprelvelyawM.Misc
tprelvelzM.Misc
tprelxM.Misc
tprelyM.Misc
tprelyawM.Misc
tprelzM.Misc
tprotvelfirstM.Misc
trackingpositionM.V769.P
trackingposition__M.V769.P
trackoutputM.V769.P
trackoutput__M.V769.P
transactionid 
1 (Function)M.V769.P
2 (Function)M.V769.P
transactionid__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
Transfer 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
translateM.Collision.Pure, M.Collision
trustedgesM.V769.P
trustedges__M.V769.P
TShortM.NBT.Internal.Types, M.NBT
TStringM.NBT.Internal.Types, M.NBT
TyM.NBT.Internal.Types, M.NBT
type_ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
type___ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
unbitwiseM.Pack.Internal.Bit, M.Pack
unfixed'M.Pack.Internal.Newtypes, M.Pack
unHit'M.Collision.Pure, M.Collision
Uninterpreted 
1 (Type/Class)M.IO.Internal.Datagram, M.IO
2 (Data Constructor)M.IO.Internal.Datagram, M.IO
UnknownCodeM.IO.Internal.EffectSocket
UnloadChunk 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UnpackM.Pack.Internal.Types, M.Pack
unpackM.Pack.Internal.Types, M.Pack
unpackfiM.Pack.Internal.Num, M.Pack
unpackleb32M.Pack.Internal.Num, M.Pack
UnpackRepresentable0 
1 (Type/Class)M.Pack.Internal.Newtypes, M.Pack
2 (Data Constructor)M.Pack.Internal.Newtypes, M.Pack
unpacksomeM.Pack.Internal.Types, M.Pack
UpdateEntityPosition 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateEntityPositionAndRotation 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateEntityPositionAndRotation__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateEntityPosition__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateEntityRotation 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateEntityRotation__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateLight 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateLight__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateObjectives 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateObjectives__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateScore 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateScore__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateSectionBlocks 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateSectionBlocks__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateSign 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateTags 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
UpdateTags__ 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
UpdateTeams 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateTeams__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateTime 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
updongroundM.Collision.Effectful, M.Collision
url 
1 (Function)M.V769.I
2 (Function)M.V769.P
UseItem 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UseItemOn 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UseItemOn__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UseItem__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
usernameM.V769.L
uuid 
1 (Function)M.V769.L
2 (Function)M.V769.L
3 (Function)M.V769.P
value 
1 (Function)M.V769.C
2 (Function)M.V769.C
3 (Function)M.V769.L
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
value__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
VarIntM.LEB
VarLongM.LEB
vehicleidM.V769.P
vehicleid__M.V769.P
velocity 
1 (Function)M.V769.P
2 (Function)M.V769.P
velocity__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
verifytoken 
1 (Function)M.V769.L
2 (Function)M.V769.L
viewdistance 
1 (Function)M.V769.C
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
viewdistance__ 
1 (Function)M.V769.C
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
villagerlevelM.V769.P
villagerlevel__M.V769.P
volume 
1 (Function)M.V769.P
2 (Function)M.V769.P
volume__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
walkingspeedM.V769.P
warningblocks 
1 (Function)M.V769.P
2 (Function)M.V769.P
warningblocks__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
warningtime 
1 (Function)M.V769.P
2 (Function)M.V769.P
warningtime__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
windowid 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
10 (Function)M.V769.P
11 (Function)M.V769.P
12 (Function)M.V769.P
13 (Function)M.V769.P
windowid__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
withcxfromsocketM.IO.Internal.Socket, M.IO
withtalkingclientM.IO.Internal.EffectSocket, M.IO
withtalkingserverM.IO.Internal.EffectSocket, M.IO
worldageM.V769.P
WorldEvent 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
worldname 
1 (Function)M.V769.P
2 (Function)M.V769.P
worldnamesM.V769.P
worldnames__M.V769.P
worldname__M.V769.P
x 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
x__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
z 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
z__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
_centerM.Collision.Pure, M.Collision
_dimensionsM.Collision.Pure, M.Collision
_hcornerM.Collision.Pure, M.Collision
_lcornerM.Collision.Pure, M.Collision
_resdisM.Collision.Effectful, M.Collision
_resposM.Collision.Effectful, M.Collision
_restouM.Collision.Effectful, M.Collision
\ No newline at end of file diff --git a/doc-index-B.html b/doc-index-B.html new file mode 100644 index 0000000..712e3bd --- /dev/null +++ b/doc-index-B.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - B)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - B

batchsizeM.V769.P
batchsize__M.V769.P
BCBlueM.V769.I
BCGreenM.V769.I
BCPinkM.V769.I
BCPurpleM.V769.I
BCRedM.V769.I
BCWhiteM.V769.I
BCYellowM.V769.I
bedataM.Chunk.Net
berelheightM.Chunk.Net
betypeM.Chunk.Net
bexzM.Chunk.Net
BitreppableM.Pack.Internal.Bit, M.Pack
Bitset 
1 (Type/Class)M.Pack.Internal.Bit, M.Pack
2 (Data Constructor)M.Pack.Internal.Bit, M.Pack
Bitwise 
1 (Type/Class)M.Pack.Internal.Bit, M.Pack
2 (Data Constructor)M.Pack.Internal.Bit, M.Pack
BlockAction 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
BlockAction__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
BlockEntity 
1 (Type/Class)M.Chunk.Net
2 (Data Constructor)M.Chunk.Net
BlockEntityData 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
BlockEntityData__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
blockidM.V769.P
blockid__M.V769.P
blocksM.V769.P
blocks__M.V769.P
blocktypeM.V769.P
blocktype__M.V769.P
BlockUpdate 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
BlockUpdate__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
bookid 
1 (Function)M.V769.P
2 (Function)M.V769.P
bookid__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
bookopen 
1 (Function)M.V769.P
2 (Function)M.V769.P
bookopen__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
borrowderivenothingM.Pack.Internal.TH, M.Pack
borrowderivepackunpackM.Pack.Internal.TH, M.Pack
BossBar 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
BossBarActionM.TODO
BossBarColorM.V769.I
Box 
1 (Type/Class)M.Collision.Pure, M.Collision
2 (Data Constructor)M.Collision.Pure, M.Collision
Box'M.Collision.Pure, M.Collision
boxfromcornersM.Collision.Pure, M.Collision
boxzeroM.Collision.Pure, M.Collision
BundleDelimiter 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
BundleItemSelected 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
BundleItemSelected__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
buttonM.V769.P
buttonidM.V769.P
button__M.V769.P
ByteM.NBT.Internal.Types, M.NBT
ByteArrayM.NBT.Internal.Types, M.NBT
ByteStringM.Crypto
\ No newline at end of file diff --git a/doc-index-C.html b/doc-index-C.html new file mode 100644 index 0000000..a110a5d --- /dev/null +++ b/doc-index-C.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - C)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - C

cameraidM.V769.P
cameraid__M.V769.P
canrestockM.V769.P
canrestock__M.V769.P
capeM.V769.I
carrieditemM.V769.P
carrieditem__M.V769.P
castshape1M.Collision.Pure, M.Collision
castsomepackM.Pack.Internal.Types, M.Pack
castsomeunpackM.Pack.Internal.Types, M.Pack
categoryidM.V769.P
categoryid__M.V769.P
cdblockentitiesM.Chunk.Net
cddataM.Chunk.Net
cdhmapsM.Chunk.Net
centerM.Collision.Pure, M.Collision
cesu8astextM.NBT.Internal.JS
ChangeContainerSlotState 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ChangeDifficulty 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ChangeRecipeBookSettings 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ChangeRecipeBookSettings__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
channel 
1 (Function)M.V769.I
2 (Function)M.V769.L
channel__M.V769.L
chatcolors 
1 (Function)M.V769.C
2 (Function)M.V769.P
chatcolors__ 
1 (Function)M.V769.C
2 (Function)M.V769.P
ChatMessage 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ChatModeM.V769.I
chatmode 
1 (Function)M.V769.C
2 (Function)M.V769.P
chatmode__ 
1 (Function)M.V769.C
2 (Function)M.V769.P
ChatSuggestions 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ChatSuggestions__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
chattypeM.V769.P
chattype__M.V769.P
ChunkBatchFinished 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ChunkBatchFinished__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ChunkBatchReceived 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ChunkBatchStarted 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ChunkBiomes 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ChunkData 
1 (Type/Class)M.Chunk.Net
2 (Data Constructor)M.Chunk.Net
ChunkDataAndUpdateLight 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ChunkSection 
1 (Type/Class)M.Chunk.Code
2 (Data Constructor)M.Chunk.Code
ChunkSectionEncoding 
1 (Type/Class)M.Chunk.Code
2 (Data Constructor)M.Chunk.Code
chunkx 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
chunkx__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
chunkz 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
chunkz__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
ClearTitles 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ClickContainer 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ClickContainerButton 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ClickContainer__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ClientboundPlayerAbilities 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ClientInformationConfiguration 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
ClientInformationConfiguration__ 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
ClientInformationPlay 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ClientInformationPlay__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ClientStatus 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ClientStatus__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ClientTickEnd 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
CloseContainer 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
CloseContainerServerbound 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
CloseContainer__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
CMCommandsOnlyM.V769.I
CMEnabledM.V769.I
CMHiddenM.V769.I
CodeM.IO.Internal.EffectTypes, M.IO
collisionruleM.V769.P
collisionrule__M.V769.P
colorM.V769.P
color__M.V769.P
columnsM.V769.P
columns__M.V769.P
CombatDeath 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
CombatDeath__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
command 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
CommandMatch 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
CommandNodeM.TODO
Commands 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
CommandSuggestionsRequest 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
CommandSuggestionsRequest__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
CommandSuggestionsResponse 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
CommandSuggestionsResponse__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
Commands__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
command__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
CompoundM.NBT.Internal.Types, M.NBT
configurationM.V769.Reg
ConfirmTeleportation 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ConfirmTeleportation__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
Connection 
1 (Type/Class)M.IO.Internal.Socket, M.IO
2 (Data Constructor)M.IO.Internal.Socket, M.IO
CookieRequest 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
3 (Type/Class)M.V769.P
4 (Data Constructor)M.V769.P
CookieResponse 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
CookieResponsePlay 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
cooldownM.V769.P
cooldown__M.V769.P
copymetadata_M.V769.P
cornersM.Collision.Pure, M.Collision
count 
1 (Function)M.V769.P
2 (Function)M.V769.P
count__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
crossingM.Collision.Pure, M.Collision
csbiomesM.Chunk.Code
csblockstatesM.Chunk.Code
csebiomesM.Chunk.Code
cseblockstatesM.Chunk.Code
csnonemptyM.Chunk.Code
cursorM.V769.P
cursor__M.V769.P
CustomReportDetails 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
CustomReportDetails__ 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
cxcompthM.IO.Internal.Socket, M.IO
cxinputM.IO.Internal.Socket, M.IO
cxkeyM.IO.Internal.Socket, M.IO
cxoutputM.IO.Internal.Socket, M.IO
\ No newline at end of file diff --git a/doc-index-D.html b/doc-index-D.html new file mode 100644 index 0000000..52ce9fd --- /dev/null +++ b/doc-index-D.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - D)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - D

damagedirectionM.V769.P
damagedirection__M.V769.P
DamageEvent 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
DamageEvent__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
data_ 
1 (Function)M.V769.I
2 (Function)M.V769.C
3 (Function)M.V769.L
4 (Function)M.V769.L
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
10 (Function)M.V769.P
11 (Function)M.V769.P
12 (Function)M.V769.P
13 (Function)M.V769.P
14 (Function)M.V769.P
15 (Function)M.V769.P
16 (Function)M.V769.P
17 (Function)M.V769.P
18 (Function)M.V769.P
data___ 
1 (Function)M.V769.L
2 (Function)M.V769.L
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
10 (Function)M.V769.P
11 (Function)M.V769.P
12 (Function)M.V769.P
13 (Function)M.V769.P
dbgcountfacepointsM.Collision.Internal.Face
dbgdesmosM.Collision.Internal.Face
DebugSample 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
DebugSampleSubscription 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
DebugSampleSubscription__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
DebugSample__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
decodelebM.LEB
decodepositionM.Position
DecryptM.Crypto
degtoi8angleM.Pack.Internal.Newtypes, M.Pack
DeleteMessage 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
deltax 
1 (Function)M.V769.P
2 (Function)M.V769.P
deltax__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
deltay 
1 (Function)M.V769.P
2 (Function)M.V769.P
deltay__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
deltaz 
1 (Function)M.V769.P
2 (Function)M.V769.P
deltaz__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
destroystageM.V769.P
destroystage__M.V769.P
detailsM.V769.C
details__M.V769.C
difficulty 
1 (Function)M.V769.P
2 (Function)M.V769.P
dimension 
1 (Function)M.V769.P
2 (Function)M.V769.P
dimensioncodecM.V769.P
dimensioncodec__M.V769.P
dimensionsM.Collision.Pure, M.Collision
dimension__M.V769.P
DirectionM.IO.Internal.EffectTypes, M.IO
disablerelativevolumeM.V769.P
Disconnect 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
3 (Type/Class)M.V769.P
4 (Data Constructor)M.V769.P
DisguisedChatMessage 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
DisguisedChatMessage__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
DisplayedSkinParts 
1 (Type/Class)M.V769.I
2 (Data Constructor)M.V769.I
displayedskinparts 
1 (Function)M.V769.C
2 (Function)M.V769.P
displayedskinparts__ 
1 (Function)M.V769.C
2 (Function)M.V769.P
displayname 
1 (Function)M.V769.P
2 (Function)M.V769.P
displayname__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
DisplayObjective 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
DoubleM.NBT.Internal.Types, M.NBT
durationM.V769.P
duration__M.V769.P
\ No newline at end of file diff --git a/doc-index-E.html b/doc-index-E.html new file mode 100644 index 0000000..8e176eb --- /dev/null +++ b/doc-index-E.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - E)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - E

EditBook 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
EditBook__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
effectidM.V769.P
effectid__M.V769.P
enablerespawnscreenM.V769.P
enablerespawnscreen__M.V769.P
enabletextfiltering 
1 (Function)M.V769.C
2 (Function)M.V769.P
enabletextfiltering__ 
1 (Function)M.V769.C
2 (Function)M.V769.P
encodelebM.LEB
encodepositionM.Position
EncryptM.Crypto
EncryptionRequest 
1 (Type/Class)M.V769.L
2 (Data Constructor)M.V769.L
EncryptionResponse 
1 (Type/Class)M.V769.L
2 (Data Constructor)M.V769.L
EndM.NBT.Internal.Types, M.NBT
EndCombat 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
EndCombat__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
enforcesecurechatM.V769.P
enterM.IO.Internal.EffectTypes, M.IO
EnterCombat 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
EntityAnimation 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
EntityAnimation__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
EntityEvent 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
EntityEvent__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
entityid 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
10 (Function)M.V769.P
11 (Function)M.V769.P
12 (Function)M.V769.P
13 (Function)M.V769.P
14 (Function)M.V769.P
15 (Function)M.V769.P
16 (Function)M.V769.P
17 (Function)M.V769.P
18 (Function)M.V769.P
19 (Function)M.V769.P
20 (Function)M.V769.P
21 (Function)M.V769.P
22 (Function)M.V769.P
23 (Function)M.V769.P
24 (Function)M.V769.P
25 (Function)M.V769.P
26 (Function)M.V769.P
27 (Function)M.V769.P
28 (Function)M.V769.P
entityidsM.V769.P
entityids__M.V769.P
entityid__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
10 (Function)M.V769.P
11 (Function)M.V769.P
12 (Function)M.V769.P
13 (Function)M.V769.P
14 (Function)M.V769.P
15 (Function)M.V769.P
16 (Function)M.V769.P
17 (Function)M.V769.P
18 (Function)M.V769.P
19 (Function)M.V769.P
20 (Function)M.V769.P
21 (Function)M.V769.P
22 (Function)M.V769.P
23 (Function)M.V769.P
24 (Function)M.V769.P
25 (Function)M.V769.P
26 (Function)M.V769.P
27 (Function)M.V769.P
28 (Function)M.V769.P
entitynameM.V769.P
entityname__M.V769.P
EntitySoundEffect 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
EntitySoundEffect__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
entityuuidM.V769.P
entityuuid__M.V769.P
EnumIndex 
1 (Type/Class)M.Pack.Internal.Newtypes, M.Pack
2 (Data Constructor)M.Pack.Internal.Newtypes, M.Pack
enumindexM.Pack.Internal.Newtypes, M.Pack
EOF 
1 (Type/Class)M.IO.Internal.Datagram
2 (Data Constructor)M.IO.Internal.Datagram
equipmentM.V769.P
equipment__M.V769.P
Error 
1 (Type/Class)M.Crypto
2 (Data Constructor)M.Crypto
event 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
EventuallyM.IO.Internal.EffectTypes, M.IO
event__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
experienceM.V769.P
experiencebarM.V769.P
experiencebar__M.V769.P
experience__M.V769.P
Explosion 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
\ No newline at end of file diff --git a/doc-index-F.html b/doc-index-F.html new file mode 100644 index 0000000..2035d1b --- /dev/null +++ b/doc-index-F.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - F)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - F

face 
1 (Function)M.V769.P
2 (Function)M.V769.P
facepointsM.Collision.Internal.Face
face__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
fadeinM.V769.P
fadeoutM.V769.P
FeatureFlags 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
FeatureFlags__ 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
fiM.Pack.Internal.FromIntegral
filteractive 
1 (Function)M.V769.P
2 (Function)M.V769.P
filteractive__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
FilterTypeM.V769.I
finalstateM.V769.P
FinishConfiguration 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
Fixed' 
1 (Type/Class)M.Pack.Internal.Newtypes, M.Pack
2 (Data Constructor)M.Pack.Internal.Newtypes, M.Pack
FixedBitset 
1 (Type/Class)M.Pack.Internal.Bit, M.Pack
2 (Data Constructor)M.Pack.Internal.Bit, M.Pack
fixedrangeM.Misc
flags 
1 (Function)M.V769.C
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
10 (Function)M.V769.P
11 (Function)M.V769.P
12 (Function)M.V769.P
flags__ 
1 (Function)M.V769.C
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
FloatM.NBT.Internal.Types, M.NBT
flyingspeedM.V769.P
foodM.V769.P
foodsaturationM.V769.P
foodsaturation__M.V769.P
food__M.V769.P
footerM.V769.P
forclientM.IO.TH, M.V769.Reg
forserverM.IO.TH, M.V769.Reg
forwardM.V769.P
frombits0M.Pack.Internal.Bit, M.Pack
fromcesu8M.NBT.Internal.JS
fromcesu8pM.NBT.Internal.JS
FullyFilteredM.V769.I
\ No newline at end of file diff --git a/doc-index-G.html b/doc-index-G.html new file mode 100644 index 0000000..8db2538 --- /dev/null +++ b/doc-index-G.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - G)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - G

GameEvent 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
GameEvent__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
gamemode 
1 (Function)M.V769.P
2 (Function)M.V769.P
gamemode__M.V769.P
getbitsetM.Pack.Internal.Bit, M.Pack
GetBlock 
1 (Type/Class)M.Collision.Effectful, M.Collision
2 (Data Constructor)M.Collision.Effectful, M.Collision
getblockM.Collision.Effectful, M.Collision
getfixedbitsetM.Pack.Internal.Bit, M.Pack
getjsM.NBT.Internal.JS
getlebM.LEB
getpackfoldable0M.Pack.Internal.Newtypes, M.Pack
getpackfoldableviM.Pack.Internal.Newtypes, M.Pack
getpositionM.Position
gettakerestM.Pack.Internal.Newtypes, M.Pack
gettyM.NBT.Internal.Types
getunpackrepresentable0M.Pack.Internal.Newtypes, M.Pack
guardnatM.Pack.Internal.Num, M.Pack
\ No newline at end of file diff --git a/doc-index-H.html b/doc-index-H.html new file mode 100644 index 0000000..8ba9d50 --- /dev/null +++ b/doc-index-H.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - H)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - H

hand 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
handshakeM.V769.Reg
HandshakePacket 
1 (Type/Class)M.V769.H
2 (Data Constructor)M.V769.H
HandshakePacket__ 
1 (Type/Class)M.V769.H
2 (Data Constructor)M.V769.H
hand__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
hash 
1 (Function)M.V769.I
2 (Function)M.V769.P
hashedseed 
1 (Function)M.V769.P
2 (Function)M.V769.P
hashedseed__M.V769.P
hashservnamM.Crypto
hatM.V769.I
headerM.V769.P
headyawM.V769.P
headyaw__M.V769.P
healthM.V769.P
health__M.V769.P
HearM.IO.Internal.EffectTypes, M.IO
hearM.IO.Internal.EffectTypes, M.IO
HearAM.IO.Internal.EffectTypes, M.IO
hearAM.IO.Internal.EffectTypes, M.IO
HearUM.IO.Internal.EffectTypes, M.IO
hearUM.IO.Internal.EffectTypes, M.IO
hicornerM.Collision.Pure, M.Collision
hicorner'M.Collision.Pure, M.Collision
Hit 
1 (Type/Class)M.Collision.Pure, M.Collision
2 (Data Constructor)M.Collision.Pure, M.Collision
Hit' 
1 (Type/Class)M.Collision.Pure, M.Collision
2 (Data Constructor)M.Collision.Pure, M.Collision
hitin01M.Collision.Pure, M.Collision
hitnormM.Collision.Pure, M.Collision
hittimeM.Collision.Pure, M.Collision
hittingM.Collision.Pure, M.Collision
hitwhereM.Collision.Pure, M.Collision
HurtAnimation 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
HurtAnimation__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
\ No newline at end of file diff --git a/doc-index-I.html b/doc-index-I.html new file mode 100644 index 0000000..aa90911 --- /dev/null +++ b/doc-index-I.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - I)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - I

i8angledegM.Pack.Internal.Newtypes, M.Pack
iconM.V769.P
iconsM.V769.P
icons__M.V769.P
id 
1 (Function)M.V769.I
2 (Function)M.V769.I
3 (Function)M.V769.C
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
10 (Function)M.V769.P
Identifier 
1 (Type/Class)M.Pack.Internal.Newtypes, M.Pack
2 (Data Constructor)M.Pack.Internal.Newtypes, M.Pack
identifier 
1 (Function)M.Pack.Internal.Newtypes, M.Pack
2 (Function)M.V769.P
idorvalueM.Pack.Internal.Newtypes, M.Pack
IDorX 
1 (Type/Class)M.Pack.Internal.Newtypes, M.Pack
2 (Data Constructor)M.Pack.Internal.Newtypes, M.Pack
IDSet 
1 (Type/Class)M.Pack.Internal.Newtypes, M.Pack
2 (Data Constructor)M.Pack.Internal.Newtypes, M.Pack
id__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
Immediately 
1 (Type/Class)M.IO.Internal.EffectTypes, M.IO
2 (Data Constructor)M.IO.Internal.EffectTypes, M.IO
InboundM.IO.Internal.EffectTypes, M.IO
infhitM.Collision.Pure, M.Collision
InitializeWorldBorder 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
InitializeWorldBorder__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
insideblockM.V769.P
insideblock__M.V769.P
IntM.NBT.Internal.Types, M.NBT
Int8Angle 
1 (Type/Class)M.Pack.Internal.Newtypes, M.Pack
2 (Data Constructor)M.Pack.Internal.Newtypes, M.Pack
int8angleM.Pack.Internal.Newtypes, M.Pack
IntArrayM.NBT.Internal.Types, M.NBT
integrityM.V769.P
integrity__M.V769.P
Interact 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
Interact__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
intersectingM.Collision.Pure, M.Collision
isdebug 
1 (Function)M.V769.P
2 (Function)M.V769.P
isdebug__M.V769.P
isentityM.V769.P
isentity__M.V769.P
isflat 
1 (Function)M.V769.P
2 (Function)M.V769.P
isflat__M.V769.P
isfronttextM.V769.P
ishardcoreM.V769.P
ishardcore__M.V769.P
islandingM.Collision.Effectful, M.Collision
isregularvillagerM.V769.P
isregularvillager__M.V769.P
istakingoffM.Collision.Effectful, M.Collision
itemidM.V769.P
itemid__M.V769.P
\ No newline at end of file diff --git a/doc-index-J.html b/doc-index-J.html new file mode 100644 index 0000000..4c9ca48 --- /dev/null +++ b/doc-index-J.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - J)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - J

jacketM.V769.I
JigsawGenerate 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
JigsawGenerate__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
jointtypeM.V769.P
JS 
1 (Type/Class)M.NBT.Internal.JS
2 (Data Constructor)M.NBT.Internal.JS
jsonresponseM.V769.S
\ No newline at end of file diff --git a/doc-index-K.html b/doc-index-K.html new file mode 100644 index 0000000..899193e --- /dev/null +++ b/doc-index-K.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - K)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - K

KeepAlive 
1 (Type/Class)M.V769.I
2 (Data Constructor)M.V769.I
KeepAliveFail 
1 (Type/Class)M.IO.KeepAlive
2 (Data Constructor)M.IO.KeepAlive
KeepAliveTimeoutM.IO.KeepAlive
keepjigsawsM.V769.P
keepjigsaws__M.V769.P
key 
1 (Function)M.V769.C
2 (Function)M.V769.C
3 (Function)M.V769.C
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
KnownPacks 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
KnownPacks__ 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
\ No newline at end of file diff --git a/doc-index-L.html b/doc-index-L.html new file mode 100644 index 0000000..853f825 --- /dev/null +++ b/doc-index-L.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - L)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - L

lastseenmessages 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
ld0blockmaskM.Chunk.Net
ld0skymaskM.Chunk.Net
ldblocklightsM.Chunk.Net
ldblockmaskM.Chunk.Net
ldskylightsM.Chunk.Net
ldskymaskM.Chunk.Net
LEB 
1 (Type/Class)M.LEB
2 (Data Constructor)M.LEB
leftpaddleturningM.V769.P
leftpantsM.V769.I
leftsleeveM.V769.I
lengthM.V769.P
length__M.V769.P
levelM.V769.P
levelsM.V769.P
levels__M.V769.P
level__M.V769.P
LightData 
1 (Type/Class)M.Chunk.Net
2 (Data Constructor)M.Chunk.Net
lightdata_M.V769.P
linesM.V769.P
LinkEntities 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
LinkEntities__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
linksM.V769.C
links__M.V769.C
ListM.NBT.Internal.Types, M.NBT
lkcodebyidM.Reg
lkobjbycodeM.Reg
lkobjbyidM.Reg
locale 
1 (Function)M.V769.C
2 (Function)M.V769.P
locale__ 
1 (Function)M.V769.C
2 (Function)M.V769.P
location 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
10 (Function)M.V769.P
11 (Function)M.V769.P
12 (Function)M.V769.P
13 (Function)M.V769.P
14 (Function)M.V769.P
15 (Function)M.V769.P
16 (Function)M.V769.P
17 (Function)M.V769.P
location__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
10 (Function)M.V769.P
11 (Function)M.V769.P
LockDifficulty 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
locked 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
locked__M.V769.P
locornerM.Collision.Pure, M.Collision
locorner'M.Collision.Pure, M.Collision
Login 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
loginM.V769.Reg
LoginAcknowledged 
1 (Type/Class)M.V769.L
2 (Data Constructor)M.V769.L
LoginDisconnect 
1 (Type/Class)M.V769.L
2 (Data Constructor)M.V769.L
LoginPluginRequest 
1 (Type/Class)M.V769.L
2 (Data Constructor)M.V769.L
LoginPluginRequest__ 
1 (Type/Class)M.V769.L
2 (Data Constructor)M.V769.L
LoginPluginResponse 
1 (Type/Class)M.V769.L
2 (Data Constructor)M.V769.L
LoginPluginResponse__ 
1 (Type/Class)M.V769.L
2 (Data Constructor)M.V769.L
LoginStart 
1 (Type/Class)M.V769.L
2 (Data Constructor)M.V769.L
LoginSuccess 
1 (Type/Class)M.V769.L
2 (Data Constructor)M.V769.L
LoginSuccess_Property 
1 (Type/Class)M.V769.L
2 (Data Constructor)M.V769.L
Login__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
LongM.NBT.Internal.Types, M.NBT
LongArrayM.NBT.Internal.Types, M.NBT
longdistanceM.V769.P
longdistance__M.V769.P
LookAt 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
LookAt__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
\ No newline at end of file diff --git a/doc-index-M.html b/doc-index-M.html new file mode 100644 index 0000000..f3ba141 --- /dev/null +++ b/doc-index-M.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - M)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - M

mainhandM.V769.P
mainhandrightM.V769.C
mainhandright__M.V769.C
mainhand__M.V769.P
makeallM.V769.P
makedecryptingM.IO.Internal.Datagram
makeencryptingM.IO.Internal.Datagram
makepacketstreamiM.IO.Internal.Datagram
makepacketstreamoM.IO.Internal.Datagram
ManyBoxes 
1 (Type/Class)M.Collision.Pure, M.Collision
2 (Data Constructor)M.Collision.Pure, M.Collision
ManyBoxes_M.Collision.Pure, M.Collision
MapData 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
MapData__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
MapIconM.TODO
mapidM.V769.P
mapid__M.V769.P
March 
1 (Type/Class)M.Collision.Internal.March
2 (Data Constructor)M.Collision.Internal.March
marchM.Collision.Internal.March
matchM.V769.P
matchesM.V769.P
matches__M.V769.P
maxplayersM.V769.P
maxplayers__M.V769.P
maxspeedM.V769.P
maxspeed__M.V769.P
MerchantOfferM.TODO
MerchantOffers 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
MerchantOffers__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
message 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
messageid 
1 (Function)M.V769.L
2 (Function)M.V769.L
3 (Function)M.V769.P
4 (Function)M.V769.P
messageid__ 
1 (Function)M.V769.L
2 (Function)M.V769.L
message__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
metadata_ 
1 (Function)M.V769.P
2 (Function)M.V769.P
metadata___ 
1 (Function)M.V769.P
2 (Function)M.V769.P
mictM.Collision.Internal.March
mirrorM.V769.P
mirror__M.V769.P
MismatchM.IO.Internal.EffectSocket
mkcscodecM.Chunk.Code
mkreg0M.Reg
mkreg1M.Reg
ModeM.Crypto
mode 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
mode__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
motdM.V769.P
MoveMinecartAlongTrack 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
MoveMinecartAlongTrack__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
MoveVehicle 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
MoveVehicleServerbound 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
mpctM.Collision.Internal.March
mtotM.Collision.Internal.March
\ No newline at end of file diff --git a/doc-index-N.html b/doc-index-N.html new file mode 100644 index 0000000..44faced --- /dev/null +++ b/doc-index-N.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - N)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - N

name 
1 (Function)M.V769.L
2 (Function)M.V769.L
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
NamedPair 
1 (Type/Class)M.NBT.Internal.P, M.NBT
2 (Data Constructor)M.NBT.Internal.P, M.NBT
nametagvisibilityM.V769.P
nametagvisibility__M.V769.P
name__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
NewlyTouchingGround 
1 (Type/Class)M.Collision.Effectful, M.Collision
2 (Data Constructor)M.Collision.Effectful, M.Collision
newongroundM.Collision.Effectful, M.Collision
newradiusM.V769.P
newradius__M.V769.P
newsizeM.V769.P
newsize__M.V769.P
nextstateM.V769.H
nextstate__M.V769.H
nodesM.V769.P
nodes__M.V769.P
\ No newline at end of file diff --git a/doc-index-O.html b/doc-index-O.html new file mode 100644 index 0000000..8296443 --- /dev/null +++ b/doc-index-O.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - O)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - O

objectivename 
1 (Function)M.V769.P
2 (Function)M.V769.P
objectivename__M.V769.P
obsM.IO.Obs
offersM.V769.P
offers__M.V769.P
offset 
1 (Function)M.V769.P
2 (Function)M.V769.P
offset__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
oldradiusM.V769.P
oldradius__M.V769.P
oldsizeM.V769.P
oldsize__M.V769.P
onground 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
onground__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
OpM.IO.Internal.EffectTypes, M.IO
OpenBook 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
OpenBook__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
OpenHorseScreen 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
OpenHorseScreen__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
OpenScreen 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
OpenScreen__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
OpenSignEditor 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
OutboundM.IO.Internal.EffectTypes, M.IO
\ No newline at end of file diff --git a/doc-index-P.html b/doc-index-P.html new file mode 100644 index 0000000..79a46f5 --- /dev/null +++ b/doc-index-P.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - P)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - P

PackM.Pack.Internal.Types, M.Pack
packM.Pack.Internal.Types, M.Pack
packfiM.Pack.Internal.Num, M.Pack
PackFoldable0 
1 (Type/Class)M.Pack.Internal.Newtypes, M.Pack
2 (Data Constructor)M.Pack.Internal.Newtypes, M.Pack
PackFoldableVI 
1 (Type/Class)M.Pack.Internal.Newtypes, M.Pack
2 (Data Constructor)M.Pack.Internal.Newtypes, M.Pack
packleb32M.Pack.Internal.Num, M.Pack
packsM.V769.C
packs__M.V769.C
PaddleBoat 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
pagesM.V769.P
pages__M.V769.P
ParseM.IO.Internal.EffectTypes, M.IO
ParseError 
1 (Type/Class)M.Pack.Internal.Types, M.Pack
2 (Data Constructor)M.Pack.Internal.Types, M.Pack
parseioM.IO.Internal.Read
parseio0M.IO.Internal.Read
parseio0liftM.IO.Internal.Read
parseioliftM.IO.Internal.Read
parsepureM.Pack.Internal.Types, M.Pack
parsepure0M.Pack.Internal.Types, M.Pack
ParserM.Pack.Internal.Types, M.Pack
ParserState 
1 (Type/Class)M.IO.Internal.EffectTypes, M.IO
2 (Data Constructor)M.IO.Internal.EffectTypes, M.IO
ParserStates 
1 (Type/Class)M.IO.TH, M.V769.Reg
2 (Data Constructor)M.IO.TH, M.V769.Reg
PartiallyFilteredM.V769.I
ParticleDataM.TODO
ParticleEffect 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ParticleEffect__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
particleidM.V769.P
particleid__M.V769.P
ParticleStatusM.V769.I
particlestatusM.V769.C
particlestatus__M.V769.C
passengerids 
1 (Function)M.V769.P
2 (Function)M.V769.P
passengerids__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
PassThroughM.V769.I
payloadM.V769.S
PickItemFromBlock 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PickItemFromEntity 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PickItemFromEntity__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
Ping 
1 (Type/Class)M.V769.I
2 (Data Constructor)M.V769.I
PingRequestPlay 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
pitch 
1 (Function)M.V769.P
2 (Function)M.V769.P
pitch__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
pkcodeM.IO.Internal.Datagram, M.IO
pkdataM.IO.Internal.Datagram, M.IO
PlaceGhostRecipe 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PlaceRecipe 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
playM.V769.Reg
PlayerAction 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PlayerAction__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PlayerChatMessage 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PlayerCommand 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PlayerCommand__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
playeridM.V769.P
playerid__M.V769.P
PlayerInfoRemove 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PlayerInfoUpdate 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PlayerInfoUpdate__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PlayerInput 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PlayerLoaded 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
playermotionM.V769.P
playernameM.V769.P
PlayerRotation 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
players 
1 (Function)M.V769.P
2 (Function)M.V769.P
PlayerSession 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
players__M.V769.P
PlayPing 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PlayPingResponse 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PluginMessage 
1 (Type/Class)M.V769.I
2 (Data Constructor)M.V769.I
Pong 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
PongPlay 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
PongResponse 
1 (Type/Class)M.V769.S
2 (Data Constructor)M.V769.S
poolM.V769.P
portalteleportboundaryM.V769.P
portalteleportboundary__M.V769.P
posapplyM.Position
posapplyvM.Position
Position 
1 (Type/Class)M.Position
2 (Data Constructor)M.Position
position 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
10 (Function)M.V769.P
11 (Function)M.V769.P
12 (Function)M.V769.P
13 (Function)M.V769.P
position__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
prefixM.V769.P
prefix__M.V769.P
previousgamemode 
1 (Function)M.V769.P
2 (Function)M.V769.P
previousgamemode__M.V769.P
primaryeffectM.V769.P
primaryeffect__M.V769.P
ProgramCommandBlock 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ProgramCommandBlockMinecart 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ProgramCommandBlockMinecart__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ProgramCommandBlock__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ProgramJigsawBlock 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ProgramStructureBlock 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ProgramStructureBlock__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
properderivepackunpackM.Pack.Internal.TH, M.Pack
propertiesM.V769.L
propertyM.V769.P
property__M.V769.P
protocolversionM.V769.H
protocolversion__M.V769.H
PSAllM.V769.I
PSDecreasedM.V769.I
PSMinimalM.V769.I
publickey 
1 (Function)M.V769.L
2 (Function)M.V769.P
\ No newline at end of file diff --git a/doc-index-Q.html b/doc-index-Q.html new file mode 100644 index 0000000..ef2b6fc --- /dev/null +++ b/doc-index-Q.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - Q)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - Q

QueryBlockEntityTag 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
QueryBlockEntityTag__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
QueryEntityTag 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
QueryEntityTag__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
\ No newline at end of file diff --git a/doc-index-R.html b/doc-index-R.html new file mode 100644 index 0000000..8d45e53 --- /dev/null +++ b/doc-index-R.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - R)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - R

radiusM.V769.P
reason 
1 (Function)M.V769.C
2 (Function)M.V769.L
3 (Function)M.V769.P
recipe 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
RecipeBookAdd 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
RecipeBookRemove 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
RecipeBookSettings 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
RecipeBookSettings__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
reduceddebuginfoM.V769.P
reduceddebuginfo__M.V769.P
RegM.Reg
RegistryData 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
RemoveEntities 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
RemoveEntities__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
RemoveEntityEffect 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
RemoveEntityEffect__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
RemoveResourcePack 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
3 (Type/Class)M.V769.P
4 (Data Constructor)M.V769.P
RenameItem 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
resdisM.Collision.Effectful, M.Collision
resetM.V769.P
ResetChat 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
ResetScore 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
Resolve 
1 (Type/Class)M.Collision.Effectful, M.Collision
2 (Data Constructor)M.Collision.Effectful, M.Collision
resolveM.Collision.Effectful, M.Collision
ResourcePack 
1 (Type/Class)M.V769.I
2 (Data Constructor)M.V769.I
ResourcePackResponse 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
ResourcePackResponsePlay 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ResourcePackResponsePlay__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
Respawn 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
resposM.Collision.Effectful, M.Collision
restouM.Collision.Effectful, M.Collision
ResultM.Pack.Internal.Types, M.Pack
rightpaddleturningM.V769.P
rightpantsM.V769.I
rightsleeveM.V769.I
rootindexM.V769.P
rootindex__M.V769.P
rotation 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
10 (Function)M.V769.P
11 (Function)M.V769.P
12 (Function)M.V769.P
rotation__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
rowsM.V769.P
rows__M.V769.P
RSAM.Crypto
RSAClassM.Crypto
rsanewM.Crypto
rsaspkiM.Crypto
rsaupM.Crypto
\ No newline at end of file diff --git a/doc-index-S.html b/doc-index-S.html new file mode 100644 index 0000000..a31c345 --- /dev/null +++ b/doc-index-S.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - S)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - S

safedecompM.IO.Internal.Zlib
salt 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
SayM.IO.Internal.EffectTypes, M.IO
sayM.IO.Internal.EffectTypes, M.IO
scaleM.V769.P
scale__M.V769.P
scenterM.Collision.Pure, M.Collision
sdimensionsM.Collision.Pure, M.Collision
secondaryeffectM.V769.P
secondaryeffect__M.V769.P
sectionpositionM.V769.P
sectionposition__M.V769.P
seedM.V769.P
seed__M.V769.P
SeenAdvancements 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SeenAdvancements__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SelectAdvancementsTab 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SelectTrade 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SelectTrade__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
send2parserstateM.IO.Internal.EffectTypes, M.IO
senderM.V769.P
sendernameM.V769.P
sendername__M.V769.P
sequence 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
sequence__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
serveraddress 
1 (Function)M.V769.H
2 (Function)M.V769.C
serveraddress__M.V769.H
ServerboundChangeDifficulty 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ServerboundChatCommand 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ServerboundPlayerAbilities 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ServerData 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
serveridM.V769.L
ServerLinks 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
ServerLinks__ 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
serverport 
1 (Function)M.V769.H
2 (Function)M.V769.C
serverport__M.V769.H
sessionidM.V769.P
SetActionBarText 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetBeaconEffect 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetBeaconEffect__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetBlockDestroyStage 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetBlockDestroyStage__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetBorderCenter 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetBorderLerpSize 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetBorderLerpSize__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetBorderSize 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetBorderWarningDelay 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetBorderWarningDelay__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetBorderWarningDistance 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetBorderWarningDistance__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetCamera 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetCamera__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetCenterChunk 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetCenterChunk__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetcompressionM.IO.Internal.EffectTypes, M.IO
setcompressionM.IO.Internal.EffectTypes, M.IO
SetContainerContent 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetContainerContent__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetContainerProperty 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetContainerProperty__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetContainerSlot 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetContainerSlot__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetCooldown 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetCooldown__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetCreativeModeSlot 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetCursorItem 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetDefaultSpawnPosition 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetencryptionM.IO.Internal.EffectTypes, M.IO
setencryptionM.IO.Internal.EffectTypes, M.IO
SetEntityMetadata 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetEntityMetadata__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetEntityVelocity 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetEntityVelocityResM.V769.I
SetEntityVelocity__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetEquipment 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetEquipment__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetExperience 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetExperience__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetHeadRotation 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetHeadRotation__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetHealth 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetHealth__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetHeldItem 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetHeldItemServerbound 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
setnameoridsM.Pack.Internal.Newtypes, M.Pack
SetPassengers 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetPassengers__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetPlayerInventorySlot 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetPlayerMovementFlags 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetPlayerPosition 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetPlayerPositionAndRotation 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetPlayerPositionAndRotation__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetPlayerPosition__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetPlayerRotation 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetRenderDistance 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetRenderDistance__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetSeenRecipe 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetSimulationDistance 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetSimulationDistance__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetSubtitleText 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetTabListHeaderAndFooter 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetTitleAnimationTimes 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SetTitleText 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
ShapeM.Collision.Pure, M.Collision
sharedsecretM.V769.L
shicornerM.Collision.Pure, M.Collision
ShortM.NBT.Internal.Types, M.NBT
shouldauthenticateM.V769.L
showparseerrorM.Pack.Internal.Types, M.Pack
sidewaysM.V769.P
signature 
1 (Function)M.V769.L
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
SignedChatCommand 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
signedpreview 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
simulationdistance 
1 (Function)M.V769.P
2 (Function)M.V769.P
simulationdistance__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
size 
1 (Function)M.V769.P
2 (Function)M.V769.P
size__M.V769.P
skeepaliveM.IO.KeepAlive
slocornerM.Collision.Pure, M.Collision
SlotM.TODO
slot 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
slotcountM.V769.P
slotcount__M.V769.P
slotdata_ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
slots 
1 (Function)M.V769.P
2 (Function)M.V769.P
slots__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
slot__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
sneakingM.V769.P
sneaking__M.V769.P
SocketTalkingErrorM.IO.Internal.EffectSocket
SomePack 
1 (Type/Class)M.Pack.Internal.Types, M.Pack
2 (Data Constructor)M.Pack.Internal.Types, M.Pack
SomeShape1 
1 (Type/Class)M.Collision.Pure, M.Collision
2 (Data Constructor)M.Collision.Pure, M.Collision
SomeUnpack 
1 (Type/Class)M.Pack.Internal.Types, M.Pack
2 (Data Constructor)M.Pack.Internal.Types, M.Pack
soundM.V769.P
soundcategory 
1 (Function)M.V769.P
2 (Function)M.V769.P
soundcategory__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
SoundEffect 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SoundEffect__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SoundEvent 
1 (Type/Class)M.Misc
2 (Data Constructor)M.Misc
soundid 
1 (Function)M.V769.P
2 (Function)M.V769.P
soundid__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
soundnameM.Misc
sound__M.V769.P
sourceM.V769.P
sourceidM.V769.P
sourceid__M.V769.P
source__M.V769.P
SpawnEntity 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SpawnEntity__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SpawnExperienceOrb 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SpawnExperienceOrb__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
speed 
1 (Function)M.V769.P
2 (Function)M.V769.P
speed__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
startM.V769.P
StartConfiguration 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
start__M.V769.P
stateM.V769.P
stateid 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
stateid__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
statesM.IO.TH
statisticidM.V769.P
statisticid__M.V769.P
statsM.V769.P
status 
1 (Function)M.V769.C
2 (Function)M.V769.P
3 (Function)M.V769.Reg
StatusRequest 
1 (Type/Class)M.V769.S
2 (Data Constructor)M.V769.S
StatusResponse 
1 (Type/Class)M.V769.S
2 (Data Constructor)M.V769.S
status__M.V769.P
stayM.V769.P
StopSound 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
StopSound__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
StoreCookie 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
3 (Type/Class)M.V769.P
4 (Data Constructor)M.V769.P
StringM.NBT.Internal.Types, M.NBT
successfulM.V769.L
successful__M.V769.L
suffixM.V769.P
suffix__M.V769.P
suggestionsM.V769.P
suggestions__M.V769.P
SwingArm 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SwingArm__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SynchronizePlayerPosition 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
SynchronizePlayerPosition__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
\ No newline at end of file diff --git a/doc-index-T.html b/doc-index-T.html new file mode 100644 index 0000000..f2d70fc --- /dev/null +++ b/doc-index-T.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - T)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - T

tabidM.V769.P
tabid__M.V769.P
tagsM.V769.C
tags__M.V769.C
TakeRest 
1 (Type/Class)M.Pack.Internal.Newtypes, M.Pack
2 (Data Constructor)M.Pack.Internal.Newtypes, M.Pack
TalkingM.IO.Internal.EffectTypes, M.IO
Talking'M.IO.Internal.EffectTypes, M.IO
target 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
targetentityidM.V769.P
targetentityid__M.V769.P
targetnameM.V769.P
targetname__M.V769.P
target__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
TByteM.NBT.Internal.Types, M.NBT
TByteArrayM.NBT.Internal.Types, M.NBT
TCompoundM.NBT.Internal.Types, M.NBT
TDoubleM.NBT.Internal.Types, M.NBT
teamnameM.V769.P
teamname__M.V769.P
TeleportEntity 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
TeleportEntity__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
TeleportFlags 
1 (Type/Class)M.Misc
2 (Data Constructor)M.Misc
teleportid 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
teleportid__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
TeleportToEntity 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
TeleportToEntity__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
TEndM.NBT.Internal.Types, M.NBT
text 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
textascesu8M.NBT.Internal.JS
TextComponentM.TODO
text__M.V769.P
TFloatM.NBT.Internal.Types, M.NBT
TgM.NBT.Internal.Types, M.NBT
tickM.IO.Tick
timeofdayM.V769.P
timestamp 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
TIntM.NBT.Internal.Types, M.NBT
TIntArrayM.NBT.Internal.Types, M.NBT
title 
1 (Function)M.V769.P
2 (Function)M.V769.P
title__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
TListM.NBT.Internal.Types, M.NBT
TLongM.NBT.Internal.Types, M.NBT
TLongArrayM.NBT.Internal.Types, M.NBT
tobits0M.Pack.Internal.Bit, M.Pack
tocesu8M.NBT.Internal.JS
tocesu8pM.NBT.Internal.JS
tomanyboxesM.Collision.Pure, M.Collision
tooltipM.V769.P
totalexperienceM.V769.P
totalexperience__M.V769.P
tprelpitchM.Misc
tprelvelxM.Misc
tprelvelyM.Misc
tprelvelyawM.Misc
tprelvelzM.Misc
tprelxM.Misc
tprelyM.Misc
tprelyawM.Misc
tprelzM.Misc
tprotvelfirstM.Misc
trackingpositionM.V769.P
trackingposition__M.V769.P
trackoutputM.V769.P
trackoutput__M.V769.P
transactionid 
1 (Function)M.V769.P
2 (Function)M.V769.P
transactionid__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
Transfer 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
translateM.Collision.Pure, M.Collision
trustedgesM.V769.P
trustedges__M.V769.P
TShortM.NBT.Internal.Types, M.NBT
TStringM.NBT.Internal.Types, M.NBT
TyM.NBT.Internal.Types, M.NBT
type_ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
type___ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
\ No newline at end of file diff --git a/doc-index-U.html b/doc-index-U.html new file mode 100644 index 0000000..6111e5a --- /dev/null +++ b/doc-index-U.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - U)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - U

unbitwiseM.Pack.Internal.Bit, M.Pack
unfixed'M.Pack.Internal.Newtypes, M.Pack
unHit'M.Collision.Pure, M.Collision
Uninterpreted 
1 (Type/Class)M.IO.Internal.Datagram, M.IO
2 (Data Constructor)M.IO.Internal.Datagram, M.IO
UnknownCodeM.IO.Internal.EffectSocket
UnloadChunk 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UnpackM.Pack.Internal.Types, M.Pack
unpackM.Pack.Internal.Types, M.Pack
unpackfiM.Pack.Internal.Num, M.Pack
unpackleb32M.Pack.Internal.Num, M.Pack
UnpackRepresentable0 
1 (Type/Class)M.Pack.Internal.Newtypes, M.Pack
2 (Data Constructor)M.Pack.Internal.Newtypes, M.Pack
unpacksomeM.Pack.Internal.Types, M.Pack
UpdateEntityPosition 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateEntityPositionAndRotation 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateEntityPositionAndRotation__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateEntityPosition__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateEntityRotation 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateEntityRotation__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateLight 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateLight__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateObjectives 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateObjectives__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateScore 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateScore__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateSectionBlocks 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateSectionBlocks__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateSign 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateTags 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
UpdateTags__ 
1 (Type/Class)M.V769.C
2 (Data Constructor)M.V769.C
UpdateTeams 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateTeams__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UpdateTime 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
updongroundM.Collision.Effectful, M.Collision
url 
1 (Function)M.V769.I
2 (Function)M.V769.P
UseItem 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UseItemOn 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UseItemOn__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
UseItem__ 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
usernameM.V769.L
uuid 
1 (Function)M.V769.L
2 (Function)M.V769.L
3 (Function)M.V769.P
\ No newline at end of file diff --git a/doc-index-V.html b/doc-index-V.html new file mode 100644 index 0000000..729ffc9 --- /dev/null +++ b/doc-index-V.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - V)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - V

value 
1 (Function)M.V769.C
2 (Function)M.V769.C
3 (Function)M.V769.L
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
value__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
VarIntM.LEB
VarLongM.LEB
vehicleidM.V769.P
vehicleid__M.V769.P
velocity 
1 (Function)M.V769.P
2 (Function)M.V769.P
velocity__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
verifytoken 
1 (Function)M.V769.L
2 (Function)M.V769.L
viewdistance 
1 (Function)M.V769.C
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
viewdistance__ 
1 (Function)M.V769.C
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
villagerlevelM.V769.P
villagerlevel__M.V769.P
volume 
1 (Function)M.V769.P
2 (Function)M.V769.P
volume__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
\ No newline at end of file diff --git a/doc-index-W.html b/doc-index-W.html new file mode 100644 index 0000000..46c2ce5 --- /dev/null +++ b/doc-index-W.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - W)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - W

walkingspeedM.V769.P
warningblocks 
1 (Function)M.V769.P
2 (Function)M.V769.P
warningblocks__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
warningtime 
1 (Function)M.V769.P
2 (Function)M.V769.P
warningtime__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
windowid 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
9 (Function)M.V769.P
10 (Function)M.V769.P
11 (Function)M.V769.P
12 (Function)M.V769.P
13 (Function)M.V769.P
windowid__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
5 (Function)M.V769.P
6 (Function)M.V769.P
7 (Function)M.V769.P
8 (Function)M.V769.P
withcxfromsocketM.IO.Internal.Socket, M.IO
withtalkingclientM.IO.Internal.EffectSocket, M.IO
withtalkingserverM.IO.Internal.EffectSocket, M.IO
worldageM.V769.P
WorldEvent 
1 (Type/Class)M.V769.P
2 (Data Constructor)M.V769.P
worldname 
1 (Function)M.V769.P
2 (Function)M.V769.P
worldnamesM.V769.P
worldnames__M.V769.P
worldname__M.V769.P
\ No newline at end of file diff --git a/doc-index-X.html b/doc-index-X.html new file mode 100644 index 0000000..e3a0343 --- /dev/null +++ b/doc-index-X.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - X)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - X

x 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
x__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
\ No newline at end of file diff --git a/doc-index-Z.html b/doc-index-Z.html new file mode 100644 index 0000000..66cc75d --- /dev/null +++ b/doc-index-Z.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index - Z)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Index - Z

z 
1 (Function)M.V769.P
2 (Function)M.V769.P
3 (Function)M.V769.P
4 (Function)M.V769.P
z__ 
1 (Function)M.V769.P
2 (Function)M.V769.P
\ No newline at end of file diff --git a/doc-index.html b/doc-index.html new file mode 100644 index 0000000..2513c15 --- /dev/null +++ b/doc-index.html @@ -0,0 +1 @@ +mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell (Index)
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
\ No newline at end of file diff --git a/doc-index.json b/doc-index.json new file mode 100644 index 0000000..f826ae1 --- /dev/null +++ b/doc-index.json @@ -0,0 +1 @@ +[{"display_html":"facepoints :: V3 Int -> V3 Int -> [V3 Int]","name":"facepoints","module":"M.Collision.Internal.Face","link":"M-Collision-Internal-Face.html#v:facepoints"},{"display_html":"dbgcountfacepoints :: V3 Int -> V3 Int -> Int","name":"dbgcountfacepoints","module":"M.Collision.Internal.Face","link":"M-Collision-Internal-Face.html#v:dbgcountfacepoints"},{"display_html":"dbgdesmos :: Show a => [V3 a] -> String","name":"dbgdesmos","module":"M.Collision.Internal.Face","link":"M-Collision-Internal-Face.html#v:dbgdesmos"},{"display_html":"data March (f :: Type -> Type) a = March {}","name":"March March mtot mpct mict","module":"M.Collision.Internal.March","link":"M-Collision-Internal-March.html#t:March"},{"display_html":"march :: (Foldable f, Representable f, Rep f ~ E f, RealFloat a, Epsilon a) => f a -> f a -> [March f a]","name":"march","module":"M.Collision.Internal.March","link":"M-Collision-Internal-March.html#v:march"},{"display_html":"class Shape (s :: Type -> Type) where","name":"Shape translate crossing intersecting tomanyboxes hitting corners scenter sdimensions $dmscenter $dmsdimensions","module":"M.Collision.Pure","link":"M-Collision-Pure.html#t:Shape"},{"display_html":"data SomeShape1 a = (Typeable (s a), Show (s a), Shape s) => SomeShape1 (s a)","name":"SomeShape1 SomeShape1","module":"M.Collision.Pure","link":"M-Collision-Pure.html#t:SomeShape1"},{"display_html":"data Hit a = Hit {}","name":"Hit Hit hittime hitwhere hitnorm","module":"M.Collision.Pure","link":"M-Collision-Pure.html#t:Hit"},{"display_html":"newtype Hit' a = Hit' {}","name":"Hit' Hit' unHit'","module":"M.Collision.Pure","link":"M-Collision-Pure.html#t:Hit-39-"},{"display_html":"data Box a where","name":"Box Box' center Box dimensions","module":"M.Collision.Pure","link":"M-Collision-Pure.html#t:Box"},{"display_html":"newtype ManyBoxes (f :: Type -> Type) a = ManyBoxes (f (Box a))","name":"ManyBoxes ManyBoxes","module":"M.Collision.Pure","link":"M-Collision-Pure.html#t:ManyBoxes"},{"display_html":"type ManyBoxes_ a = ManyBoxes [] a","name":"ManyBoxes_","module":"M.Collision.Pure","link":"M-Collision-Pure.html#t:ManyBoxes_"},{"display_html":"_dimensions :: forall a f. Functor f => (V3 a -> f (V3 a)) -> Box a -> f (Box a)","name":"_dimensions","module":"M.Collision.Pure","link":"M-Collision-Pure.html#v:_dimensions"},{"display_html":"_center :: forall a f. Functor f => (V3 a -> f (V3 a)) -> Box a -> f (Box a)","name":"_center","module":"M.Collision.Pure","link":"M-Collision-Pure.html#v:_center"},{"display_html":"_lcorner :: Fractional a => Lens' (Box a) (V3 a)","name":"_lcorner","module":"M.Collision.Pure","link":"M-Collision-Pure.html#v:_lcorner"},{"display_html":"_hcorner :: Fractional a => Lens' (Box a) (V3 a)","name":"_hcorner","module":"M.Collision.Pure","link":"M-Collision-Pure.html#v:_hcorner"},{"display_html":"hitin01 :: (Num a, Ord a) => Hit a -> Bool","name":"hitin01","module":"M.Collision.Pure","link":"M-Collision-Pure.html#v:hitin01"},{"display_html":"infhit :: Fractional a => Hit a","name":"infhit","module":"M.Collision.Pure","link":"M-Collision-Pure.html#v:infhit"},{"display_html":"boxfromcorners :: Fractional a => V3 a -> V3 a -> Box a","name":"boxfromcorners","module":"M.Collision.Pure","link":"M-Collision-Pure.html#v:boxfromcorners"},{"display_html":"castshape1 :: Typeable b => SomeShape1 a -> Maybe b","name":"castshape1","module":"M.Collision.Pure","link":"M-Collision-Pure.html#v:castshape1"},{"display_html":"boxzero :: Num a => Box a","name":"boxzero","module":"M.Collision.Pure","link":"M-Collision-Pure.html#v:boxzero"},{"display_html":"hicorner :: Fractional a => Box a -> V3 a","name":"hicorner","module":"M.Collision.Pure","link":"M-Collision-Pure.html#v:hicorner"},{"display_html":"hicorner' :: Fractional a => Box a -> V3 a","name":"hicorner'","module":"M.Collision.Pure","link":"M-Collision-Pure.html#v:hicorner-39-"},{"display_html":"locorner :: Fractional a => Box a -> V3 a","name":"locorner","module":"M.Collision.Pure","link":"M-Collision-Pure.html#v:locorner"},{"display_html":"locorner' :: Fractional a => Box a -> V3 a","name":"locorner'","module":"M.Collision.Pure","link":"M-Collision-Pure.html#v:locorner-39-"},{"display_html":"shicorner :: (Shape s, Fractional a, Ord a) => s a -> V3 a","name":"shicorner","module":"M.Collision.Pure","link":"M-Collision-Pure.html#v:shicorner"},{"display_html":"slocorner :: (Shape s, Fractional a, Ord a) => s a -> V3 a","name":"slocorner","module":"M.Collision.Pure","link":"M-Collision-Pure.html#v:slocorner"},{"display_html":"data GetBlock (f :: Type -> Type) a (b :: Type -> Type) c where","name":"GetBlock GetBlock","module":"M.Collision.Effectful","link":"M-Collision-Effectful.html#t:GetBlock"},{"display_html":"getblock :: forall f a (ef :: [Effect]). (HasCallStack, GetBlock f a :> ef) => V3 Int -> Eff ef (Maybe (f a))","name":"getblock","module":"M.Collision.Effectful","link":"M-Collision-Effectful.html#v:getblock"},{"display_html":"data Resolve a = Resolve {}","name":"Resolve Resolve respos resdis restou","module":"M.Collision.Effectful","link":"M-Collision-Effectful.html#t:Resolve"},{"display_html":"resolve :: forall s n (ef :: [Effect]). (Shape s, RealFloat n, Epsilon n, Typeable n, GetBlock s n :> ef) => s n -> V3 n -> Eff ef (Resolve n)","name":"resolve","module":"M.Collision.Effectful","link":"M-Collision-Effectful.html#v:resolve"},{"display_html":"_respos :: forall a f. Functor f => (V3 a -> f (V3 a)) -> Resolve a -> f (Resolve a)","name":"_respos","module":"M.Collision.Effectful","link":"M-Collision-Effectful.html#v:_respos"},{"display_html":"_resdis :: forall a f. Functor f => (V3 a -> f (V3 a)) -> Resolve a -> f (Resolve a)","name":"_resdis","module":"M.Collision.Effectful","link":"M-Collision-Effectful.html#v:_resdis"},{"display_html":"_restou :: forall a f. Functor f => (NewlyTouchingGround -> f NewlyTouchingGround) -> Resolve a -> f (Resolve a)","name":"_restou","module":"M.Collision.Effectful","link":"M-Collision-Effectful.html#v:_restou"},{"display_html":"newtype NewlyTouchingGround = NewlyTouchingGround {}","name":"NewlyTouchingGround NewlyTouchingGround newonground","module":"M.Collision.Effectful","link":"M-Collision-Effectful.html#t:NewlyTouchingGround"},{"display_html":"updonground :: NewlyTouchingGround -> Bool -> Bool","name":"updonground","module":"M.Collision.Effectful","link":"M-Collision-Effectful.html#v:updonground"},{"display_html":"islanding :: NewlyTouchingGround -> Bool","name":"islanding","module":"M.Collision.Effectful","link":"M-Collision-Effectful.html#v:islanding"},{"display_html":"istakingoff :: NewlyTouchingGround -> Bool","name":"istakingoff","module":"M.Collision.Effectful","link":"M-Collision-Effectful.html#v:istakingoff"},{"display_html":"module M.Collision.Effectful","name":"","module":"M.Collision","link":""},{"display_html":"module M.Collision.Pure","name":"","module":"M.Collision","link":""},{"display_html":"data AES (mode :: Mode)","name":"AES","module":"M.Crypto","link":"M-Crypto.html#t:AES"},{"display_html":"data Mode","name":"Mode Encrypt Decrypt","module":"M.Crypto","link":"M-Crypto.html#t:Mode"},{"display_html":"aesnew :: AESClass mode => ByteString -> IO (AES mode)","name":"aesnew","module":"M.Crypto","link":"M-Crypto.html#v:aesnew"},{"display_html":"aesupdate :: AESClass mode => AES mode -> ByteString -> IO ByteString","name":"aesupdate","module":"M.Crypto","link":"M-Crypto.html#v:aesupdate"},{"display_html":"data RSA","name":"RSA","module":"M.Crypto","link":"M-Crypto.html#t:RSA"},{"display_html":"rsanew :: Int -> IO RSA","name":"rsanew","module":"M.Crypto","link":"M-Crypto.html#v:rsanew"},{"display_html":"rsaup :: RSAClass mode => RSA -> ByteString -> IO ByteString","name":"rsaup","module":"M.Crypto","link":"M-Crypto.html#v:rsaup"},{"display_html":"rsaspki :: RSA -> IO ByteString","name":"rsaspki","module":"M.Crypto","link":"M-Crypto.html#v:rsaspki"},{"display_html":"hashservnam :: ByteString -> ByteString -> ByteString -> IO ByteString","name":"hashservnam","module":"M.Crypto","link":"M-Crypto.html#v:hashservnam"},{"display_html":"newtype Error = Error String","name":"Error Error","module":"M.Crypto","link":"M-Crypto.html#t:Error"},{"display_html":"class AESClass (mode :: Mode)","name":"AESClass","module":"M.Crypto","link":"M-Crypto.html#t:AESClass"},{"display_html":"class RSAClass (mode :: Mode)","name":"RSAClass","module":"M.Crypto","link":"M-Crypto.html#t:RSAClass"},{"display_html":"data ByteString","name":"ByteString","module":"M.Crypto","link":"M-Crypto.html#t:ByteString"},{"display_html":"parseio :: Exception e => r -> Int -> InputStream ByteString -> ParserIO r e a -> IO a","name":"parseio","module":"M.IO.Internal.Read","link":"M-IO-Internal-Read.html#v:parseio"},{"display_html":"parseio0 :: Exception e => InputStream ByteString -> ParserIO () e a -> IO a","name":"parseio0","module":"M.IO.Internal.Read","link":"M-IO-Internal-Read.html#v:parseio0"},{"display_html":"parseiolift :: (MonadIO m, Exception e) => r -> Int -> InputStream ByteString -> ParserIO r e a -> m a","name":"parseiolift","module":"M.IO.Internal.Read","link":"M-IO-Internal-Read.html#v:parseiolift"},{"display_html":"parseio0lift :: (MonadIO m, Exception e) => InputStream ByteString -> ParserIO () e a -> m a","name":"parseio0lift","module":"M.IO.Internal.Read","link":"M-IO-Internal-Read.html#v:parseio0lift"},{"display_html":"safedecomp :: Int -> ByteString -> IO ByteString","name":"safedecomp","module":"M.IO.Internal.Zlib","link":"M-IO-Internal-Zlib.html#v:safedecomp"},{"display_html":"obs :: forall (es :: [Effect]) a b. (Concurrent :> es, Eq a) => TVar a -> (a -> a -> STM a) -> (a -> a -> Eff es ()) -> Eff es b","name":"obs","module":"M.IO.Obs","link":"M-IO-Obs.html#v:obs"},{"display_html":"tick :: forall (es :: [Effect]) b. (IOE :> es, Concurrent :> es) => TVar Double -> Eff es () -> Eff es b","name":"tick","module":"M.IO.Tick","link":"M-IO-Tick.html#v:tick"},{"display_html":"newtype LEB a = LEB {}","name":"LEB LEB getleb","module":"M.LEB","link":"M-LEB.html#t:LEB"},{"display_html":"type VarInt = LEB Int32","name":"VarInt","module":"M.LEB","link":"M-LEB.html#t:VarInt"},{"display_html":"type VarLong = LEB Int64","name":"VarLong","module":"M.LEB","link":"M-LEB.html#t:VarLong"},{"display_html":"decodeleb :: (Monad m, FiniteBits a, Num a) => m Word8 -> m (LEB a)","name":"decodeleb","module":"M.LEB","link":"M-LEB.html#v:decodeleb"},{"display_html":"encodeleb :: (FiniteBits a, Integral a) => LEB a -> Builder","name":"encodeleb","module":"M.LEB","link":"M-LEB.html#v:encodeleb"},{"display_html":"fi :: (Integral a, Num b) => a -> b","name":"fi","module":"M.Pack.Internal.FromIntegral","link":"M-Pack-Internal-FromIntegral.html#v:fi"},{"display_html":"class Pack a where","name":"Pack pack $dmpack","module":"M.Pack.Internal.Types","link":"M-Pack-Internal-Types.html#t:Pack"},{"display_html":"data SomePack = (Typeable a, Pack a, Show a) => SomePack a","name":"SomePack SomePack","module":"M.Pack.Internal.Types","link":"M-Pack-Internal-Types.html#t:SomePack"},{"display_html":"class Unpack a where","name":"Unpack unpack $dmunpack","module":"M.Pack.Internal.Types","link":"M-Pack-Internal-Types.html#t:Unpack"},{"display_html":"data SomeUnpack = (Typeable a, Unpack a, Show a) => SomeUnpack a","name":"SomeUnpack SomeUnpack","module":"M.Pack.Internal.Types","link":"M-Pack-Internal-Types.html#t:SomeUnpack"},{"display_html":"type Parser (st :: ZeroBitType) r = ParserT st r ParseError","name":"Parser","module":"M.Pack.Internal.Types","link":"M-Pack-Internal-Types.html#t:Parser"},{"display_html":"type Result = Result ParseError","name":"Result","module":"M.Pack.Internal.Types","link":"M-Pack-Internal-Types.html#t:Result"},{"display_html":"newtype ParseError = ParseError {}","name":"ParseError ParseError showparseerror","module":"M.Pack.Internal.Types","link":"M-Pack-Internal-Types.html#t:ParseError"},{"display_html":"parsepure :: (forall (st :: ZeroBitType). Parser st r a) -> r -> Int -> ByteString -> Result a","name":"parsepure","module":"M.Pack.Internal.Types","link":"M-Pack-Internal-Types.html#v:parsepure"},{"display_html":"parsepure0 :: (forall (st :: ZeroBitType). Parser st () a) -> ByteString -> Result a","name":"parsepure0","module":"M.Pack.Internal.Types","link":"M-Pack-Internal-Types.html#v:parsepure0"},{"display_html":"castsomepack :: Typeable a => SomePack -> Maybe a","name":"castsomepack","module":"M.Pack.Internal.Types","link":"M-Pack-Internal-Types.html#v:castsomepack"},{"display_html":"castsomeunpack :: Typeable a => SomeUnpack -> Maybe a","name":"castsomeunpack","module":"M.Pack.Internal.Types","link":"M-Pack-Internal-Types.html#v:castsomeunpack"},{"display_html":"unpacksome :: forall a (st :: ZeroBitType) r. (Typeable a, Unpack a, Show a) => Parser st r SomeUnpack","name":"unpacksome","module":"M.Pack.Internal.Types","link":"M-Pack-Internal-Types.html#v:unpacksome"},{"display_html":"borrowderivepackunpack :: RunUserCoercion -> Q [Dec]","name":"borrowderivepackunpack","module":"M.Pack.Internal.TH","link":"M-Pack-Internal-TH.html#v:borrowderivepackunpack"},{"display_html":"properderivepackunpack :: Name -> Q [Dec]","name":"properderivepackunpack","module":"M.Pack.Internal.TH","link":"M-Pack-Internal-TH.html#v:properderivepackunpack"},{"display_html":"borrowderivenothing :: RunUserCoercion -> Q [Dec]","name":"borrowderivenothing","module":"M.Pack.Internal.TH","link":"M-Pack-Internal-TH.html#v:borrowderivenothing"},{"display_html":"packleb32 :: Integral a => a -> Builder","name":"packleb32","module":"M.Pack.Internal.Num","link":"M-Pack-Internal-Num.html#v:packleb32"},{"display_html":"unpackleb32 :: forall a (st :: ZeroBitType) r. Integral a => Parser st r a","name":"unpackleb32","module":"M.Pack.Internal.Num","link":"M-Pack-Internal-Num.html#v:unpackleb32"},{"display_html":"packfi :: (Integral a, Pack a, Integral b) => b -> Builder","name":"packfi","module":"M.Pack.Internal.Num","link":"M-Pack-Internal-Num.html#v:packfi"},{"display_html":"unpackfi :: forall a b (st :: ZeroBitType) r. (Integral a, Unpack a, Integral b) => Parser st r b","name":"unpackfi","module":"M.Pack.Internal.Num","link":"M-Pack-Internal-Num.html#v:unpackfi"},{"display_html":"guardnat :: forall a (st :: ZeroBitType) r. (Num a, Ord a, Show a) => String -> a -> Parser st r a","name":"guardnat","module":"M.Pack.Internal.Num","link":"M-Pack-Internal-Num.html#v:guardnat"},{"display_html":"newtype EnumIndex (i :: k) a = EnumIndex {}","name":"EnumIndex EnumIndex enumindex","module":"M.Pack.Internal.Newtypes","link":"M-Pack-Internal-Newtypes.html#t:EnumIndex"},{"display_html":"newtype Fixed' (i :: k) (r :: k1) f = Fixed' {}","name":"Fixed' Fixed' unfixed'","module":"M.Pack.Internal.Newtypes","link":"M-Pack-Internal-Newtypes.html#t:Fixed-39-"},{"display_html":"newtype Int8Angle = Int8Angle {}","name":"Int8Angle Int8Angle int8angle","module":"M.Pack.Internal.Newtypes","link":"M-Pack-Internal-Newtypes.html#t:Int8Angle"},{"display_html":"newtype Identifier = Identifier {}","name":"Identifier Identifier identifier","module":"M.Pack.Internal.Newtypes","link":"M-Pack-Internal-Newtypes.html#t:Identifier"},{"display_html":"newtype IDorX a = IDorX {}","name":"IDorX IDorX idorvalue","module":"M.Pack.Internal.Newtypes","link":"M-Pack-Internal-Newtypes.html#t:IDorX"},{"display_html":"newtype IDSet = IDSet {}","name":"IDSet IDSet setnameorids","module":"M.Pack.Internal.Newtypes","link":"M-Pack-Internal-Newtypes.html#t:IDSet"},{"display_html":"newtype TakeRest = TakeRest {}","name":"TakeRest TakeRest gettakerest","module":"M.Pack.Internal.Newtypes","link":"M-Pack-Internal-Newtypes.html#t:TakeRest"},{"display_html":"newtype PackFoldableVI (f :: k -> Type) (a :: k) = PackFoldableVI {}","name":"PackFoldableVI PackFoldableVI getpackfoldablevi","module":"M.Pack.Internal.Newtypes","link":"M-Pack-Internal-Newtypes.html#t:PackFoldableVI"},{"display_html":"newtype PackFoldable0 (f :: k -> Type) (a :: k) = PackFoldable0 {}","name":"PackFoldable0 PackFoldable0 getpackfoldable0","module":"M.Pack.Internal.Newtypes","link":"M-Pack-Internal-Newtypes.html#t:PackFoldable0"},{"display_html":"newtype UnpackRepresentable0 (f :: k -> Type) (a :: k) = UnpackRepresentable0 {}","name":"UnpackRepresentable0 UnpackRepresentable0 getunpackrepresentable0","module":"M.Pack.Internal.Newtypes","link":"M-Pack-Internal-Newtypes.html#t:UnpackRepresentable0"},{"display_html":"degtoi8angle :: RealFrac a => a -> Int8Angle","name":"degtoi8angle","module":"M.Pack.Internal.Newtypes","link":"M-Pack-Internal-Newtypes.html#v:degtoi8angle"},{"display_html":"i8angledeg :: RealFrac a => Int8Angle -> a","name":"i8angledeg","module":"M.Pack.Internal.Newtypes","link":"M-Pack-Internal-Newtypes.html#v:i8angledeg"},{"display_html":"newtype Bitwise (i :: k) a = Bitwise {}","name":"Bitwise Bitwise unbitwise","module":"M.Pack.Internal.Bit","link":"M-Pack-Internal-Bit.html#t:Bitwise"},{"display_html":"class Bitreppable i a where","name":"Bitreppable tobits0 frombits0 $dmtobits0 $dmfrombits0","module":"M.Pack.Internal.Bit","link":"M-Pack-Internal-Bit.html#t:Bitreppable"},{"display_html":"newtype Bitset = Bitset {}","name":"Bitset Bitset getbitset","module":"M.Pack.Internal.Bit","link":"M-Pack-Internal-Bit.html#t:Bitset"},{"display_html":"newtype FixedBitset (i :: k) = FixedBitset {}","name":"FixedBitset FixedBitset getfixedbitset","module":"M.Pack.Internal.Bit","link":"M-Pack-Internal-Bit.html#t:FixedBitset"},{"display_html":"module M.Pack.Internal.Types","name":"","module":"M.Pack","link":""},{"display_html":"module M.Pack.Internal.Num","name":"","module":"M.Pack","link":""},{"display_html":"module M.Pack.Internal.Newtypes","name":"","module":"M.Pack","link":""},{"display_html":"module M.Pack.Internal.Bit","name":"","module":"M.Pack","link":""},{"display_html":"module M.Pack.Internal.TH","name":"","module":"M.Pack","link":""},{"display_html":"data Ty","name":"Ty TEnd TByte TShort TInt TLong TFloat TDouble TByteArray TString TList TCompound TIntArray TLongArray","module":"M.NBT.Internal.Types","link":"M-NBT-Internal-Types.html#t:Ty"},{"display_html":"data Tg where","name":"Tg Int Float Double List String ByteArray End Byte Short Long Compound IntArray LongArray","module":"M.NBT.Internal.Types","link":"M-NBT-Internal-Types.html#t:Tg"},{"display_html":"getty :: Tg -> Ty","name":"getty","module":"M.NBT.Internal.Types","link":"M-NBT-Internal-Types.html#v:getty"},{"display_html":"newtype JS = JS {}","name":"JS JS getjs","module":"M.NBT.Internal.JS","link":"M-NBT-Internal-JS.html#t:JS"},{"display_html":"textascesu8 :: Text -> ByteString","name":"textascesu8","module":"M.NBT.Internal.JS","link":"M-NBT-Internal-JS.html#v:textascesu8"},{"display_html":"cesu8astext :: ByteString -> Maybe Text","name":"cesu8astext","module":"M.NBT.Internal.JS","link":"M-NBT-Internal-JS.html#v:cesu8astext"},{"display_html":"tocesu8 :: JS -> ByteString","name":"tocesu8","module":"M.NBT.Internal.JS","link":"M-NBT-Internal-JS.html#v:tocesu8"},{"display_html":"tocesu8p :: JS -> Builder","name":"tocesu8p","module":"M.NBT.Internal.JS","link":"M-NBT-Internal-JS.html#v:tocesu8p"},{"display_html":"fromcesu8 :: ByteString -> Maybe JS","name":"fromcesu8","module":"M.NBT.Internal.JS","link":"M-NBT-Internal-JS.html#v:fromcesu8"},{"display_html":"fromcesu8p :: forall (st :: ZeroBitType) r. Parser st r JS","name":"fromcesu8p","module":"M.NBT.Internal.JS","link":"M-NBT-Internal-JS.html#v:fromcesu8p"},{"display_html":"data NamedPair = NamedPair !Text !Tg","name":"NamedPair NamedPair","module":"M.NBT.Internal.P","link":"M-NBT-Internal-P.html#t:NamedPair"},{"display_html":"data Ty","name":"Ty TEnd TByte TShort TInt TLong TFloat TDouble TByteArray TString TList TCompound TIntArray TLongArray","module":"M.NBT","link":"M-NBT.html#t:Ty"},{"display_html":"data Tg where","name":"Tg Int Float Double List String ByteArray End Byte Short Long Compound IntArray LongArray","module":"M.NBT","link":"M-NBT.html#t:Tg"},{"display_html":"data NamedPair = NamedPair !Text !Tg","name":"NamedPair NamedPair","module":"M.NBT","link":"M-NBT.html#t:NamedPair"},{"display_html":"data TeleportFlags = TeleportFlags {}","name":"TeleportFlags TeleportFlags tprelx tprely tprelz tprelyaw tprelpitch tprelvelx tprelvely tprelvelz tprelvelyaw tprotvelfirst","module":"M.Misc","link":"M-Misc.html#t:TeleportFlags"},{"display_html":"data SoundEvent = SoundEvent {}","name":"SoundEvent SoundEvent soundname fixedrange","module":"M.Misc","link":"M-Misc.html#t:SoundEvent"},{"display_html":"data Uninterpreted = Uninterpreted {}","name":"Uninterpreted Uninterpreted pkcode pkdata","module":"M.IO.Internal.Datagram","link":"M-IO-Internal-Datagram.html#t:Uninterpreted"},{"display_html":"data EOF = EOF","name":"EOF EOF","module":"M.IO.Internal.Datagram","link":"M-IO-Internal-Datagram.html#t:EOF"},{"display_html":"makepacketstreami :: TVar Int -> InputStream ByteString -> IO (InputStream Uninterpreted)","name":"makepacketstreami","module":"M.IO.Internal.Datagram","link":"M-IO-Internal-Datagram.html#v:makepacketstreami"},{"display_html":"makepacketstreamo :: TVar Int -> OutputStream ByteString -> IO (OutputStream Uninterpreted)","name":"makepacketstreamo","module":"M.IO.Internal.Datagram","link":"M-IO-Internal-Datagram.html#v:makepacketstreamo"},{"display_html":"makedecrypting :: TVar (ByteString -> IO ByteString) -> InputStream ByteString -> IO (InputStream ByteString)","name":"makedecrypting","module":"M.IO.Internal.Datagram","link":"M-IO-Internal-Datagram.html#v:makedecrypting"},{"display_html":"makeencrypting :: TVar (ByteString -> IO ByteString) -> OutputStream ByteString -> IO (OutputStream ByteString)","name":"makeencrypting","module":"M.IO.Internal.Datagram","link":"M-IO-Internal-Datagram.html#v:makeencrypting"},{"display_html":"data Connection = Connection {}","name":"Connection Connection cxkey cxcompth cxinput cxoutput","module":"M.IO.Internal.Socket","link":"M-IO-Internal-Socket.html#t:Connection"},{"display_html":"withcxfromsocket :: Socket -> (Connection -> IO a) -> IO a","name":"withcxfromsocket","module":"M.IO.Internal.Socket","link":"M-IO-Internal-Socket.html#v:withcxfromsocket"},{"display_html":"data Talking (a :: Type -> Type) b where","name":"Talking Hear HearU HearA Say Setcompression Setencryption","module":"M.IO.Internal.EffectTypes","link":"M-IO-Internal-EffectTypes.html#t:Talking"},{"display_html":"data Direction","name":"Direction Inbound Outbound","module":"M.IO.Internal.EffectTypes","link":"M-IO-Internal-EffectTypes.html#t:Direction"},{"display_html":"data Immediately","name":"Immediately Immediately Eventually","module":"M.IO.Internal.EffectTypes","link":"M-IO-Internal-EffectTypes.html#t:Immediately"},{"display_html":"data Op r where","name":"Op Code Parse","module":"M.IO.Internal.EffectTypes","link":"M-IO-Internal-EffectTypes.html#t:Op"},{"display_html":"newtype ParserState = ParserState {}","name":"ParserState ParserState send2parserstate","module":"M.IO.Internal.EffectTypes","link":"M-IO-Internal-EffectTypes.html#t:ParserState"},{"display_html":"type Talking' (es :: [Effect]) = (Talking :> es, State ParserState :> es, NonDet :> es)","name":"Talking'","module":"M.IO.Internal.EffectTypes","link":"M-IO-Internal-EffectTypes.html#t:Talking-39-"},{"display_html":"hear :: forall a (es :: [Effect]). (HasCallStack, Talking :> es, Unpack a, Typeable a) => Immediately -> Eff es a","name":"hear","module":"M.IO.Internal.EffectTypes","link":"M-IO-Internal-EffectTypes.html#v:hear"},{"display_html":"hearU :: forall (es :: [Effect]). (HasCallStack, Talking :> es) => Immediately -> Eff es Uninterpreted","name":"hearU","module":"M.IO.Internal.EffectTypes","link":"M-IO-Internal-EffectTypes.html#v:hearU"},{"display_html":"hearA :: forall (es :: [Effect]). (HasCallStack, Talking :> es) => Immediately -> Eff es SomeUnpack","name":"hearA","module":"M.IO.Internal.EffectTypes","link":"M-IO-Internal-EffectTypes.html#v:hearA"},{"display_html":"say :: forall a (es :: [Effect]). (HasCallStack, Talking :> es, Pack a, Typeable a) => a -> Eff es ()","name":"say","module":"M.IO.Internal.EffectTypes","link":"M-IO-Internal-EffectTypes.html#v:say"},{"display_html":"setcompression :: forall (es :: [Effect]). (HasCallStack, Talking :> es) => Int -> Eff es ()","name":"setcompression","module":"M.IO.Internal.EffectTypes","link":"M-IO-Internal-EffectTypes.html#v:setcompression"},{"display_html":"setencryption :: forall (es :: [Effect]). (HasCallStack, Talking :> es) => ByteString -> Eff es ()","name":"setencryption","module":"M.IO.Internal.EffectTypes","link":"M-IO-Internal-EffectTypes.html#v:setencryption"},{"display_html":"enter :: forall (es :: [Effect]). State ParserState :> es => ParserState -> Eff es ()","name":"enter","module":"M.IO.Internal.EffectTypes","link":"M-IO-Internal-EffectTypes.html#v:enter"},{"display_html":"data ParserStates = ParserStates {}","name":"ParserStates ParserStates forserver forclient","module":"M.IO.TH","link":"M-IO-TH.html#t:ParserStates"},{"display_html":"states :: QuasiQuoter","name":"states","module":"M.IO.TH","link":"M-IO-TH.html#v:states"},{"display_html":"data KeepAliveFail a","name":"KeepAliveFail KeepAliveFail KeepAliveTimeout","module":"M.IO.KeepAlive","link":"M-IO-KeepAlive.html#t:KeepAliveFail"},{"display_html":"skeepalive :: forall a (es :: [Effect]) void. (Concurrent :> es, Talking' es, IOE :> es, Random a, Show a, Eq a, Pack a, Unpack a, Typeable a) => Eff es void","name":"skeepalive","module":"M.IO.KeepAlive","link":"M-IO-KeepAlive.html#v:skeepalive"},{"display_html":"data SocketTalkingError","name":"SocketTalkingError UnknownCode Mismatch","module":"M.IO.Internal.EffectSocket","link":"M-IO-Internal-EffectSocket.html#t:SocketTalkingError"},{"display_html":"withtalkingserver :: forall (es :: [Effect]) a. (IOE :> es, State ParserState :> es, Concurrent :> es, NonDet :> es) => UnliftStrategy -> Maybe String -> String -> Eff (Talking ': es) a -> Eff es a","name":"withtalkingserver","module":"M.IO.Internal.EffectSocket","link":"M-IO-Internal-EffectSocket.html#v:withtalkingserver"},{"display_html":"withtalkingclient :: forall (es :: [Effect]) a. (IOE :> es, State ParserState :> es, Concurrent :> es, NonDet :> es) => UnliftStrategy -> String -> String -> Eff (Talking ': es) a -> Eff es a","name":"withtalkingclient","module":"M.IO.Internal.EffectSocket","link":"M-IO-Internal-EffectSocket.html#v:withtalkingclient"},{"display_html":"data Connection = Connection {}","name":"Connection Connection cxkey cxcompth cxinput cxoutput","module":"M.IO","link":"M-IO.html#t:Connection"},{"display_html":"data Uninterpreted = Uninterpreted {}","name":"Uninterpreted Uninterpreted pkcode pkdata","module":"M.IO","link":"M-IO.html#t:Uninterpreted"},{"display_html":"module M.IO.Internal.EffectTypes","name":"","module":"M.IO","link":""},{"display_html":"withtalkingserver :: forall (es :: [Effect]) a. (IOE :> es, State ParserState :> es, Concurrent :> es, NonDet :> es) => UnliftStrategy -> Maybe String -> String -> Eff (Talking ': es) a -> Eff es a","name":"withtalkingserver","module":"M.IO","link":"M-IO.html#v:withtalkingserver"},{"display_html":"withtalkingclient :: forall (es :: [Effect]) a. (IOE :> es, State ParserState :> es, Concurrent :> es, NonDet :> es) => UnliftStrategy -> String -> String -> Eff (Talking ': es) a -> Eff es a","name":"withtalkingclient","module":"M.IO","link":"M-IO.html#v:withtalkingclient"},{"display_html":"withcxfromsocket :: Socket -> (Connection -> IO a) -> IO a","name":"withcxfromsocket","module":"M.IO","link":"M-IO.html#v:withcxfromsocket"},{"display_html":"data ChunkData = ChunkData {}","name":"ChunkData ChunkData cdhmaps cddata cdblockentities","module":"M.Chunk.Net","link":"M-Chunk-Net.html#t:ChunkData"},{"display_html":"data BlockEntity = BlockEntity {}","name":"BlockEntity BlockEntity bexz berelheight betype bedata","module":"M.Chunk.Net","link":"M-Chunk-Net.html#t:BlockEntity"},{"display_html":"data LightData = LightData {}","name":"LightData LightData ldskymask ldblockmask ld0skymask ld0blockmask ldskylights ldblocklights","module":"M.Chunk.Net","link":"M-Chunk-Net.html#t:LightData"},{"display_html":"data ChunkSection c m = ChunkSection {}","name":"ChunkSection ChunkSection csnonempty csblockstates csbiomes","module":"M.Chunk.Code","link":"M-Chunk-Code.html#t:ChunkSection"},{"display_html":"data ChunkSectionEncoding = ChunkSectionEncoding {}","name":"ChunkSectionEncoding ChunkSectionEncoding cseblockstates csebiomes","module":"M.Chunk.Code","link":"M-Chunk-Code.html#t:ChunkSectionEncoding"},{"display_html":"mkcscodec :: forall m c (st :: ZeroBitType) r. (Unbox m, Unbox c, FiniteBits m, FiniteBits c, Integral m, Integral c) => ChunkSectionEncoding -> (ChunkSection c m -> Builder, Parser st r (ChunkSection c m))","name":"mkcscodec","module":"M.Chunk.Code","link":"M-Chunk-Code.html#v:mkcscodec"},{"display_html":"newtype Position = Position {}","name":"Position Position getposition","module":"M.Position","link":"M-Position.html#t:Position"},{"display_html":"encodeposition :: Position -> Int64","name":"encodeposition","module":"M.Position","link":"M-Position.html#v:encodeposition"},{"display_html":"decodeposition :: Int64 -> Position","name":"decodeposition","module":"M.Position","link":"M-Position.html#v:decodeposition"},{"display_html":"posapply :: (Int32 -> Int32) -> Position -> Position","name":"posapply","module":"M.Position","link":"M-Position.html#v:posapply"},{"display_html":"posapplyv :: (V3 Int32 -> V3 Int32) -> Position -> Position","name":"posapplyv","module":"M.Position","link":"M-Position.html#v:posapplyv"},{"display_html":"data Reg a","name":"Reg","module":"M.Reg","link":"M-Reg.html#t:Reg"},{"display_html":"mkreg0 :: [(Text, a)] -> Maybe (Reg a)","name":"mkreg0","module":"M.Reg","link":"M-Reg.html#v:mkreg0"},{"display_html":"mkreg1 :: (b -> a) -> [(Text, b)] -> Maybe (Reg a)","name":"mkreg1","module":"M.Reg","link":"M-Reg.html#v:mkreg1"},{"display_html":"lkcodebyid :: Text -> Reg a -> Maybe Int","name":"lkcodebyid","module":"M.Reg","link":"M-Reg.html#v:lkcodebyid"},{"display_html":"lkobjbycode :: Int -> Reg a -> Maybe a","name":"lkobjbycode","module":"M.Reg","link":"M-Reg.html#v:lkobjbycode"},{"display_html":"lkobjbyid :: Text -> Reg a -> Maybe a","name":"lkobjbyid","module":"M.Reg","link":"M-Reg.html#v:lkobjbyid"},{"display_html":"data Slot","name":"Slot","module":"M.TODO","link":"M-TODO.html#t:Slot"},{"display_html":"data BossBarAction","name":"BossBarAction","module":"M.TODO","link":"M-TODO.html#t:BossBarAction"},{"display_html":"data CommandNode","name":"CommandNode","module":"M.TODO","link":"M-TODO.html#t:CommandNode"},{"display_html":"data ParticleData","name":"ParticleData","module":"M.TODO","link":"M-TODO.html#t:ParticleData"},{"display_html":"data TextComponent","name":"TextComponent","module":"M.TODO","link":"M-TODO.html#t:TextComponent"},{"display_html":"data MapIcon","name":"MapIcon","module":"M.TODO","link":"M-TODO.html#t:MapIcon"},{"display_html":"data MerchantOffer","name":"MerchantOffer","module":"M.TODO","link":"M-TODO.html#t:MerchantOffer"},{"display_html":"data HandshakePacket__ = HandshakePacket__ {}","name":"HandshakePacket__ nextstate__ serverport__ serveraddress__ protocolversion__ HandshakePacket__","module":"M.V769.H","link":"M-V769-H.html#t:HandshakePacket__"},{"display_html":"data HandshakePacket = HandshakePacket {}","name":"HandshakePacket nextstate serverport serveraddress protocolversion HandshakePacket","module":"M.V769.H","link":"M-V769-H.html#t:HandshakePacket"},{"display_html":"data SetEntityVelocityRes","name":"SetEntityVelocityRes","module":"M.V769.I","link":"M-V769-I.html#t:SetEntityVelocityRes"},{"display_html":"data ChatMode","name":"ChatMode CMHidden CMCommandsOnly CMEnabled","module":"M.V769.I","link":"M-V769-I.html#t:ChatMode"},{"display_html":"data ParticleStatus","name":"ParticleStatus PSMinimal PSDecreased PSAll","module":"M.V769.I","link":"M-V769-I.html#t:ParticleStatus"},{"display_html":"data FilterType","name":"FilterType PartiallyFiltered FullyFiltered PassThrough","module":"M.V769.I","link":"M-V769-I.html#t:FilterType"},{"display_html":"data BossBarColor","name":"BossBarColor BCWhite BCPurple BCYellow BCGreen BCRed BCBlue BCPink","module":"M.V769.I","link":"M-V769-I.html#t:BossBarColor"},{"display_html":"newtype KeepAlive = KeepAlive {}","name":"KeepAlive KeepAlive id","module":"M.V769.I","link":"M-V769-I.html#t:KeepAlive"},{"display_html":"data PluginMessage = PluginMessage {}","name":"PluginMessage data_ channel PluginMessage","module":"M.V769.I","link":"M-V769-I.html#t:PluginMessage"},{"display_html":"data ResourcePack = ResourcePack {}","name":"ResourcePack url ResourcePack hash","module":"M.V769.I","link":"M-V769-I.html#t:ResourcePack"},{"display_html":"newtype Ping = Ping {}","name":"Ping Ping id","module":"M.V769.I","link":"M-V769-I.html#t:Ping"},{"display_html":"data DisplayedSkinParts = DisplayedSkinParts {}","name":"DisplayedSkinParts hat rightpants leftpants rightsleeve leftsleeve jacket cape DisplayedSkinParts","module":"M.V769.I","link":"M-V769-I.html#t:DisplayedSkinParts"},{"display_html":"data ResourcePackResponse = ResourcePackResponse {}","name":"ResourcePackResponse ResourcePackResponse status","module":"M.V769.C","link":"M-V769-C.html#t:ResourcePackResponse"},{"display_html":"data Pong = Pong {}","name":"Pong Pong id","module":"M.V769.C","link":"M-V769-C.html#t:Pong"},{"display_html":"data AcknowledgeFinishConfiguration = AcknowledgeFinishConfiguration","name":"AcknowledgeFinishConfiguration AcknowledgeFinishConfiguration","module":"M.V769.C","link":"M-V769-C.html#t:AcknowledgeFinishConfiguration"},{"display_html":"data CookieResponse = CookieResponse {}","name":"CookieResponse CookieResponse key value","module":"M.V769.C","link":"M-V769-C.html#t:CookieResponse"},{"display_html":"data ClientInformationConfiguration__ = ClientInformationConfiguration__ {}","name":"ClientInformationConfiguration__ particlestatus__ allowserverlistings__ enabletextfiltering__ mainhandright__ displayedskinparts__ chatcolors__ chatmode__ viewdistance__ locale__ ClientInformationConfiguration__","module":"M.V769.C","link":"M-V769-C.html#t:ClientInformationConfiguration__"},{"display_html":"data ClientInformationConfiguration = ClientInformationConfiguration {}","name":"ClientInformationConfiguration particlestatus allowserverlistings enabletextfiltering mainhandright displayedskinparts chatcolors chatmode viewdistance ClientInformationConfiguration locale","module":"M.V769.C","link":"M-V769-C.html#t:ClientInformationConfiguration"},{"display_html":"data ServerLinks__ = ServerLinks__ {}","name":"ServerLinks__ links__ ServerLinks__","module":"M.V769.C","link":"M-V769-C.html#t:ServerLinks__"},{"display_html":"data ServerLinks = ServerLinks {}","name":"ServerLinks links ServerLinks","module":"M.V769.C","link":"M-V769-C.html#t:ServerLinks"},{"display_html":"data CustomReportDetails__ = CustomReportDetails__ {}","name":"CustomReportDetails__ details__ CustomReportDetails__","module":"M.V769.C","link":"M-V769-C.html#t:CustomReportDetails__"},{"display_html":"data CustomReportDetails = CustomReportDetails {}","name":"CustomReportDetails details CustomReportDetails","module":"M.V769.C","link":"M-V769-C.html#t:CustomReportDetails"},{"display_html":"data KnownPacks__ = KnownPacks__ {}","name":"KnownPacks__ packs__ KnownPacks__","module":"M.V769.C","link":"M-V769-C.html#t:KnownPacks__"},{"display_html":"data KnownPacks = KnownPacks {}","name":"KnownPacks packs KnownPacks","module":"M.V769.C","link":"M-V769-C.html#t:KnownPacks"},{"display_html":"data UpdateTags__ = UpdateTags__ {}","name":"UpdateTags__ tags__ UpdateTags__","module":"M.V769.C","link":"M-V769-C.html#t:UpdateTags__"},{"display_html":"data UpdateTags = UpdateTags {}","name":"UpdateTags tags UpdateTags","module":"M.V769.C","link":"M-V769-C.html#t:UpdateTags"},{"display_html":"data FeatureFlags__ = FeatureFlags__ {}","name":"FeatureFlags__ flags__ FeatureFlags__","module":"M.V769.C","link":"M-V769-C.html#t:FeatureFlags__"},{"display_html":"data FeatureFlags = FeatureFlags {}","name":"FeatureFlags flags FeatureFlags","module":"M.V769.C","link":"M-V769-C.html#t:FeatureFlags"},{"display_html":"data Transfer = Transfer {}","name":"Transfer Transfer serveraddress serverport","module":"M.V769.C","link":"M-V769-C.html#t:Transfer"},{"display_html":"data StoreCookie = StoreCookie {}","name":"StoreCookie StoreCookie key value","module":"M.V769.C","link":"M-V769-C.html#t:StoreCookie"},{"display_html":"data RemoveResourcePack = RemoveResourcePack","name":"RemoveResourcePack RemoveResourcePack","module":"M.V769.C","link":"M-V769-C.html#t:RemoveResourcePack"},{"display_html":"data RegistryData = RegistryData {}","name":"RegistryData RegistryData data_","module":"M.V769.C","link":"M-V769-C.html#t:RegistryData"},{"display_html":"data ResetChat = ResetChat","name":"ResetChat ResetChat","module":"M.V769.C","link":"M-V769-C.html#t:ResetChat"},{"display_html":"data FinishConfiguration = FinishConfiguration","name":"FinishConfiguration FinishConfiguration","module":"M.V769.C","link":"M-V769-C.html#t:FinishConfiguration"},{"display_html":"data Disconnect = Disconnect {}","name":"Disconnect reason Disconnect","module":"M.V769.C","link":"M-V769-C.html#t:Disconnect"},{"display_html":"data CookieRequest = CookieRequest {}","name":"CookieRequest CookieRequest key","module":"M.V769.C","link":"M-V769-C.html#t:CookieRequest"},{"display_html":"data EncryptionResponse = EncryptionResponse {}","name":"EncryptionResponse sharedsecret EncryptionResponse verifytoken","module":"M.V769.L","link":"M-V769-L.html#t:EncryptionResponse"},{"display_html":"data LoginAcknowledged = LoginAcknowledged","name":"LoginAcknowledged LoginAcknowledged","module":"M.V769.L","link":"M-V769-L.html#t:LoginAcknowledged"},{"display_html":"data LoginStart = LoginStart {}","name":"LoginStart LoginStart name uuid","module":"M.V769.L","link":"M-V769-L.html#t:LoginStart"},{"display_html":"data LoginPluginResponse__ = LoginPluginResponse__ {}","name":"LoginPluginResponse__ successful__ LoginPluginResponse__ messageid__ data___","module":"M.V769.L","link":"M-V769-L.html#t:LoginPluginResponse__"},{"display_html":"data LoginPluginResponse = LoginPluginResponse {}","name":"LoginPluginResponse successful LoginPluginResponse data_ messageid","module":"M.V769.L","link":"M-V769-L.html#t:LoginPluginResponse"},{"display_html":"data LoginPluginRequest__ = LoginPluginRequest__ {}","name":"LoginPluginRequest__ data___ channel__ messageid__ LoginPluginRequest__","module":"M.V769.L","link":"M-V769-L.html#t:LoginPluginRequest__"},{"display_html":"data LoginPluginRequest = LoginPluginRequest {}","name":"LoginPluginRequest messageid LoginPluginRequest channel data_","module":"M.V769.L","link":"M-V769-L.html#t:LoginPluginRequest"},{"display_html":"data LoginSuccess_Property = LoginSuccess_Property {}","name":"LoginSuccess_Property LoginSuccess_Property value name signature","module":"M.V769.L","link":"M-V769-L.html#t:LoginSuccess_Property"},{"display_html":"data LoginSuccess = LoginSuccess {}","name":"LoginSuccess properties username LoginSuccess uuid","module":"M.V769.L","link":"M-V769-L.html#t:LoginSuccess"},{"display_html":"data EncryptionRequest = EncryptionRequest {}","name":"EncryptionRequest shouldauthenticate verifytoken publickey serverid EncryptionRequest","module":"M.V769.L","link":"M-V769-L.html#t:EncryptionRequest"},{"display_html":"data LoginDisconnect = LoginDisconnect {}","name":"LoginDisconnect LoginDisconnect reason","module":"M.V769.L","link":"M-V769-L.html#t:LoginDisconnect"},{"display_html":"data UseItem__ = UseItem__ {}","name":"UseItem__ UseItem__ sequence__ hand__","module":"M.V769.P","link":"M-V769-P.html#t:UseItem__"},{"display_html":"data UseItem = UseItem {}","name":"UseItem UseItem sequence hand","module":"M.V769.P","link":"M-V769-P.html#t:UseItem"},{"display_html":"data UseItemOn__ = UseItemOn__ {}","name":"UseItemOn__ insideblock__ cursor__ UseItemOn__ location__ face__ hand__","module":"M.V769.P","link":"M-V769-P.html#t:UseItemOn__"},{"display_html":"data UseItemOn = UseItemOn {}","name":"UseItemOn insideblock cursor UseItemOn location face hand","module":"M.V769.P","link":"M-V769-P.html#t:UseItemOn"},{"display_html":"data TeleportToEntity__ = TeleportToEntity__ {}","name":"TeleportToEntity__ targetentityid__ TeleportToEntity__","module":"M.V769.P","link":"M-V769-P.html#t:TeleportToEntity__"},{"display_html":"data TeleportToEntity = TeleportToEntity {}","name":"TeleportToEntity targetentityid TeleportToEntity","module":"M.V769.P","link":"M-V769-P.html#t:TeleportToEntity"},{"display_html":"data SwingArm__ = SwingArm__ {}","name":"SwingArm__ SwingArm__ hand__","module":"M.V769.P","link":"M-V769-P.html#t:SwingArm__"},{"display_html":"data SwingArm = SwingArm {}","name":"SwingArm SwingArm hand","module":"M.V769.P","link":"M-V769-P.html#t:SwingArm"},{"display_html":"data UpdateSign = UpdateSign {}","name":"UpdateSign isfronttext UpdateSign lines location","module":"M.V769.P","link":"M-V769-P.html#t:UpdateSign"},{"display_html":"data ProgramStructureBlock__ = ProgramStructureBlock__ {}","name":"ProgramStructureBlock__ seed__ integrity__ mirror__ size__ ProgramStructureBlock__ flags__ mode__ name__ metadata___ action__ offset__ location__ rotation__","module":"M.V769.P","link":"M-V769-P.html#t:ProgramStructureBlock__"},{"display_html":"data ProgramStructureBlock = ProgramStructureBlock {}","name":"ProgramStructureBlock seed integrity mirror ProgramStructureBlock size metadata_ rotation flags offset action name location mode","module":"M.V769.P","link":"M-V769-P.html#t:ProgramStructureBlock"},{"display_html":"data ProgramJigsawBlock = ProgramJigsawBlock {}","name":"ProgramJigsawBlock jointtype finalstate pool ProgramJigsawBlock location target name","module":"M.V769.P","link":"M-V769-P.html#t:ProgramJigsawBlock"},{"display_html":"data SetCreativeModeSlot = SetCreativeModeSlot {}","name":"SetCreativeModeSlot SetCreativeModeSlot slot slotdata_","module":"M.V769.P","link":"M-V769-P.html#t:SetCreativeModeSlot"},{"display_html":"data ProgramCommandBlockMinecart__ = ProgramCommandBlockMinecart__ {}","name":"ProgramCommandBlockMinecart__ trackoutput__ ProgramCommandBlockMinecart__ entityid__ command__","module":"M.V769.P","link":"M-V769-P.html#t:ProgramCommandBlockMinecart__"},{"display_html":"data ProgramCommandBlockMinecart = ProgramCommandBlockMinecart {}","name":"ProgramCommandBlockMinecart trackoutput ProgramCommandBlockMinecart entityid command","module":"M.V769.P","link":"M-V769-P.html#t:ProgramCommandBlockMinecart"},{"display_html":"data ProgramCommandBlock__ = ProgramCommandBlock__ {}","name":"ProgramCommandBlock__ command__ ProgramCommandBlock__ flags__ mode__ location__","module":"M.V769.P","link":"M-V769-P.html#t:ProgramCommandBlock__"},{"display_html":"data ProgramCommandBlock = ProgramCommandBlock {}","name":"ProgramCommandBlock ProgramCommandBlock mode command flags location","module":"M.V769.P","link":"M-V769-P.html#t:ProgramCommandBlock"},{"display_html":"data SetHeldItemServerbound = SetHeldItemServerbound {}","name":"SetHeldItemServerbound SetHeldItemServerbound slot","module":"M.V769.P","link":"M-V769-P.html#t:SetHeldItemServerbound"},{"display_html":"data SetBeaconEffect__ = SetBeaconEffect__ {}","name":"SetBeaconEffect__ secondaryeffect__ primaryeffect__ SetBeaconEffect__","module":"M.V769.P","link":"M-V769-P.html#t:SetBeaconEffect__"},{"display_html":"data SetBeaconEffect = SetBeaconEffect {}","name":"SetBeaconEffect secondaryeffect primaryeffect SetBeaconEffect","module":"M.V769.P","link":"M-V769-P.html#t:SetBeaconEffect"},{"display_html":"data SelectTrade__ = SelectTrade__ {}","name":"SelectTrade__ SelectTrade__ slot__","module":"M.V769.P","link":"M-V769-P.html#t:SelectTrade__"},{"display_html":"data SelectTrade = SelectTrade {}","name":"SelectTrade SelectTrade slot","module":"M.V769.P","link":"M-V769-P.html#t:SelectTrade"},{"display_html":"data SeenAdvancements__ = SeenAdvancements__ {}","name":"SeenAdvancements__ tabid__ SeenAdvancements__ action__","module":"M.V769.P","link":"M-V769-P.html#t:SeenAdvancements__"},{"display_html":"data SeenAdvancements = SeenAdvancements {}","name":"SeenAdvancements tabid SeenAdvancements action","module":"M.V769.P","link":"M-V769-P.html#t:SeenAdvancements"},{"display_html":"data ResourcePackResponsePlay__ = ResourcePackResponsePlay__ {}","name":"ResourcePackResponsePlay__ status__ ResourcePackResponsePlay__","module":"M.V769.P","link":"M-V769-P.html#t:ResourcePackResponsePlay__"},{"display_html":"data ResourcePackResponsePlay = ResourcePackResponsePlay {}","name":"ResourcePackResponsePlay ResourcePackResponsePlay status","module":"M.V769.P","link":"M-V769-P.html#t:ResourcePackResponsePlay"},{"display_html":"data RenameItem = RenameItem {}","name":"RenameItem RenameItem name","module":"M.V769.P","link":"M-V769-P.html#t:RenameItem"},{"display_html":"data SetSeenRecipe = SetSeenRecipe {}","name":"SetSeenRecipe SetSeenRecipe recipe","module":"M.V769.P","link":"M-V769-P.html#t:SetSeenRecipe"},{"display_html":"data ChangeRecipeBookSettings__ = ChangeRecipeBookSettings__ {}","name":"ChangeRecipeBookSettings__ ChangeRecipeBookSettings__ bookid__ filteractive__ bookopen__","module":"M.V769.P","link":"M-V769-P.html#t:ChangeRecipeBookSettings__"},{"display_html":"data ChangeRecipeBookSettings = ChangeRecipeBookSettings {}","name":"ChangeRecipeBookSettings ChangeRecipeBookSettings bookid filteractive bookopen","module":"M.V769.P","link":"M-V769-P.html#t:ChangeRecipeBookSettings"},{"display_html":"data PongPlay = PongPlay {}","name":"PongPlay PongPlay id","module":"M.V769.P","link":"M-V769-P.html#t:PongPlay"},{"display_html":"data PlayerLoaded = PlayerLoaded","name":"PlayerLoaded PlayerLoaded","module":"M.V769.P","link":"M-V769-P.html#t:PlayerLoaded"},{"display_html":"data PlayerInput = PlayerInput {}","name":"PlayerInput forward sideways PlayerInput flags","module":"M.V769.P","link":"M-V769-P.html#t:PlayerInput"},{"display_html":"data PlayerCommand__ = PlayerCommand__ {}","name":"PlayerCommand__ PlayerCommand__ data___ actionid__ entityid__","module":"M.V769.P","link":"M-V769-P.html#t:PlayerCommand__"},{"display_html":"data PlayerCommand = PlayerCommand {}","name":"PlayerCommand PlayerCommand data_ actionid entityid","module":"M.V769.P","link":"M-V769-P.html#t:PlayerCommand"},{"display_html":"data PlayerAction__ = PlayerAction__ {}","name":"PlayerAction__ face__ PlayerAction__ sequence__ actionid__ location__","module":"M.V769.P","link":"M-V769-P.html#t:PlayerAction__"},{"display_html":"data PlayerAction = PlayerAction {}","name":"PlayerAction face PlayerAction sequence actionid location","module":"M.V769.P","link":"M-V769-P.html#t:PlayerAction"},{"display_html":"data ServerboundPlayerAbilities = ServerboundPlayerAbilities {}","name":"ServerboundPlayerAbilities ServerboundPlayerAbilities flags","module":"M.V769.P","link":"M-V769-P.html#t:ServerboundPlayerAbilities"},{"display_html":"data PlaceRecipe = PlaceRecipe {}","name":"PlaceRecipe makeall PlaceRecipe windowid recipe","module":"M.V769.P","link":"M-V769-P.html#t:PlaceRecipe"},{"display_html":"data PingRequestPlay = PingRequestPlay {}","name":"PingRequestPlay PingRequestPlay id","module":"M.V769.P","link":"M-V769-P.html#t:PingRequestPlay"},{"display_html":"data PickItemFromEntity__ = PickItemFromEntity__ {}","name":"PickItemFromEntity__ PickItemFromEntity__ entityid__","module":"M.V769.P","link":"M-V769-P.html#t:PickItemFromEntity__"},{"display_html":"data PickItemFromEntity = PickItemFromEntity {}","name":"PickItemFromEntity PickItemFromEntity entityid","module":"M.V769.P","link":"M-V769-P.html#t:PickItemFromEntity"},{"display_html":"data PickItemFromBlock = PickItemFromBlock {}","name":"PickItemFromBlock PickItemFromBlock location","module":"M.V769.P","link":"M-V769-P.html#t:PickItemFromBlock"},{"display_html":"data PaddleBoat = PaddleBoat {}","name":"PaddleBoat rightpaddleturning leftpaddleturning PaddleBoat","module":"M.V769.P","link":"M-V769-P.html#t:PaddleBoat"},{"display_html":"data MoveVehicleServerbound = MoveVehicleServerbound {}","name":"MoveVehicleServerbound MoveVehicleServerbound position rotation","module":"M.V769.P","link":"M-V769-P.html#t:MoveVehicleServerbound"},{"display_html":"data SetPlayerMovementFlags = SetPlayerMovementFlags {}","name":"SetPlayerMovementFlags SetPlayerMovementFlags flags","module":"M.V769.P","link":"M-V769-P.html#t:SetPlayerMovementFlags"},{"display_html":"data SetPlayerRotation = SetPlayerRotation {}","name":"SetPlayerRotation SetPlayerRotation rotation onground","module":"M.V769.P","link":"M-V769-P.html#t:SetPlayerRotation"},{"display_html":"data SetPlayerPositionAndRotation__ = SetPlayerPositionAndRotation__ {}","name":"SetPlayerPositionAndRotation__ SetPlayerPositionAndRotation__ flags__ teleportid__ rotation__ position__","module":"M.V769.P","link":"M-V769-P.html#t:SetPlayerPositionAndRotation__"},{"display_html":"data SetPlayerPositionAndRotation = SetPlayerPositionAndRotation {}","name":"SetPlayerPositionAndRotation SetPlayerPositionAndRotation flags teleportid rotation position","module":"M.V769.P","link":"M-V769-P.html#t:SetPlayerPositionAndRotation"},{"display_html":"data SetPlayerPosition__ = SetPlayerPosition__ {}","name":"SetPlayerPosition__ SetPlayerPosition__ flags__ teleportid__ rotation__ position__","module":"M.V769.P","link":"M-V769-P.html#t:SetPlayerPosition__"},{"display_html":"data SetPlayerPosition = SetPlayerPosition {}","name":"SetPlayerPosition SetPlayerPosition flags teleportid rotation position","module":"M.V769.P","link":"M-V769-P.html#t:SetPlayerPosition"},{"display_html":"data LockDifficulty = LockDifficulty {}","name":"LockDifficulty LockDifficulty locked","module":"M.V769.P","link":"M-V769-P.html#t:LockDifficulty"},{"display_html":"data JigsawGenerate__ = JigsawGenerate__ {}","name":"JigsawGenerate__ keepjigsaws__ levels__ JigsawGenerate__ location__","module":"M.V769.P","link":"M-V769-P.html#t:JigsawGenerate__"},{"display_html":"data JigsawGenerate = JigsawGenerate {}","name":"JigsawGenerate keepjigsaws JigsawGenerate levels location","module":"M.V769.P","link":"M-V769-P.html#t:JigsawGenerate"},{"display_html":"data Interact__ = Interact__ {}","name":"Interact__ sneaking__ Interact__ entityid__ target__ hand__ type___","module":"M.V769.P","link":"M-V769-P.html#t:Interact__"},{"display_html":"data Interact = Interact {}","name":"Interact sneaking Interact entityid target hand type_","module":"M.V769.P","link":"M-V769-P.html#t:Interact"},{"display_html":"data QueryEntityTag__ = QueryEntityTag__ {}","name":"QueryEntityTag__ QueryEntityTag__ entityid__ transactionid__","module":"M.V769.P","link":"M-V769-P.html#t:QueryEntityTag__"},{"display_html":"data QueryEntityTag = QueryEntityTag {}","name":"QueryEntityTag QueryEntityTag entityid transactionid","module":"M.V769.P","link":"M-V769-P.html#t:QueryEntityTag"},{"display_html":"data EditBook__ = EditBook__ {}","name":"EditBook__ pages__ EditBook__ hand__ title__","module":"M.V769.P","link":"M-V769-P.html#t:EditBook__"},{"display_html":"data EditBook = EditBook {}","name":"EditBook pages EditBook hand title","module":"M.V769.P","link":"M-V769-P.html#t:EditBook"},{"display_html":"data DebugSampleSubscription__ = DebugSampleSubscription__ {}","name":"DebugSampleSubscription__ DebugSampleSubscription__ data___","module":"M.V769.P","link":"M-V769-P.html#t:DebugSampleSubscription__"},{"display_html":"data DebugSampleSubscription = DebugSampleSubscription {}","name":"DebugSampleSubscription DebugSampleSubscription data_","module":"M.V769.P","link":"M-V769-P.html#t:DebugSampleSubscription"},{"display_html":"data CookieResponsePlay = CookieResponsePlay {}","name":"CookieResponsePlay CookieResponsePlay key value","module":"M.V769.P","link":"M-V769-P.html#t:CookieResponsePlay"},{"display_html":"data ChangeContainerSlotState = ChangeContainerSlotState {}","name":"ChangeContainerSlotState ChangeContainerSlotState state slot windowid","module":"M.V769.P","link":"M-V769-P.html#t:ChangeContainerSlotState"},{"display_html":"data CloseContainerServerbound = CloseContainerServerbound {}","name":"CloseContainerServerbound CloseContainerServerbound windowid","module":"M.V769.P","link":"M-V769-P.html#t:CloseContainerServerbound"},{"display_html":"data ClickContainer__ = ClickContainer__ {}","name":"ClickContainer__ button__ ClickContainer__ windowid__ mode__ slot__ slots__ stateid__","module":"M.V769.P","link":"M-V769-P.html#t:ClickContainer__"},{"display_html":"data ClickContainer = ClickContainer {}","name":"ClickContainer button ClickContainer mode slot slots stateid windowid","module":"M.V769.P","link":"M-V769-P.html#t:ClickContainer"},{"display_html":"data ClickContainerButton = ClickContainerButton {}","name":"ClickContainerButton buttonid ClickContainerButton windowid","module":"M.V769.P","link":"M-V769-P.html#t:ClickContainerButton"},{"display_html":"data AcknowledgeConfiguration = AcknowledgeConfiguration","name":"AcknowledgeConfiguration AcknowledgeConfiguration","module":"M.V769.P","link":"M-V769-P.html#t:AcknowledgeConfiguration"},{"display_html":"data CommandSuggestionsRequest__ = CommandSuggestionsRequest__ {}","name":"CommandSuggestionsRequest__ text__ CommandSuggestionsRequest__ id__","module":"M.V769.P","link":"M-V769-P.html#t:CommandSuggestionsRequest__"},{"display_html":"data CommandSuggestionsRequest = CommandSuggestionsRequest {}","name":"CommandSuggestionsRequest CommandSuggestionsRequest text id","module":"M.V769.P","link":"M-V769-P.html#t:CommandSuggestionsRequest"},{"display_html":"data ClientInformationPlay__ = ClientInformationPlay__ {}","name":"ClientInformationPlay__ mainhand__ ClientInformationPlay__ locale__ allowserverlistings__ enabletextfiltering__ displayedskinparts__ chatcolors__ chatmode__ viewdistance__","module":"M.V769.P","link":"M-V769-P.html#t:ClientInformationPlay__"},{"display_html":"data ClientInformationPlay = ClientInformationPlay {}","name":"ClientInformationPlay mainhand ClientInformationPlay locale allowserverlistings enabletextfiltering displayedskinparts chatcolors chatmode viewdistance","module":"M.V769.P","link":"M-V769-P.html#t:ClientInformationPlay"},{"display_html":"data ClientTickEnd = ClientTickEnd","name":"ClientTickEnd ClientTickEnd","module":"M.V769.P","link":"M-V769-P.html#t:ClientTickEnd"},{"display_html":"data ClientStatus__ = ClientStatus__ {}","name":"ClientStatus__ ClientStatus__ actionid__","module":"M.V769.P","link":"M-V769-P.html#t:ClientStatus__"},{"display_html":"data ClientStatus = ClientStatus {}","name":"ClientStatus ClientStatus actionid","module":"M.V769.P","link":"M-V769-P.html#t:ClientStatus"},{"display_html":"data ChunkBatchReceived = ChunkBatchReceived","name":"ChunkBatchReceived ChunkBatchReceived","module":"M.V769.P","link":"M-V769-P.html#t:ChunkBatchReceived"},{"display_html":"data PlayerSession = PlayerSession {}","name":"PlayerSession sessionid PlayerSession signature publickey","module":"M.V769.P","link":"M-V769-P.html#t:PlayerSession"},{"display_html":"data ChatMessage = ChatMessage {}","name":"ChatMessage ChatMessage timestamp lastseenmessages signedpreview message salt signature","module":"M.V769.P","link":"M-V769-P.html#t:ChatMessage"},{"display_html":"data SignedChatCommand = SignedChatCommand {}","name":"SignedChatCommand SignedChatCommand timestamp argumentsignatures command lastseenmessages signedpreview salt","module":"M.V769.P","link":"M-V769-P.html#t:SignedChatCommand"},{"display_html":"data ServerboundChatCommand = ServerboundChatCommand {}","name":"ServerboundChatCommand argumentsignatures command ServerboundChatCommand timestamp lastseenmessages signedpreview salt","module":"M.V769.P","link":"M-V769-P.html#t:ServerboundChatCommand"},{"display_html":"data AcknowledgeMessage = AcknowledgeMessage {}","name":"AcknowledgeMessage AcknowledgeMessage messageid","module":"M.V769.P","link":"M-V769-P.html#t:AcknowledgeMessage"},{"display_html":"data ServerboundChangeDifficulty = ServerboundChangeDifficulty {}","name":"ServerboundChangeDifficulty ServerboundChangeDifficulty difficulty","module":"M.V769.P","link":"M-V769-P.html#t:ServerboundChangeDifficulty"},{"display_html":"data BundleItemSelected__ = BundleItemSelected__ {}","name":"BundleItemSelected__ BundleItemSelected__ slot__","module":"M.V769.P","link":"M-V769-P.html#t:BundleItemSelected__"},{"display_html":"data BundleItemSelected = BundleItemSelected {}","name":"BundleItemSelected BundleItemSelected slot","module":"M.V769.P","link":"M-V769-P.html#t:BundleItemSelected"},{"display_html":"data QueryBlockEntityTag__ = QueryBlockEntityTag__ {}","name":"QueryBlockEntityTag__ transactionid__ QueryBlockEntityTag__ location__","module":"M.V769.P","link":"M-V769-P.html#t:QueryBlockEntityTag__"},{"display_html":"data QueryBlockEntityTag = QueryBlockEntityTag {}","name":"QueryBlockEntityTag transactionid QueryBlockEntityTag location","module":"M.V769.P","link":"M-V769-P.html#t:QueryBlockEntityTag"},{"display_html":"data ConfirmTeleportation__ = ConfirmTeleportation__ {}","name":"ConfirmTeleportation__ ConfirmTeleportation__ teleportid__","module":"M.V769.P","link":"M-V769-P.html#t:ConfirmTeleportation__"},{"display_html":"data ConfirmTeleportation = ConfirmTeleportation {}","name":"ConfirmTeleportation ConfirmTeleportation teleportid","module":"M.V769.P","link":"M-V769-P.html#t:ConfirmTeleportation"},{"display_html":"data SetTabListHeaderAndFooter = SetTabListHeaderAndFooter {}","name":"SetTabListHeaderAndFooter footer header SetTabListHeaderAndFooter","module":"M.V769.P","link":"M-V769-P.html#t:SetTabListHeaderAndFooter"},{"display_html":"data StoreCookie = StoreCookie {}","name":"StoreCookie StoreCookie key value","module":"M.V769.P","link":"M-V769-P.html#t:StoreCookie"},{"display_html":"data StopSound__ = StopSound__ {}","name":"StopSound__ sound__ source__ StopSound__ flags__","module":"M.V769.P","link":"M-V769-P.html#t:StopSound__"},{"display_html":"data StopSound = StopSound {}","name":"StopSound sound source StopSound flags","module":"M.V769.P","link":"M-V769-P.html#t:StopSound"},{"display_html":"data StartConfiguration = StartConfiguration","name":"StartConfiguration StartConfiguration","module":"M.V769.P","link":"M-V769-P.html#t:StartConfiguration"},{"display_html":"data SoundEffect__ = SoundEffect__ {}","name":"SoundEffect__ SoundEffect__ position__ pitch__ volume__ soundcategory__ soundid__","module":"M.V769.P","link":"M-V769-P.html#t:SoundEffect__"},{"display_html":"data SoundEffect = SoundEffect {}","name":"SoundEffect SoundEffect position pitch volume soundcategory soundid","module":"M.V769.P","link":"M-V769-P.html#t:SoundEffect"},{"display_html":"data EntitySoundEffect__ = EntitySoundEffect__ {}","name":"EntitySoundEffect__ pitch__ volume__ soundcategory__ soundid__ EntitySoundEffect__ entityid__","module":"M.V769.P","link":"M-V769-P.html#t:EntitySoundEffect__"},{"display_html":"data EntitySoundEffect = EntitySoundEffect {}","name":"EntitySoundEffect pitch volume soundcategory soundid EntitySoundEffect entityid","module":"M.V769.P","link":"M-V769-P.html#t:EntitySoundEffect"},{"display_html":"data SetTitleAnimationTimes = SetTitleAnimationTimes {}","name":"SetTitleAnimationTimes fadeout stay fadein SetTitleAnimationTimes","module":"M.V769.P","link":"M-V769-P.html#t:SetTitleAnimationTimes"},{"display_html":"data SetTitleText = SetTitleText {}","name":"SetTitleText SetTitleText text","module":"M.V769.P","link":"M-V769-P.html#t:SetTitleText"},{"display_html":"data UpdateTime = UpdateTime {}","name":"UpdateTime timeofday worldage UpdateTime","module":"M.V769.P","link":"M-V769-P.html#t:UpdateTime"},{"display_html":"data SetSubtitleText = SetSubtitleText {}","name":"SetSubtitleText SetSubtitleText text","module":"M.V769.P","link":"M-V769-P.html#t:SetSubtitleText"},{"display_html":"data SetSimulationDistance__ = SetSimulationDistance__ {}","name":"SetSimulationDistance__ SetSimulationDistance__ simulationdistance__","module":"M.V769.P","link":"M-V769-P.html#t:SetSimulationDistance__"},{"display_html":"data SetSimulationDistance = SetSimulationDistance {}","name":"SetSimulationDistance SetSimulationDistance simulationdistance","module":"M.V769.P","link":"M-V769-P.html#t:SetSimulationDistance"},{"display_html":"data UpdateScore__ = UpdateScore__ {}","name":"UpdateScore__ objectivename__ entityname__ UpdateScore__ value__ action__","module":"M.V769.P","link":"M-V769-P.html#t:UpdateScore__"},{"display_html":"data UpdateScore = UpdateScore {}","name":"UpdateScore entityname UpdateScore value objectivename action","module":"M.V769.P","link":"M-V769-P.html#t:UpdateScore"},{"display_html":"data UpdateTeams__ = UpdateTeams__ {}","name":"UpdateTeams__ players__ color__ collisionrule__ nametagvisibility__ suffix__ prefix__ teamname__ UpdateTeams__ flags__ displayname__ mode__","module":"M.V769.P","link":"M-V769-P.html#t:UpdateTeams__"},{"display_html":"data UpdateTeams = UpdateTeams {}","name":"UpdateTeams color collisionrule nametagvisibility prefix teamname UpdateTeams mode displayname players flags suffix","module":"M.V769.P","link":"M-V769-P.html#t:UpdateTeams"},{"display_html":"data SetPlayerInventorySlot = SetPlayerInventorySlot {}","name":"SetPlayerInventorySlot SetPlayerInventorySlot slot slotdata_","module":"M.V769.P","link":"M-V769-P.html#t:SetPlayerInventorySlot"},{"display_html":"data SetPassengers__ = SetPassengers__ {}","name":"SetPassengers__ SetPassengers__ entityid__ passengerids__","module":"M.V769.P","link":"M-V769-P.html#t:SetPassengers__"},{"display_html":"data SetPassengers = SetPassengers {}","name":"SetPassengers SetPassengers entityid passengerids","module":"M.V769.P","link":"M-V769-P.html#t:SetPassengers"},{"display_html":"data UpdateObjectives__ = UpdateObjectives__ {}","name":"UpdateObjectives__ displayname__ mode__ name__ UpdateObjectives__ type___","module":"M.V769.P","link":"M-V769-P.html#t:UpdateObjectives__"},{"display_html":"data UpdateObjectives = UpdateObjectives {}","name":"UpdateObjectives displayname UpdateObjectives mode type_ name","module":"M.V769.P","link":"M-V769-P.html#t:UpdateObjectives"},{"display_html":"data SetHeldItem = SetHeldItem {}","name":"SetHeldItem SetHeldItem slot","module":"M.V769.P","link":"M-V769-P.html#t:SetHeldItem"},{"display_html":"data SetHealth__ = SetHealth__ {}","name":"SetHealth__ foodsaturation__ food__ health__ SetHealth__","module":"M.V769.P","link":"M-V769-P.html#t:SetHealth__"},{"display_html":"data SetHealth = SetHealth {}","name":"SetHealth foodsaturation food health SetHealth","module":"M.V769.P","link":"M-V769-P.html#t:SetHealth"},{"display_html":"data SetExperience__ = SetExperience__ {}","name":"SetExperience__ totalexperience__ level__ experiencebar__ SetExperience__","module":"M.V769.P","link":"M-V769-P.html#t:SetExperience__"},{"display_html":"data SetExperience = SetExperience {}","name":"SetExperience totalexperience level experiencebar SetExperience","module":"M.V769.P","link":"M-V769-P.html#t:SetExperience"},{"display_html":"data SetEquipment__ = SetEquipment__ {}","name":"SetEquipment__ equipment__ SetEquipment__ entityid__","module":"M.V769.P","link":"M-V769-P.html#t:SetEquipment__"},{"display_html":"data SetEquipment = SetEquipment {}","name":"SetEquipment equipment SetEquipment entityid","module":"M.V769.P","link":"M-V769-P.html#t:SetEquipment"},{"display_html":"data SetEntityVelocity__ = SetEntityVelocity__ {}","name":"SetEntityVelocity__ SetEntityVelocity__ entityid__ velocity__","module":"M.V769.P","link":"M-V769-P.html#t:SetEntityVelocity__"},{"display_html":"data SetEntityVelocity = SetEntityVelocity {}","name":"SetEntityVelocity SetEntityVelocity entityid velocity","module":"M.V769.P","link":"M-V769-P.html#t:SetEntityVelocity"},{"display_html":"data LinkEntities__ = LinkEntities__ {}","name":"LinkEntities__ passengerids__ vehicleid__ LinkEntities__","module":"M.V769.P","link":"M-V769-P.html#t:LinkEntities__"},{"display_html":"data LinkEntities = LinkEntities {}","name":"LinkEntities passengerids vehicleid LinkEntities","module":"M.V769.P","link":"M-V769-P.html#t:LinkEntities"},{"display_html":"data SetEntityMetadata__ = SetEntityMetadata__ {}","name":"SetEntityMetadata__ metadata___ SetEntityMetadata__ entityid__","module":"M.V769.P","link":"M-V769-P.html#t:SetEntityMetadata__"},{"display_html":"data SetEntityMetadata = SetEntityMetadata {}","name":"SetEntityMetadata metadata_ SetEntityMetadata entityid","module":"M.V769.P","link":"M-V769-P.html#t:SetEntityMetadata"},{"display_html":"data DisplayObjective = DisplayObjective {}","name":"DisplayObjective DisplayObjective name position","module":"M.V769.P","link":"M-V769-P.html#t:DisplayObjective"},{"display_html":"data SetDefaultSpawnPosition = SetDefaultSpawnPosition {}","name":"SetDefaultSpawnPosition SetDefaultSpawnPosition location angle","module":"M.V769.P","link":"M-V769-P.html#t:SetDefaultSpawnPosition"},{"display_html":"data SetCursorItem = SetCursorItem {}","name":"SetCursorItem slotdata_ SetCursorItem","module":"M.V769.P","link":"M-V769-P.html#t:SetCursorItem"},{"display_html":"data SetRenderDistance__ = SetRenderDistance__ {}","name":"SetRenderDistance__ SetRenderDistance__ viewdistance__","module":"M.V769.P","link":"M-V769-P.html#t:SetRenderDistance__"},{"display_html":"data SetRenderDistance = SetRenderDistance {}","name":"SetRenderDistance SetRenderDistance viewdistance","module":"M.V769.P","link":"M-V769-P.html#t:SetRenderDistance"},{"display_html":"data SetCenterChunk__ = SetCenterChunk__ {}","name":"SetCenterChunk__ SetCenterChunk__ chunkx__ chunkz__","module":"M.V769.P","link":"M-V769-P.html#t:SetCenterChunk__"},{"display_html":"data SetCenterChunk = SetCenterChunk {}","name":"SetCenterChunk SetCenterChunk chunkx chunkz","module":"M.V769.P","link":"M-V769-P.html#t:SetCenterChunk"},{"display_html":"data SetCamera__ = SetCamera__ {}","name":"SetCamera__ cameraid__ SetCamera__","module":"M.V769.P","link":"M-V769-P.html#t:SetCamera__"},{"display_html":"data SetCamera = SetCamera {}","name":"SetCamera cameraid SetCamera","module":"M.V769.P","link":"M-V769-P.html#t:SetCamera"},{"display_html":"data SetBorderWarningDistance__ = SetBorderWarningDistance__ {}","name":"SetBorderWarningDistance__ SetBorderWarningDistance__ warningblocks__","module":"M.V769.P","link":"M-V769-P.html#t:SetBorderWarningDistance__"},{"display_html":"data SetBorderWarningDistance = SetBorderWarningDistance {}","name":"SetBorderWarningDistance SetBorderWarningDistance warningblocks","module":"M.V769.P","link":"M-V769-P.html#t:SetBorderWarningDistance"},{"display_html":"data SetBorderWarningDelay__ = SetBorderWarningDelay__ {}","name":"SetBorderWarningDelay__ SetBorderWarningDelay__ warningtime__","module":"M.V769.P","link":"M-V769-P.html#t:SetBorderWarningDelay__"},{"display_html":"data SetBorderWarningDelay = SetBorderWarningDelay {}","name":"SetBorderWarningDelay SetBorderWarningDelay warningtime","module":"M.V769.P","link":"M-V769-P.html#t:SetBorderWarningDelay"},{"display_html":"data SetBorderSize = SetBorderSize {}","name":"SetBorderSize SetBorderSize size","module":"M.V769.P","link":"M-V769-P.html#t:SetBorderSize"},{"display_html":"data SetBorderLerpSize__ = SetBorderLerpSize__ {}","name":"SetBorderLerpSize__ newsize__ oldsize__ SetBorderLerpSize__ speed__","module":"M.V769.P","link":"M-V769-P.html#t:SetBorderLerpSize__"},{"display_html":"data SetBorderLerpSize = SetBorderLerpSize {}","name":"SetBorderLerpSize newsize oldsize SetBorderLerpSize speed","module":"M.V769.P","link":"M-V769-P.html#t:SetBorderLerpSize"},{"display_html":"data SetBorderCenter = SetBorderCenter {}","name":"SetBorderCenter SetBorderCenter x z","module":"M.V769.P","link":"M-V769-P.html#t:SetBorderCenter"},{"display_html":"data SetActionBarText = SetActionBarText {}","name":"SetActionBarText SetActionBarText text","module":"M.V769.P","link":"M-V769-P.html#t:SetActionBarText"},{"display_html":"data ServerData = ServerData {}","name":"ServerData enforcesecurechat icon motd ServerData","module":"M.V769.P","link":"M-V769-P.html#t:ServerData"},{"display_html":"data SelectAdvancementsTab = SelectAdvancementsTab {}","name":"SelectAdvancementsTab SelectAdvancementsTab identifier","module":"M.V769.P","link":"M-V769-P.html#t:SelectAdvancementsTab"},{"display_html":"data UpdateSectionBlocks__ = UpdateSectionBlocks__ {}","name":"UpdateSectionBlocks__ blocks__ trustedges__ sectionposition__ UpdateSectionBlocks__","module":"M.V769.P","link":"M-V769-P.html#t:UpdateSectionBlocks__"},{"display_html":"data UpdateSectionBlocks = UpdateSectionBlocks {}","name":"UpdateSectionBlocks blocks trustedges sectionposition UpdateSectionBlocks","module":"M.V769.P","link":"M-V769-P.html#t:UpdateSectionBlocks"},{"display_html":"data SetHeadRotation__ = SetHeadRotation__ {}","name":"SetHeadRotation__ headyaw__ SetHeadRotation__ entityid__","module":"M.V769.P","link":"M-V769-P.html#t:SetHeadRotation__"},{"display_html":"data SetHeadRotation = SetHeadRotation {}","name":"SetHeadRotation headyaw SetHeadRotation entityid","module":"M.V769.P","link":"M-V769-P.html#t:SetHeadRotation"},{"display_html":"data Respawn = Respawn {}","name":"Respawn copymetadata_ Respawn gamemode isflat isdebug hashedseed worldname dimension previousgamemode","module":"M.V769.P","link":"M-V769-P.html#t:Respawn"},{"display_html":"data AddResourcePack = AddResourcePack {}","name":"AddResourcePack AddResourcePack hash url","module":"M.V769.P","link":"M-V769-P.html#t:AddResourcePack"},{"display_html":"data RemoveResourcePack = RemoveResourcePack","name":"RemoveResourcePack RemoveResourcePack","module":"M.V769.P","link":"M-V769-P.html#t:RemoveResourcePack"},{"display_html":"data ResetScore = ResetScore {}","name":"ResetScore playername objectivename ResetScore action","module":"M.V769.P","link":"M-V769-P.html#t:ResetScore"},{"display_html":"data RemoveEntityEffect__ = RemoveEntityEffect__ {}","name":"RemoveEntityEffect__ effectid__ RemoveEntityEffect__ entityid__","module":"M.V769.P","link":"M-V769-P.html#t:RemoveEntityEffect__"},{"display_html":"data RemoveEntityEffect = RemoveEntityEffect {}","name":"RemoveEntityEffect effectid RemoveEntityEffect entityid","module":"M.V769.P","link":"M-V769-P.html#t:RemoveEntityEffect"},{"display_html":"data RemoveEntities__ = RemoveEntities__ {}","name":"RemoveEntities__ entityids__ RemoveEntities__","module":"M.V769.P","link":"M-V769-P.html#t:RemoveEntities__"},{"display_html":"data RemoveEntities = RemoveEntities {}","name":"RemoveEntities entityids RemoveEntities","module":"M.V769.P","link":"M-V769-P.html#t:RemoveEntities"},{"display_html":"data RecipeBookSettings__ = RecipeBookSettings__ {}","name":"RecipeBookSettings__ filteractive__ bookopen__ bookid__ RecipeBookSettings__","module":"M.V769.P","link":"M-V769-P.html#t:RecipeBookSettings__"},{"display_html":"data RecipeBookSettings = RecipeBookSettings {}","name":"RecipeBookSettings filteractive bookopen bookid RecipeBookSettings","module":"M.V769.P","link":"M-V769-P.html#t:RecipeBookSettings"},{"display_html":"data RecipeBookRemove = RecipeBookRemove {}","name":"RecipeBookRemove RecipeBookRemove recipe","module":"M.V769.P","link":"M-V769-P.html#t:RecipeBookRemove"},{"display_html":"data RecipeBookAdd = RecipeBookAdd {}","name":"RecipeBookAdd RecipeBookAdd recipe","module":"M.V769.P","link":"M-V769-P.html#t:RecipeBookAdd"},{"display_html":"data PlayerRotation = PlayerRotation {}","name":"PlayerRotation PlayerRotation rotation onground","module":"M.V769.P","link":"M-V769-P.html#t:PlayerRotation"},{"display_html":"data SynchronizePlayerPosition__ = SynchronizePlayerPosition__ {}","name":"SynchronizePlayerPosition__ teleportid__ SynchronizePlayerPosition__ flags__ rotation__ position__","module":"M.V769.P","link":"M-V769-P.html#t:SynchronizePlayerPosition__"},{"display_html":"data SynchronizePlayerPosition = SynchronizePlayerPosition {}","name":"SynchronizePlayerPosition teleportid SynchronizePlayerPosition flags rotation position","module":"M.V769.P","link":"M-V769-P.html#t:SynchronizePlayerPosition"},{"display_html":"data LookAt__ = LookAt__ {}","name":"LookAt__ isentity__ target__ LookAt__ position__","module":"M.V769.P","link":"M-V769-P.html#t:LookAt__"},{"display_html":"data LookAt = LookAt {}","name":"LookAt isentity target LookAt position","module":"M.V769.P","link":"M-V769-P.html#t:LookAt"},{"display_html":"data PlayerInfoUpdate__ = PlayerInfoUpdate__ {}","name":"PlayerInfoUpdate__ action__ PlayerInfoUpdate__ data___","module":"M.V769.P","link":"M-V769-P.html#t:PlayerInfoUpdate__"},{"display_html":"data PlayerInfoUpdate = PlayerInfoUpdate {}","name":"PlayerInfoUpdate PlayerInfoUpdate action data_","module":"M.V769.P","link":"M-V769-P.html#t:PlayerInfoUpdate"},{"display_html":"data PlayerInfoRemove = PlayerInfoRemove {}","name":"PlayerInfoRemove players PlayerInfoRemove","module":"M.V769.P","link":"M-V769-P.html#t:PlayerInfoRemove"},{"display_html":"data CombatDeath__ = CombatDeath__ {}","name":"CombatDeath__ playerid__ CombatDeath__ entityid__ message__","module":"M.V769.P","link":"M-V769-P.html#t:CombatDeath__"},{"display_html":"data CombatDeath = CombatDeath {}","name":"CombatDeath playerid CombatDeath message entityid","module":"M.V769.P","link":"M-V769-P.html#t:CombatDeath"},{"display_html":"data EnterCombat = EnterCombat","name":"EnterCombat EnterCombat","module":"M.V769.P","link":"M-V769-P.html#t:EnterCombat"},{"display_html":"data EndCombat__ = EndCombat__ {}","name":"EndCombat__ duration__ EndCombat__ entityid__","module":"M.V769.P","link":"M-V769-P.html#t:EndCombat__"},{"display_html":"data EndCombat = EndCombat {}","name":"EndCombat duration EndCombat entityid","module":"M.V769.P","link":"M-V769-P.html#t:EndCombat"},{"display_html":"data PlayerChatMessage = PlayerChatMessage {}","name":"PlayerChatMessage lastseenmessages signedpreview sender PlayerChatMessage timestamp message salt signature","module":"M.V769.P","link":"M-V769-P.html#t:PlayerChatMessage"},{"display_html":"data ClientboundPlayerAbilities = ClientboundPlayerAbilities {}","name":"ClientboundPlayerAbilities walkingspeed flyingspeed ClientboundPlayerAbilities flags","module":"M.V769.P","link":"M-V769-P.html#t:ClientboundPlayerAbilities"},{"display_html":"data PlaceGhostRecipe = PlaceGhostRecipe {}","name":"PlaceGhostRecipe recipe PlaceGhostRecipe windowid","module":"M.V769.P","link":"M-V769-P.html#t:PlaceGhostRecipe"},{"display_html":"data PlayPingResponse = PlayPingResponse {}","name":"PlayPingResponse PlayPingResponse id","module":"M.V769.P","link":"M-V769-P.html#t:PlayPingResponse"},{"display_html":"data PlayPing = PlayPing {}","name":"PlayPing PlayPing id","module":"M.V769.P","link":"M-V769-P.html#t:PlayPing"},{"display_html":"data OpenSignEditor = OpenSignEditor {}","name":"OpenSignEditor OpenSignEditor location","module":"M.V769.P","link":"M-V769-P.html#t:OpenSignEditor"},{"display_html":"data OpenScreen__ = OpenScreen__ {}","name":"OpenScreen__ title__ OpenScreen__ type___ windowid__","module":"M.V769.P","link":"M-V769-P.html#t:OpenScreen__"},{"display_html":"data OpenScreen = OpenScreen {}","name":"OpenScreen title OpenScreen type_ windowid","module":"M.V769.P","link":"M-V769-P.html#t:OpenScreen"},{"display_html":"data OpenBook__ = OpenBook__ {}","name":"OpenBook__ hand__ OpenBook__","module":"M.V769.P","link":"M-V769-P.html#t:OpenBook__"},{"display_html":"data OpenBook = OpenBook {}","name":"OpenBook hand OpenBook","module":"M.V769.P","link":"M-V769-P.html#t:OpenBook"},{"display_html":"data MoveVehicle = MoveVehicle {}","name":"MoveVehicle MoveVehicle position rotation","module":"M.V769.P","link":"M-V769-P.html#t:MoveVehicle"},{"display_html":"data UpdateEntityRotation__ = UpdateEntityRotation__ {}","name":"UpdateEntityRotation__ UpdateEntityRotation__ entityid__ onground__ rotation__","module":"M.V769.P","link":"M-V769-P.html#t:UpdateEntityRotation__"},{"display_html":"data UpdateEntityRotation = UpdateEntityRotation {}","name":"UpdateEntityRotation UpdateEntityRotation entityid onground rotation","module":"M.V769.P","link":"M-V769-P.html#t:UpdateEntityRotation"},{"display_html":"data MoveMinecartAlongTrack__ = MoveMinecartAlongTrack__ {}","name":"MoveMinecartAlongTrack__ MoveMinecartAlongTrack__ entityid__ location__","module":"M.V769.P","link":"M-V769-P.html#t:MoveMinecartAlongTrack__"},{"display_html":"data MoveMinecartAlongTrack = MoveMinecartAlongTrack {}","name":"MoveMinecartAlongTrack MoveMinecartAlongTrack location entityid","module":"M.V769.P","link":"M-V769-P.html#t:MoveMinecartAlongTrack"},{"display_html":"data UpdateEntityPositionAndRotation__ = UpdateEntityPositionAndRotation__ {}","name":"UpdateEntityPositionAndRotation__ UpdateEntityPositionAndRotation__ entityid__ deltaz__ deltay__ deltax__ onground__ rotation__","module":"M.V769.P","link":"M-V769-P.html#t:UpdateEntityPositionAndRotation__"},{"display_html":"data UpdateEntityPositionAndRotation = UpdateEntityPositionAndRotation {}","name":"UpdateEntityPositionAndRotation UpdateEntityPositionAndRotation entityid deltaz deltay deltax onground rotation","module":"M.V769.P","link":"M-V769-P.html#t:UpdateEntityPositionAndRotation"},{"display_html":"data UpdateEntityPosition__ = UpdateEntityPosition__ {}","name":"UpdateEntityPosition__ deltaz__ deltay__ deltax__ UpdateEntityPosition__ entityid__ onground__","module":"M.V769.P","link":"M-V769-P.html#t:UpdateEntityPosition__"},{"display_html":"data UpdateEntityPosition = UpdateEntityPosition {}","name":"UpdateEntityPosition deltaz deltay deltax UpdateEntityPosition entityid onground","module":"M.V769.P","link":"M-V769-P.html#t:UpdateEntityPosition"},{"display_html":"data MerchantOffers__ = MerchantOffers__ {}","name":"MerchantOffers__ canrestock__ isregularvillager__ experience__ villagerlevel__ offers__ MerchantOffers__ windowid__","module":"M.V769.P","link":"M-V769-P.html#t:MerchantOffers__"},{"display_html":"data MerchantOffers = MerchantOffers {}","name":"MerchantOffers canrestock isregularvillager experience villagerlevel offers MerchantOffers windowid","module":"M.V769.P","link":"M-V769-P.html#t:MerchantOffers"},{"display_html":"data MapData__ = MapData__ {}","name":"MapData__ rows__ columns__ icons__ locked__ trackingposition__ scale__ mapid__ MapData__ data___ z__ x__","module":"M.V769.P","link":"M-V769-P.html#t:MapData__"},{"display_html":"data MapData = MapData {}","name":"MapData columns icons trackingposition scale mapid MapData x locked data_ rows z","module":"M.V769.P","link":"M-V769-P.html#t:MapData"},{"display_html":"data Login__ = Login__ {}","name":"Login__ isflat__ isdebug__ enablerespawnscreen__ reduceddebuginfo__ simulationdistance__ maxplayers__ hashedseed__ worldname__ dimension__ dimensioncodec__ worldnames__ previousgamemode__ gamemode__ ishardcore__ Login__ viewdistance__ entityid__","module":"M.V769.P","link":"M-V769-P.html#t:Login__"},{"display_html":"data Login = Login {}","name":"Login isflat isdebug enablerespawnscreen reduceddebuginfo simulationdistance maxplayers hashedseed worldname dimension dimensioncodec worldnames previousgamemode gamemode ishardcore Login viewdistance entityid","module":"M.V769.P","link":"M-V769-P.html#t:Login"},{"display_html":"data UpdateLight__ = UpdateLight__ {}","name":"UpdateLight__ chunkz__ chunkx__ UpdateLight__ data___","module":"M.V769.P","link":"M-V769-P.html#t:UpdateLight__"},{"display_html":"data UpdateLight = UpdateLight {}","name":"UpdateLight UpdateLight data_ chunkz chunkx","module":"M.V769.P","link":"M-V769-P.html#t:UpdateLight"},{"display_html":"data ParticleEffect__ = ParticleEffect__ {}","name":"ParticleEffect__ maxspeed__ offset__ longdistance__ particleid__ ParticleEffect__ data___ count__ position__","module":"M.V769.P","link":"M-V769-P.html#t:ParticleEffect__"},{"display_html":"data ParticleEffect = ParticleEffect {}","name":"ParticleEffect maxspeed longdistance particleid ParticleEffect count position data_ offset","module":"M.V769.P","link":"M-V769-P.html#t:ParticleEffect"},{"display_html":"data WorldEvent = WorldEvent {}","name":"WorldEvent disablerelativevolume WorldEvent location event data_","module":"M.V769.P","link":"M-V769-P.html#t:WorldEvent"},{"display_html":"data ChunkDataAndUpdateLight = ChunkDataAndUpdateLight {}","name":"ChunkDataAndUpdateLight lightdata_ ChunkDataAndUpdateLight data_ chunkz chunkx","module":"M.V769.P","link":"M-V769-P.html#t:ChunkDataAndUpdateLight"},{"display_html":"data InitializeWorldBorder__ = InitializeWorldBorder__ {}","name":"InitializeWorldBorder__ warningblocks__ warningtime__ portalteleportboundary__ speed__ newradius__ oldradius__ z__ x__ InitializeWorldBorder__","module":"M.V769.P","link":"M-V769-P.html#t:InitializeWorldBorder__"},{"display_html":"data InitializeWorldBorder = InitializeWorldBorder {}","name":"InitializeWorldBorder warningblocks warningtime portalteleportboundary speed newradius oldradius InitializeWorldBorder x z","module":"M.V769.P","link":"M-V769-P.html#t:InitializeWorldBorder"},{"display_html":"data HurtAnimation__ = HurtAnimation__ {}","name":"HurtAnimation__ damagedirection__ HurtAnimation__ entityid__","module":"M.V769.P","link":"M-V769-P.html#t:HurtAnimation__"},{"display_html":"data HurtAnimation = HurtAnimation {}","name":"HurtAnimation damagedirection HurtAnimation entityid","module":"M.V769.P","link":"M-V769-P.html#t:HurtAnimation"},{"display_html":"data OpenHorseScreen__ = OpenHorseScreen__ {}","name":"OpenHorseScreen__ slotcount__ OpenHorseScreen__ entityid__ windowid__","module":"M.V769.P","link":"M-V769-P.html#t:OpenHorseScreen__"},{"display_html":"data OpenHorseScreen = OpenHorseScreen {}","name":"OpenHorseScreen slotcount OpenHorseScreen entityid windowid","module":"M.V769.P","link":"M-V769-P.html#t:OpenHorseScreen"},{"display_html":"data GameEvent__ = GameEvent__ {}","name":"GameEvent__ GameEvent__ data___ event__","module":"M.V769.P","link":"M-V769-P.html#t:GameEvent__"},{"display_html":"data GameEvent = GameEvent {}","name":"GameEvent GameEvent data_ event","module":"M.V769.P","link":"M-V769-P.html#t:GameEvent"},{"display_html":"data UnloadChunk = UnloadChunk {}","name":"UnloadChunk chunkz chunkx UnloadChunk","module":"M.V769.P","link":"M-V769-P.html#t:UnloadChunk"},{"display_html":"data Explosion = Explosion {}","name":"Explosion playermotion affectedblocks radius Explosion position","module":"M.V769.P","link":"M-V769-P.html#t:Explosion"},{"display_html":"data TeleportEntity__ = TeleportEntity__ {}","name":"TeleportEntity__ onground__ TeleportEntity__ entityid__ rotation__ position__","module":"M.V769.P","link":"M-V769-P.html#t:TeleportEntity__"},{"display_html":"data TeleportEntity = TeleportEntity {}","name":"TeleportEntity onground TeleportEntity entityid rotation position","module":"M.V769.P","link":"M-V769-P.html#t:TeleportEntity"},{"display_html":"data EntityEvent__ = EntityEvent__ {}","name":"EntityEvent__ event__ EntityEvent__ entityid__","module":"M.V769.P","link":"M-V769-P.html#t:EntityEvent__"},{"display_html":"data EntityEvent = EntityEvent {}","name":"EntityEvent event EntityEvent entityid","module":"M.V769.P","link":"M-V769-P.html#t:EntityEvent"},{"display_html":"data DisguisedChatMessage__ = DisguisedChatMessage__ {}","name":"DisguisedChatMessage__ targetname__ sendername__ chattype__ message__ DisguisedChatMessage__","module":"M.V769.P","link":"M-V769-P.html#t:DisguisedChatMessage__"},{"display_html":"data DisguisedChatMessage = DisguisedChatMessage {}","name":"DisguisedChatMessage targetname sendername chattype DisguisedChatMessage message","module":"M.V769.P","link":"M-V769-P.html#t:DisguisedChatMessage"},{"display_html":"data Disconnect = Disconnect {}","name":"Disconnect reason Disconnect","module":"M.V769.P","link":"M-V769-P.html#t:Disconnect"},{"display_html":"data DeleteMessage = DeleteMessage {}","name":"DeleteMessage DeleteMessage messageid","module":"M.V769.P","link":"M-V769-P.html#t:DeleteMessage"},{"display_html":"data DebugSample__ = DebugSample__ {}","name":"DebugSample__ DebugSample__ data___","module":"M.V769.P","link":"M-V769-P.html#t:DebugSample__"},{"display_html":"data DebugSample = DebugSample {}","name":"DebugSample DebugSample data_","module":"M.V769.P","link":"M-V769-P.html#t:DebugSample"},{"display_html":"data DamageEvent__ = DamageEvent__ {}","name":"DamageEvent__ amount__ sourceid__ DamageEvent__ entityid__ type___","module":"M.V769.P","link":"M-V769-P.html#t:DamageEvent__"},{"display_html":"data DamageEvent = DamageEvent {}","name":"DamageEvent amount sourceid DamageEvent entityid type_","module":"M.V769.P","link":"M-V769-P.html#t:DamageEvent"},{"display_html":"data ChatSuggestions__ = ChatSuggestions__ {}","name":"ChatSuggestions__ suggestions__ ChatSuggestions__ id__","module":"M.V769.P","link":"M-V769-P.html#t:ChatSuggestions__"},{"display_html":"data ChatSuggestions = ChatSuggestions {}","name":"ChatSuggestions suggestions ChatSuggestions id","module":"M.V769.P","link":"M-V769-P.html#t:ChatSuggestions"},{"display_html":"data SetCooldown__ = SetCooldown__ {}","name":"SetCooldown__ cooldown__ itemid__ SetCooldown__","module":"M.V769.P","link":"M-V769-P.html#t:SetCooldown__"},{"display_html":"data SetCooldown = SetCooldown {}","name":"SetCooldown cooldown itemid SetCooldown","module":"M.V769.P","link":"M-V769-P.html#t:SetCooldown"},{"display_html":"data CookieRequest = CookieRequest {}","name":"CookieRequest CookieRequest key","module":"M.V769.P","link":"M-V769-P.html#t:CookieRequest"},{"display_html":"data SetContainerSlot__ = SetContainerSlot__ {}","name":"SetContainerSlot__ slot__ SetContainerSlot__ data___ stateid__ windowid__","module":"M.V769.P","link":"M-V769-P.html#t:SetContainerSlot__"},{"display_html":"data SetContainerSlot = SetContainerSlot {}","name":"SetContainerSlot slot SetContainerSlot data_ stateid windowid","module":"M.V769.P","link":"M-V769-P.html#t:SetContainerSlot"},{"display_html":"data SetContainerProperty__ = SetContainerProperty__ {}","name":"SetContainerProperty__ property__ SetContainerProperty__ value__ windowid__","module":"M.V769.P","link":"M-V769-P.html#t:SetContainerProperty__"},{"display_html":"data SetContainerProperty = SetContainerProperty {}","name":"SetContainerProperty property SetContainerProperty value windowid","module":"M.V769.P","link":"M-V769-P.html#t:SetContainerProperty"},{"display_html":"data SetContainerContent__ = SetContainerContent__ {}","name":"SetContainerContent__ carrieditem__ slots__ stateid__ SetContainerContent__ windowid__","module":"M.V769.P","link":"M-V769-P.html#t:SetContainerContent__"},{"display_html":"data SetContainerContent = SetContainerContent {}","name":"SetContainerContent carrieditem slots stateid SetContainerContent windowid","module":"M.V769.P","link":"M-V769-P.html#t:SetContainerContent"},{"display_html":"data CloseContainer__ = CloseContainer__ {}","name":"CloseContainer__ windowid__ CloseContainer__","module":"M.V769.P","link":"M-V769-P.html#t:CloseContainer__"},{"display_html":"data CloseContainer = CloseContainer {}","name":"CloseContainer windowid CloseContainer","module":"M.V769.P","link":"M-V769-P.html#t:CloseContainer"},{"display_html":"data Commands__ = Commands__ {}","name":"Commands__ rootindex__ nodes__ Commands__","module":"M.V769.P","link":"M-V769-P.html#t:Commands__"},{"display_html":"data Commands = Commands {}","name":"Commands rootindex nodes Commands","module":"M.V769.P","link":"M-V769-P.html#t:Commands"},{"display_html":"data CommandMatch = CommandMatch {}","name":"CommandMatch tooltip CommandMatch match","module":"M.V769.P","link":"M-V769-P.html#t:CommandMatch"},{"display_html":"data CommandSuggestionsResponse__ = CommandSuggestionsResponse__ {}","name":"CommandSuggestionsResponse__ matches__ length__ start__ id__ CommandSuggestionsResponse__","module":"M.V769.P","link":"M-V769-P.html#t:CommandSuggestionsResponse__"},{"display_html":"data CommandSuggestionsResponse = CommandSuggestionsResponse {}","name":"CommandSuggestionsResponse matches CommandSuggestionsResponse length start id","module":"M.V769.P","link":"M-V769-P.html#t:CommandSuggestionsResponse"},{"display_html":"data ClearTitles = ClearTitles {}","name":"ClearTitles ClearTitles reset","module":"M.V769.P","link":"M-V769-P.html#t:ClearTitles"},{"display_html":"data ChunkBiomes = ChunkBiomes {}","name":"ChunkBiomes ChunkBiomes x data_ z","module":"M.V769.P","link":"M-V769-P.html#t:ChunkBiomes"},{"display_html":"data ChunkBatchStarted = ChunkBatchStarted","name":"ChunkBatchStarted ChunkBatchStarted","module":"M.V769.P","link":"M-V769-P.html#t:ChunkBatchStarted"},{"display_html":"data ChunkBatchFinished__ = ChunkBatchFinished__ {}","name":"ChunkBatchFinished__ batchsize__ ChunkBatchFinished__","module":"M.V769.P","link":"M-V769-P.html#t:ChunkBatchFinished__"},{"display_html":"data ChunkBatchFinished = ChunkBatchFinished {}","name":"ChunkBatchFinished batchsize ChunkBatchFinished","module":"M.V769.P","link":"M-V769-P.html#t:ChunkBatchFinished"},{"display_html":"data ChangeDifficulty = ChangeDifficulty {}","name":"ChangeDifficulty locked difficulty ChangeDifficulty","module":"M.V769.P","link":"M-V769-P.html#t:ChangeDifficulty"},{"display_html":"data BossBar = BossBar {}","name":"BossBar BossBar action uuid","module":"M.V769.P","link":"M-V769-P.html#t:BossBar"},{"display_html":"data BlockUpdate__ = BlockUpdate__ {}","name":"BlockUpdate__ blockid__ BlockUpdate__ location__","module":"M.V769.P","link":"M-V769-P.html#t:BlockUpdate__"},{"display_html":"data BlockUpdate = BlockUpdate {}","name":"BlockUpdate blockid BlockUpdate location","module":"M.V769.P","link":"M-V769-P.html#t:BlockUpdate"},{"display_html":"data BlockAction__ = BlockAction__ {}","name":"BlockAction__ blocktype__ actionparam__ actionid__ BlockAction__ location__","module":"M.V769.P","link":"M-V769-P.html#t:BlockAction__"},{"display_html":"data BlockAction = BlockAction {}","name":"BlockAction blocktype actionparam actionid BlockAction location","module":"M.V769.P","link":"M-V769-P.html#t:BlockAction"},{"display_html":"data BlockEntityData__ = BlockEntityData__ {}","name":"BlockEntityData__ BlockEntityData__ data___ location__ type___","module":"M.V769.P","link":"M-V769-P.html#t:BlockEntityData__"},{"display_html":"data BlockEntityData = BlockEntityData {}","name":"BlockEntityData BlockEntityData location type_ data_","module":"M.V769.P","link":"M-V769-P.html#t:BlockEntityData"},{"display_html":"data SetBlockDestroyStage__ = SetBlockDestroyStage__ {}","name":"SetBlockDestroyStage__ destroystage__ location__ SetBlockDestroyStage__ entityid__","module":"M.V769.P","link":"M-V769-P.html#t:SetBlockDestroyStage__"},{"display_html":"data SetBlockDestroyStage = SetBlockDestroyStage {}","name":"SetBlockDestroyStage destroystage SetBlockDestroyStage location entityid","module":"M.V769.P","link":"M-V769-P.html#t:SetBlockDestroyStage"},{"display_html":"data AcknowledgeBlockChange__ = AcknowledgeBlockChange__ {}","name":"AcknowledgeBlockChange__ sequence__ AcknowledgeBlockChange__","module":"M.V769.P","link":"M-V769-P.html#t:AcknowledgeBlockChange__"},{"display_html":"data AcknowledgeBlockChange = AcknowledgeBlockChange {}","name":"AcknowledgeBlockChange AcknowledgeBlockChange sequence","module":"M.V769.P","link":"M-V769-P.html#t:AcknowledgeBlockChange"},{"display_html":"data AwardStatistics_Entry__ = AwardStatistics_Entry__ {}","name":"AwardStatistics_Entry__ value__ statisticid__ categoryid__ AwardStatistics_Entry__","module":"M.V769.P","link":"M-V769-P.html#t:AwardStatistics_Entry__"},{"display_html":"data AwardStatistics_Entry = AwardStatistics_Entry {}","name":"AwardStatistics_Entry statisticid categoryid AwardStatistics_Entry value","module":"M.V769.P","link":"M-V769-P.html#t:AwardStatistics_Entry"},{"display_html":"data AwardStatistics = AwardStatistics {}","name":"AwardStatistics stats AwardStatistics","module":"M.V769.P","link":"M-V769-P.html#t:AwardStatistics"},{"display_html":"data EntityAnimation__ = EntityAnimation__ {}","name":"EntityAnimation__ animation__ EntityAnimation__ entityid__","module":"M.V769.P","link":"M-V769-P.html#t:EntityAnimation__"},{"display_html":"data EntityAnimation = EntityAnimation {}","name":"EntityAnimation animation EntityAnimation entityid","module":"M.V769.P","link":"M-V769-P.html#t:EntityAnimation"},{"display_html":"data SpawnExperienceOrb__ = SpawnExperienceOrb__ {}","name":"SpawnExperienceOrb__ count__ SpawnExperienceOrb__ entityid__ position__","module":"M.V769.P","link":"M-V769-P.html#t:SpawnExperienceOrb__"},{"display_html":"data SpawnExperienceOrb = SpawnExperienceOrb {}","name":"SpawnExperienceOrb SpawnExperienceOrb count position entityid","module":"M.V769.P","link":"M-V769-P.html#t:SpawnExperienceOrb"},{"display_html":"data SpawnEntity__ = SpawnEntity__ {}","name":"SpawnEntity__ velocity__ rotation__ position__ type___ entityuuid__ entityid__ SpawnEntity__ data___","module":"M.V769.P","link":"M-V769-P.html#t:SpawnEntity__"},{"display_html":"data SpawnEntity = SpawnEntity {}","name":"SpawnEntity velocity rotation position type_ entityuuid entityid SpawnEntity data_","module":"M.V769.P","link":"M-V769-P.html#t:SpawnEntity"},{"display_html":"data BundleDelimiter = BundleDelimiter","name":"BundleDelimiter BundleDelimiter","module":"M.V769.P","link":"M-V769-P.html#t:BundleDelimiter"},{"display_html":"data PongResponse = PongResponse {}","name":"PongResponse payload PongResponse","module":"M.V769.S","link":"M-V769-S.html#t:PongResponse"},{"display_html":"data StatusRequest = StatusRequest","name":"StatusRequest StatusRequest","module":"M.V769.S","link":"M-V769-S.html#t:StatusRequest"},{"display_html":"data StatusResponse = StatusResponse {}","name":"StatusResponse jsonresponse StatusResponse","module":"M.V769.S","link":"M-V769-S.html#t:StatusResponse"},{"display_html":"handshake :: ParserStates","name":"handshake","module":"M.V769.Reg","link":"M-V769-Reg.html#v:handshake"},{"display_html":"status :: ParserStates","name":"status","module":"M.V769.Reg","link":"M-V769-Reg.html#v:status"},{"display_html":"login :: ParserStates","name":"login","module":"M.V769.Reg","link":"M-V769-Reg.html#v:login"},{"display_html":"configuration :: ParserStates","name":"configuration","module":"M.V769.Reg","link":"M-V769-Reg.html#v:configuration"},{"display_html":"play :: ParserStates","name":"play","module":"M.V769.Reg","link":"M-V769-Reg.html#v:play"},{"display_html":"data ParserStates = ParserStates {}","name":"ParserStates ParserStates forserver forclient","module":"M.V769.Reg","link":"M-V769-Reg.html#t:ParserStates"}] \ No newline at end of file diff --git a/haddock-bundle.min.js b/haddock-bundle.min.js new file mode 100644 index 0000000..4b2fa13 --- /dev/null +++ b/haddock-bundle.min.js @@ -0,0 +1,2 @@ +!function i(s,a,l){function c(t,e){if(!a[t]){if(!s[t]){var n="function"==typeof require&&require;if(!e&&n)return n(t,!0);if(u)return u(t,!0);var o=new Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}var r=a[t]={exports:{}};s[t][0].call(r.exports,function(e){return c(s[t][1][e]||e)},r,r.exports,i,s,a,l)}return a[t].exports}for(var u="function"==typeof require&&require,e=0;e element with id '"+e+"'");return t}function x(){return u.defaultInstanceState==i.Open}function w(e){for(var t=S(e.target.id),n=t.element.open,o=0,r=t.toggles;owindow.innerHeight?this.searchResults.scrollTop+=e.bottom-window.innerHeight+80:e.topn)return u(e,this.pattern,o);var r=this.options,i=r.location,s=r.distance,a=r.threshold,l=r.findAllMatches,c=r.minMatchCharLength;return d(e,this.pattern,this.patternAlphabet,{location:i,distance:s,threshold:a,findAllMatches:l,minMatchCharLength:c})}}]),y}();e.exports=r},function(e,t,n){"use strict";var u=n(0);e.exports=function(e,t){return function e(t,n,o){if(n){var r=n.indexOf("."),i=n,s=null;-1!==r&&(i=n.slice(0,r),s=n.slice(r+1));var a=t[i];if(null!=a)if(s||"string"!=typeof a&&"number"!=typeof a)if(u(a))for(var l=0,c=a.length;l 0 and <= 1");p=p.name}else a[p]={weight:1};this._analyze({key:p,value:this.options.getFn(u,p),record:u,index:l},{resultMap:o,results:r,tokenSearchers:e,fullSearcher:t})}return{weights:a,results:r}}},{key:"_analyze",value:function(e,t){var n=e.key,o=e.arrayIndex,r=void 0===o?-1:o,i=e.value,s=e.record,a=e.index,l=t.tokenSearchers,c=void 0===l?[]:l,u=t.fullSearcher,d=void 0===u?[]:u,h=t.resultMap,p=void 0===h?{}:h,f=t.results,v=void 0===f?[]:f;if(null!=i){var g=!1,m=-1,y=0;if("string"==typeof i){this._log("\nKey: "+(""===n?"-":n));var _=d.search(i);if(this._log('Full text: "'+i+'", score: '+_.score),this.options.tokenize){for(var b=i.split(this.options.tokenSeparator),k=[],S=0;S=c.length;if(this._log("\nCheck Matches: "+T),(g||_.isMatch)&&T){var N=p[a];N?N.output.push({key:n,arrayIndex:r,value:i,score:A,matchedIndices:_.matchedIndices}):(p[a]={item:s,output:[{key:n,arrayIndex:r,value:i,score:A,matchedIndices:_.matchedIndices}]},v.push(p[a]))}}else if(V(i))for(var P=0,j=i.length;Pmmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell
mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

mmm-0.1.0.0: Minecraft 1.21.4 implementation in Haskell

Please see the README on GitHub at https://github.com/axionbuster/mmm#readme

Modules

mmm-0.1.0.0

\ No newline at end of file diff --git a/linuwial.css b/linuwial.css new file mode 100644 index 0000000..4164b84 --- /dev/null +++ b/linuwial.css @@ -0,0 +1,881 @@ +/* @group Fundamentals */ + +* { margin: 0; padding: 0 } + +/* Is this portable? */ +html { + background-color: white; + width: 100%; + height: 100%; +} + +body { + background: #fefefe; + color: #111; + text-align: left; + min-height: 100vh; + position: relative; + -webkit-text-size-adjust: 100%; + -webkit-font-feature-settings: "kern" 1, "liga" 0; + -moz-font-feature-settings: "kern" 1, "liga" 0; + -o-font-feature-settings: "kern" 1, "liga" 0; + font-feature-settings: "kern" 1, "liga" 0; + letter-spacing: 0.0015rem; +} + +#content a { + overflow-wrap: break-word; +} + +p { + margin: 0.8em 0; +} + +ul, ol { + margin: 0.8em 0 0.8em 2em; +} + +dl { + margin: 0.8em 0; +} + +dt { + font-weight: bold; +} +dd { + margin-left: 2em; +} + +a { text-decoration: none; } +a[href]:link { color: #9E358F; } +a[href]:visited {color: #6F5F9C; } +a[href]:hover { text-decoration:underline; } + +a[href].def:link, a[href].def:visited { color: rgba(69, 59, 97, 0.8); } +a[href].def:hover { color: rgb(78, 98, 114); } + +/* @end */ + +/* @group Show and hide with JS */ + +body.js-enabled .hide-when-js-enabled { + display: none; +} + +/* @end */ + + +/* @group responsive */ + +#package-header .caption { + margin: 0px 1em 0 2em; +} + +@media only screen and (min-width: 1280px) { + #content { + width: 63vw; + max-width: 1450px; + } + + #table-of-contents { + position: fixed; + max-width: 10vw; + top: 10.2em; + left: 2em; + bottom: 1em; + overflow-y: auto; + } + + #synopsis { + display: block; + position: fixed; + float: left; + top: 5em; + bottom: 1em; + right: 0; + max-width: 65vw; + overflow-y: auto; + /* Ensure that synopsis covers everything (including MathJAX markup) */ + z-index: 1; + } + + #synopsis .show { + border: 1px solid #5E5184; + padding: 0.7em; + max-height: 65vh; + } + +} + +@media only screen and (max-width: 1279px) { + #content { + width: 80vw; + } + + #synopsis { + display: block; + padding: 0; + position: relative; + margin: 0; + width: 100%; + } +} + +@media only screen and (max-width: 999px) { + #content { + width: 93vw; + } +} + + +/* menu for wider screens + + Display the package name at the left and the menu links at the right, + inline with each other: + The package name Source . Contents . Index +*/ +@media only screen and (min-width: 1000px) { + #package-header { + text-align: left; + white-space: nowrap; + height: 40px; + padding: 4px 1.5em 0px 1.5em; + overflow: visible; + + display: flex; + justify-content: space-between; + align-items: center; + } + + #package-header .caption { + display: inline-block; + margin: 0; + } + + #package-header ul.links { + margin: 0; + display: inline-table; + } + + #package-header .caption + ul.links { + margin-left: 1em; + } +} + +/* menu for smaller screens + +Display the package name on top of the menu links and center both elements: + The package name + Source . Contents . Index +*/ +@media only screen and (max-width: 999px) { + #package-header { + text-align: center; + padding: 6px 0 4px 0; + overflow: hidden; + } + + #package-header ul.links { + display: block; + text-align: center; + margin: 0; + + /* Hide scrollbar but allow scrolling menu links horizontally */ + white-space: nowrap; + overflow-x: auto; + overflow-y: hidden; + margin-bottom: -17px; + height: 50px; + } + + #package-header .caption { + display: block; + margin: 4px 0; + text-align: center; + } + + #package-header ul.links::-webkit-scrollbar { + display: none; + } + + #package-header ul.links li:first-of-type { + padding-left: 1em; + } + + #package-header ul.links li:last-of-type { + /* + The last link of the menu should offer the same distance to the right + as the #package-header enforces at the left. + */ + padding-right: 1em; + } + + #package-header .caption + ul.links { + padding-top: 9px; + } + + #module-header table.info { + float: none; + top: 0; + margin: 0 auto; + overflow: hidden; + max-width: 80vw; + } +} + +/* @end */ + + +/* @group Fonts & Sizes */ + +/* Basic technique & IE workarounds from YUI 3 + For reasons, see: + http://yui.yahooapis.com/3.1.1/build/cssfonts/fonts.css + */ + + body, button { + font: 400 14px/1.4 'PT Sans', + /* Fallback Font Stack */ + -apple-system, + BlinkMacSystemFont, + 'Segoe UI', + Roboto, + Oxygen-Sans, + Cantarell, + 'Helvetica Neue', + sans-serif; + *font-size: medium; /* for IE */ + *font:x-small; /* for IE in quirks mode */ + } + +h1 { font-size: 146.5%; /* 19pt */ } +h2 { font-size: 131%; /* 17pt */ } +h3 { font-size: 116%; /* 15pt */ } +h4 { font-size: 100%; /* 13pt */ } +h5 { font-size: 100%; /* 13pt */ } + +table { + font-size:inherit; + font:100%; +} + +pre, code, kbd, samp, tt, .src { + font-family:monospace; +} + +.links, .link { + font-size: 85%; /* 11pt */ +} + +#module-header .caption { + font-size: 182%; /* 24pt */ +} + +#module-header .caption sup { + font-size: 80%; + font-weight: normal; +} + +#package-header #page-menu a:link, #package-header #page-menu a:visited { color: white; } + + +.info { + font-size: 90%; +} + + +/* @end */ + +/* @group Common */ + +.caption, h1, h2, h3, h4, h5, h6, summary { + font-weight: bold; + color: #5E5184; + margin: 1.5em 0 1em 0; +} + + +* + h1, * + h2, * + h3, * + h4, * + h5, * + h6 { + margin-top: 2em; +} + +h1 + h2, h2 + h3, h3 + h4, h4 + h5, h5 + h6 { + margin-top: inherit; +} + +ul li + li { + margin-top: 0.2rem; +} + +ul + p { + margin-top: 0.93em; +} + +p + ul { + margin-top: 0.5em; +} + +p { + margin-top: 0.7rem; +} + +ul, ol { + margin: 0.8em 0 0.8em 2em; +} + +ul.links { + list-style: none; + text-align: left; + font-size: 0.95em; +} + +#package-header ul.links, #package-header ul.links button { + font-size: 1rem; +} + +ul.links li { + display: inline; + white-space: nowrap; + padding: 0; +} + +ul.links > li + li:before { + content: '\00B7'; +} + +ul.links li a { + padding: 0.2em 0.5em; +} + +.hide { display: none; } +.show { display: inherit; } +.clear { clear: both; } + +.collapser:before, .expander:before, .noexpander:before { + font-size: 1.2em; + color: #9C5791; + display: inline-block; + padding-right: 7px; +} + +.collapser:before { + content: 'â–¿'; +} +.expander:before { + content: 'â–¹'; +} +.noexpander:before { + content: 'â–¿'; + visibility: hidden; +} + +.collapser, .expander { + cursor: pointer; +} + +.instance.collapser, .instance.expander { + margin-left: 0px; + background-position: left center; + min-width: 9px; + min-height: 9px; +} + +summary { + cursor: pointer; + outline: none; +} + +pre { + padding: 0.5rem 1rem; + margin: 1em 0 0 0; + background-color: #f7f7f7; + overflow: auto; + border: 1px solid #ddd; + border-radius: 0.3em; +} + +pre + p { + margin-top: 1em; +} + +pre + pre { + margin-top: 0.5em; +} + +blockquote { + border-left: 3px solid #c7a5d3; + background-color: #eee4f1; + margin: 0.5em; + padding: 0.0005em 0.3em 0.5em 0.5em; +} + +.src { + background: #f2f2f2; + padding: 0.2em 0.5em; +} + +.keyword { font-weight: normal; } +.def { font-weight: bold; } + +@media print { + #footer { display: none; } +} + +/* @end */ + +/* @group Page Structure */ + +#content { + margin: 3em auto 6em auto; + padding: 0; +} + +#package-header { + background: #5E5184; + border-bottom: 5px solid rgba(69, 59, 97, 0.5); + color: #ddd; + position: relative; + font-size: 1.2em; + text-align: left; + margin: 0 auto; +} + +#package-header .caption { + color: white; + font-style: normal; + font-size: 1rem; + font-weight: bold; +} + +#module-header .caption { + font-weight: bold; + border-bottom: 1px solid #ddd; +} + +table.info { + float: right; + padding: 0.5em 1em; + border: 1px solid #ddd; + color: rgb(78,98,114); + background-color: #fff; + max-width: 60%; + border-spacing: 0; + position: relative; + top: -0.78em; + margin: 0 0 0 2em; +} + +.info th { + padding: 0 1em 0 0; + text-align: right; +} + +#style-menu li { + display: block; + border-style: none; + list-style-type: none; +} + +#footer { + background: #ededed; + border-top: 1px solid #aaa; + padding: 0.5em 0; + color: #222; + text-align: center; + width: 100%; + height: 3em; + margin-top: 3em; + position: relative; + clear: both; +} + +/* @end */ + +/* @group Front Matter */ + +#synopsis .caption, +#contents-list .caption { + font-size: 1rem; +} + +#synopsis, #table-of-contents { + font-size: 16px; +} + +#contents-list { + background: #f4f4f4; + padding: 1em; + margin: 0; +} + +#contents-list .caption { + text-align: left; + margin: 0; +} + +#contents-list ul { + list-style: none; + margin: 0; + margin-top: 10px; + font-size: 14px; +} + +#contents-list ul ul { + margin-left: 1.5em; +} + +#description .caption { + display: none; +} + +#synopsis summary { + display: block; + float: right; + width: 29px; + color: rgba(255,255,255,0); + height: 110px; + margin: 0; + font-size: 1px; + padding: 0; + background: url(synopsis.png) no-repeat 0px -8px; +} + +#synopsis details[open] > summary { + background: url(synopsis.png) no-repeat -75px -8px; +} + +#synopsis details:not([open]) > ul { + visibility: hidden; +} + +#synopsis ul { + height: 100%; + overflow: auto; + padding: 0.5em; + margin: 0; +} + +#synopsis ul ul { + overflow: hidden; +} + +#synopsis ul, +#synopsis ul li.src { + background-color: rgb(250,247,224); + white-space: nowrap; + list-style: none; + margin-left: 0; +} + +#interface td.src { + white-space: nowrap; +} + +/* @end */ + +/* @group Main Content */ + +#interface div.top + div.top { + margin-top: 1.5em; +} + +#interface p + div.top, +#interface h1 + div.top, +#interface h2 + div.top, +#interface h3 + div.top, +#interface h4 + div.top, +#interface h5 + div.top { + margin-top: 1em; +} +#interface .src .selflink, +#interface .src .link { + float: right; + color: #888; + padding: 0 7px; + -moz-user-select: none; + font-weight: bold; + line-height: 30px; +} +#interface .src .selflink { + margin: 0 -0.5em 0 0.5em; +} + +#interface span.fixity { + color: #919191; + border-left: 1px solid #919191; + padding: 0.2em 0.5em 0.2em 0.5em; + margin: 0 -1em 0 1em; +} + +#interface span.rightedge { + border-left: 1px solid #919191; + padding: 0.2em 0 0.2em 0; + margin: 0 0 0 1em; +} + +#interface table { border-spacing: 2px; } +#interface td { + vertical-align: top; + padding-left: 0.5em; +} + +#interface td.doc p { + margin: 0; +} +#interface td.doc p + p { + margin-top: 0.8em; +} + +.doc table { + border-collapse: collapse; + border-spacing: 0px; +} + +.doc th, +.doc td { + padding: 5px; + border: 1px solid #ddd; +} + +.doc th { + background-color: #f0f0f0; +} + +.clearfix:after { + clear: both; + content: " "; + display: block; + height: 0; + visibility: hidden; +} + +.subs, .top > .doc, .subs > .doc { + padding-left: 1em; + border-left: 1px solid gainsboro; + margin-bottom: 1em; +} + +.top .subs { + margin-bottom: 0.6em; +} + +.subs.fields ul { + list-style: none; + display: table; + margin: 0; +} + +.subs.fields ul li { + display: table-row; +} + +.subs ul li dfn { + display: table-cell; + font-style: normal; + font-weight: bold; + margin: 1px 0; + white-space: nowrap; +} + +.subs ul li > .doc { + display: table-cell; + padding-left: 0.5em; + margin-bottom: 0.5em; +} + +.subs ul li > .doc p { + margin: 0; +} + +.subs .subs p.src { + border: none; + background-color: #f8f8f8; +} + +.subs .subs .caption { + margin-top: 1em ; + margin-bottom: 0px; +} + +.subs p.caption { + margin-top: 0; +} + +.subs .subs .caption + .src { + margin: 0px; + margin-top: 8px; +} + +.subs .subs .src + .src { + margin: 7px 0 0 0; +} + +/* Render short-style data instances */ +.inst ul { + height: 100%; + padding: 0.5em; + margin: 0; +} + +.inst, .inst li { + list-style: none; + margin-left: 1em; +} + +/* Workaround for bug in Firefox (issue #384) */ +.inst-left { + float: left; +} + +.top p.src { + border-bottom: 3px solid #e5e5e5; + line-height: 2rem; + margin-bottom: 1em; +} + +.warning { + color: red; +} + +.arguments { + margin-top: -0.4em; +} +.arguments .caption { + display: none; +} + +.fields { padding-left: 1em; } + +.fields .caption { display: none; } + +.fields p { margin: 0 0; } + +/* this seems bulky to me +.methods, .constructors { + background: #f8f8f8; + border: 1px solid #eee; +} +*/ + +/* @end */ + +/* @group Auxillary Pages */ + + +.extension-list { + list-style-type: none; + margin-left: 0; +} + +#mini { + margin: 0 auto; + padding: 0 1em 1em; +} + +#mini > * { + font-size: 93%; /* 12pt */ +} + +#mini #module-list .caption, +#mini #module-header .caption { + font-size: 125%; /* 15pt */ +} + +#mini #interface h1, +#mini #interface h2, +#mini #interface h3, +#mini #interface h4 { + font-size: 109%; /* 13pt */ + margin: 1em 0 0; +} + +#mini #interface .top, +#mini #interface .src { + margin: 0; +} + +#mini #module-list ul { + list-style: none; + margin: 0; +} + +#alphabet ul { + list-style: none; + padding: 0; + margin: 0.5em 0 0; + text-align: center; +} + +#alphabet li { + display: inline; + margin: 0 0.25em; +} + +#alphabet a { + font-weight: bold; +} + +#index .caption, +#module-list .caption { font-size: 131%; /* 17pt */ } + +#index table { + margin-left: 2em; +} + +#index .src { + font-weight: bold; +} +#index .alt { + font-size: 77%; /* 10pt */ + font-style: italic; + padding-left: 2em; +} + +#index td + td { + padding-left: 1em; +} + +#module-list ul { + list-style: none; + margin: 0 0 0 2em; +} + +#module-list li { + clear: right; +} + +#module-list span.collapser, +#module-list span.expander { + background-position: 0 0.3em; +} + +#module-list .package { + float: right; +} + +:target { + background: -webkit-linear-gradient(top, transparent 0%, transparent 65%, #fbf36d 60%, #fbf36d 100%); + background: -moz-linear-gradient(top, transparent 0%, transparent 65%, #fbf36d 60%, #fbf36d 100%); + background: -o-linear-gradient(top, transparent 0%, transparent 65%, #fbf36d 60%, #fbf36d 100%); + background: -ms-linear-gradient(top, transparent 0%, transparent 65%, #fbf36d 60%, #fbf36d 100%); + background: linear-gradient(to bottom, transparent 0%, transparent 65%, #fbf36d 60%, #fbf36d 100%); +} + +:target:hover { + background: -webkit-linear-gradient(top, transparent 0%, transparent 0%, #fbf36d 0%, #fbf36d 100%); + background: -moz-linear-gradient(top, transparent 0%, transparent 0%, #fbf36d 0%, #fbf36d 100%); + background: -o-linear-gradient(top, transparent 0%, transparent 0%, #fbf36d 0%, #fbf36d 100%); + background: -ms-linear-gradient(top, transparent 0%, transparent 0%, #fbf36d 0%, #fbf36d 100%); + background: linear-gradient(to bottom, transparent 0%, transparent 0%, #fbf36d 0%, #fbf36d 100%); +} + +/* @end */ + +/* @group Dropdown menus */ + +#preferences-menu, #style-menu { + width: 25em; + overflow-y: auto; +} + +/* @end */ diff --git a/meta.json b/meta.json new file mode 100644 index 0000000..ec4b9c2 --- /dev/null +++ b/meta.json @@ -0,0 +1 @@ +{"haddock_version":"2.30.0","quickjump_version":1} \ No newline at end of file diff --git a/mmm.haddock b/mmm.haddock new file mode 100644 index 0000000000000000000000000000000000000000..e03e3f237136ff2bfa92e9d05c61e273dc20a373 GIT binary patch literal 181295 zcmc%S30xiLedzsj4j|j|65Fwz*h%bT*_I&|lI1k1V>iilmbSS~(!8||4k?p6l{Y1i+?N_q>xop3d?f;SOH?n;w+efnfg=~K*+h57{|H}5)I-T9$ z$o99g{he%*^mhLs+ds$4SQfO?1TMq01iT|up|!RAps5v zk0c6@CJB!v3rkZV71AIbG9VKULl$I14&*`}3v+N6?!i3xNTc_(FZh8! z1VA7JK`?|sD1<>cL_j2LhApraqF@_DLkw((9k3I2!EV?Cdto2!hXZgBVj&LVAps6S zA|ydFq(Ca9K{{kWCLD$=$c7xqg*?cI0w{zcD25U!g(FY~YyGP zpb?s&8Cswf+MpdepcA^_7<5Aq9EV;w0Vm-UoQ6K=hXFVPXW<;2he5a?JaZ9-U>GjJ zWf*}ga22k>b+`dH;TGJ6J1{CdI|k!00h2HV(=Y?GFb8+x9?XM}bhw`N1wZhI00@L2 z2!;>{g)j(*2#AEuum!e46l{ZNh=J{}19rkL*bRGNFYJT;Z~zWMEW|-PB)}m^gd|9Y z6i9_MNQVr_gu{>p*}_+IAQ$o=9}1ulil7)upcIZk8I(f>R6-S0Lk%2-TBw71Xn;m& zf@WxeR%nBE=zvb>f@9DPJ#ZX);RKw7Q*avkpdSX{44j2?a2^JQ=PtlS7=mHA1eak1 zuE15e2G`*R+=N?j8}7g;jKMfez@+f}6imYm%)%Vpg?lg$K6ZjH_<=tJ2rmRe5ClUA zghCjELj**^X4nE-AquuZG{nGm*a16X7wm>Tuow2hemDRJAr|5w9unXXBtjA-Lkgrq z8l*!8WWr&{f^6YyIgkr^kPih=2t`l~B~S`SpbW~P0xF>js-XssLM_xmJv2ZgG(ofQ z^%iJ_HfV!W2xy49vnD+=Y8E4?ar-U+@Ee2!KEcf?(mL5D0}Z z2!{ya8Y)J|p$VFy z1zMpE+MxqFp$m>dH}t@9=!Fw-5>CNs;pIN)hXFVPXW<;2he5ai7hwp7;SyYi5x4?Z z;Tl|r8*o#2q(GUC~00JQhf*}M# zAq>JH0wRT1H^Ua#3Q@2Pq9F#h!w%R9yI?o$fxWN~_QL@<2(b_c@sI$AAQ6%v8B!n> z(jXl&AQKKl7Gy&X*5fnoSl)@1xgL0^VN~nTrsDYzU3w2Nr4bTWp&vUNOu`gQ!wk&A9NdL_Fb_U5!Sih33~YxTuoHH{ZrB5RVIS;=18@*xAr9gp0S-YTBtbHyKq{m`I%Gg5 z9EL2&h8)O+JjjOvD1;&?h7u@+BTxqAPyv-t1=UakN1+z#pdK2a5t^VGTA&r$pdC7( z6T09SbVCmuhh8`VC*c&FhCb+r0XPF^;T)WYLAU@HVF-rd5?qE6xB^$<8eE4Pa1(C9 zZMXxYFb3l=0h2HV(=Y?GFb8+x9?XM}Ozyts3x41a0T2j55G=eN0-+EF;Sd3luo`5A20~upbVR6-S0Lk%2-TBw71Xn;m&f@WxeR%nBE=zvb>f@9DP zJ#ZX);RKw7Q*avkpdSX{44j2?a2^KX0$hY47=}x58Ajj=T!m|J9d5u)xCOW24vfMW zjKc&>!W2xy49vnD+=Y8E4?gl>;dNi|1AhpBKnQ|h2!T)tgK&s|NZ1TpU@JtyHi(88 z*bX~jC+vdVum|?SKG+Wj;2^|89K=Hc9D+nhf@Da6R7it#$bd{Z3|Wv3Igkr^kPih= z2t`l~B~S`SpbW~P0xF>js-XssLM_xmJv2ZgG(j`8Kr6ICJ9I!Nbipy`h8{Q$y>J3f z!YMcneb5gBa0br8IXDl4Z~-pD5Ddd5xC|q31+Kz1xDGeqCftJCa0fih33~YxTuoHH{ zZrB5RVIS;=18@*xAr9gp0S*aoBtjA-Lkgrq8l*!8WWr&{f^5ivT*!lbD1bsJf?_Cv zQaA!-P!1JP2~|)HHE6L1nv!D;A& zei(o=a2C$Nc^HHXa1n-J7%stO7=bHr6|TW`xB)le7TktAFbZQZ4ihj5Q!ouPFbi{V z7w*A4_{am*H+;bl{2>4WAqavY1VSMU!XW}8VKZ!jtq=v9@q=} zU_TsygAfaG5Dy7(2ofO)k|70BAq~3v+N6?!i3x$U>6kzTgM` z5CDM?1i=sjp%4b)5CM^}8MeSyh=Oep4Kc7CcEC>91-oGn?1g=>9}d7lh=n+ahXgnT ziI4=zkOHZY2I-IinQ$1gARBTZ7xEw<3ZM{*pcqP^6pla{ltTqnLKRd)4IG79sDpZF zfJSJ7W@v#{XoGg>fKKRwW6%vfa2$H!1e}CZa2ooc9|qtIoP~369tPn8T!bMQhD&f6 zM&Jrug==sfZoo~r1-Ic2jKUasA}EFuD1{?X2IWuzl~4uMPyf;12;12tg1GArJ~-5DpO# z37cUHY=tP;2GI}$+hGUngk7*3_P}1)2m9dw9E4bigLp`QLy!nbkPIo13TcoI8ITEw zAq%o02XY|~@}U3D>mth31z*V>g*Wm`-gj;YM z?!YLF!8lC7Buv3H%)l(n!Cklq^WYhCQ$s_Q8HQ00$u!;vgOp;1DE25+p+kq(T~`Lk48RVaS4P$bnqQ zgM27}LMVb_D1lNq0%cGR6;KIPPz^P36l$Rk>Y)J|p$VFy1zMpE+MxqFp$m>dH}t@9 z=!Fw-5>CNs=!1S3fHQCw&cS&YgbQ#HhF};j!DSeMD{vLA!F9L+H{llChC46{V=xXA zFbPvI4Kpwcb8r{#!94iL!r|q<;0OK?0D%w$!4LwW5C-880g5u`La2T>68*(5Q@*p1ypb(0n z7)qcNjzAfdLj_bq6;wkF9EDn_gL-IyMreX&Xn|H}gLdeEPUwPT&<#Cs9D3mdoP<+w z8v39g2H*^wg>!Ho2H^r+gdrG)OK=%R;0j!YYj7QIz)iRXx8V+q!WfLh1WdvdOv4P! z!W`U%doT|^vS@v|FZh8!1VA7JK`?|sD1<>cL_j2LhApraqF@_DLkw((9k3I2!EV?C zdto2!hXZgBVj&LVAps6SA|ydFq(Ca9K{{kWCLD$=$c7xqg*?cI0w{zcD25U!g(FY~ zYyGPpb?s&8Cswf+MpdepcA^_7<5Aq9EV;w0Vm-UoQ6K=hXFVP zXW<;2he5ai7hwp7;SyYi5x4?Z;Tl|r8*meD!ELw$qc8^JFaeV=1=BDCvoHsD;U3I` zkGwFk+!y@79|9l{f*=?|AQZwN93mhRHp3R!3Q@2Pq9F#h!w%R9yI?o$fxWN~_QL@< z2(b_c@sI$AAQ6%v8B!n>(jXl&AQKKl7Gy&X*5fnoSl)@1xgL0^VN~nTr zsDYzU3w2Nr4bTWp&D> zmth31z*V>g*Wm`-gj;YM?!YLF!8lC7Buv3H%)l(n!Cklq^WY;diY@mAKk$bD2!tRA zh7bsaFbIbTh=k3s1-3#IY=dZsf$gvZcET>$4SQfO?1TMq01iSd#6dhHz#&M4BuIu7 zNQE>=hYZMs!;l5pkOR4p2l-F{g-`^=Py(fJ1j?WsDxeaopc-o6DAYn7)I$R_LK8GY z3$#KTv_l7ULKhr^Zs>vI&G^#$X&KU=pTa8fIV?=HM>egL&|gmlT)#f*<%p00cr11VadfLKuWY z1VqAS*aBN23bsKs#K3mg0XtzA?1nwC7xuw^H~3v+N6?!i3x$P2Q|eZdd>Apim)2!bI5LLm&oAp#;{Gi-sa z5Cz*H8e(8O?0}uH3wFaE*bDn$KOBIA5DRe-4+(Gx5+MnaAq7$)4bmY4GT|^}K{n(- zF62Qz6hI*qK{1p-DI9?^D2EEDges_p8aN8IPzUwU0FBTD&Cmj^&<5?$0iDnV$DkW} z;5hWc2{;L-;576>KMcSbI1A_CJPg7GxClcq442?CjKCGR3fJH|+<=>K3vR<57=`5A20~upbVR6-S0Lk%2-TBw71Xn;m&f@WxeR%nBE=zvb>f@9DPJ#ZX);RKw7 zQ*avkpdSX{44j2?a2^KX0$hY47=}x58Ajj=T!m|J9d5u)xCOW24vfMWjKc&>!W2xy z49vnD+=Y8E4?gmT0harMANWH61VRu5LkNUI7=%LvM8am+0$U*pwm~$+z;@UHJ7E{> zhCQ$s_Q8HQ00$u!;vgOp;1DE25+p+kq(T~`Lk48RVaS4P$bnqQgM27}LMVb_D1lNq z0%cGR6;KIPPz^P36l$Rk>Y)J|p$VFy1zMpE+MxqFp$m>dH}t@9=!Fw-5>CNs=!1S3 zfHQCw&cS&YgbQ#HhF};j!DSeMD{vLA!F9L+H{llChC46{V=xXAFbPvI4Kpwcb8r{# z!94iLAEj9C3x41a0T2j55DXy@3Skfq5fBNRVGC@9DA)$k5Chv`2keAhup9QkUf2iw z;Q$Oa2xKxD2%~4Ou!^e!8FXkEX=`OxCis#BYzNO zxi9#EKLkJ^1VJ!_Kq!PkI7C1sY=$kc6{27pL_-X0haIpJcEN7g1AAc~?1uwz5Mm(? z;voSJK_VnUGNeE%q(M4lKqef9EXal&$b~$}hXN>sA}EFuD1{?X2IWuzl~4uMPyuKpB)n1yn*6R6`9Mg<7bCdT4+~ zXo6;FfmUdPcIbdk=z?R=4Lxuidf^0|gi~-D`k)^M;0&CFb8sF8;R0NQAsB{Ba2ZD6 z3S5P2a2;;IO}GWO;SP+#7>vUNOu`gQ!wk&A9NdL_Fb_WRhoF}Gf*<%p00cr11Vadf zLKuWY1VqAS*aBN23bsKs#K3mg0XtzA?1nwC7xuw^H~3v+N6?!i3x$R8nF?hAh44*?JeK@bcf5DH-s4iOLu zn_&xVg(%nt(GUaMVF&DlU9cPWz+Tt~`{4i_gjk4!cu0UlkO)bT3@MNbX^;*XkO_w& z3$h^xav=}$p#Tb@2#TQuO5q5UK{-@FB~(E*)WA`wg*vE*255vPXoePOg*Ir14(Nm~ zI0oI&1IM8kPQXbx1*f48`e6Xhz*#s4=V1^oz(p8>VYmdBVFa$gRk#M%;Rf7 zUN`|K;S`*PKIn%5I0I+l9Gr(ixBwSn2!`PjT!s<20$1T0T!$NQ6K=t6xC5gw2IDXR zlQ0F-FaxtN2Y2Bf%!ALXf-m@iKLkJ^1VJ!_Kq!PkI7C1sY=$kc6{27pL_-X0haIpJ zcEN7g1AAc~?1uwz5Mm(?;voSJK_VnUGNeE%q(M4lKqef9EXal&$b~$}hXN>sA}EFu zD1{?X2IWuzl~4uMPyR-7yQ5<0w55AAQ(a*6v7}JA|Mhr!xq>IQLqi7AqKX?4%i91U^nc6y|54V z!vQ!5u@DFGkN}4u5t1MoQXm!5ARRIw6AnWbWJ3<*LLTHp0Te z{Jz#jr25P~2W zLLd~vARHnf5;nsY*a}gw4Wc0iw!;qC3AqhaeG>AQ@61 z71AIbG9VKULl$I14&*`}YN&yuPz!ZX4-L==P0$Q2 z&(jXl&AQKKl z7Gy&X*5fnoSl)@1xgL0^VN~nTrsDYzU3w2Nr4bTWp&Oa2xKxD2%~4Ou!^e z!8FXkEX=`OxCis#^QPbne&7!Q5C}mK3?UE-VGs@x5DA-M3v7ib*ap!M1KVK-?1Wvg z8}`6n*a!RJ033u^h=X`YfJ2Z7NstUFkP2y#4jGUMhan5HAqR3H5AvY^3ZV#!p#)0d z2$VrNR6r$EK{eFCQK*GFsD}n(;L3`Yj+nnFQcbv!$wyZw{=E$H=~pH8h00G<64uG+0(ez z-NWeQ?&|8|=^|e_o4w3VUh5@twEd`L6znAAk5$$L~1) z#MR{OY1YaAfr9O?+}+H2!;6L`&wlm!7hhTS+8fL59an$%2S2RRRqOh67j;9r5#2T2 zoP=Gw)JCt<+icjd!Nzby=VA8pa4~;kHhQf$8#fY3Pa?-}YRuf%8cmkCE;YKjdu%Yd z8ok{4%T z+vq`pn2d7CUPd{|Cvp&X4^N{U(L{1=FnLKV1SgZ5agAA0XX7TvjV4J1X9*)Q_^H`* zgS)4V<%oKN{YDS7vx^gZnT>AV8`hXTIIiWIl$4iU*K9J{%KgyWNTR7xdB$=hoLx4U z-AH~hb+`ZkLO;QTvx3xwkpp)6v z)ziVo@b;SpZ`MAO-(i>BRs0bbg7rS7bQh9 z)!jF>Ycr^k+aUSWn8gjXlyW1yH z;3dpDxnij={>AL!&Q9u4Eg$$>cUWQCxY2c!@y|@_O>UC^t(zT_$p}Vj zRI-NA-q|ckr0i&^*{ns~R~p??N+ef z2T32<(al-eLp_sHUr8=ph@9D3GT-+tRe>CfFFnjsQ+dh-snwBu>EdB@b(b5ZR1NYU zcMplJz$vH<;+x#N;V_sStDY0UZKWX5>&f*lVobIrOLB7M!VI^Ip{&jJ4a`kpLJFhglc*zZ2V|JqL zkuykCJmh5DDEU!7b6%?C#4oBlYz&vUobSlxNL(Z>NRJIBw@pT~^E#<6rP7h2yvEzh zxXvuKq}=CCQbGl53Q8MfHcK?V>=c$1mRiG&xOz%Ur6z?mSW5D8W)HJcHOs|nS0~M& zvd8;Ma1Xh!N{m)W5=yGtn>;1clJg{)xJoy7DNZKhXO=Rqw1(E3X58p%ax*)~t-Gb; zq?Yn&$@rEeQZtpax05upuI|(!>nwNH?BU_=u~NNt)}5)ZC{WZ<6djrt>j@=Skqe~| zOMcNC{)lh2>rtE6HD;x%ca!qt;$>bTcaV#aX4`#(6f9EH%Y7-g&M4JyfW5(yleoHU zpa{sp9%y0YTct(bu+dvGv0Q1Nj&Pn{CXf5B#F9>0#*rMP98GEPz1>{Ro|13uyEOO&*9kZ&zr9V&JbS;-G-;wgDx!$z-7N*Wsc?QN}H2K{H&E`olOwJY$r^>(>? zXx$RSbM~JZ-!g8JW=hKl?j8=0*;o$6{d#3_vaM9^gITIG>A$Qs{u{R>&|YtNluNYy z9wfgn<#%@_l!OSjH@vmf(m64DZQ4lIRtnggYd4rS%6^}{X*8{qd{375TK~B05~3XB z?_7+IKa}t7<&#i*!xH0XMi&PM>*c+^kmB}kv=B;O;YO)lL6?6qJ1=yGR%x9%`-RqT zg_^Hd82@&mHT!!9DLpP8p1LKE+1f36)bu$ayEEAjE?eWfA(6K)}HAN&nY#XWUPfQlPC8k++J>trTtiHZRo!t zt*YDwX{lV~J9_sEJzd%9Nxk9gW@)wTrE}}<=Heth1-iUSK>7M{gWlnBtxeP$o-s+n zf2thMT^eCIl!S?p+o$J;NcrI@NiFHZNgb^8c{zi@VD_{z{75p0(zZ}Vtan+rUINnp zR9hmi_3l#U)na1wl%Bm5N-woPM1`@&{j(>vp2T}5ex(e5=ch)`jWTFiA;)!+M#|Y} z$*dk`SEXw}oh^}E49#=+qO* zn1^#exZ4ZbZjCwuDECv6$(r=iDIvRAvX1kYPKJMyXC@O|ytEJehcm8JEy_OqoWeXyuVN%^{V318z17H2Ny z>R;3Xe1iZFW-lesOKKph<0s6Y$%s@ksf!d!iQqGaPb62~| z3#~B;rM7C82?D7kRxh)jKIQsv%S(mRR$cE9{WPUv8Nv|cao~sfw)V=$+=3SPCVrZZ|DtnN}-aUmm5}T zCs2Ao(k1sWS>`Y-g-uGq{RK=L`x%xks#v(`>ac~1%yLay>qQGffcx&ggC%+NhDW5= z%|wjE<|V^d)iP?y25J`nww97g3G$ZSnpP2zo^t1@1>RZ|NUb<5sk0DB{vT=8IhWVe z*2FqbLaJ%ij8@4wYJr#ig6<)0=ogn@x!EhVurDtPySO@#aI3U%uP+Ms`RH;U3H`Pf z`i(`Qxwngwz!H45HMn|pN)Azm$@kSdT%{VVceLPdvA>puwBq$8QTmRy(~2+J>C0lK zUty!uc3etYt9QoQ%X|F3o`JPH`-tVT47wG6q;veiw^us8y=uj3hwm(Z)Bc?|zWvsd zPrd$?r(ZF?`r5K@e(UAOpIG|L3txTi*{{F&wdY^@hT}8OfA!g~J@>-bU;LvVy!4G% zjIS+wRl+>^`d6NM`gIBExN_CoZ`!YLSpA*l9Ee_@o%H&?^Ru;Ur4?E0?YdC<7iK~& z4XxIa8$CBkCB5Ncbo>78qo@B`ORV?TnJF4;S-B2}ztIlz?f>{e{#M;bMpQ3IOToC;-CLcfTPI^|H|HNcYGWhibhEwTb>jxJ zwDj~2WR`+j(S7Y&b-tDRrUobM7JI{rg|MFM-Mw9%Wymcpl59$elG%t)T-?3o@?;Xw z%syM~4X-ThBg5JICr{Kv|ATgQFI%f>swqoHYoSg0CoSCTpE8*%Rim@J+VBxgcQ;4% zaLT#8JxyBZ7d*_wk?Xp@pR-2${wZlHshcfRT27YF^@hh>waP-S;~xxXp~$=NJpEvY};UF8nFr#9;PM-2K+Qr9w4kYtx% zpV?&m$uEB`!>xb)SK}t*4}M_$Od`KjX;FxYuZlwf~@sx*ot>nE& z3`;f{SIK^I=4X}uge0zYI#)U%Yu9S2^(~2*^hzaOUzF(Uv|vxsoO&58_xnfdwa=eX zKVQgaKXTE&`oGBAzt#5nruukep+qYUvSqMm6J>9$tE4kVLoHLYp3-*PThc_vMq0%s z-AFD-()Kg0+R__da5b;>a+GOD=|sCo&sv%v0%?0ct~CDYFq@P`?OUepxs2buH&P0S zlJ#cEu*u!+x7O=6ysB0-mYBP*`K{E8()X0x>q-AbN`;mJh8O6a$Sj3)W$rI1mgJDA zKPB1rzLF_@HS64qah>EVPcLt$kCo{-GWeo{$mJ-t#Ts?CSNE*5lUdrn->&`Zzxmt0 z`}=?RN7I^rdiJmX#^oRWagFJpe(U6HmJipiTTgv1?Xh9mU$`kf$uF$UA7b@=PtN~G zT1-FJXe~ti|ImDK0Xj)w!>XTnY})AME=78yO!phzrQ@UADYY~5OBroDd6?G9OrVFm zm%CJh52H2mtzP;&Eswrt=|7v@oQN2sY-foAKboYv_VhHZGyl65`0GwGX)VJ*W$wWE z!OuRF`yg5TGcO-&-uaIl&(|9I(cgUdfpO!<=1qRuM{)@{)!|>7MvpL8bXsI$QstmY7tRFtV=nA#ig=*jH z4X=MHlSAr2_(N}{5dGSFjjM~(pP4uP+-Q>v5ix0xVA><;jJ_(MzkF3{S}ZE^BGkKQ_DB zX!}36a3=eA-j*knGV$+Vt6R0rUiWsiy>4}kz3!du_D_fDL-cZSe)@m=cOQL_K3MOs z57Y1lG{KdW$O(`bsS!%Ie6}?Jiz0W_DWA!My5&!L#g+rwl#iYa`jfK=eHeX zqFx(0FO@qIua8?e=CiIYYpLEO?UaY(QY+f(V)gNs5K_h6(f#_tv#vCL;O*ruPm!5j zlXja1L8iBiPV2qhK2`>PGI=eDy_DR_JeE9gp}V1cFSWEx0Lb$o`BEJzD(NOu+}=)3 zG6(9pQX1Xmzm$go@-V^u)AyDdzis?TYINo5J*20&kY8zd^k#$1=zrVz^FRL?v-`$n zN;nspCh(SLZp@uXgk&O~oaW*t@miMfd#*oTZyS5xGwdgny(E3P#oDfhC2Dl6*>8z- z(7au};{LNc#_R2@nchyhm)27~X1$@-vn`5~HM3jdWUFOavE4RPMASkdnu&h2vpV=|R8NAJP&|Z+Kritn0kiJ1V1j z$p(ufA{m0{Ickw30FTCHEFe{pt!{_C9LvUfS6;W~CiSRfsD%SscGk{q_{!&wYQ1&O zJg|>WPD8Ba-=mUnZ~lq;c+Tj)#!~rdvm}fAG!G;BLOb<|mP?Sb-=+INdses*8RhBb z2ANn_R+KnN(O;*`?@}eH74s+30W_^~mF7`O9Zz?q^QQL7HmsDR?$J}4trz#H$xCjJ z%#q1h%Y)IJb$4bZEXP+L@kq7rsn%@FOjDsq9U@D2+&56sSUa<8Ef1VlC=oD!W_FUP zavo|JB`P$b%F|vg=FH8hoo0Ea`M9AcW@!oF8}CriMkMNbzWb+e+&2g{Xf$%)f8x%ggWT_j0e5wF~mli7HynEE~+MEiyY>ii>2ITHWut z>ich?Jjs`7P~(F!v@yK+r7_bbbEP%SN zpZYM0U-*DNY2jA<;AanJT`eL?v#VUI$=S3~Su`Rul=nrOk~XWOq*?Qx4BqA0pJZtX(9Z|OB|VlkJ=`L|NK7HSDrs@Vr7EYr)GIRqGmrSOY)Jj zm`O^N^)qFzREp9uo%9brmWMlDGPILN9ct#4%q%(iH=OuQ^&=V4dr7ZGJF#_|oG7rf z6gi{4e7l);iKGt!i-muJ)yBBs=g2`ezshlKFF&kj3+i8E_u-5SMgW2i+MAgX| zxC!!asbq%NfAO;)OUGI|5KeOcC0BUL9IZ@vD}~20tbHgCNF#6BC0iSlM_eh35Q=h6&)2HiG^vU{17JlRla*8}pHhl9}mM2$IZ)n}=huYQIoTV?< z;x3QSY2MbXVY*QnM=KfBR=3Aq`Y+{rLdw4-Htn&E#;Y}NC zd;i(J+T#+vth}RtBXy~@J0tD9GVrLikqpw=#mdF?{Lr804%EP+zayvyG3 zq&9F=GJV~DIApyR((t^yw})jEcHbDR$@=}%*6*1Ulfh84^{cN~zmf+{@-(%@`psL? z1WEI=kyR<`kcv5e7bh2aN-QHwduan)++A!cLDYJoT$sbYNMo{+%AZ?hgj_&$h`9E&5h{ zyS`Rmr?1yH=o|IT`X+si{-|WtN_~~STK^nh^(Y_l>!9)lfz;sa&S50F@=sQi80!ax38Acb<;3*jlIJP33Xz5QgVu3dOQaQ66hZ%fy;$S!O-1AJvcPZ9oFczo+ENU(#w{wJN*6 zc6%5dwU}wU2`!>>a#^zTF;5??&6137UFWh}b+uiW0+C5ZGq3yxb z5jRI|S+YDzoY7C|C-l?$NxfYEr2I0imm|nOS%+j;_JOmrvItt*{l)ptdZQo4z1SX2 z1eAZW+{v)~LzY>XTpguKkw;jcZ|Xjk31{i=J(ND%-XA`DP#fpV(fxmy##+Y|z2U1451uMzA#J|4uaCmq1@+=oUZL{7|?BWw=5!(7Q)+28XI@lPvqP`m(_D-ulKd3Fj5*N zk!7w?*4(H`&10m6#Q@UhB?zqxxkM>aKmVy`ru9VMWICFHrXHAQ0t=xJTZ65>FA7TI zdVdULSJ`dhJW7CU>%Pm>emrNe|J9#=WPEG2!+obw0_Ru)%Yg13InJ_$Yg(q)GQY=s=~rZws6JbHPew_+*d)uvc;flE^6M%^ z*~wl`?jrMHOqeLk#APLlvX)qxJyEL~21MNOYFRGnkZ--H)#{2RiIPkXxtiaX2VZ1& zb>!*f;^8E7LrOpWo$r2+M&HY`NZVIBvPz4~eNmqoDiu0anu{#IR(em1>lV2^@=lY> zXJ%(db%m2!d0F0CQ1XT}dvXyR!-JJ__RNP%tmCBA$@6>pDPDehOLDBzhft>fTsO(J z$$EH8pWeFOOHB_s(%RC6C_iQWS}s@_T_o5WURIZ|Y4cR9Rk6JIBMZ^YpOr7{{#A9v zAd4H#>MCOCT-fUJ4HXMP9@Ta6Tj{rk7aO>D%u6G?5flas&&Y)t{1- zkg|(p5`%+-PG>BaD=Re|F_amK48?{LL%JcukZCw<$TDObatyhKJVU;rz))z2HzXJi z84?XihGavEA=Qv(IB1A9#2JkD@2mz@cT*3c9!}js-B~@5x-%!It&nA}hF59z5h1pKDGbxuS@+ic^_8lB<;GnMP%@QYtA~6tU4H*>Z!6JRXqxgj1;}r^uK+R~ls} z4#L7qsj;PLWZj9U3p31eT88zqQd!=TadcnnsJw3`lTvaJb^2FwyYvAp2X%E_DihlB zT;4?*7ls$|5}fjUO4f@$5H*JhYZ4h=_{1{pD|d<~3d#Y^UXmoMol9COGw13{Wh5!7B=faOr<47xhf-qdsk9NbI(gyK zi-ttjuUpn8FdL-3m0-Q`Qh!jxC@-c;3OX8@Ba|9P>*lA}8>)2bTS~G%QyuOpr|iNk^r%S^xet~_M5LY!lx6u8Np5*LNI8VGOwyXNpx)B_ z+|bGDe02@4T8%C=6>4)OFD+@czT72Ac4Zz?ecwpQg34=^M&&A2DF0dgJ*AnJhqP47 zUvOHJp+=_`AQ>O4F_q&%8l``=BZlJC1djYmjOxw)b z%-BrWOxjG@%-P(vxo0zKGiEbx^OX9_w0t>h6JQ%?s|HcOq{jL~sjR;F1(Qc>NhM0a z!>Fm^Hp-dnb=2AmV-Ix%xG;kLvP-(Zo%p|PWWIbXH3q|rN@D!##~-Qp!&y4m z@>GmT@rRKT34gjI+g5wB`-pN@)4Ck%C$Ct$fOMQZlm&e107&XadCRZV8uBGsuk60T zomn^*CTg!0(PgZ#271zR0_D;?E3Kb@TPXlqHdksY$$OT^>*^DI)>6^|ZME+7Jaw)$ ze=8j}`Cg~{R;z8cZLV#x?Gf7|+Z@|M+kD$H+fv&C+j84H+Y;Lf+bY|7+a}vO+e+J7 z+Zx+u+eX`?wk@{Rwhgx5s*n$>Z%Yh2zkfm~vVmWZG9Iil4 zQYHtMSjj(mg~ag2|1^D~ETfZ-=KKu*EcO4#P^PANB$e<;0q*MP2@sMQ= z>WQr}Va<>7$U%Zk>y%1Y9=ItbU+Q1x%cS<@2FPk2Z(a_fpT5?*yH@2YhmcxLX+D*4 z75T&RULsY5l5eclxn+`Iqq3IA_`$D#PXEA`F1a*YL$>$L;0((z&r!!|T~qDZkOWMX zKHn1c1zu$-kHJ>D-0wYVuzBL!>%F`-dcL=6mDz3Or!F76Y~*$AmF^zvR`J`azxe2n z9p8OTO$nXN6N5S}xU;*Hrvx*}&|#%KK$YEB{Z^7q!PC5I^}DMGvC6d3MfqqYPo>ll zF7B&-Do^!)PA_-mdan(xuStR_i{~7@z1BLuD_3PHRWc)}PTO#;T*8yo>h9W&kt-Qq z2>O)eiHPN{$sUrWmZ&?h_a!Z;;d#qJSszAvse4@3zL#CdUbKBo{m+o? zu<{{aQ+ni$D8sj?AegYF(9pYB)Omdv6<~6jesbaBo@S&gf384YbtKy>v)tS>Sp_VS zVd>tMBe^a$`O7ni=Aa^|0B~n`I8#z)S9)gqm-(LaV;r- zBGGx7$o*$4z?c8C6(A=iG35O;!|I>NOUhDjNZ*^k${?>+(;`sE{C6(HOzXD^k(U&B zdxh#y>D4MVo4nv?R^BdBvY1qDUh)?OYz&XC{@zDg=DTeV@9J-L@s`xC-4zEwKL@{LS2 z${KpzVfL)+nkX^7{h+U}N7Q4-Mk#^yB5q8mb+w8X5McIYfJoL?%dTWDc~jBw#;=uRSyV}^@pf@l9;0iWl!ww)%A8q}ZB3;o?qBy1WRCkaz*xQT6kH2Tf zV(X6YdYISoQlv6T=q{@jwSCETQiChYq-7Yz7*3j(g=3dk5AppkJ_Ij$C_S4+hgcLp zn?gGqX}HuE$GUYaO_Hf0Wtkp-$w9_}vYbbGB|_R5Gk+Dp@)t^eAW5=T-k!Vv`G8SA zu@Cx_f9V-LtxuG+VRFTlCYdv5|~rS^6%yU0sFEgtgI0 z{vd{%SF3fe#fj8r{e01VZMS~h@Wq))ruG+Sq2HT>I;@9$%W~)F>B>_16)e2Bu6mbA zW_RhdO2Z`;>(BqP)4JEI)|Kq{U9`4_TDdo}UbWM%*{;Q|-LB29!>-lt5q{}Ver>gr zBgsE`)7h|68Sh!9dz7N3yo~l`P33=W?RVjU7rLz1@O7n`lD1kZA$5^~IStJ43PvPgX23uSRnq9eR0(MnbyCA1G1&Sdt7RXk;Xp(s#1F?4V7^ z$qb#_C$gqqdQ@rl-3#YizUX`&rcXatLs|~=UpZUP!r9(hbT%!DN?oJ98fbka@n1RR zaci1CC4WVTj-=&Wy$f;q7Aa-9BM(-WGRiT0_x@_}Jt=K!wW=LU2HmX6C^kX1uh0CDWg<#_a_y28&C?No#;Vv@E4iUkb3iWJa`Ld1B(Y8PA?q6a{0?F*T0Mwh>KoyWbzAxd-)R%@^=bk=EK})J;Dq3 zz0)HlR@QhZ{egaKfTxv1NuJwe`D#G>N^f{gd0k&wbEfp})qNKh85m8JTWMWbfVdF!cu_+^DxZ7Lr~Px1~6l0D>(xOi^xkrzzV z_W4Why00aG)B*p0iwmc7bwef6KuoI`U8c!iV9z4=g=mf>D<5@^>dG zjFu8icBe!tHPb`s{g>xGo1v`&Gz9B^PBJkay7;MwI%z;u;K@8kv{ZMpSi*BacAOWdU`zm%#`Db7!H%qMMsMpd8h;hlT#efQmW-?`_UchCP>>**8zm0Wiu z?N5qMJ_as`u(Q-oT&zy$`-A_v>&dw8LgjBVND5cK=4XcmLo!-}y_K{!5cU zzSSdMhdEQs9N^%rlV)SX#ws8A0}YQVhiQF=niTvCo~?1COi{#tZ=S{3{N_f!stQ9k6d`jN0}4!?@S_+i%H7?9I2nWZoDrrmY3rujVrz`wxZ-o4?$WDdZwFuaA;!>-n9;iw25EcF!ZAi%;Aky zKK3OUyq2R)MInteiS?%)cPmIA>wfA}EgQwp*sSv3lKW!6@u?53wLWnEUp~doed_Pu zeCzjQFSRf8ZMjcF+9KBWtyAI8@{h8c!qi2-)-dl%?x=csHw8GG*eDke8-Uwr% zW%S^f72Xejp5)HOfe9x!C!q!?st+qRloIt zj_ygriz;V5n1|MMR`X7t#_GxcGpF}<-rJP&s`(J}m#_BW&)@&XH?>O9iP~}l#DCCv zT{4^~oi_avMZ&r0ky~$ZuYVdf!05N%k$`48p^od59DMl#-@N-%Z_`SNl-smqb&WQ- zv9|R5%yzPzXL{P|H$W2ZQpP>_k|0&r+4X8SpW4jBAYWL$w!<3-O(z>`*i((^_U*5I z=UeMfFZZ{|Ap2*2RTj(f`Ny47ZI}@}UDjD3?gN3rkA8{&GM35+im-ZcHcAFR8x${f$APsP&^_ zGj>I$MDC1CjWozxO`!#vjRwn^3CzEpOpjfFTZHr`6MUTKbTBp-GZdy0GLz#LT6W25BT za$l7+Nu{+UwVu??x^eS1fQ`bP8-?HbL;0PAZ%GJ3>o7zs&9AKiFua*Y4M%ig@n`2{_jzGRM}Ppz-D=_A(lO`0?tcLjd+8{d&p ztLcq0KmVi3XxK5cIq|)j^^y|cNCv(+Yvnq{F_(+3T!{4sus@S~gxBxHk`2l^Z$+up zBWK1VGCM(fX?v4ZzNPo*n|&eqjRdnlXYSnPS5Nu2ne*1WpZhFtg?(?{@bs7`R~5+<-hrgT#v83TKl~ZJ@dPt{p6>A?Q^d-^O?{64gde6Te`Zw zrA@!`>LBR|l=e#5w8Vneu!$PhLtm)&ald8F8~ntz^|j@O|JR1u*SFu{aKs!3FPcuU(5QQ!aPfLT-rKc-(5fb2vz+f&-;kr zrcH1BsRr?p_Rr7!(Kmk}zs_Jyr=f=-Su;xK}2~yx05cc|NP1 z2J?GxX}`&Ltv}-F^j9sUH6u06kKU?;mHWY8eO0!5ef?u0F=OS;)sDZl>woFRd#$PJ+o&qnSKerHefrgq zlJtMqPdYt&-`B5`i?eY^i;=PT{e~jb) zqe|-ntF-OSYmqaNvyqo0uS8yroQ%8_ITbk_`KD%Fm8{ETO-rU!Uh+>u0B`!}##yux z(a=0_QY-y9uJNb;(;N3TPLYrO_Un^1)`Kp}JEZ4s3s_A4au?2bzoGpu8MBZI$BL(+d#rOIHg?$@r!se2Z_t-tf%p^p{Ccm5yi&Q!$k(?& z_&(neN}N0$^pYDXXtL9+# z;RoN-;H#T{fhU#UOt7BR8oJgiq<&}mcg(Gl=YLBFIc2EJD#l1Qu_bhPP`_H0ZN2l_ zPRSP8@`tu3$5CfO%BM*7%twQT7h@eK4QBJl+?peYTdE|T3?Z9ezj^ene{j&>HKTw^ zT`#xMN$d@__vb&*k>O9Aw5~JuO{Z;t_`bXa`qa_~f3=6wQ26k1lTn{9nfoWPQ@;6w zSMC4Tck#Xc^$p91f(^fZ=-KA_86*Rva`ax?mK;*K@^BQjar^!zuN)!`U%P$?--~^9 zQs1|IK~FB}5Xma~=1KKrorttRUcHb{S#OCsjQ{3aU$h#^oZ#l%R=K@MgOkW*Pb1A} zD0sR5U}NNz?R{F$_+R;Bem6#bG{+h}kluzglcde1vq--712f=)w7_0{Xx@9(?1|pg zZqi5VVEs7h zt<)T=*NzZ*UwKoa`j}^l4k%h@2ZzSo5{Frfe$v{s9$bC==C)UdH%7n3(I~Fcbg|AP z4FDk>)z{DL*WYG2l6t$(Lq8_2fwr&wecf0yYA*0$vy zNa}@8OS$#4%q;fBjf(G8neDIk^V1vq`Jo-th()@yKlJ(jNA`I8X8D!Cw|?lH{86u9 zy=L5a31n!G?A7`Iqh5ssRg~XS+xUpQ8UN}<{L;pY_=gAkN9@0xvW_osf2&l*a>j%;tX#U>&*8R}(!O&hSEgWf%{D`e&{a4wFGz&8}@7|ocdFSS|&FPzWZ5A{m zP5#tOJ~SvOEJTrA;7q<%HO3X&m=-}?Pet$+9YwNLyw+Vm42k==04Z(i7Z zck}(t_ckwXzOnh{=3ATZY`(pDZnN`-{5dCo-jU3CDY7U^ zuflwnv@y34w&f@AIxhawrrN0Was8h*f7V9EI6m{s|N7IP)~a$Sq^RVmw5ar`jHumFDN#G4QloZ7)kb}?RyI|`#`a3F3MpPJtCz|K za^#5$<*5qfDf8s1%?+l>>KU?`6j@z2Vs3bg>_VLE!gkq-1lggjQTmR2Ox}@S**Kj( z)ECy4iZq0Nawpd0cV&mhZ95&Qjv_~~qtsF1sC1M&${hO~dmSZ?Do2JR(~<4ScN94C z9663cN3J8wvBz=AG3A(c>~f?zc01A?2OQ0ggN_DAqoc_&;kf9Sbo4s<948#zjvmKx z$CzW>(dszjXmcEL9Coxgk{rp76vsKodB=$3tYg?Q>bT%Ya3nf*IO-hrj{S~mM~$P_ zG2}SqIO90&IO*tj3_1oJ9ga>%m*c3T-Eqt@ZZpf9The`B-;)g4yKLFdT-jUQ=RLB= znexg?EHa$*X6YTNx#`s z|EuiCXHG?*jvkIa7kwuBY;<{aMRZkkW%R!2>ge;)BhjPL$D%u;yP`XzyQ5p9k3=7h zZi{Y@ZjL?}eJHvm`f&9A=!WRV=mXJB(KXSv(e=@F(I=z(qX(h~qlcneSTglof<;i~Yy@FVwQ_YqH<=cs4Vch7g< z_rP~J+!AgLH-!&`4}}kgo5OYC`fy{oA-q4F65bh33-1c2hSS6G;e>EfctyYg?r=spGn^gH3de@y!rQ{z!!JTFLtDaI!^@$S&}wKcG##D^_jrzbdOe+< zE>E{-!hO+w$vx?waz6<@4LuJ%3w67CTz#%y*Kt?7>zJ#{)#>VRm3qoNdp-L+m7WSu zxu?pL6Uq(chw?%hq0CTrC@b_Z^eFT=bU*YUv=qws6nGXx_d>TrcS7@_yP<_pVX!Dz z7Ay^x1dD?=L$^Y6p*i<$_kw%geb;@*z39H@zVCkEUUENlUv^({Uw2<~-*8`b-*n${ zCwg{xl02!NU7nquWKX&$#gpcF;eP4f;@Rfe?uqkk^(1&=J@K9#Pp&7=lj+IwWP5gd zGCUXklm2P{l>d@{D0C`xIyCK`anHK@Lj$3~P`AIw-|Ii_@AJ3&kNG?O9sVx=SZF+S zF*FfccCWbC+^g;b~F}caOPuhEhYjLc2rhp|ns!C^57nloCn~ zC55(ywuj zgAap`f=j^%!DL^GZ>KNSH{c$0pLU;e54n5YeeQnuN%sl&DgSBzS^pV-zkk3#+@xDZ?n-VNRg&IRuTZwFUBYo0CM7oM%&Sno^EW6u-M zbI()HvS-Ef%yS_)7Muu<2PcCUgQtUMf@g!n!GYjla42{xcr@4^JQnN-wgg*)M}lp^ z`r!UxbMRoWDR>~*5Nr${4ju~b4VDM1gEhgb;J#o*urgQ|tPLJ=A9f#gx4K*0N8D}h z{q6?$L3fk8(S5+(?5=j#xNF^Y?s|8*yTV=Ru5#~lzw~bLZS}?aR=lg;HSY^=sk_X* z*L^#1C-5lnIB++x9C#L33M>TX1J45w0#5^rfqQ}bfro)7f$_jZ;A-Gn;8I{Na5Hc@ zFd4WQxD}WU+z3nsrUNs9D}n2QI)A-?zrVrX=&$nc^H=+8{I&j}z^TBw!0EvGz(`;$ zFdVoL7!8~aoC$OWx&nQH?!bw_$-rQsH!u+B4;&Bl1X=>Efg^#VfwsW0KzpDg&=6=0 zGzFRi2Lguz2Lp!#I|HeKw7{;wjzCf%C6F9g@vr({_}Ba|TrXW)-CNwx{LlT%{>T0& z{-^%lU|;Y=@MN$**ct2!b_aWc$AkC%5By91hyF+YdH;g{u7A;g&p+qC?Z4w+cCEP9 zT&u3s;I3eLFfEuB+#SpaW(PBa+k^4J#9%@&CAcG)6x%8N<=e+2gblz}Ya!xyMI%k}ho!6b$ zoL8N*&MD^==YVI>Gvqnt>GPcMob>d2y4>CF9`|u~yZe~C!`l)) z(9`0%>AK~bbDi|{`v!bPu3}fItHhP>DsUCL_P9#JW#PTyig0;&Pq;8#6fOxDhmZSu zeJ6Z+&7(wfWk8$9zY9hkY%+R$sI4pzn~c(bwcV;H&rT_ci!xe6_wh zUzKm4ui97ctMFC&N_?fhy}mNv9$%ra*jME12^|mhhWbJ$LMKD*p<|(rP-mzs)E#OG zwT9Y4M?yzK2SUxEL!pDA!=buReQ1BEA=DUZ3RQ-xLi&G2S=cX`vi>E02~sON%b z%oFF`=1uT!_r`k@y*s=~-fB;cr{2@(srBsl)Oi{_i=KO)`<^AwL(e161J5nboaeS@ z-m~Dj>$&3@4POY4ho{1q!WY96;mPn=cqn`-d?q{+J|7+qpADZ2pAMf0pA7eh2g3v5 z?r=}|c(^az8@}PW>ACE=;<@g*>bd5*4g@3QVz`w^|(n#gV%yLg4ctWf>XiE!Rg>^a3(n9Jmoy? z>~{`02c74F=Yylck>I{Sb)Y^_7pM*F57Y$m0{MaBKvAGDP!cEz>7C7TQ>pkZ^?;Y_Dd;7fu-XZTP?`iL#x5!)UE%Wa6mU>IPx!yeQ9&e$yz?<(K z_f7aN`Y!nfohO`a z&ZEv_&JJgnv)$S0Jm7409&#RZ<^*$t`N6#4o?t<+{!Pt2DEYdDR@p|IlszWvb+TT! zY^PVYd4g^B%ds7B4#{yoWxY%0J2onNe}VnKD0Skr)R0%C#=Jy5IU_aaRjD^;rG~vD zwdwN;VSTBTBZnRT97|Lv3dP;13HsUNkLY?L~* z$z|54W<6_uYRq@vsS$=*ULL{yJ<6 zl+UHng^=SEWt;!X4{*=}z!$kv4lA zt@n6OqO|9CNUJ_c+V(qX<)_hlH{0=Mn_hbpd!$WJD6N8GkM={Vq$g5t^+mLnYq09M zI;rWJxbhv4t6sBQ`wn}|o|SoBH2XVd-=|Nm?0S74kSo1j@6DFG*@_>bJ{{et#V%2& zY29|2dQR&*t@*SLotIkl4z;M(uS-(HKA?tuEbZrKw4k*uz3O@4c}eS9+u3o{(g{*u zn>BSZpZFB3J~!)jv!2hD8m3U{ntZ8kilpu-mb#}@YN2weFRG;esFpgTPHK$`sYU9g z9%+=C=AhIvty04@Nquuf>YKw-->hGa)~`oo>XmiV4_eHvAU3E^p_`oFLa|y;3Jzy&1iJ@0KfghFr@tt*f4S1zc}KthXu3rF~H$t&M7F zZyuKmPe?0ZhIYVZX%T3<;JUQZZb&QbmbB95rHyu1T59XPcWvW6l6KuQT6oW;-M1_) zzcpzGzL1vSR%sQ+N*gg=T8RnLT1=8wW1_SpQ>7J|Cap=cU1_#4wN;!i?cxHtO6v8p zSgx3*a`n{fXoXx!tE8_|D?OGPf1UJS8l@N0Anoge(!y@uXm1~pws)KKbGxjbZnyM$ zd!+B%OTVyRdWZwkM?57x#?#Vg9G3R{h_vRc(x-XuU+?R@y6(QZ7O(e*w12cqdPsT=&y_29 zwp_{e8m`y)61l<`$(3HO@uhM#uaK*H8Q1iE(h{hX7C|-bfd=Vu9gsfPLFscfN}sDm zdSq?VCu^5JS*!HPI;FqXN6)Qa`fY>Klk1kA+ws7V^z_b4|L%hH^iD}HZ$$ci!_wCq zm%iep^c<(8r#LHp$1C(CuS?(Yrt~2vr1v-%xGjCo1?homkMn`_K_Aj1eIk9(XVMqF zBfZe&z>2ghUP}97jrK;Yv^Ta%-%R^tDbg#8mmXT8^vzPG-ei;oK2o1^j&?yyvnd4YG#&uUlxfVh? z;&op}zaGd~*kc(DdmqUB>ScW%MpdM)8tmTrX8d z_0nW?Fa5O;&W8SeA>guWc;T?Mu57d<=#Wv-E7YfNQ-_*TK8wAoqtYR`y;gb zN2LcaA$@^K=@CrPH_%Z-9YcLb#!x@GF@~xG((At_{1f~VV(F>uNz{dR#@-o!XX2fU z?@YdP>7A)}Bx78%%#10?(*2e1A7vKV`j=QT!-r@x|LSwUX6>#urf%ILz`YVbmTABb zYh-5}EAKpeXZfAgcb>nqKK;w_Odc%1vm%-66Tx)1e_fG(5yltgb_a>+Z`%~<4}?DQ z^Kbv+$7A08)MtM6-~48mt=o3VcHMTvcH6dKTb06(+(OjgyF>4udiV6ZXWl*g?(nxYtbcy_e?j@8TYm9bkuN9=+yAD#uY6VcGv#Z_2g;u-UswJ@`G)ep zD}SkcQ~8$iZRI<|A!)9b{V!$DxXrmr+i=ef%4bNe^&lR`CH}hl>eg0?{ONo zzgPZG<^NK)$a`VfwxayDs{9>?+i*L^V*<)Aph_9}DNs>QWY6x=DkVNX>f(7ubm z(byG{#`1LX&`6Kit&b$lu+mITZCRL&Ihc!in2!ax2Me(Xi?IYtQGTyewz(JehXmiS z>Cc(HVbkBSdc!8aBPGgjM~U)-QDP0&qWsE}b700*!bQ`%!*# zMsnomWyB$rpN5gY<;PvbGk6w<#Yo#ZJdYzdDsHx25Tk5kqQf>WzG4v%-=?F+T~YDWQqI&iLCt$pW`yF;3}@+3w()NHtAZwqHN{QSd7DMxEfktdP-B@c~Lnm%C?&f;aff>-exUdJ1F6K~-h z-o`sPj|+Gg7x5n6#|OBC5AhK`#wYj`pW$;{#uZ$}HGF|Daf@AF(N>JbINXNYF&+~z z5qDq`CSwZj#8ljcX_$_?F#|I(3$rl?b1@I|u>kjAAr@gVmS8EC;a)7q3arE`+=taz zgSA+P^|&7!uo0W^05;=6JcNg_1zYh5w&781$79%mo!Eul*n`Kh7yIx8p2U6}z(E|s zQ+OKB;8`5Tb9f#{a1<}#7>?rvUc^bfgi|<;GdPQv@d{qWYj_=R;7z=Rb9fu?;5;ti zU0lR_cpo3&63Wj-$Qk&b7ZF!ha zPJtSMMuD-1C52do#aM!+_&MFguPS9c-izf}ft6T=`>+~ouommE9`|DdHewSVz-By% zhww1AU@IO$2?Z~Ebrjq27)tba$(LB~Vi$H}4<5%}?86gy68mug2XROY*frdGAmTKh z!LvAw=kPp^;3!_eF&xJUyr|kI`TG)1;WWws~B@ySRw=@IF4kC47jF@G(BYr>HTP1GeY5j4QZ`Yhuv;LXAMTiT^A464Y0e2)&{Pat+(s@F=$9G3>xj z?80vB!Q{m`C|rLN$sKk5QD+i=sqR6lcYMVZW?K zpmF()EBZ*%t5$l=O0R2byCHtWep8LOg>!ft@8CQxsP?=3jmF(K7RkFu-hF&P&Jur{ zJ|yQ6Igjy)YI};$@HsBy3a;WBzCa1fC~HYfMNtALiW0j}lt6`|#10fCrk|*x?LK0Y zux(-@?!Y9}*g+qWfI8|-!n9cbwv}Khmf>FUXYA!_L9Sk6d8ceB@m#UDQ7N{ft6T=`>+~ouommE z9`|DdHewSVz-By%hww1AU@IQMHav>$cnmwR6T7e*d+<2+VjrHslh}^~IEX`d3Qyx1 zJd4A44$tEVj^YIz!*QIzi#Umwa0;h!250dyUcsw)4X@)3yotAP4sYWfoJXBm^9#1S zxQO?}x9#`U2sG|*exQ#eU9!@LR{BU&`(rf%jmMjxuF#|itTs|JFpYGup4{uIQC*6p1_mXj{`V}LwE{L;~6}Q!*~wQ;|Px81sub1oWP4X ziI;E+r*Q^n@iJb)t9T8s;|;utw{Q+`;~kvG1-y%kcn|O616;y~_y`~46MTx#@HsBy z3a;WBzQC8b#i8%@R*c0s+=kmR9uqJTcZeUeC#ex==#(VQOCb-96o-B$K4#xZ9@0T=>*VJC2Mxde7#x$>rJT$6gl9lFFlZS>*?$W$k^3bT2 zNm!a!PaYaN5lr(M$U{RXm}y=Ud1y4rq%F;BCJzmrjHY>q$U{S?o@rhSd1$oABrnZ7 zLLM4N99jc^Oj50ZKW1-Z85(WY`_yK=Pe)mX_ICb8qurr(+Q;n2$U}Pvf1|yVztPZ1 zZCbXQJT$t^?b~`Z&vqPpu@6t+N$ke~9K<0!g{Schp2cB2hv#twNAUuV;W$p+=;2U3)3(icVh--Vism&4(4JW=3@cw z!9py;Vl2T@EW^E6julvmRk#nUu?B0g4(oA0Hee$*;Q?&MgLnuJV+*$85p2Vw*pA1r z13R$`yRiq4V=wmM2|S7YIDmsVgs1Q{p24#?jOXw?j^HR>z%d-h3A~7tcnPO)8fS18 zFXI)wir4Tu-oTr93+M1Q-obfXz`MAJ_wYVGz$JW$kMJ=*!Ke5PpW`yF;3}@+3w()N zqB;LD7UOUmZpU~`5I=5DR3p$xjNYM-Bu!#jGRx4O!ry45MDL_rN^~macCieNUD0VQ z+ZCN|rMoGUK^ZhMqP2egxTKks$%xLPOg3fE$hNkV9i2m&>}Yd4xs*X8*V;~Qw6;Az zE|1Oarnz#Vjkbj!{u` ziS@WtQ+pX@(I|`7Yr@BEdo|BijulvmRk#nUu?B0g4(oA0Hee$*;Q?&MgLnuJV+*$8 z5p2Vw*pA1r13R$`yRiq4V=wmM2|S7YIDmsVgs1Q{p24#?jOXw?j^HR>z%d-h3A~7t zcnPO)8fS18FXI)wir4Tu-oTr93+M1Q-obfXz`MAJ_wYVGz$JW$kMJ=*!Ke5PpW`yF z;3}@+3w$ZY*ta;v2sE}hx9THFV>PwMu?&qk=QftbIk&Sco@HpnI}=zI?@YAP9afrT zrRMgM^-%;G$<7p(B|CRoX{wd(vQqPT()3XT8fngSePrKF9vZuy8RTV>heoEg|5@ar zk!9_7HhE}dJ9G4rq`6kgbKCPMgGQcHTYxc==2IrmSzx7mthCTdi>$QRN=vM?)Jn^& zbgz|iZ0zOwC<2Xgr?xC(B(0!KxwFzrtE_aNl~!A6jg{6~sn#;Oex3EW-b&5awO=1a zpt0ZCz_R_$Mk{Ty(gRj%Zfn2OT(?u{RKt&_57bXv!)(|X;V)^LUYh0&kcY;Awf#Zz&={1t zRl1EqC-1%e6wA=i*=@S)l#}<$euiae=!`kt{xErH3_Fwc9I>Ax4~=t9-Yffg^3c#3 zcUo?gJT!DZnm*U4%;_@Iamq|k28{`s6|2i8WTuyyUZTttWzd*%YR@#rK209lXZRb9 z8SDL+k=bFojTxCarsc0t28}CDy<*2mdX+L)WR9Aaxkec@t~vFJ9V6*=%3PBfY+B|9 zWze``)mb;3W}S1xJU=9#?b>fr7LA)$9d^^1%Jy!W=ZEC8efurSqH)W74fZ+m(3q3C zZMr{m=CPIZjy|@}QwEKB>)0%ihsJ{S+U}Bv#$D^RERu)DqIJIBBM*&xGMi4H^PbG8 z)8|@Z85&DYvp!go`F6VO5zEkcWbOZB^3c$^(Yme2=6d$0EJH)*>FKhk*5~f2v(S3{ zTvPipWzo=?d|GzddY_lA{aCj4W0kUKtXkV$wYIxzZFf~>1?qO!D2v9LwcRyqyKB~V z*R1Wnpe!0MoG)2_i%Yf=fyNe@6R!KUMdlWosaaRVQ3j1TnRBSi;$-%rnVR)mJY~?( zIp(@7-W99QA!(xZc!!mm=V}t`pphi=7qx7XYdh;Cxei!qij{AkyE|D2jh!yGBWbGU z+IO)Gja@FvOPa>Abe5r^vm^Dn(q&G(nX;euOv<34vnO>~rp%f*Q})ZALm4!3Tzm%Y zx#Xdd>*6zK&m#|wJeRg&2Oq0H$tA5*7Feu?$CR8xDI8i9t+{nWB$t~%B&liBa)V{;$MTou-1b6+Z1 z7Y&^+uVpK(ecHz|v{&;t8r3qVRLkkSQc3M~EJH)*;_I?Hmst<)XBis%T^Ss!{VpAG zi;>3-l-=*jwjSqLX|9##S!uqe_C~gaMx(2cWsR;PD{W$1jV>K&i;?9z(x$17v}vj% zZJO#xTa5hx+d_LYf1}atGV8{Jc_?l^N@1e!G<()70LfMxfDQt=nO(tFv@{!)tz|FDY-%&*+9i*ttjE)u+Go@V zG-j;lnX#T{#;P}Gtmm1L8QQweEbE{#Ydz1b^*pmyeL8DBk47)ibuP0G8XDn5@+7@# zrPnBPoib=#H$VIK8|0yJLuP^NdN(A(hHi6?WoXP<|v&nV4cO^QDnbLlg$M-4wfU;;jusz; zKDE+kR%-Tn9!ZoKbNRBBu2`vAXFrlT?XujyrbeK#CNtc1oi&MQW2ReVK9WA(YNci$ zXU!FBJ&v=|ZB}a5>1(d-`q&oScEVy0P?$)*e%*%BK>muaLBGtHw+ zK4s9*cmcXBUt*4!X(45bD1%0k#1hbDMb*8p}YJ)vyeW8uuRF_ZsW@YFUOxt-Fe4 zwbt|1u?&qm^L>%jY#-ON42^n;H>LYo?>5_i4J<=L;wSLlHnd0ph8p)npbuZKJ|dL(|4=Jk??Mz6bu*V;!O8hsKGLdr>c(n|X^wGU7R z4UIXbWdgqfbA%xTJ?aay8D=(5ui*G$(RW*Hj8?t1+!+0T)OhDM#x^5-NLnwgGj zYQI1kG$fju%vOl8kCBJQm_%69@?-7^E4`?xeUdV0X#5H-qY>`Rbeb|VltDvd!|Ada z>pZ*6GBh+Ioi4jN?Z&xy^v>M;HKWUFH!~#ji{%~7OmHFpJixhq&;1B z-+DbuEJH&h@X0c}&LoYAKtp4BXxB&lr|yfCdFnRD z6P~)w@q}lTLF1X*9IJRv9vaWByk+vxSazHJ*JU^TUi%8m&{%Ps{nr(@dF@(p7xKI- zZrUXFRm!5V>NfkYt8VjJv}$fo^38f;jk0KH#1cJDYvy(&P2{|NNf|U=N*qEh^U_>j zQu==Ot(qHw##WCx-m%qVjseB842@WiInEL5;XSp-u?&qk57$%sHuBKWn1}j&+dN$B zB#qa{_5{kHk>EMTwMtTsLxMzE(K0(IgZ3o;MkC4Emd0Swaw#lBBgNWAibQA8WvMJf zBh_QJ`BOb+n?KcKw)s;%W}83NW47Bq08 z&Jjt?K3yiu(8%{?>wm7b4|$Y9BhM47$Jw4w9vb-`v(H^X9vTH6bIhi|W1ee!ScZniz0>0$Deu`H z^F6T_Q3j17kNFuWvbIxXzBl$_%Air~G5a9J*7_wZL!-nz29la>p;DHiQEENEq&&Yy z+0p$el}I~gT5hFg8>@nK(WtQYtHRo^3W*V_>r_ab9y8r%rRMWivo0Fd*7H_d&sS|d zU$w;d(RHh>*HObdXw+EGS7SX-jrBY=5)nw(sj*&PE$g6BD-qCiS*=70GSmH5+F+%P zR%)IDP5LMTjV6hvr|UFHL?JUhXr+g&^stqh=VyyPia?{q`s}wzG(KIoMdA^eX`7WE zwbFJgJ!YjHR@!N$U7Fgv)d)1Yt-7PzV_s{!JzQ%gzlU|YCB~~hSGPoZHB-jT!S!XrmgpL+GDo$rafj`Z-z2x%vkTs zjOQ@dj~S2I=9{Gq8nf1RW+kGOKG&?o&@)r>yQ5hT*DlGwYUN+k)P7x!K;ydgJQ|Bi z*S#(gsm#>;PUyN>&q)3)D}PQ?`)xG>4UJu;>)f`sb=#^VG%}!;U7#!)8YxiAE?8w3 ztk<_-y}m`tqOs_qttu&PQAzKy?xM$RUoJ|VEZx?kM9VT$^YgK2em?9=YzvJg4{cmY zX~RnTkaduczDY_wAMZ8K zvv{xhxl5od8VO$WdXwNauUiRTwkP@K=OU4^Xe3J1V14dHYdbqwhQGs#0E(|jN7S>&Oi(b#mmSzfcPkR>rV&Bx|(%cU$D8XHoV<$A3) zgG6sLADgegfU;;5NL)8vR^Tye652c!Uh`U5Nm(>1t#h=}YmT>9 zdMhYf={2u?Rg^`e%4?2cX`DLUpDJs6)s#V_+G~ElP%ZK6v`n?Nom$GEp%LzMS*^E- z=c={#uh!aLJ!R3*7{xJ&Gz~*%g`8>_=LJ_SYi~KDc@ztV{lz7m(jYVre?z0WFJRb0at_!77H zbjw>Y7UOUmZpU~`z(m}ENtlc&xD!)x7p7r4?#2wv#4OCl9L&W$%*O)UgN0ax#aM!+ zScZGC94oLAt8gDyV-40~9oFN1Y`{ir!UNch2k{Ud#ujYFBiM#Vu^o?L2Xqyo2+&fOl~b@8NxXfJ^ugAK_zsf=}@oKF4KT!Bt$t7x)sl_&NVE7UOUm zZpU~`z(m}ENtlc&xD!)x7p7r4?#2wv#4OCl9L&W$%*O)UgN0ax#aM!+ScZGC94oLA zt59b(#MpFJLyS#lHN@EVkzb89Sc`R7kNdF!8?gxwU^5=XLwFcluoaJB8y>}WJcb?E ziCx%@J$M{@u@6t+N$ke~9K<0!g{Schp2cB2hv#twNAUuV;W$pXaYwnFlYuoz3Q6w7cgmSY80VioSgYOKLptiyWTj}6#}O?UvC@gN?;!`OnYcm&(< zD7NDcP#mjgFui`bljyLco-oiP&jdyS!7w|4F;yt{N4{!+|;v;;FPw*)|!{@k+E4Yel z_yS+zmLQ)9jKw(IhTAb76EG2XU=k){3hu;I+=XeFj=M1fGcgOZF$Z%o5A(4A_h2FF z9J3gk&M}Lz=^V2dTM_xiSc0WkhI_FbE3gu)a35A<4c1~E>g=@`+Y{8;YcaNZ^7mr{ zHewSVz-By%hww1AU@IQMHav>$cnmwR6T7e*d+<2+VjrHslh}^~IEX`d3Qyx1Jd4A4 z4$tEVj^YIz!*QIzi#Umwa0;h!250dyUcsw)4X@)3yotAP4sYWfoW}*ci;H*<@8bhp z!iV?>ALA2ziqG&lF5?QW;u^ldm$)UQ@B3Da#W>uC+c6#!FcEiP5+-8`?!;8wg=v_M zyDD3#|o^(D%^+FScA1#hxNE08?X_Z@BlXB zK|F+qu?1W42)5x-Y{z5Rft}ce-PnW2u^0RB1fIlx9Kb;w!c%w}&)``c#&dWcM{pD` z;24hM1YX2Ryo6IYjWallm+=Z-#cOySZ{SV5g>!ft@8CQx;9XqAdw3ro;1WK>NB9_@ z;8T2t&v6-7a240^1-`^B5|v!ee~iUA+=kmR9uqJTcVH4GV+!uXRNRGWn2x(K12ZuT zvoQyAF%R>x0QX=a7GW`#U@4a2UM$B7ti&qZht*hvwOEJsxE~v^5u5M;Hse7&gom*O zTk#0C;ZbbIW7vV6*oEELgU7KK`|t#w#C{yWK^($UcpA^(Sscc5cpgV^6ffWyj^hMg z#7Vq_Q#g$p$v(z5ix}I#Ut2;I@4ZW5gsL{9d*`yj7?|V$JmaM(}A7Xh27YL$FUdt z@C2U3ejLC-9Kut08qeTa9L95a9!GE#FW?xC;{;yBNxXzpIE^zni~8cBJRK>OvV)4iK(~?(=Z)(V+Lko7G`4(=3*Y^V*&2LLM*~!EWuJN!@XFJ6v2CeU?Vo+0c^&DcnA+;3%24BY{R42j>oVAJFyG9u?LT1FZSUHJc<1{ zfP*-Mr|>kM!LvAw=kPp^;3!_eF&xJUyoi%{38!!xXK)rT;}yJ$*YG;tz?*mr=kPY( z!FgQ3ySRw=@IF4kC47jF@G(BYr}zw?<1((`Dz4!Re2H5=!ugM}7>C<%JH}%ICgKiE z!emUrotTQdFb&gjH)dcaW??qwU@qoiJ{I5}EW{!##u6;WGTe*hSb>#Th5N7?Yp@pU zupakg12$q49>8Wih==enwqPqB!8SaK?RX43uoJtm8+-6L_F^BNz?0aI12~97cnVMB z89a-_cn;6w2#(?f9K&&(z>7GEmv9QFaRz7cGG4)}cnz=P4ZMlBa1L+d9h}Dnyo-x? z5AWjxT*8O=2p{7Ue2UNTIWFT0uHqWLz?Zn?r#b&I7UOUmZpU~`z(m}ENtlc&xD!)R zBh<(hA2mWvj7=ldNQ;i8X_$_?F#|I(3$rl?b1@I|u>kjAAr@gVmS8EC;a)7q3arE` z+=tazgSA+P^|&7!uo0W^05;=6JcNg_1zYh5w&781$79%mo!Eul*n`Kh7yIx8p2U6} zz(E|sQ+OKB;8`5Tb9f##a!`y-BL~IUG;&akO(O@z*hW}7iWhJU$8iEL;v`q1yp4Bo9vAQ~F5*4Bj}LGOAL1i?j8E_>KEvm@j4QZ`Yxn|R z;+BuC<%JH}%ICgKiE!emUrotTQdFb&gjH)dcaW??pJB&HafMq-MwX(T3j zr!a@5xtNFfs1cfCY#N~{#-x}I#Ut2;N3k7`VFz|%7j|P09>-qn!xMNC`*8pVaR^W0 zX*`2xaTw3xc^tt}yntgkjuUthC-D+a;WW%5Fg=Ve1cE$89v8lT)|ab!x#7xxBQHrV_Pv6<8T{p$9PP@MBIT%n2ag7 z6H{>)reQkn#th8FEX>9n%*8y+#{%4gg;<2eSc0WkhI_FbE3gu)a35A<4c1~E*5iI` zz(#Ds1K5lQ@em%y7Hq{M*oH^39gkrLc48NHV-Ft3UhKmYcoO?@00(ghPvL1igJ*FV z&*6C-!BM<`V>pfzco8S@5>DYX&fqLw#w&OguiRb0at_!77LEayMQVjOP6?HG>!|7)!7e%WyB2V+B@X74E}otif8W!+PA04cLfHcmSL6 zARfZQ*n+Ki1l#Z^w&OAEz)tMKZtTJ1*o%F50#9N;4&WdT;VC?gXYecz<2gK!BRGl| za16(B0x#kuUcxDy#u=Q&%XkH^;x)XEH}EFj!a2N+cW@pT@GdUmJ-m+(a0wscBYccc z@F_mS=eUe3xQc7|0$<{mpX2<;Sd7DMxEoQ-OQ43JdbV4{Rh_D;rB88 zeuh85@NEo#kl_z8d^^J*X80ovf0W^mG5m3cKf&-P8U7T*pJwc;lDBbcZUDL z@IM*;7sLN%_yO-q{b%@r3_pnB2Q&N-h9AoC!x(-z!;fJ2kqkeI;YTz47=|Cq@Z%VM zJi||5_=yZZiQy+R{1k?t%J9<|emcX?VECB~Ka1gKGyEKepUd#`7=Av(FJSnE48Mrs z7c=}4hF{9?%NTw+!>?fYl?=a%;a4;K8irrX@aq_UJ;QHc_>By|iQzXh{1%4a%JAD5 zemleOVE9&s-^uX17=Aay?_v1848M=z_cQzfhHqo|gA9L&;oBMhFvA~V_@fMejNy+n z{0W9X$?&Hb{xrj%VfeEQe~#hLGyDaHzsT^H82&QDUt##G41bN`uQU7&hQG=1w;295 z!{1@}y9|Gi;qNp21BQRd@Q)b&F~dJ$_@@m2jNzX%{0oME$?&fj{x!qDVfeQU|Bm6` zGyDgJ|H$y482&TEe_{Bq4F8Sczcc&~hX2X%zZm{E!w-0r`p@tK8GaDM4`%ow3_q0N zhcWzch9AN3BN=`a!;fb8F$_PJ;m0xjc!rG5manU%>DS8GaGNFJ|~948N4&mofZuhF`((D;a(j!>?xeH4ML& z;ny+zdWPS?@EaL^6T@$2_$>^-mEpHB{C0-l!SJmNzmws2G5l_Z-^1{G8Gawb?`QY} z2w%JKHVI$GaPe)A{vfd*BF1px?R;jq`1VJCSYr452*V#`_+t!zoZ(L}{7HsC#qg&Y z{tUyPW%zRpf1cqlF#JV^zr^sD8U6~xUuF1f41b;BZ!r8#hQGz|w;BEp!{252dkEj{ zp5JFEUqpSkd;WmWf5`BU5H2kIv4o3%{OF(9|39_=e`f#xT>jtl7YzUM(R=>t(Z7E5 zp1*nYp1*zc?;c(Fd-?wlk1qVV!KKwLt z_=wXBA9?zo|M#O#FMPB_Kj!qp$IAbYJAKc`Bk75SPmu7QPvr9_@%fX5{wb#yK2`pI z+UbQ)m;aw}df_we|7Xd6RP?ju|9?Gt&*#YhPdk0j=gR*NIDOCO$$zB(eEI(crx(8P z^gUm6`ioC5e97s1zV!5$oqpMu3;q?S7rqjuy?WuRB;*f*zxtl9=JVGu{91-z$MEYJ zegngAWcW=CznS5;F#J}A-^TFU8GZ-CcV2j_go|%I{hjvzyX^mW+yC#8|Mz?^!|!AG z{S1HL^gVAo{e!0$e(3Z)Z$JIRrx$(%=({d{^vaLg{~yEuM;Cq^;d|fn6AXWn;ZHIA zX@)<;@MjtR9K)YK{R^ib-QVAT?C~>a&pdwS@yEs&pPat&;EBx(&z^hcE#sr}uixG7 z4OXw5xi~pGn2leBhw*SYm=4CHGnYrRW-{sx&s^&5Hm|NyuJk6mH}8+6=ME>$BN5oV zaiiIt-8dXRc;(FHt2xu>n_j;Kz5j4<9aRC>)$7wWK5P$mZ!KLp^X%q@cf4}ux!&%r zoWZ5ZcwefxH|Y&gVoBUSI%uZIzJ)&hP#b#V;eH3(obA4{!`IxMNuDon6P_K6n%<<7 z$A!V{;VWm}cwswNn00!f1wOL{@fB>(EnhivWiZ`ENl{);_GUdabsxD#cx$|StC^wS zBB(NFc`GW$r%&xKI`hV6b|O7r9QT`bG<`fB%%B_S zlINQ}RCN35lULDY*WTmx?{((s^l&*nTucworibU!!xnO5D&(^O1wAG0JG0g75B4VG z!-It@gVFkH`uo$}MzrvhJoX3s%}6wJDpgEsx&~6OnU0#fC-mv?px>J{tB6ddy~Bh1 z(!qY2BSS0TIXbRJ$CLr&i3Ak?YIEy7O7?TuV=#g4UDRT@nAHYuJy0)^_%Jb zc={locE^XKStc%Vj4kdDc4v$G2NKN2v!#6*c zepufc?>Ef(?Bdgd*=v^%NAhn0fn+)wPxe>w|L)CZ(r79B%_8de+O^?Wi+JtY&4E1$ z!(jCI+2z6L1|HXUd(+ueYJGNXnwZw6Dd8zpN;)mobSJlUWk;L8x-(Sj>dsAlSV5w< zG?Vda$_2Gk%E{Niz}jnWT%GXg{@2_%e{e7y?Dl3DHK_W1ueq^xb9~pu z{m^S}Jl#VzuMZo?9(>J>ONXP~*?8j6Ddy-=6t{WXVP z^{t2A*xVf+ZI2IkZ$it;sbUeJ%EKe|~$A|K-KbXqDgYk4_ zC;SJ@IJh=oX;KDj0}Px|ADM3qrnBBHJdAJLSlw%8*QNXwu7uxDt4byx;WGzLI}QcoCy+(b+kdzI#0kI>VDcq-ho35XQ{B-JSMB*b`ZCr=hLv(pAC(g4sTaLAfLa+l?V=Nf-r5w2;rJ$>wc7K?AeGinLY_dYEGd zrkmhm6Uy9F%$mNATm z&Gj|m>^Jh%jM9@<2~4PvG#XD74gNzku;NORw&DpU#hR-0HxkvPLqHHkT2g8(jT}vD z!axK`L`n+VctZre`YhT7i`Vp@Zw`P!W^cS?toPm+aK?Or%Z_FHr;CtPvFEbfSY#mU zlJ)0Aj@l7Z$en^~sE-)Bhr`)2876Ba9AM$S?oW@O;Pi<+nUj_=Mf6m{6+-o%k^*nN z_y2isXplZ%IqQ!vwZzVMSEM@o`jG1E>tm|3ug|FhMY4ZS zqwpCSXsb}C_cTe!qvJ2UaQR8Y<(&Z<&us5AHGfcqEcrxfu0gWf` zyEf>LCwF?o!)E<*A5|ON7&Mdhfj_Q^oX?N;hRxalPd#~BzBGWbel7I)1|QaBs<@1u zz>An=4)+K0bfVwv&Bg;wux|f>!Q87bJPkTTn&ffsJT1jKPa`JrTvP9r3}pqA_9X?A z=RkoloPuZMtF=n9LnWkADGJjg(NgrVG;Q#4tgkd94a*+KqRmWGjruN5Jqz1^fa1#3 zuU1P}Bb_eoTa5)KaPxMJfVCpbZjFKhWty2ol9fY^^v-!@S|dY1I=R<~5RfelYE)S& z-#%NTpr&X;mGlnUheFv^Ew6cEZ6jVLe-VyROHqz)9Ekd=3SK|r;%*9#PlNc~yh z$R^=sq0rZGL{g+dCE2qDhyr{~ljVNxGDbwTPp@4@HtkNmb{RT5uUD^KrVwMP*Dk9N zOU#7W0oy%$?J`)LCV(Tm-_y>?los7F9$=BP!hciFsl_g=e<>|o(M|_ba@8JY z?Ydpe)}+2HtA{>FgrbwLUB)1q)61+?r<*aEdw-^h2lJ5hV~Rp_u?G_jE@^p)N|RF* zGw9~+6u}$_$)y-NJ@rw7FcoU=BtV98I%7^4m{dp!Kn+Y2xzNDeD%IvQx4nGA3Jql^ z2B~p+mg@2u)zi`$Lor@7fmn=A?ph3{3RMS<(u|%a$NNR5uCC*IHm=a~!}BD%#`(6mMd32o*$IJ&Fp5 ztUWFj5P?U4O?Lnz+uQG;jH%T5IW3CU?#~cXr_EUg!Iv7DR*|R|+nC}Q^+gjC4(X#g zDTc;LYf==MurVRdwxl?O>rF`*#+HdJA;?7+owmS5AvoNKg&@_FK4Cw8iCMa;}wLeZr;{M3?nq#6H1#sA`R9Ex;C{|0cpskT#Af;EX$RK zEYZlA%TOcet4os}t~s!-FbElo1O#>-YmBef(LO23^QsFW7@?YMZVJ9 z7?&1%Jan;R-o=g}7kTzLYG;R84#7O>3hNpU!K5>~Fgg9Pv}Y402TF!Lp0LL^*d@3##h&gI zc6v8tD<+q4&1_lGHJ}P?0Kg{mKz5WXc2&3L_jfCx-W^PvwZjqEQuK4K>fq$D1QQ=oEonw2v;YOBf#@t8ZPJg9 z$U{hkT3fS~1Co;#YoujO6ol&F0*Yc*YvKu|bsmw1X$193ZBoFki8D(}G@{nT2~vNL z$b&|ZWv;bpgH>B%Ae+emy8sYt>@`DC7F!}5Xg7Mx2+&q*i{)*Nkr-4Wv_=q!PfoTo4G;A~k>*4BjK{AAKQTGlhj#bGOj@(3SADM~RK7y3eoV>laEaKbVgOP*ew)em!LgRzTYkLp!wO%499kjiN zY*kt*gCom8N?``_zzmK;1_CmJBXn-;OV&>GXIt3K7PF?Qo3^DXR_4*Y&umHa-i&K? z9HaGcpFTZ&&kcsS>IMXB#@MR;KcHD7w9dP3NpRr8c}6aO#FRXf9QK;E zsh}e?=Hxaml@2giE)9Eo(~~nCjnD2h!yAJM&K(hJaC196>fK#S&u{UkBY%2voz#QD zZ1?6WACY324{yhyXIsT1ICAI7JQ_fFLkPV$&c! z87~oneW&KPFb;x9jFP~o|zz>BEGW&RouLt8BkJ;GE=Q%=0V|YXlDmtYGdYv{JP-I4#aO_ z&8(0`2iw_M*t~k_Brc`Ig9j=(Yx>IvxBBRC{FBSj2ljC~egM%lvniCTw?F70<5R+e zTU5E>#>Eb!xJtFCsX|c(grJ+F3x|WDxHkw>+CwD_t4`4&R1i<1Ie3C8u|_B?nt&%r zJz7v8B6at7AcGw3hGweL7EsWl0?$fXz^JnnUtlf8EoiQc1-gE5JQ|7X)OfVI`{MX; zc5pab*?n;^!hZm}m^)`Tmv&#g)g0Y_cQCuTOaG)P{qt6~dqeRFS$rD4f=d#-!0`OS zR`2K(&g>;Mt~SKG?Ifb9Q^unW-sDZTW>~%7kL#BHxdXWshGhb9@704P(ig=)Z{zYl z4D$f^@MxXZ?yxr;9<4n&m}s?EE|0ErdcS%&$n;_3k>jH?H*^U}Xp z;Y)`h5lTUC3ZXW9LU9B+=fkm3)aj;lJ9BOSV9Y=LjBOHTdv6A&y$Lu=(RMNP@QEr^Sf$GB7|#zk1Urph1V!tZf(zwn0&1CbI+MADRq4UAMzR9kpb z6kQpoj|9Vb=`D`56r&jiCy|hWR3t>D7AcC6n1)w^AUPdf34q?JD9efpxkQvJicEMs z4gn~K3kgCO4v)iPbxPtAp;Z=_Drlo;O#|jJ6r?S1BpV!u)QWl0%)w)xgCjWyht#kK z5r7Ak3IG>f*yd)fMaD&(t<%Z|E}wq`#$}Z$M}YH;A3*T3mRmaQZHlv)__6Fxo9hGk zKuu4{lhjJB+KI@$x;s^-lX%EH>$}s@c+_ByKU&+rwL6t1*DhM@qrwWad*+y9Djy`# zy&6gE;O!a#(;H-3qvZSd8Wm;vcx;IQ{Z^KRPHB~a4lq&2ywTcro~!AF0CCTNt1Mp* zIE5Jq(($Oe?WO1{9(r)8K3Yo;ce1fcIhe7sC@PrDLS~>@uxQ&X7>o-0=r$;iZUfYG zSj0?+#gggBQJM~mE|TjT3*zJ4T)UmtQ&e*I|BUo#j_sxC-~ z1(ta5%E1LhkB7WmMg)A)I)&{t36Yam8aVy;MzgDUrDn2nrFU?77t2NQ$>EvG2-Aj4 z#Hj=^O)^I%A0Bs+x$!|ohPF{e={{<`nxQc~tsk!0wdUYgLMggowB+|h-e2ZG> zm@gok=i8XbuE6rpEnp;`$`L()u1G@Fp2{)S zUKyc6rj41*8Y>w_T@9L1A+w}}nV`j0@OgTwpHa z0u3@QaFcO?xr_^x<|b;TnwyBAfjUQL)dj@C7PJ}JCo2$8FpBVFcD^Z(AS98xA;L&5 zeGwrf*A9sw1}fH&7)}_QP!oB==1FR8k5XHCgbA@)8bN9&kI*mG3yHwAq}mvp)WX=b zbcsNhV5;-@g)GHVX8^L~1XLhWmB5p?O#wtgsaQbJqgua!LFB2L0YzG=Z9tG#D;+R! zVXBYz2C_!&3kV6N{%uTJP+(b)3mD0z6$R#cT%bXZ3miE}TMEqexQ&{_d$g3O7~0e^ zlqgQxRl}ui9URlOX-$WOtfY+{9DY}EDcqsMx@&)SC^-5^z1pEY@HD0hyv}rszUa+t zX9uszyoeJeoGR?>z~xdlgK|`gwVg(K{k|Mr?Cd-s$EJ9#3x}l>ImZA;E3-AvYCUI! zEvw{d+1%I41brcbY-I#g#MnheQY{qnQ{8Og$U}O*h5DS>!gqF%Plcb$QfNSnUDcum za}29gL-E@3pwSS6leb4wjInLM>9(trh_%noka<2gBY`)8E4Bl-RrJ!p+`n zeIonF1FSTrYs2P-K5Y=34x8o|SvZ^wPd+z1+#8IpKv{Zw%~Bs-wX-7YnNc%b^UePW8+3TT6Yt$zxQHxo;ok-L z^e$bv_#sOHn@+cH z;vKKOnBQx~t8@ta;94UbkYUU_=Zhv&(|IL*@?`?UtU3GCb< zoY!&$ij;z`0R+H+e;wG0H_jV40H)LTS*V$Q4-6ePf8Nu948Mt#~G_A zy|LP~s98ucg69cOVzBWtUZVm4lHyvBB##h=fvImqeJYP2R}>MzRD&TH5u4T{RA9)?#2)K|g@K6KM-AdqXOE*e zt%M`o;CoDW{~kqh>1K~3xfbdOIHbosj@nyyImB*>qgT5nB1k3GZb4G>7Q{<=T|3Ya zKnixK8X2?BL==TcRU-rw80X4Jat(_hx;D*_5r)*n%_12W$OLMa;}C$ft^lNM1t2ZU z0D9coRbVFCj3H}jQwCrFVv8~Xt=FE<5So};lR@zDeI;%d)#9NtXisSckyhH&0Xaen zdkIcyTgiz@)7sa;t&Js)Or)J9*zxp@W*S{(!>y+~ir+HMT?4kvi$empvLaXh{?kavKXa*40^EZ~yuT`%&E;_?WW6u1ijYmshe z=l%mz30b`!Vukt$ru*?-U2ozWCvpWUXu}zNhGp&zj%~nLyYBY}BP>q(T=rm@*H25O zDV9o-Gm@Uzg(6|ai(8VNopp)qV^M(P**k;gE)vXoqg_Pha|6909^U!*DxWGV{7|L3 z4^=9AvZ(5V-HNhiTFuo|$rG`P%UVI)JjzlWUo^Re_N)x`|3*NUh&^)g5O2xv!=nxx zfhU_8E_cAc)=y6lRp={5J@E#)!x4p)A`bNbdIpyWop^yC@z{nt#?H<%K74|I>ls@V zCi1P;eB*IGsSGVQE7C1B8kXN-ERj3D_Z}!J`M6Z0QigoKAI&E?! zqjn9HW+nshp^8?nL(y^gCilVkN>4F*Z<${dmuT_dIS z8wN~Tzv(0GB_3a+B_2PRz$9hAB$H%%Jd;ffsnI$(0n%g^Bi3ws$!WDcemq!hUy?~` zdpr}YwRA_&WFS)25|NAog3Xqss%SGPY-o2JfWqo@DYiVwst!OhDF8`Z08)Xh_?Dyq zBuNG^c}S8t2mnbrEl83@$Y#GZR1lR!Au0({G|4j$rzFn;ktAWrVJ4Egbq5{@QdpHB zd2|WZ%s61JnJq|@=V6USo7TYwH{x1!j%yN&n+{Y=fayS;B6(COrUTh{ScevXq|E?U zWm4fZd}v*ONu}GEBrLH1JFNC732%ks+K>l|X+s8l>zss^#*XA!VDFY{dHfLA*+EA$ z@k^{cz2q=5{35@=aEoib-5nJ>JCF^FtI@m%@(^*q#|SxJ9wyEgA=kS&PA*f)2~=PTbv~6KpS7z}Ts!t!07h{xywu zZf#Qpqd{{@07jzakr1$;PQeghF2p5QHWjF}<`FQclVuY?-AQ(>1b32M7zRi4?UM3N zvP(k?sC9WVM+vVn zP7sHj6Lq$-Xq@I+p<#Sj{uQF0G-b<%x^staI}p@O^UWOSI?FC&U_*VA!qFI_ommBm zKv>chsYp6nORHlj&x~qKa@_p?GeF~#qrv|_gKlp!#ChH- zlF@8~GDi0}h&9i`TBjVhI%R-$%F$4#40@e16zi1HT&IlT8dt4anD2G&DwhSUNQ9up zuz4XBmk!#O5%w7_f;fcp&Wm`S_acf`!=;WdEsRI7#$0%8;NWU-<7hU%)r?Ny0(;W* z@tsq=C-K0uW86B1*}1!zH5*4)ybV*pUD{ zg9La=0KnUoZh2`iQ;6fp>$%o3rKmv&01nDr(GlV_44Pi_$GsJF-< zR};|MIYe4JE2mip#hzm&t%GW~Z}BOH^|yo`ZTk*%mR#l%w4G{ zvYo)|9h;PTSeR>g$T{~9`qDGcXxV}^GE|tppDp?((fmxNpt5Q^JLn=WEM;mWXeQ>+ zSZ&Rbdyg)RoODv^lAv)mZ+B_P4W+PZu~Q+0&D$LmLe?@m6qIg7bV#~BAxvH18b3$T zmmyDbT>Q-vYb04R3=F%t1U!nvdI_}D@Z)!u<)_s1tH~}bW~L_bV^B}pO+O}QgUaN zILA<^R!J>8vZU?o0Hd!(MCwJtO*u{o%h4S{9t+~dV8!sW4Oe| zG8OMu$Z~Clmk9v0c}|ra>sxnmfqj00X04`2yE@&%(ot@3n<+k0jt>fqW^(EM3M?(< zhb8cphQnQ1Sn^F8v}D>eC=ZpE?*yTAu6$>`zAlN^;q7THT-_hYSBWLb;4O0BjZdHB z*aUG|hT@;zim&Pid9c{8mbfV8$#*%mG%TI1tkqP~vX-+br7UY1i<0%SX8fRK`^;c( z+S6Ch*4`{Xupn>9;l+P^3TP^RtcwTu?kp~qMXnER;lO8tZ3|vm6o)?Xx|Saqn6Z_M z^7KxYt-1G6I`9K*cCmke8qDxPp*n=KS;L;f4 ztu%1+EmE8;_~9}z#2q+}6vgjhS>y#Z3E+cU@YOuuzayRy`1ua;npnXnW2wn)(h>=; z#`epv_zGND?&9mot71{^_Kv3aDbYF}l~E0sI>3!qGBJ{ksX_mg!sq#B4>qhZ z`s$z(hF>2H`G%>~V%Nm6B3}o9&&etbNPm168$t2td|nLTbSCK@ehwQ&QL#(-;f+mN zB^!$Z~cXrZqmdE)~KXE}`cxj&QEF$9dR1D_KBcnKN7bayqtT#8Z6FKbhAHs3vW@snN|#XxjKZ$ zwK&+ED)}}7*Rt}gUzV>!Kv&QP{2~s2h5{L=sgr>RLx|H1`MeL=Ruj__Dfhq6VKX_> zj)m(DYy+&*Xqt8JRLLN=FO%0d`vZLWetb&`8sLNd_IJRPr|DgAYDQi!r`LsA73f#OQ;3J@kUSh!2a}z;5=i z_y2zUEC)W7){N|QY2j1t8GG zk!9+KBI_)QMTrxaNLp6HgXq!;1Qb;8 zz;4c*HXoik*mv-eD)WO~){}aqzJ*_x5<5tzRR|F82g^I@_!1Qt#wReau&~z1Mo4n9 zV6?TQuvxy__`VMYskuA&a1-7lhJ zG2r-c5-pUhv?7?+dizD4Slo&gw#1@N76m=fDQ0=fLYB3NjZna9%05rxmq+q#F6fk) zZ|NX;ZKuJI6u(+{#aaa4`N#UFAmb-yGVwu`;MF8#aNpmCur~FTvOdGu+yo=WQ-3N( z#KxlxFd0P{U}RWhLU}$_vMx$=S=prSn=j%Z9wt+^fe+xf+Ti&ckQL6<=%@@{@1f(Q zSvlo>t#nIFb+SlvN>bcD92|%R#1OTtU{#-Ecaplkc*94S#y=x{gS4U1rH}H^yseqy5U>W1IB?!GO#Qw zgZ_I_l;k1?(FFHE_)R)_kY0LEVHrxk)Kp~Q;+M~T&?@Cx|fyiby@L2fUlg# zda_^?X_PrOoXZoJ%#oPRt6UqFlkkY#G@mVOokeaMdlv6<3L=vRej8Dmg`c_7P5c^u zqeGv#i)6bJ{}Q=ZjCaL2Mfo*f73Ry{^0F62`no52sX!l1;!;crI=AS=8dZ?1S)?RNJX8E4G@D z2Q@o+fkZU}vp^dPfYlW%%IiJYDEtyAhKsFDQI1NUi=n`>n&1rxn!9!+#xvY-Bpamb z`;3EMo-ueefe&bX!rB?9a$@mbt;=w(bCu_O+R~r6YoEiC5xsF^cm%t{@hWZEZJxS0 zp29>*53q5%$JZUzs$?a=sjE1?koC4~-0+)2jN&$3PD9pngpa!ATNP9uH^SEaQJBsc7DtG z_{}iX6$hGF`;YLnBDNX-<**uu7BC>#{qN#ksJ#Q5qh%J+_ndH&bRZ)^zELCDE=p#y zM3tFMqm-|bs z{zH|T-rue#cIBy-r^@2jbK$UIDRW!@^D|zkz3MJw_ow$9ldXrm@k7F>C5o`w{gjL) zEX8fHB)`wd_dlht{PlNDk5xWW<4i!)o`@;ebGr36$+n6gn|uTr%d7DC5FM7#cN*OQ zF5&QMGr-F7}li-+TC zG#<+j96Jx>RAK{5ko5dWHKUi;vyt_VCY1G#KHc~9;bi7}POOXjy?qSKe)^0i7V8Da zeJ%O}VhW#@FDGu9dTz)uk#)y?Eh=vtNZWV{(>6tkkwdXT@g2kG5AiE_`YEtA>=baY zh1JaoRdFnt5INQ3nLfUp&t>MaHpefF)C{Ai)5(JZC-t8dEb|nMHDfQw0(S2Z)1|%y zt6opgbv;ki9pVX{k2Jy;4fT-m;ab}DoN_&<<2#9x>g1E?G~6AbL2&PCm&F zu^O-T_D#`o)_~8a5rRfqT5&UuxTr1s9!d( zM6q()y{Vg{a0Hqd)|`AlRH-;vT(QpyoaEj`4I$dc@k;Fp_==&*n=W=Xi0T+SsVDQW z#y#|^ejQZ#G)Lju2s{rkcOBq5+uzqhMEeLmiS@~3d;}@%p#x5#UnL3=N>ntk!-d~S z%slaso17{Ltl+{yY#_YiJa(&nls3cUG}xW)pps(aPohMHL^@bF>CvM^9;qhT2nnzv zO6>Qwn3sfYYDbR2)Nl0CQ6ubt3d*T#PJ5U~6R^Q{&U1Bg9qWTGcv2zTe%N83c$}iM z0%;vX6ed>)_vyhh?BHM@V|9YJ62y(p+zt>E_qiOCPP7=@hXUu-5#oWD@xXm`1osT# zPg6m1H~=ikDzKz(!|+j(Op==cqLMg7B~gl+&!#H9>@Cb^vjA8}zWXg4=HX};-lc-z?!~vaDXS36piVt>cs%E)Z-YkWIB&*gD87B*dQtZ z%|Mo9m*to=iDD)V(49Xp6J>#Ea{`~WMXh%}rGfqD@s73S7_#Izk8IW>c}JM_2vJF# zqVRtdsmcLG@}K}Djc7qk6u3+il#AXLrU@mIlaa@SraU%|OlWN^r!>BzsyZJRRdpz* zR0v;rQKj`OOfAcgcEF(Bb_|1L8m=~5Ib>-hua7K^fLP5EV&k#p4r1f6i!wD127>EI zvbr4yl4Nyj1kI=Ia$+v(9Ul{OQLo|cjA&JDC}qzS8%hPhlW-MpfD>0m3Iuz|(wiPode zQsiD?X;(P0v@0C&YL;;El?p$LgQ|R|4^XPu0VRhHD9KB28%y2+C3y*&SxY`PX4XPf zlBB3rwe+j8vO1t7EI}(Pxz|`(Au35y6yC7XuCS4gZa1KceCAUnt2tB~-4*v7&9q98 z{JMl<#_>(6+zZR@pebgYDw)}G+tnq@?_fg$Y^_W62N8rv4Jqf}JPX zWbDQY->YPkE4bv)@zt`aGYl3f)>ceD$N9RZBr?aUW0%P`=%}3@nry2C$*xPV{a0DT z;`GM$U&nKF>ssVt74ABaS%s?v$+JtatsG|ru4weY0-l?;m8(-EvkD~{A2ARu=d@&e z>LkgJW~G(N>;sk=bq_YP5696}mUGhEiHAG4*@;JtGkx-mGs$C2w!Gd<@>PQ7&`x1P zDfqA1P%057&K`9(l(d%urwyeVE;)2?A4)avI3G%Lh^$l9ug>h7^oJaeinE5p70N=-EQL03=Zc@&-S;;^hr~3$+p>YO@2X)^*;q*vlv@Dy%H&sd6c-VnER-M7kMQ9Jc%g3_Eerk zT4<4n^4dUvT=f9Xd=zaURA9@a;I`>cSB1i0(_aB-LRsF*llMr)$I*MFPScDkG+PbY zR24lWZ8cb@NPZPcmTmNX%(88vTC2iO(yp#>kWEiW9ltpyDJ*7XwY(awtS%}kTc~vb z@-sh3>w*HX5{<)FgTa^aNF85nHCQER7W+7X(?yx4Fk2B)z-Q8IMF(tU0Zy+;a*BlB z@pRp5QXyzIZG!1@KB(8?O`j`pnT>MW(9YZtwhiqzRwf6Zi9#19>HN?{(E%lO38pQ> zJde+`WjKZ|na=eJ#TWAAfJOa45s`I`M>g@jtiZV?1-F!yxr@H2z-1=N zZL2A4li^c9pHo{+m53xQ5h)rvnmkS|Rf$NdfY_YnPN+6##ki(0Csi}!+LCaFU}n6A z=OzYzyYG3z&1oqxUI7$ zl!&HtC)<=NJJ+UE1;SJrF)fk_J=_7A7Ijfc-9oKgEPHVsNXJ<#w?rgmKx|GY5?pF+ zI%(dX8BZ4RlOSxRNQu$W4&A)C?6c42i&J3C8bnq1yTnkIKZ$)f~q zHn&Tbsmo{G}q-EG~3?ajy3~5bd2VYhJdI8(PR|^W+kjpeA`0kp9 zl!!{e{d-d?-lD00ug*<+;g%4l$~?BLRUYy4<-I`Dw`FY&&p8Bs+ty|Nx+SoCQ8C+kaxPIatrM-K zEk|T)X%}TirBk%6A6mTXDsAhBd9+Gyn$Bva;&fMMt5p}3d|IgKdDr{d^t?)te7Xcv zJSA{yH5Dq6oR~b;gqG*DHKB`2>K2Lxg?{2PdsfTWCM||K6jb_B2l~|!TB;mrArZW( zg|Q7|5vu&jH5!&#_)-*$Or@JIZpZOin5#5=kiAH0c9ja8wm7)O4(V$gP^P)LU>ci~ z8V1r@g+UcQI)3fSgN^`}OGtc{0(#<1#dL8Zg zybFdRdAv&cd1SQJB!>+?4`23sBRM^jM0O&g^CxEU$f?#4vtedb2sX_4;Q1r&y!qQ( z5DvLJ1biu9)1cN`Xxc1>ohw}SB=vDD=<7N8ps%ZmF(qk=(j^X!74{PJQILG$Y!sxZ z=S61)wL0)^u)Ipp^Gd#MmRE}6;85!o7Qij%H>uzps@DWZP^Dv+Bq~9SE-lFhR*< zO{h>XT_$N%-AYstU6R|}=*=O_9?$k8J6I(9krCHmt!wFYA^CN1mp%qY)w6)LsL{Me zx*kft0m2`U7FY5P$XrC+j>z!z3wpC71?Cn~%kaxwxwg-lW;jbW+^t)iaH)g4^;mYk zHP2;d%=Ha5iWldWokQLW!dF~{XFF2jo^!nZHtQInZqDhByPb2wV~X<1H>W6ZAN{C( zc^Pc&3}BS5-}ELn-t_tmgWU9jvU}HS3996%pCyA`=T;L7Ew)@!ri;|v@)GwkZ~EK1 zRFsk`6y&C39xZHL6I$IO>b6KPJX8(*CQcG`3Em@tq*rb&et;qW_HCKjy6z+yV(}iD-%OzD9UFj^U#ma)_sI zreoR^mIBB;b_0+&Bs;sHoHZ{F&V4_T56j7^hnZmVWFtE5;CrXnEpuVYfR}D3D7q`9jI8u7p%?*^&b!{M1x9L% z;(dXRN}jIas|LHRLQ=D`U<%Aj;QkI zGZrd@_d@YfC|P^ygXZ4LvV7@&v)p>QPV}_sK^1`T#n(GkN;RUl#?z*S7^G4pOSoI) z&ijtSUV=VKy07TjDCrV>Z=<$G=7I8~+-R`1-?s9SnT4d|)xpcRh<)MtfL&wsK zLmVY}&Ch46iRu@x%1PRJWFLuo@{->yvjUqDUaH_)Jj>N58*D(*>tHIK^bMLs@Z42J z@;hF_-o|X6EZ*|cZ2g_CtT~mpw}iLz_EykSAF#4yvFX??S&ir|4#LYXX-RQif}dlD zzE`cuFZ9|u_VFAl4UCYv?;x?g^XOi8UIG>xk!GsS>qJ3TbKb#8MRvb!?RHpd9Nxl- zDeT1@ZJADM_R@`TWx#DC@``WH*m|Rd##*aNwckjwI#h^mtC44#=gd|I1On4KW2t?B z^9VnavejxE_A^`LQF~1Qs}-wKjp}0tsq^arsHvsNSmf064|8TW&WuHgD(Wuh1+Svs zUerKWfZ4s=*bCU_8r5i78rqDX0bik2KaXqsxhl=~q;eTApQcqwSj=12a;!F8X`xK~l_ohS-+2W2&S?p#>cI+pej`U%+{d zn4ME2pUa)cMVL9{a%DU*xtE~JF)Vw`A_TBQptn0L0>X@xoZTElSHjrOE!qq7aW^~eq*lCQ+g~R`26? zc1%C#P;q9dtuwl52=^Z8zJ6y1t09s0u{=IARJi)()9?Vnm-kv}DC*^i<9}POw z;N#5l<6r0p<@VeAAoceBy-U4Ia9cU=l745$Y~_3g&qEbC&mU+D@9{m4`3$b7X3g~| z3LhS{-iSB+{JBHxN#Z)Q<5P)|If1@QiThAJ!0?|st&#BK_F4v7p_NJp*Wq4&X9w5+ z)@{cy#S@K^4WCt?lL0$TYfxV0v-whH8}<>DF7cWW|- z>NB*`^|Ie}umoKPyI1|LgEf-dnaXXy+nFlOcNpA8wLTWXUndm}suSJD`~AP$_<&@) zlsy2lU5c1%zp7jC3vlhPP`r0A{<^*a-aB)sUOPLA)Nh5G)hw_UCp`kZ9k#*K9{_S2 zB^JT`1l&foP@e-e58r^{o4qy%b_rSX$zLE#J|nRn**_rGBciUSsGmCtxSp1v_msee z?|}DIh2kYdX8|vv1iK|9Ux983nG#c#{sJ*oo8ndlbq;O=ZdKZFl)m~CMCm8QXFDX< zeQC?5z-PPp3{khsJj8b(>UND9rJ?lXTM(turnoIJ?T`KiZcD1PxMqpo1aZw$;%@JP z&w#!0>-Mfj@*WFBxD|Mhwc$`s+utCR(h7C@)` z?0euApi6LTgn29ZAGkGYW4bzUp99y{fcOrHTSmTih_5GWJzJ3GCZISU_&lEhpHoyz z)Ig*Y0iRRqL_hPD9cfx@=Qjs;c96NuNb|`5JFUiI_SFR$JQyUSm*lIqCgoUdO(wdY zmi`H@r)}8xRpz6B?_FDS(=UPeo{zo>_!hU)E#_LGt>RwXwW7ehW~FO_*Q^b@C93)* zxFwoH^_i&fQSh0lg}NOPl?pGxxgF`?Zjs$z!F4CNuB2XUEWN2f45=Z!`NN`^NF1-WWc?+ z4JvjN>e8^YgQ;ICbsUS&NcnUqxi|QXR3mvm@ian*wD(him7HmpYuZcBgt@j5RmGMw zJ=c~F9{ZET=m+8Yjt;93-NK*Gw|ZpLO}|_Cd1SXlReuP#M02R#R&A#HM0i^}xc5}o z{lR;xMsoQF-w5xi0)tJzIX&?#7{gd|?UFF2EcY%AV+y6nP;9wXp!m((6&#sqITad2YXwz^NT?;H%d2pw zh|06D3JI#|ccIoKCD>V1)++!q-Go7O!$dthp3l`{eb@tS57-IXht zVa)T=yZEIjSqtJTDdw?aN z;^<;;Pr{1!1W+VXeq|l0A)OM#Xt5ki9K$O~sU$!xm~+b&1|1}Mw@?_llzWSUf#dnN zNUHhSrG}cHqptZG%9@`s9kt;)DfAvkZJp$!wocBYwoZ3jq530C?yi$;MTO+0!u(Xo zxzsvc`^0H!hr>SUpx!4PO74>m2@*!Hmp(w~h|Sw2goozH6&PTst`cc*#B9;hN;v5E?*`{*maG-0Y^m*R|N99obJSwuc z^5=2D@}vsPV?l?r2Jz)I^=rZ)m%_UQ2ql%AVnEh$c2n6 zbhT-yO4={criHlMw18!s7C=ZHl4<)Cf_3wD8-xs0Hf;h-o%LLsf>}=GUUNN!=qUdh z4Fd3fsL^3eva-||bRI!Nvjbz=?`6d2k%BMJBL(a^>h+8`Kc*Zr5_8OGkzV^R&QoPuyn=BSU!4COJIF^mrC zM*SPTq8SwmY;)3!3KgTuwW31C9vvmZ8%7*E@y)%>+xCnGX|5K>@Unai(4K0!ce1Bi znD#Z0*VSn83YOjP$7mug84)Vx~i`^ z(PE%*ztfCnHL{=L%+Dd8;>_pq{wVxyQ-2g-?2m#_^hZJQ+zapAlzRcj+zUdHdqJ_& zJ)E)0Igy_3Sp)nG1)Ds12FZwgj~N%IO}(bs|JSi7HVLKy9Nd< zYhVD?>SXU>TAdtqtCJyQZEeh$&hFe1b{&p6yU(Hd>^_H{XZJY_Dv98lOi6^eOCn%d z5&=ZZF;d)t8Qs2l+hgch8`0^TnUG8x&jCUXg>y5lV}U?fHKzj2*0F$*Tt=@tQqnOR z?ZtQv0NSGYMG%Ep!LgK7cUxfjB> z0MP(6lWYNX3)rD#3)ms4b%04Mwvecd6i|Y09omF!9oiIKNtjzVR}%INiDm&TL`acQL5c!mLKiYDWytci?KkOjQ1wJ z{W2LRn<|C3&sy&)-KU}|l~>v#tGV0*i3S>Q0bGg0g7P1miVNi-HfpMYvxVXLb+{UhhL%eRx& zvY?Ffo00dL)wF7jv2%{Eis-c00_lOkgOJF|sj$Q8rn^P)DYAuA#@2=wDbJlP0!KRf zCA_qPkzNAyf=gR;zSqJfPe{U6soVpKR&_91O0T1A+nHfr8-?`rPh(Ze?^&u1mb>}$ z{X4zUF7F!QEQDT=T9zSbXOd-=HIZ{oP36`S-I3{B~l@HbFf^1W=z-*KU|}7rINc6Wy-os1p$2p1V%6-V!DKOy#5pL{xRWs7B6ll7O+(!=F0? z4Vv~699)HPhMAiQbpCh-&ivZI<0^xh|D~CBcCgkkc^sD+{K5YRTY3-Se`d(|FFBsC4;$pzb?LjMiiGb_sI2D?~ZY3P$R#LLuN<7Iey^X1IOEHsMic)SV66BU3ms_W;#=X)R__rI#Uu{XG%EgOi9T)Q{vo@qDyQUP`J9^mX~L-xH*o@b(fzcc9Ub> zbqtlWk@nl%3Sc&R2@X2rTi49ZCi`*BWl84IYO0W=Ll6A&k?GWaE?%= z`#D0D8qX1`4EY?PN>1x9CBoAKA1v4PS43?66(O#_A`sSJ5%%?01mpTE;(7fQ(X{^3 z!$Vnt>Bg<;>-wvUbG&Tc?h-IwYH(P8b<_Czt4oUOuP!yOzq+(^MnTKXV;fxK4Q5Ap z?_SR+Dg?@5^LB*-IaKj*Mo~%SXA~70?YE7k3OS!qREQi0G#1_O%3~bNp->`XBf5zo zkvf63OjeDT^oE@wV&W72c4RLfzUGfX|7@Z}M&Q&sto~z_|JXgtRK3BNm*U%kGTtjz=c@5nmrFj91>+Z(~bY7^EY+k6+I4@Kw zVP2@xeO{LbL$7EA+2Mzyh=o zjs~*|F*Qa*1?5;v#v!s}tkq!Vj*4lU^2aEUdj(|=rFYdbGo;W3!~M;!9Zs=mhZC0Va6$?@oWQIS=vRE{0KeNoKJDoIu?_G0 z4CTJhSnB(XlzpG^*!LN2^?fE3eV<|0!RmVZaBv{6(4Y=2#MXUip?@U=>P;neAguc$ zAN0aiH1J}4WmR+>ZK|MY?vQMY50B{F(SdF5=-|j*t6XFf=8jGZpF28~ICpf2dG6?t zlDy-WPgLF!F?mOb@{T}|cZ6Nu5u`*+vJubnj%Y{T>0>J`c_+9n?}V4~PH0WuiPn{O zqEzLbh!uG!QfLca)$BJDI1ta|{>Ix` zlk9S$Vz$l|AxE^!i3@`x+YJQ^yPWv2(@|NeD|74PJXlE`L$y00)U=wIcS7@sJWcX; zRMY#N(EL2|J6ZF1@}1B;j<9wut05m3^0jN1L`|pqbZOA^Ih1nk+D#ePu3c(t?b>B1 z)~;Q082d_0pF;AnU&49pmv|ccC0dUCk`~8)NokG!l30xWl9bK~bValkKhUJ-1Qmjv z6I3WXC#c}zoS;JWbAk#jo)c8a`JA9aa`FMcWtrl||k22$H1D{No~W9xm)MQ*gd zic`kfj>II8ah;IPq{7#y>|<6a1=a83)JnNu-^Uxvx}Nc0*{Z?R7_DzN4K!vRDV|An z6Xr9iE-lS7fr1Zh={!?nHqVqG=a~{>n>!UnrasTK`SUzeQt~`g;<+Ev8w#+1yy;K< z(8j$V+62@|`k@UM{m>?cerS`*erQu;KeTD-EPn21#`G+HE}7OB<6_=#qrv(fLk(x~ zb93;s__-YMEPgIiK8v5rvad)2ej3&c{=BoZF6~eP-3!w<)^MezI;Q|u9x=*O zi?k-j8!hMM_fv{E=L3|ZciQDthvwrBS^ z*M=Sodv?csZRkkcvpbmAh7M5%=vBTC!B62q21T5;-MpO{P}>+~Nh*)bgOb`1Wog35 zjF4pqOZT_JCGT9J{Z=FW2p^R_5qW=`BJA~Cu&|@oOMvnVWeOAI*FvauC{?FzovzZ$ zQ_#9O6zX?64k{Btzw3l>hF>ep&+u!+c!po2!_ry1YE)Wiv_xKCNlvr*^Mkr)sM9zn zY~HRDF(=F;(XwlI)YHPUA4lf>wza69LEbCW>GZZ~^%|!3tvQsNr!6WA- zd3JW-k)sWd9aYH<-+cTZ@$KxqTea^iS^l5@DPwI+r2M*LB2g-1B9S^{A`#|{iA1iB ziA0Kd@bYzUjvpfS9D3oi(mE3Yru92eUHRG zqzQ{CgF1ahlkbt_-vPzYOcdBv8*GaBnS*n{)Tf##OFnRL9;`x896!pb)v)h#u8H3B znKdvJD;O=4aj$_><+mI3uSJz#N84{)B- z1DN!t{FbQdO^KP_lpyt{go56b1lOAqj(Ss4vfh+9tvLFw`XN(T@p&ZLfz8|1WUvEs zDB(<`n$piis?>NUQf0_zB2_Y_js_Kv67aJr>rsj`?VHgnem(a}a&mhSHc!?`r9SOvhx2*_bRrj>!@VW3nXpm@MHq zCQC{llO>+^Ep|X6KPRj8kDq-(%Fm2?6 zXX(>VI{()wHviX1od0WtF#p%cKL6K~1GH0F$%ZH);r%#b{7o?=rMzphmr0N7(05h}gM6dvJD9LWb z6nM3dAH-I>QKOjMsF7$lYJ^}nYGk(?HDa_IHF~xiH7aYHRK`SaALmAG>jY|d*)f&` z+FixNJw>d9rSf}<3XPJf^p7QlWabm8*=R!f4M}Kr2eWy!WaKQD6yDaGs^fE48!Qi{+TsQM=e)}RF98B$`(XGjU*X@$s0>k!Q1 z^Y~KIcr`7^} ze~Ti03LZUK#i=VYGo&9SP6?nZH8|W?bkq2KMVA!sE4tKtU(uzd`GaoEx+m26BLFsk z1cdWPh==(jpgw;DEY2SR&htkAi@N!ngAg=%6o_?GB-br*_$oZ4E9;gx^FlnZw(1sm zQ&n`GDPOw*Zx^&R1GCJmr~%yBhhzRYD!j)fc~~>FD86QB;c?B-BIPwhixB2CQsR#S z_?*_E=fib+IumJq0%iv~H!(kvDvA2g`P7UigFeimgfo$9u6`y` zrN%RnDnmXKsgl#0UB{FEJcN$F7HH$Ig>wA0urU5w6d!*rJdVE>DUZJvAI};(j{;n>B35}3+(xv8kq)SV-S}Anaw0($tR#63z_8}S3eMpXnc_d`y zwmM*O9tm)^)d9qcNq&PNEnHR(dPl=?uYXeCn0mgsE$_&kN-$f1W;Ss{jBMDR1EC`sSY-5tNz%UoZv|25IF|mU&wS)QtV6i@^wfx{s zgdkkyD+)&?`Exydr_3Y-*_NDMP-ImQ9gBG|mV>i2+^L6dKvQ(-7D3d;mTD0-O^TIK z&520Xl86R{h%nlR`lTjooly!lF2}PbHC`(nM=Yuo}78UIXHx%a8<)$2IR zI6T;!+#UzqXHsNu>}s@5xehob|Gj-{tWpO^OJc|{5b;}ZU!IH%&l zhiL9Jlc}_BBRsEby9X~q1W)&-ur_Fdh#I`C*dzXTPTGW*xR z?t~O(>OWnvhx=yDi?hehojH5v>|@Q@-Pb?JV&ntb-r7ZpJ=WZ~0T06)hr`F@g&(AN zccgjzv2(YcJom!uUU>4(o9>*uJh*!K@a*HyoO{zN)qM@zp39jl<591_w7GvUJJLRs zK9N?g$O9DNWn1ev#uI$sUpjvU72oa6&YhawJm^iP5C}$2GevubFPJT8&mW) zJ_ZC$o2~T+6EyhxL9={#0QUXm;rK58t?l1}WWhbb6Vk}j;^D#dJBtUmuHShC)z-tM z>0^(ddHtF9eC)=1^xo@X3Ke~fzHxypYy8~d2)ffunmz;@(w;kW?(xUYK7H<>dA#=? z?|XZ4@wwrJ3-5QOdEa+`@)2eSCAb;$TQOj1((Da(CEV>jusNBGCs#+JajJ!DdvI1B zjGi1!*6}16;qg9uyfhd#Z-htn35g$#o*i5VQBvsBNquTwY<7W5Z0l%>O5Z?iMRXS0 G`2Pd^gnP#T literal 0 HcmV?d00001 diff --git a/mmm.txt b/mmm.txt new file mode 100644 index 0000000..6bece91 --- /dev/null +++ b/mmm.txt @@ -0,0 +1,6183 @@ +-- Hoogle documentation, generated by Haddock +-- See Hoogle, http://www.haskell.org/hoogle/ + + +-- | Minecraft 1.21.4 implementation in Haskell +-- +-- Please see the README on GitHub at +-- https://github.com/axionbuster/mmm#readme +@package mmm +@version 0.1.0.0 + + +-- | Provides utilities for sampling points on cuboid faces, used in +-- collision detection. The module focuses on efficient face point +-- generation for AABB collision testing. +module M.Collision.Internal.Face + +-- | retrieve the points on the faces of a cuboid normal to a certain +-- direction (sig: {-1, 0, 1}) from said cuboid +facepoints :: V3 Int -> V3 Int -> [V3 Int] + +-- | predict the number of points sampled by facepoints +dbgcountfacepoints :: V3 Int -> V3 Int -> Int + +-- | print a list of vectors in a format that can be copy-pasted into +-- Desmos +dbgdesmos :: Show a => [V3 a] -> String + + +-- | Implements ray marching algorithm for finding intersections with grid +-- points. Used for precise collision detection in voxel-based +-- environments. +module M.Collision.Internal.March + +-- | march data structure +data March (f :: Type -> Type) a +March :: a -> f a -> [f Int] -> March (f :: Type -> Type) a + +-- | total time +[mtot] :: March (f :: Type -> Type) a -> a + +-- | grid intersection (lies on boundaries of grid cells) +-- +-- 'pct' is for 'punctum', which is Latin for point +[mpct] :: March (f :: Type -> Type) a -> f a + +-- | grid points (e.g., cubes, squares) intersected +[mict] :: March (f :: Type -> Type) a -> [f Int] + +-- | march along a line segment, finding all intersections with grid +-- squares or cubes (depending on the dimensionality) as well as the time +-- it takes to reach each intersection and the cubes that are intersected +-- +-- the cubes are represented by their low corner coordinates +-- +-- in 2D, when a point is intersected, the two squares about the point +-- that the line (that extends rhe ray) does NOT intersect will be +-- included. it's because this routine is used for collision detection +-- +-- in 3D, there are many edge cases, but generally only the cubes needed +-- for collision detection are returned. so about a corner, three cubes +-- will be returned; abour an edge, two (assuming ray is not parallel to +-- a coordinate plane) +-- +-- a compensated sum is used to reduce floating point error. the +-- compensation applies to the coordinates and times +-- +-- the returned list being infinite, it is recommended to use take +-- to limit the number of points to be computed +-- +-- the starting point is not included in the list unless it happens to be +-- a grid intersection +-- +-- if the direction is (near) zero, or if any component of the direction +-- is not finite, then the function will return an empty list +march :: (Foldable f, Representable f, Rep f ~ E f, RealFloat a, Epsilon a) => f a -> f a -> [March f a] + + +-- | Core collision detection primitives and algorithms in pure form. +-- Provides AABB collision testing, shape interfaces, and hit detection +-- utilities. +module M.Collision.Pure + +-- | an AABB type class used for collision detection and resolution +class Shape (s :: Type -> Type) + +-- | check if two shapes intersect +intersecting :: (Shape s, Fractional a, Ord a) => s a -> s a -> Bool + +-- | check if a ray will hit the shape and return the hit data +crossing :: (Shape s, RealFloat a) => V3 a -> V3 a -> s a -> Hit a + +-- | check if the first shape will collide into the second shape if it +-- moves with the given displacement +hitting :: (Shape s, RealFloat a) => V3 a -> s a -> s a -> Hit a + +-- | translate the shape by the given displacement +translate :: (Shape s, Num a) => V3 a -> s a -> s a + +-- | the locations of the lower and higher corners of the shape +-- respectively +corners :: (Shape s, Fractional a, Ord a) => s a -> V2 (V3 a) + +-- | convert a Shape to a ManyBoxes of Boxes with a +-- list container, which is a canonical form for ManyBoxes +tomanyboxes :: Shape s => s a -> ManyBoxes [] a + +-- | the center of the shape +scenter :: (Shape s, Fractional a, Ord a) => s a -> V3 a + +-- | the dimensions of the shape +sdimensions :: (Shape s, Fractional a, Ord a) => s a -> V3 a + +-- | existential Shape type but where numeric type is erased +-- +-- see also: castshape1 +data SomeShape1 a +SomeShape1 :: s a -> SomeShape1 a + +-- | a collision resolution data type +-- +-- no hit is represented by a hit at infinity (other fields are +-- unspecified) +data Hit a +Hit :: !a -> !V3 a -> !V3 a -> Hit a + +-- | proportion of move completed in [0, 1] +[hittime] :: Hit a -> !a + +-- | the point of collision +-- +-- if you're using Box, this is the center of the box +[hitwhere] :: Hit a -> !V3 a + +-- | normal vector of the surface hit +-- +-- a signum vector, so each component is either -1, 0, or 1 +[hitnorm] :: Hit a -> !V3 a + +-- | internal newtype used with Min to find the closest hit +newtype Hit' a +Hit' :: Hit a -> Hit' a +[unHit'] :: Hit' a -> Hit a + +-- | a box in 3D space, located either relatively or absolutely +data Box a +Box :: !V3 a -> !V3 a -> Box a + +-- | the dimensions of the box +[dimensions] :: Box a -> !V3 a + +-- | the center of the box +[center] :: Box a -> !V3 a + +-- | bidrectional pattern for Box but with corner locations (low to +-- high) +-- +-- you can use the locorner' and hicorner' patterns to +-- extract the corners, respectively +pattern Box' :: Fractional a => V3 a -> V3 a -> Box a + +-- | a newtype over a Foldable Functor container of +-- Boxes +-- +-- the low and high corners are those of the smallest bounding box +newtype ManyBoxes (f :: Type -> Type) a +ManyBoxes :: f (Box a) -> ManyBoxes (f :: Type -> Type) a + +-- | a type alias for a list of Boxes (canonical form for +-- ManyBoxes) +type ManyBoxes_ a = ManyBoxes [] a + +-- | Lens for the dimensions of the box +_dimensions :: forall a f. Functor f => (V3 a -> f (V3 a)) -> Box a -> f (Box a) + +-- | Lens for the center of the box +_center :: forall a f. Functor f => (V3 a -> f (V3 a)) -> Box a -> f (Box a) + +-- | Lens for the lower corner of the box +_lcorner :: Fractional a => Lens' (Box a) (V3 a) + +-- | Lens for the higher corner of the box +_hcorner :: Fractional a => Lens' (Box a) (V3 a) + +-- | check if the hit time is in [0, 1] +hitin01 :: (Num a, Ord a) => Hit a -> Bool + +-- | a hit at infinity +infhit :: Fractional a => Hit a + +-- | a box from the low and high corners +boxfromcorners :: Fractional a => V3 a -> V3 a -> Box a + +-- | cast a SomeShape1 to a specific type +castshape1 :: Typeable b => SomeShape1 a -> Maybe b + +-- | a box with zero dimensions and center +boxzero :: Num a => Box a + +-- | the location of the higher corner of the box +hicorner :: Fractional a => Box a -> V3 a +hicorner' :: Fractional a => Box a -> V3 a + +-- | the location of the lower corner of the box +locorner :: Fractional a => Box a -> V3 a +locorner' :: Fractional a => Box a -> V3 a + +-- | the upper corner of a shape +shicorner :: (Shape s, Fractional a, Ord a) => s a -> V3 a + +-- | the lower corner of a shape +slocorner :: (Shape s, Fractional a, Ord a) => s a -> V3 a +instance GHC.Base.Applicative M.Collision.Pure.Box +instance (GHC.Real.Fractional a, GHC.Enum.Bounded b) => GHC.Enum.Bounded (M.Collision.Pure.Arg' a b) +instance (GHC.Real.Fractional a, GHC.Num.Num a) => GHC.Enum.Bounded (M.Collision.Pure.Hit' a) +instance Data.Data.Data a => Data.Data.Data (M.Collision.Pure.Box a) +instance Data.Data.Data a => Data.Data.Data (M.Collision.Pure.Hit a) +instance (Data.Typeable.Internal.Typeable f, Data.Typeable.Internal.Typeable a, Data.Data.Data (f (M.Collision.Pure.Box a))) => Data.Data.Data (M.Collision.Pure.ManyBoxes f a) +instance GHC.Classes.Eq a => GHC.Classes.Eq (M.Collision.Pure.Arg' a b) +instance GHC.Classes.Eq a => GHC.Classes.Eq (M.Collision.Pure.Box a) +instance GHC.Classes.Eq a => GHC.Classes.Eq (M.Collision.Pure.Hit a) +instance GHC.Classes.Eq a => GHC.Classes.Eq (M.Collision.Pure.Hit' a) +instance GHC.Classes.Eq (f (M.Collision.Pure.Box a)) => GHC.Classes.Eq (M.Collision.Pure.ManyBoxes f a) +instance GHC.Base.Functor (M.Collision.Pure.Arg' a) +instance GHC.Base.Functor M.Collision.Pure.Box +instance GHC.Base.Functor M.Collision.Pure.Hit +instance GHC.Base.Functor f => GHC.Base.Functor (M.Collision.Pure.ManyBoxes f) +instance GHC.Generics.Generic (M.Collision.Pure.Arg' a b) +instance GHC.Generics.Generic (M.Collision.Pure.Box a) +instance GHC.Generics.Generic (M.Collision.Pure.Hit a) +instance GHC.Generics.Generic (M.Collision.Pure.ManyBoxes f a) +instance Data.Hashable.Class.Hashable a => Data.Hashable.Class.Hashable (M.Collision.Pure.Arg' a b) +instance Data.Hashable.Class.Hashable a => Data.Hashable.Class.Hashable (M.Collision.Pure.Box a) +instance Data.Hashable.Class.Hashable a => Data.Hashable.Class.Hashable (M.Collision.Pure.Hit a) +instance Data.Hashable.Class.Hashable a => Data.Hashable.Class.Hashable (M.Collision.Pure.Hit' a) +instance Data.Hashable.Class.Hashable (f (M.Collision.Pure.Box a)) => Data.Hashable.Class.Hashable (M.Collision.Pure.ManyBoxes f a) +instance GHC.Classes.Ord a => GHC.Classes.Ord (M.Collision.Pure.Arg' a b) +instance GHC.Classes.Ord a => GHC.Classes.Ord (M.Collision.Pure.Hit' a) +instance GHC.Classes.Ord (f (M.Collision.Pure.Box a)) => GHC.Classes.Ord (M.Collision.Pure.ManyBoxes f a) +instance M.Collision.Pure.Shape M.Collision.Pure.Box +instance (GHC.Base.Functor f, Data.Foldable.Foldable f) => M.Collision.Pure.Shape (M.Collision.Pure.ManyBoxes f) +instance M.Collision.Pure.Shape M.Collision.Pure.SomeShape1 +instance GHC.Show.Show a => GHC.Show.Show (M.Collision.Pure.Box a) +instance GHC.Show.Show a => GHC.Show.Show (M.Collision.Pure.Hit a) +instance GHC.Show.Show a => GHC.Show.Show (M.Collision.Pure.Hit' a) +instance GHC.Show.Show (f (M.Collision.Pure.Box a)) => GHC.Show.Show (M.Collision.Pure.ManyBoxes f a) +instance GHC.Show.Show (M.Collision.Pure.SomeShape1 a) + + +-- | Provides the core collision detection and resolution system with +-- effects. Handles block-based collision detection, movement resolution, +-- and ground contact states. +-- +--

Parts

+-- +--
    +--
  1. The GetBlock effect
  2. +--
  3. The Resolve data type and resolve function (the main +-- part)
  4. +--
  5. The NewlyTouchingGround data type and updonground +-- function
  6. +--
+-- +--

Usage

+-- +--
    +--
  1. Use getblock to get a block's shape at integer +-- coordinates
  2. +--
  3. Use resolve to detect and resolve collision
  4. +--
  5. Use updonground to update the on-ground status (from +-- #2)
  6. +--
+module M.Collision.Effectful + +-- | get a block's shape at integer coordinates (dynamic effect) +data GetBlock (f :: Type -> Type) a (b :: Type -> Type) c + +-- | get a block's shape at integer coordinates +[GetBlock] :: forall (f :: Type -> Type) a (b :: Type -> Type). !V3 Int -> GetBlock f a b (Maybe (f a)) + +-- | get a block's shape at integer coordinates +getblock :: forall f a (ef :: [Effect]). (HasCallStack, GetBlock f a :> ef) => V3 Int -> Eff ef (Maybe (f a)) + +-- | collision resolution data type +data Resolve a +Resolve :: !V3 a -> !V3 a -> !NewlyTouchingGround -> Resolve a + +-- | final position +[respos] :: Resolve a -> !V3 a + +-- | remaining displacement +[resdis] :: Resolve a -> !V3 a + +-- | what to do with the on-ground status +[restou] :: Resolve a -> !NewlyTouchingGround + +-- | detect and resolve collision +resolve :: forall s n (ef :: [Effect]). (Shape s, RealFloat n, Epsilon n, Typeable n, GetBlock s n :> ef) => s n -> V3 n -> Eff ef (Resolve n) + +-- | lens for Resolve position +_respos :: forall a f. Functor f => (V3 a -> f (V3 a)) -> Resolve a -> f (Resolve a) + +-- | lens for Resolve displacement +_resdis :: forall a f. Functor f => (V3 a -> f (V3 a)) -> Resolve a -> f (Resolve a) + +-- | lens for Resolve newly touching ground +_restou :: forall a f. Functor f => (NewlyTouchingGround -> f NewlyTouchingGround) -> Resolve a -> f (Resolve a) + +-- | newly touching ground? +-- +--
    +--
  • LT means it taking off from the ground
  • +--
  • EQ means it should maintain the previous state
  • +--
  • GT means it landing on the ground
  • +--
+newtype NewlyTouchingGround +NewlyTouchingGround :: Ordering -> NewlyTouchingGround +[newonground] :: NewlyTouchingGround -> Ordering + +-- | 'update' the on-ground status +updonground :: NewlyTouchingGround -> Bool -> Bool + +-- | is it landing? +islanding :: NewlyTouchingGround -> Bool + +-- | is it taking off? +istakingoff :: NewlyTouchingGround -> Bool +instance GHC.Enum.Bounded M.Collision.Effectful.NewlyTouchingGround +instance Data.Data.Data M.Collision.Effectful.NewlyTouchingGround +instance Data.Data.Data a => Data.Data.Data (M.Collision.Effectful.Resolve a) +instance GHC.Enum.Enum M.Collision.Effectful.NewlyTouchingGround +instance GHC.Classes.Eq M.Collision.Effectful.NewlyTouchingGround +instance GHC.Classes.Eq a => GHC.Classes.Eq (M.Collision.Effectful.Resolve a) +instance Data.Typeable.Internal.Typeable a => GHC.Exception.Type.Exception (M.Collision.Effectful.EarlyExit a) +instance GHC.Base.Functor M.Collision.Effectful.Resolve +instance GHC.Generics.Generic (M.Collision.Effectful.EarlyExit a) +instance GHC.Generics.Generic M.Collision.Effectful.NewlyTouchingGround +instance GHC.Generics.Generic (M.Collision.Effectful.Resolve a) +instance Data.Hashable.Class.Hashable M.Collision.Effectful.NewlyTouchingGround +instance Data.Hashable.Class.Hashable a => Data.Hashable.Class.Hashable (M.Collision.Effectful.Resolve a) +instance GHC.Classes.Ord M.Collision.Effectful.NewlyTouchingGround +instance GHC.Show.Show (M.Collision.Effectful.EarlyExit a) +instance GHC.Show.Show M.Collision.Effectful.NewlyTouchingGround +instance GHC.Show.Show a => GHC.Show.Show (M.Collision.Effectful.Resolve a) + + +-- | Re-exports both pure and effectful collision detection systems. +-- Provides a unified interface for the collision detection subsystem. +module M.Collision + + +-- | Provides cryptographic functionality required by the Minecraft +-- protocol, including AES encryption/decryption, RSA operations, and +-- server-specific hashing utilities. +module M.Crypto + +-- | encryption/decryption context for AES (AES-128-CFB8) +data AES (mode :: Mode) + +-- | encryption/decryption mode +data Mode +Encrypt :: Mode +Decrypt :: Mode + +-- | create a new AES context +aesnew :: AESClass mode => ByteString -> IO (AES mode) + +-- | either encrypt or decrypt a message +aesupdate :: AESClass mode => AES mode -> ByteString -> IO ByteString + +-- | RSA pkey +data RSA + +-- | create a new RSA pkey +rsanew :: Int -> IO RSA + +-- | either encrypt or decrypt a message +rsaup :: RSAClass mode => RSA -> ByteString -> IO ByteString + +-- | write the SubjectPublicKeyInfo to a ByteString +rsaspki :: RSA -> IO ByteString + +-- | generate a SHA1 hash of the server name +hashservnam :: ByteString -> ByteString -> ByteString -> IO ByteString + +-- | error type +newtype Error +Error :: String -> Error +class AESClass (mode :: Mode) +class RSAClass (mode :: Mode) + +-- | A space-efficient representation of a Word8 vector, supporting +-- many efficient operations. +-- +-- A ByteString contains 8-bit bytes, or by using the operations +-- from Data.ByteString.Char8 it can be interpreted as containing +-- 8-bit characters. +data ByteString +instance M.Crypto.AESClass 'M.Crypto.Decrypt +instance M.Crypto.AESClass 'M.Crypto.Encrypt +instance GHC.Enum.Bounded M.Crypto.Mode +instance Data.Data.Data M.Crypto.Error +instance Data.Data.Data M.Crypto.Mode +instance GHC.Enum.Enum M.Crypto.Mode +instance GHC.Classes.Eq (M.Crypto.AES mode) +instance GHC.Classes.Eq M.Crypto.Error +instance GHC.Classes.Eq M.Crypto.Mode +instance GHC.Classes.Eq M.Crypto.RSA +instance GHC.Exception.Type.Exception M.Crypto.Error +instance GHC.Generics.Generic M.Crypto.Error +instance GHC.Generics.Generic M.Crypto.Mode +instance M.Crypto.RSAClass 'M.Crypto.Decrypt +instance M.Crypto.RSAClass 'M.Crypto.Encrypt +instance GHC.Read.Read M.Crypto.Mode +instance GHC.Show.Show (M.Crypto.AES mode) +instance GHC.Show.Show M.Crypto.Error +instance GHC.Show.Show M.Crypto.Mode +instance GHC.Show.Show M.Crypto.RSA +instance Foreign.Storable.Storable M.Crypto.MMMRSAOUT + + +-- | This module provides parsing utilities for reading structured data +-- from streams. +module M.IO.Internal.Read + +-- | Parse from a stream. Automatically handles chunked input by +-- concatenating chunks until a complete parse succeeds. +-- +-- May throw: * The parser's error type e * IOError "parseio: +-- unexpected end of input" +parseio :: Exception e => r -> Int -> InputStream ByteString -> ParserIO r e a -> IO a + +-- | parse from a stream (with no state and int value of 0). see also: +-- parseio +parseio0 :: Exception e => InputStream ByteString -> ParserIO () e a -> IO a + +-- | lifted version of parseio +parseiolift :: (MonadIO m, Exception e) => r -> Int -> InputStream ByteString -> ParserIO r e a -> m a + +-- | lifted version of parseio0 +parseio0lift :: (MonadIO m, Exception e) => InputStream ByteString -> ParserIO () e a -> m a + + +-- | Provides safe decompression functionality for zlib-compressed data +-- with length validation and error handling. +module M.IO.Internal.Zlib + +-- | length-checked decompression of zlib-compressed data under IO +safedecomp :: Int -> ByteString -> IO ByteString + + +-- | This module provides a general-purpose observer pattern implementation +-- for monitoring and reacting to state changes in STM transactions. +module M.IO.Obs + +-- | A general observer that monitors changes in a shared variable and +-- reacts to them. +-- +-- The observer watches a target variable for changes, compares values +-- using a custom comparison function, and executes an action when +-- changes are detected. +-- +--
+--   obs targetvar              -- Variable to observe
+--       compareandtransform    -- STM function to compare and transform values
+--       reacttochange          -- Action to execute when changes occur
+--   
+obs :: forall (es :: [Effect]) a b. (Concurrent :> es, Eq a) => TVar a -> (a -> a -> STM a) -> (a -> a -> Eff es ()) -> Eff es b + + +-- | This module provides functionality for running actions at controlled +-- intervals with adaptive timing adjustments. +module M.IO.Tick + +-- | Executes an action periodically with adaptive timing control. +-- +-- The function ensures the action runs at a target frequency by +-- adjusting delays between executions based on execution time. +-- +--
+--   tick ratevar action    -- Runs 'action' at frequency specified by rateVar (in Hz)
+--   
+tick :: forall (es :: [Effect]) b. (IOE :> es, Concurrent :> es) => TVar Double -> Eff es () -> Eff es b + + +-- | Implements LEB128 (Little-Endian Base 128) variable-length encoding +-- for arbitrary finite-bit integers, used in the Minecraft protocol. +module M.LEB + +-- | a LEB128 (unsigned) encoded integer. the integer itself may or may not +-- be signed +newtype LEB a +LEB :: a -> LEB a +[getleb] :: LEB a -> a + +-- | VarInt +type VarInt = LEB Int32 + +-- | VarLong +type VarLong = LEB Int64 + +-- | decode an unsigned LEB128 encoded integer +-- +-- the actual integer may or may not be signed; the encoding itself is +-- "unsigned" +decodeleb :: (Monad m, FiniteBits a, Num a) => m Word8 -> m (LEB a) + +-- | encode an LEB128 encoded integer into a Builder +encodeleb :: (FiniteBits a, Integral a) => LEB a -> Builder +instance GHC.Enum.Bounded a => GHC.Enum.Bounded (M.LEB.LEB a) +instance Data.Data.Data a => Data.Data.Data (M.LEB.LEB a) +instance GHC.Enum.Enum a => GHC.Enum.Enum (M.LEB.LEB a) +instance GHC.Classes.Eq a => GHC.Classes.Eq (M.LEB.LEB a) +instance GHC.Base.Functor M.LEB.LEB +instance GHC.Generics.Generic (M.LEB.LEB a) +instance Data.Hashable.Class.Hashable a => Data.Hashable.Class.Hashable (M.LEB.LEB a) +instance GHC.Real.Integral a => GHC.Real.Integral (M.LEB.LEB a) +instance Language.Haskell.TH.Syntax.Lift a => Language.Haskell.TH.Syntax.Lift (M.LEB.LEB a) +instance Control.DeepSeq.NFData a => Control.DeepSeq.NFData (M.LEB.LEB a) +instance GHC.Num.Num a => GHC.Num.Num (M.LEB.LEB a) +instance GHC.Classes.Ord a => GHC.Classes.Ord (M.LEB.LEB a) +instance GHC.Read.Read a => GHC.Read.Read (M.LEB.LEB a) +instance GHC.Real.Real a => GHC.Real.Real (M.LEB.LEB a) +instance GHC.Show.Show a => GHC.Show.Show (M.LEB.LEB a) + + +-- | Provides utility functions for numeric type conversions, primarily an +-- abbreviated form of fromIntegral. +module M.Pack.Internal.FromIntegral + +-- | an abbreviation for fromIntegral +fi :: (Integral a, Num b) => a -> b + + +-- | Defines the core type system for binary serialization and +-- deserialization, including Pack and Unpack typeclasses and related +-- utilities. +module M.Pack.Internal.Types + +-- | produce a Builder from a value +class Pack a + +-- | produce a Builder from a value +pack :: Pack a => a -> Builder +($dmpack) :: (Pack a, Generic a, GPack (Rep a)) => a -> Builder + +-- | existential Pack container +data SomePack +SomePack :: a -> SomePack + +-- | retrieve a Parser for a type +class Unpack a + +-- | retrieve a Parser for a type +unpack :: forall (st :: ZeroBitType) r. Unpack a => Parser st r a +($dmunpack) :: forall (st :: ZeroBitType) r. (Unpack a, Generic a, GUnpack (Rep a)) => Parser st r a + +-- | existential Unpack container +-- +-- to unpack this, try using unpacksome with a type +-- application +data SomeUnpack +SomeUnpack :: a -> SomeUnpack + +-- | our parser type +type Parser (st :: ZeroBitType) r = ParserT st r ParseError + +-- | our parse result +type Result = Result ParseError + +-- | our parser error type +newtype ParseError +ParseError :: String -> ParseError +[showparseerror] :: ParseError -> String + +-- | run a pure parser efficiently (by inlining) +parsepure :: (forall (st :: ZeroBitType). () => Parser st r a) -> r -> Int -> ByteString -> Result a + +-- | run a pure parser with no state efficiently (by inlining) +parsepure0 :: (forall (st :: ZeroBitType). () => Parser st () a) -> ByteString -> Result a + +-- | cast a SomePack to a type +castsomepack :: Typeable a => SomePack -> Maybe a + +-- | cast a SomeUnpack to a type +castsomeunpack :: Typeable a => SomeUnpack -> Maybe a + +-- | use a type application to retrieve a SomeUnpack +unpacksome :: forall a (st :: ZeroBitType) r. (Typeable a, Unpack a, Show a) => Parser st r SomeUnpack +instance Data.Data.Data M.Pack.Internal.Types.ParseError +instance GHC.Classes.Eq M.Pack.Internal.Types.ParseError +instance GHC.Exception.Type.Exception M.Pack.Internal.Types.ParseError +instance forall k (f :: k -> *) (g :: k -> *). (M.Pack.Internal.Types.GPack f, M.Pack.Internal.Types.GPack g) => M.Pack.Internal.Types.GPack (f GHC.Generics.:*: g) +instance M.Pack.Internal.Types.Pack a => M.Pack.Internal.Types.GPack (GHC.Generics.K1 i a) +instance forall k (f :: k -> *) i (c :: GHC.Generics.Meta). M.Pack.Internal.Types.GPack f => M.Pack.Internal.Types.GPack (GHC.Generics.M1 i c f) +instance M.Pack.Internal.Types.GPack GHC.Generics.U1 +instance M.Pack.Internal.Types.GPack GHC.Generics.V1 +instance forall k (f :: k -> *) (g :: k -> *). (M.Pack.Internal.Types.GUnpack f, M.Pack.Internal.Types.GUnpack g) => M.Pack.Internal.Types.GUnpack (f GHC.Generics.:*: g) +instance M.Pack.Internal.Types.Unpack a => M.Pack.Internal.Types.GUnpack (GHC.Generics.K1 i a) +instance forall k (f :: k -> *) i (c :: GHC.Generics.Meta). M.Pack.Internal.Types.GUnpack f => M.Pack.Internal.Types.GUnpack (GHC.Generics.M1 i c f) +instance M.Pack.Internal.Types.GUnpack GHC.Generics.U1 +instance M.Pack.Internal.Types.GUnpack GHC.Generics.V1 +instance GHC.Generics.Generic M.Pack.Internal.Types.ParseError +instance Data.String.IsString M.Pack.Internal.Types.ParseError +instance Language.Haskell.TH.Syntax.Lift M.Pack.Internal.Types.ParseError +instance GHC.Classes.Ord M.Pack.Internal.Types.ParseError +instance M.Pack.Internal.Types.Pack M.Pack.Internal.Types.SomePack +instance (M.Pack.Internal.Types.Pack a, M.Pack.Internal.Types.Pack b) => M.Pack.Internal.Types.Pack (a, b) +instance (M.Pack.Internal.Types.Pack a, M.Pack.Internal.Types.Pack b, M.Pack.Internal.Types.Pack c) => M.Pack.Internal.Types.Pack (a, b, c) +instance (M.Pack.Internal.Types.Pack a, M.Pack.Internal.Types.Pack b, M.Pack.Internal.Types.Pack c, M.Pack.Internal.Types.Pack d) => M.Pack.Internal.Types.Pack (a, b, c, d) +instance (M.Pack.Internal.Types.Pack a, M.Pack.Internal.Types.Pack b, M.Pack.Internal.Types.Pack c, M.Pack.Internal.Types.Pack d, M.Pack.Internal.Types.Pack e) => M.Pack.Internal.Types.Pack (a, b, c, d, e) +instance M.Pack.Internal.Types.Pack () +instance M.Pack.Internal.Types.Pack GHC.Base.Void +instance GHC.Show.Show M.Pack.Internal.Types.ParseError +instance GHC.Show.Show M.Pack.Internal.Types.SomePack +instance GHC.Show.Show M.Pack.Internal.Types.SomeUnpack +instance (M.Pack.Internal.Types.Unpack a, M.Pack.Internal.Types.Unpack b) => M.Pack.Internal.Types.Unpack (a, b) +instance (M.Pack.Internal.Types.Unpack a, M.Pack.Internal.Types.Unpack b, M.Pack.Internal.Types.Unpack c) => M.Pack.Internal.Types.Unpack (a, b, c) +instance (M.Pack.Internal.Types.Unpack a, M.Pack.Internal.Types.Unpack b, M.Pack.Internal.Types.Unpack c, M.Pack.Internal.Types.Unpack d) => M.Pack.Internal.Types.Unpack (a, b, c, d) +instance (M.Pack.Internal.Types.Unpack a, M.Pack.Internal.Types.Unpack b, M.Pack.Internal.Types.Unpack c, M.Pack.Internal.Types.Unpack d, M.Pack.Internal.Types.Unpack e) => M.Pack.Internal.Types.Unpack (a, b, c, d, e) +instance M.Pack.Internal.Types.Unpack () +instance M.Pack.Internal.Types.Unpack GHC.Base.Void + + +-- | Provides Template Haskell machinery for automatically deriving Pack +-- and Unpack instances, including support for shadowing and proper +-- derivation. +module M.Pack.Internal.TH + +-- | shadow-derive Pack and Unpack instances for a type +borrowderivepackunpack :: RunUserCoercion -> Q [Dec] +properderivepackunpack :: Name -> Q [Dec] + +-- | literally do nothing +borrowderivenothing :: RunUserCoercion -> Q [Dec] + + +-- | Implements Pack and Unpack instances for numeric types and Bool, +-- including integral types, floating point numbers, and LEB128 encoding. +module M.Pack.Internal.Num + +-- | pack as an LEB128-encoded Int32 +packleb32 :: Integral a => a -> Builder + +-- | unpack from an LEB128-encoded Int32 +unpackleb32 :: forall a (st :: ZeroBitType) r. Integral a => Parser st r a + +-- | pack b in the format of a +packfi :: (Integral a, Pack a, Integral b) => b -> Builder + +-- | unpack b from a number in the format of a +unpackfi :: forall a b (st :: ZeroBitType) r. (Integral a, Unpack a, Integral b) => Parser st r b + +-- | ensure the number is non-negative +guardnat :: forall a (st :: ZeroBitType) r. (Num a, Ord a, Show a) => String -> a -> Parser st r a +instance M.Pack.Internal.Types.Pack GHC.Types.Bool +instance M.Pack.Internal.Types.Pack GHC.Types.Double +instance M.Pack.Internal.Types.Pack GHC.Types.Float +instance M.Pack.Internal.Types.Pack GHC.Int.Int16 +instance M.Pack.Internal.Types.Pack GHC.Int.Int32 +instance M.Pack.Internal.Types.Pack GHC.Int.Int64 +instance M.Pack.Internal.Types.Pack GHC.Int.Int8 +instance (GHC.Bits.FiniteBits a, GHC.Real.Integral a) => M.Pack.Internal.Types.Pack (M.LEB.LEB a) +instance M.Pack.Internal.Types.Pack GHC.Word.Word16 +instance M.Pack.Internal.Types.Pack GHC.Word.Word32 +instance M.Pack.Internal.Types.Pack GHC.Word.Word64 +instance M.Pack.Internal.Types.Pack GHC.Word.Word8 +instance M.Pack.Internal.Types.Unpack GHC.Types.Bool +instance M.Pack.Internal.Types.Unpack GHC.Types.Double +instance M.Pack.Internal.Types.Unpack GHC.Types.Float +instance M.Pack.Internal.Types.Unpack GHC.Int.Int16 +instance M.Pack.Internal.Types.Unpack GHC.Int.Int32 +instance M.Pack.Internal.Types.Unpack GHC.Int.Int64 +instance M.Pack.Internal.Types.Unpack GHC.Int.Int8 +instance (GHC.Bits.FiniteBits a, GHC.Num.Num a) => M.Pack.Internal.Types.Unpack (M.LEB.LEB a) +instance M.Pack.Internal.Types.Unpack GHC.Word.Word16 +instance M.Pack.Internal.Types.Unpack GHC.Word.Word32 +instance M.Pack.Internal.Types.Unpack GHC.Word.Word64 +instance M.Pack.Internal.Types.Unpack GHC.Word.Word8 + + +-- | Implements Pack and Unpack instances for various types including Text, +-- ByteString, Maybe, Vector, and UUID. +module M.Pack.Internal.Etc +instance M.Pack.Internal.Types.Pack Data.ByteString.Internal.Type.ByteString +instance M.Pack.Internal.Types.Pack a => M.Pack.Internal.Types.Pack (GHC.Maybe.Maybe a) +instance M.Pack.Internal.Types.Pack Data.Text.Internal.Text +instance M.Pack.Internal.Types.Pack Data.UUID.Types.Internal.UUID +instance (Data.Vector.Unboxed.Base.Unbox a, M.Pack.Internal.Types.Pack a) => M.Pack.Internal.Types.Pack (Data.Vector.Unboxed.Base.Vector a) +instance M.Pack.Internal.Types.Pack a => M.Pack.Internal.Types.Pack (Data.Vector.Vector a) +instance M.Pack.Internal.Types.Unpack Data.ByteString.Internal.Type.ByteString +instance M.Pack.Internal.Types.Unpack a => M.Pack.Internal.Types.Unpack (GHC.Maybe.Maybe a) +instance M.Pack.Internal.Types.Unpack Data.Text.Internal.Text +instance M.Pack.Internal.Types.Unpack Data.UUID.Types.Internal.UUID +instance (Data.Vector.Unboxed.Base.Unbox a, M.Pack.Internal.Types.Unpack a) => M.Pack.Internal.Types.Unpack (Data.Vector.Unboxed.Base.Vector a) +instance M.Pack.Internal.Types.Unpack a => M.Pack.Internal.Types.Unpack (Data.Vector.Vector a) + + +-- | Defines newtype wrappers that control how values are packed and +-- unpacked, including enum indices, fixed-point numbers, angles, and +-- identifiers. +module M.Pack.Internal.Newtypes + +-- | represent any Enum type using a zero-based index +newtype EnumIndex (i :: k) a +EnumIndex :: a -> EnumIndex (i :: k) a +[enumindex] :: EnumIndex (i :: k) a -> a + +-- | use an integer type i for serialization of a fixed-point +-- number with resolution r (see HasResolution, +-- Fixed), with underlying numeric representation f +newtype Fixed' (i :: k) (r :: k1) f +Fixed' :: f -> Fixed' (i :: k) (r :: k1) f +[unfixed'] :: Fixed' (i :: k) (r :: k1) f -> f + +-- | a signed angle; divides the circle into 256 parts +newtype Int8Angle +Int8Angle :: Int8 -> Int8Angle +[int8angle] :: Int8Angle -> Int8 + +-- | an "identifier" string, used for names, tags, etc. +-- +-- example: minecraft:stone or stone/stone +-- +-- validation only happens when unpacking (unpack) +newtype Identifier +Identifier :: Text -> Identifier +[identifier] :: Identifier -> Text + +-- | unresolved value; either an ID or an inline value +newtype IDorX a +IDorX :: Either Int32 a -> IDorX a + +-- | VarInt ID (NOT +1) or inline value +[idorvalue] :: IDorX a -> Either Int32 a + +-- | potentially unresolved ID set; either an identifier for its location +-- or an inline set of IDs +newtype IDSet +IDSet :: Either Text (Vector Int32) -> IDSet + +-- | name of ID set or inline set +[setnameorids] :: IDSet -> Either Text (Vector Int32) + +-- | a newtype wrapper over ByteString; not length-prefixed +newtype TakeRest +TakeRest :: ByteString -> TakeRest +[gettakerest] :: TakeRest -> ByteString + +-- | General Pack instance provider for Foldables +-- +-- length-prefixed (VarInt), strict left fold +newtype PackFoldableVI (f :: k -> Type) (a :: k) +PackFoldableVI :: f a -> PackFoldableVI (f :: k -> Type) (a :: k) +[getpackfoldablevi] :: PackFoldableVI (f :: k -> Type) (a :: k) -> f a + +-- | General Pack instance provider for Foldables +-- +-- no length prefix, strict left fold +newtype PackFoldable0 (f :: k -> Type) (a :: k) +PackFoldable0 :: f a -> PackFoldable0 (f :: k -> Type) (a :: k) +[getpackfoldable0] :: PackFoldable0 (f :: k -> Type) (a :: k) -> f a + +-- | General Unpack instance provider for Representables that +-- are also Traversable +newtype UnpackRepresentable0 (f :: k -> Type) (a :: k) +UnpackRepresentable0 :: f a -> UnpackRepresentable0 (f :: k -> Type) (a :: k) +[getunpackrepresentable0] :: UnpackRepresentable0 (f :: k -> Type) (a :: k) -> f a + +-- | convert degrees to Int8Angle +degtoi8angle :: RealFrac a => a -> Int8Angle + +-- | convert Int8Angle to degrees +i8angledeg :: RealFrac a => Int8Angle -> a +instance GHC.Base.Applicative M.Pack.Internal.Newtypes.IDorX +instance GHC.Base.Applicative f => GHC.Base.Applicative (M.Pack.Internal.Newtypes.PackFoldable0 f) +instance GHC.Base.Applicative f => GHC.Base.Applicative (M.Pack.Internal.Newtypes.PackFoldableVI f) +instance GHC.Base.Applicative f => GHC.Base.Applicative (M.Pack.Internal.Newtypes.UnpackRepresentable0 f) +instance forall k (i :: k) a. GHC.Enum.Bounded a => GHC.Enum.Bounded (M.Pack.Internal.Newtypes.EnumIndex i a) +instance forall k (i :: k) a. (Data.Typeable.Internal.Typeable i, Data.Typeable.Internal.Typeable k, Data.Data.Data a) => Data.Data.Data (M.Pack.Internal.Newtypes.EnumIndex i a) +instance forall k1 (i :: k1) k2 (r :: k2) f. (Data.Typeable.Internal.Typeable i, Data.Typeable.Internal.Typeable r, Data.Typeable.Internal.Typeable k1, Data.Typeable.Internal.Typeable k2, Data.Data.Data f) => Data.Data.Data (M.Pack.Internal.Newtypes.Fixed' i r f) +instance Data.Data.Data M.Pack.Internal.Newtypes.IDSet +instance Data.Data.Data a => Data.Data.Data (M.Pack.Internal.Newtypes.IDorX a) +instance Data.Data.Data M.Pack.Internal.Newtypes.Identifier +instance Data.Data.Data M.Pack.Internal.Newtypes.Int8Angle +instance forall k (f :: k -> *) (a :: k). (Data.Typeable.Internal.Typeable a, Data.Typeable.Internal.Typeable f, Data.Typeable.Internal.Typeable k, Data.Data.Data (f a)) => Data.Data.Data (M.Pack.Internal.Newtypes.PackFoldable0 f a) +instance forall k (f :: k -> *) (a :: k). (Data.Typeable.Internal.Typeable a, Data.Typeable.Internal.Typeable f, Data.Typeable.Internal.Typeable k, Data.Data.Data (f a)) => Data.Data.Data (M.Pack.Internal.Newtypes.PackFoldableVI f a) +instance Data.Data.Data M.Pack.Internal.Newtypes.TakeRest +instance forall k (f :: k -> *) (a :: k). (Data.Typeable.Internal.Typeable a, Data.Typeable.Internal.Typeable f, Data.Typeable.Internal.Typeable k, Data.Data.Data (f a)) => Data.Data.Data (M.Pack.Internal.Newtypes.UnpackRepresentable0 f a) +instance forall k (i :: k) a. GHC.Enum.Enum a => GHC.Enum.Enum (M.Pack.Internal.Newtypes.EnumIndex i a) +instance forall k1 (i :: k1) k2 (r :: k2) f. GHC.Enum.Enum f => GHC.Enum.Enum (M.Pack.Internal.Newtypes.Fixed' i r f) +instance GHC.Enum.Enum M.Pack.Internal.Newtypes.Int8Angle +instance Data.Functor.Classes.Eq1 f => Data.Functor.Classes.Eq1 (M.Pack.Internal.Newtypes.PackFoldable0 f) +instance Data.Functor.Classes.Eq1 f => Data.Functor.Classes.Eq1 (M.Pack.Internal.Newtypes.PackFoldableVI f) +instance Data.Functor.Classes.Eq1 f => Data.Functor.Classes.Eq1 (M.Pack.Internal.Newtypes.UnpackRepresentable0 f) +instance forall k (i :: k) a. GHC.Classes.Eq a => GHC.Classes.Eq (M.Pack.Internal.Newtypes.EnumIndex i a) +instance forall k1 (i :: k1) k2 (r :: k2) f. GHC.Classes.Eq f => GHC.Classes.Eq (M.Pack.Internal.Newtypes.Fixed' i r f) +instance GHC.Classes.Eq M.Pack.Internal.Newtypes.IDSet +instance GHC.Classes.Eq a => GHC.Classes.Eq (M.Pack.Internal.Newtypes.IDorX a) +instance GHC.Classes.Eq M.Pack.Internal.Newtypes.Identifier +instance GHC.Classes.Eq M.Pack.Internal.Newtypes.Int8Angle +instance forall k (f :: k -> *) (a :: k). GHC.Classes.Eq (f a) => GHC.Classes.Eq (M.Pack.Internal.Newtypes.PackFoldable0 f a) +instance forall k (f :: k -> *) (a :: k). GHC.Classes.Eq (f a) => GHC.Classes.Eq (M.Pack.Internal.Newtypes.PackFoldableVI f a) +instance GHC.Classes.Eq M.Pack.Internal.Newtypes.TakeRest +instance forall k (f :: k -> *) (a :: k). GHC.Classes.Eq (f a) => GHC.Classes.Eq (M.Pack.Internal.Newtypes.UnpackRepresentable0 f a) +instance Data.Foldable1.Foldable1 f => Data.Foldable1.Foldable1 (M.Pack.Internal.Newtypes.PackFoldable0 f) +instance Data.Foldable1.Foldable1 f => Data.Foldable1.Foldable1 (M.Pack.Internal.Newtypes.PackFoldableVI f) +instance Data.Foldable1.Foldable1 f => Data.Foldable1.Foldable1 (M.Pack.Internal.Newtypes.UnpackRepresentable0 f) +instance Data.Foldable.Foldable M.Pack.Internal.Newtypes.IDorX +instance Data.Foldable.Foldable f => Data.Foldable.Foldable (M.Pack.Internal.Newtypes.PackFoldable0 f) +instance Data.Foldable.Foldable f => Data.Foldable.Foldable (M.Pack.Internal.Newtypes.PackFoldableVI f) +instance Data.Foldable.Foldable f => Data.Foldable.Foldable (M.Pack.Internal.Newtypes.UnpackRepresentable0 f) +instance forall k1 (i :: k1) k2 (r :: k2) f. GHC.Real.Fractional f => GHC.Real.Fractional (M.Pack.Internal.Newtypes.Fixed' i r f) +instance forall k (i :: k). GHC.Base.Functor (M.Pack.Internal.Newtypes.EnumIndex i) +instance GHC.Base.Functor M.Pack.Internal.Newtypes.IDorX +instance GHC.Base.Functor f => GHC.Base.Functor (M.Pack.Internal.Newtypes.PackFoldable0 f) +instance GHC.Base.Functor f => GHC.Base.Functor (M.Pack.Internal.Newtypes.PackFoldableVI f) +instance GHC.Base.Functor f => GHC.Base.Functor (M.Pack.Internal.Newtypes.UnpackRepresentable0 f) +instance forall k (f :: k -> *). GHC.Generics.Generic1 (M.Pack.Internal.Newtypes.PackFoldable0 f) +instance forall k (f :: k -> *). GHC.Generics.Generic1 (M.Pack.Internal.Newtypes.PackFoldableVI f) +instance forall k (f :: k -> *). GHC.Generics.Generic1 (M.Pack.Internal.Newtypes.UnpackRepresentable0 f) +instance forall k (i :: k) a. GHC.Generics.Generic (M.Pack.Internal.Newtypes.EnumIndex i a) +instance forall k1 (i :: k1) k2 (r :: k2) f. GHC.Generics.Generic (M.Pack.Internal.Newtypes.Fixed' i r f) +instance GHC.Generics.Generic M.Pack.Internal.Newtypes.IDSet +instance GHC.Generics.Generic (M.Pack.Internal.Newtypes.IDorX a) +instance GHC.Generics.Generic M.Pack.Internal.Newtypes.Identifier +instance GHC.Generics.Generic M.Pack.Internal.Newtypes.Int8Angle +instance forall k (f :: k -> *) (a :: k). GHC.Generics.Generic (M.Pack.Internal.Newtypes.PackFoldable0 f a) +instance forall k (f :: k -> *) (a :: k). GHC.Generics.Generic (M.Pack.Internal.Newtypes.PackFoldableVI f a) +instance GHC.Generics.Generic M.Pack.Internal.Newtypes.TakeRest +instance forall k (f :: k -> *) (a :: k). GHC.Generics.Generic (M.Pack.Internal.Newtypes.UnpackRepresentable0 f a) +instance forall k (i :: k) a. Data.Hashable.Class.Hashable a => Data.Hashable.Class.Hashable (M.Pack.Internal.Newtypes.EnumIndex i a) +instance forall k1 (i :: k1) k2 (r :: k2) f. Data.Hashable.Class.Hashable f => Data.Hashable.Class.Hashable (M.Pack.Internal.Newtypes.Fixed' i r f) +instance Data.Hashable.Class.Hashable a => Data.Hashable.Class.Hashable (M.Pack.Internal.Newtypes.IDorX a) +instance Data.Hashable.Class.Hashable M.Pack.Internal.Newtypes.Identifier +instance Data.Hashable.Class.Hashable M.Pack.Internal.Newtypes.Int8Angle +instance forall k (f :: k -> *) (a :: k). Data.Hashable.Class.Hashable (f a) => Data.Hashable.Class.Hashable (M.Pack.Internal.Newtypes.PackFoldable0 f a) +instance forall k (f :: k -> *) (a :: k). Data.Hashable.Class.Hashable (f a) => Data.Hashable.Class.Hashable (M.Pack.Internal.Newtypes.PackFoldableVI f a) +instance Data.Hashable.Class.Hashable M.Pack.Internal.Newtypes.TakeRest +instance forall k (f :: k -> *) (a :: k). Data.Hashable.Class.Hashable (f a) => Data.Hashable.Class.Hashable (M.Pack.Internal.Newtypes.UnpackRepresentable0 f a) +instance GHC.Real.Integral M.Pack.Internal.Newtypes.Int8Angle +instance Data.String.IsString M.Pack.Internal.Newtypes.Identifier +instance forall k (i :: k) a. Language.Haskell.TH.Syntax.Lift a => Language.Haskell.TH.Syntax.Lift (M.Pack.Internal.Newtypes.EnumIndex i a) +instance forall k1 (i :: k1) k2 (r :: k2) f. Language.Haskell.TH.Syntax.Lift f => Language.Haskell.TH.Syntax.Lift (M.Pack.Internal.Newtypes.Fixed' i r f) +instance Language.Haskell.TH.Syntax.Lift a => Language.Haskell.TH.Syntax.Lift (M.Pack.Internal.Newtypes.IDorX a) +instance Language.Haskell.TH.Syntax.Lift M.Pack.Internal.Newtypes.Identifier +instance Language.Haskell.TH.Syntax.Lift M.Pack.Internal.Newtypes.Int8Angle +instance forall k (f :: k -> *) (a :: k). Language.Haskell.TH.Syntax.Lift (f a) => Language.Haskell.TH.Syntax.Lift (M.Pack.Internal.Newtypes.PackFoldable0 f a) +instance forall k (f :: k -> *) (a :: k). Language.Haskell.TH.Syntax.Lift (f a) => Language.Haskell.TH.Syntax.Lift (M.Pack.Internal.Newtypes.PackFoldableVI f a) +instance Language.Haskell.TH.Syntax.Lift M.Pack.Internal.Newtypes.TakeRest +instance forall k (f :: k -> *) (a :: k). Language.Haskell.TH.Syntax.Lift (f a) => Language.Haskell.TH.Syntax.Lift (M.Pack.Internal.Newtypes.UnpackRepresentable0 f a) +instance GHC.Base.Monad M.Pack.Internal.Newtypes.IDorX +instance GHC.Base.Monad f => GHC.Base.Monad (M.Pack.Internal.Newtypes.PackFoldable0 f) +instance GHC.Base.Monad f => GHC.Base.Monad (M.Pack.Internal.Newtypes.PackFoldableVI f) +instance GHC.Base.Monad f => GHC.Base.Monad (M.Pack.Internal.Newtypes.UnpackRepresentable0 f) +instance GHC.Base.Monoid M.Pack.Internal.Newtypes.Identifier +instance forall k (f :: k -> *) (a :: k). GHC.Base.Monoid (f a) => GHC.Base.Monoid (M.Pack.Internal.Newtypes.PackFoldable0 f a) +instance forall k (f :: k -> *) (a :: k). GHC.Base.Monoid (f a) => GHC.Base.Monoid (M.Pack.Internal.Newtypes.PackFoldableVI f a) +instance GHC.Base.Monoid M.Pack.Internal.Newtypes.TakeRest +instance forall k (f :: k -> *) (a :: k). GHC.Base.Monoid (f a) => GHC.Base.Monoid (M.Pack.Internal.Newtypes.UnpackRepresentable0 f a) +instance forall k (i :: k) a. Control.DeepSeq.NFData a => Control.DeepSeq.NFData (M.Pack.Internal.Newtypes.EnumIndex i a) +instance forall k1 (i :: k1) k2 (r :: k2) f. Control.DeepSeq.NFData f => Control.DeepSeq.NFData (M.Pack.Internal.Newtypes.Fixed' i r f) +instance Control.DeepSeq.NFData M.Pack.Internal.Newtypes.IDSet +instance Control.DeepSeq.NFData a => Control.DeepSeq.NFData (M.Pack.Internal.Newtypes.IDorX a) +instance Control.DeepSeq.NFData M.Pack.Internal.Newtypes.Identifier +instance Control.DeepSeq.NFData M.Pack.Internal.Newtypes.Int8Angle +instance forall k (f :: k -> *) (a :: k). Control.DeepSeq.NFData (f a) => Control.DeepSeq.NFData (M.Pack.Internal.Newtypes.PackFoldable0 f a) +instance forall k (f :: k -> *) (a :: k). Control.DeepSeq.NFData (f a) => Control.DeepSeq.NFData (M.Pack.Internal.Newtypes.PackFoldableVI f a) +instance Control.DeepSeq.NFData M.Pack.Internal.Newtypes.TakeRest +instance forall k (f :: k -> *) (a :: k). Control.DeepSeq.NFData (f a) => Control.DeepSeq.NFData (M.Pack.Internal.Newtypes.UnpackRepresentable0 f a) +instance forall k1 (i :: k1) k2 (r :: k2) f. GHC.Num.Num f => GHC.Num.Num (M.Pack.Internal.Newtypes.Fixed' i r f) +instance GHC.Num.Num M.Pack.Internal.Newtypes.Int8Angle +instance Data.Functor.Classes.Ord1 f => Data.Functor.Classes.Ord1 (M.Pack.Internal.Newtypes.PackFoldable0 f) +instance Data.Functor.Classes.Ord1 f => Data.Functor.Classes.Ord1 (M.Pack.Internal.Newtypes.PackFoldableVI f) +instance Data.Functor.Classes.Ord1 f => Data.Functor.Classes.Ord1 (M.Pack.Internal.Newtypes.UnpackRepresentable0 f) +instance forall k (i :: k) a. GHC.Classes.Ord a => GHC.Classes.Ord (M.Pack.Internal.Newtypes.EnumIndex i a) +instance forall k1 (i :: k1) k2 (r :: k2) f. GHC.Classes.Ord f => GHC.Classes.Ord (M.Pack.Internal.Newtypes.Fixed' i r f) +instance GHC.Classes.Ord M.Pack.Internal.Newtypes.IDSet +instance GHC.Classes.Ord a => GHC.Classes.Ord (M.Pack.Internal.Newtypes.IDorX a) +instance GHC.Classes.Ord M.Pack.Internal.Newtypes.Identifier +instance GHC.Classes.Ord M.Pack.Internal.Newtypes.Int8Angle +instance forall k (f :: k -> *) (a :: k). GHC.Classes.Ord (f a) => GHC.Classes.Ord (M.Pack.Internal.Newtypes.PackFoldable0 f a) +instance forall k (f :: k -> *) (a :: k). GHC.Classes.Ord (f a) => GHC.Classes.Ord (M.Pack.Internal.Newtypes.PackFoldableVI f a) +instance GHC.Classes.Ord M.Pack.Internal.Newtypes.TakeRest +instance forall k (f :: k -> *) (a :: k). GHC.Classes.Ord (f a) => GHC.Classes.Ord (M.Pack.Internal.Newtypes.UnpackRepresentable0 f a) +instance (GHC.Enum.Enum a, GHC.Real.Integral i, M.Pack.Internal.Types.Pack i) => M.Pack.Internal.Types.Pack (M.Pack.Internal.Newtypes.EnumIndex i a) +instance forall k i f (r :: k). (GHC.Real.Integral i, M.Pack.Internal.Types.Pack i, GHC.Real.Real f, Data.Fixed.HasResolution r) => M.Pack.Internal.Types.Pack (M.Pack.Internal.Newtypes.Fixed' i r f) +instance M.Pack.Internal.Types.Pack M.Pack.Internal.Newtypes.IDSet +instance M.Pack.Internal.Types.Pack a => M.Pack.Internal.Types.Pack (M.Pack.Internal.Newtypes.IDorX a) +instance M.Pack.Internal.Types.Pack M.Pack.Internal.Newtypes.Identifier +instance M.Pack.Internal.Types.Pack M.Pack.Internal.Newtypes.Int8Angle +instance (M.Pack.Internal.Types.Pack a, Data.Foldable.Foldable f) => M.Pack.Internal.Types.Pack (M.Pack.Internal.Newtypes.PackFoldable0 f a) +instance (M.Pack.Internal.Types.Pack a, Data.Foldable.Foldable f) => M.Pack.Internal.Types.Pack (M.Pack.Internal.Newtypes.PackFoldableVI f a) +instance M.Pack.Internal.Types.Pack M.Pack.Internal.Newtypes.TakeRest +instance Data.Functor.Classes.Read1 f => Data.Functor.Classes.Read1 (M.Pack.Internal.Newtypes.PackFoldable0 f) +instance Data.Functor.Classes.Read1 f => Data.Functor.Classes.Read1 (M.Pack.Internal.Newtypes.PackFoldableVI f) +instance Data.Functor.Classes.Read1 f => Data.Functor.Classes.Read1 (M.Pack.Internal.Newtypes.UnpackRepresentable0 f) +instance forall k (i :: k) a. GHC.Read.Read a => GHC.Read.Read (M.Pack.Internal.Newtypes.EnumIndex i a) +instance forall k1 (i :: k1) k2 (r :: k2) f. GHC.Read.Read f => GHC.Read.Read (M.Pack.Internal.Newtypes.Fixed' i r f) +instance GHC.Read.Read M.Pack.Internal.Newtypes.IDSet +instance GHC.Read.Read a => GHC.Read.Read (M.Pack.Internal.Newtypes.IDorX a) +instance GHC.Read.Read M.Pack.Internal.Newtypes.Identifier +instance GHC.Read.Read M.Pack.Internal.Newtypes.Int8Angle +instance forall k (f :: k -> *) (a :: k). GHC.Read.Read (f a) => GHC.Read.Read (M.Pack.Internal.Newtypes.PackFoldable0 f a) +instance forall k (f :: k -> *) (a :: k). GHC.Read.Read (f a) => GHC.Read.Read (M.Pack.Internal.Newtypes.PackFoldableVI f a) +instance GHC.Read.Read M.Pack.Internal.Newtypes.TakeRest +instance forall k (f :: k -> *) (a :: k). GHC.Read.Read (f a) => GHC.Read.Read (M.Pack.Internal.Newtypes.UnpackRepresentable0 f a) +instance forall k1 (i :: k1) k2 (r :: k2) f. GHC.Real.RealFrac f => GHC.Real.RealFrac (M.Pack.Internal.Newtypes.Fixed' i r f) +instance forall k1 (i :: k1) k2 (r :: k2) f. GHC.Real.Real f => GHC.Real.Real (M.Pack.Internal.Newtypes.Fixed' i r f) +instance GHC.Real.Real M.Pack.Internal.Newtypes.Int8Angle +instance GHC.Base.Semigroup M.Pack.Internal.Newtypes.IDSet +instance GHC.Base.Semigroup (M.Pack.Internal.Newtypes.IDorX a) +instance GHC.Base.Semigroup M.Pack.Internal.Newtypes.Identifier +instance forall k (f :: k -> *) (a :: k). GHC.Base.Semigroup (f a) => GHC.Base.Semigroup (M.Pack.Internal.Newtypes.PackFoldable0 f a) +instance forall k (f :: k -> *) (a :: k). GHC.Base.Semigroup (f a) => GHC.Base.Semigroup (M.Pack.Internal.Newtypes.PackFoldableVI f a) +instance GHC.Base.Semigroup M.Pack.Internal.Newtypes.TakeRest +instance forall k (f :: k -> *) (a :: k). GHC.Base.Semigroup (f a) => GHC.Base.Semigroup (M.Pack.Internal.Newtypes.UnpackRepresentable0 f a) +instance Data.Functor.Classes.Show1 f => Data.Functor.Classes.Show1 (M.Pack.Internal.Newtypes.PackFoldable0 f) +instance Data.Functor.Classes.Show1 f => Data.Functor.Classes.Show1 (M.Pack.Internal.Newtypes.PackFoldableVI f) +instance Data.Functor.Classes.Show1 f => Data.Functor.Classes.Show1 (M.Pack.Internal.Newtypes.UnpackRepresentable0 f) +instance forall k (i :: k) a. GHC.Show.Show a => GHC.Show.Show (M.Pack.Internal.Newtypes.EnumIndex i a) +instance forall k1 (i :: k1) k2 (r :: k2) f. GHC.Show.Show f => GHC.Show.Show (M.Pack.Internal.Newtypes.Fixed' i r f) +instance GHC.Show.Show M.Pack.Internal.Newtypes.IDSet +instance GHC.Show.Show a => GHC.Show.Show (M.Pack.Internal.Newtypes.IDorX a) +instance GHC.Show.Show M.Pack.Internal.Newtypes.Identifier +instance GHC.Show.Show M.Pack.Internal.Newtypes.Int8Angle +instance forall k (f :: k -> *) (a :: k). GHC.Show.Show (f a) => GHC.Show.Show (M.Pack.Internal.Newtypes.PackFoldable0 f a) +instance forall k (f :: k -> *) (a :: k). GHC.Show.Show (f a) => GHC.Show.Show (M.Pack.Internal.Newtypes.PackFoldableVI f a) +instance GHC.Show.Show M.Pack.Internal.Newtypes.TakeRest +instance forall k (f :: k -> *) (a :: k). GHC.Show.Show (f a) => GHC.Show.Show (M.Pack.Internal.Newtypes.UnpackRepresentable0 f a) +instance (GHC.Enum.Enum a, GHC.Enum.Bounded a, GHC.Real.Integral i, M.Pack.Internal.Types.Unpack i) => M.Pack.Internal.Types.Unpack (M.Pack.Internal.Newtypes.EnumIndex i a) +instance forall k i f (r :: k). (GHC.Real.Integral i, M.Pack.Internal.Types.Unpack i, GHC.Real.Fractional f, Data.Fixed.HasResolution r) => M.Pack.Internal.Types.Unpack (M.Pack.Internal.Newtypes.Fixed' i r f) +instance M.Pack.Internal.Types.Unpack M.Pack.Internal.Newtypes.IDSet +instance M.Pack.Internal.Types.Unpack a => M.Pack.Internal.Types.Unpack (M.Pack.Internal.Newtypes.IDorX a) +instance M.Pack.Internal.Types.Unpack M.Pack.Internal.Newtypes.Identifier +instance M.Pack.Internal.Types.Unpack M.Pack.Internal.Newtypes.Int8Angle +instance M.Pack.Internal.Types.Unpack M.Pack.Internal.Newtypes.TakeRest +instance (M.Pack.Internal.Types.Unpack a, Data.Functor.Rep.Representable f, Data.Traversable.Traversable f) => M.Pack.Internal.Types.Unpack (M.Pack.Internal.Newtypes.UnpackRepresentable0 f a) + + +-- | Provides Pack and Unpack instances for linear algebra types from the +-- linear package, including vectors and complex numbers. +module M.Pack.Internal.Linear +instance M.Pack.Internal.Types.Pack a => M.Pack.Internal.Types.Pack (Data.Complex.Complex a) +instance M.Pack.Internal.Types.Pack a => M.Pack.Internal.Types.Pack (Linear.Quaternion.Quaternion a) +instance forall k (n :: k) a. M.Pack.Internal.Types.Pack a => M.Pack.Internal.Types.Pack (Linear.V.V n a) +instance M.Pack.Internal.Types.Pack a => M.Pack.Internal.Types.Pack (Linear.V0.V0 a) +instance M.Pack.Internal.Types.Pack a => M.Pack.Internal.Types.Pack (Linear.V1.V1 a) +instance M.Pack.Internal.Types.Pack a => M.Pack.Internal.Types.Pack (Linear.V2.V2 a) +instance M.Pack.Internal.Types.Pack a => M.Pack.Internal.Types.Pack (Linear.V3.V3 a) +instance M.Pack.Internal.Types.Pack a => M.Pack.Internal.Types.Pack (Linear.V4.V4 a) +instance M.Pack.Internal.Types.Unpack a => M.Pack.Internal.Types.Unpack (Data.Complex.Complex a) +instance M.Pack.Internal.Types.Unpack a => M.Pack.Internal.Types.Unpack (Linear.Quaternion.Quaternion a) +instance forall k (n :: k) a. (M.Pack.Internal.Types.Unpack a, Linear.V.Dim n) => M.Pack.Internal.Types.Unpack (Linear.V.V n a) +instance M.Pack.Internal.Types.Unpack a => M.Pack.Internal.Types.Unpack (Linear.V0.V0 a) +instance M.Pack.Internal.Types.Unpack a => M.Pack.Internal.Types.Unpack (Linear.V1.V1 a) +instance M.Pack.Internal.Types.Unpack a => M.Pack.Internal.Types.Unpack (Linear.V2.V2 a) +instance M.Pack.Internal.Types.Unpack a => M.Pack.Internal.Types.Unpack (Linear.V3.V3 a) +instance M.Pack.Internal.Types.Unpack a => M.Pack.Internal.Types.Unpack (Linear.V4.V4 a) + + +-- | Implements bit-level serialization for boolean flags and bitsets, +-- supporting both variable-length and fixed-length bit patterns. +module M.Pack.Internal.Bit + +-- | a wrapper type that enables bit-level packing of boolean product +-- types. the type parameter i specifies the underlying integral +-- type used to store the bits (e.g. Word8, Word16, etc). the type +-- parameter a is the product type containing the boolean fields +-- to be encoded. +newtype Bitwise (i :: k) a +Bitwise :: a -> Bitwise (i :: k) a +[unbitwise] :: Bitwise (i :: k) a -> a + +-- | type class for types that can be represented as bit flags. provides +-- methods for converting to and from bit representations. +-- +-- most users should not need to implement this directly - just derive +-- Generic for your type and declare an instance without +-- implementations: +-- +--
+--   instance Bitreppable Word8 MyFlags
+--   
+class Bitreppable i a +tobits0 :: Bitreppable i a => a -> Builder +($dmtobits0) :: (Bitreppable i a, Generic a, GBitRep (Rep a), Integral i, Bits i, Pack i) => a -> Builder +frombits0 :: forall (st :: ZeroBitType) r. Bitreppable i a => Parser st r a +($dmfrombits0) :: forall r (st :: ZeroBitType). (Bitreppable i a, Generic a, GBitRep (Rep a), Integral i, Bits i, Unpack i) => Parser st r a + +-- | variable-length bitset +-- +-- (network representation: little-endian vector of Int64s) +newtype Bitset +Bitset :: Integer -> Bitset +[getbitset] :: Bitset -> Integer + +-- | a fixed-size bitset with i bits +-- +-- (implemented identically to Bitset; only difference is that +-- when ser/de occurs, it pads missing bits with zeroes. hence it is also +-- possible to access out-of-bounds bits, and these bits will get +-- silently truncated when ser/de occurs) +newtype FixedBitset (i :: k) +FixedBitset :: Integer -> FixedBitset (i :: k) +[getfixedbitset] :: FixedBitset (i :: k) -> Integer +instance GHC.Bits.Bits M.Pack.Internal.Bit.Bitset +instance forall k (i :: k). GHC.Bits.Bits (M.Pack.Internal.Bit.FixedBitset i) +instance Data.Data.Data M.Pack.Internal.Bit.Bitset +instance forall k (i :: k) a. (Data.Typeable.Internal.Typeable i, Data.Typeable.Internal.Typeable k, Data.Data.Data a) => Data.Data.Data (M.Pack.Internal.Bit.Bitwise i a) +instance forall k (i :: k). (Data.Typeable.Internal.Typeable i, Data.Typeable.Internal.Typeable k) => Data.Data.Data (M.Pack.Internal.Bit.FixedBitset i) +instance GHC.Enum.Enum M.Pack.Internal.Bit.Bitset +instance forall k (i :: k). GHC.Enum.Enum (M.Pack.Internal.Bit.FixedBitset i) +instance GHC.Classes.Eq M.Pack.Internal.Bit.Bitset +instance forall k (i :: k) a. GHC.Classes.Eq a => GHC.Classes.Eq (M.Pack.Internal.Bit.Bitwise i a) +instance forall k (i :: k). GHC.Classes.Eq (M.Pack.Internal.Bit.FixedBitset i) +instance forall k (i :: k). GHC.Base.Functor (M.Pack.Internal.Bit.Bitwise i) +instance forall k (f :: k -> *) (g :: k -> *). (M.Pack.Internal.Bit.GBitRep f, M.Pack.Internal.Bit.GBitRep g) => M.Pack.Internal.Bit.GBitRep (f GHC.Generics.:*: g) +instance M.Pack.Internal.Bit.GBitRep (GHC.Generics.K1 GHC.Generics.R GHC.Types.Bool) +instance forall k (f :: k -> *) i (c :: GHC.Generics.Meta). M.Pack.Internal.Bit.GBitRep f => M.Pack.Internal.Bit.GBitRep (GHC.Generics.M1 i c f) +instance M.Pack.Internal.Bit.GBitRep GHC.Generics.U1 +instance M.Pack.Internal.Bit.GBitRep GHC.Generics.V1 +instance GHC.Generics.Generic M.Pack.Internal.Bit.Bitset +instance forall k (i :: k) a. GHC.Generics.Generic (M.Pack.Internal.Bit.Bitwise i a) +instance forall k (i :: k). GHC.Generics.Generic (M.Pack.Internal.Bit.FixedBitset i) +instance Data.Hashable.Class.Hashable M.Pack.Internal.Bit.Bitset +instance forall k (i :: k) a. Data.Hashable.Class.Hashable a => Data.Hashable.Class.Hashable (M.Pack.Internal.Bit.Bitwise i a) +instance forall k (i :: k). Data.Hashable.Class.Hashable (M.Pack.Internal.Bit.FixedBitset i) +instance Language.Haskell.TH.Syntax.Lift M.Pack.Internal.Bit.Bitset +instance forall k (i :: k) a. Language.Haskell.TH.Syntax.Lift a => Language.Haskell.TH.Syntax.Lift (M.Pack.Internal.Bit.Bitwise i a) +instance forall k (i :: k). Language.Haskell.TH.Syntax.Lift (M.Pack.Internal.Bit.FixedBitset i) +instance Control.DeepSeq.NFData M.Pack.Internal.Bit.Bitset +instance forall k (i :: k) a. Control.DeepSeq.NFData a => Control.DeepSeq.NFData (M.Pack.Internal.Bit.Bitwise i a) +instance forall k (i :: k). Control.DeepSeq.NFData (M.Pack.Internal.Bit.FixedBitset i) +instance GHC.Num.Num M.Pack.Internal.Bit.Bitset +instance forall k (i :: k). GHC.Num.Num (M.Pack.Internal.Bit.FixedBitset i) +instance GHC.Classes.Ord M.Pack.Internal.Bit.Bitset +instance forall k (i :: k) a. GHC.Classes.Ord a => GHC.Classes.Ord (M.Pack.Internal.Bit.Bitwise i a) +instance forall k (i :: k). GHC.Classes.Ord (M.Pack.Internal.Bit.FixedBitset i) +instance M.Pack.Internal.Types.Pack M.Pack.Internal.Bit.Bitset +instance M.Pack.Internal.Bit.Bitreppable i a => M.Pack.Internal.Types.Pack (M.Pack.Internal.Bit.Bitwise i a) +instance GHC.TypeNats.KnownNat i => M.Pack.Internal.Types.Pack (M.Pack.Internal.Bit.FixedBitset i) +instance GHC.Read.Read M.Pack.Internal.Bit.Bitset +instance forall k (i :: k) a. GHC.Read.Read a => GHC.Read.Read (M.Pack.Internal.Bit.Bitwise i a) +instance forall k (i :: k). GHC.Read.Read (M.Pack.Internal.Bit.FixedBitset i) +instance GHC.Real.Real M.Pack.Internal.Bit.Bitset +instance forall k (i :: k). GHC.Real.Real (M.Pack.Internal.Bit.FixedBitset i) +instance GHC.Show.Show M.Pack.Internal.Bit.Bitset +instance forall k (i :: k) a. GHC.Show.Show a => GHC.Show.Show (M.Pack.Internal.Bit.Bitwise i a) +instance forall k (i :: k). GHC.Show.Show (M.Pack.Internal.Bit.FixedBitset i) +instance M.Pack.Internal.Types.Unpack M.Pack.Internal.Bit.Bitset +instance M.Pack.Internal.Bit.Bitreppable i a => M.Pack.Internal.Types.Unpack (M.Pack.Internal.Bit.Bitwise i a) +instance GHC.TypeNats.KnownNat i => M.Pack.Internal.Types.Unpack (M.Pack.Internal.Bit.FixedBitset i) + + +-- | Provides the core serialization framework including Pack and Unpack +-- typeclasses, along with utilities for numeric types, newtypes, bit +-- operations, and Template Haskell support for automated instance +-- derivation. +module M.Pack + + +-- | Internal type definitions for Named Binary Tag (NBT) format used in +-- Minecraft, including tag types and container types. +module M.NBT.Internal.Types + +-- | NBT tag types +data Ty + +-- | special type for the end of a compound tag +TEnd :: Ty +TByte :: Ty +TShort :: Ty +TInt :: Ty +TLong :: Ty +TFloat :: Ty +TDouble :: Ty +TByteArray :: Ty +TString :: Ty +TList :: Ty +TCompound :: Ty +TIntArray :: Ty +TLongArray :: Ty + +-- | NBT tag +data Tg + +-- | used for internal purposes only +[End] :: Tg +[Byte] :: Int8 -> Tg +[Short] :: Int16 -> Tg +[Int] :: Int32 -> Tg +[Long] :: Int64 -> Tg +[Float] :: Float -> Tg +[Double] :: Double -> Tg +[ByteArray] :: ByteString -> Tg +[String] :: Text -> Tg + +-- | a homogeneous list of tags +[List] :: Ty -> Vector Tg -> Tg +[Compound] :: HashMap Text Tg -> Tg +[IntArray] :: Vector Int32 -> Tg +[LongArray] :: Vector Int64 -> Tg + +-- | get the type of a tag +getty :: Tg -> Ty +instance GHC.Enum.Bounded M.NBT.Internal.Types.Ty +instance Data.Data.Data M.NBT.Internal.Types.Tg +instance Data.Data.Data M.NBT.Internal.Types.Ty +instance GHC.Enum.Enum M.NBT.Internal.Types.Ty +instance GHC.Classes.Eq M.NBT.Internal.Types.Tg +instance GHC.Classes.Eq M.NBT.Internal.Types.Ty +instance GHC.Generics.Generic M.NBT.Internal.Types.Tg +instance GHC.Generics.Generic M.NBT.Internal.Types.Ty +instance Data.Hashable.Class.Hashable M.NBT.Internal.Types.Ty +instance Data.String.IsString M.NBT.Internal.Types.Tg +instance Language.Haskell.TH.Syntax.Lift M.NBT.Internal.Types.Ty +instance Control.DeepSeq.NFData M.NBT.Internal.Types.Tg +instance Control.DeepSeq.NFData M.NBT.Internal.Types.Ty +instance GHC.Classes.Ord M.NBT.Internal.Types.Tg +instance GHC.Classes.Ord M.NBT.Internal.Types.Ty +instance M.Pack.Internal.Types.Pack M.NBT.Internal.Types.Ty +instance GHC.Read.Read M.NBT.Internal.Types.Tg +instance GHC.Read.Read M.NBT.Internal.Types.Ty +instance GHC.Show.Show M.NBT.Internal.Types.Tg +instance GHC.Show.Show M.NBT.Internal.Types.Ty +instance M.Pack.Internal.Types.Unpack M.NBT.Internal.Types.Ty + + +-- | Implements Java's Modified UTF-8 (CESU-8) encoding and decoding for +-- string handling in NBT format. +-- +-- See: +-- https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html#modified-utf-8 +module M.NBT.Internal.JS + +-- | Java's CESU-8 encoding/decoding +-- +-- this newtype is purely for modulation of encoding and decoding. it is +-- not intended to be used directly in the public API +-- +-- use textascesu8 and cesu8astext to convert between +-- Text and ByteString +-- +-- see: +-- +-- +newtype JS +JS :: Text -> JS +[getjs] :: JS -> Text + +-- | encode Text into CESU-8 ByteString +textascesu8 :: Text -> ByteString + +-- | decode CESU-8 ByteString into Text +cesu8astext :: ByteString -> Maybe Text + +-- | encode text to CESU-8 +tocesu8 :: JS -> ByteString + +-- | encode text to CESU-8 (Builder version) +tocesu8p :: JS -> Builder + +-- | decode CESU-8 encoded text +fromcesu8 :: ByteString -> Maybe JS + +-- | decode CESU-8 encoded text (Parser version) +fromcesu8p :: forall (st :: ZeroBitType) r. Parser st r JS +instance Data.Data.Data M.NBT.Internal.JS.JS +instance GHC.Classes.Eq M.NBT.Internal.JS.JS +instance GHC.Generics.Generic M.NBT.Internal.JS.JS +instance Data.Hashable.Class.Hashable M.NBT.Internal.JS.JS +instance Data.String.IsString M.NBT.Internal.JS.JS +instance Language.Haskell.TH.Syntax.Lift M.NBT.Internal.JS.JS +instance Control.DeepSeq.NFData M.NBT.Internal.JS.JS +instance GHC.Classes.Ord M.NBT.Internal.JS.JS +instance M.Pack.Internal.Types.Pack M.NBT.Internal.JS.JS +instance GHC.Read.Read M.NBT.Internal.JS.JS +instance GHC.Show.Show M.NBT.Internal.JS.JS +instance M.Pack.Internal.Types.Unpack M.NBT.Internal.JS.JS + + +-- | Implements parsing and serialization for NBT data structures, handling +-- named pairs and tag types. +module M.NBT.Internal.P + +-- | named pair of a Text and a Tg +data NamedPair +NamedPair :: !Text -> !Tg -> NamedPair +instance Data.Data.Data M.NBT.Internal.P.NamedPair +instance GHC.Classes.Eq M.NBT.Internal.P.NamedPair +instance GHC.Generics.Generic M.NBT.Internal.P.NamedPair +instance Control.DeepSeq.NFData M.NBT.Internal.P.NamedPair +instance GHC.Classes.Ord M.NBT.Internal.P.NamedPair +instance M.Pack.Internal.Types.Pack M.NBT.Internal.P.NamedPair +instance M.Pack.Internal.Types.Pack M.NBT.Internal.Types.Tg +instance GHC.Read.Read M.NBT.Internal.P.NamedPair +instance GHC.Show.Show M.NBT.Internal.P.NamedPair +instance M.Pack.Internal.Types.Unpack M.NBT.Internal.P.NamedPair +instance M.Pack.Internal.Types.Unpack M.NBT.Internal.Types.Tg + + +-- | Provides types and functions for working with Minecraft's NBT format, +-- which is used for storing structured binary data. +module M.NBT + +-- | NBT tag types +data Ty + +-- | special type for the end of a compound tag +TEnd :: Ty +TByte :: Ty +TShort :: Ty +TInt :: Ty +TLong :: Ty +TFloat :: Ty +TDouble :: Ty +TByteArray :: Ty +TString :: Ty +TList :: Ty +TCompound :: Ty +TIntArray :: Ty +TLongArray :: Ty + +-- | NBT tag +data Tg + +-- | used for internal purposes only +[End] :: Tg +[Byte] :: Int8 -> Tg +[Short] :: Int16 -> Tg +[Int] :: Int32 -> Tg +[Long] :: Int64 -> Tg +[Float] :: Float -> Tg +[Double] :: Double -> Tg +[ByteArray] :: ByteString -> Tg +[String] :: Text -> Tg + +-- | a homogeneous list of tags +[List] :: Ty -> Vector Tg -> Tg +[Compound] :: HashMap Text Tg -> Tg +[IntArray] :: Vector Int32 -> Tg +[LongArray] :: Vector Int64 -> Tg + +-- | named pair of a Text and a Tg +data NamedPair +NamedPair :: !Text -> !Tg -> NamedPair + + +-- | Defines common types used across the Minecraft protocol +-- implementation, including teleportation flags and sound events. +module M.Misc + +-- | flags for teleporting an entity +-- +-- 16+ bits +data TeleportFlags +TeleportFlags :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> TeleportFlags +[tprelx] :: TeleportFlags -> Bool +[tprely] :: TeleportFlags -> Bool +[tprelz] :: TeleportFlags -> Bool +[tprelyaw] :: TeleportFlags -> Bool +[tprelpitch] :: TeleportFlags -> Bool +[tprelvelx] :: TeleportFlags -> Bool +[tprelvely] :: TeleportFlags -> Bool +[tprelvelz] :: TeleportFlags -> Bool +[tprelvelyaw] :: TeleportFlags -> Bool + +-- | from The Minecraft Wiki: "Rotate velocity according to the change in +-- rotation, before applying the velocity change in this packet. +-- Combining this with absolute rotation works as expected—the difference +-- in rotation is still used." +[tprotvelfirst] :: TeleportFlags -> Bool +data SoundEvent +SoundEvent :: Text -> Maybe Float -> SoundEvent +[soundname] :: SoundEvent -> Text +[fixedrange] :: SoundEvent -> Maybe Float +instance (GHC.Bits.Bits i, GHC.Real.Integral i, M.Pack.Internal.Types.Pack i, M.Pack.Internal.Types.Unpack i) => M.Pack.Internal.Bit.Bitreppable i M.Misc.TeleportFlags +instance Data.Data.Data M.Misc.SoundEvent +instance Data.Data.Data M.Misc.TeleportFlags +instance GHC.Classes.Eq M.Misc.SoundEvent +instance GHC.Classes.Eq M.Misc.SoundEvent__ +instance GHC.Classes.Eq M.Misc.TeleportFlags +instance GHC.Generics.Generic M.Misc.SoundEvent +instance GHC.Generics.Generic M.Misc.SoundEvent__ +instance GHC.Generics.Generic M.Misc.TeleportFlags +instance Data.Hashable.Class.Hashable M.Misc.SoundEvent +instance Data.Hashable.Class.Hashable M.Misc.SoundEvent__ +instance Data.Hashable.Class.Hashable M.Misc.TeleportFlags +instance Language.Haskell.TH.Syntax.Lift M.Misc.SoundEvent +instance Language.Haskell.TH.Syntax.Lift M.Misc.TeleportFlags +instance Control.DeepSeq.NFData M.Misc.SoundEvent +instance Control.DeepSeq.NFData M.Misc.SoundEvent__ +instance Control.DeepSeq.NFData M.Misc.TeleportFlags +instance GHC.Classes.Ord M.Misc.SoundEvent +instance GHC.Classes.Ord M.Misc.SoundEvent__ +instance GHC.Classes.Ord M.Misc.TeleportFlags +instance M.Pack.Internal.Types.Pack M.Misc.SoundEvent +instance M.Pack.Internal.Types.Pack M.Misc.SoundEvent__ +instance GHC.Read.Read M.Misc.SoundEvent +instance GHC.Read.Read M.Misc.TeleportFlags +instance GHC.Show.Show M.Misc.SoundEvent +instance GHC.Show.Show M.Misc.TeleportFlags +instance M.Pack.Internal.Types.Unpack M.Misc.SoundEvent +instance M.Pack.Internal.Types.Unpack M.Misc.SoundEvent__ + + +-- | Internal module for handling low-level packet parsing and building, +-- including uninterpreted packets and stream transformations. +module M.IO.Internal.Datagram + +-- | uninterpreted packet +data Uninterpreted +Uninterpreted :: !Word8 -> !ByteString -> Uninterpreted +[pkcode] :: Uninterpreted -> !Word8 +[pkdata] :: Uninterpreted -> !ByteString + +-- | end of input +data EOF +EOF :: EOF + +-- | make a stream of uninterpreted packets +makepacketstreami :: TVar Int -> InputStream ByteString -> IO (InputStream Uninterpreted) + +-- | make an output stream of uninterpreted packets +makepacketstreamo :: TVar Int -> OutputStream ByteString -> IO (OutputStream Uninterpreted) + +-- | register an octet streaming decryptor to an input stream +makedecrypting :: TVar (ByteString -> IO ByteString) -> InputStream ByteString -> IO (InputStream ByteString) + +-- | register an octet stremaing encryptor to an output stream +makeencrypting :: TVar (ByteString -> IO ByteString) -> OutputStream ByteString -> IO (OutputStream ByteString) +instance Data.Data.Data M.IO.Internal.Datagram.EOF +instance Data.Data.Data M.IO.Internal.Datagram.Uninterpreted +instance GHC.Classes.Eq M.IO.Internal.Datagram.Uninterpreted +instance GHC.Exception.Type.Exception M.IO.Internal.Datagram.EOF +instance GHC.Generics.Generic M.IO.Internal.Datagram.EOF +instance GHC.Generics.Generic M.IO.Internal.Datagram.Uninterpreted +instance Data.Hashable.Class.Hashable M.IO.Internal.Datagram.Uninterpreted +instance Language.Haskell.TH.Syntax.Lift M.IO.Internal.Datagram.EOF +instance Language.Haskell.TH.Syntax.Lift M.IO.Internal.Datagram.Uninterpreted +instance GHC.Base.Monoid M.IO.Internal.Datagram.Building +instance Control.DeepSeq.NFData M.IO.Internal.Datagram.Uninterpreted +instance GHC.Classes.Ord M.IO.Internal.Datagram.Uninterpreted +instance GHC.Read.Read M.IO.Internal.Datagram.EOF +instance GHC.Base.Semigroup M.IO.Internal.Datagram.Building +instance GHC.Show.Show M.IO.Internal.Datagram.EOF +instance GHC.Show.Show M.IO.Internal.Datagram.Uninterpreted + + +-- | Implements reliable duplex stream connections for the Java Minecraft +-- protocol, handling encryption and compression. +module M.IO.Internal.Socket + +-- | a connection to either a server or a client +data Connection +Connection :: TVar (Maybe ByteString) -> TVar Int -> InputStream Uninterpreted -> OutputStream Uninterpreted -> Connection + +-- | encryption key, AES-128-CFB8; doubles as IV +[cxkey] :: Connection -> TVar (Maybe ByteString) + +-- | compression threshold; negative = off, non-negative = on with +-- threshold +[cxcompth] :: Connection -> TVar Int + +-- | input stream +[cxinput] :: Connection -> InputStream Uninterpreted + +-- | output stream +[cxoutput] :: Connection -> OutputStream Uninterpreted + +-- | create a connection from a socket +withcxfromsocket :: Socket -> (Connection -> IO a) -> IO a + + +-- | This module defines the core effects used for networking in the +-- Minecraft protocol implementation. It provides bidirectional packet +-- communication with compression and encryption support. +module M.IO.Internal.EffectTypes + +-- | the communication effect +data Talking (a :: Type -> Type) b + +-- | listen for a message and assert its type +-- +-- when immediately is set and message missing, invoke Empty +[Hear] :: forall b (a :: Type -> Type). (Unpack b, Typeable b) => Immediately -> Talking a b + +-- | listen for a raw uninterpreted message +-- +-- when immediately is set and message missing, invoke Empty +[HearU] :: forall (a :: Type -> Type). Immediately -> Talking a Uninterpreted + +-- | listen for a message with dynamic unpacking +-- +-- when immediately is set and message missing, invoke Empty +[HearA] :: forall (a :: Type -> Type). Immediately -> Talking a SomeUnpack + +-- | send a message +[Say] :: forall a1 (a :: Type -> Type). (Pack a1, Typeable a1) => a1 -> Talking a () + +-- | set the compression threshold +-- +--
    +--
  • non-negative: compress messages larger than this size
  • +--
  • negative: disable compression
  • +--
+[Setcompression] :: forall (a :: Type -> Type). Int -> Talking a () + +-- | set the encryption key +[Setencryption] :: forall (a :: Type -> Type). ByteString -> Talking a () + +-- | relative packet direction. Used to identify packet flow without +-- hardcoding client/server roles +data Direction +Inbound :: Direction +Outbound :: Direction + +-- | urgency level for receiving packets +data Immediately +Immediately :: Immediately +Eventually :: Immediately + +-- | operations on a packet +data Op r + +-- | parse any packet +[Parse] :: Uninterpreted -> Op SomeUnpack + +-- | find code of a packet based on its TypeRep +[Code] :: Direction -> TypeRep -> Op (Maybe Word8) + +-- | parser state object (as in object-oriented programming) +newtype ParserState +ParserState :: (forall r. () => Op r -> r) -> ParserState + +-- | send a "message" to the parser state and get a response +[send2parserstate] :: ParserState -> forall r. () => Op r -> r + +-- | the communication effect with parser state and non-determinism +type Talking' (es :: [Effect]) = (Talking :> es, State ParserState :> es, NonDet :> es) + +-- | listen for a message and assert its type +-- +-- when immediately is set and message missing, invoke Empty +hear :: forall a (es :: [Effect]). (HasCallStack, Talking :> es, Unpack a, Typeable a) => Immediately -> Eff es a + +-- | listen for a raw uninterpreted message +-- +-- when immediately is set and message missing, invoke Empty +hearU :: forall (es :: [Effect]). (HasCallStack, Talking :> es) => Immediately -> Eff es Uninterpreted + +-- | listen for a message with dynamic unpacking +-- +-- when immediately is set and message missing, invoke Empty +hearA :: forall (es :: [Effect]). (HasCallStack, Talking :> es) => Immediately -> Eff es SomeUnpack + +-- | send a message +say :: forall a (es :: [Effect]). (HasCallStack, Talking :> es, Pack a, Typeable a) => a -> Eff es () + +-- | set the compression threshold +-- +--
    +--
  • non-negative: compress messages larger than this size
  • +--
  • negative: disable compression
  • +--
+setcompression :: forall (es :: [Effect]). (HasCallStack, Talking :> es) => Int -> Eff es () + +-- | set the encryption key +setencryption :: forall (es :: [Effect]). (HasCallStack, Talking :> es) => ByteString -> Eff es () + +-- | enter the parser state +enter :: forall (es :: [Effect]). State ParserState :> es => ParserState -> Eff es () +instance GHC.Enum.Bounded M.IO.Internal.EffectTypes.Direction +instance GHC.Enum.Bounded M.IO.Internal.EffectTypes.Immediately +instance Data.Data.Data M.IO.Internal.EffectTypes.Direction +instance Data.Data.Data M.IO.Internal.EffectTypes.Immediately +instance GHC.Enum.Enum M.IO.Internal.EffectTypes.Direction +instance GHC.Enum.Enum M.IO.Internal.EffectTypes.Immediately +instance GHC.Classes.Eq M.IO.Internal.EffectTypes.Direction +instance GHC.Classes.Eq M.IO.Internal.EffectTypes.Immediately +instance GHC.Classes.Eq (M.IO.Internal.EffectTypes.Op r) +instance GHC.Generics.Generic M.IO.Internal.EffectTypes.Direction +instance GHC.Generics.Generic M.IO.Internal.EffectTypes.Immediately +instance Data.Hashable.Class.Hashable M.IO.Internal.EffectTypes.Direction +instance Data.Hashable.Class.Hashable M.IO.Internal.EffectTypes.Immediately +instance Data.Hashable.Class.Hashable (M.IO.Internal.EffectTypes.Op r) +instance Language.Haskell.TH.Syntax.Lift M.IO.Internal.EffectTypes.Direction +instance Language.Haskell.TH.Syntax.Lift M.IO.Internal.EffectTypes.Immediately +instance Control.DeepSeq.NFData M.IO.Internal.EffectTypes.Direction +instance Control.DeepSeq.NFData M.IO.Internal.EffectTypes.Immediately +instance Control.DeepSeq.NFData (M.IO.Internal.EffectTypes.Op r) +instance GHC.Classes.Ord M.IO.Internal.EffectTypes.Direction +instance GHC.Classes.Ord M.IO.Internal.EffectTypes.Immediately +instance GHC.Classes.Ord (M.IO.Internal.EffectTypes.Op r) +instance GHC.Read.Read M.IO.Internal.EffectTypes.Direction +instance GHC.Read.Read M.IO.Internal.EffectTypes.Immediately +instance GHC.Show.Show M.IO.Internal.EffectTypes.Direction +instance GHC.Show.Show M.IO.Internal.EffectTypes.Immediately +instance GHC.Show.Show (M.IO.Internal.EffectTypes.Op r) + + +-- | This module provides Template Haskell functionality to generate parser +-- states for client-server packet handling. It uses a simple grammar to +-- define packet mappings and their associated codes. +-- +--

Usage

+-- +-- Define parser states using the states quasi-quoter: +-- +--
+--   -- creates mystatepair :: ParserStates
+--   [states|
+--     mystatepair
+--     Login:1f:2f     -- Login packet: recv=0x1f, send=0x2f
+--     Handshake::3f   -- Handshake packet: send=0x3f only
+--     |]
+--   
+-- +-- See: ParserStates, forserver, and forclient. +-- +--

Note

+-- +-- All numerals are hexadecimal. +module M.IO.TH + +-- | Represents a pair of parser states - one for server-side parsing and +-- one for client-side. The states contain mappings between packet types, +-- codes and identifiers. +data ParserStates +ParserStates :: ParserState -> ParserState -> ParserStates +[forserver] :: ParserStates -> ParserState +[forclient] :: ParserStates -> ParserState + +-- | A quasi-quoter for generating parser states. Parses the input grammar +-- and generates appropriate ParserState pairs. +states :: QuasiQuoter + + +-- | This module implements the Minecraft protocol's keep-alive mechanism, +-- which helps detect stale connections by periodically exchanging random +-- numbers. +module M.IO.KeepAlive + +-- | keep-alive failure modes. Occurs when: +-- +--
    +--
  • the response number doesn't match the sent number +-- (KeepAliveFail)
  • +--
  • no response is received within timeout +-- (KeepAliveTimeout)
  • +--
+data KeepAliveFail a +KeepAliveFail :: a -> a -> KeepAliveFail a +KeepAliveTimeout :: KeepAliveFail a + +-- | server's keep-alive mechanism. sends a random number every 15 seconds +-- and verifies the client echoes it back correctly +-- +-- throws: +-- +-- +skeepalive :: forall a (es :: [Effect]) void. (Concurrent :> es, Talking' es, IOE :> es, Random a, Show a, Eq a, Pack a, Unpack a, Typeable a) => Eff es void +instance GHC.Classes.Eq a => GHC.Classes.Eq (M.IO.KeepAlive.KeepAliveFail a) +instance (Data.Typeable.Internal.Typeable a, GHC.Show.Show a) => GHC.Exception.Type.Exception (M.IO.KeepAlive.KeepAliveFail a) +instance GHC.Show.Show a => GHC.Show.Show (M.IO.KeepAlive.KeepAliveFail a) + + +-- | Implements the interpretation of the Talking effect in terms of +-- socket connections, providing both client and server capabilities. +module M.IO.Internal.EffectSocket + +-- | error in communication +data SocketTalkingError +UnknownCode :: Direction -> TypeRep -> SocketTalkingError +Mismatch :: Direction -> TypeRep -> TypeRep -> SocketTalkingError + +-- | run server accepting multiple connections +withtalkingserver :: forall (es :: [Effect]) a. (IOE :> es, State ParserState :> es, Concurrent :> es, NonDet :> es) => UnliftStrategy -> Maybe String -> String -> Eff (Talking ': es) a -> Eff es a + +-- | run client with single connection +withtalkingclient :: forall (es :: [Effect]) a. (IOE :> es, State ParserState :> es, Concurrent :> es, NonDet :> es) => UnliftStrategy -> String -> String -> Eff (Talking ': es) a -> Eff es a +instance GHC.Classes.Eq M.IO.Internal.EffectSocket.SocketTalkingError +instance GHC.Exception.Type.Exception M.IO.Internal.EffectSocket.SocketTalkingError +instance GHC.Show.Show M.IO.Internal.EffectSocket.SocketTalkingError + + +-- | Provides high-level IO operations and types for handling Minecraft +-- protocol connections, including socket management and data streaming. +module M.IO + +-- | a connection to either a server or a client +data Connection +Connection :: TVar (Maybe ByteString) -> TVar Int -> InputStream Uninterpreted -> OutputStream Uninterpreted -> Connection + +-- | encryption key, AES-128-CFB8; doubles as IV +[cxkey] :: Connection -> TVar (Maybe ByteString) + +-- | compression threshold; negative = off, non-negative = on with +-- threshold +[cxcompth] :: Connection -> TVar Int + +-- | input stream +[cxinput] :: Connection -> InputStream Uninterpreted + +-- | output stream +[cxoutput] :: Connection -> OutputStream Uninterpreted + +-- | uninterpreted packet +data Uninterpreted +Uninterpreted :: !Word8 -> !ByteString -> Uninterpreted +[pkcode] :: Uninterpreted -> !Word8 +[pkdata] :: Uninterpreted -> !ByteString + +-- | run server accepting multiple connections +withtalkingserver :: forall (es :: [Effect]) a. (IOE :> es, State ParserState :> es, Concurrent :> es, NonDet :> es) => UnliftStrategy -> Maybe String -> String -> Eff (Talking ': es) a -> Eff es a + +-- | run client with single connection +withtalkingclient :: forall (es :: [Effect]) a. (IOE :> es, State ParserState :> es, Concurrent :> es, NonDet :> es) => UnliftStrategy -> String -> String -> Eff (Talking ': es) a -> Eff es a + +-- | create a connection from a socket +withcxfromsocket :: Socket -> (Connection -> IO a) -> IO a + + +-- | Defines data types for chunk and lighting data used in network +-- serialization. Includes block entities and packed coordinate +-- representations. +module M.Chunk.Net +data ChunkData +ChunkData :: Tg -> ByteString -> Vector BlockEntity -> ChunkData +[cdhmaps] :: ChunkData -> Tg +[cddata] :: ChunkData -> ByteString +[cdblockentities] :: ChunkData -> Vector BlockEntity +data BlockEntity +BlockEntity :: V2 Word8 -> Int16 -> Int32 -> Tg -> BlockEntity +[bexz] :: BlockEntity -> V2 Word8 +[berelheight] :: BlockEntity -> Int16 +[betype] :: BlockEntity -> Int32 +[bedata] :: BlockEntity -> Tg +data LightData +LightData :: Bitset -> Bitset -> Bitset -> Bitset -> Vector ByteString -> Vector ByteString -> LightData +[ldskymask] :: LightData -> Bitset +[ldblockmask] :: LightData -> Bitset +[ld0skymask] :: LightData -> Bitset +[ld0blockmask] :: LightData -> Bitset +[ldskylights] :: LightData -> Vector ByteString +[ldblocklights] :: LightData -> Vector ByteString +instance Data.Data.Data M.Chunk.Net.BlockEntity +instance Data.Data.Data M.Chunk.Net.ChunkData +instance Data.Data.Data M.Chunk.Net.LightData +instance Data.Data.Data M.Chunk.Net.PackedXZ +instance GHC.Classes.Eq M.Chunk.Net.BlockEntity +instance GHC.Classes.Eq M.Chunk.Net.BlockEntity__ +instance GHC.Classes.Eq M.Chunk.Net.ChunkData +instance GHC.Classes.Eq M.Chunk.Net.LightData +instance GHC.Classes.Eq M.Chunk.Net.PackedXZ +instance GHC.Generics.Generic M.Chunk.Net.BlockEntity +instance GHC.Generics.Generic M.Chunk.Net.BlockEntity__ +instance GHC.Generics.Generic M.Chunk.Net.ChunkData +instance GHC.Generics.Generic M.Chunk.Net.LightData +instance GHC.Generics.Generic M.Chunk.Net.PackedXZ +instance Data.Hashable.Class.Hashable M.Chunk.Net.PackedXZ +instance Language.Haskell.TH.Syntax.Lift M.Chunk.Net.PackedXZ +instance Control.DeepSeq.NFData M.Chunk.Net.BlockEntity +instance Control.DeepSeq.NFData M.Chunk.Net.BlockEntity__ +instance Control.DeepSeq.NFData M.Chunk.Net.ChunkData +instance Control.DeepSeq.NFData M.Chunk.Net.LightData +instance Control.DeepSeq.NFData M.Chunk.Net.PackedXZ +instance GHC.Classes.Ord M.Chunk.Net.BlockEntity +instance GHC.Classes.Ord M.Chunk.Net.BlockEntity__ +instance GHC.Classes.Ord M.Chunk.Net.ChunkData +instance GHC.Classes.Ord M.Chunk.Net.LightData +instance GHC.Classes.Ord M.Chunk.Net.PackedXZ +instance M.Pack.Internal.Types.Pack M.Chunk.Net.BlockEntity +instance M.Pack.Internal.Types.Pack M.Chunk.Net.BlockEntity__ +instance M.Pack.Internal.Types.Pack M.Chunk.Net.ChunkData +instance M.Pack.Internal.Types.Pack M.Chunk.Net.LightData +instance M.Pack.Internal.Types.Pack M.Chunk.Net.PackedXZ +instance GHC.Read.Read M.Chunk.Net.BlockEntity +instance GHC.Read.Read M.Chunk.Net.ChunkData +instance GHC.Read.Read M.Chunk.Net.LightData +instance GHC.Read.Read M.Chunk.Net.PackedXZ +instance GHC.Show.Show M.Chunk.Net.BlockEntity +instance GHC.Show.Show M.Chunk.Net.ChunkData +instance GHC.Show.Show M.Chunk.Net.LightData +instance GHC.Show.Show M.Chunk.Net.PackedXZ +instance M.Pack.Internal.Types.Unpack M.Chunk.Net.BlockEntity +instance M.Pack.Internal.Types.Unpack M.Chunk.Net.BlockEntity__ +instance M.Pack.Internal.Types.Unpack M.Chunk.Net.ChunkData +instance M.Pack.Internal.Types.Unpack M.Chunk.Net.LightData +instance M.Pack.Internal.Types.Unpack M.Chunk.Net.PackedXZ + + +-- | Encode and decode paletted containers for block states and biomes. +module M.Chunk.Code + +-- | a chunk section where c is the numeric type for block states +-- and m is the same for biomes +data ChunkSection c m +ChunkSection :: !Int16 -> !Vector c -> !Vector m -> ChunkSection c m + +-- | number of non-air blocks (tracked for optimization) +[csnonempty] :: ChunkSection c m -> !Int16 + +-- | block states (4,096 entries; 16x16x16, access [y][z][x]) +[csblockstates] :: ChunkSection c m -> !Vector c + +-- | biomes (64 entries; 4x4x4, access [y][z][x]) +[csbiomes] :: ChunkSection c m -> !Vector m + +-- | encoding configuration for ChunkSection +data ChunkSectionEncoding +ChunkSectionEncoding :: !Int -> !Int -> ChunkSectionEncoding + +-- | number of possible block states +[cseblockstates] :: ChunkSectionEncoding -> !Int + +-- | number of possible biomes +[csebiomes] :: ChunkSectionEncoding -> !Int + +-- | create a codec for ChunkSections using the provided settings +mkcscodec :: forall m c (st :: ZeroBitType) r. (Unbox m, Unbox c, FiniteBits m, FiniteBits c, Integral m, Integral c) => ChunkSectionEncoding -> (ChunkSection c m -> Builder, Parser st r (ChunkSection c m)) +instance (Data.Data.Data c, Data.Data.Data m, Data.Vector.Unboxed.Base.Unbox c, Data.Vector.Unboxed.Base.Unbox m) => Data.Data.Data (M.Chunk.Code.ChunkSection c m) +instance Data.Data.Data M.Chunk.Code.ChunkSectionEncoding +instance (Data.Vector.Unboxed.Base.Unbox c, Data.Vector.Unboxed.Base.Unbox m, GHC.Classes.Eq c, GHC.Classes.Eq m) => GHC.Classes.Eq (M.Chunk.Code.ChunkSection c m) +instance GHC.Classes.Eq M.Chunk.Code.ChunkSectionEncoding +instance GHC.Generics.Generic (M.Chunk.Code.ChunkSection c m) +instance GHC.Generics.Generic M.Chunk.Code.ChunkSectionEncoding +instance (Data.Vector.Unboxed.Base.Unbox c, Data.Vector.Unboxed.Base.Unbox m, GHC.Classes.Ord c, GHC.Classes.Ord m) => GHC.Classes.Ord (M.Chunk.Code.ChunkSection c m) +instance GHC.Classes.Ord M.Chunk.Code.ChunkSectionEncoding +instance GHC.Read.Read M.Chunk.Code.ChunkSectionEncoding +instance (GHC.Show.Show c, GHC.Real.Integral c, GHC.Bits.FiniteBits c, Data.Vector.Unboxed.Base.Unbox c, GHC.Show.Show m, GHC.Real.Integral m, GHC.Bits.FiniteBits m, Data.Vector.Unboxed.Base.Unbox m) => GHC.Show.Show (M.Chunk.Code.ChunkSection c m) +instance GHC.Show.Show M.Chunk.Code.ChunkSectionEncoding + + +-- | Implements the packed integer Position format used by Minecraft Java +-- Edition, including encoding and decoding of 3D coordinates into a +-- compact Int64 representation. +module M.Position + +-- | Deserialized position representation +newtype Position +Position :: V3 Int32 -> Position +[getposition] :: Position -> V3 Int32 + +-- | encode a Position into a packed Int64 +encodeposition :: Position -> Int64 + +-- | decode a packed Int64 into a Position +decodeposition :: Int64 -> Position + +-- | apply a function to the x, y, and z components of a Position +posapply :: (Int32 -> Int32) -> Position -> Position + +-- | apply a function to the x, y, and z components of a Position +posapplyv :: (V3 Int32 -> V3 Int32) -> Position -> Position +instance Data.Data.Data M.Position.Position +instance GHC.Classes.Eq M.Position.Position +instance GHC.Generics.Generic M.Position.Position +instance Data.Hashable.Class.Hashable M.Position.Position +instance Language.Haskell.TH.Syntax.Lift M.Position.Position +instance Control.DeepSeq.NFData M.Position.Position +instance GHC.Classes.Ord M.Position.Position +instance M.Pack.Internal.Types.Pack M.Position.Position +instance GHC.Read.Read M.Position.Position +instance GHC.Show.Show M.Position.Position +instance M.Pack.Internal.Types.Unpack M.Position.Position + + +-- | A generic registry that maintains a three-way mapping between: +-- +--
    +--
  • Numeric codes (Int)
  • +--
  • Text identifiers (Text)
  • +--
  • Objects (generic type a)
  • +--
+-- +-- This is useful for Minecraft's registry system where objects like +-- blocks and items are identified both by numeric IDs and string +-- identifiers. +-- +--

Usage

+-- +-- Create a registry: +-- +--
+--   -- imagine tr :: TypeRep exists.
+--   let items = [("minecraft:stone", tr Stone), ("minecraft:dirt", tr Dirt)]
+--   case mkreg0 items of
+--     Just reg -> -- Use registry
+--     Nothing -> -- Handle duplicate keys
+--   
+-- +-- Look up objects: +-- +--
+--   -- By numeric code
+--   case lkobjbycode 0 reg of
+--     Just obj -> -- Found
+--     Nothing -> -- Not found
+--   
+--   -- By string identifier
+--   case lkcodebyid "minecraft:stone" reg of
+--     Just code -> -- Found
+--     Nothing -> -- Not found
+--   
+module M.Reg + +-- | A "registry" type maintaining a triple link between codes, identifiers +-- and objects. +-- +-- The registry is immutable after creation and provides efficient +-- lookups in both directions: +-- +--
    +--
  • From numeric code to object (using IntMap)
  • +--
  • From text identifier to numeric code (using HashMap)
  • +--
+-- +--

Implementation Notes

+-- +--
    +--
  • code -> object mapping uses lazy IntMap since object +-- types may be large
  • +--
  • identifier -> code mapping uses strict HashMap for text +-- lookups
  • +--
  • Registry cannot be modified after creation (updates planned for +-- future)
  • +--
+data Reg a + +-- | Create a simple registry from identifier-object pairs. Numeric codes +-- are assigned sequentially starting from 0. +-- +-- Returns Nothing if there are duplicate identifiers. +-- +--

Usage

+-- +--
+--   let reg = mkreg0 [("minecraft:stone", Stone), ("minecraft:dirt", Dirt)]
+--   
+mkreg0 :: [(Text, a)] -> Maybe (Reg a) + +-- | Create a registry with a transformation function applied to values. +-- +-- Like mkreg0 but applies a function to transform the values +-- before storing. Returns Nothing if there are duplicate identifiers. +-- +--

Usage

+-- +--
+--   let reg = mkreg1 Block [("stone", StoneData), ("dirt", DirtData)]
+--   -- Creates registry with Block StoneData, Block DirtData
+--   
+mkreg1 :: (b -> a) -> [(Text, b)] -> Maybe (Reg a) + +-- | Look up a numeric code by its string identifier. +-- +--

Usage

+-- +--
+--   case lkcodebyid "minecraft:stone" registry of
+--     Just code -> -- Found code for identifier
+--     Nothing -> -- No such identifier
+--   
+lkcodebyid :: Text -> Reg a -> Maybe Int + +-- | Look up an object by its numeric code. +-- +--

Usage

+-- +--
+--   case lkobjbycode 0 registry of
+--     Just obj -> -- Found object at code 0
+--     Nothing -> -- No object at code 0
+--   
+lkobjbycode :: Int -> Reg a -> Maybe a + +-- | Look up an object by its string identifier. +-- +-- Combines lkcodebyid and lkobjbycode for direct +-- identifier to object lookup. +-- +--

Usage

+-- +--
+--   case lkobjbyid "minecraft:stone" registry of
+--     Just obj -> -- Found object for identifier
+--     Nothing -> -- No such identifier
+--   
+lkobjbyid :: Text -> Reg a -> Maybe a +instance Data.Data.Data a => Data.Data.Data (M.Reg.Reg a) +instance GHC.Classes.Eq a => GHC.Classes.Eq (M.Reg.Reg a) +instance GHC.Base.Functor M.Reg.Reg +instance GHC.Generics.Generic (M.Reg.Reg a) +instance GHC.Classes.Ord a => GHC.Classes.Ord (M.Reg.Reg a) +instance GHC.Show.Show a => GHC.Show.Show (M.Reg.Reg a) + + +module M.TODO +data Slot +data BossBarAction +data CommandNode +data ParticleData +data TextComponent +data MapIcon +data MerchantOffer +instance Data.Data.Data M.TODO.BossBarAction +instance Data.Data.Data M.TODO.CommandNode +instance Data.Data.Data a => Data.Data.Data (M.TODO.ErrorOnPackUnpack a) +instance Data.Data.Data M.TODO.MapIcon +instance Data.Data.Data M.TODO.MerchantOffer +instance Data.Data.Data M.TODO.ParticleData +instance Data.Data.Data M.TODO.Slot +instance Data.Data.Data M.TODO.TextComponent +instance GHC.Classes.Eq M.TODO.BossBarAction +instance GHC.Classes.Eq M.TODO.CommandNode +instance GHC.Classes.Eq a => GHC.Classes.Eq (M.TODO.ErrorOnPackUnpack a) +instance GHC.Classes.Eq M.TODO.MapIcon +instance GHC.Classes.Eq M.TODO.MerchantOffer +instance GHC.Classes.Eq M.TODO.ParticleData +instance GHC.Classes.Eq M.TODO.Slot +instance GHC.Classes.Eq M.TODO.TextComponent +instance GHC.Generics.Generic M.TODO.BossBarAction +instance GHC.Generics.Generic M.TODO.CommandNode +instance GHC.Generics.Generic (M.TODO.ErrorOnPackUnpack a) +instance GHC.Generics.Generic M.TODO.MapIcon +instance GHC.Generics.Generic M.TODO.MerchantOffer +instance GHC.Generics.Generic M.TODO.ParticleData +instance GHC.Generics.Generic M.TODO.Slot +instance GHC.Generics.Generic M.TODO.TextComponent +instance Data.Hashable.Class.Hashable M.TODO.BossBarAction +instance Data.Hashable.Class.Hashable M.TODO.CommandNode +instance Data.Hashable.Class.Hashable a => Data.Hashable.Class.Hashable (M.TODO.ErrorOnPackUnpack a) +instance Data.Hashable.Class.Hashable M.TODO.MapIcon +instance Data.Hashable.Class.Hashable M.TODO.MerchantOffer +instance Data.Hashable.Class.Hashable M.TODO.ParticleData +instance Data.Hashable.Class.Hashable M.TODO.Slot +instance Data.Hashable.Class.Hashable M.TODO.TextComponent +instance Language.Haskell.TH.Syntax.Lift a => Language.Haskell.TH.Syntax.Lift (M.TODO.ErrorOnPackUnpack a) +instance Control.DeepSeq.NFData M.TODO.BossBarAction +instance Control.DeepSeq.NFData M.TODO.CommandNode +instance Control.DeepSeq.NFData a => Control.DeepSeq.NFData (M.TODO.ErrorOnPackUnpack a) +instance Control.DeepSeq.NFData M.TODO.MapIcon +instance Control.DeepSeq.NFData M.TODO.MerchantOffer +instance Control.DeepSeq.NFData M.TODO.ParticleData +instance Control.DeepSeq.NFData M.TODO.Slot +instance Control.DeepSeq.NFData M.TODO.TextComponent +instance GHC.Classes.Ord M.TODO.BossBarAction +instance GHC.Classes.Ord M.TODO.CommandNode +instance GHC.Classes.Ord a => GHC.Classes.Ord (M.TODO.ErrorOnPackUnpack a) +instance GHC.Classes.Ord M.TODO.MapIcon +instance GHC.Classes.Ord M.TODO.MerchantOffer +instance GHC.Classes.Ord M.TODO.ParticleData +instance GHC.Classes.Ord M.TODO.Slot +instance GHC.Classes.Ord M.TODO.TextComponent +instance M.Pack.Internal.Types.Pack M.TODO.BossBarAction +instance M.Pack.Internal.Types.Pack M.TODO.CommandNode +instance Data.Typeable.Internal.Typeable a => M.Pack.Internal.Types.Pack (M.TODO.ErrorOnPackUnpack a) +instance M.Pack.Internal.Types.Pack M.TODO.MapIcon +instance M.Pack.Internal.Types.Pack M.TODO.MerchantOffer +instance M.Pack.Internal.Types.Pack M.TODO.ParticleData +instance M.Pack.Internal.Types.Pack M.TODO.Slot +instance M.Pack.Internal.Types.Pack M.TODO.TextComponent +instance GHC.Read.Read M.TODO.BossBarAction +instance GHC.Read.Read M.TODO.CommandNode +instance GHC.Read.Read a => GHC.Read.Read (M.TODO.ErrorOnPackUnpack a) +instance GHC.Read.Read M.TODO.MapIcon +instance GHC.Read.Read M.TODO.MerchantOffer +instance GHC.Read.Read M.TODO.ParticleData +instance GHC.Read.Read M.TODO.Slot +instance GHC.Read.Read M.TODO.TextComponent +instance GHC.Show.Show M.TODO.BossBarAction +instance GHC.Show.Show M.TODO.CommandNode +instance GHC.Show.Show a => GHC.Show.Show (M.TODO.ErrorOnPackUnpack a) +instance GHC.Show.Show M.TODO.MapIcon +instance GHC.Show.Show M.TODO.MerchantOffer +instance GHC.Show.Show M.TODO.ParticleData +instance GHC.Show.Show M.TODO.Slot +instance GHC.Show.Show M.TODO.TextComponent +instance M.Pack.Internal.Types.Unpack M.TODO.BossBarAction +instance M.Pack.Internal.Types.Unpack M.TODO.CommandNode +instance Data.Typeable.Internal.Typeable a => M.Pack.Internal.Types.Unpack (M.TODO.ErrorOnPackUnpack a) +instance M.Pack.Internal.Types.Unpack M.TODO.MapIcon +instance M.Pack.Internal.Types.Unpack M.TODO.MerchantOffer +instance M.Pack.Internal.Types.Unpack M.TODO.ParticleData +instance M.Pack.Internal.Types.Unpack M.TODO.Slot +instance M.Pack.Internal.Types.Unpack M.TODO.TextComponent + + +-- | Implements packet structures for the initial handshake phase of +-- protocol version 769, where clients establish basic connection +-- parameters including protocol version and intended next state. +module M.V769.H +data HandshakePacket__ +HandshakePacket__ :: VarInt -> Text -> Word16 -> VarInt -> HandshakePacket__ +[protocolversion__] :: HandshakePacket__ -> VarInt +[serveraddress__] :: HandshakePacket__ -> Text +[serverport__] :: HandshakePacket__ -> Word16 +[nextstate__] :: HandshakePacket__ -> VarInt +data HandshakePacket +HandshakePacket :: Int32 -> Text -> Word16 -> Int32 -> HandshakePacket +[protocolversion] :: HandshakePacket -> Int32 +[serveraddress] :: HandshakePacket -> Text +[serverport] :: HandshakePacket -> Word16 +[nextstate] :: HandshakePacket -> Int32 +instance Data.Data.Data M.V769.H.HandshakePacket +instance GHC.Classes.Eq M.V769.H.HandshakePacket +instance GHC.Classes.Eq M.V769.H.HandshakePacket__ +instance GHC.Generics.Generic M.V769.H.HandshakePacket +instance GHC.Generics.Generic M.V769.H.HandshakePacket__ +instance Control.DeepSeq.NFData M.V769.H.HandshakePacket +instance Control.DeepSeq.NFData M.V769.H.HandshakePacket__ +instance GHC.Classes.Ord M.V769.H.HandshakePacket +instance GHC.Classes.Ord M.V769.H.HandshakePacket__ +instance M.Pack.Internal.Types.Pack M.V769.H.HandshakePacket +instance M.Pack.Internal.Types.Pack M.V769.H.HandshakePacket__ +instance GHC.Read.Read M.V769.H.HandshakePacket +instance GHC.Show.Show M.V769.H.HandshakePacket +instance M.Pack.Internal.Types.Unpack M.V769.H.HandshakePacket +instance M.Pack.Internal.Types.Unpack M.V769.H.HandshakePacket__ + + +-- | Provides internal type definitions and utilities for protocol version +-- 769, including game-specific enumerations, resolution specifications, +-- and display configuration types used across different protocol states. +module M.V769.I + +-- | given in 1/8000 resolution +data SetEntityVelocityRes +data ChatMode +CMEnabled :: ChatMode +CMCommandsOnly :: ChatMode +CMHidden :: ChatMode +data ParticleStatus +PSAll :: ParticleStatus +PSDecreased :: ParticleStatus +PSMinimal :: ParticleStatus +data FilterType +PassThrough :: FilterType +FullyFiltered :: FilterType +PartiallyFiltered :: FilterType +data BossBarColor +BCPink :: BossBarColor +BCBlue :: BossBarColor +BCRed :: BossBarColor +BCGreen :: BossBarColor +BCYellow :: BossBarColor +BCPurple :: BossBarColor +BCWhite :: BossBarColor +newtype KeepAlive +KeepAlive :: Int64 -> KeepAlive +[id] :: KeepAlive -> Int64 +data PluginMessage +PluginMessage :: Text -> ByteString -> PluginMessage +[channel] :: PluginMessage -> Text +[data_] :: PluginMessage -> ByteString +data ResourcePack +ResourcePack :: Text -> Text -> ResourcePack +[url] :: ResourcePack -> Text +[hash] :: ResourcePack -> Text +newtype Ping +Ping :: Int32 -> Ping +[id] :: Ping -> Int32 +data DisplayedSkinParts +DisplayedSkinParts :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> DisplayedSkinParts +[cape] :: DisplayedSkinParts -> Bool +[jacket] :: DisplayedSkinParts -> Bool +[leftsleeve] :: DisplayedSkinParts -> Bool +[rightsleeve] :: DisplayedSkinParts -> Bool +[leftpants] :: DisplayedSkinParts -> Bool +[rightpants] :: DisplayedSkinParts -> Bool +[hat] :: DisplayedSkinParts -> Bool +instance (GHC.Bits.Bits i, GHC.Real.Integral i, M.Pack.Internal.Types.Pack i, M.Pack.Internal.Types.Unpack i) => M.Pack.Internal.Bit.Bitreppable i M.V769.I.DisplayedSkinParts +instance GHC.Enum.Bounded M.V769.I.BossBarColor +instance GHC.Enum.Bounded M.V769.I.ChatMode +instance GHC.Enum.Bounded M.V769.I.FilterType +instance GHC.Enum.Bounded M.V769.I.ParticleStatus +instance Data.Data.Data M.V769.I.BossBarColor +instance Data.Data.Data M.V769.I.ChatMode +instance Data.Data.Data M.V769.I.DisplayedSkinParts +instance Data.Data.Data M.V769.I.FilterType +instance Data.Data.Data M.V769.I.KeepAlive +instance Data.Data.Data M.V769.I.ParticleStatus +instance Data.Data.Data M.V769.I.Ping +instance Data.Data.Data M.V769.I.PluginMessage +instance Data.Data.Data M.V769.I.ResourcePack +instance GHC.Enum.Enum M.V769.I.BossBarColor +instance GHC.Enum.Enum M.V769.I.ChatMode +instance GHC.Enum.Enum M.V769.I.FilterType +instance GHC.Enum.Enum M.V769.I.ParticleStatus +instance GHC.Classes.Eq M.V769.I.BossBarColor +instance GHC.Classes.Eq M.V769.I.ChatMode +instance GHC.Classes.Eq M.V769.I.DisplayedSkinParts +instance GHC.Classes.Eq M.V769.I.FilterType +instance GHC.Classes.Eq M.V769.I.KeepAlive +instance GHC.Classes.Eq M.V769.I.ParticleStatus +instance GHC.Classes.Eq M.V769.I.Ping +instance GHC.Classes.Eq M.V769.I.PluginMessage +instance GHC.Classes.Eq M.V769.I.ResourcePack +instance GHC.Generics.Generic M.V769.I.BossBarColor +instance GHC.Generics.Generic M.V769.I.ChatMode +instance GHC.Generics.Generic M.V769.I.DisplayedSkinParts +instance GHC.Generics.Generic M.V769.I.FilterType +instance GHC.Generics.Generic M.V769.I.KeepAlive +instance GHC.Generics.Generic M.V769.I.ParticleStatus +instance GHC.Generics.Generic M.V769.I.Ping +instance GHC.Generics.Generic M.V769.I.PluginMessage +instance GHC.Generics.Generic M.V769.I.ResourcePack +instance Data.Fixed.HasResolution M.V769.I.SetEntityVelocityRes +instance Data.Hashable.Class.Hashable M.V769.I.BossBarColor +instance Data.Hashable.Class.Hashable M.V769.I.ChatMode +instance Data.Hashable.Class.Hashable M.V769.I.FilterType +instance Data.Hashable.Class.Hashable M.V769.I.ParticleStatus +instance Language.Haskell.TH.Syntax.Lift M.V769.I.BossBarColor +instance Language.Haskell.TH.Syntax.Lift M.V769.I.ChatMode +instance Language.Haskell.TH.Syntax.Lift M.V769.I.FilterType +instance Language.Haskell.TH.Syntax.Lift M.V769.I.ParticleStatus +instance Control.DeepSeq.NFData M.V769.I.BossBarColor +instance Control.DeepSeq.NFData M.V769.I.ChatMode +instance Control.DeepSeq.NFData M.V769.I.DisplayedSkinParts +instance Control.DeepSeq.NFData M.V769.I.FilterType +instance Control.DeepSeq.NFData M.V769.I.KeepAlive +instance Control.DeepSeq.NFData M.V769.I.ParticleStatus +instance Control.DeepSeq.NFData M.V769.I.Ping +instance Control.DeepSeq.NFData M.V769.I.PluginMessage +instance Control.DeepSeq.NFData M.V769.I.ResourcePack +instance GHC.Classes.Ord M.V769.I.BossBarColor +instance GHC.Classes.Ord M.V769.I.ChatMode +instance GHC.Classes.Ord M.V769.I.DisplayedSkinParts +instance GHC.Classes.Ord M.V769.I.FilterType +instance GHC.Classes.Ord M.V769.I.KeepAlive +instance GHC.Classes.Ord M.V769.I.ParticleStatus +instance GHC.Classes.Ord M.V769.I.Ping +instance GHC.Classes.Ord M.V769.I.PluginMessage +instance GHC.Classes.Ord M.V769.I.ResourcePack +instance M.Pack.Internal.Types.Pack M.V769.I.DisplayedSkinParts +instance M.Pack.Internal.Types.Pack M.V769.I.KeepAlive +instance M.Pack.Internal.Types.Pack M.V769.I.Ping +instance M.Pack.Internal.Types.Pack M.V769.I.PluginMessage +instance M.Pack.Internal.Types.Pack M.V769.I.ResourcePack +instance GHC.Read.Read M.V769.I.BossBarColor +instance GHC.Read.Read M.V769.I.ChatMode +instance GHC.Read.Read M.V769.I.DisplayedSkinParts +instance GHC.Read.Read M.V769.I.FilterType +instance GHC.Read.Read M.V769.I.KeepAlive +instance GHC.Read.Read M.V769.I.ParticleStatus +instance GHC.Read.Read M.V769.I.Ping +instance GHC.Read.Read M.V769.I.PluginMessage +instance GHC.Read.Read M.V769.I.ResourcePack +instance GHC.Show.Show M.V769.I.BossBarColor +instance GHC.Show.Show M.V769.I.ChatMode +instance GHC.Show.Show M.V769.I.DisplayedSkinParts +instance GHC.Show.Show M.V769.I.FilterType +instance GHC.Show.Show M.V769.I.KeepAlive +instance GHC.Show.Show M.V769.I.ParticleStatus +instance GHC.Show.Show M.V769.I.Ping +instance GHC.Show.Show M.V769.I.PluginMessage +instance GHC.Show.Show M.V769.I.ResourcePack +instance M.Pack.Internal.Types.Unpack M.V769.I.DisplayedSkinParts +instance M.Pack.Internal.Types.Unpack M.V769.I.KeepAlive +instance M.Pack.Internal.Types.Unpack M.V769.I.Ping +instance M.Pack.Internal.Types.Unpack M.V769.I.PluginMessage +instance M.Pack.Internal.Types.Unpack M.V769.I.ResourcePack + + +-- | Defines packet structures for the configuration state of protocol +-- version 769, including client and server capabilities negotiation, +-- resource pack management, and server feature flags. +module M.V769.C +data ResourcePackResponse +ResourcePackResponse :: VarInt -> ResourcePackResponse +[status] :: ResourcePackResponse -> VarInt +data Pong +Pong :: Int64 -> Pong +[id] :: Pong -> Int64 +data AcknowledgeFinishConfiguration +AcknowledgeFinishConfiguration :: AcknowledgeFinishConfiguration +data CookieResponse +CookieResponse :: Text -> Text -> CookieResponse +[key] :: CookieResponse -> Text +[value] :: CookieResponse -> Text +data ClientInformationConfiguration__ +ClientInformationConfiguration__ :: Text -> Int8 -> EnumIndex VarInt ChatMode -> Bool -> Bitwise Word8 DisplayedSkinParts -> Bool -> Bool -> Bool -> EnumIndex VarInt ParticleStatus -> ClientInformationConfiguration__ +[locale__] :: ClientInformationConfiguration__ -> Text +[viewdistance__] :: ClientInformationConfiguration__ -> Int8 +[chatmode__] :: ClientInformationConfiguration__ -> EnumIndex VarInt ChatMode +[chatcolors__] :: ClientInformationConfiguration__ -> Bool +[displayedskinparts__] :: ClientInformationConfiguration__ -> Bitwise Word8 DisplayedSkinParts +[mainhandright__] :: ClientInformationConfiguration__ -> Bool +[enabletextfiltering__] :: ClientInformationConfiguration__ -> Bool +[allowserverlistings__] :: ClientInformationConfiguration__ -> Bool +[particlestatus__] :: ClientInformationConfiguration__ -> EnumIndex VarInt ParticleStatus +data ClientInformationConfiguration +ClientInformationConfiguration :: Text -> Int8 -> ChatMode -> Bool -> DisplayedSkinParts -> Bool -> Bool -> Bool -> ParticleStatus -> ClientInformationConfiguration +[locale] :: ClientInformationConfiguration -> Text +[viewdistance] :: ClientInformationConfiguration -> Int8 +[chatmode] :: ClientInformationConfiguration -> ChatMode +[chatcolors] :: ClientInformationConfiguration -> Bool +[displayedskinparts] :: ClientInformationConfiguration -> DisplayedSkinParts +[mainhandright] :: ClientInformationConfiguration -> Bool +[enabletextfiltering] :: ClientInformationConfiguration -> Bool +[allowserverlistings] :: ClientInformationConfiguration -> Bool +[particlestatus] :: ClientInformationConfiguration -> ParticleStatus +data ServerLinks__ +ServerLinks__ :: Vector Identifier -> ServerLinks__ +[links__] :: ServerLinks__ -> Vector Identifier +data ServerLinks +ServerLinks :: Vector Text -> ServerLinks +[links] :: ServerLinks -> Vector Text +data CustomReportDetails__ +CustomReportDetails__ :: TakeRest -> CustomReportDetails__ +[details__] :: CustomReportDetails__ -> TakeRest +data CustomReportDetails +CustomReportDetails :: ByteString -> CustomReportDetails +[details] :: CustomReportDetails -> ByteString +data KnownPacks__ +KnownPacks__ :: TakeRest -> KnownPacks__ +[packs__] :: KnownPacks__ -> TakeRest +data KnownPacks +KnownPacks :: ByteString -> KnownPacks +[packs] :: KnownPacks -> ByteString +data UpdateTags__ +UpdateTags__ :: TakeRest -> UpdateTags__ +[tags__] :: UpdateTags__ -> TakeRest +data UpdateTags +UpdateTags :: ByteString -> UpdateTags +[tags] :: UpdateTags -> ByteString +data FeatureFlags__ +FeatureFlags__ :: Vector Identifier -> FeatureFlags__ +[flags__] :: FeatureFlags__ -> Vector Identifier +data FeatureFlags +FeatureFlags :: Vector Text -> FeatureFlags +[flags] :: FeatureFlags -> Vector Text +data Transfer +Transfer :: Text -> Word16 -> Transfer +[serveraddress] :: Transfer -> Text +[serverport] :: Transfer -> Word16 +data StoreCookie +StoreCookie :: Text -> Text -> StoreCookie +[key] :: StoreCookie -> Text +[value] :: StoreCookie -> Text +data RemoveResourcePack +RemoveResourcePack :: RemoveResourcePack +data RegistryData +RegistryData :: ByteString -> RegistryData +[data_] :: RegistryData -> ByteString +data ResetChat +ResetChat :: ResetChat +data FinishConfiguration +FinishConfiguration :: FinishConfiguration +data Disconnect +Disconnect :: Text -> Disconnect +[reason] :: Disconnect -> Text +data CookieRequest +CookieRequest :: Text -> CookieRequest +[key] :: CookieRequest -> Text +instance Data.Data.Data M.V769.C.AcknowledgeFinishConfiguration +instance Data.Data.Data M.V769.C.ClientInformationConfiguration +instance Data.Data.Data M.V769.C.CookieRequest +instance Data.Data.Data M.V769.C.CookieResponse +instance Data.Data.Data M.V769.C.CustomReportDetails +instance Data.Data.Data M.V769.C.Disconnect +instance Data.Data.Data M.V769.C.FeatureFlags +instance Data.Data.Data M.V769.C.FinishConfiguration +instance Data.Data.Data M.V769.C.KnownPacks +instance Data.Data.Data M.V769.C.Pong +instance Data.Data.Data M.V769.C.RegistryData +instance Data.Data.Data M.V769.C.RemoveResourcePack +instance Data.Data.Data M.V769.C.ResetChat +instance Data.Data.Data M.V769.C.ResourcePackResponse +instance Data.Data.Data M.V769.C.ServerLinks +instance Data.Data.Data M.V769.C.StoreCookie +instance Data.Data.Data M.V769.C.Transfer +instance Data.Data.Data M.V769.C.UpdateTags +instance GHC.Classes.Eq M.V769.C.AcknowledgeFinishConfiguration +instance GHC.Classes.Eq M.V769.C.ClientInformationConfiguration +instance GHC.Classes.Eq M.V769.C.ClientInformationConfiguration__ +instance GHC.Classes.Eq M.V769.C.CookieRequest +instance GHC.Classes.Eq M.V769.C.CookieResponse +instance GHC.Classes.Eq M.V769.C.CustomReportDetails +instance GHC.Classes.Eq M.V769.C.CustomReportDetails__ +instance GHC.Classes.Eq M.V769.C.Disconnect +instance GHC.Classes.Eq M.V769.C.FeatureFlags +instance GHC.Classes.Eq M.V769.C.FeatureFlags__ +instance GHC.Classes.Eq M.V769.C.FinishConfiguration +instance GHC.Classes.Eq M.V769.C.KnownPacks +instance GHC.Classes.Eq M.V769.C.KnownPacks__ +instance GHC.Classes.Eq M.V769.C.Pong +instance GHC.Classes.Eq M.V769.C.RegistryData +instance GHC.Classes.Eq M.V769.C.RemoveResourcePack +instance GHC.Classes.Eq M.V769.C.ResetChat +instance GHC.Classes.Eq M.V769.C.ResourcePackResponse +instance GHC.Classes.Eq M.V769.C.ServerLinks +instance GHC.Classes.Eq M.V769.C.ServerLinks__ +instance GHC.Classes.Eq M.V769.C.StoreCookie +instance GHC.Classes.Eq M.V769.C.Transfer +instance GHC.Classes.Eq M.V769.C.UpdateTags +instance GHC.Classes.Eq M.V769.C.UpdateTags__ +instance GHC.Generics.Generic M.V769.C.AcknowledgeFinishConfiguration +instance GHC.Generics.Generic M.V769.C.ClientInformationConfiguration +instance GHC.Generics.Generic M.V769.C.ClientInformationConfiguration__ +instance GHC.Generics.Generic M.V769.C.CookieRequest +instance GHC.Generics.Generic M.V769.C.CookieResponse +instance GHC.Generics.Generic M.V769.C.CustomReportDetails +instance GHC.Generics.Generic M.V769.C.CustomReportDetails__ +instance GHC.Generics.Generic M.V769.C.Disconnect +instance GHC.Generics.Generic M.V769.C.FeatureFlags +instance GHC.Generics.Generic M.V769.C.FeatureFlags__ +instance GHC.Generics.Generic M.V769.C.FinishConfiguration +instance GHC.Generics.Generic M.V769.C.KnownPacks +instance GHC.Generics.Generic M.V769.C.KnownPacks__ +instance GHC.Generics.Generic M.V769.C.Pong +instance GHC.Generics.Generic M.V769.C.RegistryData +instance GHC.Generics.Generic M.V769.C.RemoveResourcePack +instance GHC.Generics.Generic M.V769.C.ResetChat +instance GHC.Generics.Generic M.V769.C.ResourcePackResponse +instance GHC.Generics.Generic M.V769.C.ServerLinks +instance GHC.Generics.Generic M.V769.C.ServerLinks__ +instance GHC.Generics.Generic M.V769.C.StoreCookie +instance GHC.Generics.Generic M.V769.C.Transfer +instance GHC.Generics.Generic M.V769.C.UpdateTags +instance GHC.Generics.Generic M.V769.C.UpdateTags__ +instance Control.DeepSeq.NFData M.V769.C.AcknowledgeFinishConfiguration +instance Control.DeepSeq.NFData M.V769.C.ClientInformationConfiguration +instance Control.DeepSeq.NFData M.V769.C.ClientInformationConfiguration__ +instance Control.DeepSeq.NFData M.V769.C.CookieRequest +instance Control.DeepSeq.NFData M.V769.C.CookieResponse +instance Control.DeepSeq.NFData M.V769.C.CustomReportDetails +instance Control.DeepSeq.NFData M.V769.C.CustomReportDetails__ +instance Control.DeepSeq.NFData M.V769.C.Disconnect +instance Control.DeepSeq.NFData M.V769.C.FeatureFlags +instance Control.DeepSeq.NFData M.V769.C.FeatureFlags__ +instance Control.DeepSeq.NFData M.V769.C.FinishConfiguration +instance Control.DeepSeq.NFData M.V769.C.KnownPacks +instance Control.DeepSeq.NFData M.V769.C.KnownPacks__ +instance Control.DeepSeq.NFData M.V769.C.Pong +instance Control.DeepSeq.NFData M.V769.C.RegistryData +instance Control.DeepSeq.NFData M.V769.C.RemoveResourcePack +instance Control.DeepSeq.NFData M.V769.C.ResetChat +instance Control.DeepSeq.NFData M.V769.C.ResourcePackResponse +instance Control.DeepSeq.NFData M.V769.C.ServerLinks +instance Control.DeepSeq.NFData M.V769.C.ServerLinks__ +instance Control.DeepSeq.NFData M.V769.C.StoreCookie +instance Control.DeepSeq.NFData M.V769.C.Transfer +instance Control.DeepSeq.NFData M.V769.C.UpdateTags +instance Control.DeepSeq.NFData M.V769.C.UpdateTags__ +instance GHC.Classes.Ord M.V769.C.AcknowledgeFinishConfiguration +instance GHC.Classes.Ord M.V769.C.ClientInformationConfiguration +instance GHC.Classes.Ord M.V769.C.ClientInformationConfiguration__ +instance GHC.Classes.Ord M.V769.C.CookieRequest +instance GHC.Classes.Ord M.V769.C.CookieResponse +instance GHC.Classes.Ord M.V769.C.CustomReportDetails +instance GHC.Classes.Ord M.V769.C.CustomReportDetails__ +instance GHC.Classes.Ord M.V769.C.Disconnect +instance GHC.Classes.Ord M.V769.C.FeatureFlags +instance GHC.Classes.Ord M.V769.C.FeatureFlags__ +instance GHC.Classes.Ord M.V769.C.FinishConfiguration +instance GHC.Classes.Ord M.V769.C.KnownPacks +instance GHC.Classes.Ord M.V769.C.KnownPacks__ +instance GHC.Classes.Ord M.V769.C.Pong +instance GHC.Classes.Ord M.V769.C.RegistryData +instance GHC.Classes.Ord M.V769.C.RemoveResourcePack +instance GHC.Classes.Ord M.V769.C.ResetChat +instance GHC.Classes.Ord M.V769.C.ResourcePackResponse +instance GHC.Classes.Ord M.V769.C.ServerLinks +instance GHC.Classes.Ord M.V769.C.ServerLinks__ +instance GHC.Classes.Ord M.V769.C.StoreCookie +instance GHC.Classes.Ord M.V769.C.Transfer +instance GHC.Classes.Ord M.V769.C.UpdateTags +instance GHC.Classes.Ord M.V769.C.UpdateTags__ +instance M.Pack.Internal.Types.Pack M.V769.C.AcknowledgeFinishConfiguration +instance M.Pack.Internal.Types.Pack M.V769.C.ClientInformationConfiguration +instance M.Pack.Internal.Types.Pack M.V769.C.ClientInformationConfiguration__ +instance M.Pack.Internal.Types.Pack M.V769.C.CookieRequest +instance M.Pack.Internal.Types.Pack M.V769.C.CookieResponse +instance M.Pack.Internal.Types.Pack M.V769.C.CustomReportDetails +instance M.Pack.Internal.Types.Pack M.V769.C.CustomReportDetails__ +instance M.Pack.Internal.Types.Pack M.V769.C.Disconnect +instance M.Pack.Internal.Types.Pack M.V769.C.FeatureFlags +instance M.Pack.Internal.Types.Pack M.V769.C.FeatureFlags__ +instance M.Pack.Internal.Types.Pack M.V769.C.FinishConfiguration +instance M.Pack.Internal.Types.Pack M.V769.C.KnownPacks +instance M.Pack.Internal.Types.Pack M.V769.C.KnownPacks__ +instance M.Pack.Internal.Types.Pack M.V769.C.Pong +instance M.Pack.Internal.Types.Pack M.V769.C.RegistryData +instance M.Pack.Internal.Types.Pack M.V769.C.RemoveResourcePack +instance M.Pack.Internal.Types.Pack M.V769.C.ResetChat +instance M.Pack.Internal.Types.Pack M.V769.C.ResourcePackResponse +instance M.Pack.Internal.Types.Pack M.V769.C.ServerLinks +instance M.Pack.Internal.Types.Pack M.V769.C.ServerLinks__ +instance M.Pack.Internal.Types.Pack M.V769.C.StoreCookie +instance M.Pack.Internal.Types.Pack M.V769.C.Transfer +instance M.Pack.Internal.Types.Pack M.V769.C.UpdateTags +instance M.Pack.Internal.Types.Pack M.V769.C.UpdateTags__ +instance GHC.Read.Read M.V769.C.AcknowledgeFinishConfiguration +instance GHC.Read.Read M.V769.C.ClientInformationConfiguration +instance GHC.Read.Read M.V769.C.CookieRequest +instance GHC.Read.Read M.V769.C.CookieResponse +instance GHC.Read.Read M.V769.C.CustomReportDetails +instance GHC.Read.Read M.V769.C.Disconnect +instance GHC.Read.Read M.V769.C.FeatureFlags +instance GHC.Read.Read M.V769.C.FinishConfiguration +instance GHC.Read.Read M.V769.C.KnownPacks +instance GHC.Read.Read M.V769.C.Pong +instance GHC.Read.Read M.V769.C.RegistryData +instance GHC.Read.Read M.V769.C.RemoveResourcePack +instance GHC.Read.Read M.V769.C.ResetChat +instance GHC.Read.Read M.V769.C.ResourcePackResponse +instance GHC.Read.Read M.V769.C.ServerLinks +instance GHC.Read.Read M.V769.C.StoreCookie +instance GHC.Read.Read M.V769.C.Transfer +instance GHC.Read.Read M.V769.C.UpdateTags +instance GHC.Show.Show M.V769.C.AcknowledgeFinishConfiguration +instance GHC.Show.Show M.V769.C.ClientInformationConfiguration +instance GHC.Show.Show M.V769.C.CookieRequest +instance GHC.Show.Show M.V769.C.CookieResponse +instance GHC.Show.Show M.V769.C.CustomReportDetails +instance GHC.Show.Show M.V769.C.Disconnect +instance GHC.Show.Show M.V769.C.FeatureFlags +instance GHC.Show.Show M.V769.C.FinishConfiguration +instance GHC.Show.Show M.V769.C.KnownPacks +instance GHC.Show.Show M.V769.C.Pong +instance GHC.Show.Show M.V769.C.RegistryData +instance GHC.Show.Show M.V769.C.RemoveResourcePack +instance GHC.Show.Show M.V769.C.ResetChat +instance GHC.Show.Show M.V769.C.ResourcePackResponse +instance GHC.Show.Show M.V769.C.ServerLinks +instance GHC.Show.Show M.V769.C.StoreCookie +instance GHC.Show.Show M.V769.C.Transfer +instance GHC.Show.Show M.V769.C.UpdateTags +instance M.Pack.Internal.Types.Unpack M.V769.C.AcknowledgeFinishConfiguration +instance M.Pack.Internal.Types.Unpack M.V769.C.ClientInformationConfiguration +instance M.Pack.Internal.Types.Unpack M.V769.C.ClientInformationConfiguration__ +instance M.Pack.Internal.Types.Unpack M.V769.C.CookieRequest +instance M.Pack.Internal.Types.Unpack M.V769.C.CookieResponse +instance M.Pack.Internal.Types.Unpack M.V769.C.CustomReportDetails +instance M.Pack.Internal.Types.Unpack M.V769.C.CustomReportDetails__ +instance M.Pack.Internal.Types.Unpack M.V769.C.Disconnect +instance M.Pack.Internal.Types.Unpack M.V769.C.FeatureFlags +instance M.Pack.Internal.Types.Unpack M.V769.C.FeatureFlags__ +instance M.Pack.Internal.Types.Unpack M.V769.C.FinishConfiguration +instance M.Pack.Internal.Types.Unpack M.V769.C.KnownPacks +instance M.Pack.Internal.Types.Unpack M.V769.C.KnownPacks__ +instance M.Pack.Internal.Types.Unpack M.V769.C.Pong +instance M.Pack.Internal.Types.Unpack M.V769.C.RegistryData +instance M.Pack.Internal.Types.Unpack M.V769.C.RemoveResourcePack +instance M.Pack.Internal.Types.Unpack M.V769.C.ResetChat +instance M.Pack.Internal.Types.Unpack M.V769.C.ResourcePackResponse +instance M.Pack.Internal.Types.Unpack M.V769.C.ServerLinks +instance M.Pack.Internal.Types.Unpack M.V769.C.ServerLinks__ +instance M.Pack.Internal.Types.Unpack M.V769.C.StoreCookie +instance M.Pack.Internal.Types.Unpack M.V769.C.Transfer +instance M.Pack.Internal.Types.Unpack M.V769.C.UpdateTags +instance M.Pack.Internal.Types.Unpack M.V769.C.UpdateTags__ + + +-- | Defines packet structures for the login phase of protocol version 769, +-- handling authentication, encryption setup, and session establishment +-- between client and server. +module M.V769.L +data EncryptionResponse +EncryptionResponse :: ByteString -> ByteString -> EncryptionResponse +[sharedsecret] :: EncryptionResponse -> ByteString +[verifytoken] :: EncryptionResponse -> ByteString +data LoginAcknowledged +LoginAcknowledged :: LoginAcknowledged +data LoginStart +LoginStart :: Text -> UUID -> LoginStart +[name] :: LoginStart -> Text +[uuid] :: LoginStart -> UUID +data LoginPluginResponse__ +LoginPluginResponse__ :: VarInt -> Bool -> Maybe ByteString -> LoginPluginResponse__ +[messageid__] :: LoginPluginResponse__ -> VarInt +[successful__] :: LoginPluginResponse__ -> Bool +[data___] :: LoginPluginResponse__ -> Maybe ByteString +data LoginPluginResponse +LoginPluginResponse :: Int32 -> Bool -> Maybe ByteString -> LoginPluginResponse +[messageid] :: LoginPluginResponse -> Int32 +[successful] :: LoginPluginResponse -> Bool +[data_] :: LoginPluginResponse -> Maybe ByteString +data LoginPluginRequest__ +LoginPluginRequest__ :: LEB Int32 -> Text -> TakeRest -> LoginPluginRequest__ +[messageid__] :: LoginPluginRequest__ -> LEB Int32 +[channel__] :: LoginPluginRequest__ -> Text +[data___] :: LoginPluginRequest__ -> TakeRest +data LoginPluginRequest +LoginPluginRequest :: Int32 -> Text -> ByteString -> LoginPluginRequest +[messageid] :: LoginPluginRequest -> Int32 +[channel] :: LoginPluginRequest -> Text +[data_] :: LoginPluginRequest -> ByteString +data LoginSuccess_Property +LoginSuccess_Property :: Text -> Text -> Maybe Text -> LoginSuccess_Property +[name] :: LoginSuccess_Property -> Text +[value] :: LoginSuccess_Property -> Text +[signature] :: LoginSuccess_Property -> Maybe Text +data LoginSuccess +LoginSuccess :: UUID -> Text -> Vector LoginSuccess_Property -> LoginSuccess +[uuid] :: LoginSuccess -> UUID +[username] :: LoginSuccess -> Text +[properties] :: LoginSuccess -> Vector LoginSuccess_Property +data EncryptionRequest +EncryptionRequest :: Text -> ByteString -> ByteString -> Bool -> EncryptionRequest +[serverid] :: EncryptionRequest -> Text +[publickey] :: EncryptionRequest -> ByteString +[verifytoken] :: EncryptionRequest -> ByteString +[shouldauthenticate] :: EncryptionRequest -> Bool +data LoginDisconnect +LoginDisconnect :: TextComponent -> LoginDisconnect +[reason] :: LoginDisconnect -> TextComponent +instance Data.Data.Data M.V769.L.EncryptionRequest +instance Data.Data.Data M.V769.L.EncryptionResponse +instance Data.Data.Data M.V769.L.LoginAcknowledged +instance Data.Data.Data M.V769.L.LoginDisconnect +instance Data.Data.Data M.V769.L.LoginPluginRequest +instance Data.Data.Data M.V769.L.LoginPluginResponse +instance Data.Data.Data M.V769.L.LoginStart +instance Data.Data.Data M.V769.L.LoginSuccess +instance Data.Data.Data M.V769.L.LoginSuccess_Property +instance GHC.Classes.Eq M.V769.L.EncryptionRequest +instance GHC.Classes.Eq M.V769.L.EncryptionResponse +instance GHC.Classes.Eq M.V769.L.LoginAcknowledged +instance GHC.Classes.Eq M.V769.L.LoginDisconnect +instance GHC.Classes.Eq M.V769.L.LoginPluginRequest +instance GHC.Classes.Eq M.V769.L.LoginPluginRequest__ +instance GHC.Classes.Eq M.V769.L.LoginPluginResponse +instance GHC.Classes.Eq M.V769.L.LoginPluginResponse__ +instance GHC.Classes.Eq M.V769.L.LoginStart +instance GHC.Classes.Eq M.V769.L.LoginSuccess +instance GHC.Classes.Eq M.V769.L.LoginSuccess_Property +instance GHC.Generics.Generic M.V769.L.EncryptionRequest +instance GHC.Generics.Generic M.V769.L.EncryptionResponse +instance GHC.Generics.Generic M.V769.L.LoginAcknowledged +instance GHC.Generics.Generic M.V769.L.LoginDisconnect +instance GHC.Generics.Generic M.V769.L.LoginPluginRequest +instance GHC.Generics.Generic M.V769.L.LoginPluginRequest__ +instance GHC.Generics.Generic M.V769.L.LoginPluginResponse +instance GHC.Generics.Generic M.V769.L.LoginPluginResponse__ +instance GHC.Generics.Generic M.V769.L.LoginStart +instance GHC.Generics.Generic M.V769.L.LoginSuccess +instance GHC.Generics.Generic M.V769.L.LoginSuccess_Property +instance Control.DeepSeq.NFData M.V769.L.EncryptionRequest +instance Control.DeepSeq.NFData M.V769.L.EncryptionResponse +instance Control.DeepSeq.NFData M.V769.L.LoginAcknowledged +instance Control.DeepSeq.NFData M.V769.L.LoginDisconnect +instance Control.DeepSeq.NFData M.V769.L.LoginPluginRequest +instance Control.DeepSeq.NFData M.V769.L.LoginPluginRequest__ +instance Control.DeepSeq.NFData M.V769.L.LoginPluginResponse +instance Control.DeepSeq.NFData M.V769.L.LoginPluginResponse__ +instance Control.DeepSeq.NFData M.V769.L.LoginStart +instance Control.DeepSeq.NFData M.V769.L.LoginSuccess +instance Control.DeepSeq.NFData M.V769.L.LoginSuccess_Property +instance GHC.Classes.Ord M.V769.L.EncryptionRequest +instance GHC.Classes.Ord M.V769.L.EncryptionResponse +instance GHC.Classes.Ord M.V769.L.LoginAcknowledged +instance GHC.Classes.Ord M.V769.L.LoginDisconnect +instance GHC.Classes.Ord M.V769.L.LoginPluginRequest +instance GHC.Classes.Ord M.V769.L.LoginPluginRequest__ +instance GHC.Classes.Ord M.V769.L.LoginPluginResponse +instance GHC.Classes.Ord M.V769.L.LoginPluginResponse__ +instance GHC.Classes.Ord M.V769.L.LoginStart +instance GHC.Classes.Ord M.V769.L.LoginSuccess +instance GHC.Classes.Ord M.V769.L.LoginSuccess_Property +instance M.Pack.Internal.Types.Pack M.V769.L.EncryptionRequest +instance M.Pack.Internal.Types.Pack M.V769.L.EncryptionResponse +instance M.Pack.Internal.Types.Pack M.V769.L.LoginAcknowledged +instance M.Pack.Internal.Types.Pack M.V769.L.LoginDisconnect +instance M.Pack.Internal.Types.Pack M.V769.L.LoginPluginRequest +instance M.Pack.Internal.Types.Pack M.V769.L.LoginPluginRequest__ +instance M.Pack.Internal.Types.Pack M.V769.L.LoginPluginResponse +instance M.Pack.Internal.Types.Pack M.V769.L.LoginPluginResponse__ +instance M.Pack.Internal.Types.Pack M.V769.L.LoginStart +instance M.Pack.Internal.Types.Pack M.V769.L.LoginSuccess +instance M.Pack.Internal.Types.Pack M.V769.L.LoginSuccess_Property +instance GHC.Read.Read M.V769.L.EncryptionRequest +instance GHC.Read.Read M.V769.L.EncryptionResponse +instance GHC.Read.Read M.V769.L.LoginAcknowledged +instance GHC.Read.Read M.V769.L.LoginDisconnect +instance GHC.Read.Read M.V769.L.LoginPluginRequest +instance GHC.Read.Read M.V769.L.LoginPluginResponse +instance GHC.Read.Read M.V769.L.LoginStart +instance GHC.Read.Read M.V769.L.LoginSuccess +instance GHC.Read.Read M.V769.L.LoginSuccess_Property +instance GHC.Show.Show M.V769.L.EncryptionRequest +instance GHC.Show.Show M.V769.L.EncryptionResponse +instance GHC.Show.Show M.V769.L.LoginAcknowledged +instance GHC.Show.Show M.V769.L.LoginDisconnect +instance GHC.Show.Show M.V769.L.LoginPluginRequest +instance GHC.Show.Show M.V769.L.LoginPluginResponse +instance GHC.Show.Show M.V769.L.LoginStart +instance GHC.Show.Show M.V769.L.LoginSuccess +instance GHC.Show.Show M.V769.L.LoginSuccess_Property +instance M.Pack.Internal.Types.Unpack M.V769.L.EncryptionRequest +instance M.Pack.Internal.Types.Unpack M.V769.L.EncryptionResponse +instance M.Pack.Internal.Types.Unpack M.V769.L.LoginAcknowledged +instance M.Pack.Internal.Types.Unpack M.V769.L.LoginDisconnect +instance M.Pack.Internal.Types.Unpack M.V769.L.LoginPluginRequest +instance M.Pack.Internal.Types.Unpack M.V769.L.LoginPluginRequest__ +instance M.Pack.Internal.Types.Unpack M.V769.L.LoginPluginResponse +instance M.Pack.Internal.Types.Unpack M.V769.L.LoginPluginResponse__ +instance M.Pack.Internal.Types.Unpack M.V769.L.LoginStart +instance M.Pack.Internal.Types.Unpack M.V769.L.LoginSuccess +instance M.Pack.Internal.Types.Unpack M.V769.L.LoginSuccess_Property + + +-- | Implements the extensive set of packet structures for the play state +-- of protocol version 769, including entity management, world +-- interaction, inventory handling, and all other gameplay-related +-- communication. +module M.V769.P +data UseItem__ +UseItem__ :: VarInt -> VarInt -> UseItem__ +[hand__] :: UseItem__ -> VarInt +[sequence__] :: UseItem__ -> VarInt +data UseItem +UseItem :: Int32 -> Int32 -> UseItem +[hand] :: UseItem -> Int32 +[sequence] :: UseItem -> Int32 +data UseItemOn__ +UseItemOn__ :: VarInt -> Position -> VarInt -> V3 Float -> Bool -> UseItemOn__ +[hand__] :: UseItemOn__ -> VarInt +[location__] :: UseItemOn__ -> Position +[face__] :: UseItemOn__ -> VarInt +[cursor__] :: UseItemOn__ -> V3 Float +[insideblock__] :: UseItemOn__ -> Bool +data UseItemOn +UseItemOn :: Int32 -> Position -> Int32 -> V3 Float -> Bool -> UseItemOn +[hand] :: UseItemOn -> Int32 +[location] :: UseItemOn -> Position +[face] :: UseItemOn -> Int32 +[cursor] :: UseItemOn -> V3 Float +[insideblock] :: UseItemOn -> Bool +data TeleportToEntity__ +TeleportToEntity__ :: VarInt -> TeleportToEntity__ +[targetentityid__] :: TeleportToEntity__ -> VarInt +data TeleportToEntity +TeleportToEntity :: Int32 -> TeleportToEntity +[targetentityid] :: TeleportToEntity -> Int32 +data SwingArm__ +SwingArm__ :: VarInt -> SwingArm__ +[hand__] :: SwingArm__ -> VarInt +data SwingArm +SwingArm :: Int32 -> SwingArm +[hand] :: SwingArm -> Int32 +data UpdateSign +UpdateSign :: Position -> Bool -> Vector Text -> UpdateSign +[location] :: UpdateSign -> Position +[isfronttext] :: UpdateSign -> Bool +[lines] :: UpdateSign -> Vector Text +data ProgramStructureBlock__ +ProgramStructureBlock__ :: Position -> VarInt -> VarInt -> Text -> V3 Int8 -> V3 Int8 -> VarInt -> VarInt -> Text -> Float -> VarLong -> Word8 -> ProgramStructureBlock__ +[location__] :: ProgramStructureBlock__ -> Position +[action__] :: ProgramStructureBlock__ -> VarInt +[mode__] :: ProgramStructureBlock__ -> VarInt +[name__] :: ProgramStructureBlock__ -> Text +[offset__] :: ProgramStructureBlock__ -> V3 Int8 +[size__] :: ProgramStructureBlock__ -> V3 Int8 +[mirror__] :: ProgramStructureBlock__ -> VarInt +[rotation__] :: ProgramStructureBlock__ -> VarInt +[metadata___] :: ProgramStructureBlock__ -> Text +[integrity__] :: ProgramStructureBlock__ -> Float +[seed__] :: ProgramStructureBlock__ -> VarLong +[flags__] :: ProgramStructureBlock__ -> Word8 +data ProgramStructureBlock +ProgramStructureBlock :: Position -> Int32 -> Int32 -> Text -> V3 Int8 -> V3 Int8 -> Int32 -> Int32 -> Text -> Float -> Int64 -> Word8 -> ProgramStructureBlock +[location] :: ProgramStructureBlock -> Position +[action] :: ProgramStructureBlock -> Int32 +[mode] :: ProgramStructureBlock -> Int32 +[name] :: ProgramStructureBlock -> Text +[offset] :: ProgramStructureBlock -> V3 Int8 +[size] :: ProgramStructureBlock -> V3 Int8 +[mirror] :: ProgramStructureBlock -> Int32 +[rotation] :: ProgramStructureBlock -> Int32 +[metadata_] :: ProgramStructureBlock -> Text +[integrity] :: ProgramStructureBlock -> Float +[seed] :: ProgramStructureBlock -> Int64 +[flags] :: ProgramStructureBlock -> Word8 +data ProgramJigsawBlock +ProgramJigsawBlock :: Position -> Text -> Text -> Text -> Text -> Text -> ProgramJigsawBlock +[location] :: ProgramJigsawBlock -> Position +[name] :: ProgramJigsawBlock -> Text +[target] :: ProgramJigsawBlock -> Text +[pool] :: ProgramJigsawBlock -> Text +[finalstate] :: ProgramJigsawBlock -> Text +[jointtype] :: ProgramJigsawBlock -> Text +data SetCreativeModeSlot +SetCreativeModeSlot :: Int16 -> Slot -> SetCreativeModeSlot +[slot] :: SetCreativeModeSlot -> Int16 +[slotdata_] :: SetCreativeModeSlot -> Slot +data ProgramCommandBlockMinecart__ +ProgramCommandBlockMinecart__ :: VarInt -> Text -> Bool -> ProgramCommandBlockMinecart__ +[entityid__] :: ProgramCommandBlockMinecart__ -> VarInt +[command__] :: ProgramCommandBlockMinecart__ -> Text +[trackoutput__] :: ProgramCommandBlockMinecart__ -> Bool +data ProgramCommandBlockMinecart +ProgramCommandBlockMinecart :: Int32 -> Text -> Bool -> ProgramCommandBlockMinecart +[entityid] :: ProgramCommandBlockMinecart -> Int32 +[command] :: ProgramCommandBlockMinecart -> Text +[trackoutput] :: ProgramCommandBlockMinecart -> Bool +data ProgramCommandBlock__ +ProgramCommandBlock__ :: Position -> Text -> VarInt -> Word8 -> ProgramCommandBlock__ +[location__] :: ProgramCommandBlock__ -> Position +[command__] :: ProgramCommandBlock__ -> Text +[mode__] :: ProgramCommandBlock__ -> VarInt +[flags__] :: ProgramCommandBlock__ -> Word8 +data ProgramCommandBlock +ProgramCommandBlock :: Position -> Text -> Int32 -> Word8 -> ProgramCommandBlock +[location] :: ProgramCommandBlock -> Position +[command] :: ProgramCommandBlock -> Text +[mode] :: ProgramCommandBlock -> Int32 +[flags] :: ProgramCommandBlock -> Word8 +data SetHeldItemServerbound +SetHeldItemServerbound :: Word8 -> SetHeldItemServerbound +[slot] :: SetHeldItemServerbound -> Word8 +data SetBeaconEffect__ +SetBeaconEffect__ :: VarInt -> VarInt -> SetBeaconEffect__ +[primaryeffect__] :: SetBeaconEffect__ -> VarInt +[secondaryeffect__] :: SetBeaconEffect__ -> VarInt +data SetBeaconEffect +SetBeaconEffect :: Int32 -> Int32 -> SetBeaconEffect +[primaryeffect] :: SetBeaconEffect -> Int32 +[secondaryeffect] :: SetBeaconEffect -> Int32 +data SelectTrade__ +SelectTrade__ :: VarInt -> SelectTrade__ +[slot__] :: SelectTrade__ -> VarInt +data SelectTrade +SelectTrade :: Int32 -> SelectTrade +[slot] :: SelectTrade -> Int32 +data SeenAdvancements__ +SeenAdvancements__ :: VarInt -> Text -> SeenAdvancements__ +[action__] :: SeenAdvancements__ -> VarInt +[tabid__] :: SeenAdvancements__ -> Text +data SeenAdvancements +SeenAdvancements :: Int32 -> Text -> SeenAdvancements +[action] :: SeenAdvancements -> Int32 +[tabid] :: SeenAdvancements -> Text +data ResourcePackResponsePlay__ +ResourcePackResponsePlay__ :: VarInt -> ResourcePackResponsePlay__ +[status__] :: ResourcePackResponsePlay__ -> VarInt +data ResourcePackResponsePlay +ResourcePackResponsePlay :: Int32 -> ResourcePackResponsePlay +[status] :: ResourcePackResponsePlay -> Int32 +data RenameItem +RenameItem :: Text -> RenameItem +[name] :: RenameItem -> Text +data SetSeenRecipe +SetSeenRecipe :: Text -> SetSeenRecipe +[recipe] :: SetSeenRecipe -> Text +data ChangeRecipeBookSettings__ +ChangeRecipeBookSettings__ :: VarInt -> Bool -> Bool -> ChangeRecipeBookSettings__ +[bookid__] :: ChangeRecipeBookSettings__ -> VarInt +[bookopen__] :: ChangeRecipeBookSettings__ -> Bool +[filteractive__] :: ChangeRecipeBookSettings__ -> Bool +data ChangeRecipeBookSettings +ChangeRecipeBookSettings :: Int32 -> Bool -> Bool -> ChangeRecipeBookSettings +[bookid] :: ChangeRecipeBookSettings -> Int32 +[bookopen] :: ChangeRecipeBookSettings -> Bool +[filteractive] :: ChangeRecipeBookSettings -> Bool +data PongPlay +PongPlay :: Int64 -> PongPlay +[id] :: PongPlay -> Int64 +data PlayerLoaded +PlayerLoaded :: PlayerLoaded +data PlayerInput +PlayerInput :: Float -> Float -> Word8 -> PlayerInput +[sideways] :: PlayerInput -> Float +[forward] :: PlayerInput -> Float +[flags] :: PlayerInput -> Word8 +data PlayerCommand__ +PlayerCommand__ :: VarInt -> VarInt -> Int32 -> PlayerCommand__ +[entityid__] :: PlayerCommand__ -> VarInt +[actionid__] :: PlayerCommand__ -> VarInt +[data___] :: PlayerCommand__ -> Int32 +data PlayerCommand +PlayerCommand :: Int32 -> Int32 -> Int32 -> PlayerCommand +[entityid] :: PlayerCommand -> Int32 +[actionid] :: PlayerCommand -> Int32 +[data_] :: PlayerCommand -> Int32 +data PlayerAction__ +PlayerAction__ :: VarInt -> Position -> Int8 -> VarInt -> PlayerAction__ +[actionid__] :: PlayerAction__ -> VarInt +[location__] :: PlayerAction__ -> Position +[face__] :: PlayerAction__ -> Int8 +[sequence__] :: PlayerAction__ -> VarInt +data PlayerAction +PlayerAction :: Int32 -> Position -> Int8 -> Int32 -> PlayerAction +[actionid] :: PlayerAction -> Int32 +[location] :: PlayerAction -> Position +[face] :: PlayerAction -> Int8 +[sequence] :: PlayerAction -> Int32 +data ServerboundPlayerAbilities +ServerboundPlayerAbilities :: Word8 -> ServerboundPlayerAbilities +[flags] :: ServerboundPlayerAbilities -> Word8 +data PlaceRecipe +PlaceRecipe :: Word8 -> Text -> Bool -> PlaceRecipe +[windowid] :: PlaceRecipe -> Word8 +[recipe] :: PlaceRecipe -> Text +[makeall] :: PlaceRecipe -> Bool +data PingRequestPlay +PingRequestPlay :: Int64 -> PingRequestPlay +[id] :: PingRequestPlay -> Int64 +data PickItemFromEntity__ +PickItemFromEntity__ :: VarInt -> PickItemFromEntity__ +[entityid__] :: PickItemFromEntity__ -> VarInt +data PickItemFromEntity +PickItemFromEntity :: Int32 -> PickItemFromEntity +[entityid] :: PickItemFromEntity -> Int32 +data PickItemFromBlock +PickItemFromBlock :: Position -> PickItemFromBlock +[location] :: PickItemFromBlock -> Position +data PaddleBoat +PaddleBoat :: Bool -> Bool -> PaddleBoat +[leftpaddleturning] :: PaddleBoat -> Bool +[rightpaddleturning] :: PaddleBoat -> Bool +data MoveVehicleServerbound +MoveVehicleServerbound :: V3 Double -> V2 Float -> MoveVehicleServerbound +[position] :: MoveVehicleServerbound -> V3 Double +[rotation] :: MoveVehicleServerbound -> V2 Float +data SetPlayerMovementFlags +SetPlayerMovementFlags :: Word8 -> SetPlayerMovementFlags +[flags] :: SetPlayerMovementFlags -> Word8 +data SetPlayerRotation +SetPlayerRotation :: V2 Float -> Bool -> SetPlayerRotation +[rotation] :: SetPlayerRotation -> V2 Float +[onground] :: SetPlayerRotation -> Bool +data SetPlayerPositionAndRotation__ +SetPlayerPositionAndRotation__ :: V3 Double -> V2 Float -> Word8 -> VarInt -> SetPlayerPositionAndRotation__ +[position__] :: SetPlayerPositionAndRotation__ -> V3 Double +[rotation__] :: SetPlayerPositionAndRotation__ -> V2 Float +[flags__] :: SetPlayerPositionAndRotation__ -> Word8 +[teleportid__] :: SetPlayerPositionAndRotation__ -> VarInt +data SetPlayerPositionAndRotation +SetPlayerPositionAndRotation :: V3 Double -> V2 Float -> Word8 -> Int32 -> SetPlayerPositionAndRotation +[position] :: SetPlayerPositionAndRotation -> V3 Double +[rotation] :: SetPlayerPositionAndRotation -> V2 Float +[flags] :: SetPlayerPositionAndRotation -> Word8 +[teleportid] :: SetPlayerPositionAndRotation -> Int32 +data SetPlayerPosition__ +SetPlayerPosition__ :: V3 Double -> V2 Float -> Word8 -> VarInt -> SetPlayerPosition__ +[position__] :: SetPlayerPosition__ -> V3 Double +[rotation__] :: SetPlayerPosition__ -> V2 Float +[flags__] :: SetPlayerPosition__ -> Word8 +[teleportid__] :: SetPlayerPosition__ -> VarInt +data SetPlayerPosition +SetPlayerPosition :: V3 Double -> V2 Float -> Word8 -> Int32 -> SetPlayerPosition +[position] :: SetPlayerPosition -> V3 Double +[rotation] :: SetPlayerPosition -> V2 Float +[flags] :: SetPlayerPosition -> Word8 +[teleportid] :: SetPlayerPosition -> Int32 +data LockDifficulty +LockDifficulty :: Bool -> LockDifficulty +[locked] :: LockDifficulty -> Bool +data JigsawGenerate__ +JigsawGenerate__ :: Position -> VarInt -> Bool -> JigsawGenerate__ +[location__] :: JigsawGenerate__ -> Position +[levels__] :: JigsawGenerate__ -> VarInt +[keepjigsaws__] :: JigsawGenerate__ -> Bool +data JigsawGenerate +JigsawGenerate :: Position -> Int32 -> Bool -> JigsawGenerate +[location] :: JigsawGenerate -> Position +[levels] :: JigsawGenerate -> Int32 +[keepjigsaws] :: JigsawGenerate -> Bool +data Interact__ +Interact__ :: VarInt -> VarInt -> V3 Float -> VarInt -> Bool -> Interact__ +[entityid__] :: Interact__ -> VarInt +[type___] :: Interact__ -> VarInt +[target__] :: Interact__ -> V3 Float +[hand__] :: Interact__ -> VarInt +[sneaking__] :: Interact__ -> Bool +data Interact +Interact :: Int32 -> Int32 -> V3 Float -> Int32 -> Bool -> Interact +[entityid] :: Interact -> Int32 +[type_] :: Interact -> Int32 +[target] :: Interact -> V3 Float +[hand] :: Interact -> Int32 +[sneaking] :: Interact -> Bool +data QueryEntityTag__ +QueryEntityTag__ :: VarInt -> VarInt -> QueryEntityTag__ +[transactionid__] :: QueryEntityTag__ -> VarInt +[entityid__] :: QueryEntityTag__ -> VarInt +data QueryEntityTag +QueryEntityTag :: Int32 -> Int32 -> QueryEntityTag +[transactionid] :: QueryEntityTag -> Int32 +[entityid] :: QueryEntityTag -> Int32 +data EditBook__ +EditBook__ :: VarInt -> Vector Text -> Text -> EditBook__ +[hand__] :: EditBook__ -> VarInt +[pages__] :: EditBook__ -> Vector Text +[title__] :: EditBook__ -> Text +data EditBook +EditBook :: Int32 -> Vector Text -> Text -> EditBook +[hand] :: EditBook -> Int32 +[pages] :: EditBook -> Vector Text +[title] :: EditBook -> Text +data DebugSampleSubscription__ +DebugSampleSubscription__ :: TakeRest -> DebugSampleSubscription__ +[data___] :: DebugSampleSubscription__ -> TakeRest +data DebugSampleSubscription +DebugSampleSubscription :: ByteString -> DebugSampleSubscription +[data_] :: DebugSampleSubscription -> ByteString +data CookieResponsePlay +CookieResponsePlay :: Text -> Text -> CookieResponsePlay +[key] :: CookieResponsePlay -> Text +[value] :: CookieResponsePlay -> Text +data ChangeContainerSlotState +ChangeContainerSlotState :: Word8 -> Int16 -> Int8 -> ChangeContainerSlotState +[windowid] :: ChangeContainerSlotState -> Word8 +[slot] :: ChangeContainerSlotState -> Int16 +[state] :: ChangeContainerSlotState -> Int8 +data CloseContainerServerbound +CloseContainerServerbound :: Word8 -> CloseContainerServerbound +[windowid] :: CloseContainerServerbound -> Word8 +data ClickContainer__ +ClickContainer__ :: Word8 -> VarInt -> Int16 -> Int8 -> VarInt -> Vector Slot -> ClickContainer__ +[windowid__] :: ClickContainer__ -> Word8 +[stateid__] :: ClickContainer__ -> VarInt +[slot__] :: ClickContainer__ -> Int16 +[button__] :: ClickContainer__ -> Int8 +[mode__] :: ClickContainer__ -> VarInt +[slots__] :: ClickContainer__ -> Vector Slot +data ClickContainer +ClickContainer :: Word8 -> Int32 -> Int16 -> Int8 -> Int32 -> Vector Slot -> ClickContainer +[windowid] :: ClickContainer -> Word8 +[stateid] :: ClickContainer -> Int32 +[slot] :: ClickContainer -> Int16 +[button] :: ClickContainer -> Int8 +[mode] :: ClickContainer -> Int32 +[slots] :: ClickContainer -> Vector Slot +data ClickContainerButton +ClickContainerButton :: Word8 -> Word8 -> ClickContainerButton +[windowid] :: ClickContainerButton -> Word8 +[buttonid] :: ClickContainerButton -> Word8 +data AcknowledgeConfiguration +AcknowledgeConfiguration :: AcknowledgeConfiguration +data CommandSuggestionsRequest__ +CommandSuggestionsRequest__ :: VarInt -> Text -> CommandSuggestionsRequest__ +[id__] :: CommandSuggestionsRequest__ -> VarInt +[text__] :: CommandSuggestionsRequest__ -> Text +data CommandSuggestionsRequest +CommandSuggestionsRequest :: Int32 -> Text -> CommandSuggestionsRequest +[id] :: CommandSuggestionsRequest -> Int32 +[text] :: CommandSuggestionsRequest -> Text +data ClientInformationPlay__ +ClientInformationPlay__ :: Text -> Int8 -> VarInt -> Bool -> Word8 -> VarInt -> Bool -> Bool -> ClientInformationPlay__ +[locale__] :: ClientInformationPlay__ -> Text +[viewdistance__] :: ClientInformationPlay__ -> Int8 +[chatmode__] :: ClientInformationPlay__ -> VarInt +[chatcolors__] :: ClientInformationPlay__ -> Bool +[displayedskinparts__] :: ClientInformationPlay__ -> Word8 +[mainhand__] :: ClientInformationPlay__ -> VarInt +[enabletextfiltering__] :: ClientInformationPlay__ -> Bool +[allowserverlistings__] :: ClientInformationPlay__ -> Bool +data ClientInformationPlay +ClientInformationPlay :: Text -> Int8 -> Int32 -> Bool -> Word8 -> Int32 -> Bool -> Bool -> ClientInformationPlay +[locale] :: ClientInformationPlay -> Text +[viewdistance] :: ClientInformationPlay -> Int8 +[chatmode] :: ClientInformationPlay -> Int32 +[chatcolors] :: ClientInformationPlay -> Bool +[displayedskinparts] :: ClientInformationPlay -> Word8 +[mainhand] :: ClientInformationPlay -> Int32 +[enabletextfiltering] :: ClientInformationPlay -> Bool +[allowserverlistings] :: ClientInformationPlay -> Bool +data ClientTickEnd +ClientTickEnd :: ClientTickEnd +data ClientStatus__ +ClientStatus__ :: VarInt -> ClientStatus__ +[actionid__] :: ClientStatus__ -> VarInt +data ClientStatus +ClientStatus :: Int32 -> ClientStatus +[actionid] :: ClientStatus -> Int32 +data ChunkBatchReceived +ChunkBatchReceived :: ChunkBatchReceived +data PlayerSession +PlayerSession :: UUID -> ByteString -> ByteString -> PlayerSession +[sessionid] :: PlayerSession -> UUID +[publickey] :: PlayerSession -> ByteString +[signature] :: PlayerSession -> ByteString +data ChatMessage +ChatMessage :: Text -> Int64 -> Int64 -> ByteString -> Bool -> Vector UUID -> ChatMessage +[message] :: ChatMessage -> Text +[timestamp] :: ChatMessage -> Int64 +[salt] :: ChatMessage -> Int64 +[signature] :: ChatMessage -> ByteString +[signedpreview] :: ChatMessage -> Bool +[lastseenmessages] :: ChatMessage -> Vector UUID +data SignedChatCommand +SignedChatCommand :: Text -> Int64 -> Int64 -> ByteString -> Bool -> Vector UUID -> SignedChatCommand +[command] :: SignedChatCommand -> Text +[timestamp] :: SignedChatCommand -> Int64 +[salt] :: SignedChatCommand -> Int64 +[argumentsignatures] :: SignedChatCommand -> ByteString +[signedpreview] :: SignedChatCommand -> Bool +[lastseenmessages] :: SignedChatCommand -> Vector UUID +data ServerboundChatCommand +ServerboundChatCommand :: Text -> Int64 -> Int64 -> ByteString -> Bool -> Vector UUID -> ServerboundChatCommand +[command] :: ServerboundChatCommand -> Text +[timestamp] :: ServerboundChatCommand -> Int64 +[salt] :: ServerboundChatCommand -> Int64 +[argumentsignatures] :: ServerboundChatCommand -> ByteString +[signedpreview] :: ServerboundChatCommand -> Bool +[lastseenmessages] :: ServerboundChatCommand -> Vector UUID +data AcknowledgeMessage +AcknowledgeMessage :: UUID -> AcknowledgeMessage +[messageid] :: AcknowledgeMessage -> UUID +data ServerboundChangeDifficulty +ServerboundChangeDifficulty :: Word8 -> ServerboundChangeDifficulty +[difficulty] :: ServerboundChangeDifficulty -> Word8 +data BundleItemSelected__ +BundleItemSelected__ :: VarInt -> BundleItemSelected__ +[slot__] :: BundleItemSelected__ -> VarInt +data BundleItemSelected +BundleItemSelected :: Int32 -> BundleItemSelected +[slot] :: BundleItemSelected -> Int32 +data QueryBlockEntityTag__ +QueryBlockEntityTag__ :: VarInt -> Position -> QueryBlockEntityTag__ +[transactionid__] :: QueryBlockEntityTag__ -> VarInt +[location__] :: QueryBlockEntityTag__ -> Position +data QueryBlockEntityTag +QueryBlockEntityTag :: Int32 -> Position -> QueryBlockEntityTag +[transactionid] :: QueryBlockEntityTag -> Int32 +[location] :: QueryBlockEntityTag -> Position +data ConfirmTeleportation__ +ConfirmTeleportation__ :: VarInt -> ConfirmTeleportation__ +[teleportid__] :: ConfirmTeleportation__ -> VarInt +data ConfirmTeleportation +ConfirmTeleportation :: Int32 -> ConfirmTeleportation +[teleportid] :: ConfirmTeleportation -> Int32 +data SetTabListHeaderAndFooter +SetTabListHeaderAndFooter :: TextComponent -> TextComponent -> SetTabListHeaderAndFooter +[header] :: SetTabListHeaderAndFooter -> TextComponent +[footer] :: SetTabListHeaderAndFooter -> TextComponent +data StoreCookie +StoreCookie :: Text -> Text -> StoreCookie +[key] :: StoreCookie -> Text +[value] :: StoreCookie -> Text +data StopSound__ +StopSound__ :: Word8 -> VarInt -> VarInt -> StopSound__ +[flags__] :: StopSound__ -> Word8 +[source__] :: StopSound__ -> VarInt +[sound__] :: StopSound__ -> VarInt +data StopSound +StopSound :: Word8 -> Int32 -> Int32 -> StopSound +[flags] :: StopSound -> Word8 +[source] :: StopSound -> Int32 +[sound] :: StopSound -> Int32 +data StartConfiguration +StartConfiguration :: StartConfiguration +data SoundEffect__ +SoundEffect__ :: VarInt -> VarInt -> V3 Int32 -> Float -> Float -> SoundEffect__ +[soundid__] :: SoundEffect__ -> VarInt +[soundcategory__] :: SoundEffect__ -> VarInt +[position__] :: SoundEffect__ -> V3 Int32 +[volume__] :: SoundEffect__ -> Float +[pitch__] :: SoundEffect__ -> Float +data SoundEffect +SoundEffect :: Int32 -> Int32 -> V3 Int32 -> Float -> Float -> SoundEffect +[soundid] :: SoundEffect -> Int32 +[soundcategory] :: SoundEffect -> Int32 +[position] :: SoundEffect -> V3 Int32 +[volume] :: SoundEffect -> Float +[pitch] :: SoundEffect -> Float +data EntitySoundEffect__ +EntitySoundEffect__ :: VarInt -> VarInt -> VarInt -> Float -> Float -> EntitySoundEffect__ +[soundid__] :: EntitySoundEffect__ -> VarInt +[soundcategory__] :: EntitySoundEffect__ -> VarInt +[entityid__] :: EntitySoundEffect__ -> VarInt +[volume__] :: EntitySoundEffect__ -> Float +[pitch__] :: EntitySoundEffect__ -> Float +data EntitySoundEffect +EntitySoundEffect :: Int32 -> Int32 -> Int32 -> Float -> Float -> EntitySoundEffect +[soundid] :: EntitySoundEffect -> Int32 +[soundcategory] :: EntitySoundEffect -> Int32 +[entityid] :: EntitySoundEffect -> Int32 +[volume] :: EntitySoundEffect -> Float +[pitch] :: EntitySoundEffect -> Float +data SetTitleAnimationTimes +SetTitleAnimationTimes :: Int32 -> Int32 -> Int32 -> SetTitleAnimationTimes +[fadein] :: SetTitleAnimationTimes -> Int32 +[stay] :: SetTitleAnimationTimes -> Int32 +[fadeout] :: SetTitleAnimationTimes -> Int32 +data SetTitleText +SetTitleText :: TextComponent -> SetTitleText +[text] :: SetTitleText -> TextComponent +data UpdateTime +UpdateTime :: Int64 -> Int64 -> UpdateTime +[worldage] :: UpdateTime -> Int64 +[timeofday] :: UpdateTime -> Int64 +data SetSubtitleText +SetSubtitleText :: TextComponent -> SetSubtitleText +[text] :: SetSubtitleText -> TextComponent +data SetSimulationDistance__ +SetSimulationDistance__ :: VarInt -> SetSimulationDistance__ +[simulationdistance__] :: SetSimulationDistance__ -> VarInt +data SetSimulationDistance +SetSimulationDistance :: Int32 -> SetSimulationDistance +[simulationdistance] :: SetSimulationDistance -> Int32 +data UpdateScore__ +UpdateScore__ :: Text -> Word8 -> Text -> VarInt -> UpdateScore__ +[entityname__] :: UpdateScore__ -> Text +[action__] :: UpdateScore__ -> Word8 +[objectivename__] :: UpdateScore__ -> Text +[value__] :: UpdateScore__ -> VarInt +data UpdateScore +UpdateScore :: Text -> Word8 -> Text -> Int32 -> UpdateScore +[entityname] :: UpdateScore -> Text +[action] :: UpdateScore -> Word8 +[objectivename] :: UpdateScore -> Text +[value] :: UpdateScore -> Int32 +data UpdateTeams__ +UpdateTeams__ :: Text -> Word8 -> Text -> Text -> Text -> Word8 -> Text -> Text -> VarInt -> Vector Text -> UpdateTeams__ +[teamname__] :: UpdateTeams__ -> Text +[mode__] :: UpdateTeams__ -> Word8 +[displayname__] :: UpdateTeams__ -> Text +[prefix__] :: UpdateTeams__ -> Text +[suffix__] :: UpdateTeams__ -> Text +[flags__] :: UpdateTeams__ -> Word8 +[nametagvisibility__] :: UpdateTeams__ -> Text +[collisionrule__] :: UpdateTeams__ -> Text +[color__] :: UpdateTeams__ -> VarInt +[players__] :: UpdateTeams__ -> Vector Text +data UpdateTeams +UpdateTeams :: Text -> Word8 -> Text -> Text -> Text -> Word8 -> Text -> Text -> Int32 -> Vector Text -> UpdateTeams +[teamname] :: UpdateTeams -> Text +[mode] :: UpdateTeams -> Word8 +[displayname] :: UpdateTeams -> Text +[prefix] :: UpdateTeams -> Text +[suffix] :: UpdateTeams -> Text +[flags] :: UpdateTeams -> Word8 +[nametagvisibility] :: UpdateTeams -> Text +[collisionrule] :: UpdateTeams -> Text +[color] :: UpdateTeams -> Int32 +[players] :: UpdateTeams -> Vector Text +data SetPlayerInventorySlot +SetPlayerInventorySlot :: Int16 -> Slot -> SetPlayerInventorySlot +[slot] :: SetPlayerInventorySlot -> Int16 +[slotdata_] :: SetPlayerInventorySlot -> Slot +data SetPassengers__ +SetPassengers__ :: VarInt -> Vector VarInt -> SetPassengers__ +[entityid__] :: SetPassengers__ -> VarInt +[passengerids__] :: SetPassengers__ -> Vector VarInt +data SetPassengers +SetPassengers :: Int32 -> Vector Int32 -> SetPassengers +[entityid] :: SetPassengers -> Int32 +[passengerids] :: SetPassengers -> Vector Int32 +data UpdateObjectives__ +UpdateObjectives__ :: Text -> Word8 -> Text -> VarInt -> UpdateObjectives__ +[name__] :: UpdateObjectives__ -> Text +[mode__] :: UpdateObjectives__ -> Word8 +[displayname__] :: UpdateObjectives__ -> Text +[type___] :: UpdateObjectives__ -> VarInt +data UpdateObjectives +UpdateObjectives :: Text -> Word8 -> Text -> Int32 -> UpdateObjectives +[name] :: UpdateObjectives -> Text +[mode] :: UpdateObjectives -> Word8 +[displayname] :: UpdateObjectives -> Text +[type_] :: UpdateObjectives -> Int32 +data SetHeldItem +SetHeldItem :: Word8 -> SetHeldItem +[slot] :: SetHeldItem -> Word8 +data SetHealth__ +SetHealth__ :: Float -> VarInt -> Float -> SetHealth__ +[health__] :: SetHealth__ -> Float +[food__] :: SetHealth__ -> VarInt +[foodsaturation__] :: SetHealth__ -> Float +data SetHealth +SetHealth :: Float -> Int32 -> Float -> SetHealth +[health] :: SetHealth -> Float +[food] :: SetHealth -> Int32 +[foodsaturation] :: SetHealth -> Float +data SetExperience__ +SetExperience__ :: Float -> VarInt -> VarInt -> SetExperience__ +[experiencebar__] :: SetExperience__ -> Float +[level__] :: SetExperience__ -> VarInt +[totalexperience__] :: SetExperience__ -> VarInt +data SetExperience +SetExperience :: Float -> Int32 -> Int32 -> SetExperience +[experiencebar] :: SetExperience -> Float +[level] :: SetExperience -> Int32 +[totalexperience] :: SetExperience -> Int32 +data SetEquipment__ +SetEquipment__ :: VarInt -> Vector Slot -> SetEquipment__ +[entityid__] :: SetEquipment__ -> VarInt +[equipment__] :: SetEquipment__ -> Vector Slot +data SetEquipment +SetEquipment :: Int32 -> Vector Slot -> SetEquipment +[entityid] :: SetEquipment -> Int32 +[equipment] :: SetEquipment -> Vector Slot +data SetEntityVelocity__ +SetEntityVelocity__ :: VarInt -> V3 Int16 -> SetEntityVelocity__ +[entityid__] :: SetEntityVelocity__ -> VarInt +[velocity__] :: SetEntityVelocity__ -> V3 Int16 +data SetEntityVelocity +SetEntityVelocity :: Int32 -> V3 Int16 -> SetEntityVelocity +[entityid] :: SetEntityVelocity -> Int32 +[velocity] :: SetEntityVelocity -> V3 Int16 +data LinkEntities__ +LinkEntities__ :: VarInt -> Vector VarInt -> LinkEntities__ +[vehicleid__] :: LinkEntities__ -> VarInt +[passengerids__] :: LinkEntities__ -> Vector VarInt +data LinkEntities +LinkEntities :: Int32 -> Vector Int32 -> LinkEntities +[vehicleid] :: LinkEntities -> Int32 +[passengerids] :: LinkEntities -> Vector Int32 +data SetEntityMetadata__ +SetEntityMetadata__ :: VarInt -> TakeRest -> SetEntityMetadata__ +[entityid__] :: SetEntityMetadata__ -> VarInt +[metadata___] :: SetEntityMetadata__ -> TakeRest +data SetEntityMetadata +SetEntityMetadata :: Int32 -> ByteString -> SetEntityMetadata +[entityid] :: SetEntityMetadata -> Int32 +[metadata_] :: SetEntityMetadata -> ByteString +data DisplayObjective +DisplayObjective :: Word8 -> Text -> DisplayObjective +[position] :: DisplayObjective -> Word8 +[name] :: DisplayObjective -> Text +data SetDefaultSpawnPosition +SetDefaultSpawnPosition :: Position -> Float -> SetDefaultSpawnPosition +[location] :: SetDefaultSpawnPosition -> Position +[angle] :: SetDefaultSpawnPosition -> Float +data SetCursorItem +SetCursorItem :: Slot -> SetCursorItem +[slotdata_] :: SetCursorItem -> Slot +data SetRenderDistance__ +SetRenderDistance__ :: VarInt -> SetRenderDistance__ +[viewdistance__] :: SetRenderDistance__ -> VarInt +data SetRenderDistance +SetRenderDistance :: Int32 -> SetRenderDistance +[viewdistance] :: SetRenderDistance -> Int32 +data SetCenterChunk__ +SetCenterChunk__ :: VarInt -> VarInt -> SetCenterChunk__ +[chunkx__] :: SetCenterChunk__ -> VarInt +[chunkz__] :: SetCenterChunk__ -> VarInt +data SetCenterChunk +SetCenterChunk :: Int32 -> Int32 -> SetCenterChunk +[chunkx] :: SetCenterChunk -> Int32 +[chunkz] :: SetCenterChunk -> Int32 +data SetCamera__ +SetCamera__ :: VarInt -> SetCamera__ +[cameraid__] :: SetCamera__ -> VarInt +data SetCamera +SetCamera :: Int32 -> SetCamera +[cameraid] :: SetCamera -> Int32 +data SetBorderWarningDistance__ +SetBorderWarningDistance__ :: VarInt -> SetBorderWarningDistance__ +[warningblocks__] :: SetBorderWarningDistance__ -> VarInt +data SetBorderWarningDistance +SetBorderWarningDistance :: Int32 -> SetBorderWarningDistance +[warningblocks] :: SetBorderWarningDistance -> Int32 +data SetBorderWarningDelay__ +SetBorderWarningDelay__ :: VarInt -> SetBorderWarningDelay__ +[warningtime__] :: SetBorderWarningDelay__ -> VarInt +data SetBorderWarningDelay +SetBorderWarningDelay :: Int32 -> SetBorderWarningDelay +[warningtime] :: SetBorderWarningDelay -> Int32 +data SetBorderSize +SetBorderSize :: Double -> SetBorderSize +[size] :: SetBorderSize -> Double +data SetBorderLerpSize__ +SetBorderLerpSize__ :: Double -> Double -> VarLong -> SetBorderLerpSize__ +[oldsize__] :: SetBorderLerpSize__ -> Double +[newsize__] :: SetBorderLerpSize__ -> Double +[speed__] :: SetBorderLerpSize__ -> VarLong +data SetBorderLerpSize +SetBorderLerpSize :: Double -> Double -> Int64 -> SetBorderLerpSize +[oldsize] :: SetBorderLerpSize -> Double +[newsize] :: SetBorderLerpSize -> Double +[speed] :: SetBorderLerpSize -> Int64 +data SetBorderCenter +SetBorderCenter :: Double -> Double -> SetBorderCenter +[x] :: SetBorderCenter -> Double +[z] :: SetBorderCenter -> Double +data SetActionBarText +SetActionBarText :: TextComponent -> SetActionBarText +[text] :: SetActionBarText -> TextComponent +data ServerData +ServerData :: TextComponent -> Text -> Bool -> ServerData +[motd] :: ServerData -> TextComponent +[icon] :: ServerData -> Text +[enforcesecurechat] :: ServerData -> Bool +data SelectAdvancementsTab +SelectAdvancementsTab :: Text -> SelectAdvancementsTab +[identifier] :: SelectAdvancementsTab -> Text +data UpdateSectionBlocks__ +UpdateSectionBlocks__ :: Int64 -> Bool -> Vector VarLong -> UpdateSectionBlocks__ +[sectionposition__] :: UpdateSectionBlocks__ -> Int64 +[trustedges__] :: UpdateSectionBlocks__ -> Bool +[blocks__] :: UpdateSectionBlocks__ -> Vector VarLong +data UpdateSectionBlocks +UpdateSectionBlocks :: Int64 -> Bool -> Vector Int64 -> UpdateSectionBlocks +[sectionposition] :: UpdateSectionBlocks -> Int64 +[trustedges] :: UpdateSectionBlocks -> Bool +[blocks] :: UpdateSectionBlocks -> Vector Int64 +data SetHeadRotation__ +SetHeadRotation__ :: VarInt -> Int8Angle -> SetHeadRotation__ +[entityid__] :: SetHeadRotation__ -> VarInt +[headyaw__] :: SetHeadRotation__ -> Int8Angle +data SetHeadRotation +SetHeadRotation :: Int32 -> Int8 -> SetHeadRotation +[entityid] :: SetHeadRotation -> Int32 +[headyaw] :: SetHeadRotation -> Int8 +data Respawn +Respawn :: Tg -> Text -> Int64 -> Word8 -> Int8 -> Bool -> Bool -> Bool -> Respawn +[dimension] :: Respawn -> Tg +[worldname] :: Respawn -> Text +[hashedseed] :: Respawn -> Int64 +[gamemode] :: Respawn -> Word8 +[previousgamemode] :: Respawn -> Int8 +[isdebug] :: Respawn -> Bool +[isflat] :: Respawn -> Bool +[copymetadata_] :: Respawn -> Bool +data AddResourcePack +AddResourcePack :: Text -> Text -> AddResourcePack +[url] :: AddResourcePack -> Text +[hash] :: AddResourcePack -> Text +data RemoveResourcePack +RemoveResourcePack :: RemoveResourcePack +data ResetScore +ResetScore :: Text -> Text -> Word8 -> ResetScore +[objectivename] :: ResetScore -> Text +[playername] :: ResetScore -> Text +[action] :: ResetScore -> Word8 +data RemoveEntityEffect__ +RemoveEntityEffect__ :: VarInt -> Word8 -> RemoveEntityEffect__ +[entityid__] :: RemoveEntityEffect__ -> VarInt +[effectid__] :: RemoveEntityEffect__ -> Word8 +data RemoveEntityEffect +RemoveEntityEffect :: Int32 -> Word8 -> RemoveEntityEffect +[entityid] :: RemoveEntityEffect -> Int32 +[effectid] :: RemoveEntityEffect -> Word8 +data RemoveEntities__ +RemoveEntities__ :: Vector VarInt -> RemoveEntities__ +[entityids__] :: RemoveEntities__ -> Vector VarInt +data RemoveEntities +RemoveEntities :: Vector Int32 -> RemoveEntities +[entityids] :: RemoveEntities -> Vector Int32 +data RecipeBookSettings__ +RecipeBookSettings__ :: VarInt -> Bool -> Bool -> RecipeBookSettings__ +[bookid__] :: RecipeBookSettings__ -> VarInt +[bookopen__] :: RecipeBookSettings__ -> Bool +[filteractive__] :: RecipeBookSettings__ -> Bool +data RecipeBookSettings +RecipeBookSettings :: Int32 -> Bool -> Bool -> RecipeBookSettings +[bookid] :: RecipeBookSettings -> Int32 +[bookopen] :: RecipeBookSettings -> Bool +[filteractive] :: RecipeBookSettings -> Bool +data RecipeBookRemove +RecipeBookRemove :: Text -> RecipeBookRemove +[recipe] :: RecipeBookRemove -> Text +data RecipeBookAdd +RecipeBookAdd :: Text -> RecipeBookAdd +[recipe] :: RecipeBookAdd -> Text +data PlayerRotation +PlayerRotation :: V2 Float -> Bool -> PlayerRotation +[rotation] :: PlayerRotation -> V2 Float +[onground] :: PlayerRotation -> Bool +data SynchronizePlayerPosition__ +SynchronizePlayerPosition__ :: V3 Double -> V2 Float -> Word8 -> VarInt -> SynchronizePlayerPosition__ +[position__] :: SynchronizePlayerPosition__ -> V3 Double +[rotation__] :: SynchronizePlayerPosition__ -> V2 Float +[flags__] :: SynchronizePlayerPosition__ -> Word8 +[teleportid__] :: SynchronizePlayerPosition__ -> VarInt +data SynchronizePlayerPosition +SynchronizePlayerPosition :: V3 Double -> V2 Float -> Word8 -> Int32 -> SynchronizePlayerPosition +[position] :: SynchronizePlayerPosition -> V3 Double +[rotation] :: SynchronizePlayerPosition -> V2 Float +[flags] :: SynchronizePlayerPosition -> Word8 +[teleportid] :: SynchronizePlayerPosition -> Int32 +data LookAt__ +LookAt__ :: VarInt -> V3 Double -> Bool -> LookAt__ +[target__] :: LookAt__ -> VarInt +[position__] :: LookAt__ -> V3 Double +[isentity__] :: LookAt__ -> Bool +data LookAt +LookAt :: Int32 -> V3 Double -> Bool -> LookAt +[target] :: LookAt -> Int32 +[position] :: LookAt -> V3 Double +[isentity] :: LookAt -> Bool +data PlayerInfoUpdate__ +PlayerInfoUpdate__ :: VarInt -> TakeRest -> PlayerInfoUpdate__ +[action__] :: PlayerInfoUpdate__ -> VarInt +[data___] :: PlayerInfoUpdate__ -> TakeRest +data PlayerInfoUpdate +PlayerInfoUpdate :: Int32 -> ByteString -> PlayerInfoUpdate +[action] :: PlayerInfoUpdate -> Int32 +[data_] :: PlayerInfoUpdate -> ByteString +data PlayerInfoRemove +PlayerInfoRemove :: Vector UUID -> PlayerInfoRemove +[players] :: PlayerInfoRemove -> Vector UUID +data CombatDeath__ +CombatDeath__ :: VarInt -> VarInt -> Text -> CombatDeath__ +[playerid__] :: CombatDeath__ -> VarInt +[entityid__] :: CombatDeath__ -> VarInt +[message__] :: CombatDeath__ -> Text +data CombatDeath +CombatDeath :: Int32 -> Int32 -> Text -> CombatDeath +[playerid] :: CombatDeath -> Int32 +[entityid] :: CombatDeath -> Int32 +[message] :: CombatDeath -> Text +data EnterCombat +EnterCombat :: EnterCombat +data EndCombat__ +EndCombat__ :: VarInt -> Int32 -> EndCombat__ +[duration__] :: EndCombat__ -> VarInt +[entityid__] :: EndCombat__ -> Int32 +data EndCombat +EndCombat :: Int32 -> Int32 -> EndCombat +[duration] :: EndCombat -> Int32 +[entityid] :: EndCombat -> Int32 +data PlayerChatMessage +PlayerChatMessage :: UUID -> Text -> Int64 -> Int64 -> ByteString -> Bool -> Vector UUID -> PlayerChatMessage +[sender] :: PlayerChatMessage -> UUID +[message] :: PlayerChatMessage -> Text +[timestamp] :: PlayerChatMessage -> Int64 +[salt] :: PlayerChatMessage -> Int64 +[signature] :: PlayerChatMessage -> ByteString +[signedpreview] :: PlayerChatMessage -> Bool +[lastseenmessages] :: PlayerChatMessage -> Vector UUID +data ClientboundPlayerAbilities +ClientboundPlayerAbilities :: Word8 -> Float -> Float -> ClientboundPlayerAbilities +[flags] :: ClientboundPlayerAbilities -> Word8 +[flyingspeed] :: ClientboundPlayerAbilities -> Float +[walkingspeed] :: ClientboundPlayerAbilities -> Float +data PlaceGhostRecipe +PlaceGhostRecipe :: Word8 -> Text -> PlaceGhostRecipe +[windowid] :: PlaceGhostRecipe -> Word8 +[recipe] :: PlaceGhostRecipe -> Text +data PlayPingResponse +PlayPingResponse :: Int64 -> PlayPingResponse +[id] :: PlayPingResponse -> Int64 +data PlayPing +PlayPing :: Int64 -> PlayPing +[id] :: PlayPing -> Int64 +data OpenSignEditor +OpenSignEditor :: Position -> OpenSignEditor +[location] :: OpenSignEditor -> Position +data OpenScreen__ +OpenScreen__ :: VarInt -> Text -> TextComponent -> OpenScreen__ +[windowid__] :: OpenScreen__ -> VarInt +[type___] :: OpenScreen__ -> Text +[title__] :: OpenScreen__ -> TextComponent +data OpenScreen +OpenScreen :: Int32 -> Text -> TextComponent -> OpenScreen +[windowid] :: OpenScreen -> Int32 +[type_] :: OpenScreen -> Text +[title] :: OpenScreen -> TextComponent +data OpenBook__ +OpenBook__ :: VarInt -> OpenBook__ +[hand__] :: OpenBook__ -> VarInt +data OpenBook +OpenBook :: Int32 -> OpenBook +[hand] :: OpenBook -> Int32 +data MoveVehicle +MoveVehicle :: V3 Double -> V2 Float -> MoveVehicle +[position] :: MoveVehicle -> V3 Double +[rotation] :: MoveVehicle -> V2 Float +data UpdateEntityRotation__ +UpdateEntityRotation__ :: VarInt -> V2 Int8Angle -> Bool -> UpdateEntityRotation__ +[entityid__] :: UpdateEntityRotation__ -> VarInt +[rotation__] :: UpdateEntityRotation__ -> V2 Int8Angle +[onground__] :: UpdateEntityRotation__ -> Bool +data UpdateEntityRotation +UpdateEntityRotation :: Int32 -> V2 Int8 -> Bool -> UpdateEntityRotation +[entityid] :: UpdateEntityRotation -> Int32 +[rotation] :: UpdateEntityRotation -> V2 Int8 +[onground] :: UpdateEntityRotation -> Bool +data MoveMinecartAlongTrack__ +MoveMinecartAlongTrack__ :: VarInt -> Position -> MoveMinecartAlongTrack__ +[entityid__] :: MoveMinecartAlongTrack__ -> VarInt +[location__] :: MoveMinecartAlongTrack__ -> Position +data MoveMinecartAlongTrack +MoveMinecartAlongTrack :: Int32 -> Position -> MoveMinecartAlongTrack +[entityid] :: MoveMinecartAlongTrack -> Int32 +[location] :: MoveMinecartAlongTrack -> Position +data UpdateEntityPositionAndRotation__ +UpdateEntityPositionAndRotation__ :: VarInt -> Int16 -> Int16 -> Int16 -> V2 Int8Angle -> Bool -> UpdateEntityPositionAndRotation__ +[entityid__] :: UpdateEntityPositionAndRotation__ -> VarInt +[deltax__] :: UpdateEntityPositionAndRotation__ -> Int16 +[deltay__] :: UpdateEntityPositionAndRotation__ -> Int16 +[deltaz__] :: UpdateEntityPositionAndRotation__ -> Int16 +[rotation__] :: UpdateEntityPositionAndRotation__ -> V2 Int8Angle +[onground__] :: UpdateEntityPositionAndRotation__ -> Bool +data UpdateEntityPositionAndRotation +UpdateEntityPositionAndRotation :: Int32 -> Int16 -> Int16 -> Int16 -> V2 Int8 -> Bool -> UpdateEntityPositionAndRotation +[entityid] :: UpdateEntityPositionAndRotation -> Int32 +[deltax] :: UpdateEntityPositionAndRotation -> Int16 +[deltay] :: UpdateEntityPositionAndRotation -> Int16 +[deltaz] :: UpdateEntityPositionAndRotation -> Int16 +[rotation] :: UpdateEntityPositionAndRotation -> V2 Int8 +[onground] :: UpdateEntityPositionAndRotation -> Bool +data UpdateEntityPosition__ +UpdateEntityPosition__ :: VarInt -> Int16 -> Int16 -> Int16 -> Bool -> UpdateEntityPosition__ +[entityid__] :: UpdateEntityPosition__ -> VarInt +[deltax__] :: UpdateEntityPosition__ -> Int16 +[deltay__] :: UpdateEntityPosition__ -> Int16 +[deltaz__] :: UpdateEntityPosition__ -> Int16 +[onground__] :: UpdateEntityPosition__ -> Bool +data UpdateEntityPosition +UpdateEntityPosition :: Int32 -> Int16 -> Int16 -> Int16 -> Bool -> UpdateEntityPosition +[entityid] :: UpdateEntityPosition -> Int32 +[deltax] :: UpdateEntityPosition -> Int16 +[deltay] :: UpdateEntityPosition -> Int16 +[deltaz] :: UpdateEntityPosition -> Int16 +[onground] :: UpdateEntityPosition -> Bool +data MerchantOffers__ +MerchantOffers__ :: Word8 -> Vector MerchantOffer -> VarInt -> VarInt -> Bool -> Bool -> MerchantOffers__ +[windowid__] :: MerchantOffers__ -> Word8 +[offers__] :: MerchantOffers__ -> Vector MerchantOffer +[villagerlevel__] :: MerchantOffers__ -> VarInt +[experience__] :: MerchantOffers__ -> VarInt +[isregularvillager__] :: MerchantOffers__ -> Bool +[canrestock__] :: MerchantOffers__ -> Bool +data MerchantOffers +MerchantOffers :: Word8 -> Vector MerchantOffer -> Int32 -> Int32 -> Bool -> Bool -> MerchantOffers +[windowid] :: MerchantOffers -> Word8 +[offers] :: MerchantOffers -> Vector MerchantOffer +[villagerlevel] :: MerchantOffers -> Int32 +[experience] :: MerchantOffers -> Int32 +[isregularvillager] :: MerchantOffers -> Bool +[canrestock] :: MerchantOffers -> Bool +data MapData__ +MapData__ :: VarInt -> Int8 -> Bool -> Bool -> Vector MapIcon -> Int8 -> Int8 -> Int8 -> Int8 -> ByteString -> MapData__ +[mapid__] :: MapData__ -> VarInt +[scale__] :: MapData__ -> Int8 +[trackingposition__] :: MapData__ -> Bool +[locked__] :: MapData__ -> Bool +[icons__] :: MapData__ -> Vector MapIcon +[columns__] :: MapData__ -> Int8 +[rows__] :: MapData__ -> Int8 +[x__] :: MapData__ -> Int8 +[z__] :: MapData__ -> Int8 +[data___] :: MapData__ -> ByteString +data MapData +MapData :: Int32 -> Int8 -> Bool -> Bool -> Vector MapIcon -> Int8 -> Int8 -> Int8 -> Int8 -> ByteString -> MapData +[mapid] :: MapData -> Int32 +[scale] :: MapData -> Int8 +[trackingposition] :: MapData -> Bool +[locked] :: MapData -> Bool +[icons] :: MapData -> Vector MapIcon +[columns] :: MapData -> Int8 +[rows] :: MapData -> Int8 +[x] :: MapData -> Int8 +[z] :: MapData -> Int8 +[data_] :: MapData -> ByteString +data Login__ +Login__ :: Int32 -> Bool -> Word8 -> Int8 -> Vector Text -> Tg -> Tg -> Text -> Int64 -> VarInt -> VarInt -> VarInt -> Bool -> Bool -> Bool -> Bool -> Login__ +[entityid__] :: Login__ -> Int32 +[ishardcore__] :: Login__ -> Bool +[gamemode__] :: Login__ -> Word8 +[previousgamemode__] :: Login__ -> Int8 +[worldnames__] :: Login__ -> Vector Text +[dimensioncodec__] :: Login__ -> Tg +[dimension__] :: Login__ -> Tg +[worldname__] :: Login__ -> Text +[hashedseed__] :: Login__ -> Int64 +[maxplayers__] :: Login__ -> VarInt +[viewdistance__] :: Login__ -> VarInt +[simulationdistance__] :: Login__ -> VarInt +[reduceddebuginfo__] :: Login__ -> Bool +[enablerespawnscreen__] :: Login__ -> Bool +[isdebug__] :: Login__ -> Bool +[isflat__] :: Login__ -> Bool +data Login +Login :: Int32 -> Bool -> Word8 -> Int8 -> Vector Text -> Tg -> Tg -> Text -> Int64 -> Int32 -> Int32 -> Int32 -> Bool -> Bool -> Bool -> Bool -> Login +[entityid] :: Login -> Int32 +[ishardcore] :: Login -> Bool +[gamemode] :: Login -> Word8 +[previousgamemode] :: Login -> Int8 +[worldnames] :: Login -> Vector Text +[dimensioncodec] :: Login -> Tg +[dimension] :: Login -> Tg +[worldname] :: Login -> Text +[hashedseed] :: Login -> Int64 +[maxplayers] :: Login -> Int32 +[viewdistance] :: Login -> Int32 +[simulationdistance] :: Login -> Int32 +[reduceddebuginfo] :: Login -> Bool +[enablerespawnscreen] :: Login -> Bool +[isdebug] :: Login -> Bool +[isflat] :: Login -> Bool +data UpdateLight__ +UpdateLight__ :: VarInt -> VarInt -> LightData -> UpdateLight__ +[chunkx__] :: UpdateLight__ -> VarInt +[chunkz__] :: UpdateLight__ -> VarInt +[data___] :: UpdateLight__ -> LightData +data UpdateLight +UpdateLight :: Int32 -> Int32 -> LightData -> UpdateLight +[chunkx] :: UpdateLight -> Int32 +[chunkz] :: UpdateLight -> Int32 +[data_] :: UpdateLight -> LightData +data ParticleEffect__ +ParticleEffect__ :: VarInt -> Bool -> V3 Double -> V3 Float -> Float -> Int32 -> ParticleData -> ParticleEffect__ +[particleid__] :: ParticleEffect__ -> VarInt +[longdistance__] :: ParticleEffect__ -> Bool +[position__] :: ParticleEffect__ -> V3 Double +[offset__] :: ParticleEffect__ -> V3 Float +[maxspeed__] :: ParticleEffect__ -> Float +[count__] :: ParticleEffect__ -> Int32 +[data___] :: ParticleEffect__ -> ParticleData +data ParticleEffect +ParticleEffect :: Int32 -> Bool -> V3 Double -> V3 Float -> Float -> Int32 -> ParticleData -> ParticleEffect +[particleid] :: ParticleEffect -> Int32 +[longdistance] :: ParticleEffect -> Bool +[position] :: ParticleEffect -> V3 Double +[offset] :: ParticleEffect -> V3 Float +[maxspeed] :: ParticleEffect -> Float +[count] :: ParticleEffect -> Int32 +[data_] :: ParticleEffect -> ParticleData +data WorldEvent +WorldEvent :: Int32 -> Position -> Int32 -> Bool -> WorldEvent +[event] :: WorldEvent -> Int32 +[location] :: WorldEvent -> Position +[data_] :: WorldEvent -> Int32 +[disablerelativevolume] :: WorldEvent -> Bool +data ChunkDataAndUpdateLight +ChunkDataAndUpdateLight :: Int32 -> Int32 -> ChunkData -> LightData -> ChunkDataAndUpdateLight +[chunkx] :: ChunkDataAndUpdateLight -> Int32 +[chunkz] :: ChunkDataAndUpdateLight -> Int32 +[data_] :: ChunkDataAndUpdateLight -> ChunkData +[lightdata_] :: ChunkDataAndUpdateLight -> LightData +data InitializeWorldBorder__ +InitializeWorldBorder__ :: Double -> Double -> Double -> Double -> VarLong -> VarInt -> VarInt -> VarInt -> InitializeWorldBorder__ +[x__] :: InitializeWorldBorder__ -> Double +[z__] :: InitializeWorldBorder__ -> Double +[oldradius__] :: InitializeWorldBorder__ -> Double +[newradius__] :: InitializeWorldBorder__ -> Double +[speed__] :: InitializeWorldBorder__ -> VarLong +[portalteleportboundary__] :: InitializeWorldBorder__ -> VarInt +[warningtime__] :: InitializeWorldBorder__ -> VarInt +[warningblocks__] :: InitializeWorldBorder__ -> VarInt +data InitializeWorldBorder +InitializeWorldBorder :: Double -> Double -> Double -> Double -> Int64 -> Int32 -> Int32 -> Int32 -> InitializeWorldBorder +[x] :: InitializeWorldBorder -> Double +[z] :: InitializeWorldBorder -> Double +[oldradius] :: InitializeWorldBorder -> Double +[newradius] :: InitializeWorldBorder -> Double +[speed] :: InitializeWorldBorder -> Int64 +[portalteleportboundary] :: InitializeWorldBorder -> Int32 +[warningtime] :: InitializeWorldBorder -> Int32 +[warningblocks] :: InitializeWorldBorder -> Int32 +data HurtAnimation__ +HurtAnimation__ :: VarInt -> Float -> HurtAnimation__ +[entityid__] :: HurtAnimation__ -> VarInt +[damagedirection__] :: HurtAnimation__ -> Float +data HurtAnimation +HurtAnimation :: Int32 -> Float -> HurtAnimation +[entityid] :: HurtAnimation -> Int32 +[damagedirection] :: HurtAnimation -> Float +data OpenHorseScreen__ +OpenHorseScreen__ :: Word8 -> VarInt -> Int32 -> OpenHorseScreen__ +[windowid__] :: OpenHorseScreen__ -> Word8 +[slotcount__] :: OpenHorseScreen__ -> VarInt +[entityid__] :: OpenHorseScreen__ -> Int32 +data OpenHorseScreen +OpenHorseScreen :: Word8 -> Int32 -> Int32 -> OpenHorseScreen +[windowid] :: OpenHorseScreen -> Word8 +[slotcount] :: OpenHorseScreen -> Int32 +[entityid] :: OpenHorseScreen -> Int32 +data GameEvent__ +GameEvent__ :: VarInt -> Float -> GameEvent__ +[event__] :: GameEvent__ -> VarInt +[data___] :: GameEvent__ -> Float +data GameEvent +GameEvent :: Int32 -> Float -> GameEvent +[event] :: GameEvent -> Int32 +[data_] :: GameEvent -> Float +data UnloadChunk +UnloadChunk :: Int32 -> Int32 -> UnloadChunk +[chunkx] :: UnloadChunk -> Int32 +[chunkz] :: UnloadChunk -> Int32 +data Explosion +Explosion :: V3 Float -> Float -> Vector Position -> V3 Float -> Explosion +[position] :: Explosion -> V3 Float +[radius] :: Explosion -> Float +[affectedblocks] :: Explosion -> Vector Position +[playermotion] :: Explosion -> V3 Float +data TeleportEntity__ +TeleportEntity__ :: VarInt -> V3 Double -> V2 Int8Angle -> Bool -> TeleportEntity__ +[entityid__] :: TeleportEntity__ -> VarInt +[position__] :: TeleportEntity__ -> V3 Double +[rotation__] :: TeleportEntity__ -> V2 Int8Angle +[onground__] :: TeleportEntity__ -> Bool +data TeleportEntity +TeleportEntity :: Int32 -> V3 Double -> V2 Int8 -> Bool -> TeleportEntity +[entityid] :: TeleportEntity -> Int32 +[position] :: TeleportEntity -> V3 Double +[rotation] :: TeleportEntity -> V2 Int8 +[onground] :: TeleportEntity -> Bool +data EntityEvent__ +EntityEvent__ :: VarInt -> Word8 -> EntityEvent__ +[entityid__] :: EntityEvent__ -> VarInt +[event__] :: EntityEvent__ -> Word8 +data EntityEvent +EntityEvent :: Int32 -> Word8 -> EntityEvent +[entityid] :: EntityEvent -> Int32 +[event] :: EntityEvent -> Word8 +data DisguisedChatMessage__ +DisguisedChatMessage__ :: TextComponent -> VarInt -> TextComponent -> Maybe TextComponent -> DisguisedChatMessage__ +[message__] :: DisguisedChatMessage__ -> TextComponent +[chattype__] :: DisguisedChatMessage__ -> VarInt +[sendername__] :: DisguisedChatMessage__ -> TextComponent +[targetname__] :: DisguisedChatMessage__ -> Maybe TextComponent +data DisguisedChatMessage +DisguisedChatMessage :: TextComponent -> Int32 -> TextComponent -> Maybe TextComponent -> DisguisedChatMessage +[message] :: DisguisedChatMessage -> TextComponent +[chattype] :: DisguisedChatMessage -> Int32 +[sendername] :: DisguisedChatMessage -> TextComponent +[targetname] :: DisguisedChatMessage -> Maybe TextComponent +data Disconnect +Disconnect :: Text -> Disconnect +[reason] :: Disconnect -> Text +data DeleteMessage +DeleteMessage :: UUID -> DeleteMessage +[messageid] :: DeleteMessage -> UUID +data DebugSample__ +DebugSample__ :: TakeRest -> DebugSample__ +[data___] :: DebugSample__ -> TakeRest +data DebugSample +DebugSample :: ByteString -> DebugSample +[data_] :: DebugSample -> ByteString +data DamageEvent__ +DamageEvent__ :: VarInt -> VarInt -> VarInt -> Float -> DamageEvent__ +[entityid__] :: DamageEvent__ -> VarInt +[sourceid__] :: DamageEvent__ -> VarInt +[type___] :: DamageEvent__ -> VarInt +[amount__] :: DamageEvent__ -> Float +data DamageEvent +DamageEvent :: Int32 -> Int32 -> Int32 -> Float -> DamageEvent +[entityid] :: DamageEvent -> Int32 +[sourceid] :: DamageEvent -> Int32 +[type_] :: DamageEvent -> Int32 +[amount] :: DamageEvent -> Float +data ChatSuggestions__ +ChatSuggestions__ :: VarInt -> Vector Text -> ChatSuggestions__ +[id__] :: ChatSuggestions__ -> VarInt +[suggestions__] :: ChatSuggestions__ -> Vector Text +data ChatSuggestions +ChatSuggestions :: Int32 -> Vector Text -> ChatSuggestions +[id] :: ChatSuggestions -> Int32 +[suggestions] :: ChatSuggestions -> Vector Text +data SetCooldown__ +SetCooldown__ :: VarInt -> VarInt -> SetCooldown__ +[itemid__] :: SetCooldown__ -> VarInt +[cooldown__] :: SetCooldown__ -> VarInt +data SetCooldown +SetCooldown :: Int32 -> Int32 -> SetCooldown +[itemid] :: SetCooldown -> Int32 +[cooldown] :: SetCooldown -> Int32 +data CookieRequest +CookieRequest :: Text -> CookieRequest +[key] :: CookieRequest -> Text +data SetContainerSlot__ +SetContainerSlot__ :: VarInt -> VarInt -> Int16 -> Slot -> SetContainerSlot__ +[windowid__] :: SetContainerSlot__ -> VarInt +[stateid__] :: SetContainerSlot__ -> VarInt +[slot__] :: SetContainerSlot__ -> Int16 +[data___] :: SetContainerSlot__ -> Slot +data SetContainerSlot +SetContainerSlot :: Int32 -> Int32 -> Int16 -> Slot -> SetContainerSlot +[windowid] :: SetContainerSlot -> Int32 +[stateid] :: SetContainerSlot -> Int32 +[slot] :: SetContainerSlot -> Int16 +[data_] :: SetContainerSlot -> Slot +data SetContainerProperty__ +SetContainerProperty__ :: VarInt -> Int16 -> Int16 -> SetContainerProperty__ +[windowid__] :: SetContainerProperty__ -> VarInt +[property__] :: SetContainerProperty__ -> Int16 +[value__] :: SetContainerProperty__ -> Int16 +data SetContainerProperty +SetContainerProperty :: Int32 -> Int16 -> Int16 -> SetContainerProperty +[windowid] :: SetContainerProperty -> Int32 +[property] :: SetContainerProperty -> Int16 +[value] :: SetContainerProperty -> Int16 +data SetContainerContent__ +SetContainerContent__ :: VarInt -> VarInt -> Vector Slot -> Slot -> SetContainerContent__ +[windowid__] :: SetContainerContent__ -> VarInt +[stateid__] :: SetContainerContent__ -> VarInt +[slots__] :: SetContainerContent__ -> Vector Slot +[carrieditem__] :: SetContainerContent__ -> Slot +data SetContainerContent +SetContainerContent :: Int32 -> Int32 -> Vector Slot -> Slot -> SetContainerContent +[windowid] :: SetContainerContent -> Int32 +[stateid] :: SetContainerContent -> Int32 +[slots] :: SetContainerContent -> Vector Slot +[carrieditem] :: SetContainerContent -> Slot +data CloseContainer__ +CloseContainer__ :: VarInt -> CloseContainer__ +[windowid__] :: CloseContainer__ -> VarInt +data CloseContainer +CloseContainer :: Int32 -> CloseContainer +[windowid] :: CloseContainer -> Int32 +data Commands__ +Commands__ :: Vector CommandNode -> VarInt -> Commands__ +[nodes__] :: Commands__ -> Vector CommandNode +[rootindex__] :: Commands__ -> VarInt +data Commands +Commands :: Vector CommandNode -> Int32 -> Commands +[nodes] :: Commands -> Vector CommandNode +[rootindex] :: Commands -> Int32 +data CommandMatch +CommandMatch :: Text -> Maybe TextComponent -> CommandMatch +[match] :: CommandMatch -> Text +[tooltip] :: CommandMatch -> Maybe TextComponent +data CommandSuggestionsResponse__ +CommandSuggestionsResponse__ :: VarInt -> VarInt -> VarInt -> Vector CommandMatch -> CommandSuggestionsResponse__ +[id__] :: CommandSuggestionsResponse__ -> VarInt +[start__] :: CommandSuggestionsResponse__ -> VarInt +[length__] :: CommandSuggestionsResponse__ -> VarInt +[matches__] :: CommandSuggestionsResponse__ -> Vector CommandMatch +data CommandSuggestionsResponse +CommandSuggestionsResponse :: Int32 -> Int32 -> Int32 -> Vector CommandMatch -> CommandSuggestionsResponse +[id] :: CommandSuggestionsResponse -> Int32 +[start] :: CommandSuggestionsResponse -> Int32 +[length] :: CommandSuggestionsResponse -> Int32 +[matches] :: CommandSuggestionsResponse -> Vector CommandMatch +data ClearTitles +ClearTitles :: Bool -> ClearTitles +[reset] :: ClearTitles -> Bool +data ChunkBiomes +ChunkBiomes :: Int32 -> Int32 -> ChunkData -> ChunkBiomes +[x] :: ChunkBiomes -> Int32 +[z] :: ChunkBiomes -> Int32 +[data_] :: ChunkBiomes -> ChunkData +data ChunkBatchStarted +ChunkBatchStarted :: ChunkBatchStarted +data ChunkBatchFinished__ +ChunkBatchFinished__ :: VarInt -> ChunkBatchFinished__ +[batchsize__] :: ChunkBatchFinished__ -> VarInt +data ChunkBatchFinished +ChunkBatchFinished :: Int32 -> ChunkBatchFinished +[batchsize] :: ChunkBatchFinished -> Int32 +data ChangeDifficulty +ChangeDifficulty :: Word8 -> Bool -> ChangeDifficulty +[difficulty] :: ChangeDifficulty -> Word8 +[locked] :: ChangeDifficulty -> Bool +data BossBar +BossBar :: UUID -> BossBarAction -> BossBar +[uuid] :: BossBar -> UUID +[action] :: BossBar -> BossBarAction +data BlockUpdate__ +BlockUpdate__ :: Position -> VarInt -> BlockUpdate__ +[location__] :: BlockUpdate__ -> Position +[blockid__] :: BlockUpdate__ -> VarInt +data BlockUpdate +BlockUpdate :: Position -> Int32 -> BlockUpdate +[location] :: BlockUpdate -> Position +[blockid] :: BlockUpdate -> Int32 +data BlockAction__ +BlockAction__ :: Position -> Word8 -> Word8 -> VarInt -> BlockAction__ +[location__] :: BlockAction__ -> Position +[actionid__] :: BlockAction__ -> Word8 +[actionparam__] :: BlockAction__ -> Word8 +[blocktype__] :: BlockAction__ -> VarInt +data BlockAction +BlockAction :: Position -> Word8 -> Word8 -> Int32 -> BlockAction +[location] :: BlockAction -> Position +[actionid] :: BlockAction -> Word8 +[actionparam] :: BlockAction -> Word8 +[blocktype] :: BlockAction -> Int32 +data BlockEntityData__ +BlockEntityData__ :: Position -> VarInt -> Tg -> BlockEntityData__ +[location__] :: BlockEntityData__ -> Position +[type___] :: BlockEntityData__ -> VarInt +[data___] :: BlockEntityData__ -> Tg +data BlockEntityData +BlockEntityData :: Position -> Int32 -> Tg -> BlockEntityData +[location] :: BlockEntityData -> Position +[type_] :: BlockEntityData -> Int32 +[data_] :: BlockEntityData -> Tg +data SetBlockDestroyStage__ +SetBlockDestroyStage__ :: VarInt -> Position -> Word8 -> SetBlockDestroyStage__ +[entityid__] :: SetBlockDestroyStage__ -> VarInt +[location__] :: SetBlockDestroyStage__ -> Position +[destroystage__] :: SetBlockDestroyStage__ -> Word8 +data SetBlockDestroyStage +SetBlockDestroyStage :: Int32 -> Position -> Word8 -> SetBlockDestroyStage +[entityid] :: SetBlockDestroyStage -> Int32 +[location] :: SetBlockDestroyStage -> Position +[destroystage] :: SetBlockDestroyStage -> Word8 +data AcknowledgeBlockChange__ +AcknowledgeBlockChange__ :: VarInt -> AcknowledgeBlockChange__ +[sequence__] :: AcknowledgeBlockChange__ -> VarInt +data AcknowledgeBlockChange +AcknowledgeBlockChange :: Int32 -> AcknowledgeBlockChange +[sequence] :: AcknowledgeBlockChange -> Int32 +data AwardStatistics_Entry__ +AwardStatistics_Entry__ :: VarInt -> VarInt -> VarInt -> AwardStatistics_Entry__ +[categoryid__] :: AwardStatistics_Entry__ -> VarInt +[statisticid__] :: AwardStatistics_Entry__ -> VarInt +[value__] :: AwardStatistics_Entry__ -> VarInt +data AwardStatistics_Entry +AwardStatistics_Entry :: Int32 -> Int32 -> Int32 -> AwardStatistics_Entry +[categoryid] :: AwardStatistics_Entry -> Int32 +[statisticid] :: AwardStatistics_Entry -> Int32 +[value] :: AwardStatistics_Entry -> Int32 +data AwardStatistics +AwardStatistics :: Vector AwardStatistics_Entry -> AwardStatistics +[stats] :: AwardStatistics -> Vector AwardStatistics_Entry +data EntityAnimation__ +EntityAnimation__ :: VarInt -> Word8 -> EntityAnimation__ +[entityid__] :: EntityAnimation__ -> VarInt +[animation__] :: EntityAnimation__ -> Word8 +data EntityAnimation +EntityAnimation :: Int32 -> Word8 -> EntityAnimation +[entityid] :: EntityAnimation -> Int32 +[animation] :: EntityAnimation -> Word8 +data SpawnExperienceOrb__ +SpawnExperienceOrb__ :: VarInt -> V3 Double -> Int16 -> SpawnExperienceOrb__ +[entityid__] :: SpawnExperienceOrb__ -> VarInt +[position__] :: SpawnExperienceOrb__ -> V3 Double +[count__] :: SpawnExperienceOrb__ -> Int16 +data SpawnExperienceOrb +SpawnExperienceOrb :: Int32 -> V3 Double -> Int16 -> SpawnExperienceOrb +[entityid] :: SpawnExperienceOrb -> Int32 +[position] :: SpawnExperienceOrb -> V3 Double +[count] :: SpawnExperienceOrb -> Int16 +data SpawnEntity__ +SpawnEntity__ :: VarInt -> UUID -> VarInt -> V3 Double -> V2 Int8Angle -> VarInt -> V3 (Fixed' Int16 SetEntityVelocityRes Double) -> SpawnEntity__ +[entityid__] :: SpawnEntity__ -> VarInt +[entityuuid__] :: SpawnEntity__ -> UUID +[type___] :: SpawnEntity__ -> VarInt +[position__] :: SpawnEntity__ -> V3 Double +[rotation__] :: SpawnEntity__ -> V2 Int8Angle +[data___] :: SpawnEntity__ -> VarInt +[velocity__] :: SpawnEntity__ -> V3 (Fixed' Int16 SetEntityVelocityRes Double) +data SpawnEntity +SpawnEntity :: Int32 -> UUID -> Int32 -> V3 Double -> V2 Int8 -> Int32 -> V3 Double -> SpawnEntity +[entityid] :: SpawnEntity -> Int32 +[entityuuid] :: SpawnEntity -> UUID +[type_] :: SpawnEntity -> Int32 +[position] :: SpawnEntity -> V3 Double +[rotation] :: SpawnEntity -> V2 Int8 +[data_] :: SpawnEntity -> Int32 +[velocity] :: SpawnEntity -> V3 Double +data BundleDelimiter +BundleDelimiter :: BundleDelimiter +instance Data.Data.Data M.V769.P.AcknowledgeBlockChange +instance Data.Data.Data M.V769.P.AcknowledgeConfiguration +instance Data.Data.Data M.V769.P.AcknowledgeMessage +instance Data.Data.Data M.V769.P.AddResourcePack +instance Data.Data.Data M.V769.P.AwardStatistics +instance Data.Data.Data M.V769.P.AwardStatistics_Entry +instance Data.Data.Data M.V769.P.BlockAction +instance Data.Data.Data M.V769.P.BlockEntityData +instance Data.Data.Data M.V769.P.BlockUpdate +instance Data.Data.Data M.V769.P.BossBar +instance Data.Data.Data M.V769.P.BundleDelimiter +instance Data.Data.Data M.V769.P.BundleItemSelected +instance Data.Data.Data M.V769.P.ChangeContainerSlotState +instance Data.Data.Data M.V769.P.ChangeDifficulty +instance Data.Data.Data M.V769.P.ChangeRecipeBookSettings +instance Data.Data.Data M.V769.P.ChatMessage +instance Data.Data.Data M.V769.P.ChatSuggestions +instance Data.Data.Data M.V769.P.ChunkBatchFinished +instance Data.Data.Data M.V769.P.ChunkBatchReceived +instance Data.Data.Data M.V769.P.ChunkBatchStarted +instance Data.Data.Data M.V769.P.ChunkBiomes +instance Data.Data.Data M.V769.P.ChunkDataAndUpdateLight +instance Data.Data.Data M.V769.P.ClearTitles +instance Data.Data.Data M.V769.P.ClickContainer +instance Data.Data.Data M.V769.P.ClickContainerButton +instance Data.Data.Data M.V769.P.ClientInformationPlay +instance Data.Data.Data M.V769.P.ClientStatus +instance Data.Data.Data M.V769.P.ClientTickEnd +instance Data.Data.Data M.V769.P.ClientboundPlayerAbilities +instance Data.Data.Data M.V769.P.CloseContainer +instance Data.Data.Data M.V769.P.CloseContainerServerbound +instance Data.Data.Data M.V769.P.CombatDeath +instance Data.Data.Data M.V769.P.CommandMatch +instance Data.Data.Data M.V769.P.CommandSuggestionsRequest +instance Data.Data.Data M.V769.P.CommandSuggestionsResponse +instance Data.Data.Data M.V769.P.Commands +instance Data.Data.Data M.V769.P.ConfirmTeleportation +instance Data.Data.Data M.V769.P.CookieRequest +instance Data.Data.Data M.V769.P.CookieResponsePlay +instance Data.Data.Data M.V769.P.DamageEvent +instance Data.Data.Data M.V769.P.DebugSample +instance Data.Data.Data M.V769.P.DebugSampleSubscription +instance Data.Data.Data M.V769.P.DeleteMessage +instance Data.Data.Data M.V769.P.Disconnect +instance Data.Data.Data M.V769.P.DisguisedChatMessage +instance Data.Data.Data M.V769.P.DisplayObjective +instance Data.Data.Data M.V769.P.EditBook +instance Data.Data.Data M.V769.P.EndCombat +instance Data.Data.Data M.V769.P.EnterCombat +instance Data.Data.Data M.V769.P.EntityAnimation +instance Data.Data.Data M.V769.P.EntityEvent +instance Data.Data.Data M.V769.P.EntitySoundEffect +instance Data.Data.Data M.V769.P.Explosion +instance Data.Data.Data M.V769.P.GameEvent +instance Data.Data.Data M.V769.P.HurtAnimation +instance Data.Data.Data M.V769.P.InitializeWorldBorder +instance Data.Data.Data M.V769.P.Interact +instance Data.Data.Data M.V769.P.JigsawGenerate +instance Data.Data.Data M.V769.P.LinkEntities +instance Data.Data.Data M.V769.P.LockDifficulty +instance Data.Data.Data M.V769.P.Login +instance Data.Data.Data M.V769.P.LookAt +instance Data.Data.Data M.V769.P.MapData +instance Data.Data.Data M.V769.P.MerchantOffers +instance Data.Data.Data M.V769.P.MoveMinecartAlongTrack +instance Data.Data.Data M.V769.P.MoveVehicle +instance Data.Data.Data M.V769.P.MoveVehicleServerbound +instance Data.Data.Data M.V769.P.OpenBook +instance Data.Data.Data M.V769.P.OpenHorseScreen +instance Data.Data.Data M.V769.P.OpenScreen +instance Data.Data.Data M.V769.P.OpenSignEditor +instance Data.Data.Data M.V769.P.PaddleBoat +instance Data.Data.Data M.V769.P.ParticleEffect +instance Data.Data.Data M.V769.P.PickItemFromBlock +instance Data.Data.Data M.V769.P.PickItemFromEntity +instance Data.Data.Data M.V769.P.PingRequestPlay +instance Data.Data.Data M.V769.P.PlaceGhostRecipe +instance Data.Data.Data M.V769.P.PlaceRecipe +instance Data.Data.Data M.V769.P.PlayPing +instance Data.Data.Data M.V769.P.PlayPingResponse +instance Data.Data.Data M.V769.P.PlayerAction +instance Data.Data.Data M.V769.P.PlayerChatMessage +instance Data.Data.Data M.V769.P.PlayerCommand +instance Data.Data.Data M.V769.P.PlayerInfoRemove +instance Data.Data.Data M.V769.P.PlayerInfoUpdate +instance Data.Data.Data M.V769.P.PlayerInput +instance Data.Data.Data M.V769.P.PlayerLoaded +instance Data.Data.Data M.V769.P.PlayerRotation +instance Data.Data.Data M.V769.P.PlayerSession +instance Data.Data.Data M.V769.P.PongPlay +instance Data.Data.Data M.V769.P.ProgramCommandBlock +instance Data.Data.Data M.V769.P.ProgramCommandBlockMinecart +instance Data.Data.Data M.V769.P.ProgramJigsawBlock +instance Data.Data.Data M.V769.P.ProgramStructureBlock +instance Data.Data.Data M.V769.P.QueryBlockEntityTag +instance Data.Data.Data M.V769.P.QueryEntityTag +instance Data.Data.Data M.V769.P.RecipeBookAdd +instance Data.Data.Data M.V769.P.RecipeBookRemove +instance Data.Data.Data M.V769.P.RecipeBookSettings +instance Data.Data.Data M.V769.P.RemoveEntities +instance Data.Data.Data M.V769.P.RemoveEntityEffect +instance Data.Data.Data M.V769.P.RemoveResourcePack +instance Data.Data.Data M.V769.P.RenameItem +instance Data.Data.Data M.V769.P.ResetScore +instance Data.Data.Data M.V769.P.ResourcePackResponsePlay +instance Data.Data.Data M.V769.P.Respawn +instance Data.Data.Data M.V769.P.SeenAdvancements +instance Data.Data.Data M.V769.P.SelectAdvancementsTab +instance Data.Data.Data M.V769.P.SelectTrade +instance Data.Data.Data M.V769.P.ServerData +instance Data.Data.Data M.V769.P.ServerboundChangeDifficulty +instance Data.Data.Data M.V769.P.ServerboundChatCommand +instance Data.Data.Data M.V769.P.ServerboundPlayerAbilities +instance Data.Data.Data M.V769.P.SetActionBarText +instance Data.Data.Data M.V769.P.SetBeaconEffect +instance Data.Data.Data M.V769.P.SetBlockDestroyStage +instance Data.Data.Data M.V769.P.SetBorderCenter +instance Data.Data.Data M.V769.P.SetBorderLerpSize +instance Data.Data.Data M.V769.P.SetBorderSize +instance Data.Data.Data M.V769.P.SetBorderWarningDelay +instance Data.Data.Data M.V769.P.SetBorderWarningDistance +instance Data.Data.Data M.V769.P.SetCamera +instance Data.Data.Data M.V769.P.SetCenterChunk +instance Data.Data.Data M.V769.P.SetContainerContent +instance Data.Data.Data M.V769.P.SetContainerProperty +instance Data.Data.Data M.V769.P.SetContainerSlot +instance Data.Data.Data M.V769.P.SetCooldown +instance Data.Data.Data M.V769.P.SetCreativeModeSlot +instance Data.Data.Data M.V769.P.SetCursorItem +instance Data.Data.Data M.V769.P.SetDefaultSpawnPosition +instance Data.Data.Data M.V769.P.SetEntityMetadata +instance Data.Data.Data M.V769.P.SetEntityVelocity +instance Data.Data.Data M.V769.P.SetEquipment +instance Data.Data.Data M.V769.P.SetExperience +instance Data.Data.Data M.V769.P.SetHeadRotation +instance Data.Data.Data M.V769.P.SetHealth +instance Data.Data.Data M.V769.P.SetHeldItem +instance Data.Data.Data M.V769.P.SetHeldItemServerbound +instance Data.Data.Data M.V769.P.SetPassengers +instance Data.Data.Data M.V769.P.SetPlayerInventorySlot +instance Data.Data.Data M.V769.P.SetPlayerMovementFlags +instance Data.Data.Data M.V769.P.SetPlayerPosition +instance Data.Data.Data M.V769.P.SetPlayerPositionAndRotation +instance Data.Data.Data M.V769.P.SetPlayerRotation +instance Data.Data.Data M.V769.P.SetRenderDistance +instance Data.Data.Data M.V769.P.SetSeenRecipe +instance Data.Data.Data M.V769.P.SetSimulationDistance +instance Data.Data.Data M.V769.P.SetSubtitleText +instance Data.Data.Data M.V769.P.SetTabListHeaderAndFooter +instance Data.Data.Data M.V769.P.SetTitleAnimationTimes +instance Data.Data.Data M.V769.P.SetTitleText +instance Data.Data.Data M.V769.P.SignedChatCommand +instance Data.Data.Data M.V769.P.SoundEffect +instance Data.Data.Data M.V769.P.SpawnEntity +instance Data.Data.Data M.V769.P.SpawnExperienceOrb +instance Data.Data.Data M.V769.P.StartConfiguration +instance Data.Data.Data M.V769.P.StopSound +instance Data.Data.Data M.V769.P.StoreCookie +instance Data.Data.Data M.V769.P.SwingArm +instance Data.Data.Data M.V769.P.SynchronizePlayerPosition +instance Data.Data.Data M.V769.P.TeleportEntity +instance Data.Data.Data M.V769.P.TeleportToEntity +instance Data.Data.Data M.V769.P.UnloadChunk +instance Data.Data.Data M.V769.P.UpdateEntityPosition +instance Data.Data.Data M.V769.P.UpdateEntityPositionAndRotation +instance Data.Data.Data M.V769.P.UpdateEntityRotation +instance Data.Data.Data M.V769.P.UpdateLight +instance Data.Data.Data M.V769.P.UpdateObjectives +instance Data.Data.Data M.V769.P.UpdateScore +instance Data.Data.Data M.V769.P.UpdateSectionBlocks +instance Data.Data.Data M.V769.P.UpdateSign +instance Data.Data.Data M.V769.P.UpdateTeams +instance Data.Data.Data M.V769.P.UpdateTime +instance Data.Data.Data M.V769.P.UseItem +instance Data.Data.Data M.V769.P.UseItemOn +instance Data.Data.Data M.V769.P.WorldEvent +instance GHC.Classes.Eq M.V769.P.AcknowledgeBlockChange +instance GHC.Classes.Eq M.V769.P.AcknowledgeBlockChange__ +instance GHC.Classes.Eq M.V769.P.AcknowledgeConfiguration +instance GHC.Classes.Eq M.V769.P.AcknowledgeMessage +instance GHC.Classes.Eq M.V769.P.AddResourcePack +instance GHC.Classes.Eq M.V769.P.AwardStatistics +instance GHC.Classes.Eq M.V769.P.AwardStatistics_Entry +instance GHC.Classes.Eq M.V769.P.AwardStatistics_Entry__ +instance GHC.Classes.Eq M.V769.P.BlockAction +instance GHC.Classes.Eq M.V769.P.BlockAction__ +instance GHC.Classes.Eq M.V769.P.BlockEntityData +instance GHC.Classes.Eq M.V769.P.BlockEntityData__ +instance GHC.Classes.Eq M.V769.P.BlockUpdate +instance GHC.Classes.Eq M.V769.P.BlockUpdate__ +instance GHC.Classes.Eq M.V769.P.BossBar +instance GHC.Classes.Eq M.V769.P.BundleDelimiter +instance GHC.Classes.Eq M.V769.P.BundleItemSelected +instance GHC.Classes.Eq M.V769.P.BundleItemSelected__ +instance GHC.Classes.Eq M.V769.P.ChangeContainerSlotState +instance GHC.Classes.Eq M.V769.P.ChangeDifficulty +instance GHC.Classes.Eq M.V769.P.ChangeRecipeBookSettings +instance GHC.Classes.Eq M.V769.P.ChangeRecipeBookSettings__ +instance GHC.Classes.Eq M.V769.P.ChatMessage +instance GHC.Classes.Eq M.V769.P.ChatSuggestions +instance GHC.Classes.Eq M.V769.P.ChatSuggestions__ +instance GHC.Classes.Eq M.V769.P.ChunkBatchFinished +instance GHC.Classes.Eq M.V769.P.ChunkBatchFinished__ +instance GHC.Classes.Eq M.V769.P.ChunkBatchReceived +instance GHC.Classes.Eq M.V769.P.ChunkBatchStarted +instance GHC.Classes.Eq M.V769.P.ChunkBiomes +instance GHC.Classes.Eq M.V769.P.ChunkDataAndUpdateLight +instance GHC.Classes.Eq M.V769.P.ClearTitles +instance GHC.Classes.Eq M.V769.P.ClickContainer +instance GHC.Classes.Eq M.V769.P.ClickContainerButton +instance GHC.Classes.Eq M.V769.P.ClickContainer__ +instance GHC.Classes.Eq M.V769.P.ClientInformationPlay +instance GHC.Classes.Eq M.V769.P.ClientInformationPlay__ +instance GHC.Classes.Eq M.V769.P.ClientStatus +instance GHC.Classes.Eq M.V769.P.ClientStatus__ +instance GHC.Classes.Eq M.V769.P.ClientTickEnd +instance GHC.Classes.Eq M.V769.P.ClientboundPlayerAbilities +instance GHC.Classes.Eq M.V769.P.CloseContainer +instance GHC.Classes.Eq M.V769.P.CloseContainerServerbound +instance GHC.Classes.Eq M.V769.P.CloseContainer__ +instance GHC.Classes.Eq M.V769.P.CombatDeath +instance GHC.Classes.Eq M.V769.P.CombatDeath__ +instance GHC.Classes.Eq M.V769.P.CommandMatch +instance GHC.Classes.Eq M.V769.P.CommandSuggestionsRequest +instance GHC.Classes.Eq M.V769.P.CommandSuggestionsRequest__ +instance GHC.Classes.Eq M.V769.P.CommandSuggestionsResponse +instance GHC.Classes.Eq M.V769.P.CommandSuggestionsResponse__ +instance GHC.Classes.Eq M.V769.P.Commands +instance GHC.Classes.Eq M.V769.P.Commands__ +instance GHC.Classes.Eq M.V769.P.ConfirmTeleportation +instance GHC.Classes.Eq M.V769.P.ConfirmTeleportation__ +instance GHC.Classes.Eq M.V769.P.CookieRequest +instance GHC.Classes.Eq M.V769.P.CookieResponsePlay +instance GHC.Classes.Eq M.V769.P.DamageEvent +instance GHC.Classes.Eq M.V769.P.DamageEvent__ +instance GHC.Classes.Eq M.V769.P.DebugSample +instance GHC.Classes.Eq M.V769.P.DebugSampleSubscription +instance GHC.Classes.Eq M.V769.P.DebugSampleSubscription__ +instance GHC.Classes.Eq M.V769.P.DebugSample__ +instance GHC.Classes.Eq M.V769.P.DeleteMessage +instance GHC.Classes.Eq M.V769.P.Disconnect +instance GHC.Classes.Eq M.V769.P.DisguisedChatMessage +instance GHC.Classes.Eq M.V769.P.DisguisedChatMessage__ +instance GHC.Classes.Eq M.V769.P.DisplayObjective +instance GHC.Classes.Eq M.V769.P.EditBook +instance GHC.Classes.Eq M.V769.P.EditBook__ +instance GHC.Classes.Eq M.V769.P.EndCombat +instance GHC.Classes.Eq M.V769.P.EndCombat__ +instance GHC.Classes.Eq M.V769.P.EnterCombat +instance GHC.Classes.Eq M.V769.P.EntityAnimation +instance GHC.Classes.Eq M.V769.P.EntityAnimation__ +instance GHC.Classes.Eq M.V769.P.EntityEvent +instance GHC.Classes.Eq M.V769.P.EntityEvent__ +instance GHC.Classes.Eq M.V769.P.EntitySoundEffect +instance GHC.Classes.Eq M.V769.P.EntitySoundEffect__ +instance GHC.Classes.Eq M.V769.P.Explosion +instance GHC.Classes.Eq M.V769.P.GameEvent +instance GHC.Classes.Eq M.V769.P.GameEvent__ +instance GHC.Classes.Eq M.V769.P.HurtAnimation +instance GHC.Classes.Eq M.V769.P.HurtAnimation__ +instance GHC.Classes.Eq M.V769.P.InitializeWorldBorder +instance GHC.Classes.Eq M.V769.P.InitializeWorldBorder__ +instance GHC.Classes.Eq M.V769.P.Interact +instance GHC.Classes.Eq M.V769.P.Interact__ +instance GHC.Classes.Eq M.V769.P.JigsawGenerate +instance GHC.Classes.Eq M.V769.P.JigsawGenerate__ +instance GHC.Classes.Eq M.V769.P.LinkEntities +instance GHC.Classes.Eq M.V769.P.LinkEntities__ +instance GHC.Classes.Eq M.V769.P.LockDifficulty +instance GHC.Classes.Eq M.V769.P.Login +instance GHC.Classes.Eq M.V769.P.Login__ +instance GHC.Classes.Eq M.V769.P.LookAt +instance GHC.Classes.Eq M.V769.P.LookAt__ +instance GHC.Classes.Eq M.V769.P.MapData +instance GHC.Classes.Eq M.V769.P.MapData__ +instance GHC.Classes.Eq M.V769.P.MerchantOffers +instance GHC.Classes.Eq M.V769.P.MerchantOffers__ +instance GHC.Classes.Eq M.V769.P.MoveMinecartAlongTrack +instance GHC.Classes.Eq M.V769.P.MoveMinecartAlongTrack__ +instance GHC.Classes.Eq M.V769.P.MoveVehicle +instance GHC.Classes.Eq M.V769.P.MoveVehicleServerbound +instance GHC.Classes.Eq M.V769.P.OpenBook +instance GHC.Classes.Eq M.V769.P.OpenBook__ +instance GHC.Classes.Eq M.V769.P.OpenHorseScreen +instance GHC.Classes.Eq M.V769.P.OpenHorseScreen__ +instance GHC.Classes.Eq M.V769.P.OpenScreen +instance GHC.Classes.Eq M.V769.P.OpenScreen__ +instance GHC.Classes.Eq M.V769.P.OpenSignEditor +instance GHC.Classes.Eq M.V769.P.PaddleBoat +instance GHC.Classes.Eq M.V769.P.ParticleEffect +instance GHC.Classes.Eq M.V769.P.ParticleEffect__ +instance GHC.Classes.Eq M.V769.P.PickItemFromBlock +instance GHC.Classes.Eq M.V769.P.PickItemFromEntity +instance GHC.Classes.Eq M.V769.P.PickItemFromEntity__ +instance GHC.Classes.Eq M.V769.P.PingRequestPlay +instance GHC.Classes.Eq M.V769.P.PlaceGhostRecipe +instance GHC.Classes.Eq M.V769.P.PlaceRecipe +instance GHC.Classes.Eq M.V769.P.PlayPing +instance GHC.Classes.Eq M.V769.P.PlayPingResponse +instance GHC.Classes.Eq M.V769.P.PlayerAction +instance GHC.Classes.Eq M.V769.P.PlayerAction__ +instance GHC.Classes.Eq M.V769.P.PlayerChatMessage +instance GHC.Classes.Eq M.V769.P.PlayerCommand +instance GHC.Classes.Eq M.V769.P.PlayerCommand__ +instance GHC.Classes.Eq M.V769.P.PlayerInfoRemove +instance GHC.Classes.Eq M.V769.P.PlayerInfoUpdate +instance GHC.Classes.Eq M.V769.P.PlayerInfoUpdate__ +instance GHC.Classes.Eq M.V769.P.PlayerInput +instance GHC.Classes.Eq M.V769.P.PlayerLoaded +instance GHC.Classes.Eq M.V769.P.PlayerRotation +instance GHC.Classes.Eq M.V769.P.PlayerSession +instance GHC.Classes.Eq M.V769.P.PongPlay +instance GHC.Classes.Eq M.V769.P.ProgramCommandBlock +instance GHC.Classes.Eq M.V769.P.ProgramCommandBlockMinecart +instance GHC.Classes.Eq M.V769.P.ProgramCommandBlockMinecart__ +instance GHC.Classes.Eq M.V769.P.ProgramCommandBlock__ +instance GHC.Classes.Eq M.V769.P.ProgramJigsawBlock +instance GHC.Classes.Eq M.V769.P.ProgramStructureBlock +instance GHC.Classes.Eq M.V769.P.ProgramStructureBlock__ +instance GHC.Classes.Eq M.V769.P.QueryBlockEntityTag +instance GHC.Classes.Eq M.V769.P.QueryBlockEntityTag__ +instance GHC.Classes.Eq M.V769.P.QueryEntityTag +instance GHC.Classes.Eq M.V769.P.QueryEntityTag__ +instance GHC.Classes.Eq M.V769.P.RecipeBookAdd +instance GHC.Classes.Eq M.V769.P.RecipeBookRemove +instance GHC.Classes.Eq M.V769.P.RecipeBookSettings +instance GHC.Classes.Eq M.V769.P.RecipeBookSettings__ +instance GHC.Classes.Eq M.V769.P.RemoveEntities +instance GHC.Classes.Eq M.V769.P.RemoveEntities__ +instance GHC.Classes.Eq M.V769.P.RemoveEntityEffect +instance GHC.Classes.Eq M.V769.P.RemoveEntityEffect__ +instance GHC.Classes.Eq M.V769.P.RemoveResourcePack +instance GHC.Classes.Eq M.V769.P.RenameItem +instance GHC.Classes.Eq M.V769.P.ResetScore +instance GHC.Classes.Eq M.V769.P.ResourcePackResponsePlay +instance GHC.Classes.Eq M.V769.P.ResourcePackResponsePlay__ +instance GHC.Classes.Eq M.V769.P.Respawn +instance GHC.Classes.Eq M.V769.P.SeenAdvancements +instance GHC.Classes.Eq M.V769.P.SeenAdvancements__ +instance GHC.Classes.Eq M.V769.P.SelectAdvancementsTab +instance GHC.Classes.Eq M.V769.P.SelectTrade +instance GHC.Classes.Eq M.V769.P.SelectTrade__ +instance GHC.Classes.Eq M.V769.P.ServerData +instance GHC.Classes.Eq M.V769.P.ServerboundChangeDifficulty +instance GHC.Classes.Eq M.V769.P.ServerboundChatCommand +instance GHC.Classes.Eq M.V769.P.ServerboundPlayerAbilities +instance GHC.Classes.Eq M.V769.P.SetActionBarText +instance GHC.Classes.Eq M.V769.P.SetBeaconEffect +instance GHC.Classes.Eq M.V769.P.SetBeaconEffect__ +instance GHC.Classes.Eq M.V769.P.SetBlockDestroyStage +instance GHC.Classes.Eq M.V769.P.SetBlockDestroyStage__ +instance GHC.Classes.Eq M.V769.P.SetBorderCenter +instance GHC.Classes.Eq M.V769.P.SetBorderLerpSize +instance GHC.Classes.Eq M.V769.P.SetBorderLerpSize__ +instance GHC.Classes.Eq M.V769.P.SetBorderSize +instance GHC.Classes.Eq M.V769.P.SetBorderWarningDelay +instance GHC.Classes.Eq M.V769.P.SetBorderWarningDelay__ +instance GHC.Classes.Eq M.V769.P.SetBorderWarningDistance +instance GHC.Classes.Eq M.V769.P.SetBorderWarningDistance__ +instance GHC.Classes.Eq M.V769.P.SetCamera +instance GHC.Classes.Eq M.V769.P.SetCamera__ +instance GHC.Classes.Eq M.V769.P.SetCenterChunk +instance GHC.Classes.Eq M.V769.P.SetCenterChunk__ +instance GHC.Classes.Eq M.V769.P.SetContainerContent +instance GHC.Classes.Eq M.V769.P.SetContainerContent__ +instance GHC.Classes.Eq M.V769.P.SetContainerProperty +instance GHC.Classes.Eq M.V769.P.SetContainerProperty__ +instance GHC.Classes.Eq M.V769.P.SetContainerSlot +instance GHC.Classes.Eq M.V769.P.SetContainerSlot__ +instance GHC.Classes.Eq M.V769.P.SetCooldown +instance GHC.Classes.Eq M.V769.P.SetCooldown__ +instance GHC.Classes.Eq M.V769.P.SetCreativeModeSlot +instance GHC.Classes.Eq M.V769.P.SetCursorItem +instance GHC.Classes.Eq M.V769.P.SetDefaultSpawnPosition +instance GHC.Classes.Eq M.V769.P.SetEntityMetadata +instance GHC.Classes.Eq M.V769.P.SetEntityMetadata__ +instance GHC.Classes.Eq M.V769.P.SetEntityVelocity +instance GHC.Classes.Eq M.V769.P.SetEntityVelocity__ +instance GHC.Classes.Eq M.V769.P.SetEquipment +instance GHC.Classes.Eq M.V769.P.SetEquipment__ +instance GHC.Classes.Eq M.V769.P.SetExperience +instance GHC.Classes.Eq M.V769.P.SetExperience__ +instance GHC.Classes.Eq M.V769.P.SetHeadRotation +instance GHC.Classes.Eq M.V769.P.SetHeadRotation__ +instance GHC.Classes.Eq M.V769.P.SetHealth +instance GHC.Classes.Eq M.V769.P.SetHealth__ +instance GHC.Classes.Eq M.V769.P.SetHeldItem +instance GHC.Classes.Eq M.V769.P.SetHeldItemServerbound +instance GHC.Classes.Eq M.V769.P.SetPassengers +instance GHC.Classes.Eq M.V769.P.SetPassengers__ +instance GHC.Classes.Eq M.V769.P.SetPlayerInventorySlot +instance GHC.Classes.Eq M.V769.P.SetPlayerMovementFlags +instance GHC.Classes.Eq M.V769.P.SetPlayerPosition +instance GHC.Classes.Eq M.V769.P.SetPlayerPositionAndRotation +instance GHC.Classes.Eq M.V769.P.SetPlayerPositionAndRotation__ +instance GHC.Classes.Eq M.V769.P.SetPlayerPosition__ +instance GHC.Classes.Eq M.V769.P.SetPlayerRotation +instance GHC.Classes.Eq M.V769.P.SetRenderDistance +instance GHC.Classes.Eq M.V769.P.SetRenderDistance__ +instance GHC.Classes.Eq M.V769.P.SetSeenRecipe +instance GHC.Classes.Eq M.V769.P.SetSimulationDistance +instance GHC.Classes.Eq M.V769.P.SetSimulationDistance__ +instance GHC.Classes.Eq M.V769.P.SetSubtitleText +instance GHC.Classes.Eq M.V769.P.SetTabListHeaderAndFooter +instance GHC.Classes.Eq M.V769.P.SetTitleAnimationTimes +instance GHC.Classes.Eq M.V769.P.SetTitleText +instance GHC.Classes.Eq M.V769.P.SignedChatCommand +instance GHC.Classes.Eq M.V769.P.SoundEffect +instance GHC.Classes.Eq M.V769.P.SoundEffect__ +instance GHC.Classes.Eq M.V769.P.SpawnEntity +instance GHC.Classes.Eq M.V769.P.SpawnEntity__ +instance GHC.Classes.Eq M.V769.P.SpawnExperienceOrb +instance GHC.Classes.Eq M.V769.P.SpawnExperienceOrb__ +instance GHC.Classes.Eq M.V769.P.StartConfiguration +instance GHC.Classes.Eq M.V769.P.StopSound +instance GHC.Classes.Eq M.V769.P.StopSound__ +instance GHC.Classes.Eq M.V769.P.StoreCookie +instance GHC.Classes.Eq M.V769.P.SwingArm +instance GHC.Classes.Eq M.V769.P.SwingArm__ +instance GHC.Classes.Eq M.V769.P.SynchronizePlayerPosition +instance GHC.Classes.Eq M.V769.P.SynchronizePlayerPosition__ +instance GHC.Classes.Eq M.V769.P.TeleportEntity +instance GHC.Classes.Eq M.V769.P.TeleportEntity__ +instance GHC.Classes.Eq M.V769.P.TeleportToEntity +instance GHC.Classes.Eq M.V769.P.TeleportToEntity__ +instance GHC.Classes.Eq M.V769.P.UnloadChunk +instance GHC.Classes.Eq M.V769.P.UpdateEntityPosition +instance GHC.Classes.Eq M.V769.P.UpdateEntityPositionAndRotation +instance GHC.Classes.Eq M.V769.P.UpdateEntityPositionAndRotation__ +instance GHC.Classes.Eq M.V769.P.UpdateEntityPosition__ +instance GHC.Classes.Eq M.V769.P.UpdateEntityRotation +instance GHC.Classes.Eq M.V769.P.UpdateEntityRotation__ +instance GHC.Classes.Eq M.V769.P.UpdateLight +instance GHC.Classes.Eq M.V769.P.UpdateLight__ +instance GHC.Classes.Eq M.V769.P.UpdateObjectives +instance GHC.Classes.Eq M.V769.P.UpdateObjectives__ +instance GHC.Classes.Eq M.V769.P.UpdateScore +instance GHC.Classes.Eq M.V769.P.UpdateScore__ +instance GHC.Classes.Eq M.V769.P.UpdateSectionBlocks +instance GHC.Classes.Eq M.V769.P.UpdateSectionBlocks__ +instance GHC.Classes.Eq M.V769.P.UpdateSign +instance GHC.Classes.Eq M.V769.P.UpdateTeams +instance GHC.Classes.Eq M.V769.P.UpdateTeams__ +instance GHC.Classes.Eq M.V769.P.UpdateTime +instance GHC.Classes.Eq M.V769.P.UseItem +instance GHC.Classes.Eq M.V769.P.UseItemOn +instance GHC.Classes.Eq M.V769.P.UseItemOn__ +instance GHC.Classes.Eq M.V769.P.UseItem__ +instance GHC.Classes.Eq M.V769.P.WorldEvent +instance GHC.Generics.Generic M.V769.P.AcknowledgeBlockChange +instance GHC.Generics.Generic M.V769.P.AcknowledgeBlockChange__ +instance GHC.Generics.Generic M.V769.P.AcknowledgeConfiguration +instance GHC.Generics.Generic M.V769.P.AcknowledgeMessage +instance GHC.Generics.Generic M.V769.P.AddResourcePack +instance GHC.Generics.Generic M.V769.P.AwardStatistics +instance GHC.Generics.Generic M.V769.P.AwardStatistics_Entry +instance GHC.Generics.Generic M.V769.P.AwardStatistics_Entry__ +instance GHC.Generics.Generic M.V769.P.BlockAction +instance GHC.Generics.Generic M.V769.P.BlockAction__ +instance GHC.Generics.Generic M.V769.P.BlockEntityData +instance GHC.Generics.Generic M.V769.P.BlockEntityData__ +instance GHC.Generics.Generic M.V769.P.BlockUpdate +instance GHC.Generics.Generic M.V769.P.BlockUpdate__ +instance GHC.Generics.Generic M.V769.P.BossBar +instance GHC.Generics.Generic M.V769.P.BundleDelimiter +instance GHC.Generics.Generic M.V769.P.BundleItemSelected +instance GHC.Generics.Generic M.V769.P.BundleItemSelected__ +instance GHC.Generics.Generic M.V769.P.ChangeContainerSlotState +instance GHC.Generics.Generic M.V769.P.ChangeDifficulty +instance GHC.Generics.Generic M.V769.P.ChangeRecipeBookSettings +instance GHC.Generics.Generic M.V769.P.ChangeRecipeBookSettings__ +instance GHC.Generics.Generic M.V769.P.ChatMessage +instance GHC.Generics.Generic M.V769.P.ChatSuggestions +instance GHC.Generics.Generic M.V769.P.ChatSuggestions__ +instance GHC.Generics.Generic M.V769.P.ChunkBatchFinished +instance GHC.Generics.Generic M.V769.P.ChunkBatchFinished__ +instance GHC.Generics.Generic M.V769.P.ChunkBatchReceived +instance GHC.Generics.Generic M.V769.P.ChunkBatchStarted +instance GHC.Generics.Generic M.V769.P.ChunkBiomes +instance GHC.Generics.Generic M.V769.P.ChunkDataAndUpdateLight +instance GHC.Generics.Generic M.V769.P.ClearTitles +instance GHC.Generics.Generic M.V769.P.ClickContainer +instance GHC.Generics.Generic M.V769.P.ClickContainerButton +instance GHC.Generics.Generic M.V769.P.ClickContainer__ +instance GHC.Generics.Generic M.V769.P.ClientInformationPlay +instance GHC.Generics.Generic M.V769.P.ClientInformationPlay__ +instance GHC.Generics.Generic M.V769.P.ClientStatus +instance GHC.Generics.Generic M.V769.P.ClientStatus__ +instance GHC.Generics.Generic M.V769.P.ClientTickEnd +instance GHC.Generics.Generic M.V769.P.ClientboundPlayerAbilities +instance GHC.Generics.Generic M.V769.P.CloseContainer +instance GHC.Generics.Generic M.V769.P.CloseContainerServerbound +instance GHC.Generics.Generic M.V769.P.CloseContainer__ +instance GHC.Generics.Generic M.V769.P.CombatDeath +instance GHC.Generics.Generic M.V769.P.CombatDeath__ +instance GHC.Generics.Generic M.V769.P.CommandMatch +instance GHC.Generics.Generic M.V769.P.CommandSuggestionsRequest +instance GHC.Generics.Generic M.V769.P.CommandSuggestionsRequest__ +instance GHC.Generics.Generic M.V769.P.CommandSuggestionsResponse +instance GHC.Generics.Generic M.V769.P.CommandSuggestionsResponse__ +instance GHC.Generics.Generic M.V769.P.Commands +instance GHC.Generics.Generic M.V769.P.Commands__ +instance GHC.Generics.Generic M.V769.P.ConfirmTeleportation +instance GHC.Generics.Generic M.V769.P.ConfirmTeleportation__ +instance GHC.Generics.Generic M.V769.P.CookieRequest +instance GHC.Generics.Generic M.V769.P.CookieResponsePlay +instance GHC.Generics.Generic M.V769.P.DamageEvent +instance GHC.Generics.Generic M.V769.P.DamageEvent__ +instance GHC.Generics.Generic M.V769.P.DebugSample +instance GHC.Generics.Generic M.V769.P.DebugSampleSubscription +instance GHC.Generics.Generic M.V769.P.DebugSampleSubscription__ +instance GHC.Generics.Generic M.V769.P.DebugSample__ +instance GHC.Generics.Generic M.V769.P.DeleteMessage +instance GHC.Generics.Generic M.V769.P.Disconnect +instance GHC.Generics.Generic M.V769.P.DisguisedChatMessage +instance GHC.Generics.Generic M.V769.P.DisguisedChatMessage__ +instance GHC.Generics.Generic M.V769.P.DisplayObjective +instance GHC.Generics.Generic M.V769.P.EditBook +instance GHC.Generics.Generic M.V769.P.EditBook__ +instance GHC.Generics.Generic M.V769.P.EndCombat +instance GHC.Generics.Generic M.V769.P.EndCombat__ +instance GHC.Generics.Generic M.V769.P.EnterCombat +instance GHC.Generics.Generic M.V769.P.EntityAnimation +instance GHC.Generics.Generic M.V769.P.EntityAnimation__ +instance GHC.Generics.Generic M.V769.P.EntityEvent +instance GHC.Generics.Generic M.V769.P.EntityEvent__ +instance GHC.Generics.Generic M.V769.P.EntitySoundEffect +instance GHC.Generics.Generic M.V769.P.EntitySoundEffect__ +instance GHC.Generics.Generic M.V769.P.Explosion +instance GHC.Generics.Generic M.V769.P.GameEvent +instance GHC.Generics.Generic M.V769.P.GameEvent__ +instance GHC.Generics.Generic M.V769.P.HurtAnimation +instance GHC.Generics.Generic M.V769.P.HurtAnimation__ +instance GHC.Generics.Generic M.V769.P.InitializeWorldBorder +instance GHC.Generics.Generic M.V769.P.InitializeWorldBorder__ +instance GHC.Generics.Generic M.V769.P.Interact +instance GHC.Generics.Generic M.V769.P.Interact__ +instance GHC.Generics.Generic M.V769.P.JigsawGenerate +instance GHC.Generics.Generic M.V769.P.JigsawGenerate__ +instance GHC.Generics.Generic M.V769.P.LinkEntities +instance GHC.Generics.Generic M.V769.P.LinkEntities__ +instance GHC.Generics.Generic M.V769.P.LockDifficulty +instance GHC.Generics.Generic M.V769.P.Login +instance GHC.Generics.Generic M.V769.P.Login__ +instance GHC.Generics.Generic M.V769.P.LookAt +instance GHC.Generics.Generic M.V769.P.LookAt__ +instance GHC.Generics.Generic M.V769.P.MapData +instance GHC.Generics.Generic M.V769.P.MapData__ +instance GHC.Generics.Generic M.V769.P.MerchantOffers +instance GHC.Generics.Generic M.V769.P.MerchantOffers__ +instance GHC.Generics.Generic M.V769.P.MoveMinecartAlongTrack +instance GHC.Generics.Generic M.V769.P.MoveMinecartAlongTrack__ +instance GHC.Generics.Generic M.V769.P.MoveVehicle +instance GHC.Generics.Generic M.V769.P.MoveVehicleServerbound +instance GHC.Generics.Generic M.V769.P.OpenBook +instance GHC.Generics.Generic M.V769.P.OpenBook__ +instance GHC.Generics.Generic M.V769.P.OpenHorseScreen +instance GHC.Generics.Generic M.V769.P.OpenHorseScreen__ +instance GHC.Generics.Generic M.V769.P.OpenScreen +instance GHC.Generics.Generic M.V769.P.OpenScreen__ +instance GHC.Generics.Generic M.V769.P.OpenSignEditor +instance GHC.Generics.Generic M.V769.P.PaddleBoat +instance GHC.Generics.Generic M.V769.P.ParticleEffect +instance GHC.Generics.Generic M.V769.P.ParticleEffect__ +instance GHC.Generics.Generic M.V769.P.PickItemFromBlock +instance GHC.Generics.Generic M.V769.P.PickItemFromEntity +instance GHC.Generics.Generic M.V769.P.PickItemFromEntity__ +instance GHC.Generics.Generic M.V769.P.PingRequestPlay +instance GHC.Generics.Generic M.V769.P.PlaceGhostRecipe +instance GHC.Generics.Generic M.V769.P.PlaceRecipe +instance GHC.Generics.Generic M.V769.P.PlayPing +instance GHC.Generics.Generic M.V769.P.PlayPingResponse +instance GHC.Generics.Generic M.V769.P.PlayerAction +instance GHC.Generics.Generic M.V769.P.PlayerAction__ +instance GHC.Generics.Generic M.V769.P.PlayerChatMessage +instance GHC.Generics.Generic M.V769.P.PlayerCommand +instance GHC.Generics.Generic M.V769.P.PlayerCommand__ +instance GHC.Generics.Generic M.V769.P.PlayerInfoRemove +instance GHC.Generics.Generic M.V769.P.PlayerInfoUpdate +instance GHC.Generics.Generic M.V769.P.PlayerInfoUpdate__ +instance GHC.Generics.Generic M.V769.P.PlayerInput +instance GHC.Generics.Generic M.V769.P.PlayerLoaded +instance GHC.Generics.Generic M.V769.P.PlayerRotation +instance GHC.Generics.Generic M.V769.P.PlayerSession +instance GHC.Generics.Generic M.V769.P.PongPlay +instance GHC.Generics.Generic M.V769.P.ProgramCommandBlock +instance GHC.Generics.Generic M.V769.P.ProgramCommandBlockMinecart +instance GHC.Generics.Generic M.V769.P.ProgramCommandBlockMinecart__ +instance GHC.Generics.Generic M.V769.P.ProgramCommandBlock__ +instance GHC.Generics.Generic M.V769.P.ProgramJigsawBlock +instance GHC.Generics.Generic M.V769.P.ProgramStructureBlock +instance GHC.Generics.Generic M.V769.P.ProgramStructureBlock__ +instance GHC.Generics.Generic M.V769.P.QueryBlockEntityTag +instance GHC.Generics.Generic M.V769.P.QueryBlockEntityTag__ +instance GHC.Generics.Generic M.V769.P.QueryEntityTag +instance GHC.Generics.Generic M.V769.P.QueryEntityTag__ +instance GHC.Generics.Generic M.V769.P.RecipeBookAdd +instance GHC.Generics.Generic M.V769.P.RecipeBookRemove +instance GHC.Generics.Generic M.V769.P.RecipeBookSettings +instance GHC.Generics.Generic M.V769.P.RecipeBookSettings__ +instance GHC.Generics.Generic M.V769.P.RemoveEntities +instance GHC.Generics.Generic M.V769.P.RemoveEntities__ +instance GHC.Generics.Generic M.V769.P.RemoveEntityEffect +instance GHC.Generics.Generic M.V769.P.RemoveEntityEffect__ +instance GHC.Generics.Generic M.V769.P.RemoveResourcePack +instance GHC.Generics.Generic M.V769.P.RenameItem +instance GHC.Generics.Generic M.V769.P.ResetScore +instance GHC.Generics.Generic M.V769.P.ResourcePackResponsePlay +instance GHC.Generics.Generic M.V769.P.ResourcePackResponsePlay__ +instance GHC.Generics.Generic M.V769.P.Respawn +instance GHC.Generics.Generic M.V769.P.SeenAdvancements +instance GHC.Generics.Generic M.V769.P.SeenAdvancements__ +instance GHC.Generics.Generic M.V769.P.SelectAdvancementsTab +instance GHC.Generics.Generic M.V769.P.SelectTrade +instance GHC.Generics.Generic M.V769.P.SelectTrade__ +instance GHC.Generics.Generic M.V769.P.ServerData +instance GHC.Generics.Generic M.V769.P.ServerboundChangeDifficulty +instance GHC.Generics.Generic M.V769.P.ServerboundChatCommand +instance GHC.Generics.Generic M.V769.P.ServerboundPlayerAbilities +instance GHC.Generics.Generic M.V769.P.SetActionBarText +instance GHC.Generics.Generic M.V769.P.SetBeaconEffect +instance GHC.Generics.Generic M.V769.P.SetBeaconEffect__ +instance GHC.Generics.Generic M.V769.P.SetBlockDestroyStage +instance GHC.Generics.Generic M.V769.P.SetBlockDestroyStage__ +instance GHC.Generics.Generic M.V769.P.SetBorderCenter +instance GHC.Generics.Generic M.V769.P.SetBorderLerpSize +instance GHC.Generics.Generic M.V769.P.SetBorderLerpSize__ +instance GHC.Generics.Generic M.V769.P.SetBorderSize +instance GHC.Generics.Generic M.V769.P.SetBorderWarningDelay +instance GHC.Generics.Generic M.V769.P.SetBorderWarningDelay__ +instance GHC.Generics.Generic M.V769.P.SetBorderWarningDistance +instance GHC.Generics.Generic M.V769.P.SetBorderWarningDistance__ +instance GHC.Generics.Generic M.V769.P.SetCamera +instance GHC.Generics.Generic M.V769.P.SetCamera__ +instance GHC.Generics.Generic M.V769.P.SetCenterChunk +instance GHC.Generics.Generic M.V769.P.SetCenterChunk__ +instance GHC.Generics.Generic M.V769.P.SetContainerContent +instance GHC.Generics.Generic M.V769.P.SetContainerContent__ +instance GHC.Generics.Generic M.V769.P.SetContainerProperty +instance GHC.Generics.Generic M.V769.P.SetContainerProperty__ +instance GHC.Generics.Generic M.V769.P.SetContainerSlot +instance GHC.Generics.Generic M.V769.P.SetContainerSlot__ +instance GHC.Generics.Generic M.V769.P.SetCooldown +instance GHC.Generics.Generic M.V769.P.SetCooldown__ +instance GHC.Generics.Generic M.V769.P.SetCreativeModeSlot +instance GHC.Generics.Generic M.V769.P.SetCursorItem +instance GHC.Generics.Generic M.V769.P.SetDefaultSpawnPosition +instance GHC.Generics.Generic M.V769.P.SetEntityMetadata +instance GHC.Generics.Generic M.V769.P.SetEntityMetadata__ +instance GHC.Generics.Generic M.V769.P.SetEntityVelocity +instance GHC.Generics.Generic M.V769.P.SetEntityVelocity__ +instance GHC.Generics.Generic M.V769.P.SetEquipment +instance GHC.Generics.Generic M.V769.P.SetEquipment__ +instance GHC.Generics.Generic M.V769.P.SetExperience +instance GHC.Generics.Generic M.V769.P.SetExperience__ +instance GHC.Generics.Generic M.V769.P.SetHeadRotation +instance GHC.Generics.Generic M.V769.P.SetHeadRotation__ +instance GHC.Generics.Generic M.V769.P.SetHealth +instance GHC.Generics.Generic M.V769.P.SetHealth__ +instance GHC.Generics.Generic M.V769.P.SetHeldItem +instance GHC.Generics.Generic M.V769.P.SetHeldItemServerbound +instance GHC.Generics.Generic M.V769.P.SetPassengers +instance GHC.Generics.Generic M.V769.P.SetPassengers__ +instance GHC.Generics.Generic M.V769.P.SetPlayerInventorySlot +instance GHC.Generics.Generic M.V769.P.SetPlayerMovementFlags +instance GHC.Generics.Generic M.V769.P.SetPlayerPosition +instance GHC.Generics.Generic M.V769.P.SetPlayerPositionAndRotation +instance GHC.Generics.Generic M.V769.P.SetPlayerPositionAndRotation__ +instance GHC.Generics.Generic M.V769.P.SetPlayerPosition__ +instance GHC.Generics.Generic M.V769.P.SetPlayerRotation +instance GHC.Generics.Generic M.V769.P.SetRenderDistance +instance GHC.Generics.Generic M.V769.P.SetRenderDistance__ +instance GHC.Generics.Generic M.V769.P.SetSeenRecipe +instance GHC.Generics.Generic M.V769.P.SetSimulationDistance +instance GHC.Generics.Generic M.V769.P.SetSimulationDistance__ +instance GHC.Generics.Generic M.V769.P.SetSubtitleText +instance GHC.Generics.Generic M.V769.P.SetTabListHeaderAndFooter +instance GHC.Generics.Generic M.V769.P.SetTitleAnimationTimes +instance GHC.Generics.Generic M.V769.P.SetTitleText +instance GHC.Generics.Generic M.V769.P.SignedChatCommand +instance GHC.Generics.Generic M.V769.P.SoundEffect +instance GHC.Generics.Generic M.V769.P.SoundEffect__ +instance GHC.Generics.Generic M.V769.P.SpawnEntity +instance GHC.Generics.Generic M.V769.P.SpawnEntity__ +instance GHC.Generics.Generic M.V769.P.SpawnExperienceOrb +instance GHC.Generics.Generic M.V769.P.SpawnExperienceOrb__ +instance GHC.Generics.Generic M.V769.P.StartConfiguration +instance GHC.Generics.Generic M.V769.P.StopSound +instance GHC.Generics.Generic M.V769.P.StopSound__ +instance GHC.Generics.Generic M.V769.P.StoreCookie +instance GHC.Generics.Generic M.V769.P.SwingArm +instance GHC.Generics.Generic M.V769.P.SwingArm__ +instance GHC.Generics.Generic M.V769.P.SynchronizePlayerPosition +instance GHC.Generics.Generic M.V769.P.SynchronizePlayerPosition__ +instance GHC.Generics.Generic M.V769.P.TeleportEntity +instance GHC.Generics.Generic M.V769.P.TeleportEntity__ +instance GHC.Generics.Generic M.V769.P.TeleportToEntity +instance GHC.Generics.Generic M.V769.P.TeleportToEntity__ +instance GHC.Generics.Generic M.V769.P.UnloadChunk +instance GHC.Generics.Generic M.V769.P.UpdateEntityPosition +instance GHC.Generics.Generic M.V769.P.UpdateEntityPositionAndRotation +instance GHC.Generics.Generic M.V769.P.UpdateEntityPositionAndRotation__ +instance GHC.Generics.Generic M.V769.P.UpdateEntityPosition__ +instance GHC.Generics.Generic M.V769.P.UpdateEntityRotation +instance GHC.Generics.Generic M.V769.P.UpdateEntityRotation__ +instance GHC.Generics.Generic M.V769.P.UpdateLight +instance GHC.Generics.Generic M.V769.P.UpdateLight__ +instance GHC.Generics.Generic M.V769.P.UpdateObjectives +instance GHC.Generics.Generic M.V769.P.UpdateObjectives__ +instance GHC.Generics.Generic M.V769.P.UpdateScore +instance GHC.Generics.Generic M.V769.P.UpdateScore__ +instance GHC.Generics.Generic M.V769.P.UpdateSectionBlocks +instance GHC.Generics.Generic M.V769.P.UpdateSectionBlocks__ +instance GHC.Generics.Generic M.V769.P.UpdateSign +instance GHC.Generics.Generic M.V769.P.UpdateTeams +instance GHC.Generics.Generic M.V769.P.UpdateTeams__ +instance GHC.Generics.Generic M.V769.P.UpdateTime +instance GHC.Generics.Generic M.V769.P.UseItem +instance GHC.Generics.Generic M.V769.P.UseItemOn +instance GHC.Generics.Generic M.V769.P.UseItemOn__ +instance GHC.Generics.Generic M.V769.P.UseItem__ +instance GHC.Generics.Generic M.V769.P.WorldEvent +instance Control.DeepSeq.NFData M.V769.P.AcknowledgeBlockChange +instance Control.DeepSeq.NFData M.V769.P.AcknowledgeBlockChange__ +instance Control.DeepSeq.NFData M.V769.P.AcknowledgeConfiguration +instance Control.DeepSeq.NFData M.V769.P.AcknowledgeMessage +instance Control.DeepSeq.NFData M.V769.P.AddResourcePack +instance Control.DeepSeq.NFData M.V769.P.AwardStatistics +instance Control.DeepSeq.NFData M.V769.P.AwardStatistics_Entry +instance Control.DeepSeq.NFData M.V769.P.AwardStatistics_Entry__ +instance Control.DeepSeq.NFData M.V769.P.BlockAction +instance Control.DeepSeq.NFData M.V769.P.BlockAction__ +instance Control.DeepSeq.NFData M.V769.P.BlockEntityData +instance Control.DeepSeq.NFData M.V769.P.BlockEntityData__ +instance Control.DeepSeq.NFData M.V769.P.BlockUpdate +instance Control.DeepSeq.NFData M.V769.P.BlockUpdate__ +instance Control.DeepSeq.NFData M.V769.P.BossBar +instance Control.DeepSeq.NFData M.V769.P.BundleDelimiter +instance Control.DeepSeq.NFData M.V769.P.BundleItemSelected +instance Control.DeepSeq.NFData M.V769.P.BundleItemSelected__ +instance Control.DeepSeq.NFData M.V769.P.ChangeContainerSlotState +instance Control.DeepSeq.NFData M.V769.P.ChangeDifficulty +instance Control.DeepSeq.NFData M.V769.P.ChangeRecipeBookSettings +instance Control.DeepSeq.NFData M.V769.P.ChangeRecipeBookSettings__ +instance Control.DeepSeq.NFData M.V769.P.ChatMessage +instance Control.DeepSeq.NFData M.V769.P.ChatSuggestions +instance Control.DeepSeq.NFData M.V769.P.ChatSuggestions__ +instance Control.DeepSeq.NFData M.V769.P.ChunkBatchFinished +instance Control.DeepSeq.NFData M.V769.P.ChunkBatchFinished__ +instance Control.DeepSeq.NFData M.V769.P.ChunkBatchReceived +instance Control.DeepSeq.NFData M.V769.P.ChunkBatchStarted +instance Control.DeepSeq.NFData M.V769.P.ChunkBiomes +instance Control.DeepSeq.NFData M.V769.P.ChunkDataAndUpdateLight +instance Control.DeepSeq.NFData M.V769.P.ClearTitles +instance Control.DeepSeq.NFData M.V769.P.ClickContainer +instance Control.DeepSeq.NFData M.V769.P.ClickContainerButton +instance Control.DeepSeq.NFData M.V769.P.ClickContainer__ +instance Control.DeepSeq.NFData M.V769.P.ClientInformationPlay +instance Control.DeepSeq.NFData M.V769.P.ClientInformationPlay__ +instance Control.DeepSeq.NFData M.V769.P.ClientStatus +instance Control.DeepSeq.NFData M.V769.P.ClientStatus__ +instance Control.DeepSeq.NFData M.V769.P.ClientTickEnd +instance Control.DeepSeq.NFData M.V769.P.ClientboundPlayerAbilities +instance Control.DeepSeq.NFData M.V769.P.CloseContainer +instance Control.DeepSeq.NFData M.V769.P.CloseContainerServerbound +instance Control.DeepSeq.NFData M.V769.P.CloseContainer__ +instance Control.DeepSeq.NFData M.V769.P.CombatDeath +instance Control.DeepSeq.NFData M.V769.P.CombatDeath__ +instance Control.DeepSeq.NFData M.V769.P.CommandMatch +instance Control.DeepSeq.NFData M.V769.P.CommandSuggestionsRequest +instance Control.DeepSeq.NFData M.V769.P.CommandSuggestionsRequest__ +instance Control.DeepSeq.NFData M.V769.P.CommandSuggestionsResponse +instance Control.DeepSeq.NFData M.V769.P.CommandSuggestionsResponse__ +instance Control.DeepSeq.NFData M.V769.P.Commands +instance Control.DeepSeq.NFData M.V769.P.Commands__ +instance Control.DeepSeq.NFData M.V769.P.ConfirmTeleportation +instance Control.DeepSeq.NFData M.V769.P.ConfirmTeleportation__ +instance Control.DeepSeq.NFData M.V769.P.CookieRequest +instance Control.DeepSeq.NFData M.V769.P.CookieResponsePlay +instance Control.DeepSeq.NFData M.V769.P.DamageEvent +instance Control.DeepSeq.NFData M.V769.P.DamageEvent__ +instance Control.DeepSeq.NFData M.V769.P.DebugSample +instance Control.DeepSeq.NFData M.V769.P.DebugSampleSubscription +instance Control.DeepSeq.NFData M.V769.P.DebugSampleSubscription__ +instance Control.DeepSeq.NFData M.V769.P.DebugSample__ +instance Control.DeepSeq.NFData M.V769.P.DeleteMessage +instance Control.DeepSeq.NFData M.V769.P.Disconnect +instance Control.DeepSeq.NFData M.V769.P.DisguisedChatMessage +instance Control.DeepSeq.NFData M.V769.P.DisguisedChatMessage__ +instance Control.DeepSeq.NFData M.V769.P.DisplayObjective +instance Control.DeepSeq.NFData M.V769.P.EditBook +instance Control.DeepSeq.NFData M.V769.P.EditBook__ +instance Control.DeepSeq.NFData M.V769.P.EndCombat +instance Control.DeepSeq.NFData M.V769.P.EndCombat__ +instance Control.DeepSeq.NFData M.V769.P.EnterCombat +instance Control.DeepSeq.NFData M.V769.P.EntityAnimation +instance Control.DeepSeq.NFData M.V769.P.EntityAnimation__ +instance Control.DeepSeq.NFData M.V769.P.EntityEvent +instance Control.DeepSeq.NFData M.V769.P.EntityEvent__ +instance Control.DeepSeq.NFData M.V769.P.EntitySoundEffect +instance Control.DeepSeq.NFData M.V769.P.EntitySoundEffect__ +instance Control.DeepSeq.NFData M.V769.P.Explosion +instance Control.DeepSeq.NFData M.V769.P.GameEvent +instance Control.DeepSeq.NFData M.V769.P.GameEvent__ +instance Control.DeepSeq.NFData M.V769.P.HurtAnimation +instance Control.DeepSeq.NFData M.V769.P.HurtAnimation__ +instance Control.DeepSeq.NFData M.V769.P.InitializeWorldBorder +instance Control.DeepSeq.NFData M.V769.P.InitializeWorldBorder__ +instance Control.DeepSeq.NFData M.V769.P.Interact +instance Control.DeepSeq.NFData M.V769.P.Interact__ +instance Control.DeepSeq.NFData M.V769.P.JigsawGenerate +instance Control.DeepSeq.NFData M.V769.P.JigsawGenerate__ +instance Control.DeepSeq.NFData M.V769.P.LinkEntities +instance Control.DeepSeq.NFData M.V769.P.LinkEntities__ +instance Control.DeepSeq.NFData M.V769.P.LockDifficulty +instance Control.DeepSeq.NFData M.V769.P.Login +instance Control.DeepSeq.NFData M.V769.P.Login__ +instance Control.DeepSeq.NFData M.V769.P.LookAt +instance Control.DeepSeq.NFData M.V769.P.LookAt__ +instance Control.DeepSeq.NFData M.V769.P.MapData +instance Control.DeepSeq.NFData M.V769.P.MapData__ +instance Control.DeepSeq.NFData M.V769.P.MerchantOffers +instance Control.DeepSeq.NFData M.V769.P.MerchantOffers__ +instance Control.DeepSeq.NFData M.V769.P.MoveMinecartAlongTrack +instance Control.DeepSeq.NFData M.V769.P.MoveMinecartAlongTrack__ +instance Control.DeepSeq.NFData M.V769.P.MoveVehicle +instance Control.DeepSeq.NFData M.V769.P.MoveVehicleServerbound +instance Control.DeepSeq.NFData M.V769.P.OpenBook +instance Control.DeepSeq.NFData M.V769.P.OpenBook__ +instance Control.DeepSeq.NFData M.V769.P.OpenHorseScreen +instance Control.DeepSeq.NFData M.V769.P.OpenHorseScreen__ +instance Control.DeepSeq.NFData M.V769.P.OpenScreen +instance Control.DeepSeq.NFData M.V769.P.OpenScreen__ +instance Control.DeepSeq.NFData M.V769.P.OpenSignEditor +instance Control.DeepSeq.NFData M.V769.P.PaddleBoat +instance Control.DeepSeq.NFData M.V769.P.ParticleEffect +instance Control.DeepSeq.NFData M.V769.P.ParticleEffect__ +instance Control.DeepSeq.NFData M.V769.P.PickItemFromBlock +instance Control.DeepSeq.NFData M.V769.P.PickItemFromEntity +instance Control.DeepSeq.NFData M.V769.P.PickItemFromEntity__ +instance Control.DeepSeq.NFData M.V769.P.PingRequestPlay +instance Control.DeepSeq.NFData M.V769.P.PlaceGhostRecipe +instance Control.DeepSeq.NFData M.V769.P.PlaceRecipe +instance Control.DeepSeq.NFData M.V769.P.PlayPing +instance Control.DeepSeq.NFData M.V769.P.PlayPingResponse +instance Control.DeepSeq.NFData M.V769.P.PlayerAction +instance Control.DeepSeq.NFData M.V769.P.PlayerAction__ +instance Control.DeepSeq.NFData M.V769.P.PlayerChatMessage +instance Control.DeepSeq.NFData M.V769.P.PlayerCommand +instance Control.DeepSeq.NFData M.V769.P.PlayerCommand__ +instance Control.DeepSeq.NFData M.V769.P.PlayerInfoRemove +instance Control.DeepSeq.NFData M.V769.P.PlayerInfoUpdate +instance Control.DeepSeq.NFData M.V769.P.PlayerInfoUpdate__ +instance Control.DeepSeq.NFData M.V769.P.PlayerInput +instance Control.DeepSeq.NFData M.V769.P.PlayerLoaded +instance Control.DeepSeq.NFData M.V769.P.PlayerRotation +instance Control.DeepSeq.NFData M.V769.P.PlayerSession +instance Control.DeepSeq.NFData M.V769.P.PongPlay +instance Control.DeepSeq.NFData M.V769.P.ProgramCommandBlock +instance Control.DeepSeq.NFData M.V769.P.ProgramCommandBlockMinecart +instance Control.DeepSeq.NFData M.V769.P.ProgramCommandBlockMinecart__ +instance Control.DeepSeq.NFData M.V769.P.ProgramCommandBlock__ +instance Control.DeepSeq.NFData M.V769.P.ProgramJigsawBlock +instance Control.DeepSeq.NFData M.V769.P.ProgramStructureBlock +instance Control.DeepSeq.NFData M.V769.P.ProgramStructureBlock__ +instance Control.DeepSeq.NFData M.V769.P.QueryBlockEntityTag +instance Control.DeepSeq.NFData M.V769.P.QueryBlockEntityTag__ +instance Control.DeepSeq.NFData M.V769.P.QueryEntityTag +instance Control.DeepSeq.NFData M.V769.P.QueryEntityTag__ +instance Control.DeepSeq.NFData M.V769.P.RecipeBookAdd +instance Control.DeepSeq.NFData M.V769.P.RecipeBookRemove +instance Control.DeepSeq.NFData M.V769.P.RecipeBookSettings +instance Control.DeepSeq.NFData M.V769.P.RecipeBookSettings__ +instance Control.DeepSeq.NFData M.V769.P.RemoveEntities +instance Control.DeepSeq.NFData M.V769.P.RemoveEntities__ +instance Control.DeepSeq.NFData M.V769.P.RemoveEntityEffect +instance Control.DeepSeq.NFData M.V769.P.RemoveEntityEffect__ +instance Control.DeepSeq.NFData M.V769.P.RemoveResourcePack +instance Control.DeepSeq.NFData M.V769.P.RenameItem +instance Control.DeepSeq.NFData M.V769.P.ResetScore +instance Control.DeepSeq.NFData M.V769.P.ResourcePackResponsePlay +instance Control.DeepSeq.NFData M.V769.P.ResourcePackResponsePlay__ +instance Control.DeepSeq.NFData M.V769.P.Respawn +instance Control.DeepSeq.NFData M.V769.P.SeenAdvancements +instance Control.DeepSeq.NFData M.V769.P.SeenAdvancements__ +instance Control.DeepSeq.NFData M.V769.P.SelectAdvancementsTab +instance Control.DeepSeq.NFData M.V769.P.SelectTrade +instance Control.DeepSeq.NFData M.V769.P.SelectTrade__ +instance Control.DeepSeq.NFData M.V769.P.ServerData +instance Control.DeepSeq.NFData M.V769.P.ServerboundChangeDifficulty +instance Control.DeepSeq.NFData M.V769.P.ServerboundChatCommand +instance Control.DeepSeq.NFData M.V769.P.ServerboundPlayerAbilities +instance Control.DeepSeq.NFData M.V769.P.SetActionBarText +instance Control.DeepSeq.NFData M.V769.P.SetBeaconEffect +instance Control.DeepSeq.NFData M.V769.P.SetBeaconEffect__ +instance Control.DeepSeq.NFData M.V769.P.SetBlockDestroyStage +instance Control.DeepSeq.NFData M.V769.P.SetBlockDestroyStage__ +instance Control.DeepSeq.NFData M.V769.P.SetBorderCenter +instance Control.DeepSeq.NFData M.V769.P.SetBorderLerpSize +instance Control.DeepSeq.NFData M.V769.P.SetBorderLerpSize__ +instance Control.DeepSeq.NFData M.V769.P.SetBorderSize +instance Control.DeepSeq.NFData M.V769.P.SetBorderWarningDelay +instance Control.DeepSeq.NFData M.V769.P.SetBorderWarningDelay__ +instance Control.DeepSeq.NFData M.V769.P.SetBorderWarningDistance +instance Control.DeepSeq.NFData M.V769.P.SetBorderWarningDistance__ +instance Control.DeepSeq.NFData M.V769.P.SetCamera +instance Control.DeepSeq.NFData M.V769.P.SetCamera__ +instance Control.DeepSeq.NFData M.V769.P.SetCenterChunk +instance Control.DeepSeq.NFData M.V769.P.SetCenterChunk__ +instance Control.DeepSeq.NFData M.V769.P.SetContainerContent +instance Control.DeepSeq.NFData M.V769.P.SetContainerContent__ +instance Control.DeepSeq.NFData M.V769.P.SetContainerProperty +instance Control.DeepSeq.NFData M.V769.P.SetContainerProperty__ +instance Control.DeepSeq.NFData M.V769.P.SetContainerSlot +instance Control.DeepSeq.NFData M.V769.P.SetContainerSlot__ +instance Control.DeepSeq.NFData M.V769.P.SetCooldown +instance Control.DeepSeq.NFData M.V769.P.SetCooldown__ +instance Control.DeepSeq.NFData M.V769.P.SetCreativeModeSlot +instance Control.DeepSeq.NFData M.V769.P.SetCursorItem +instance Control.DeepSeq.NFData M.V769.P.SetDefaultSpawnPosition +instance Control.DeepSeq.NFData M.V769.P.SetEntityMetadata +instance Control.DeepSeq.NFData M.V769.P.SetEntityMetadata__ +instance Control.DeepSeq.NFData M.V769.P.SetEntityVelocity +instance Control.DeepSeq.NFData M.V769.P.SetEntityVelocity__ +instance Control.DeepSeq.NFData M.V769.P.SetEquipment +instance Control.DeepSeq.NFData M.V769.P.SetEquipment__ +instance Control.DeepSeq.NFData M.V769.P.SetExperience +instance Control.DeepSeq.NFData M.V769.P.SetExperience__ +instance Control.DeepSeq.NFData M.V769.P.SetHeadRotation +instance Control.DeepSeq.NFData M.V769.P.SetHeadRotation__ +instance Control.DeepSeq.NFData M.V769.P.SetHealth +instance Control.DeepSeq.NFData M.V769.P.SetHealth__ +instance Control.DeepSeq.NFData M.V769.P.SetHeldItem +instance Control.DeepSeq.NFData M.V769.P.SetHeldItemServerbound +instance Control.DeepSeq.NFData M.V769.P.SetPassengers +instance Control.DeepSeq.NFData M.V769.P.SetPassengers__ +instance Control.DeepSeq.NFData M.V769.P.SetPlayerInventorySlot +instance Control.DeepSeq.NFData M.V769.P.SetPlayerMovementFlags +instance Control.DeepSeq.NFData M.V769.P.SetPlayerPosition +instance Control.DeepSeq.NFData M.V769.P.SetPlayerPositionAndRotation +instance Control.DeepSeq.NFData M.V769.P.SetPlayerPositionAndRotation__ +instance Control.DeepSeq.NFData M.V769.P.SetPlayerPosition__ +instance Control.DeepSeq.NFData M.V769.P.SetPlayerRotation +instance Control.DeepSeq.NFData M.V769.P.SetRenderDistance +instance Control.DeepSeq.NFData M.V769.P.SetRenderDistance__ +instance Control.DeepSeq.NFData M.V769.P.SetSeenRecipe +instance Control.DeepSeq.NFData M.V769.P.SetSimulationDistance +instance Control.DeepSeq.NFData M.V769.P.SetSimulationDistance__ +instance Control.DeepSeq.NFData M.V769.P.SetSubtitleText +instance Control.DeepSeq.NFData M.V769.P.SetTabListHeaderAndFooter +instance Control.DeepSeq.NFData M.V769.P.SetTitleAnimationTimes +instance Control.DeepSeq.NFData M.V769.P.SetTitleText +instance Control.DeepSeq.NFData M.V769.P.SignedChatCommand +instance Control.DeepSeq.NFData M.V769.P.SoundEffect +instance Control.DeepSeq.NFData M.V769.P.SoundEffect__ +instance Control.DeepSeq.NFData M.V769.P.SpawnEntity +instance Control.DeepSeq.NFData M.V769.P.SpawnEntity__ +instance Control.DeepSeq.NFData M.V769.P.SpawnExperienceOrb +instance Control.DeepSeq.NFData M.V769.P.SpawnExperienceOrb__ +instance Control.DeepSeq.NFData M.V769.P.StartConfiguration +instance Control.DeepSeq.NFData M.V769.P.StopSound +instance Control.DeepSeq.NFData M.V769.P.StopSound__ +instance Control.DeepSeq.NFData M.V769.P.StoreCookie +instance Control.DeepSeq.NFData M.V769.P.SwingArm +instance Control.DeepSeq.NFData M.V769.P.SwingArm__ +instance Control.DeepSeq.NFData M.V769.P.SynchronizePlayerPosition +instance Control.DeepSeq.NFData M.V769.P.SynchronizePlayerPosition__ +instance Control.DeepSeq.NFData M.V769.P.TeleportEntity +instance Control.DeepSeq.NFData M.V769.P.TeleportEntity__ +instance Control.DeepSeq.NFData M.V769.P.TeleportToEntity +instance Control.DeepSeq.NFData M.V769.P.TeleportToEntity__ +instance Control.DeepSeq.NFData M.V769.P.UnloadChunk +instance Control.DeepSeq.NFData M.V769.P.UpdateEntityPosition +instance Control.DeepSeq.NFData M.V769.P.UpdateEntityPositionAndRotation +instance Control.DeepSeq.NFData M.V769.P.UpdateEntityPositionAndRotation__ +instance Control.DeepSeq.NFData M.V769.P.UpdateEntityPosition__ +instance Control.DeepSeq.NFData M.V769.P.UpdateEntityRotation +instance Control.DeepSeq.NFData M.V769.P.UpdateEntityRotation__ +instance Control.DeepSeq.NFData M.V769.P.UpdateLight +instance Control.DeepSeq.NFData M.V769.P.UpdateLight__ +instance Control.DeepSeq.NFData M.V769.P.UpdateObjectives +instance Control.DeepSeq.NFData M.V769.P.UpdateObjectives__ +instance Control.DeepSeq.NFData M.V769.P.UpdateScore +instance Control.DeepSeq.NFData M.V769.P.UpdateScore__ +instance Control.DeepSeq.NFData M.V769.P.UpdateSectionBlocks +instance Control.DeepSeq.NFData M.V769.P.UpdateSectionBlocks__ +instance Control.DeepSeq.NFData M.V769.P.UpdateSign +instance Control.DeepSeq.NFData M.V769.P.UpdateTeams +instance Control.DeepSeq.NFData M.V769.P.UpdateTeams__ +instance Control.DeepSeq.NFData M.V769.P.UpdateTime +instance Control.DeepSeq.NFData M.V769.P.UseItem +instance Control.DeepSeq.NFData M.V769.P.UseItemOn +instance Control.DeepSeq.NFData M.V769.P.UseItemOn__ +instance Control.DeepSeq.NFData M.V769.P.UseItem__ +instance Control.DeepSeq.NFData M.V769.P.WorldEvent +instance GHC.Classes.Ord M.V769.P.AcknowledgeBlockChange +instance GHC.Classes.Ord M.V769.P.AcknowledgeBlockChange__ +instance GHC.Classes.Ord M.V769.P.AcknowledgeConfiguration +instance GHC.Classes.Ord M.V769.P.AcknowledgeMessage +instance GHC.Classes.Ord M.V769.P.AddResourcePack +instance GHC.Classes.Ord M.V769.P.AwardStatistics +instance GHC.Classes.Ord M.V769.P.AwardStatistics_Entry +instance GHC.Classes.Ord M.V769.P.AwardStatistics_Entry__ +instance GHC.Classes.Ord M.V769.P.BlockAction +instance GHC.Classes.Ord M.V769.P.BlockAction__ +instance GHC.Classes.Ord M.V769.P.BlockEntityData +instance GHC.Classes.Ord M.V769.P.BlockEntityData__ +instance GHC.Classes.Ord M.V769.P.BlockUpdate +instance GHC.Classes.Ord M.V769.P.BlockUpdate__ +instance GHC.Classes.Ord M.V769.P.BossBar +instance GHC.Classes.Ord M.V769.P.BundleDelimiter +instance GHC.Classes.Ord M.V769.P.BundleItemSelected +instance GHC.Classes.Ord M.V769.P.BundleItemSelected__ +instance GHC.Classes.Ord M.V769.P.ChangeContainerSlotState +instance GHC.Classes.Ord M.V769.P.ChangeDifficulty +instance GHC.Classes.Ord M.V769.P.ChangeRecipeBookSettings +instance GHC.Classes.Ord M.V769.P.ChangeRecipeBookSettings__ +instance GHC.Classes.Ord M.V769.P.ChatMessage +instance GHC.Classes.Ord M.V769.P.ChatSuggestions +instance GHC.Classes.Ord M.V769.P.ChatSuggestions__ +instance GHC.Classes.Ord M.V769.P.ChunkBatchFinished +instance GHC.Classes.Ord M.V769.P.ChunkBatchFinished__ +instance GHC.Classes.Ord M.V769.P.ChunkBatchReceived +instance GHC.Classes.Ord M.V769.P.ChunkBatchStarted +instance GHC.Classes.Ord M.V769.P.ChunkBiomes +instance GHC.Classes.Ord M.V769.P.ChunkDataAndUpdateLight +instance GHC.Classes.Ord M.V769.P.ClearTitles +instance GHC.Classes.Ord M.V769.P.ClickContainer +instance GHC.Classes.Ord M.V769.P.ClickContainerButton +instance GHC.Classes.Ord M.V769.P.ClickContainer__ +instance GHC.Classes.Ord M.V769.P.ClientInformationPlay +instance GHC.Classes.Ord M.V769.P.ClientInformationPlay__ +instance GHC.Classes.Ord M.V769.P.ClientStatus +instance GHC.Classes.Ord M.V769.P.ClientStatus__ +instance GHC.Classes.Ord M.V769.P.ClientTickEnd +instance GHC.Classes.Ord M.V769.P.ClientboundPlayerAbilities +instance GHC.Classes.Ord M.V769.P.CloseContainer +instance GHC.Classes.Ord M.V769.P.CloseContainerServerbound +instance GHC.Classes.Ord M.V769.P.CloseContainer__ +instance GHC.Classes.Ord M.V769.P.CombatDeath +instance GHC.Classes.Ord M.V769.P.CombatDeath__ +instance GHC.Classes.Ord M.V769.P.CommandMatch +instance GHC.Classes.Ord M.V769.P.CommandSuggestionsRequest +instance GHC.Classes.Ord M.V769.P.CommandSuggestionsRequest__ +instance GHC.Classes.Ord M.V769.P.CommandSuggestionsResponse +instance GHC.Classes.Ord M.V769.P.CommandSuggestionsResponse__ +instance GHC.Classes.Ord M.V769.P.Commands +instance GHC.Classes.Ord M.V769.P.Commands__ +instance GHC.Classes.Ord M.V769.P.ConfirmTeleportation +instance GHC.Classes.Ord M.V769.P.ConfirmTeleportation__ +instance GHC.Classes.Ord M.V769.P.CookieRequest +instance GHC.Classes.Ord M.V769.P.CookieResponsePlay +instance GHC.Classes.Ord M.V769.P.DamageEvent +instance GHC.Classes.Ord M.V769.P.DamageEvent__ +instance GHC.Classes.Ord M.V769.P.DebugSample +instance GHC.Classes.Ord M.V769.P.DebugSampleSubscription +instance GHC.Classes.Ord M.V769.P.DebugSampleSubscription__ +instance GHC.Classes.Ord M.V769.P.DebugSample__ +instance GHC.Classes.Ord M.V769.P.DeleteMessage +instance GHC.Classes.Ord M.V769.P.Disconnect +instance GHC.Classes.Ord M.V769.P.DisguisedChatMessage +instance GHC.Classes.Ord M.V769.P.DisguisedChatMessage__ +instance GHC.Classes.Ord M.V769.P.DisplayObjective +instance GHC.Classes.Ord M.V769.P.EditBook +instance GHC.Classes.Ord M.V769.P.EditBook__ +instance GHC.Classes.Ord M.V769.P.EndCombat +instance GHC.Classes.Ord M.V769.P.EndCombat__ +instance GHC.Classes.Ord M.V769.P.EnterCombat +instance GHC.Classes.Ord M.V769.P.EntityAnimation +instance GHC.Classes.Ord M.V769.P.EntityAnimation__ +instance GHC.Classes.Ord M.V769.P.EntityEvent +instance GHC.Classes.Ord M.V769.P.EntityEvent__ +instance GHC.Classes.Ord M.V769.P.EntitySoundEffect +instance GHC.Classes.Ord M.V769.P.EntitySoundEffect__ +instance GHC.Classes.Ord M.V769.P.Explosion +instance GHC.Classes.Ord M.V769.P.GameEvent +instance GHC.Classes.Ord M.V769.P.GameEvent__ +instance GHC.Classes.Ord M.V769.P.HurtAnimation +instance GHC.Classes.Ord M.V769.P.HurtAnimation__ +instance GHC.Classes.Ord M.V769.P.InitializeWorldBorder +instance GHC.Classes.Ord M.V769.P.InitializeWorldBorder__ +instance GHC.Classes.Ord M.V769.P.Interact +instance GHC.Classes.Ord M.V769.P.Interact__ +instance GHC.Classes.Ord M.V769.P.JigsawGenerate +instance GHC.Classes.Ord M.V769.P.JigsawGenerate__ +instance GHC.Classes.Ord M.V769.P.LinkEntities +instance GHC.Classes.Ord M.V769.P.LinkEntities__ +instance GHC.Classes.Ord M.V769.P.LockDifficulty +instance GHC.Classes.Ord M.V769.P.Login +instance GHC.Classes.Ord M.V769.P.Login__ +instance GHC.Classes.Ord M.V769.P.LookAt +instance GHC.Classes.Ord M.V769.P.LookAt__ +instance GHC.Classes.Ord M.V769.P.MapData +instance GHC.Classes.Ord M.V769.P.MapData__ +instance GHC.Classes.Ord M.V769.P.MerchantOffers +instance GHC.Classes.Ord M.V769.P.MerchantOffers__ +instance GHC.Classes.Ord M.V769.P.MoveMinecartAlongTrack +instance GHC.Classes.Ord M.V769.P.MoveMinecartAlongTrack__ +instance GHC.Classes.Ord M.V769.P.MoveVehicle +instance GHC.Classes.Ord M.V769.P.MoveVehicleServerbound +instance GHC.Classes.Ord M.V769.P.OpenBook +instance GHC.Classes.Ord M.V769.P.OpenBook__ +instance GHC.Classes.Ord M.V769.P.OpenHorseScreen +instance GHC.Classes.Ord M.V769.P.OpenHorseScreen__ +instance GHC.Classes.Ord M.V769.P.OpenScreen +instance GHC.Classes.Ord M.V769.P.OpenScreen__ +instance GHC.Classes.Ord M.V769.P.OpenSignEditor +instance GHC.Classes.Ord M.V769.P.PaddleBoat +instance GHC.Classes.Ord M.V769.P.ParticleEffect +instance GHC.Classes.Ord M.V769.P.ParticleEffect__ +instance GHC.Classes.Ord M.V769.P.PickItemFromBlock +instance GHC.Classes.Ord M.V769.P.PickItemFromEntity +instance GHC.Classes.Ord M.V769.P.PickItemFromEntity__ +instance GHC.Classes.Ord M.V769.P.PingRequestPlay +instance GHC.Classes.Ord M.V769.P.PlaceGhostRecipe +instance GHC.Classes.Ord M.V769.P.PlaceRecipe +instance GHC.Classes.Ord M.V769.P.PlayPing +instance GHC.Classes.Ord M.V769.P.PlayPingResponse +instance GHC.Classes.Ord M.V769.P.PlayerAction +instance GHC.Classes.Ord M.V769.P.PlayerAction__ +instance GHC.Classes.Ord M.V769.P.PlayerChatMessage +instance GHC.Classes.Ord M.V769.P.PlayerCommand +instance GHC.Classes.Ord M.V769.P.PlayerCommand__ +instance GHC.Classes.Ord M.V769.P.PlayerInfoRemove +instance GHC.Classes.Ord M.V769.P.PlayerInfoUpdate +instance GHC.Classes.Ord M.V769.P.PlayerInfoUpdate__ +instance GHC.Classes.Ord M.V769.P.PlayerInput +instance GHC.Classes.Ord M.V769.P.PlayerLoaded +instance GHC.Classes.Ord M.V769.P.PlayerRotation +instance GHC.Classes.Ord M.V769.P.PlayerSession +instance GHC.Classes.Ord M.V769.P.PongPlay +instance GHC.Classes.Ord M.V769.P.ProgramCommandBlock +instance GHC.Classes.Ord M.V769.P.ProgramCommandBlockMinecart +instance GHC.Classes.Ord M.V769.P.ProgramCommandBlockMinecart__ +instance GHC.Classes.Ord M.V769.P.ProgramCommandBlock__ +instance GHC.Classes.Ord M.V769.P.ProgramJigsawBlock +instance GHC.Classes.Ord M.V769.P.ProgramStructureBlock +instance GHC.Classes.Ord M.V769.P.ProgramStructureBlock__ +instance GHC.Classes.Ord M.V769.P.QueryBlockEntityTag +instance GHC.Classes.Ord M.V769.P.QueryBlockEntityTag__ +instance GHC.Classes.Ord M.V769.P.QueryEntityTag +instance GHC.Classes.Ord M.V769.P.QueryEntityTag__ +instance GHC.Classes.Ord M.V769.P.RecipeBookAdd +instance GHC.Classes.Ord M.V769.P.RecipeBookRemove +instance GHC.Classes.Ord M.V769.P.RecipeBookSettings +instance GHC.Classes.Ord M.V769.P.RecipeBookSettings__ +instance GHC.Classes.Ord M.V769.P.RemoveEntities +instance GHC.Classes.Ord M.V769.P.RemoveEntities__ +instance GHC.Classes.Ord M.V769.P.RemoveEntityEffect +instance GHC.Classes.Ord M.V769.P.RemoveEntityEffect__ +instance GHC.Classes.Ord M.V769.P.RemoveResourcePack +instance GHC.Classes.Ord M.V769.P.RenameItem +instance GHC.Classes.Ord M.V769.P.ResetScore +instance GHC.Classes.Ord M.V769.P.ResourcePackResponsePlay +instance GHC.Classes.Ord M.V769.P.ResourcePackResponsePlay__ +instance GHC.Classes.Ord M.V769.P.Respawn +instance GHC.Classes.Ord M.V769.P.SeenAdvancements +instance GHC.Classes.Ord M.V769.P.SeenAdvancements__ +instance GHC.Classes.Ord M.V769.P.SelectAdvancementsTab +instance GHC.Classes.Ord M.V769.P.SelectTrade +instance GHC.Classes.Ord M.V769.P.SelectTrade__ +instance GHC.Classes.Ord M.V769.P.ServerData +instance GHC.Classes.Ord M.V769.P.ServerboundChangeDifficulty +instance GHC.Classes.Ord M.V769.P.ServerboundChatCommand +instance GHC.Classes.Ord M.V769.P.ServerboundPlayerAbilities +instance GHC.Classes.Ord M.V769.P.SetActionBarText +instance GHC.Classes.Ord M.V769.P.SetBeaconEffect +instance GHC.Classes.Ord M.V769.P.SetBeaconEffect__ +instance GHC.Classes.Ord M.V769.P.SetBlockDestroyStage +instance GHC.Classes.Ord M.V769.P.SetBlockDestroyStage__ +instance GHC.Classes.Ord M.V769.P.SetBorderCenter +instance GHC.Classes.Ord M.V769.P.SetBorderLerpSize +instance GHC.Classes.Ord M.V769.P.SetBorderLerpSize__ +instance GHC.Classes.Ord M.V769.P.SetBorderSize +instance GHC.Classes.Ord M.V769.P.SetBorderWarningDelay +instance GHC.Classes.Ord M.V769.P.SetBorderWarningDelay__ +instance GHC.Classes.Ord M.V769.P.SetBorderWarningDistance +instance GHC.Classes.Ord M.V769.P.SetBorderWarningDistance__ +instance GHC.Classes.Ord M.V769.P.SetCamera +instance GHC.Classes.Ord M.V769.P.SetCamera__ +instance GHC.Classes.Ord M.V769.P.SetCenterChunk +instance GHC.Classes.Ord M.V769.P.SetCenterChunk__ +instance GHC.Classes.Ord M.V769.P.SetContainerContent +instance GHC.Classes.Ord M.V769.P.SetContainerContent__ +instance GHC.Classes.Ord M.V769.P.SetContainerProperty +instance GHC.Classes.Ord M.V769.P.SetContainerProperty__ +instance GHC.Classes.Ord M.V769.P.SetContainerSlot +instance GHC.Classes.Ord M.V769.P.SetContainerSlot__ +instance GHC.Classes.Ord M.V769.P.SetCooldown +instance GHC.Classes.Ord M.V769.P.SetCooldown__ +instance GHC.Classes.Ord M.V769.P.SetCreativeModeSlot +instance GHC.Classes.Ord M.V769.P.SetCursorItem +instance GHC.Classes.Ord M.V769.P.SetDefaultSpawnPosition +instance GHC.Classes.Ord M.V769.P.SetEntityMetadata +instance GHC.Classes.Ord M.V769.P.SetEntityMetadata__ +instance GHC.Classes.Ord M.V769.P.SetEntityVelocity +instance GHC.Classes.Ord M.V769.P.SetEntityVelocity__ +instance GHC.Classes.Ord M.V769.P.SetEquipment +instance GHC.Classes.Ord M.V769.P.SetEquipment__ +instance GHC.Classes.Ord M.V769.P.SetExperience +instance GHC.Classes.Ord M.V769.P.SetExperience__ +instance GHC.Classes.Ord M.V769.P.SetHeadRotation +instance GHC.Classes.Ord M.V769.P.SetHeadRotation__ +instance GHC.Classes.Ord M.V769.P.SetHealth +instance GHC.Classes.Ord M.V769.P.SetHealth__ +instance GHC.Classes.Ord M.V769.P.SetHeldItem +instance GHC.Classes.Ord M.V769.P.SetHeldItemServerbound +instance GHC.Classes.Ord M.V769.P.SetPassengers +instance GHC.Classes.Ord M.V769.P.SetPassengers__ +instance GHC.Classes.Ord M.V769.P.SetPlayerInventorySlot +instance GHC.Classes.Ord M.V769.P.SetPlayerMovementFlags +instance GHC.Classes.Ord M.V769.P.SetPlayerPosition +instance GHC.Classes.Ord M.V769.P.SetPlayerPositionAndRotation +instance GHC.Classes.Ord M.V769.P.SetPlayerPositionAndRotation__ +instance GHC.Classes.Ord M.V769.P.SetPlayerPosition__ +instance GHC.Classes.Ord M.V769.P.SetPlayerRotation +instance GHC.Classes.Ord M.V769.P.SetRenderDistance +instance GHC.Classes.Ord M.V769.P.SetRenderDistance__ +instance GHC.Classes.Ord M.V769.P.SetSeenRecipe +instance GHC.Classes.Ord M.V769.P.SetSimulationDistance +instance GHC.Classes.Ord M.V769.P.SetSimulationDistance__ +instance GHC.Classes.Ord M.V769.P.SetSubtitleText +instance GHC.Classes.Ord M.V769.P.SetTabListHeaderAndFooter +instance GHC.Classes.Ord M.V769.P.SetTitleAnimationTimes +instance GHC.Classes.Ord M.V769.P.SetTitleText +instance GHC.Classes.Ord M.V769.P.SignedChatCommand +instance GHC.Classes.Ord M.V769.P.SoundEffect +instance GHC.Classes.Ord M.V769.P.SoundEffect__ +instance GHC.Classes.Ord M.V769.P.SpawnEntity +instance GHC.Classes.Ord M.V769.P.SpawnEntity__ +instance GHC.Classes.Ord M.V769.P.SpawnExperienceOrb +instance GHC.Classes.Ord M.V769.P.SpawnExperienceOrb__ +instance GHC.Classes.Ord M.V769.P.StartConfiguration +instance GHC.Classes.Ord M.V769.P.StopSound +instance GHC.Classes.Ord M.V769.P.StopSound__ +instance GHC.Classes.Ord M.V769.P.StoreCookie +instance GHC.Classes.Ord M.V769.P.SwingArm +instance GHC.Classes.Ord M.V769.P.SwingArm__ +instance GHC.Classes.Ord M.V769.P.SynchronizePlayerPosition +instance GHC.Classes.Ord M.V769.P.SynchronizePlayerPosition__ +instance GHC.Classes.Ord M.V769.P.TeleportEntity +instance GHC.Classes.Ord M.V769.P.TeleportEntity__ +instance GHC.Classes.Ord M.V769.P.TeleportToEntity +instance GHC.Classes.Ord M.V769.P.TeleportToEntity__ +instance GHC.Classes.Ord M.V769.P.UnloadChunk +instance GHC.Classes.Ord M.V769.P.UpdateEntityPosition +instance GHC.Classes.Ord M.V769.P.UpdateEntityPositionAndRotation +instance GHC.Classes.Ord M.V769.P.UpdateEntityPositionAndRotation__ +instance GHC.Classes.Ord M.V769.P.UpdateEntityPosition__ +instance GHC.Classes.Ord M.V769.P.UpdateEntityRotation +instance GHC.Classes.Ord M.V769.P.UpdateEntityRotation__ +instance GHC.Classes.Ord M.V769.P.UpdateLight +instance GHC.Classes.Ord M.V769.P.UpdateLight__ +instance GHC.Classes.Ord M.V769.P.UpdateObjectives +instance GHC.Classes.Ord M.V769.P.UpdateObjectives__ +instance GHC.Classes.Ord M.V769.P.UpdateScore +instance GHC.Classes.Ord M.V769.P.UpdateScore__ +instance GHC.Classes.Ord M.V769.P.UpdateSectionBlocks +instance GHC.Classes.Ord M.V769.P.UpdateSectionBlocks__ +instance GHC.Classes.Ord M.V769.P.UpdateSign +instance GHC.Classes.Ord M.V769.P.UpdateTeams +instance GHC.Classes.Ord M.V769.P.UpdateTeams__ +instance GHC.Classes.Ord M.V769.P.UpdateTime +instance GHC.Classes.Ord M.V769.P.UseItem +instance GHC.Classes.Ord M.V769.P.UseItemOn +instance GHC.Classes.Ord M.V769.P.UseItemOn__ +instance GHC.Classes.Ord M.V769.P.UseItem__ +instance GHC.Classes.Ord M.V769.P.WorldEvent +instance M.Pack.Internal.Types.Pack M.V769.P.AcknowledgeBlockChange +instance M.Pack.Internal.Types.Pack M.V769.P.AcknowledgeBlockChange__ +instance M.Pack.Internal.Types.Pack M.V769.P.AcknowledgeConfiguration +instance M.Pack.Internal.Types.Pack M.V769.P.AcknowledgeMessage +instance M.Pack.Internal.Types.Pack M.V769.P.AddResourcePack +instance M.Pack.Internal.Types.Pack M.V769.P.AwardStatistics +instance M.Pack.Internal.Types.Pack M.V769.P.AwardStatistics_Entry +instance M.Pack.Internal.Types.Pack M.V769.P.AwardStatistics_Entry__ +instance M.Pack.Internal.Types.Pack M.V769.P.BlockAction +instance M.Pack.Internal.Types.Pack M.V769.P.BlockAction__ +instance M.Pack.Internal.Types.Pack M.V769.P.BlockEntityData +instance M.Pack.Internal.Types.Pack M.V769.P.BlockEntityData__ +instance M.Pack.Internal.Types.Pack M.V769.P.BlockUpdate +instance M.Pack.Internal.Types.Pack M.V769.P.BlockUpdate__ +instance M.Pack.Internal.Types.Pack M.V769.P.BossBar +instance M.Pack.Internal.Types.Pack M.V769.P.BundleDelimiter +instance M.Pack.Internal.Types.Pack M.V769.P.BundleItemSelected +instance M.Pack.Internal.Types.Pack M.V769.P.BundleItemSelected__ +instance M.Pack.Internal.Types.Pack M.V769.P.ChangeContainerSlotState +instance M.Pack.Internal.Types.Pack M.V769.P.ChangeDifficulty +instance M.Pack.Internal.Types.Pack M.V769.P.ChangeRecipeBookSettings +instance M.Pack.Internal.Types.Pack M.V769.P.ChangeRecipeBookSettings__ +instance M.Pack.Internal.Types.Pack M.V769.P.ChatMessage +instance M.Pack.Internal.Types.Pack M.V769.P.ChatSuggestions +instance M.Pack.Internal.Types.Pack M.V769.P.ChatSuggestions__ +instance M.Pack.Internal.Types.Pack M.V769.P.ChunkBatchFinished +instance M.Pack.Internal.Types.Pack M.V769.P.ChunkBatchFinished__ +instance M.Pack.Internal.Types.Pack M.V769.P.ChunkBatchReceived +instance M.Pack.Internal.Types.Pack M.V769.P.ChunkBatchStarted +instance M.Pack.Internal.Types.Pack M.V769.P.ChunkBiomes +instance M.Pack.Internal.Types.Pack M.V769.P.ChunkDataAndUpdateLight +instance M.Pack.Internal.Types.Pack M.V769.P.ClearTitles +instance M.Pack.Internal.Types.Pack M.V769.P.ClickContainer +instance M.Pack.Internal.Types.Pack M.V769.P.ClickContainerButton +instance M.Pack.Internal.Types.Pack M.V769.P.ClickContainer__ +instance M.Pack.Internal.Types.Pack M.V769.P.ClientInformationPlay +instance M.Pack.Internal.Types.Pack M.V769.P.ClientInformationPlay__ +instance M.Pack.Internal.Types.Pack M.V769.P.ClientStatus +instance M.Pack.Internal.Types.Pack M.V769.P.ClientStatus__ +instance M.Pack.Internal.Types.Pack M.V769.P.ClientTickEnd +instance M.Pack.Internal.Types.Pack M.V769.P.ClientboundPlayerAbilities +instance M.Pack.Internal.Types.Pack M.V769.P.CloseContainer +instance M.Pack.Internal.Types.Pack M.V769.P.CloseContainerServerbound +instance M.Pack.Internal.Types.Pack M.V769.P.CloseContainer__ +instance M.Pack.Internal.Types.Pack M.V769.P.CombatDeath +instance M.Pack.Internal.Types.Pack M.V769.P.CombatDeath__ +instance M.Pack.Internal.Types.Pack M.V769.P.CommandMatch +instance M.Pack.Internal.Types.Pack M.V769.P.CommandSuggestionsRequest +instance M.Pack.Internal.Types.Pack M.V769.P.CommandSuggestionsRequest__ +instance M.Pack.Internal.Types.Pack M.V769.P.CommandSuggestionsResponse +instance M.Pack.Internal.Types.Pack M.V769.P.CommandSuggestionsResponse__ +instance M.Pack.Internal.Types.Pack M.V769.P.Commands +instance M.Pack.Internal.Types.Pack M.V769.P.Commands__ +instance M.Pack.Internal.Types.Pack M.V769.P.ConfirmTeleportation +instance M.Pack.Internal.Types.Pack M.V769.P.ConfirmTeleportation__ +instance M.Pack.Internal.Types.Pack M.V769.P.CookieRequest +instance M.Pack.Internal.Types.Pack M.V769.P.CookieResponsePlay +instance M.Pack.Internal.Types.Pack M.V769.P.DamageEvent +instance M.Pack.Internal.Types.Pack M.V769.P.DamageEvent__ +instance M.Pack.Internal.Types.Pack M.V769.P.DebugSample +instance M.Pack.Internal.Types.Pack M.V769.P.DebugSampleSubscription +instance M.Pack.Internal.Types.Pack M.V769.P.DebugSampleSubscription__ +instance M.Pack.Internal.Types.Pack M.V769.P.DebugSample__ +instance M.Pack.Internal.Types.Pack M.V769.P.DeleteMessage +instance M.Pack.Internal.Types.Pack M.V769.P.Disconnect +instance M.Pack.Internal.Types.Pack M.V769.P.DisguisedChatMessage +instance M.Pack.Internal.Types.Pack M.V769.P.DisguisedChatMessage__ +instance M.Pack.Internal.Types.Pack M.V769.P.DisplayObjective +instance M.Pack.Internal.Types.Pack M.V769.P.EditBook +instance M.Pack.Internal.Types.Pack M.V769.P.EditBook__ +instance M.Pack.Internal.Types.Pack M.V769.P.EndCombat +instance M.Pack.Internal.Types.Pack M.V769.P.EndCombat__ +instance M.Pack.Internal.Types.Pack M.V769.P.EnterCombat +instance M.Pack.Internal.Types.Pack M.V769.P.EntityAnimation +instance M.Pack.Internal.Types.Pack M.V769.P.EntityAnimation__ +instance M.Pack.Internal.Types.Pack M.V769.P.EntityEvent +instance M.Pack.Internal.Types.Pack M.V769.P.EntityEvent__ +instance M.Pack.Internal.Types.Pack M.V769.P.EntitySoundEffect +instance M.Pack.Internal.Types.Pack M.V769.P.EntitySoundEffect__ +instance M.Pack.Internal.Types.Pack M.V769.P.Explosion +instance M.Pack.Internal.Types.Pack M.V769.P.GameEvent +instance M.Pack.Internal.Types.Pack M.V769.P.GameEvent__ +instance M.Pack.Internal.Types.Pack M.V769.P.HurtAnimation +instance M.Pack.Internal.Types.Pack M.V769.P.HurtAnimation__ +instance M.Pack.Internal.Types.Pack M.V769.P.InitializeWorldBorder +instance M.Pack.Internal.Types.Pack M.V769.P.InitializeWorldBorder__ +instance M.Pack.Internal.Types.Pack M.V769.P.Interact +instance M.Pack.Internal.Types.Pack M.V769.P.Interact__ +instance M.Pack.Internal.Types.Pack M.V769.P.JigsawGenerate +instance M.Pack.Internal.Types.Pack M.V769.P.JigsawGenerate__ +instance M.Pack.Internal.Types.Pack M.V769.P.LinkEntities +instance M.Pack.Internal.Types.Pack M.V769.P.LinkEntities__ +instance M.Pack.Internal.Types.Pack M.V769.P.LockDifficulty +instance M.Pack.Internal.Types.Pack M.V769.P.Login +instance M.Pack.Internal.Types.Pack M.V769.P.Login__ +instance M.Pack.Internal.Types.Pack M.V769.P.LookAt +instance M.Pack.Internal.Types.Pack M.V769.P.LookAt__ +instance M.Pack.Internal.Types.Pack M.V769.P.MapData +instance M.Pack.Internal.Types.Pack M.V769.P.MapData__ +instance M.Pack.Internal.Types.Pack M.V769.P.MerchantOffers +instance M.Pack.Internal.Types.Pack M.V769.P.MerchantOffers__ +instance M.Pack.Internal.Types.Pack M.V769.P.MoveMinecartAlongTrack +instance M.Pack.Internal.Types.Pack M.V769.P.MoveMinecartAlongTrack__ +instance M.Pack.Internal.Types.Pack M.V769.P.MoveVehicle +instance M.Pack.Internal.Types.Pack M.V769.P.MoveVehicleServerbound +instance M.Pack.Internal.Types.Pack M.V769.P.OpenBook +instance M.Pack.Internal.Types.Pack M.V769.P.OpenBook__ +instance M.Pack.Internal.Types.Pack M.V769.P.OpenHorseScreen +instance M.Pack.Internal.Types.Pack M.V769.P.OpenHorseScreen__ +instance M.Pack.Internal.Types.Pack M.V769.P.OpenScreen +instance M.Pack.Internal.Types.Pack M.V769.P.OpenScreen__ +instance M.Pack.Internal.Types.Pack M.V769.P.OpenSignEditor +instance M.Pack.Internal.Types.Pack M.V769.P.PaddleBoat +instance M.Pack.Internal.Types.Pack M.V769.P.ParticleEffect +instance M.Pack.Internal.Types.Pack M.V769.P.ParticleEffect__ +instance M.Pack.Internal.Types.Pack M.V769.P.PickItemFromBlock +instance M.Pack.Internal.Types.Pack M.V769.P.PickItemFromEntity +instance M.Pack.Internal.Types.Pack M.V769.P.PickItemFromEntity__ +instance M.Pack.Internal.Types.Pack M.V769.P.PingRequestPlay +instance M.Pack.Internal.Types.Pack M.V769.P.PlaceGhostRecipe +instance M.Pack.Internal.Types.Pack M.V769.P.PlaceRecipe +instance M.Pack.Internal.Types.Pack M.V769.P.PlayPing +instance M.Pack.Internal.Types.Pack M.V769.P.PlayPingResponse +instance M.Pack.Internal.Types.Pack M.V769.P.PlayerAction +instance M.Pack.Internal.Types.Pack M.V769.P.PlayerAction__ +instance M.Pack.Internal.Types.Pack M.V769.P.PlayerChatMessage +instance M.Pack.Internal.Types.Pack M.V769.P.PlayerCommand +instance M.Pack.Internal.Types.Pack M.V769.P.PlayerCommand__ +instance M.Pack.Internal.Types.Pack M.V769.P.PlayerInfoRemove +instance M.Pack.Internal.Types.Pack M.V769.P.PlayerInfoUpdate +instance M.Pack.Internal.Types.Pack M.V769.P.PlayerInfoUpdate__ +instance M.Pack.Internal.Types.Pack M.V769.P.PlayerInput +instance M.Pack.Internal.Types.Pack M.V769.P.PlayerLoaded +instance M.Pack.Internal.Types.Pack M.V769.P.PlayerRotation +instance M.Pack.Internal.Types.Pack M.V769.P.PlayerSession +instance M.Pack.Internal.Types.Pack M.V769.P.PongPlay +instance M.Pack.Internal.Types.Pack M.V769.P.ProgramCommandBlock +instance M.Pack.Internal.Types.Pack M.V769.P.ProgramCommandBlockMinecart +instance M.Pack.Internal.Types.Pack M.V769.P.ProgramCommandBlockMinecart__ +instance M.Pack.Internal.Types.Pack M.V769.P.ProgramCommandBlock__ +instance M.Pack.Internal.Types.Pack M.V769.P.ProgramJigsawBlock +instance M.Pack.Internal.Types.Pack M.V769.P.ProgramStructureBlock +instance M.Pack.Internal.Types.Pack M.V769.P.ProgramStructureBlock__ +instance M.Pack.Internal.Types.Pack M.V769.P.QueryBlockEntityTag +instance M.Pack.Internal.Types.Pack M.V769.P.QueryBlockEntityTag__ +instance M.Pack.Internal.Types.Pack M.V769.P.QueryEntityTag +instance M.Pack.Internal.Types.Pack M.V769.P.QueryEntityTag__ +instance M.Pack.Internal.Types.Pack M.V769.P.RecipeBookAdd +instance M.Pack.Internal.Types.Pack M.V769.P.RecipeBookRemove +instance M.Pack.Internal.Types.Pack M.V769.P.RecipeBookSettings +instance M.Pack.Internal.Types.Pack M.V769.P.RecipeBookSettings__ +instance M.Pack.Internal.Types.Pack M.V769.P.RemoveEntities +instance M.Pack.Internal.Types.Pack M.V769.P.RemoveEntities__ +instance M.Pack.Internal.Types.Pack M.V769.P.RemoveEntityEffect +instance M.Pack.Internal.Types.Pack M.V769.P.RemoveEntityEffect__ +instance M.Pack.Internal.Types.Pack M.V769.P.RemoveResourcePack +instance M.Pack.Internal.Types.Pack M.V769.P.RenameItem +instance M.Pack.Internal.Types.Pack M.V769.P.ResetScore +instance M.Pack.Internal.Types.Pack M.V769.P.ResourcePackResponsePlay +instance M.Pack.Internal.Types.Pack M.V769.P.ResourcePackResponsePlay__ +instance M.Pack.Internal.Types.Pack M.V769.P.Respawn +instance M.Pack.Internal.Types.Pack M.V769.P.SeenAdvancements +instance M.Pack.Internal.Types.Pack M.V769.P.SeenAdvancements__ +instance M.Pack.Internal.Types.Pack M.V769.P.SelectAdvancementsTab +instance M.Pack.Internal.Types.Pack M.V769.P.SelectTrade +instance M.Pack.Internal.Types.Pack M.V769.P.SelectTrade__ +instance M.Pack.Internal.Types.Pack M.V769.P.ServerData +instance M.Pack.Internal.Types.Pack M.V769.P.ServerboundChangeDifficulty +instance M.Pack.Internal.Types.Pack M.V769.P.ServerboundChatCommand +instance M.Pack.Internal.Types.Pack M.V769.P.ServerboundPlayerAbilities +instance M.Pack.Internal.Types.Pack M.V769.P.SetActionBarText +instance M.Pack.Internal.Types.Pack M.V769.P.SetBeaconEffect +instance M.Pack.Internal.Types.Pack M.V769.P.SetBeaconEffect__ +instance M.Pack.Internal.Types.Pack M.V769.P.SetBlockDestroyStage +instance M.Pack.Internal.Types.Pack M.V769.P.SetBlockDestroyStage__ +instance M.Pack.Internal.Types.Pack M.V769.P.SetBorderCenter +instance M.Pack.Internal.Types.Pack M.V769.P.SetBorderLerpSize +instance M.Pack.Internal.Types.Pack M.V769.P.SetBorderLerpSize__ +instance M.Pack.Internal.Types.Pack M.V769.P.SetBorderSize +instance M.Pack.Internal.Types.Pack M.V769.P.SetBorderWarningDelay +instance M.Pack.Internal.Types.Pack M.V769.P.SetBorderWarningDelay__ +instance M.Pack.Internal.Types.Pack M.V769.P.SetBorderWarningDistance +instance M.Pack.Internal.Types.Pack M.V769.P.SetBorderWarningDistance__ +instance M.Pack.Internal.Types.Pack M.V769.P.SetCamera +instance M.Pack.Internal.Types.Pack M.V769.P.SetCamera__ +instance M.Pack.Internal.Types.Pack M.V769.P.SetCenterChunk +instance M.Pack.Internal.Types.Pack M.V769.P.SetCenterChunk__ +instance M.Pack.Internal.Types.Pack M.V769.P.SetContainerContent +instance M.Pack.Internal.Types.Pack M.V769.P.SetContainerContent__ +instance M.Pack.Internal.Types.Pack M.V769.P.SetContainerProperty +instance M.Pack.Internal.Types.Pack M.V769.P.SetContainerProperty__ +instance M.Pack.Internal.Types.Pack M.V769.P.SetContainerSlot +instance M.Pack.Internal.Types.Pack M.V769.P.SetContainerSlot__ +instance M.Pack.Internal.Types.Pack M.V769.P.SetCooldown +instance M.Pack.Internal.Types.Pack M.V769.P.SetCooldown__ +instance M.Pack.Internal.Types.Pack M.V769.P.SetCreativeModeSlot +instance M.Pack.Internal.Types.Pack M.V769.P.SetCursorItem +instance M.Pack.Internal.Types.Pack M.V769.P.SetDefaultSpawnPosition +instance M.Pack.Internal.Types.Pack M.V769.P.SetEntityMetadata +instance M.Pack.Internal.Types.Pack M.V769.P.SetEntityMetadata__ +instance M.Pack.Internal.Types.Pack M.V769.P.SetEntityVelocity +instance M.Pack.Internal.Types.Pack M.V769.P.SetEntityVelocity__ +instance M.Pack.Internal.Types.Pack M.V769.P.SetEquipment +instance M.Pack.Internal.Types.Pack M.V769.P.SetEquipment__ +instance M.Pack.Internal.Types.Pack M.V769.P.SetExperience +instance M.Pack.Internal.Types.Pack M.V769.P.SetExperience__ +instance M.Pack.Internal.Types.Pack M.V769.P.SetHeadRotation +instance M.Pack.Internal.Types.Pack M.V769.P.SetHeadRotation__ +instance M.Pack.Internal.Types.Pack M.V769.P.SetHealth +instance M.Pack.Internal.Types.Pack M.V769.P.SetHealth__ +instance M.Pack.Internal.Types.Pack M.V769.P.SetHeldItem +instance M.Pack.Internal.Types.Pack M.V769.P.SetHeldItemServerbound +instance M.Pack.Internal.Types.Pack M.V769.P.SetPassengers +instance M.Pack.Internal.Types.Pack M.V769.P.SetPassengers__ +instance M.Pack.Internal.Types.Pack M.V769.P.SetPlayerInventorySlot +instance M.Pack.Internal.Types.Pack M.V769.P.SetPlayerMovementFlags +instance M.Pack.Internal.Types.Pack M.V769.P.SetPlayerPosition +instance M.Pack.Internal.Types.Pack M.V769.P.SetPlayerPositionAndRotation +instance M.Pack.Internal.Types.Pack M.V769.P.SetPlayerPositionAndRotation__ +instance M.Pack.Internal.Types.Pack M.V769.P.SetPlayerPosition__ +instance M.Pack.Internal.Types.Pack M.V769.P.SetPlayerRotation +instance M.Pack.Internal.Types.Pack M.V769.P.SetRenderDistance +instance M.Pack.Internal.Types.Pack M.V769.P.SetRenderDistance__ +instance M.Pack.Internal.Types.Pack M.V769.P.SetSeenRecipe +instance M.Pack.Internal.Types.Pack M.V769.P.SetSimulationDistance +instance M.Pack.Internal.Types.Pack M.V769.P.SetSimulationDistance__ +instance M.Pack.Internal.Types.Pack M.V769.P.SetSubtitleText +instance M.Pack.Internal.Types.Pack M.V769.P.SetTabListHeaderAndFooter +instance M.Pack.Internal.Types.Pack M.V769.P.SetTitleAnimationTimes +instance M.Pack.Internal.Types.Pack M.V769.P.SetTitleText +instance M.Pack.Internal.Types.Pack M.V769.P.SignedChatCommand +instance M.Pack.Internal.Types.Pack M.V769.P.SoundEffect +instance M.Pack.Internal.Types.Pack M.V769.P.SoundEffect__ +instance M.Pack.Internal.Types.Pack M.V769.P.SpawnEntity +instance M.Pack.Internal.Types.Pack M.V769.P.SpawnEntity__ +instance M.Pack.Internal.Types.Pack M.V769.P.SpawnExperienceOrb +instance M.Pack.Internal.Types.Pack M.V769.P.SpawnExperienceOrb__ +instance M.Pack.Internal.Types.Pack M.V769.P.StartConfiguration +instance M.Pack.Internal.Types.Pack M.V769.P.StopSound +instance M.Pack.Internal.Types.Pack M.V769.P.StopSound__ +instance M.Pack.Internal.Types.Pack M.V769.P.StoreCookie +instance M.Pack.Internal.Types.Pack M.V769.P.SwingArm +instance M.Pack.Internal.Types.Pack M.V769.P.SwingArm__ +instance M.Pack.Internal.Types.Pack M.V769.P.SynchronizePlayerPosition +instance M.Pack.Internal.Types.Pack M.V769.P.SynchronizePlayerPosition__ +instance M.Pack.Internal.Types.Pack M.V769.P.TeleportEntity +instance M.Pack.Internal.Types.Pack M.V769.P.TeleportEntity__ +instance M.Pack.Internal.Types.Pack M.V769.P.TeleportToEntity +instance M.Pack.Internal.Types.Pack M.V769.P.TeleportToEntity__ +instance M.Pack.Internal.Types.Pack M.V769.P.UnloadChunk +instance M.Pack.Internal.Types.Pack M.V769.P.UpdateEntityPosition +instance M.Pack.Internal.Types.Pack M.V769.P.UpdateEntityPositionAndRotation +instance M.Pack.Internal.Types.Pack M.V769.P.UpdateEntityPositionAndRotation__ +instance M.Pack.Internal.Types.Pack M.V769.P.UpdateEntityPosition__ +instance M.Pack.Internal.Types.Pack M.V769.P.UpdateEntityRotation +instance M.Pack.Internal.Types.Pack M.V769.P.UpdateEntityRotation__ +instance M.Pack.Internal.Types.Pack M.V769.P.UpdateLight +instance M.Pack.Internal.Types.Pack M.V769.P.UpdateLight__ +instance M.Pack.Internal.Types.Pack M.V769.P.UpdateObjectives +instance M.Pack.Internal.Types.Pack M.V769.P.UpdateObjectives__ +instance M.Pack.Internal.Types.Pack M.V769.P.UpdateScore +instance M.Pack.Internal.Types.Pack M.V769.P.UpdateScore__ +instance M.Pack.Internal.Types.Pack M.V769.P.UpdateSectionBlocks +instance M.Pack.Internal.Types.Pack M.V769.P.UpdateSectionBlocks__ +instance M.Pack.Internal.Types.Pack M.V769.P.UpdateSign +instance M.Pack.Internal.Types.Pack M.V769.P.UpdateTeams +instance M.Pack.Internal.Types.Pack M.V769.P.UpdateTeams__ +instance M.Pack.Internal.Types.Pack M.V769.P.UpdateTime +instance M.Pack.Internal.Types.Pack M.V769.P.UseItem +instance M.Pack.Internal.Types.Pack M.V769.P.UseItemOn +instance M.Pack.Internal.Types.Pack M.V769.P.UseItemOn__ +instance M.Pack.Internal.Types.Pack M.V769.P.UseItem__ +instance M.Pack.Internal.Types.Pack M.V769.P.WorldEvent +instance GHC.Read.Read M.V769.P.AcknowledgeBlockChange +instance GHC.Read.Read M.V769.P.AcknowledgeConfiguration +instance GHC.Read.Read M.V769.P.AcknowledgeMessage +instance GHC.Read.Read M.V769.P.AddResourcePack +instance GHC.Read.Read M.V769.P.AwardStatistics +instance GHC.Read.Read M.V769.P.AwardStatistics_Entry +instance GHC.Read.Read M.V769.P.BlockAction +instance GHC.Read.Read M.V769.P.BlockEntityData +instance GHC.Read.Read M.V769.P.BlockUpdate +instance GHC.Read.Read M.V769.P.BossBar +instance GHC.Read.Read M.V769.P.BundleDelimiter +instance GHC.Read.Read M.V769.P.BundleItemSelected +instance GHC.Read.Read M.V769.P.ChangeContainerSlotState +instance GHC.Read.Read M.V769.P.ChangeDifficulty +instance GHC.Read.Read M.V769.P.ChangeRecipeBookSettings +instance GHC.Read.Read M.V769.P.ChatMessage +instance GHC.Read.Read M.V769.P.ChatSuggestions +instance GHC.Read.Read M.V769.P.ChunkBatchFinished +instance GHC.Read.Read M.V769.P.ChunkBatchReceived +instance GHC.Read.Read M.V769.P.ChunkBatchStarted +instance GHC.Read.Read M.V769.P.ChunkBiomes +instance GHC.Read.Read M.V769.P.ChunkDataAndUpdateLight +instance GHC.Read.Read M.V769.P.ClearTitles +instance GHC.Read.Read M.V769.P.ClickContainer +instance GHC.Read.Read M.V769.P.ClickContainerButton +instance GHC.Read.Read M.V769.P.ClientInformationPlay +instance GHC.Read.Read M.V769.P.ClientStatus +instance GHC.Read.Read M.V769.P.ClientTickEnd +instance GHC.Read.Read M.V769.P.ClientboundPlayerAbilities +instance GHC.Read.Read M.V769.P.CloseContainer +instance GHC.Read.Read M.V769.P.CloseContainerServerbound +instance GHC.Read.Read M.V769.P.CombatDeath +instance GHC.Read.Read M.V769.P.CommandMatch +instance GHC.Read.Read M.V769.P.CommandSuggestionsRequest +instance GHC.Read.Read M.V769.P.CommandSuggestionsResponse +instance GHC.Read.Read M.V769.P.Commands +instance GHC.Read.Read M.V769.P.ConfirmTeleportation +instance GHC.Read.Read M.V769.P.CookieRequest +instance GHC.Read.Read M.V769.P.CookieResponsePlay +instance GHC.Read.Read M.V769.P.DamageEvent +instance GHC.Read.Read M.V769.P.DebugSample +instance GHC.Read.Read M.V769.P.DebugSampleSubscription +instance GHC.Read.Read M.V769.P.DeleteMessage +instance GHC.Read.Read M.V769.P.Disconnect +instance GHC.Read.Read M.V769.P.DisguisedChatMessage +instance GHC.Read.Read M.V769.P.DisplayObjective +instance GHC.Read.Read M.V769.P.EditBook +instance GHC.Read.Read M.V769.P.EndCombat +instance GHC.Read.Read M.V769.P.EnterCombat +instance GHC.Read.Read M.V769.P.EntityAnimation +instance GHC.Read.Read M.V769.P.EntityEvent +instance GHC.Read.Read M.V769.P.EntitySoundEffect +instance GHC.Read.Read M.V769.P.Explosion +instance GHC.Read.Read M.V769.P.GameEvent +instance GHC.Read.Read M.V769.P.HurtAnimation +instance GHC.Read.Read M.V769.P.InitializeWorldBorder +instance GHC.Read.Read M.V769.P.Interact +instance GHC.Read.Read M.V769.P.JigsawGenerate +instance GHC.Read.Read M.V769.P.LinkEntities +instance GHC.Read.Read M.V769.P.LockDifficulty +instance GHC.Read.Read M.V769.P.Login +instance GHC.Read.Read M.V769.P.LookAt +instance GHC.Read.Read M.V769.P.MapData +instance GHC.Read.Read M.V769.P.MerchantOffers +instance GHC.Read.Read M.V769.P.MoveMinecartAlongTrack +instance GHC.Read.Read M.V769.P.MoveVehicle +instance GHC.Read.Read M.V769.P.MoveVehicleServerbound +instance GHC.Read.Read M.V769.P.OpenBook +instance GHC.Read.Read M.V769.P.OpenHorseScreen +instance GHC.Read.Read M.V769.P.OpenScreen +instance GHC.Read.Read M.V769.P.OpenSignEditor +instance GHC.Read.Read M.V769.P.PaddleBoat +instance GHC.Read.Read M.V769.P.ParticleEffect +instance GHC.Read.Read M.V769.P.PickItemFromBlock +instance GHC.Read.Read M.V769.P.PickItemFromEntity +instance GHC.Read.Read M.V769.P.PingRequestPlay +instance GHC.Read.Read M.V769.P.PlaceGhostRecipe +instance GHC.Read.Read M.V769.P.PlaceRecipe +instance GHC.Read.Read M.V769.P.PlayPing +instance GHC.Read.Read M.V769.P.PlayPingResponse +instance GHC.Read.Read M.V769.P.PlayerAction +instance GHC.Read.Read M.V769.P.PlayerChatMessage +instance GHC.Read.Read M.V769.P.PlayerCommand +instance GHC.Read.Read M.V769.P.PlayerInfoRemove +instance GHC.Read.Read M.V769.P.PlayerInfoUpdate +instance GHC.Read.Read M.V769.P.PlayerInput +instance GHC.Read.Read M.V769.P.PlayerLoaded +instance GHC.Read.Read M.V769.P.PlayerRotation +instance GHC.Read.Read M.V769.P.PlayerSession +instance GHC.Read.Read M.V769.P.PongPlay +instance GHC.Read.Read M.V769.P.ProgramCommandBlock +instance GHC.Read.Read M.V769.P.ProgramCommandBlockMinecart +instance GHC.Read.Read M.V769.P.ProgramJigsawBlock +instance GHC.Read.Read M.V769.P.ProgramStructureBlock +instance GHC.Read.Read M.V769.P.QueryBlockEntityTag +instance GHC.Read.Read M.V769.P.QueryEntityTag +instance GHC.Read.Read M.V769.P.RecipeBookAdd +instance GHC.Read.Read M.V769.P.RecipeBookRemove +instance GHC.Read.Read M.V769.P.RecipeBookSettings +instance GHC.Read.Read M.V769.P.RemoveEntities +instance GHC.Read.Read M.V769.P.RemoveEntityEffect +instance GHC.Read.Read M.V769.P.RemoveResourcePack +instance GHC.Read.Read M.V769.P.RenameItem +instance GHC.Read.Read M.V769.P.ResetScore +instance GHC.Read.Read M.V769.P.ResourcePackResponsePlay +instance GHC.Read.Read M.V769.P.Respawn +instance GHC.Read.Read M.V769.P.SeenAdvancements +instance GHC.Read.Read M.V769.P.SelectAdvancementsTab +instance GHC.Read.Read M.V769.P.SelectTrade +instance GHC.Read.Read M.V769.P.ServerData +instance GHC.Read.Read M.V769.P.ServerboundChangeDifficulty +instance GHC.Read.Read M.V769.P.ServerboundChatCommand +instance GHC.Read.Read M.V769.P.ServerboundPlayerAbilities +instance GHC.Read.Read M.V769.P.SetActionBarText +instance GHC.Read.Read M.V769.P.SetBeaconEffect +instance GHC.Read.Read M.V769.P.SetBlockDestroyStage +instance GHC.Read.Read M.V769.P.SetBorderCenter +instance GHC.Read.Read M.V769.P.SetBorderLerpSize +instance GHC.Read.Read M.V769.P.SetBorderSize +instance GHC.Read.Read M.V769.P.SetBorderWarningDelay +instance GHC.Read.Read M.V769.P.SetBorderWarningDistance +instance GHC.Read.Read M.V769.P.SetCamera +instance GHC.Read.Read M.V769.P.SetCenterChunk +instance GHC.Read.Read M.V769.P.SetContainerContent +instance GHC.Read.Read M.V769.P.SetContainerProperty +instance GHC.Read.Read M.V769.P.SetContainerSlot +instance GHC.Read.Read M.V769.P.SetCooldown +instance GHC.Read.Read M.V769.P.SetCreativeModeSlot +instance GHC.Read.Read M.V769.P.SetCursorItem +instance GHC.Read.Read M.V769.P.SetDefaultSpawnPosition +instance GHC.Read.Read M.V769.P.SetEntityMetadata +instance GHC.Read.Read M.V769.P.SetEntityVelocity +instance GHC.Read.Read M.V769.P.SetEquipment +instance GHC.Read.Read M.V769.P.SetExperience +instance GHC.Read.Read M.V769.P.SetHeadRotation +instance GHC.Read.Read M.V769.P.SetHealth +instance GHC.Read.Read M.V769.P.SetHeldItem +instance GHC.Read.Read M.V769.P.SetHeldItemServerbound +instance GHC.Read.Read M.V769.P.SetPassengers +instance GHC.Read.Read M.V769.P.SetPlayerInventorySlot +instance GHC.Read.Read M.V769.P.SetPlayerMovementFlags +instance GHC.Read.Read M.V769.P.SetPlayerPosition +instance GHC.Read.Read M.V769.P.SetPlayerPositionAndRotation +instance GHC.Read.Read M.V769.P.SetPlayerRotation +instance GHC.Read.Read M.V769.P.SetRenderDistance +instance GHC.Read.Read M.V769.P.SetSeenRecipe +instance GHC.Read.Read M.V769.P.SetSimulationDistance +instance GHC.Read.Read M.V769.P.SetSubtitleText +instance GHC.Read.Read M.V769.P.SetTabListHeaderAndFooter +instance GHC.Read.Read M.V769.P.SetTitleAnimationTimes +instance GHC.Read.Read M.V769.P.SetTitleText +instance GHC.Read.Read M.V769.P.SignedChatCommand +instance GHC.Read.Read M.V769.P.SoundEffect +instance GHC.Read.Read M.V769.P.SpawnEntity +instance GHC.Read.Read M.V769.P.SpawnExperienceOrb +instance GHC.Read.Read M.V769.P.StartConfiguration +instance GHC.Read.Read M.V769.P.StopSound +instance GHC.Read.Read M.V769.P.StoreCookie +instance GHC.Read.Read M.V769.P.SwingArm +instance GHC.Read.Read M.V769.P.SynchronizePlayerPosition +instance GHC.Read.Read M.V769.P.TeleportEntity +instance GHC.Read.Read M.V769.P.TeleportToEntity +instance GHC.Read.Read M.V769.P.UnloadChunk +instance GHC.Read.Read M.V769.P.UpdateEntityPosition +instance GHC.Read.Read M.V769.P.UpdateEntityPositionAndRotation +instance GHC.Read.Read M.V769.P.UpdateEntityRotation +instance GHC.Read.Read M.V769.P.UpdateLight +instance GHC.Read.Read M.V769.P.UpdateObjectives +instance GHC.Read.Read M.V769.P.UpdateScore +instance GHC.Read.Read M.V769.P.UpdateSectionBlocks +instance GHC.Read.Read M.V769.P.UpdateSign +instance GHC.Read.Read M.V769.P.UpdateTeams +instance GHC.Read.Read M.V769.P.UpdateTime +instance GHC.Read.Read M.V769.P.UseItem +instance GHC.Read.Read M.V769.P.UseItemOn +instance GHC.Read.Read M.V769.P.WorldEvent +instance GHC.Show.Show M.V769.P.AcknowledgeBlockChange +instance GHC.Show.Show M.V769.P.AcknowledgeConfiguration +instance GHC.Show.Show M.V769.P.AcknowledgeMessage +instance GHC.Show.Show M.V769.P.AddResourcePack +instance GHC.Show.Show M.V769.P.AwardStatistics +instance GHC.Show.Show M.V769.P.AwardStatistics_Entry +instance GHC.Show.Show M.V769.P.BlockAction +instance GHC.Show.Show M.V769.P.BlockEntityData +instance GHC.Show.Show M.V769.P.BlockUpdate +instance GHC.Show.Show M.V769.P.BossBar +instance GHC.Show.Show M.V769.P.BundleDelimiter +instance GHC.Show.Show M.V769.P.BundleItemSelected +instance GHC.Show.Show M.V769.P.ChangeContainerSlotState +instance GHC.Show.Show M.V769.P.ChangeDifficulty +instance GHC.Show.Show M.V769.P.ChangeRecipeBookSettings +instance GHC.Show.Show M.V769.P.ChatMessage +instance GHC.Show.Show M.V769.P.ChatSuggestions +instance GHC.Show.Show M.V769.P.ChunkBatchFinished +instance GHC.Show.Show M.V769.P.ChunkBatchReceived +instance GHC.Show.Show M.V769.P.ChunkBatchStarted +instance GHC.Show.Show M.V769.P.ChunkBiomes +instance GHC.Show.Show M.V769.P.ChunkDataAndUpdateLight +instance GHC.Show.Show M.V769.P.ClearTitles +instance GHC.Show.Show M.V769.P.ClickContainer +instance GHC.Show.Show M.V769.P.ClickContainerButton +instance GHC.Show.Show M.V769.P.ClientInformationPlay +instance GHC.Show.Show M.V769.P.ClientStatus +instance GHC.Show.Show M.V769.P.ClientTickEnd +instance GHC.Show.Show M.V769.P.ClientboundPlayerAbilities +instance GHC.Show.Show M.V769.P.CloseContainer +instance GHC.Show.Show M.V769.P.CloseContainerServerbound +instance GHC.Show.Show M.V769.P.CombatDeath +instance GHC.Show.Show M.V769.P.CommandMatch +instance GHC.Show.Show M.V769.P.CommandSuggestionsRequest +instance GHC.Show.Show M.V769.P.CommandSuggestionsResponse +instance GHC.Show.Show M.V769.P.Commands +instance GHC.Show.Show M.V769.P.ConfirmTeleportation +instance GHC.Show.Show M.V769.P.CookieRequest +instance GHC.Show.Show M.V769.P.CookieResponsePlay +instance GHC.Show.Show M.V769.P.DamageEvent +instance GHC.Show.Show M.V769.P.DebugSample +instance GHC.Show.Show M.V769.P.DebugSampleSubscription +instance GHC.Show.Show M.V769.P.DeleteMessage +instance GHC.Show.Show M.V769.P.Disconnect +instance GHC.Show.Show M.V769.P.DisguisedChatMessage +instance GHC.Show.Show M.V769.P.DisplayObjective +instance GHC.Show.Show M.V769.P.EditBook +instance GHC.Show.Show M.V769.P.EndCombat +instance GHC.Show.Show M.V769.P.EnterCombat +instance GHC.Show.Show M.V769.P.EntityAnimation +instance GHC.Show.Show M.V769.P.EntityEvent +instance GHC.Show.Show M.V769.P.EntitySoundEffect +instance GHC.Show.Show M.V769.P.Explosion +instance GHC.Show.Show M.V769.P.GameEvent +instance GHC.Show.Show M.V769.P.HurtAnimation +instance GHC.Show.Show M.V769.P.InitializeWorldBorder +instance GHC.Show.Show M.V769.P.Interact +instance GHC.Show.Show M.V769.P.JigsawGenerate +instance GHC.Show.Show M.V769.P.LinkEntities +instance GHC.Show.Show M.V769.P.LockDifficulty +instance GHC.Show.Show M.V769.P.Login +instance GHC.Show.Show M.V769.P.LookAt +instance GHC.Show.Show M.V769.P.MapData +instance GHC.Show.Show M.V769.P.MerchantOffers +instance GHC.Show.Show M.V769.P.MoveMinecartAlongTrack +instance GHC.Show.Show M.V769.P.MoveVehicle +instance GHC.Show.Show M.V769.P.MoveVehicleServerbound +instance GHC.Show.Show M.V769.P.OpenBook +instance GHC.Show.Show M.V769.P.OpenHorseScreen +instance GHC.Show.Show M.V769.P.OpenScreen +instance GHC.Show.Show M.V769.P.OpenSignEditor +instance GHC.Show.Show M.V769.P.PaddleBoat +instance GHC.Show.Show M.V769.P.ParticleEffect +instance GHC.Show.Show M.V769.P.PickItemFromBlock +instance GHC.Show.Show M.V769.P.PickItemFromEntity +instance GHC.Show.Show M.V769.P.PingRequestPlay +instance GHC.Show.Show M.V769.P.PlaceGhostRecipe +instance GHC.Show.Show M.V769.P.PlaceRecipe +instance GHC.Show.Show M.V769.P.PlayPing +instance GHC.Show.Show M.V769.P.PlayPingResponse +instance GHC.Show.Show M.V769.P.PlayerAction +instance GHC.Show.Show M.V769.P.PlayerChatMessage +instance GHC.Show.Show M.V769.P.PlayerCommand +instance GHC.Show.Show M.V769.P.PlayerInfoRemove +instance GHC.Show.Show M.V769.P.PlayerInfoUpdate +instance GHC.Show.Show M.V769.P.PlayerInput +instance GHC.Show.Show M.V769.P.PlayerLoaded +instance GHC.Show.Show M.V769.P.PlayerRotation +instance GHC.Show.Show M.V769.P.PlayerSession +instance GHC.Show.Show M.V769.P.PongPlay +instance GHC.Show.Show M.V769.P.ProgramCommandBlock +instance GHC.Show.Show M.V769.P.ProgramCommandBlockMinecart +instance GHC.Show.Show M.V769.P.ProgramJigsawBlock +instance GHC.Show.Show M.V769.P.ProgramStructureBlock +instance GHC.Show.Show M.V769.P.QueryBlockEntityTag +instance GHC.Show.Show M.V769.P.QueryEntityTag +instance GHC.Show.Show M.V769.P.RecipeBookAdd +instance GHC.Show.Show M.V769.P.RecipeBookRemove +instance GHC.Show.Show M.V769.P.RecipeBookSettings +instance GHC.Show.Show M.V769.P.RemoveEntities +instance GHC.Show.Show M.V769.P.RemoveEntityEffect +instance GHC.Show.Show M.V769.P.RemoveResourcePack +instance GHC.Show.Show M.V769.P.RenameItem +instance GHC.Show.Show M.V769.P.ResetScore +instance GHC.Show.Show M.V769.P.ResourcePackResponsePlay +instance GHC.Show.Show M.V769.P.Respawn +instance GHC.Show.Show M.V769.P.SeenAdvancements +instance GHC.Show.Show M.V769.P.SelectAdvancementsTab +instance GHC.Show.Show M.V769.P.SelectTrade +instance GHC.Show.Show M.V769.P.ServerData +instance GHC.Show.Show M.V769.P.ServerboundChangeDifficulty +instance GHC.Show.Show M.V769.P.ServerboundChatCommand +instance GHC.Show.Show M.V769.P.ServerboundPlayerAbilities +instance GHC.Show.Show M.V769.P.SetActionBarText +instance GHC.Show.Show M.V769.P.SetBeaconEffect +instance GHC.Show.Show M.V769.P.SetBlockDestroyStage +instance GHC.Show.Show M.V769.P.SetBorderCenter +instance GHC.Show.Show M.V769.P.SetBorderLerpSize +instance GHC.Show.Show M.V769.P.SetBorderSize +instance GHC.Show.Show M.V769.P.SetBorderWarningDelay +instance GHC.Show.Show M.V769.P.SetBorderWarningDistance +instance GHC.Show.Show M.V769.P.SetCamera +instance GHC.Show.Show M.V769.P.SetCenterChunk +instance GHC.Show.Show M.V769.P.SetContainerContent +instance GHC.Show.Show M.V769.P.SetContainerProperty +instance GHC.Show.Show M.V769.P.SetContainerSlot +instance GHC.Show.Show M.V769.P.SetCooldown +instance GHC.Show.Show M.V769.P.SetCreativeModeSlot +instance GHC.Show.Show M.V769.P.SetCursorItem +instance GHC.Show.Show M.V769.P.SetDefaultSpawnPosition +instance GHC.Show.Show M.V769.P.SetEntityMetadata +instance GHC.Show.Show M.V769.P.SetEntityVelocity +instance GHC.Show.Show M.V769.P.SetEquipment +instance GHC.Show.Show M.V769.P.SetExperience +instance GHC.Show.Show M.V769.P.SetHeadRotation +instance GHC.Show.Show M.V769.P.SetHealth +instance GHC.Show.Show M.V769.P.SetHeldItem +instance GHC.Show.Show M.V769.P.SetHeldItemServerbound +instance GHC.Show.Show M.V769.P.SetPassengers +instance GHC.Show.Show M.V769.P.SetPlayerInventorySlot +instance GHC.Show.Show M.V769.P.SetPlayerMovementFlags +instance GHC.Show.Show M.V769.P.SetPlayerPosition +instance GHC.Show.Show M.V769.P.SetPlayerPositionAndRotation +instance GHC.Show.Show M.V769.P.SetPlayerRotation +instance GHC.Show.Show M.V769.P.SetRenderDistance +instance GHC.Show.Show M.V769.P.SetSeenRecipe +instance GHC.Show.Show M.V769.P.SetSimulationDistance +instance GHC.Show.Show M.V769.P.SetSubtitleText +instance GHC.Show.Show M.V769.P.SetTabListHeaderAndFooter +instance GHC.Show.Show M.V769.P.SetTitleAnimationTimes +instance GHC.Show.Show M.V769.P.SetTitleText +instance GHC.Show.Show M.V769.P.SignedChatCommand +instance GHC.Show.Show M.V769.P.SoundEffect +instance GHC.Show.Show M.V769.P.SpawnEntity +instance GHC.Show.Show M.V769.P.SpawnExperienceOrb +instance GHC.Show.Show M.V769.P.StartConfiguration +instance GHC.Show.Show M.V769.P.StopSound +instance GHC.Show.Show M.V769.P.StoreCookie +instance GHC.Show.Show M.V769.P.SwingArm +instance GHC.Show.Show M.V769.P.SynchronizePlayerPosition +instance GHC.Show.Show M.V769.P.TeleportEntity +instance GHC.Show.Show M.V769.P.TeleportToEntity +instance GHC.Show.Show M.V769.P.UnloadChunk +instance GHC.Show.Show M.V769.P.UpdateEntityPosition +instance GHC.Show.Show M.V769.P.UpdateEntityPositionAndRotation +instance GHC.Show.Show M.V769.P.UpdateEntityRotation +instance GHC.Show.Show M.V769.P.UpdateLight +instance GHC.Show.Show M.V769.P.UpdateObjectives +instance GHC.Show.Show M.V769.P.UpdateScore +instance GHC.Show.Show M.V769.P.UpdateSectionBlocks +instance GHC.Show.Show M.V769.P.UpdateSign +instance GHC.Show.Show M.V769.P.UpdateTeams +instance GHC.Show.Show M.V769.P.UpdateTime +instance GHC.Show.Show M.V769.P.UseItem +instance GHC.Show.Show M.V769.P.UseItemOn +instance GHC.Show.Show M.V769.P.WorldEvent +instance M.Pack.Internal.Types.Unpack M.V769.P.AcknowledgeBlockChange +instance M.Pack.Internal.Types.Unpack M.V769.P.AcknowledgeBlockChange__ +instance M.Pack.Internal.Types.Unpack M.V769.P.AcknowledgeConfiguration +instance M.Pack.Internal.Types.Unpack M.V769.P.AcknowledgeMessage +instance M.Pack.Internal.Types.Unpack M.V769.P.AddResourcePack +instance M.Pack.Internal.Types.Unpack M.V769.P.AwardStatistics +instance M.Pack.Internal.Types.Unpack M.V769.P.AwardStatistics_Entry +instance M.Pack.Internal.Types.Unpack M.V769.P.AwardStatistics_Entry__ +instance M.Pack.Internal.Types.Unpack M.V769.P.BlockAction +instance M.Pack.Internal.Types.Unpack M.V769.P.BlockAction__ +instance M.Pack.Internal.Types.Unpack M.V769.P.BlockEntityData +instance M.Pack.Internal.Types.Unpack M.V769.P.BlockEntityData__ +instance M.Pack.Internal.Types.Unpack M.V769.P.BlockUpdate +instance M.Pack.Internal.Types.Unpack M.V769.P.BlockUpdate__ +instance M.Pack.Internal.Types.Unpack M.V769.P.BossBar +instance M.Pack.Internal.Types.Unpack M.V769.P.BundleDelimiter +instance M.Pack.Internal.Types.Unpack M.V769.P.BundleItemSelected +instance M.Pack.Internal.Types.Unpack M.V769.P.BundleItemSelected__ +instance M.Pack.Internal.Types.Unpack M.V769.P.ChangeContainerSlotState +instance M.Pack.Internal.Types.Unpack M.V769.P.ChangeDifficulty +instance M.Pack.Internal.Types.Unpack M.V769.P.ChangeRecipeBookSettings +instance M.Pack.Internal.Types.Unpack M.V769.P.ChangeRecipeBookSettings__ +instance M.Pack.Internal.Types.Unpack M.V769.P.ChatMessage +instance M.Pack.Internal.Types.Unpack M.V769.P.ChatSuggestions +instance M.Pack.Internal.Types.Unpack M.V769.P.ChatSuggestions__ +instance M.Pack.Internal.Types.Unpack M.V769.P.ChunkBatchFinished +instance M.Pack.Internal.Types.Unpack M.V769.P.ChunkBatchFinished__ +instance M.Pack.Internal.Types.Unpack M.V769.P.ChunkBatchReceived +instance M.Pack.Internal.Types.Unpack M.V769.P.ChunkBatchStarted +instance M.Pack.Internal.Types.Unpack M.V769.P.ChunkBiomes +instance M.Pack.Internal.Types.Unpack M.V769.P.ChunkDataAndUpdateLight +instance M.Pack.Internal.Types.Unpack M.V769.P.ClearTitles +instance M.Pack.Internal.Types.Unpack M.V769.P.ClickContainer +instance M.Pack.Internal.Types.Unpack M.V769.P.ClickContainerButton +instance M.Pack.Internal.Types.Unpack M.V769.P.ClickContainer__ +instance M.Pack.Internal.Types.Unpack M.V769.P.ClientInformationPlay +instance M.Pack.Internal.Types.Unpack M.V769.P.ClientInformationPlay__ +instance M.Pack.Internal.Types.Unpack M.V769.P.ClientStatus +instance M.Pack.Internal.Types.Unpack M.V769.P.ClientStatus__ +instance M.Pack.Internal.Types.Unpack M.V769.P.ClientTickEnd +instance M.Pack.Internal.Types.Unpack M.V769.P.ClientboundPlayerAbilities +instance M.Pack.Internal.Types.Unpack M.V769.P.CloseContainer +instance M.Pack.Internal.Types.Unpack M.V769.P.CloseContainerServerbound +instance M.Pack.Internal.Types.Unpack M.V769.P.CloseContainer__ +instance M.Pack.Internal.Types.Unpack M.V769.P.CombatDeath +instance M.Pack.Internal.Types.Unpack M.V769.P.CombatDeath__ +instance M.Pack.Internal.Types.Unpack M.V769.P.CommandMatch +instance M.Pack.Internal.Types.Unpack M.V769.P.CommandSuggestionsRequest +instance M.Pack.Internal.Types.Unpack M.V769.P.CommandSuggestionsRequest__ +instance M.Pack.Internal.Types.Unpack M.V769.P.CommandSuggestionsResponse +instance M.Pack.Internal.Types.Unpack M.V769.P.CommandSuggestionsResponse__ +instance M.Pack.Internal.Types.Unpack M.V769.P.Commands +instance M.Pack.Internal.Types.Unpack M.V769.P.Commands__ +instance M.Pack.Internal.Types.Unpack M.V769.P.ConfirmTeleportation +instance M.Pack.Internal.Types.Unpack M.V769.P.ConfirmTeleportation__ +instance M.Pack.Internal.Types.Unpack M.V769.P.CookieRequest +instance M.Pack.Internal.Types.Unpack M.V769.P.CookieResponsePlay +instance M.Pack.Internal.Types.Unpack M.V769.P.DamageEvent +instance M.Pack.Internal.Types.Unpack M.V769.P.DamageEvent__ +instance M.Pack.Internal.Types.Unpack M.V769.P.DebugSample +instance M.Pack.Internal.Types.Unpack M.V769.P.DebugSampleSubscription +instance M.Pack.Internal.Types.Unpack M.V769.P.DebugSampleSubscription__ +instance M.Pack.Internal.Types.Unpack M.V769.P.DebugSample__ +instance M.Pack.Internal.Types.Unpack M.V769.P.DeleteMessage +instance M.Pack.Internal.Types.Unpack M.V769.P.Disconnect +instance M.Pack.Internal.Types.Unpack M.V769.P.DisguisedChatMessage +instance M.Pack.Internal.Types.Unpack M.V769.P.DisguisedChatMessage__ +instance M.Pack.Internal.Types.Unpack M.V769.P.DisplayObjective +instance M.Pack.Internal.Types.Unpack M.V769.P.EditBook +instance M.Pack.Internal.Types.Unpack M.V769.P.EditBook__ +instance M.Pack.Internal.Types.Unpack M.V769.P.EndCombat +instance M.Pack.Internal.Types.Unpack M.V769.P.EndCombat__ +instance M.Pack.Internal.Types.Unpack M.V769.P.EnterCombat +instance M.Pack.Internal.Types.Unpack M.V769.P.EntityAnimation +instance M.Pack.Internal.Types.Unpack M.V769.P.EntityAnimation__ +instance M.Pack.Internal.Types.Unpack M.V769.P.EntityEvent +instance M.Pack.Internal.Types.Unpack M.V769.P.EntityEvent__ +instance M.Pack.Internal.Types.Unpack M.V769.P.EntitySoundEffect +instance M.Pack.Internal.Types.Unpack M.V769.P.EntitySoundEffect__ +instance M.Pack.Internal.Types.Unpack M.V769.P.Explosion +instance M.Pack.Internal.Types.Unpack M.V769.P.GameEvent +instance M.Pack.Internal.Types.Unpack M.V769.P.GameEvent__ +instance M.Pack.Internal.Types.Unpack M.V769.P.HurtAnimation +instance M.Pack.Internal.Types.Unpack M.V769.P.HurtAnimation__ +instance M.Pack.Internal.Types.Unpack M.V769.P.InitializeWorldBorder +instance M.Pack.Internal.Types.Unpack M.V769.P.InitializeWorldBorder__ +instance M.Pack.Internal.Types.Unpack M.V769.P.Interact +instance M.Pack.Internal.Types.Unpack M.V769.P.Interact__ +instance M.Pack.Internal.Types.Unpack M.V769.P.JigsawGenerate +instance M.Pack.Internal.Types.Unpack M.V769.P.JigsawGenerate__ +instance M.Pack.Internal.Types.Unpack M.V769.P.LinkEntities +instance M.Pack.Internal.Types.Unpack M.V769.P.LinkEntities__ +instance M.Pack.Internal.Types.Unpack M.V769.P.LockDifficulty +instance M.Pack.Internal.Types.Unpack M.V769.P.Login +instance M.Pack.Internal.Types.Unpack M.V769.P.Login__ +instance M.Pack.Internal.Types.Unpack M.V769.P.LookAt +instance M.Pack.Internal.Types.Unpack M.V769.P.LookAt__ +instance M.Pack.Internal.Types.Unpack M.V769.P.MapData +instance M.Pack.Internal.Types.Unpack M.V769.P.MapData__ +instance M.Pack.Internal.Types.Unpack M.V769.P.MerchantOffers +instance M.Pack.Internal.Types.Unpack M.V769.P.MerchantOffers__ +instance M.Pack.Internal.Types.Unpack M.V769.P.MoveMinecartAlongTrack +instance M.Pack.Internal.Types.Unpack M.V769.P.MoveMinecartAlongTrack__ +instance M.Pack.Internal.Types.Unpack M.V769.P.MoveVehicle +instance M.Pack.Internal.Types.Unpack M.V769.P.MoveVehicleServerbound +instance M.Pack.Internal.Types.Unpack M.V769.P.OpenBook +instance M.Pack.Internal.Types.Unpack M.V769.P.OpenBook__ +instance M.Pack.Internal.Types.Unpack M.V769.P.OpenHorseScreen +instance M.Pack.Internal.Types.Unpack M.V769.P.OpenHorseScreen__ +instance M.Pack.Internal.Types.Unpack M.V769.P.OpenScreen +instance M.Pack.Internal.Types.Unpack M.V769.P.OpenScreen__ +instance M.Pack.Internal.Types.Unpack M.V769.P.OpenSignEditor +instance M.Pack.Internal.Types.Unpack M.V769.P.PaddleBoat +instance M.Pack.Internal.Types.Unpack M.V769.P.ParticleEffect +instance M.Pack.Internal.Types.Unpack M.V769.P.ParticleEffect__ +instance M.Pack.Internal.Types.Unpack M.V769.P.PickItemFromBlock +instance M.Pack.Internal.Types.Unpack M.V769.P.PickItemFromEntity +instance M.Pack.Internal.Types.Unpack M.V769.P.PickItemFromEntity__ +instance M.Pack.Internal.Types.Unpack M.V769.P.PingRequestPlay +instance M.Pack.Internal.Types.Unpack M.V769.P.PlaceGhostRecipe +instance M.Pack.Internal.Types.Unpack M.V769.P.PlaceRecipe +instance M.Pack.Internal.Types.Unpack M.V769.P.PlayPing +instance M.Pack.Internal.Types.Unpack M.V769.P.PlayPingResponse +instance M.Pack.Internal.Types.Unpack M.V769.P.PlayerAction +instance M.Pack.Internal.Types.Unpack M.V769.P.PlayerAction__ +instance M.Pack.Internal.Types.Unpack M.V769.P.PlayerChatMessage +instance M.Pack.Internal.Types.Unpack M.V769.P.PlayerCommand +instance M.Pack.Internal.Types.Unpack M.V769.P.PlayerCommand__ +instance M.Pack.Internal.Types.Unpack M.V769.P.PlayerInfoRemove +instance M.Pack.Internal.Types.Unpack M.V769.P.PlayerInfoUpdate +instance M.Pack.Internal.Types.Unpack M.V769.P.PlayerInfoUpdate__ +instance M.Pack.Internal.Types.Unpack M.V769.P.PlayerInput +instance M.Pack.Internal.Types.Unpack M.V769.P.PlayerLoaded +instance M.Pack.Internal.Types.Unpack M.V769.P.PlayerRotation +instance M.Pack.Internal.Types.Unpack M.V769.P.PlayerSession +instance M.Pack.Internal.Types.Unpack M.V769.P.PongPlay +instance M.Pack.Internal.Types.Unpack M.V769.P.ProgramCommandBlock +instance M.Pack.Internal.Types.Unpack M.V769.P.ProgramCommandBlockMinecart +instance M.Pack.Internal.Types.Unpack M.V769.P.ProgramCommandBlockMinecart__ +instance M.Pack.Internal.Types.Unpack M.V769.P.ProgramCommandBlock__ +instance M.Pack.Internal.Types.Unpack M.V769.P.ProgramJigsawBlock +instance M.Pack.Internal.Types.Unpack M.V769.P.ProgramStructureBlock +instance M.Pack.Internal.Types.Unpack M.V769.P.ProgramStructureBlock__ +instance M.Pack.Internal.Types.Unpack M.V769.P.QueryBlockEntityTag +instance M.Pack.Internal.Types.Unpack M.V769.P.QueryBlockEntityTag__ +instance M.Pack.Internal.Types.Unpack M.V769.P.QueryEntityTag +instance M.Pack.Internal.Types.Unpack M.V769.P.QueryEntityTag__ +instance M.Pack.Internal.Types.Unpack M.V769.P.RecipeBookAdd +instance M.Pack.Internal.Types.Unpack M.V769.P.RecipeBookRemove +instance M.Pack.Internal.Types.Unpack M.V769.P.RecipeBookSettings +instance M.Pack.Internal.Types.Unpack M.V769.P.RecipeBookSettings__ +instance M.Pack.Internal.Types.Unpack M.V769.P.RemoveEntities +instance M.Pack.Internal.Types.Unpack M.V769.P.RemoveEntities__ +instance M.Pack.Internal.Types.Unpack M.V769.P.RemoveEntityEffect +instance M.Pack.Internal.Types.Unpack M.V769.P.RemoveEntityEffect__ +instance M.Pack.Internal.Types.Unpack M.V769.P.RemoveResourcePack +instance M.Pack.Internal.Types.Unpack M.V769.P.RenameItem +instance M.Pack.Internal.Types.Unpack M.V769.P.ResetScore +instance M.Pack.Internal.Types.Unpack M.V769.P.ResourcePackResponsePlay +instance M.Pack.Internal.Types.Unpack M.V769.P.ResourcePackResponsePlay__ +instance M.Pack.Internal.Types.Unpack M.V769.P.Respawn +instance M.Pack.Internal.Types.Unpack M.V769.P.SeenAdvancements +instance M.Pack.Internal.Types.Unpack M.V769.P.SeenAdvancements__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SelectAdvancementsTab +instance M.Pack.Internal.Types.Unpack M.V769.P.SelectTrade +instance M.Pack.Internal.Types.Unpack M.V769.P.SelectTrade__ +instance M.Pack.Internal.Types.Unpack M.V769.P.ServerData +instance M.Pack.Internal.Types.Unpack M.V769.P.ServerboundChangeDifficulty +instance M.Pack.Internal.Types.Unpack M.V769.P.ServerboundChatCommand +instance M.Pack.Internal.Types.Unpack M.V769.P.ServerboundPlayerAbilities +instance M.Pack.Internal.Types.Unpack M.V769.P.SetActionBarText +instance M.Pack.Internal.Types.Unpack M.V769.P.SetBeaconEffect +instance M.Pack.Internal.Types.Unpack M.V769.P.SetBeaconEffect__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SetBlockDestroyStage +instance M.Pack.Internal.Types.Unpack M.V769.P.SetBlockDestroyStage__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SetBorderCenter +instance M.Pack.Internal.Types.Unpack M.V769.P.SetBorderLerpSize +instance M.Pack.Internal.Types.Unpack M.V769.P.SetBorderLerpSize__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SetBorderSize +instance M.Pack.Internal.Types.Unpack M.V769.P.SetBorderWarningDelay +instance M.Pack.Internal.Types.Unpack M.V769.P.SetBorderWarningDelay__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SetBorderWarningDistance +instance M.Pack.Internal.Types.Unpack M.V769.P.SetBorderWarningDistance__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SetCamera +instance M.Pack.Internal.Types.Unpack M.V769.P.SetCamera__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SetCenterChunk +instance M.Pack.Internal.Types.Unpack M.V769.P.SetCenterChunk__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SetContainerContent +instance M.Pack.Internal.Types.Unpack M.V769.P.SetContainerContent__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SetContainerProperty +instance M.Pack.Internal.Types.Unpack M.V769.P.SetContainerProperty__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SetContainerSlot +instance M.Pack.Internal.Types.Unpack M.V769.P.SetContainerSlot__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SetCooldown +instance M.Pack.Internal.Types.Unpack M.V769.P.SetCooldown__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SetCreativeModeSlot +instance M.Pack.Internal.Types.Unpack M.V769.P.SetCursorItem +instance M.Pack.Internal.Types.Unpack M.V769.P.SetDefaultSpawnPosition +instance M.Pack.Internal.Types.Unpack M.V769.P.SetEntityMetadata +instance M.Pack.Internal.Types.Unpack M.V769.P.SetEntityMetadata__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SetEntityVelocity +instance M.Pack.Internal.Types.Unpack M.V769.P.SetEntityVelocity__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SetEquipment +instance M.Pack.Internal.Types.Unpack M.V769.P.SetEquipment__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SetExperience +instance M.Pack.Internal.Types.Unpack M.V769.P.SetExperience__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SetHeadRotation +instance M.Pack.Internal.Types.Unpack M.V769.P.SetHeadRotation__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SetHealth +instance M.Pack.Internal.Types.Unpack M.V769.P.SetHealth__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SetHeldItem +instance M.Pack.Internal.Types.Unpack M.V769.P.SetHeldItemServerbound +instance M.Pack.Internal.Types.Unpack M.V769.P.SetPassengers +instance M.Pack.Internal.Types.Unpack M.V769.P.SetPassengers__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SetPlayerInventorySlot +instance M.Pack.Internal.Types.Unpack M.V769.P.SetPlayerMovementFlags +instance M.Pack.Internal.Types.Unpack M.V769.P.SetPlayerPosition +instance M.Pack.Internal.Types.Unpack M.V769.P.SetPlayerPositionAndRotation +instance M.Pack.Internal.Types.Unpack M.V769.P.SetPlayerPositionAndRotation__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SetPlayerPosition__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SetPlayerRotation +instance M.Pack.Internal.Types.Unpack M.V769.P.SetRenderDistance +instance M.Pack.Internal.Types.Unpack M.V769.P.SetRenderDistance__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SetSeenRecipe +instance M.Pack.Internal.Types.Unpack M.V769.P.SetSimulationDistance +instance M.Pack.Internal.Types.Unpack M.V769.P.SetSimulationDistance__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SetSubtitleText +instance M.Pack.Internal.Types.Unpack M.V769.P.SetTabListHeaderAndFooter +instance M.Pack.Internal.Types.Unpack M.V769.P.SetTitleAnimationTimes +instance M.Pack.Internal.Types.Unpack M.V769.P.SetTitleText +instance M.Pack.Internal.Types.Unpack M.V769.P.SignedChatCommand +instance M.Pack.Internal.Types.Unpack M.V769.P.SoundEffect +instance M.Pack.Internal.Types.Unpack M.V769.P.SoundEffect__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SpawnEntity +instance M.Pack.Internal.Types.Unpack M.V769.P.SpawnEntity__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SpawnExperienceOrb +instance M.Pack.Internal.Types.Unpack M.V769.P.SpawnExperienceOrb__ +instance M.Pack.Internal.Types.Unpack M.V769.P.StartConfiguration +instance M.Pack.Internal.Types.Unpack M.V769.P.StopSound +instance M.Pack.Internal.Types.Unpack M.V769.P.StopSound__ +instance M.Pack.Internal.Types.Unpack M.V769.P.StoreCookie +instance M.Pack.Internal.Types.Unpack M.V769.P.SwingArm +instance M.Pack.Internal.Types.Unpack M.V769.P.SwingArm__ +instance M.Pack.Internal.Types.Unpack M.V769.P.SynchronizePlayerPosition +instance M.Pack.Internal.Types.Unpack M.V769.P.SynchronizePlayerPosition__ +instance M.Pack.Internal.Types.Unpack M.V769.P.TeleportEntity +instance M.Pack.Internal.Types.Unpack M.V769.P.TeleportEntity__ +instance M.Pack.Internal.Types.Unpack M.V769.P.TeleportToEntity +instance M.Pack.Internal.Types.Unpack M.V769.P.TeleportToEntity__ +instance M.Pack.Internal.Types.Unpack M.V769.P.UnloadChunk +instance M.Pack.Internal.Types.Unpack M.V769.P.UpdateEntityPosition +instance M.Pack.Internal.Types.Unpack M.V769.P.UpdateEntityPositionAndRotation +instance M.Pack.Internal.Types.Unpack M.V769.P.UpdateEntityPositionAndRotation__ +instance M.Pack.Internal.Types.Unpack M.V769.P.UpdateEntityPosition__ +instance M.Pack.Internal.Types.Unpack M.V769.P.UpdateEntityRotation +instance M.Pack.Internal.Types.Unpack M.V769.P.UpdateEntityRotation__ +instance M.Pack.Internal.Types.Unpack M.V769.P.UpdateLight +instance M.Pack.Internal.Types.Unpack M.V769.P.UpdateLight__ +instance M.Pack.Internal.Types.Unpack M.V769.P.UpdateObjectives +instance M.Pack.Internal.Types.Unpack M.V769.P.UpdateObjectives__ +instance M.Pack.Internal.Types.Unpack M.V769.P.UpdateScore +instance M.Pack.Internal.Types.Unpack M.V769.P.UpdateScore__ +instance M.Pack.Internal.Types.Unpack M.V769.P.UpdateSectionBlocks +instance M.Pack.Internal.Types.Unpack M.V769.P.UpdateSectionBlocks__ +instance M.Pack.Internal.Types.Unpack M.V769.P.UpdateSign +instance M.Pack.Internal.Types.Unpack M.V769.P.UpdateTeams +instance M.Pack.Internal.Types.Unpack M.V769.P.UpdateTeams__ +instance M.Pack.Internal.Types.Unpack M.V769.P.UpdateTime +instance M.Pack.Internal.Types.Unpack M.V769.P.UseItem +instance M.Pack.Internal.Types.Unpack M.V769.P.UseItemOn +instance M.Pack.Internal.Types.Unpack M.V769.P.UseItemOn__ +instance M.Pack.Internal.Types.Unpack M.V769.P.UseItem__ +instance M.Pack.Internal.Types.Unpack M.V769.P.WorldEvent + + +-- | Defines packet structures for the status state of protocol version +-- 769, handling server list ping functionality including server status +-- queries and latency checks. +module M.V769.S +data PongResponse +PongResponse :: Int64 -> PongResponse +[payload] :: PongResponse -> Int64 +data StatusRequest +StatusRequest :: StatusRequest +data StatusResponse +StatusResponse :: Text -> StatusResponse +[jsonresponse] :: StatusResponse -> Text +instance Data.Data.Data M.V769.S.PongResponse +instance Data.Data.Data M.V769.S.StatusRequest +instance Data.Data.Data M.V769.S.StatusResponse +instance GHC.Classes.Eq M.V769.S.PongResponse +instance GHC.Classes.Eq M.V769.S.StatusRequest +instance GHC.Classes.Eq M.V769.S.StatusResponse +instance GHC.Generics.Generic M.V769.S.PongResponse +instance GHC.Generics.Generic M.V769.S.StatusRequest +instance GHC.Generics.Generic M.V769.S.StatusResponse +instance Control.DeepSeq.NFData M.V769.S.PongResponse +instance Control.DeepSeq.NFData M.V769.S.StatusRequest +instance Control.DeepSeq.NFData M.V769.S.StatusResponse +instance GHC.Classes.Ord M.V769.S.PongResponse +instance GHC.Classes.Ord M.V769.S.StatusRequest +instance GHC.Classes.Ord M.V769.S.StatusResponse +instance M.Pack.Internal.Types.Pack M.V769.S.PongResponse +instance M.Pack.Internal.Types.Pack M.V769.S.StatusRequest +instance M.Pack.Internal.Types.Pack M.V769.S.StatusResponse +instance GHC.Read.Read M.V769.S.PongResponse +instance GHC.Read.Read M.V769.S.StatusRequest +instance GHC.Read.Read M.V769.S.StatusResponse +instance GHC.Show.Show M.V769.S.PongResponse +instance GHC.Show.Show M.V769.S.StatusRequest +instance GHC.Show.Show M.V769.S.StatusResponse +instance M.Pack.Internal.Types.Unpack M.V769.S.PongResponse +instance M.Pack.Internal.Types.Unpack M.V769.S.StatusRequest +instance M.Pack.Internal.Types.Unpack M.V769.S.StatusResponse + + +-- | Defines packet state registrations for protocol version 769 using +-- Template Haskell. This module maps packet types to their numeric codes +-- for different connection states: handshake, status, +-- login, configuration and play. +-- +--

States

+-- +--
    +--
  • Handshake - Initial connection handshake
  • +--
  • Status - Server status/ping
  • +--
  • Login - Authentication and encryption
  • +--
  • Configuration - Server/client capability exchange
  • +--
  • Play - Main game state
  • +--
+-- +-- Each state defines bidirectional packet mappings using the +-- states quasi-quoter. Packet definitions include receive +-- (client->server) and send (server->client) codes. +module M.V769.Reg +handshake :: ParserStates +status :: ParserStates +login :: ParserStates +configuration :: ParserStates +play :: ParserStates + +-- | Represents a pair of parser states - one for server-side parsing and +-- one for client-side. The states contain mappings between packet types, +-- codes and identifiers. +data ParserStates +ParserStates :: ParserState -> ParserState -> ParserStates +[forserver] :: ParserStates -> ParserState +[forclient] :: ParserStates -> ParserState diff --git a/quick-jump.css b/quick-jump.css new file mode 100644 index 0000000..cf10eee --- /dev/null +++ b/quick-jump.css @@ -0,0 +1,221 @@ +/* @group Fundamentals */ + +.hidden { + display: none; +} + +/* @end */ + +/* @group Search box layout */ + +#search { + position: fixed; + top: 3.2em; + bottom: 0; + left: calc(50% - 22em); + width: 44em; + z-index: 1000; + overflow-y: auto; +} + +@media only screen and (max-width: 999px) { + #search { + top: 5.7em; + } +} + +#search-form, #search-results { + box-shadow: 2px 2px 6px rgb(199, 204, 208); + pointer-events: all; +} + +#search-form input { + font-size: 1.25em; line-height: 2.3em; height: 2.4em; + display: block; + box-sizing: border-box; + width: 100%; + margin: 0; + padding: 0 0.75em; + border: 0.05em solid rgb(151, 179, 202); +} + +#search input:focus { + outline: none; +} + +#search p.error { + color: rgb(107, 24, 24); + font-weight: bold; +} + +#search-results { + box-sizing: border-box; + border: 0.05em solid #b2d5fb; + background: #e8f3ff; + max-height: 80%; + overflow: scroll; +} + +#search-form input + #search-results { + border-top: none; + top: 3em; + max-height: calc(100% - 3em); +} + +/* @end */ + +/* @group search results */ + +#search-results > ul { + margin: 0; + list-style: none; +} + +#search-results > ul > li, +#search-results > p, +#search-results > table { + padding: 0.5em 1em; + margin: 0; +} + +#search-results > ul > li { + border-bottom: 1px solid #b2d5fb; +} + +#search-results > ul > li > ul { + list-style: none; +} + +.search-module h4 { + margin: 0; +} + +.search-module > ul { + margin: 0.5em 0 0.5em 2em; +} + +.search-module > ul > li > a[href] { + display: block; + color: inherit; + padding: 0.25em 0.5em; +} + +.search-module > ul > li > a[href].active-link { + background: #faf9dc; +} + +.search-module a[href]:hover { + text-decoration: none; +} + +.search-result a a { + pointer-events: none; +} + +.search-result ul.subs { + display: inline-block; + margin: 0; padding: 0; +} + +.search-result ul.subs li { + display: none; +} + +.search-result ul.subs::after { + display: inline-block; + content: "..."; + color: rgb(78,98,114); + margin: 0 0.25em; +} + +.more-results { + color: rgb(99, 141, 173); + position: relative; +} + +.more-results::before { + content: "+"; + display: inline-block; + color: #b2d5fb; + font-weight: bold; + font-size: 1.25em; line-height: inherit; + position: absolute; + left: -1em; +} + +/* @end */ + +/* @group Keyboard shortcuts table */ + +.keyboard-shortcuts { + line-height: 1.6em; +} + +.keyboard-shortcuts th { + color: rgb(78,98,114); +} + +.keyboard-shortcuts td:first-child, +.keyboard-shortcuts th:first-child { + text-align: right; + padding-right: 0.6em; +} + +.key { + display: inline-block; + font-size: 0.9em; + min-width: 0.8em; line-height: 1.2em; + text-align: center; + background: #b2d5fb; + border: 1px solid #74a3d6; + padding: 0 0.2em; + margin: 0 0.1em; +} + +/* @end */ + +/* @group Dropdown menus */ + +/* Based on #search styling above. */ + +.dropdown-menu { + position: fixed; + /* Not robust to window size changes. */ + top: 3.2em; + right: 0; + /* To display on top of synopsis menu on right side. */ + z-index: 1000; + border: 0.05em solid #b2d5fb; + background: #e8f3ff; +} + +@media only screen and (max-width: 999px) { + .dropdown-menu { + top: 5.7em; + } +} + +.dropdown-menu * { + margin: 0.1em; +} + +.dropdown-menu button { + border: 1px #5E5184 solid; + border-radius: 3px; + background: #5E5184; + padding: 3px; + color: #f4f4f4; + min-width: 6em; +} + +.dropdown-menu button:hover { + color: #5E5184; + background: #f4f4f4; +} + +.dropdown-menu button:active { + color: #f4f4f4; + background: #5E5184; +} + +/* @end */ diff --git a/quick-jump.min.js b/quick-jump.min.js new file mode 100644 index 0000000..06c35c7 --- /dev/null +++ b/quick-jump.min.js @@ -0,0 +1,2 @@ +!function i(s,a,l){function c(t,e){if(!a[t]){if(!s[t]){var n="function"==typeof require&&require;if(!e&&n)return n(t,!0);if(u)return u(t,!0);var o=new Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}var r=a[t]={exports:{}};s[t][0].call(r.exports,function(e){return c(s[t][1][e]||e)},r,r.exports,i,s,a,l)}return a[t].exports}for(var u="function"==typeof require&&require,e=0;ewindow.innerHeight?this.searchResults.scrollTop+=e.bottom-window.innerHeight+80:e.topn)return u(e,this.pattern,o);var r=this.options,i=r.location,s=r.distance,a=r.threshold,l=r.findAllMatches,c=r.minMatchCharLength;return h(e,this.pattern,this.patternAlphabet,{location:i,distance:s,threshold:a,findAllMatches:l,minMatchCharLength:c})}}]),m}();e.exports=r},function(e,t,n){"use strict";var u=n(0);e.exports=function(e,t){return function e(t,n,o){if(n){var r=n.indexOf("."),i=n,s=null;-1!==r&&(i=n.slice(0,r),s=n.slice(r+1));var a=t[i];if(null!=a)if(s||"string"!=typeof a&&"number"!=typeof a)if(u(a))for(var l=0,c=a.length;l 0 and <= 1");d=d.name}else a[d]={weight:1};this._analyze({key:d,value:this.options.getFn(u,d),record:u,index:l},{resultMap:o,results:r,tokenSearchers:e,fullSearcher:t})}return{weights:a,results:r}}},{key:"_analyze",value:function(e,t){var n=e.key,o=e.arrayIndex,r=void 0===o?-1:o,i=e.value,s=e.record,a=e.index,l=t.tokenSearchers,c=void 0===l?[]:l,u=t.fullSearcher,h=void 0===u?[]:u,p=t.resultMap,d=void 0===p?{}:p,f=t.results,v=void 0===f?[]:f;if(null!=i){var g=!1,_=-1,m=0;if("string"==typeof i){this._log("\nKey: "+(""===n?"-":n));var y=h.search(i);if(this._log('Full text: "'+i+'", score: '+y.score),this.options.tokenize){for(var k=i.split(this.options.tokenSeparator),b=[],x=0;x=c.length;if(this._log("\nCheck Matches: "+O),(g||y.isMatch)&&O){var P=d[a];P?P.output.push({key:n,arrayIndex:r,value:i,score:T,matchedIndices:y.matchedIndices}):(d[a]={item:s,output:[{key:n,arrayIndex:r,value:i,score:T,matchedIndices:y.matchedIndices}]},v.push(d[a]))}}else if(U(i))for(var j=0,E=i.length;j
-- |
+-- Module: M.Chunk.Code
+-- Description: Encode and decode paletted containers.
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Encode and decode paletted containers for block states and biomes.
+module M.Chunk.Code
+  ( ChunkSection (..),
+    ChunkSectionEncoding (..),
+    mkcscodec,
+  )
+where
+
+import Control.Monad
+import Data.Bits
+import Data.ByteString.Builder
+import Data.Data
+import Data.Foldable
+import Data.Int
+import Data.IntMap.Strict qualified as M
+import Data.Vector.Unboxed qualified as V
+import Data.Word
+import FlatParse.Stateful qualified as F
+import GHC.Generics hiding (S)
+import M.Pack
+import Text.Printf
+import Prelude hiding (words)
+
+-- | a chunk section where @c@ is the numeric type for block states and
+-- @m@ is the same for biomes
+data ChunkSection c m = ChunkSection
+  { -- | number of non-air blocks (tracked for optimization)
+    forall c m. ChunkSection c m -> Int16
+csnonempty :: !Int16,
+    -- | block states (4,096 entries; 16x16x16, access @[y][z][x]@)
+    forall c m. ChunkSection c m -> Vector c
+csblockstates :: !(V.Vector c),
+    -- | biomes (64 entries; 4x4x4, access @[y][z][x]@)
+    forall c m. ChunkSection c m -> Vector m
+csbiomes :: !(V.Vector m)
+  }
+  deriving (ChunkSection c m -> ChunkSection c m -> Bool
+(ChunkSection c m -> ChunkSection c m -> Bool)
+-> (ChunkSection c m -> ChunkSection c m -> Bool)
+-> Eq (ChunkSection c m)
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+forall c m.
+(Unbox c, Unbox m, Eq c, Eq m) =>
+ChunkSection c m -> ChunkSection c m -> Bool
+$c== :: forall c m.
+(Unbox c, Unbox m, Eq c, Eq m) =>
+ChunkSection c m -> ChunkSection c m -> Bool
+== :: ChunkSection c m -> ChunkSection c m -> Bool
+$c/= :: forall c m.
+(Unbox c, Unbox m, Eq c, Eq m) =>
+ChunkSection c m -> ChunkSection c m -> Bool
+/= :: ChunkSection c m -> ChunkSection c m -> Bool
+Eq, Eq (ChunkSection c m)
+Eq (ChunkSection c m) =>
+(ChunkSection c m -> ChunkSection c m -> Ordering)
+-> (ChunkSection c m -> ChunkSection c m -> Bool)
+-> (ChunkSection c m -> ChunkSection c m -> Bool)
+-> (ChunkSection c m -> ChunkSection c m -> Bool)
+-> (ChunkSection c m -> ChunkSection c m -> Bool)
+-> (ChunkSection c m -> ChunkSection c m -> ChunkSection c m)
+-> (ChunkSection c m -> ChunkSection c m -> ChunkSection c m)
+-> Ord (ChunkSection c m)
+ChunkSection c m -> ChunkSection c m -> Bool
+ChunkSection c m -> ChunkSection c m -> Ordering
+ChunkSection c m -> ChunkSection c m -> ChunkSection c m
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+forall c m.
+(Unbox c, Unbox m, Ord c, Ord m) =>
+Eq (ChunkSection c m)
+forall c m.
+(Unbox c, Unbox m, Ord c, Ord m) =>
+ChunkSection c m -> ChunkSection c m -> Bool
+forall c m.
+(Unbox c, Unbox m, Ord c, Ord m) =>
+ChunkSection c m -> ChunkSection c m -> Ordering
+forall c m.
+(Unbox c, Unbox m, Ord c, Ord m) =>
+ChunkSection c m -> ChunkSection c m -> ChunkSection c m
+$ccompare :: forall c m.
+(Unbox c, Unbox m, Ord c, Ord m) =>
+ChunkSection c m -> ChunkSection c m -> Ordering
+compare :: ChunkSection c m -> ChunkSection c m -> Ordering
+$c< :: forall c m.
+(Unbox c, Unbox m, Ord c, Ord m) =>
+ChunkSection c m -> ChunkSection c m -> Bool
+< :: ChunkSection c m -> ChunkSection c m -> Bool
+$c<= :: forall c m.
+(Unbox c, Unbox m, Ord c, Ord m) =>
+ChunkSection c m -> ChunkSection c m -> Bool
+<= :: ChunkSection c m -> ChunkSection c m -> Bool
+$c> :: forall c m.
+(Unbox c, Unbox m, Ord c, Ord m) =>
+ChunkSection c m -> ChunkSection c m -> Bool
+> :: ChunkSection c m -> ChunkSection c m -> Bool
+$c>= :: forall c m.
+(Unbox c, Unbox m, Ord c, Ord m) =>
+ChunkSection c m -> ChunkSection c m -> Bool
+>= :: ChunkSection c m -> ChunkSection c m -> Bool
+$cmax :: forall c m.
+(Unbox c, Unbox m, Ord c, Ord m) =>
+ChunkSection c m -> ChunkSection c m -> ChunkSection c m
+max :: ChunkSection c m -> ChunkSection c m -> ChunkSection c m
+$cmin :: forall c m.
+(Unbox c, Unbox m, Ord c, Ord m) =>
+ChunkSection c m -> ChunkSection c m -> ChunkSection c m
+min :: ChunkSection c m -> ChunkSection c m -> ChunkSection c m
+Ord, (forall x. ChunkSection c m -> Rep (ChunkSection c m) x)
+-> (forall x. Rep (ChunkSection c m) x -> ChunkSection c m)
+-> Generic (ChunkSection c m)
+forall x. Rep (ChunkSection c m) x -> ChunkSection c m
+forall x. ChunkSection c m -> Rep (ChunkSection c m) x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+forall c m x. Rep (ChunkSection c m) x -> ChunkSection c m
+forall c m x. ChunkSection c m -> Rep (ChunkSection c m) x
+$cfrom :: forall c m x. ChunkSection c m -> Rep (ChunkSection c m) x
+from :: forall x. ChunkSection c m -> Rep (ChunkSection c m) x
+$cto :: forall c m x. Rep (ChunkSection c m) x -> ChunkSection c m
+to :: forall x. Rep (ChunkSection c m) x -> ChunkSection c m
+Generic, Typeable, Typeable (ChunkSection c m)
+Typeable (ChunkSection c m) =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g)
+ -> ChunkSection c m
+ -> c (ChunkSection c m))
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c (ChunkSection c m))
+-> (ChunkSection c m -> Constr)
+-> (ChunkSection c m -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c (ChunkSection c m)))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c (ChunkSection c m)))
+-> ((forall b. Data b => b -> b)
+    -> ChunkSection c m -> ChunkSection c m)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> ChunkSection c m -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> ChunkSection c m -> r)
+-> (forall u.
+    (forall d. Data d => d -> u) -> ChunkSection c m -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> ChunkSection c m -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d)
+    -> ChunkSection c m -> m (ChunkSection c m))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d)
+    -> ChunkSection c m -> m (ChunkSection c m))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d)
+    -> ChunkSection c m -> m (ChunkSection c m))
+-> Data (ChunkSection c m)
+ChunkSection c m -> Constr
+ChunkSection c m -> DataType
+(forall b. Data b => b -> b)
+-> ChunkSection c m -> ChunkSection c m
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u.
+Int -> (forall d. Data d => d -> u) -> ChunkSection c m -> u
+forall u. (forall d. Data d => d -> u) -> ChunkSection c m -> [u]
+forall c m.
+(Data c, Data m, Unbox c, Unbox m) =>
+Typeable (ChunkSection c m)
+forall c m.
+(Data c, Data m, Unbox c, Unbox m) =>
+ChunkSection c m -> Constr
+forall c m.
+(Data c, Data m, Unbox c, Unbox m) =>
+ChunkSection c m -> DataType
+forall c m.
+(Data c, Data m, Unbox c, Unbox m) =>
+(forall b. Data b => b -> b)
+-> ChunkSection c m -> ChunkSection c m
+forall c m u.
+(Data c, Data m, Unbox c, Unbox m) =>
+Int -> (forall d. Data d => d -> u) -> ChunkSection c m -> u
+forall c m u.
+(Data c, Data m, Unbox c, Unbox m) =>
+(forall d. Data d => d -> u) -> ChunkSection c m -> [u]
+forall c m r r'.
+(Data c, Data m, Unbox c, Unbox m) =>
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ChunkSection c m -> r
+forall c m r r'.
+(Data c, Data m, Unbox c, Unbox m) =>
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ChunkSection c m -> r
+forall c m (m :: * -> *).
+(Data c, Data m, Unbox c, Unbox m, Monad m) =>
+(forall d. Data d => d -> m d)
+-> ChunkSection c m -> m (ChunkSection c m)
+forall c m (m :: * -> *).
+(Data c, Data m, Unbox c, Unbox m, MonadPlus m) =>
+(forall d. Data d => d -> m d)
+-> ChunkSection c m -> m (ChunkSection c m)
+forall c m (c :: * -> *).
+(Data c, Data m, Unbox c, Unbox m) =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (ChunkSection c m)
+forall c m (c :: * -> *).
+(Data c, Data m, Unbox c, Unbox m) =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> ChunkSection c m -> c (ChunkSection c m)
+forall c m (t :: * -> *) (c :: * -> *).
+(Data c, Data m, Unbox c, Unbox m, Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (ChunkSection c m))
+forall c m (t :: * -> * -> *) (c :: * -> *).
+(Data c, Data m, Unbox c, Unbox m, Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (ChunkSection c m))
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ChunkSection c m -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ChunkSection c m -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d)
+-> ChunkSection c m -> m (ChunkSection c m)
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> ChunkSection c m -> m (ChunkSection c m)
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (ChunkSection c m)
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> ChunkSection c m -> c (ChunkSection c m)
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (ChunkSection c m))
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (ChunkSection c m))
+$cgfoldl :: forall c m (c :: * -> *).
+(Data c, Data m, Unbox c, Unbox m) =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> ChunkSection c m -> c (ChunkSection c m)
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> ChunkSection c m -> c (ChunkSection c m)
+$cgunfold :: forall c m (c :: * -> *).
+(Data c, Data m, Unbox c, Unbox m) =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (ChunkSection c m)
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (ChunkSection c m)
+$ctoConstr :: forall c m.
+(Data c, Data m, Unbox c, Unbox m) =>
+ChunkSection c m -> Constr
+toConstr :: ChunkSection c m -> Constr
+$cdataTypeOf :: forall c m.
+(Data c, Data m, Unbox c, Unbox m) =>
+ChunkSection c m -> DataType
+dataTypeOf :: ChunkSection c m -> DataType
+$cdataCast1 :: forall c m (t :: * -> *) (c :: * -> *).
+(Data c, Data m, Unbox c, Unbox m, Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (ChunkSection c m))
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (ChunkSection c m))
+$cdataCast2 :: forall c m (t :: * -> * -> *) (c :: * -> *).
+(Data c, Data m, Unbox c, Unbox m, Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (ChunkSection c m))
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (ChunkSection c m))
+$cgmapT :: forall c m.
+(Data c, Data m, Unbox c, Unbox m) =>
+(forall b. Data b => b -> b)
+-> ChunkSection c m -> ChunkSection c m
+gmapT :: (forall b. Data b => b -> b)
+-> ChunkSection c m -> ChunkSection c m
+$cgmapQl :: forall c m r r'.
+(Data c, Data m, Unbox c, Unbox m) =>
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ChunkSection c m -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ChunkSection c m -> r
+$cgmapQr :: forall c m r r'.
+(Data c, Data m, Unbox c, Unbox m) =>
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ChunkSection c m -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ChunkSection c m -> r
+$cgmapQ :: forall c m u.
+(Data c, Data m, Unbox c, Unbox m) =>
+(forall d. Data d => d -> u) -> ChunkSection c m -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> ChunkSection c m -> [u]
+$cgmapQi :: forall c m u.
+(Data c, Data m, Unbox c, Unbox m) =>
+Int -> (forall d. Data d => d -> u) -> ChunkSection c m -> u
+gmapQi :: forall u.
+Int -> (forall d. Data d => d -> u) -> ChunkSection c m -> u
+$cgmapM :: forall c m (m :: * -> *).
+(Data c, Data m, Unbox c, Unbox m, Monad m) =>
+(forall d. Data d => d -> m d)
+-> ChunkSection c m -> m (ChunkSection c m)
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d)
+-> ChunkSection c m -> m (ChunkSection c m)
+$cgmapMp :: forall c m (m :: * -> *).
+(Data c, Data m, Unbox c, Unbox m, MonadPlus m) =>
+(forall d. Data d => d -> m d)
+-> ChunkSection c m -> m (ChunkSection c m)
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> ChunkSection c m -> m (ChunkSection c m)
+$cgmapMo :: forall c m (m :: * -> *).
+(Data c, Data m, Unbox c, Unbox m, MonadPlus m) =>
+(forall d. Data d => d -> m d)
+-> ChunkSection c m -> m (ChunkSection c m)
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> ChunkSection c m -> m (ChunkSection c m)
+Data)
+
+-- | uses paletted view with hard-coded settings to compress what's been shown
+instance
+  ( Show c,
+    Integral c,
+    FiniteBits c,
+    V.Unbox c,
+    Show m,
+    Integral m,
+    FiniteBits m,
+    V.Unbox m
+  ) =>
+  Show (ChunkSection c m)
+  where
+  show :: ChunkSection c m -> String
+show ChunkSection {Int16
+Vector c
+Vector m
+csnonempty :: forall c m. ChunkSection c m -> Int16
+csblockstates :: forall c m. ChunkSection c m -> Vector c
+csbiomes :: forall c m. ChunkSection c m -> Vector m
+csnonempty :: Int16
+csblockstates :: Vector c
+csbiomes :: Vector m
+..} =
+    String -> Int16 -> Int -> String -> Int -> ShowS
+forall r. PrintfType r => String -> r
+printf
+      String
+"ChunkSection {csnonempty = %d, csblockstates = (length %d numbers; \
+      \paletted view) %s, csbiomes = (length %d numbers; \
+      \paletted view) %s}"
+      Int16
+csnonempty
+      -- often reasonable encoding settings, since protocol default;
+      -- but could be surprising if using expanded number of block states
+      -- and/or biomes.
+      (Vector c -> Int
+forall a. Unbox a => Vector a -> Int
+V.length Vector c
+csblockstates)
+      (Builder -> String
+forall a. Show a => a -> String
+show (Builder -> String) -> Builder -> String
+forall a b. (a -> b) -> a -> b
+$ MkCodec -> Vector c -> Builder
+forall a.
+(Integral a, FiniteBits a, Unbox a) =>
+MkCodec -> Vector a -> Builder
+mkencoder (Word8 -> Word8 -> Word8 -> Int -> MkCodec
+MkCodec Word8
+4 Word8
+8 Word8
+15 Int
+4096) Vector c
+csblockstates)
+      (Vector m -> Int
+forall a. Unbox a => Vector a -> Int
+V.length Vector m
+csbiomes)
+      (Builder -> String
+forall a. Show a => a -> String
+show (Builder -> String) -> Builder -> String
+forall a b. (a -> b) -> a -> b
+$ MkCodec -> Vector m -> Builder
+forall a.
+(Integral a, FiniteBits a, Unbox a) =>
+MkCodec -> Vector a -> Builder
+mkencoder (Word8 -> Word8 -> Word8 -> Int -> MkCodec
+MkCodec Word8
+1 Word8
+3 Word8
+6 Int
+64) Vector m
+csbiomes)
+
+-- | encoding configuration for @ChunkSection@
+data ChunkSectionEncoding = ChunkSectionEncoding
+  { -- | number of possible block states
+    ChunkSectionEncoding -> Int
+cseblockstates :: !Int,
+    -- | number of possible biomes
+    ChunkSectionEncoding -> Int
+csebiomes :: !Int
+  }
+  deriving (Int -> ChunkSectionEncoding -> ShowS
+[ChunkSectionEncoding] -> ShowS
+ChunkSectionEncoding -> String
+(Int -> ChunkSectionEncoding -> ShowS)
+-> (ChunkSectionEncoding -> String)
+-> ([ChunkSectionEncoding] -> ShowS)
+-> Show ChunkSectionEncoding
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> ChunkSectionEncoding -> ShowS
+showsPrec :: Int -> ChunkSectionEncoding -> ShowS
+$cshow :: ChunkSectionEncoding -> String
+show :: ChunkSectionEncoding -> String
+$cshowList :: [ChunkSectionEncoding] -> ShowS
+showList :: [ChunkSectionEncoding] -> ShowS
+Show, ReadPrec [ChunkSectionEncoding]
+ReadPrec ChunkSectionEncoding
+Int -> ReadS ChunkSectionEncoding
+ReadS [ChunkSectionEncoding]
+(Int -> ReadS ChunkSectionEncoding)
+-> ReadS [ChunkSectionEncoding]
+-> ReadPrec ChunkSectionEncoding
+-> ReadPrec [ChunkSectionEncoding]
+-> Read ChunkSectionEncoding
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS ChunkSectionEncoding
+readsPrec :: Int -> ReadS ChunkSectionEncoding
+$creadList :: ReadS [ChunkSectionEncoding]
+readList :: ReadS [ChunkSectionEncoding]
+$creadPrec :: ReadPrec ChunkSectionEncoding
+readPrec :: ReadPrec ChunkSectionEncoding
+$creadListPrec :: ReadPrec [ChunkSectionEncoding]
+readListPrec :: ReadPrec [ChunkSectionEncoding]
+Read, ChunkSectionEncoding -> ChunkSectionEncoding -> Bool
+(ChunkSectionEncoding -> ChunkSectionEncoding -> Bool)
+-> (ChunkSectionEncoding -> ChunkSectionEncoding -> Bool)
+-> Eq ChunkSectionEncoding
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: ChunkSectionEncoding -> ChunkSectionEncoding -> Bool
+== :: ChunkSectionEncoding -> ChunkSectionEncoding -> Bool
+$c/= :: ChunkSectionEncoding -> ChunkSectionEncoding -> Bool
+/= :: ChunkSectionEncoding -> ChunkSectionEncoding -> Bool
+Eq, Eq ChunkSectionEncoding
+Eq ChunkSectionEncoding =>
+(ChunkSectionEncoding -> ChunkSectionEncoding -> Ordering)
+-> (ChunkSectionEncoding -> ChunkSectionEncoding -> Bool)
+-> (ChunkSectionEncoding -> ChunkSectionEncoding -> Bool)
+-> (ChunkSectionEncoding -> ChunkSectionEncoding -> Bool)
+-> (ChunkSectionEncoding -> ChunkSectionEncoding -> Bool)
+-> (ChunkSectionEncoding
+    -> ChunkSectionEncoding -> ChunkSectionEncoding)
+-> (ChunkSectionEncoding
+    -> ChunkSectionEncoding -> ChunkSectionEncoding)
+-> Ord ChunkSectionEncoding
+ChunkSectionEncoding -> ChunkSectionEncoding -> Bool
+ChunkSectionEncoding -> ChunkSectionEncoding -> Ordering
+ChunkSectionEncoding
+-> ChunkSectionEncoding -> ChunkSectionEncoding
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: ChunkSectionEncoding -> ChunkSectionEncoding -> Ordering
+compare :: ChunkSectionEncoding -> ChunkSectionEncoding -> Ordering
+$c< :: ChunkSectionEncoding -> ChunkSectionEncoding -> Bool
+< :: ChunkSectionEncoding -> ChunkSectionEncoding -> Bool
+$c<= :: ChunkSectionEncoding -> ChunkSectionEncoding -> Bool
+<= :: ChunkSectionEncoding -> ChunkSectionEncoding -> Bool
+$c> :: ChunkSectionEncoding -> ChunkSectionEncoding -> Bool
+> :: ChunkSectionEncoding -> ChunkSectionEncoding -> Bool
+$c>= :: ChunkSectionEncoding -> ChunkSectionEncoding -> Bool
+>= :: ChunkSectionEncoding -> ChunkSectionEncoding -> Bool
+$cmax :: ChunkSectionEncoding
+-> ChunkSectionEncoding -> ChunkSectionEncoding
+max :: ChunkSectionEncoding
+-> ChunkSectionEncoding -> ChunkSectionEncoding
+$cmin :: ChunkSectionEncoding
+-> ChunkSectionEncoding -> ChunkSectionEncoding
+min :: ChunkSectionEncoding
+-> ChunkSectionEncoding -> ChunkSectionEncoding
+Ord, (forall x. ChunkSectionEncoding -> Rep ChunkSectionEncoding x)
+-> (forall x. Rep ChunkSectionEncoding x -> ChunkSectionEncoding)
+-> Generic ChunkSectionEncoding
+forall x. Rep ChunkSectionEncoding x -> ChunkSectionEncoding
+forall x. ChunkSectionEncoding -> Rep ChunkSectionEncoding x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. ChunkSectionEncoding -> Rep ChunkSectionEncoding x
+from :: forall x. ChunkSectionEncoding -> Rep ChunkSectionEncoding x
+$cto :: forall x. Rep ChunkSectionEncoding x -> ChunkSectionEncoding
+to :: forall x. Rep ChunkSectionEncoding x -> ChunkSectionEncoding
+Generic, Typeable ChunkSectionEncoding
+Typeable ChunkSectionEncoding =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g)
+ -> ChunkSectionEncoding
+ -> c ChunkSectionEncoding)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c ChunkSectionEncoding)
+-> (ChunkSectionEncoding -> Constr)
+-> (ChunkSectionEncoding -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c ChunkSectionEncoding))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c ChunkSectionEncoding))
+-> ((forall b. Data b => b -> b)
+    -> ChunkSectionEncoding -> ChunkSectionEncoding)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> ChunkSectionEncoding -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> ChunkSectionEncoding -> r)
+-> (forall u.
+    (forall d. Data d => d -> u) -> ChunkSectionEncoding -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> ChunkSectionEncoding -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d)
+    -> ChunkSectionEncoding -> m ChunkSectionEncoding)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d)
+    -> ChunkSectionEncoding -> m ChunkSectionEncoding)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d)
+    -> ChunkSectionEncoding -> m ChunkSectionEncoding)
+-> Data ChunkSectionEncoding
+ChunkSectionEncoding -> Constr
+ChunkSectionEncoding -> DataType
+(forall b. Data b => b -> b)
+-> ChunkSectionEncoding -> ChunkSectionEncoding
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u.
+Int -> (forall d. Data d => d -> u) -> ChunkSectionEncoding -> u
+forall u.
+(forall d. Data d => d -> u) -> ChunkSectionEncoding -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ChunkSectionEncoding -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ChunkSectionEncoding -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d)
+-> ChunkSectionEncoding -> m ChunkSectionEncoding
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> ChunkSectionEncoding -> m ChunkSectionEncoding
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c ChunkSectionEncoding
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g)
+-> ChunkSectionEncoding
+-> c ChunkSectionEncoding
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c ChunkSectionEncoding)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c ChunkSectionEncoding)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g)
+-> ChunkSectionEncoding
+-> c ChunkSectionEncoding
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g)
+-> ChunkSectionEncoding
+-> c ChunkSectionEncoding
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c ChunkSectionEncoding
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c ChunkSectionEncoding
+$ctoConstr :: ChunkSectionEncoding -> Constr
+toConstr :: ChunkSectionEncoding -> Constr
+$cdataTypeOf :: ChunkSectionEncoding -> DataType
+dataTypeOf :: ChunkSectionEncoding -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c ChunkSectionEncoding)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c ChunkSectionEncoding)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c ChunkSectionEncoding)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c ChunkSectionEncoding)
+$cgmapT :: (forall b. Data b => b -> b)
+-> ChunkSectionEncoding -> ChunkSectionEncoding
+gmapT :: (forall b. Data b => b -> b)
+-> ChunkSectionEncoding -> ChunkSectionEncoding
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ChunkSectionEncoding -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ChunkSectionEncoding -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ChunkSectionEncoding -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ChunkSectionEncoding -> r
+$cgmapQ :: forall u.
+(forall d. Data d => d -> u) -> ChunkSectionEncoding -> [u]
+gmapQ :: forall u.
+(forall d. Data d => d -> u) -> ChunkSectionEncoding -> [u]
+$cgmapQi :: forall u.
+Int -> (forall d. Data d => d -> u) -> ChunkSectionEncoding -> u
+gmapQi :: forall u.
+Int -> (forall d. Data d => d -> u) -> ChunkSectionEncoding -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d)
+-> ChunkSectionEncoding -> m ChunkSectionEncoding
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d)
+-> ChunkSectionEncoding -> m ChunkSectionEncoding
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> ChunkSectionEncoding -> m ChunkSectionEncoding
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> ChunkSectionEncoding -> m ChunkSectionEncoding
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> ChunkSectionEncoding -> m ChunkSectionEncoding
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> ChunkSectionEncoding -> m ChunkSectionEncoding
+Data, Typeable)
+
+-- | create a codec for @ChunkSection@s using the provided settings
+mkcscodec ::
+  (V.Unbox m, V.Unbox c, FiniteBits m, FiniteBits c, Integral m, Integral c) =>
+  -- | encoding settings
+  ChunkSectionEncoding ->
+  -- | a pair of an encoder and a decoder, respectively
+  (ChunkSection c m -> Builder, Parser st r (ChunkSection c m))
+mkcscodec :: forall m c (st :: ZeroBitType) r.
+(Unbox m, Unbox c, FiniteBits m, FiniteBits c, Integral m,
+ Integral c) =>
+ChunkSectionEncoding
+-> (ChunkSection c m -> Builder, Parser st r (ChunkSection c m))
+mkcscodec ChunkSectionEncoding
+cse =
+  -- the [4, 8] and [1, 3] ranges have been hardcoded in the protocol spec
+  -- for some time
+  let -- configure codecs with protocol-specified ranges
+      bscodec :: MkCodec
+bscodec = Word8 -> Word8 -> Word8 -> Int -> MkCodec
+MkCodec Word8
+4 Word8
+8 (Int -> Word8
+forall a b. (FiniteBits a, Ord a, Num a, Num b) => a -> b
+lg2 ChunkSectionEncoding
+cse.cseblockstates) Int
+4096
+      bmcodec :: MkCodec
+bmcodec = Word8 -> Word8 -> Word8 -> Int -> MkCodec
+MkCodec Word8
+1 Word8
+3 (Int -> Word8
+forall a b. (FiniteBits a, Ord a, Num a, Num b) => a -> b
+lg2 ChunkSectionEncoding
+cse.csebiomes) Int
+64
+      -- create encoder/decoder pairs for blocks and biomes
+      (Vector c -> Builder
+bsencode, Vector m -> Builder
+bmencode) = (MkCodec -> Vector c -> Builder
+forall a.
+(Integral a, FiniteBits a, Unbox a) =>
+MkCodec -> Vector a -> Builder
+mkencoder MkCodec
+bscodec, MkCodec -> Vector m -> Builder
+forall a.
+(Integral a, FiniteBits a, Unbox a) =>
+MkCodec -> Vector a -> Builder
+mkencoder MkCodec
+bmcodec)
+      (Parser st r (Vector c)
+bsdecode, Parser st r (Vector m)
+bmdecode) = (MkCodec -> Parser st r (Vector c)
+forall a (st :: ZeroBitType) r.
+(Integral a, FiniteBits a, Unbox a) =>
+MkCodec -> Parser st r (Vector a)
+mkdecoder MkCodec
+bscodec, MkCodec -> Parser st r (Vector m)
+forall a (st :: ZeroBitType) r.
+(Integral a, FiniteBits a, Unbox a) =>
+MkCodec -> Parser st r (Vector a)
+mkdecoder MkCodec
+bmcodec)
+      -- format: [blockcount][blockstates][biomes]
+      encode :: ChunkSection c m -> Builder
+encode ChunkSection c m
+cs =
+        Int16 -> Builder
+int16BE ChunkSection c m
+cs.csnonempty
+          Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> Vector c -> Builder
+bsencode ChunkSection c m
+cs.csblockstates
+          Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> Vector m -> Builder
+bmencode ChunkSection c m
+cs.csbiomes
+      decode :: ParserT st r ParseError (ChunkSection c m)
+decode = do
+        Int16
+blockcount <- ParserT st r ParseError Int16
+forall (st :: ZeroBitType) r e. ParserT st r e Int16
+F.anyInt16be ParserT st r ParseError Int16
+-> (Int16 -> ParserT st r ParseError Int16)
+-> ParserT st r ParseError Int16
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= Int16 -> ParserT st r ParseError Int16
+forall {a} {st :: ZeroBitType} {r}.
+(Ord a, Num a, Show a) =>
+a -> ParserT st r ParseError a
+checkbc
+        Int16 -> Vector c -> Vector m -> ChunkSection c m
+forall c m. Int16 -> Vector c -> Vector m -> ChunkSection c m
+ChunkSection Int16
+blockcount (Vector c -> Vector m -> ChunkSection c m)
+-> Parser st r (Vector c)
+-> ParserT st r ParseError (Vector m -> ChunkSection c m)
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> Parser st r (Vector c)
+bsdecode ParserT st r ParseError (Vector m -> ChunkSection c m)
+-> Parser st r (Vector m)
+-> ParserT st r ParseError (ChunkSection c m)
+forall a b.
+ParserT st r ParseError (a -> b)
+-> ParserT st r ParseError a -> ParserT st r ParseError b
+forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
+<*> Parser st r (Vector m)
+bmdecode
+        where
+          -- verify block count is within Minecraft's limits
+          checkbc :: a -> ParserT st r ParseError a
+checkbc a
+n
+            | a
+n a -> a -> Bool
+forall a. Ord a => a -> a -> Bool
+< a
+0 = ParseError -> ParserT st r ParseError a
+forall e (st :: ZeroBitType) r a. e -> ParserT st r e a
+F.err ParseError
+"mkcscodec/decode: negative non-air block count"
+            | a
+n a -> a -> Bool
+forall a. Ord a => a -> a -> Bool
+> a
+4096 -- max blocks in 16x16x16 section
+              =
+                ParseError -> ParserT st r ParseError a
+forall e (st :: ZeroBitType) r a. e -> ParserT st r e a
+F.err (ParseError -> ParserT st r ParseError a)
+-> ParseError -> ParserT st r ParseError a
+forall a b. (a -> b) -> a -> b
+$ String -> ParseError
+ParseError do
+                  String
+"mkcscodec/decode: non-air block count too many: " String -> ShowS
+forall a. [a] -> [a] -> [a]
+++ a -> String
+forall a. Show a => a -> String
+show a
+n
+            | Bool
+otherwise = a -> ParserT st r ParseError a
+forall a. a -> ParserT st r ParseError a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure a
+n
+   in (ChunkSection c m -> Builder
+encode, ParserT st r ParseError (ChunkSection c m)
+decode)
+
+-- Calculate bits needed to represent n values
+lg2 :: (FiniteBits a, Ord a, Num a, Num b) => a -> b
+lg2 :: forall a b. (FiniteBits a, Ord a, Num a, Num b) => a -> b
+lg2 a
+n
+  | a
+n a -> a -> Bool
+forall a. Ord a => a -> a -> Bool
+<= a
+1 = b
+0
+  | Bool
+otherwise = Int -> b
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral (Int -> b) -> Int -> b
+forall a b. (a -> b) -> a -> b
+$ a -> Int
+forall b. FiniteBits b => b -> Int
+finiteBitSize a
+n Int -> Int -> Int
+forall a. Num a => a -> a -> a
+- a -> Int
+forall b. FiniteBits b => b -> Int
+countLeadingZeros (a
+n a -> a -> a
+forall a. Num a => a -> a -> a
+- a
+1)
+
+-- | Configuration for encoding and decoding
+data MkCodec = MkCodec
+  { -- | Minimum palette size (if using palette)
+    MkCodec -> Word8
+lowlim :: !Word8,
+    -- | Maximum palette size (if using palette)
+    MkCodec -> Word8
+upplim :: !Word8,
+    -- | Bits per entry for direct encoding
+    MkCodec -> Word8
+directbpe :: !Word8,
+    -- | Count for single value encoding
+    MkCodec -> Int
+singlecount :: !Int
+  }
+
+-- | Encode values using either direct, indirect (palette), or single value encoding
+--
+-- == Usage
+--
+-- Plug in the first argument ('MkCodec' configuration) and store the
+-- closure in a variable. This closure is the actual encoder function.
+-- Then, use the closure to encode values.
+mkencoder ::
+  forall a.
+  (Integral a, FiniteBits a, V.Unbox a) =>
+  -- | Encoder configuration
+  MkCodec ->
+  -- | Input values to encode
+  V.Vector a ->
+  -- | Encoded data
+  Builder
+mkencoder :: forall a.
+(Integral a, FiniteBits a, Unbox a) =>
+MkCodec -> Vector a -> Builder
+mkencoder MkCodec {Int
+Word8
+lowlim :: MkCodec -> Word8
+upplim :: MkCodec -> Word8
+directbpe :: MkCodec -> Word8
+singlecount :: MkCodec -> Int
+lowlim :: Word8
+upplim :: Word8
+directbpe :: Word8
+singlecount :: Int
+..} = Vector a -> Builder
+choose1
+  where
+    -- Main strategy selector based on input characteristics
+    choose1 :: Vector a -> Builder
+choose1 Vector a
+vs
+      -- Safety checks
+      | a -> Int
+forall b. FiniteBits b => b -> Int
+finiteBitSize (a
+forall a. HasCallStack => a
+undefined :: a) Int -> Int -> Bool
+forall a. Ord a => a -> a -> Bool
+> Int -> Int
+forall b. FiniteBits b => b -> Int
+finiteBitSize (Int
+forall a. HasCallStack => a
+undefined :: Int) =
+          String -> Builder
+forall a. HasCallStack => String -> a
+error String
+"mkencoder/choose1: bit size"
+      | Word8
+lowlim Word8 -> Word8 -> Bool
+forall a. Ord a => a -> a -> Bool
+<= Word8
+0 = String -> Builder
+forall a. HasCallStack => String -> a
+error String
+"mkencoder/choose1: lowlim"
+      | Word8
+upplim Word8 -> Word8 -> Bool
+forall a. Ord a => a -> a -> Bool
+<= Word8
+0 Bool -> Bool -> Bool
+|| Word8
+upplim Word8 -> Word8 -> Bool
+forall a. Ord a => a -> a -> Bool
+< Word8
+lowlim =
+          String -> Builder
+forall a. HasCallStack => String -> a
+error String
+"mkencoder/choose1: upplim"
+      | Word8
+directbpe Word8 -> Word8 -> Bool
+forall a. Ord a => a -> a -> Bool
+<= Word8
+0 = String -> Builder
+forall a. HasCallStack => String -> a
+error String
+"mkencoder/choose1: directbpe"
+      | Vector a -> Bool
+forall a. Unbox a => Vector a -> Bool
+V.null Vector a
+vs = String -> Builder
+forall a. HasCallStack => String -> a
+error String
+"mkencoder/choose1: empty"
+      -- Single value case - when vector has only one value
+      | Just (a
+v, Vector a
+w) <- Vector a -> Maybe (a, Vector a)
+forall a. Unbox a => Vector a -> Maybe (a, Vector a)
+V.uncons Vector a
+vs, Vector a -> Bool
+forall a. Unbox a => Vector a -> Bool
+V.null Vector a
+w = a -> Builder
+forall {a}. Integral a => a -> Builder
+single a
+v
+      -- Single value case - when all values are identical
+      | Just (Int
+_, IntMap Int
+m, Builder
+_) <- Vector a -> Maybe (Int, IntMap Int, Builder)
+computepalette Vector a
+vs, IntMap Int -> Int
+forall a. IntMap a -> Int
+M.size IntMap Int
+m Int -> Int -> Bool
+forall a. Eq a => a -> a -> Bool
+== Int
+1 = a -> Builder
+forall {a}. Integral a => a -> Builder
+single (Vector a -> a
+forall a. Unbox a => Vector a -> a
+V.head Vector a
+vs)
+      -- Try palette encoding if possible
+      | Just (Int, IntMap Int, Builder)
+p <- Vector a -> Maybe (Int, IntMap Int, Builder)
+computepalette Vector a
+vs = (Int, IntMap Int, Builder) -> Vector a -> Builder
+forall {a} {c} {a}.
+(FiniteBits a, FiniteBits c, Unbox c, Unbox a, Integral a,
+ Integral c, Integral a) =>
+(a, IntMap c, Builder) -> Vector a -> Builder
+indirect (Int, IntMap Int, Builder)
+p Vector a
+vs
+      -- Fallback to direct encoding
+      | Bool
+otherwise = Vector a -> Builder
+direct Vector a
+vs
+
+    -- Encode a single value: [0: bpe][value][0: # longs to follow = none]
+    single :: a -> Builder
+single a
+v = Word8 -> Builder
+word8 Word8
+0 Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> a -> Builder
+forall {a}. Integral a => a -> Builder
+packleb32 a
+v Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> Word8 -> Builder
+word8 Word8
+0
+
+    -- Palette-based encoding
+    indirect :: (a, IntMap c, Builder) -> Vector a -> Builder
+indirect (a
+palsiz, IntMap c
+pal, Builder
+pallis) Vector a
+vs =
+      let bpe :: Int
+bpe = a -> Int
+forall a b. (FiniteBits a, Ord a, Num a, Num b) => a -> b
+lg2 a
+palsiz -- Bits per entry
+          lut :: a -> c
+lut = (IntMap c
+pal M.!) (Int -> c) -> (a -> Int) -> a -> c
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. a -> Int
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral -- Convert values to pal. indices
+          wor :: Vector Word64
+wor = Int -> Vector c -> Vector Word64
+forall w c.
+(FiniteBits w, Integral w, Unbox w, FiniteBits c, Integral c,
+ Unbox c) =>
+Int -> Vector c -> Vector w
+pkbv Int
+bpe (Vector c -> Vector Word64) -> Vector c -> Vector Word64
+forall a b. (a -> b) -> a -> b
+$ (a -> c) -> Vector a -> Vector c
+forall a b. (Unbox a, Unbox b) => (a -> b) -> Vector a -> Vector b
+V.map a -> c
+lut Vector a
+vs -- Pack indices into words
+          chk :: Word8
+chk
+            | Int
+bpe Int -> Int -> Bool
+forall a. Ord a => a -> a -> Bool
+> Int
+8 = String -> Word8
+forall a. HasCallStack => String -> a
+error (String -> Word8) -> String -> Word8
+forall a b. (a -> b) -> a -> b
+$ String -> Int -> String
+forall r. PrintfType r => String -> r
+printf String
+"mkencoder/indirect: bpe (%d) > 8" Int
+bpe
+            | Bool
+otherwise = Int -> Word8
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral Int
+bpe
+       in Word8 -> Builder
+word8 Word8
+chk -- Format: [bpe][palette size]
+            Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> a -> Builder
+forall {a}. Integral a => a -> Builder
+packleb32 a
+palsiz -- [palette entries...]
+            Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> Builder
+pallis -- [data length][packed data]
+            Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> Int -> Builder
+forall {a}. Integral a => a -> Builder
+packleb32 (Vector Word64 -> Int
+forall a. Unbox a => Vector a -> Int
+V.length Vector Word64
+wor)
+            Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> (Word64 -> Builder) -> Vector Word64 -> Builder
+forall m a. (Monoid m, Unbox a) => (a -> m) -> Vector a -> m
+V.foldMap' Word64 -> Builder
+word64BE Vector Word64
+wor
+
+    -- Direct encoding without palette
+    direct :: Vector a -> Builder
+direct Vector a
+vs =
+      let p :: Vector Word64
+p = Int -> Vector a -> Vector Word64
+forall w c.
+(FiniteBits w, Integral w, Unbox w, FiniteBits c, Integral c,
+ Unbox c) =>
+Int -> Vector c -> Vector w
+pkbv (Word8 -> Int
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral Word8
+directbpe) Vector a
+vs
+       in Word8 -> Builder
+word8 Word8
+directbpe -- Format: [bpe][length]
+            Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> Int -> Builder
+forall {a}. Integral a => a -> Builder
+packleb32 (Vector Word64 -> Int
+forall a. Unbox a => Vector a -> Int
+V.length Vector Word64
+p) -- [raw values...]
+            Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> (Word64 -> Builder) -> Vector Word64 -> Builder
+forall m a. (Monoid m, Unbox a) => (a -> m) -> Vector a -> m
+V.foldMap' (forall a. Pack a => a -> Builder
+pack @Word64) Vector Word64
+p
+
+    -- Try to create an efficient palette
+    computepalette :: Vector a -> Maybe (Int, IntMap Int, Builder)
+computepalette Vector a
+vs =
+      let (IntMap Int
+m', Builder
+l') = ((IntMap Int, Builder) -> a -> (IntMap Int, Builder))
+-> (IntMap Int, Builder) -> Vector a -> (IntMap Int, Builder)
+forall b a. Unbox b => (a -> b -> a) -> a -> Vector b -> a
+V.foldl' (IntMap Int, Builder) -> a -> (IntMap Int, Builder)
+forall {a}.
+Integral a =>
+(IntMap Int, Builder) -> a -> (IntMap Int, Builder)
+f (IntMap Int
+forall a. IntMap a
+M.empty, Builder
+"") Vector a
+vs
+          f :: (IntMap Int, Builder) -> a -> (IntMap Int, Builder)
+f (IntMap Int
+m, Builder
+l) (a -> Int
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral -> Int
+v) -- Build palette map and entry list
+            | Int
+v Int -> IntMap Int -> Bool
+forall a. Int -> IntMap a -> Bool
+`M.member` IntMap Int
+m = (IntMap Int
+m, Builder
+l) -- Skip if value already in palette
+            | Bool
+otherwise = (Int -> Int -> IntMap Int -> IntMap Int
+forall a. Int -> a -> IntMap a -> IntMap a
+M.insert Int
+v (IntMap Int -> Int
+forall a. IntMap a -> Int
+M.size IntMap Int
+m) IntMap Int
+m, Builder
+l Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> Int -> Builder
+forall {a}. Integral a => a -> Builder
+packleb32 Int
+v)
+          lowlim' :: Int
+lowlim' = Word8 -> Int
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral Word8
+lowlim
+          upplim' :: Int
+upplim' = Word8 -> Int
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral Word8
+upplim
+       in if
+            | IntMap Int -> Int
+forall a. IntMap a -> Int
+M.size IntMap Int
+m' Int -> Int -> Bool
+forall a. Ord a => a -> a -> Bool
+< Int
+2 -> (Int, IntMap Int, Builder) -> Maybe (Int, IntMap Int, Builder)
+forall a. a -> Maybe a
+Just (IntMap Int -> Int
+forall a. IntMap a -> Int
+M.size IntMap Int
+m', IntMap Int
+m', Builder
+l') -- single-value mode
+            | IntMap Int -> Int
+forall a. IntMap a -> Int
+M.size IntMap Int
+m' Int -> Int -> Bool
+forall a. Ord a => a -> a -> Bool
+< Int -> Int -> Int
+forall a. Bits a => a -> Int -> a
+shift Int
+1 Int
+lowlim' -> -- Pad to minimum size
+                let re :: Builder
+re = (Word8 -> Builder) -> [Word8] -> Builder
+forall m a. Monoid m => (a -> m) -> [a] -> m
+forall (t :: * -> *) m a.
+(Foldable t, Monoid m) =>
+(a -> m) -> t a -> m
+foldMap' Word8 -> Builder
+word8 do
+                      Int -> [Word8] -> [Word8]
+forall a. Int -> [a] -> [a]
+take (Int
+lowlim' Int -> Int -> Int
+forall a. Num a => a -> a -> a
+- IntMap Int -> Int
+forall a. IntMap a -> Int
+M.size IntMap Int
+m') (Word8 -> [Word8]
+forall a. a -> [a]
+repeat Word8
+0)
+                 in (Int, IntMap Int, Builder) -> Maybe (Int, IntMap Int, Builder)
+forall a. a -> Maybe a
+Just (Int
+lowlim', IntMap Int
+m', Builder
+l' Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> Builder
+re)
+            | IntMap Int -> Int
+forall a. IntMap a -> Int
+M.size IntMap Int
+m' Int -> Int -> Bool
+forall a. Ord a => a -> a -> Bool
+> Int -> Int -> Int
+forall a. Bits a => a -> Int -> a
+shift Int
+1 Int
+upplim' -> Maybe (Int, IntMap Int, Builder)
+forall a. Maybe a
+Nothing -- Too many uniques
+            | Bool
+otherwise -> (Int, IntMap Int, Builder) -> Maybe (Int, IntMap Int, Builder)
+forall a. a -> Maybe a
+Just (IntMap Int -> Int
+forall a. IntMap a -> Int
+M.size IntMap Int
+m', IntMap Int
+m', Builder
+l') -- Just right
+
+-- | Decode values from a paletted container
+--
+-- == Usage
+--
+-- Plug in the first argument ('MkCodec' configuration) and store the
+-- closure in a variable. This closure is the actual decoder function.
+-- Then, use the closure to decode values.
+mkdecoder ::
+  (Integral a, FiniteBits a, V.Unbox a) =>
+  MkCodec ->
+  Parser st r (V.Vector a)
+mkdecoder :: forall a (st :: ZeroBitType) r.
+(Integral a, FiniteBits a, Unbox a) =>
+MkCodec -> Parser st r (Vector a)
+mkdecoder MkCodec {Int
+Word8
+lowlim :: MkCodec -> Word8
+upplim :: MkCodec -> Word8
+directbpe :: MkCodec -> Word8
+singlecount :: MkCodec -> Int
+lowlim :: Word8
+upplim :: Word8
+directbpe :: Word8
+singlecount :: Int
+..} = ParserT st r ParseError (Vector a)
+choose1
+  where
+    -- Main decoder selection based on bits-per-entry (bpe)
+    choose1 :: ParserT st r ParseError (Vector a)
+choose1 = do
+      Word8
+bpe <- forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack @Word8
+      if
+        -- Select encoding format based on bpe value
+        | Word8
+bpe Word8 -> Word8 -> Bool
+forall a. Eq a => a -> a -> Bool
+== Word8
+0 -> ParserT st r ParseError (Vector a)
+single -- Single value encoding
+        | Word8
+bpe Word8 -> Word8 -> Bool
+forall a. Ord a => a -> a -> Bool
+> Word8
+upplim -> ParserT st r ParseError (Vector a)
+direct -- Direct encoding
+        | Bool
+otherwise -> Word8 -> ParserT st r ParseError (Vector a)
+paletted Word8
+bpe -- Palette encoding
+
+    -- Single value format: [0][value][0] -> replicate value n times
+    single :: ParserT st r ParseError (Vector a)
+single = do
+      a
+value <- Parser st r a
+forall a (st :: ZeroBitType) r. Integral a => Parser st r a
+unpackleb32 -- Read the single value
+      ParserT st r ParseError ()
+-> ParseError -> ParserT st r ParseError ()
+forall (st :: ZeroBitType) r e a.
+ParserT st r e a -> e -> ParserT st r e a
+F.cut (Word8 -> ParserT st r ParseError ()
+forall (st :: ZeroBitType) r e. Word8 -> ParserT st r e ()
+F.word8 Word8
+0) ParseError
+"mkdecoder/single: data array length is not zero"
+      Vector a -> ParserT st r ParseError (Vector a)
+forall a. a -> ParserT st r ParseError a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure (Vector a -> ParserT st r ParseError (Vector a))
+-> Vector a -> ParserT st r ParseError (Vector a)
+forall a b. (a -> b) -> a -> b
+$ Int -> a -> Vector a
+forall a. Unbox a => Int -> a -> Vector a
+V.replicate Int
+singlecount a
+value
+
+    -- Palette encoding: [bpe][palsize][pal...][count][packed...]
+    paletted :: Word8 -> ParserT st r ParseError (Vector a)
+paletted (Word8 -> Int
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral (Word8 -> Int) -> (Word8 -> Word8) -> Word8 -> Int
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Word8 -> Word8 -> Word8
+forall a. Ord a => a -> a -> a
+max Word8
+lowlim -> Int
+bpe) = do
+      Int
+pln <- Parser st r Int
+forall a (st :: ZeroBitType) r. Integral a => Parser st r a
+unpackleb32 Parser st r Int -> (Int -> Parser st r Int) -> Parser st r Int
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= String -> Int -> Parser st r Int
+forall a (st :: ZeroBitType) r.
+(Num a, Ord a, Show a) =>
+String -> a -> Parser st r a
+guardnat String
+"mkdecoder/paletted: palette length"
+      Vector a
+pal <- Int -> Parser st r a -> ParserT st r ParseError (Vector a)
+forall (m :: * -> *) a.
+(Monad m, Unbox a) =>
+Int -> m a -> m (Vector a)
+V.replicateM Int
+pln Parser st r a
+forall a (st :: ZeroBitType) r. Integral a => Parser st r a
+unpackleb32 -- Read palette entries
+      Int
+longs <- Parser st r Int
+forall a (st :: ZeroBitType) r. Integral a => Parser st r a
+unpackleb32 Parser st r Int -> (Int -> Parser st r Int) -> Parser st r Int
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= String -> Int -> Parser st r Int
+forall a (st :: ZeroBitType) r.
+(Num a, Ord a, Show a) =>
+String -> a -> Parser st r a
+guardnat String
+"mkdecoder/paletted: # of longs"
+      -- Read packed words, unpack bits, map through palette
+      (Int -> a) -> Vector Int -> Vector a
+forall a b. (Unbox a, Unbox b) => (a -> b) -> Vector a -> Vector b
+V.map (Vector a
+pal V.!) (Vector Int -> Vector a)
+-> (Vector Word64 -> Vector Int) -> Vector Word64 -> Vector a
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Int -> Vector Word64 -> Vector Int
+forall w c.
+(FiniteBits w, Integral w, Unbox w, FiniteBits c, Integral c,
+ Unbox c) =>
+Int -> Vector w -> Vector c
+upbv Int
+bpe (Vector Word64 -> Vector a)
+-> ParserT st r ParseError (Vector Word64)
+-> ParserT st r ParseError (Vector a)
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> Int
+-> ParserT st r ParseError Word64
+-> ParserT st r ParseError (Vector Word64)
+forall (m :: * -> *) a.
+(Monad m, Unbox a) =>
+Int -> m a -> m (Vector a)
+V.replicateM Int
+longs (forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack @Word64)
+
+    -- Direct encoding format: [bpe][count][value1][value2]...
+    direct :: ParserT st r ParseError (Vector a)
+direct = do
+      Int
+nlongs <- Parser st r Int
+forall a (st :: ZeroBitType) r. Integral a => Parser st r a
+unpackleb32 Parser st r Int -> (Int -> Parser st r Int) -> Parser st r Int
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= Int -> Parser st r Int
+forall {a} {st :: ZeroBitType} {r}.
+(Ord a, Num a, Show a) =>
+a -> ParserT st r ParseError a
+checklongs -- Read # of 64-bit words
+      Int -> Vector Word64 -> Vector a
+forall w c.
+(FiniteBits w, Integral w, Unbox w, FiniteBits c, Integral c,
+ Unbox c) =>
+Int -> Vector w -> Vector c
+upbv (Word8 -> Int
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral Word8
+directbpe) (Vector Word64 -> Vector a)
+-> ParserT st r ParseError (Vector Word64)
+-> ParserT st r ParseError (Vector a)
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> Int
+-> ParserT st r ParseError Word64
+-> ParserT st r ParseError (Vector Word64)
+forall (m :: * -> *) a.
+(Monad m, Unbox a) =>
+Int -> m a -> m (Vector a)
+V.replicateM Int
+nlongs (forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack @Word64)
+      where
+        -- Safety check for number of words
+        checklongs :: a -> ParserT st r ParseError a
+checklongs a
+n
+          | a
+n a -> a -> Bool
+forall a. Ord a => a -> a -> Bool
+< a
+0 = ParseError -> ParserT st r ParseError a
+forall e (st :: ZeroBitType) r a. e -> ParserT st r e a
+F.err ParseError
+"mkdecoder/direct: negative longs"
+          | a
+n a -> a -> Bool
+forall a. Ord a => a -> a -> Bool
+< a
+2048 = a -> ParserT st r ParseError a
+forall a. a -> ParserT st r ParseError a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure a
+n -- Arbitrary size limit
+          | Bool
+otherwise = ParseError -> ParserT st r ParseError a
+forall e (st :: ZeroBitType) r a. e -> ParserT st r e a
+F.err (ParseError -> ParserT st r ParseError a)
+-> ParseError -> ParserT st r ParseError a
+forall a b. (a -> b) -> a -> b
+$ String -> ParseError
+ParseError do
+              String
+"mkdecoder/direct: too many longs (" String -> ShowS
+forall a. [a] -> [a] -> [a]
+++ a -> String
+forall a. Show a => a -> String
+show a
+n String -> ShowS
+forall a. [a] -> [a] -> [a]
+++ String
+")"
+
+-- | unpack a paletted container
+-- (Minecraft, Java Edition, padded words).
+--
+-- see also: 'pkbv'.
+upbv ::
+  forall w c.
+  ( FiniteBits w,
+    Integral w,
+    V.Unbox w,
+    FiniteBits c,
+    Integral c,
+    V.Unbox c
+  ) =>
+  Int -> V.Vector w -> V.Vector c
+upbv :: forall w c.
+(FiniteBits w, Integral w, Unbox w, FiniteBits c, Integral c,
+ Unbox c) =>
+Int -> Vector w -> Vector c
+upbv Int
+b = Vector w -> Vector c
+e
+  where
+    e :: Vector w -> Vector c
+e
+      | Int
+wsz Int -> Int -> Bool
+forall a. Ord a => a -> a -> Bool
+< Int
+csz = String -> Vector w -> Vector c
+forall a. HasCallStack => String -> a
+error String
+"upbv: incorrect bit combination"
+      | Int
+b Int -> Int -> Bool
+forall a. Ord a => a -> a -> Bool
+< Int
+1 Bool -> Bool -> Bool
+|| Int
+csz Int -> Int -> Bool
+forall a. Ord a => a -> a -> Bool
+< Int
+b = String -> Vector w -> Vector c
+forall a. HasCallStack => String -> a
+error String
+"upbv: incorrect bits per entry"
+      | Bool
+otherwise = \Vector w
+words ->
+          let m :: w
+m = w -> Int -> w
+forall a. Bits a => a -> Int -> a
+unsafeShiftL w
+1 Int
+b w -> w -> w
+forall a. Num a => a -> a -> a
+- w
+1
+              len :: Int
+len = Vector w -> Int
+forall a. Unbox a => Vector a -> Int
+V.length Vector w
+words Int -> Int -> Int
+forall a. Num a => a -> a -> a
+* Int
+cpw
+              cpw :: Int
+cpw = Int
+wsz Int -> Int -> Int
+forall a. Integral a => a -> a -> a
+`div` Int
+b
+              fi :: w -> c
+fi = forall a b. (Integral a, Num b) => a -> b
+fromIntegral @w @c
+           in Int -> (Int -> c) -> Vector c
+forall a. Unbox a => Int -> (Int -> a) -> Vector a
+V.generate Int
+len \Int
+i ->
+                let w :: Int
+w = Int
+i Int -> Int -> Int
+forall a. Integral a => a -> a -> a
+`div` Int
+cpw
+                    c :: Int
+c = Int
+b Int -> Int -> Int
+forall a. Num a => a -> a -> a
+* (Int
+i Int -> Int -> Int
+forall a. Integral a => a -> a -> a
+`rem` Int
+cpw)
+                 in w -> c
+fi (w -> c) -> w -> c
+forall a b. (a -> b) -> a -> b
+$ ((Vector w
+words Vector w -> Int -> w
+forall a. Unbox a => Vector a -> Int -> a
+V.! Int
+w) w -> Int -> w
+forall a. Bits a => a -> Int -> a
+`unsafeShiftR` Int
+c) w -> w -> w
+forall a. Bits a => a -> a -> a
+.&. w
+m
+    wsz :: Int
+wsz = w -> Int
+forall b. FiniteBits b => b -> Int
+finiteBitSize (w
+forall a. HasCallStack => a
+undefined :: w)
+    csz :: Int
+csz = c -> Int
+forall b. FiniteBits b => b -> Int
+finiteBitSize (c
+forall a. HasCallStack => a
+undefined :: c)
+
+data S a = S !Int !a -- shift, accumulator
+
+uns :: S a -> a
+uns :: forall a. S a -> a
+uns (S Int
+_ a
+a) = a
+a
+
+-- | pack bits into a paletted container (list of words).
+--
+-- see also: 'upb'.
+pkbv ::
+  forall w c.
+  (FiniteBits w, Integral w, V.Unbox w, FiniteBits c, Integral c, V.Unbox c) =>
+  -- | bits per entry
+  Int ->
+  -- | chars; least significant char first.
+  V.Vector c ->
+  -- | words; least significant word first.
+  V.Vector w
+pkbv :: forall w c.
+(FiniteBits w, Integral w, Unbox w, FiniteBits c, Integral c,
+ Unbox c) =>
+Int -> Vector c -> Vector w
+pkbv Int
+b = Vector c -> Vector w
+e
+  where
+    e :: Vector c -> Vector w
+e
+      | Int
+wsz Int -> Int -> Bool
+forall a. Ord a => a -> a -> Bool
+< Int
+csz = String -> Vector c -> Vector w
+forall a. HasCallStack => String -> a
+error String
+"pkbv: incorrect bit combination"
+      | Int
+b Int -> Int -> Bool
+forall a. Ord a => a -> a -> Bool
+< Int
+1 Bool -> Bool -> Bool
+|| Int
+csz Int -> Int -> Bool
+forall a. Ord a => a -> a -> Bool
+< Int
+b = String -> Vector c -> Vector w
+forall a. HasCallStack => String -> a
+error String
+"pkbv: incorrect bits per entry"
+      | Bool
+otherwise = \Vector c
+chars ->
+          let cpw :: Int
+cpw = Int
+wsz Int -> Int -> Int
+forall a. Integral a => a -> a -> a
+`div` Int
+b
+              w :: Int
+w = (Vector c -> Int
+forall a. Unbox a => Vector a -> Int
+V.length Vector c
+chars Int -> Int -> Int
+forall a. Num a => a -> a -> a
++ Int
+cpw Int -> Int -> Int
+forall a. Num a => a -> a -> a
+- Int
+1) Int -> Int -> Int
+forall a. Integral a => a -> a -> a
+`div` Int
+cpw
+              f :: S w -> c -> S w
+f (S Int
+s w
+a) (c -> w
+fi -> w
+q) = Int -> w -> S w
+forall a. Int -> a -> S a
+S (Int
+s Int -> Int -> Int
+forall a. Num a => a -> a -> a
++ Int
+b) (w
+a w -> w -> w
+forall a. Bits a => a -> a -> a
+.|. w -> Int -> w
+forall a. Bits a => a -> Int -> a
+unsafeShiftL w
+q Int
+s)
+           in Int -> (Int -> w) -> Vector w
+forall a. Unbox a => Int -> (Int -> a) -> Vector a
+V.generate Int
+w \Int
+i -> S w -> w
+forall a. S a -> a
+uns do
+                let j :: Int
+j = Int
+i Int -> Int -> Int
+forall a. Num a => a -> a -> a
+* Int
+cpw
+                    l :: Int
+l = Int -> Int -> Int
+forall a. Ord a => a -> a -> a
+min Int
+cpw (Vector c -> Int
+forall a. Unbox a => Vector a -> Int
+V.length Vector c
+chars Int -> Int -> Int
+forall a. Num a => a -> a -> a
+- Int
+i Int -> Int -> Int
+forall a. Num a => a -> a -> a
+* Int
+cpw)
+                 in (S w -> c -> S w) -> S w -> Vector c -> S w
+forall b a. Unbox b => (a -> b -> a) -> a -> Vector b -> a
+V.foldl' S w -> c -> S w
+f (Int -> w -> S w
+forall a. Int -> a -> S a
+S Int
+0 w
+0) (Vector c -> S w) -> Vector c -> S w
+forall a b. (a -> b) -> a -> b
+$ Int -> Int -> Vector c -> Vector c
+forall a. Unbox a => Int -> Int -> Vector a -> Vector a
+V.slice Int
+j Int
+l Vector c
+chars
+    wsz :: Int
+wsz = w -> Int
+forall b. FiniteBits b => b -> Int
+finiteBitSize (w
+forall a. HasCallStack => a
+undefined :: w)
+    csz :: Int
+csz = c -> Int
+forall b. FiniteBits b => b -> Int
+finiteBitSize (c
+forall a. HasCallStack => a
+undefined :: c)
+    fi :: c -> w
+fi = forall a b. (Integral a, Num b) => a -> b
+fromIntegral @c @w
+
\ No newline at end of file diff --git a/src/M.Chunk.Net.html b/src/M.Chunk.Net.html new file mode 100644 index 0000000..fb8e691 --- /dev/null +++ b/src/M.Chunk.Net.html @@ -0,0 +1,410 @@ +
-- |
+-- Module: M.Chunk.Net
+-- Description: Network serialization types for chunk data
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Defines data types for chunk and lighting data used in network serialization.
+-- Includes block entities and packed coordinate representations.
+module M.Chunk.Net (ChunkData (..), BlockEntity (..), LightData (..)) where
+
+import Control.DeepSeq
+import Data.Bits
+import Data.ByteString (ByteString)
+import Data.Data
+import Data.Functor
+import Data.Hashable
+import Data.Int
+import Data.Serde.QQ
+import Data.Vector qualified as V
+import Data.Word
+import GHC.Generics
+import Language.Haskell.TH.Syntax (Lift)
+import Linear
+import M.LEB
+import M.NBT
+import M.Pack
+
+-- only for internal use
+newtype PackedXZ = PackedXZ {PackedXZ -> V2 Word8
+getpackedxz :: V2 Word8}
+  deriving stock ((forall x. PackedXZ -> Rep PackedXZ x)
+-> (forall x. Rep PackedXZ x -> PackedXZ) -> Generic PackedXZ
+forall x. Rep PackedXZ x -> PackedXZ
+forall x. PackedXZ -> Rep PackedXZ x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. PackedXZ -> Rep PackedXZ x
+from :: forall x. PackedXZ -> Rep PackedXZ x
+$cto :: forall x. Rep PackedXZ x -> PackedXZ
+to :: forall x. Rep PackedXZ x -> PackedXZ
+Generic, Typeable, Typeable PackedXZ
+Typeable PackedXZ =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> PackedXZ -> c PackedXZ)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c PackedXZ)
+-> (PackedXZ -> Constr)
+-> (PackedXZ -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c PackedXZ))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PackedXZ))
+-> ((forall b. Data b => b -> b) -> PackedXZ -> PackedXZ)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> PackedXZ -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> PackedXZ -> r)
+-> (forall u. (forall d. Data d => d -> u) -> PackedXZ -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> PackedXZ -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> PackedXZ -> m PackedXZ)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> PackedXZ -> m PackedXZ)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> PackedXZ -> m PackedXZ)
+-> Data PackedXZ
+PackedXZ -> Constr
+PackedXZ -> DataType
+(forall b. Data b => b -> b) -> PackedXZ -> PackedXZ
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> PackedXZ -> u
+forall u. (forall d. Data d => d -> u) -> PackedXZ -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> PackedXZ -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> PackedXZ -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> PackedXZ -> m PackedXZ
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> PackedXZ -> m PackedXZ
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c PackedXZ
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> PackedXZ -> c PackedXZ
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c PackedXZ)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PackedXZ)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> PackedXZ -> c PackedXZ
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> PackedXZ -> c PackedXZ
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c PackedXZ
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c PackedXZ
+$ctoConstr :: PackedXZ -> Constr
+toConstr :: PackedXZ -> Constr
+$cdataTypeOf :: PackedXZ -> DataType
+dataTypeOf :: PackedXZ -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c PackedXZ)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c PackedXZ)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PackedXZ)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PackedXZ)
+$cgmapT :: (forall b. Data b => b -> b) -> PackedXZ -> PackedXZ
+gmapT :: (forall b. Data b => b -> b) -> PackedXZ -> PackedXZ
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> PackedXZ -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> PackedXZ -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> PackedXZ -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> PackedXZ -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> PackedXZ -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> PackedXZ -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> PackedXZ -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> PackedXZ -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> PackedXZ -> m PackedXZ
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> PackedXZ -> m PackedXZ
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> PackedXZ -> m PackedXZ
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> PackedXZ -> m PackedXZ
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> PackedXZ -> m PackedXZ
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> PackedXZ -> m PackedXZ
+Data, (forall (m :: * -> *). Quote m => PackedXZ -> m Exp)
+-> (forall (m :: * -> *). Quote m => PackedXZ -> Code m PackedXZ)
+-> Lift PackedXZ
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => PackedXZ -> m Exp
+forall (m :: * -> *). Quote m => PackedXZ -> Code m PackedXZ
+$clift :: forall (m :: * -> *). Quote m => PackedXZ -> m Exp
+lift :: forall (m :: * -> *). Quote m => PackedXZ -> m Exp
+$cliftTyped :: forall (m :: * -> *). Quote m => PackedXZ -> Code m PackedXZ
+liftTyped :: forall (m :: * -> *). Quote m => PackedXZ -> Code m PackedXZ
+Lift)
+  deriving newtype (PackedXZ -> PackedXZ -> Bool
+(PackedXZ -> PackedXZ -> Bool)
+-> (PackedXZ -> PackedXZ -> Bool) -> Eq PackedXZ
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: PackedXZ -> PackedXZ -> Bool
+== :: PackedXZ -> PackedXZ -> Bool
+$c/= :: PackedXZ -> PackedXZ -> Bool
+/= :: PackedXZ -> PackedXZ -> Bool
+Eq, Eq PackedXZ
+Eq PackedXZ =>
+(PackedXZ -> PackedXZ -> Ordering)
+-> (PackedXZ -> PackedXZ -> Bool)
+-> (PackedXZ -> PackedXZ -> Bool)
+-> (PackedXZ -> PackedXZ -> Bool)
+-> (PackedXZ -> PackedXZ -> Bool)
+-> (PackedXZ -> PackedXZ -> PackedXZ)
+-> (PackedXZ -> PackedXZ -> PackedXZ)
+-> Ord PackedXZ
+PackedXZ -> PackedXZ -> Bool
+PackedXZ -> PackedXZ -> Ordering
+PackedXZ -> PackedXZ -> PackedXZ
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: PackedXZ -> PackedXZ -> Ordering
+compare :: PackedXZ -> PackedXZ -> Ordering
+$c< :: PackedXZ -> PackedXZ -> Bool
+< :: PackedXZ -> PackedXZ -> Bool
+$c<= :: PackedXZ -> PackedXZ -> Bool
+<= :: PackedXZ -> PackedXZ -> Bool
+$c> :: PackedXZ -> PackedXZ -> Bool
+> :: PackedXZ -> PackedXZ -> Bool
+$c>= :: PackedXZ -> PackedXZ -> Bool
+>= :: PackedXZ -> PackedXZ -> Bool
+$cmax :: PackedXZ -> PackedXZ -> PackedXZ
+max :: PackedXZ -> PackedXZ -> PackedXZ
+$cmin :: PackedXZ -> PackedXZ -> PackedXZ
+min :: PackedXZ -> PackedXZ -> PackedXZ
+Ord, Int -> PackedXZ -> ShowS
+[PackedXZ] -> ShowS
+PackedXZ -> String
+(Int -> PackedXZ -> ShowS)
+-> (PackedXZ -> String) -> ([PackedXZ] -> ShowS) -> Show PackedXZ
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> PackedXZ -> ShowS
+showsPrec :: Int -> PackedXZ -> ShowS
+$cshow :: PackedXZ -> String
+show :: PackedXZ -> String
+$cshowList :: [PackedXZ] -> ShowS
+showList :: [PackedXZ] -> ShowS
+Show, ReadPrec [PackedXZ]
+ReadPrec PackedXZ
+Int -> ReadS PackedXZ
+ReadS [PackedXZ]
+(Int -> ReadS PackedXZ)
+-> ReadS [PackedXZ]
+-> ReadPrec PackedXZ
+-> ReadPrec [PackedXZ]
+-> Read PackedXZ
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS PackedXZ
+readsPrec :: Int -> ReadS PackedXZ
+$creadList :: ReadS [PackedXZ]
+readList :: ReadS [PackedXZ]
+$creadPrec :: ReadPrec PackedXZ
+readPrec :: ReadPrec PackedXZ
+$creadListPrec :: ReadPrec [PackedXZ]
+readListPrec :: ReadPrec [PackedXZ]
+Read, Eq PackedXZ
+Eq PackedXZ =>
+(Int -> PackedXZ -> Int) -> (PackedXZ -> Int) -> Hashable PackedXZ
+Int -> PackedXZ -> Int
+PackedXZ -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+$chashWithSalt :: Int -> PackedXZ -> Int
+hashWithSalt :: Int -> PackedXZ -> Int
+$chash :: PackedXZ -> Int
+hash :: PackedXZ -> Int
+Hashable, PackedXZ -> ()
+(PackedXZ -> ()) -> NFData PackedXZ
+forall a. (a -> ()) -> NFData a
+$crnf :: PackedXZ -> ()
+rnf :: PackedXZ -> ()
+NFData)
+
+pxzx :: (Num a) => PackedXZ -> a
+pxzx :: forall a. Num a => PackedXZ -> a
+pxzx (PackedXZ (V2 Word8
+x Word8
+_)) = Word8 -> a
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral Word8
+x
+{-# INLINE pxzx #-}
+
+pxzz :: (Num a) => PackedXZ -> a
+pxzz :: forall a. Num a => PackedXZ -> a
+pxzz (PackedXZ (V2 Word8
+_ Word8
+z)) = Word8 -> a
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral Word8
+z
+{-# INLINE pxzz #-}
+
+instance Pack PackedXZ where
+  pack :: PackedXZ -> Builder
+pack PackedXZ
+p = forall a. Pack a => a -> Builder
+pack @Word8 (Word8 -> Builder) -> Word8 -> Builder
+forall a b. (a -> b) -> a -> b
+$ ((PackedXZ -> Word8
+forall a. Num a => PackedXZ -> a
+pxzx PackedXZ
+p Word8 -> Word8 -> Word8
+forall a. Bits a => a -> a -> a
+.&. Word8
+15) Word8 -> Int -> Word8
+forall a. Bits a => a -> Int -> a
+.<<. Int
+4) Word8 -> Word8 -> Word8
+forall a. Bits a => a -> a -> a
+.|. (PackedXZ -> Word8
+forall a. Num a => PackedXZ -> a
+pxzz PackedXZ
+p Word8 -> Word8 -> Word8
+forall a. Bits a => a -> a -> a
+.&. Word8
+15)
+  {-# INLINEABLE pack #-}
+
+instance Unpack PackedXZ where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r PackedXZ
+unpack = forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack @Word8 Parser st r Word8
+-> (Word8 -> PackedXZ) -> ParserT st r ParseError PackedXZ
+forall (f :: * -> *) a b. Functor f => f a -> (a -> b) -> f b
+<&> \Word8
+w -> V2 Word8 -> PackedXZ
+PackedXZ (Word8 -> Word8 -> V2 Word8
+forall a. a -> a -> V2 a
+V2 (Word8
+w Word8 -> Int -> Word8
+forall a. Bits a => a -> Int -> a
+.>>. Int
+4) (Word8
+w Word8 -> Word8 -> Word8
+forall a. Bits a => a -> a -> a
+.&. Word8
+15))
+  {-# INLINEABLE unpack #-}
+
+[serde|
+.derive
+  Show Read Data Typeable
+
+data BlockEntity
+  bexz :: V2 Word8 via PackedXZ
+  berelheight :: Int16
+  betype :: Int32 via VarInt
+  bedata :: Tg
+
+data ChunkData
+  cdhmaps :: Tg
+  cddata :: ByteString
+  cdblockentities :: V.Vector BlockEntity
+
+data LightData
+  ldskymask :: Bitset
+  ldblockmask :: Bitset
+  ld0skymask :: Bitset
+  ld0blockmask :: Bitset
+  -- inner ByteStrings are always 2048 bytes long by contract
+  ldskylights :: V.Vector ByteString
+  ldblocklights :: V.Vector ByteString
+ |]
+
+runusercoercion
+  borrowderivepackunpack
+  properderivepackunpack
+  [ ''Generic,
+    ''NFData,
+    ''Eq,
+    ''Ord
+  ]
+
\ No newline at end of file diff --git a/src/M.Collision.Effectful.html b/src/M.Collision.Effectful.html new file mode 100644 index 0000000..6857c5e --- /dev/null +++ b/src/M.Collision.Effectful.html @@ -0,0 +1,1946 @@ +
-- |
+-- Module: M.Collision.Effectful
+-- Description: Effectful collision detection and resolution system
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Provides the core collision detection and resolution system with effects.
+-- Handles block-based collision detection, movement resolution, and ground contact states.
+--
+-- = Parts
+--
+-- 1. The 'GetBlock' effect
+-- 2. The 'Resolve' data type and 'resolve' function (the main part)
+-- 3. The 'NewlyTouchingGround' data type and 'updonground' function
+--
+-- = Usage
+--
+-- 1. Use 'getblock' to get a block's shape at integer coordinates
+-- 2. Use 'resolve' to detect and resolve collision
+-- 3. Use 'updonground' to update the on-ground status (from \#2)
+module M.Collision.Effectful
+  ( GetBlock (..),
+    getblock,
+    Resolve (..),
+    resolve,
+    _respos,
+    _resdis,
+    _restou,
+    NewlyTouchingGround (..),
+    updonground,
+    islanding,
+    istakingoff,
+  )
+where
+
+import Control.Lens hiding (index)
+import Control.Monad
+import Control.Monad.Fix
+import Data.Bits
+import Data.Coerce
+import Data.Data
+import Data.Foldable
+import Data.Functor.Rep
+import Data.Hashable
+import Data.Kind
+import Data.List (nub)
+import Data.Semigroup
+import Data.Traversable
+import Effectful
+import Effectful.Dispatch.Dynamic
+import Effectful.Exception
+import Effectful.Reader.Static
+import GHC.Generics (Generic)
+import Linear
+import M.Collision.Internal.Face
+import M.Collision.Internal.March
+import M.Collision.Pure
+import Prelude hiding (break)
+
+-- | collision resolution data type
+data Resolve a = Resolve
+  { -- | final position
+    forall a. Resolve a -> V3 a
+respos :: !(V3 a),
+    -- | remaining displacement
+    forall a. Resolve a -> V3 a
+resdis :: !(V3 a),
+    -- | what to do with the on-ground status
+    forall a. Resolve a -> NewlyTouchingGround
+restou :: !NewlyTouchingGround
+  }
+  deriving (Int -> Resolve a -> ShowS
+[Resolve a] -> ShowS
+Resolve a -> String
+(Int -> Resolve a -> ShowS)
+-> (Resolve a -> String)
+-> ([Resolve a] -> ShowS)
+-> Show (Resolve a)
+forall a. Show a => Int -> Resolve a -> ShowS
+forall a. Show a => [Resolve a] -> ShowS
+forall a. Show a => Resolve a -> String
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: forall a. Show a => Int -> Resolve a -> ShowS
+showsPrec :: Int -> Resolve a -> ShowS
+$cshow :: forall a. Show a => Resolve a -> String
+show :: Resolve a -> String
+$cshowList :: forall a. Show a => [Resolve a] -> ShowS
+showList :: [Resolve a] -> ShowS
+Show, Resolve a -> Resolve a -> Bool
+(Resolve a -> Resolve a -> Bool)
+-> (Resolve a -> Resolve a -> Bool) -> Eq (Resolve a)
+forall a. Eq a => Resolve a -> Resolve a -> Bool
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: forall a. Eq a => Resolve a -> Resolve a -> Bool
+== :: Resolve a -> Resolve a -> Bool
+$c/= :: forall a. Eq a => Resolve a -> Resolve a -> Bool
+/= :: Resolve a -> Resolve a -> Bool
+Eq, (forall x. Resolve a -> Rep (Resolve a) x)
+-> (forall x. Rep (Resolve a) x -> Resolve a)
+-> Generic (Resolve a)
+forall x. Rep (Resolve a) x -> Resolve a
+forall x. Resolve a -> Rep (Resolve a) x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+forall a x. Rep (Resolve a) x -> Resolve a
+forall a x. Resolve a -> Rep (Resolve a) x
+$cfrom :: forall a x. Resolve a -> Rep (Resolve a) x
+from :: forall x. Resolve a -> Rep (Resolve a) x
+$cto :: forall a x. Rep (Resolve a) x -> Resolve a
+to :: forall x. Rep (Resolve a) x -> Resolve a
+Generic, Typeable, (forall a b. (a -> b) -> Resolve a -> Resolve b)
+-> (forall a b. a -> Resolve b -> Resolve a) -> Functor Resolve
+forall a b. a -> Resolve b -> Resolve a
+forall a b. (a -> b) -> Resolve a -> Resolve b
+forall (f :: * -> *).
+(forall a b. (a -> b) -> f a -> f b)
+-> (forall a b. a -> f b -> f a) -> Functor f
+$cfmap :: forall a b. (a -> b) -> Resolve a -> Resolve b
+fmap :: forall a b. (a -> b) -> Resolve a -> Resolve b
+$c<$ :: forall a b. a -> Resolve b -> Resolve a
+<$ :: forall a b. a -> Resolve b -> Resolve a
+Functor, Eq (Resolve a)
+Eq (Resolve a) =>
+(Int -> Resolve a -> Int)
+-> (Resolve a -> Int) -> Hashable (Resolve a)
+Int -> Resolve a -> Int
+Resolve a -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+forall a. Hashable a => Eq (Resolve a)
+forall a. Hashable a => Int -> Resolve a -> Int
+forall a. Hashable a => Resolve a -> Int
+$chashWithSalt :: forall a. Hashable a => Int -> Resolve a -> Int
+hashWithSalt :: Int -> Resolve a -> Int
+$chash :: forall a. Hashable a => Resolve a -> Int
+hash :: Resolve a -> Int
+Hashable, Typeable (Resolve a)
+Typeable (Resolve a) =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> Resolve a -> c (Resolve a))
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c (Resolve a))
+-> (Resolve a -> Constr)
+-> (Resolve a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c (Resolve a)))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c (Resolve a)))
+-> ((forall b. Data b => b -> b) -> Resolve a -> Resolve a)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> Resolve a -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> Resolve a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> Resolve a -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> Resolve a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> Resolve a -> m (Resolve a))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Resolve a -> m (Resolve a))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Resolve a -> m (Resolve a))
+-> Data (Resolve a)
+Resolve a -> Constr
+Resolve a -> DataType
+(forall b. Data b => b -> b) -> Resolve a -> Resolve a
+forall a. Data a => Typeable (Resolve a)
+forall a. Data a => Resolve a -> Constr
+forall a. Data a => Resolve a -> DataType
+forall a.
+Data a =>
+(forall b. Data b => b -> b) -> Resolve a -> Resolve a
+forall a u.
+Data a =>
+Int -> (forall d. Data d => d -> u) -> Resolve a -> u
+forall a u.
+Data a =>
+(forall d. Data d => d -> u) -> Resolve a -> [u]
+forall a r r'.
+Data a =>
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Resolve a -> r
+forall a r r'.
+Data a =>
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Resolve a -> r
+forall a (m :: * -> *).
+(Data a, Monad m) =>
+(forall d. Data d => d -> m d) -> Resolve a -> m (Resolve a)
+forall a (m :: * -> *).
+(Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d) -> Resolve a -> m (Resolve a)
+forall a (c :: * -> *).
+Data a =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (Resolve a)
+forall a (c :: * -> *).
+Data a =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Resolve a -> c (Resolve a)
+forall a (t :: * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (Resolve a))
+forall a (t :: * -> * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (Resolve a))
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> Resolve a -> u
+forall u. (forall d. Data d => d -> u) -> Resolve a -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Resolve a -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Resolve a -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Resolve a -> m (Resolve a)
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Resolve a -> m (Resolve a)
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (Resolve a)
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Resolve a -> c (Resolve a)
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (Resolve a))
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (Resolve a))
+$cgfoldl :: forall a (c :: * -> *).
+Data a =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Resolve a -> c (Resolve a)
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Resolve a -> c (Resolve a)
+$cgunfold :: forall a (c :: * -> *).
+Data a =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (Resolve a)
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (Resolve a)
+$ctoConstr :: forall a. Data a => Resolve a -> Constr
+toConstr :: Resolve a -> Constr
+$cdataTypeOf :: forall a. Data a => Resolve a -> DataType
+dataTypeOf :: Resolve a -> DataType
+$cdataCast1 :: forall a (t :: * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (Resolve a))
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (Resolve a))
+$cdataCast2 :: forall a (t :: * -> * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (Resolve a))
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (Resolve a))
+$cgmapT :: forall a.
+Data a =>
+(forall b. Data b => b -> b) -> Resolve a -> Resolve a
+gmapT :: (forall b. Data b => b -> b) -> Resolve a -> Resolve a
+$cgmapQl :: forall a r r'.
+Data a =>
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Resolve a -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Resolve a -> r
+$cgmapQr :: forall a r r'.
+Data a =>
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Resolve a -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Resolve a -> r
+$cgmapQ :: forall a u.
+Data a =>
+(forall d. Data d => d -> u) -> Resolve a -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> Resolve a -> [u]
+$cgmapQi :: forall a u.
+Data a =>
+Int -> (forall d. Data d => d -> u) -> Resolve a -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Resolve a -> u
+$cgmapM :: forall a (m :: * -> *).
+(Data a, Monad m) =>
+(forall d. Data d => d -> m d) -> Resolve a -> m (Resolve a)
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Resolve a -> m (Resolve a)
+$cgmapMp :: forall a (m :: * -> *).
+(Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d) -> Resolve a -> m (Resolve a)
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Resolve a -> m (Resolve a)
+$cgmapMo :: forall a (m :: * -> *).
+(Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d) -> Resolve a -> m (Resolve a)
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Resolve a -> m (Resolve a)
+Data)
+
+-- | lens for 'Resolve' position
+_respos :: Lens' (Resolve a) (V3 a)
+_respos :: forall a (f :: * -> *).
+Functor f =>
+(V3 a -> f (V3 a)) -> Resolve a -> f (Resolve a)
+_respos = (Resolve a -> V3 a)
+-> (Resolve a -> V3 a -> Resolve a)
+-> Lens (Resolve a) (Resolve a) (V3 a) (V3 a)
+forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
+lens Resolve a -> V3 a
+forall a. Resolve a -> V3 a
+respos \Resolve a
+x V3 a
+y -> Resolve a
+x {respos = y}
+{-# INLINE _respos #-}
+
+-- | lens for 'Resolve' displacement
+_resdis :: Lens' (Resolve a) (V3 a)
+_resdis :: forall a (f :: * -> *).
+Functor f =>
+(V3 a -> f (V3 a)) -> Resolve a -> f (Resolve a)
+_resdis = (Resolve a -> V3 a)
+-> (Resolve a -> V3 a -> Resolve a)
+-> Lens (Resolve a) (Resolve a) (V3 a) (V3 a)
+forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
+lens Resolve a -> V3 a
+forall a. Resolve a -> V3 a
+resdis \Resolve a
+x V3 a
+y -> Resolve a
+x {resdis = y}
+{-# INLINE _resdis #-}
+
+-- | lens for 'Resolve' newly touching ground
+_restou :: Lens' (Resolve a) NewlyTouchingGround
+_restou :: forall a (f :: * -> *).
+Functor f =>
+(NewlyTouchingGround -> f NewlyTouchingGround)
+-> Resolve a -> f (Resolve a)
+_restou = (Resolve a -> NewlyTouchingGround)
+-> (Resolve a -> NewlyTouchingGround -> Resolve a)
+-> Lens
+     (Resolve a) (Resolve a) NewlyTouchingGround NewlyTouchingGround
+forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
+lens Resolve a -> NewlyTouchingGround
+forall a. Resolve a -> NewlyTouchingGround
+restou \Resolve a
+x NewlyTouchingGround
+y -> Resolve a
+x {restou = y}
+{-# INLINE _restou #-}
+
+-- | \'upgrade\' a boolean: find @y@ as in @y CMP x || y == x@
+-- but if @CMP@ is not 'EQ', prefer @y /= x@
+--
+-- used to implement 'updonground'
+boolupgr ::
+  -- | comparison (@CMP@)
+  Ordering ->
+  -- | the @x@
+  Bool ->
+  -- | left-hand side of the @CMP@ comparison
+  Bool
+boolupgr :: Ordering -> Bool -> Bool
+boolupgr Ordering
+LT Bool
+True = Bool
+False
+boolupgr Ordering
+LT Bool
+False = Bool
+False
+boolupgr Ordering
+EQ Bool
+x = Bool
+x
+boolupgr Ordering
+GT Bool
+True = Bool
+True
+boolupgr Ordering
+GT Bool
+False = Bool
+True
+{-# INLINE boolupgr #-}
+
+-- | \'update\' the on-ground status
+updonground :: NewlyTouchingGround -> Bool -> Bool
+updonground :: NewlyTouchingGround -> Bool -> Bool
+updonground = (Ordering -> Bool -> Bool) -> NewlyTouchingGround -> Bool -> Bool
+forall a b. Coercible a b => a -> b
+coerce Ordering -> Bool -> Bool
+boolupgr
+{-# INLINE updonground #-}
+
+-- internal control-flow exception because i don't think i can use call/cc
+newtype EarlyExit a = EarlyExit (Resolve a)
+  deriving stock ((forall x. EarlyExit a -> Rep (EarlyExit a) x)
+-> (forall x. Rep (EarlyExit a) x -> EarlyExit a)
+-> Generic (EarlyExit a)
+forall x. Rep (EarlyExit a) x -> EarlyExit a
+forall x. EarlyExit a -> Rep (EarlyExit a) x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+forall a x. Rep (EarlyExit a) x -> EarlyExit a
+forall a x. EarlyExit a -> Rep (EarlyExit a) x
+$cfrom :: forall a x. EarlyExit a -> Rep (EarlyExit a) x
+from :: forall x. EarlyExit a -> Rep (EarlyExit a) x
+$cto :: forall a x. Rep (EarlyExit a) x -> EarlyExit a
+to :: forall x. Rep (EarlyExit a) x -> EarlyExit a
+Generic, Typeable)
+  deriving anyclass (Show (EarlyExit a)
+Typeable (EarlyExit a)
+(Typeable (EarlyExit a), Show (EarlyExit a)) =>
+(EarlyExit a -> SomeException)
+-> (SomeException -> Maybe (EarlyExit a))
+-> (EarlyExit a -> String)
+-> Exception (EarlyExit a)
+SomeException -> Maybe (EarlyExit a)
+EarlyExit a -> String
+EarlyExit a -> SomeException
+forall a. Typeable a => Show (EarlyExit a)
+forall a. Typeable a => Typeable (EarlyExit a)
+forall e.
+(Typeable e, Show e) =>
+(e -> SomeException)
+-> (SomeException -> Maybe e) -> (e -> String) -> Exception e
+forall a. Typeable a => SomeException -> Maybe (EarlyExit a)
+forall a. Typeable a => EarlyExit a -> String
+forall a. Typeable a => EarlyExit a -> SomeException
+$ctoException :: forall a. Typeable a => EarlyExit a -> SomeException
+toException :: EarlyExit a -> SomeException
+$cfromException :: forall a. Typeable a => SomeException -> Maybe (EarlyExit a)
+fromException :: SomeException -> Maybe (EarlyExit a)
+$cdisplayException :: forall a. Typeable a => EarlyExit a -> String
+displayException :: EarlyExit a -> String
+Exception)
+
+instance Show (EarlyExit a) where
+  show :: EarlyExit a -> String
+show EarlyExit a
+_ = String
+"EarlyExit"
+
+-- | newly touching ground?
+--
+-- - 'LT' means it taking off from the ground
+-- - 'EQ' means it should maintain the previous state
+-- - 'GT' means it landing on the ground
+newtype NewlyTouchingGround = NewlyTouchingGround {NewlyTouchingGround -> Ordering
+newonground :: Ordering}
+  deriving newtype (Int -> NewlyTouchingGround -> ShowS
+[NewlyTouchingGround] -> ShowS
+NewlyTouchingGround -> String
+(Int -> NewlyTouchingGround -> ShowS)
+-> (NewlyTouchingGround -> String)
+-> ([NewlyTouchingGround] -> ShowS)
+-> Show NewlyTouchingGround
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> NewlyTouchingGround -> ShowS
+showsPrec :: Int -> NewlyTouchingGround -> ShowS
+$cshow :: NewlyTouchingGround -> String
+show :: NewlyTouchingGround -> String
+$cshowList :: [NewlyTouchingGround] -> ShowS
+showList :: [NewlyTouchingGround] -> ShowS
+Show, NewlyTouchingGround -> NewlyTouchingGround -> Bool
+(NewlyTouchingGround -> NewlyTouchingGround -> Bool)
+-> (NewlyTouchingGround -> NewlyTouchingGround -> Bool)
+-> Eq NewlyTouchingGround
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: NewlyTouchingGround -> NewlyTouchingGround -> Bool
+== :: NewlyTouchingGround -> NewlyTouchingGround -> Bool
+$c/= :: NewlyTouchingGround -> NewlyTouchingGround -> Bool
+/= :: NewlyTouchingGround -> NewlyTouchingGround -> Bool
+Eq, Eq NewlyTouchingGround
+Eq NewlyTouchingGround =>
+(NewlyTouchingGround -> NewlyTouchingGround -> Ordering)
+-> (NewlyTouchingGround -> NewlyTouchingGround -> Bool)
+-> (NewlyTouchingGround -> NewlyTouchingGround -> Bool)
+-> (NewlyTouchingGround -> NewlyTouchingGround -> Bool)
+-> (NewlyTouchingGround -> NewlyTouchingGround -> Bool)
+-> (NewlyTouchingGround
+    -> NewlyTouchingGround -> NewlyTouchingGround)
+-> (NewlyTouchingGround
+    -> NewlyTouchingGround -> NewlyTouchingGround)
+-> Ord NewlyTouchingGround
+NewlyTouchingGround -> NewlyTouchingGround -> Bool
+NewlyTouchingGround -> NewlyTouchingGround -> Ordering
+NewlyTouchingGround -> NewlyTouchingGround -> NewlyTouchingGround
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: NewlyTouchingGround -> NewlyTouchingGround -> Ordering
+compare :: NewlyTouchingGround -> NewlyTouchingGround -> Ordering
+$c< :: NewlyTouchingGround -> NewlyTouchingGround -> Bool
+< :: NewlyTouchingGround -> NewlyTouchingGround -> Bool
+$c<= :: NewlyTouchingGround -> NewlyTouchingGround -> Bool
+<= :: NewlyTouchingGround -> NewlyTouchingGround -> Bool
+$c> :: NewlyTouchingGround -> NewlyTouchingGround -> Bool
+> :: NewlyTouchingGround -> NewlyTouchingGround -> Bool
+$c>= :: NewlyTouchingGround -> NewlyTouchingGround -> Bool
+>= :: NewlyTouchingGround -> NewlyTouchingGround -> Bool
+$cmax :: NewlyTouchingGround -> NewlyTouchingGround -> NewlyTouchingGround
+max :: NewlyTouchingGround -> NewlyTouchingGround -> NewlyTouchingGround
+$cmin :: NewlyTouchingGround -> NewlyTouchingGround -> NewlyTouchingGround
+min :: NewlyTouchingGround -> NewlyTouchingGround -> NewlyTouchingGround
+Ord, Int -> NewlyTouchingGround
+NewlyTouchingGround -> Int
+NewlyTouchingGround -> [NewlyTouchingGround]
+NewlyTouchingGround -> NewlyTouchingGround
+NewlyTouchingGround -> NewlyTouchingGround -> [NewlyTouchingGround]
+NewlyTouchingGround
+-> NewlyTouchingGround
+-> NewlyTouchingGround
+-> [NewlyTouchingGround]
+(NewlyTouchingGround -> NewlyTouchingGround)
+-> (NewlyTouchingGround -> NewlyTouchingGround)
+-> (Int -> NewlyTouchingGround)
+-> (NewlyTouchingGround -> Int)
+-> (NewlyTouchingGround -> [NewlyTouchingGround])
+-> (NewlyTouchingGround
+    -> NewlyTouchingGround -> [NewlyTouchingGround])
+-> (NewlyTouchingGround
+    -> NewlyTouchingGround -> [NewlyTouchingGround])
+-> (NewlyTouchingGround
+    -> NewlyTouchingGround
+    -> NewlyTouchingGround
+    -> [NewlyTouchingGround])
+-> Enum NewlyTouchingGround
+forall a.
+(a -> a)
+-> (a -> a)
+-> (Int -> a)
+-> (a -> Int)
+-> (a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> a -> [a])
+-> Enum a
+$csucc :: NewlyTouchingGround -> NewlyTouchingGround
+succ :: NewlyTouchingGround -> NewlyTouchingGround
+$cpred :: NewlyTouchingGround -> NewlyTouchingGround
+pred :: NewlyTouchingGround -> NewlyTouchingGround
+$ctoEnum :: Int -> NewlyTouchingGround
+toEnum :: Int -> NewlyTouchingGround
+$cfromEnum :: NewlyTouchingGround -> Int
+fromEnum :: NewlyTouchingGround -> Int
+$cenumFrom :: NewlyTouchingGround -> [NewlyTouchingGround]
+enumFrom :: NewlyTouchingGround -> [NewlyTouchingGround]
+$cenumFromThen :: NewlyTouchingGround -> NewlyTouchingGround -> [NewlyTouchingGround]
+enumFromThen :: NewlyTouchingGround -> NewlyTouchingGround -> [NewlyTouchingGround]
+$cenumFromTo :: NewlyTouchingGround -> NewlyTouchingGround -> [NewlyTouchingGround]
+enumFromTo :: NewlyTouchingGround -> NewlyTouchingGround -> [NewlyTouchingGround]
+$cenumFromThenTo :: NewlyTouchingGround
+-> NewlyTouchingGround
+-> NewlyTouchingGround
+-> [NewlyTouchingGround]
+enumFromThenTo :: NewlyTouchingGround
+-> NewlyTouchingGround
+-> NewlyTouchingGround
+-> [NewlyTouchingGround]
+Enum, NewlyTouchingGround
+NewlyTouchingGround
+-> NewlyTouchingGround -> Bounded NewlyTouchingGround
+forall a. a -> a -> Bounded a
+$cminBound :: NewlyTouchingGround
+minBound :: NewlyTouchingGround
+$cmaxBound :: NewlyTouchingGround
+maxBound :: NewlyTouchingGround
+Bounded, Eq NewlyTouchingGround
+Eq NewlyTouchingGround =>
+(Int -> NewlyTouchingGround -> Int)
+-> (NewlyTouchingGround -> Int) -> Hashable NewlyTouchingGround
+Int -> NewlyTouchingGround -> Int
+NewlyTouchingGround -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+$chashWithSalt :: Int -> NewlyTouchingGround -> Int
+hashWithSalt :: Int -> NewlyTouchingGround -> Int
+$chash :: NewlyTouchingGround -> Int
+hash :: NewlyTouchingGround -> Int
+Hashable)
+  deriving stock (Typeable NewlyTouchingGround
+Typeable NewlyTouchingGround =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g)
+ -> NewlyTouchingGround
+ -> c NewlyTouchingGround)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c NewlyTouchingGround)
+-> (NewlyTouchingGround -> Constr)
+-> (NewlyTouchingGround -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c NewlyTouchingGround))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c NewlyTouchingGround))
+-> ((forall b. Data b => b -> b)
+    -> NewlyTouchingGround -> NewlyTouchingGround)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> NewlyTouchingGround -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> NewlyTouchingGround -> r)
+-> (forall u.
+    (forall d. Data d => d -> u) -> NewlyTouchingGround -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> NewlyTouchingGround -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d)
+    -> NewlyTouchingGround -> m NewlyTouchingGround)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d)
+    -> NewlyTouchingGround -> m NewlyTouchingGround)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d)
+    -> NewlyTouchingGround -> m NewlyTouchingGround)
+-> Data NewlyTouchingGround
+NewlyTouchingGround -> Constr
+NewlyTouchingGround -> DataType
+(forall b. Data b => b -> b)
+-> NewlyTouchingGround -> NewlyTouchingGround
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u.
+Int -> (forall d. Data d => d -> u) -> NewlyTouchingGround -> u
+forall u.
+(forall d. Data d => d -> u) -> NewlyTouchingGround -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> NewlyTouchingGround -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> NewlyTouchingGround -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d)
+-> NewlyTouchingGround -> m NewlyTouchingGround
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> NewlyTouchingGround -> m NewlyTouchingGround
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c NewlyTouchingGround
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g)
+-> NewlyTouchingGround
+-> c NewlyTouchingGround
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c NewlyTouchingGround)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c NewlyTouchingGround)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g)
+-> NewlyTouchingGround
+-> c NewlyTouchingGround
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g)
+-> NewlyTouchingGround
+-> c NewlyTouchingGround
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c NewlyTouchingGround
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c NewlyTouchingGround
+$ctoConstr :: NewlyTouchingGround -> Constr
+toConstr :: NewlyTouchingGround -> Constr
+$cdataTypeOf :: NewlyTouchingGround -> DataType
+dataTypeOf :: NewlyTouchingGround -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c NewlyTouchingGround)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c NewlyTouchingGround)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c NewlyTouchingGround)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c NewlyTouchingGround)
+$cgmapT :: (forall b. Data b => b -> b)
+-> NewlyTouchingGround -> NewlyTouchingGround
+gmapT :: (forall b. Data b => b -> b)
+-> NewlyTouchingGround -> NewlyTouchingGround
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> NewlyTouchingGround -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> NewlyTouchingGround -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> NewlyTouchingGround -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> NewlyTouchingGround -> r
+$cgmapQ :: forall u.
+(forall d. Data d => d -> u) -> NewlyTouchingGround -> [u]
+gmapQ :: forall u.
+(forall d. Data d => d -> u) -> NewlyTouchingGround -> [u]
+$cgmapQi :: forall u.
+Int -> (forall d. Data d => d -> u) -> NewlyTouchingGround -> u
+gmapQi :: forall u.
+Int -> (forall d. Data d => d -> u) -> NewlyTouchingGround -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d)
+-> NewlyTouchingGround -> m NewlyTouchingGround
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d)
+-> NewlyTouchingGround -> m NewlyTouchingGround
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> NewlyTouchingGround -> m NewlyTouchingGround
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> NewlyTouchingGround -> m NewlyTouchingGround
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> NewlyTouchingGround -> m NewlyTouchingGround
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> NewlyTouchingGround -> m NewlyTouchingGround
+Data, (forall x. NewlyTouchingGround -> Rep NewlyTouchingGround x)
+-> (forall x. Rep NewlyTouchingGround x -> NewlyTouchingGround)
+-> Generic NewlyTouchingGround
+forall x. Rep NewlyTouchingGround x -> NewlyTouchingGround
+forall x. NewlyTouchingGround -> Rep NewlyTouchingGround x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. NewlyTouchingGround -> Rep NewlyTouchingGround x
+from :: forall x. NewlyTouchingGround -> Rep NewlyTouchingGround x
+$cto :: forall x. Rep NewlyTouchingGround x -> NewlyTouchingGround
+to :: forall x. Rep NewlyTouchingGround x -> NewlyTouchingGround
+Generic, Typeable)
+
+-- | is it landing?
+islanding :: NewlyTouchingGround -> Bool
+islanding :: NewlyTouchingGround -> Bool
+islanding = (Ordering -> Ordering -> Bool
+forall a. Eq a => a -> a -> Bool
+== Ordering
+GT) (Ordering -> Bool)
+-> (NewlyTouchingGround -> Ordering) -> NewlyTouchingGround -> Bool
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. NewlyTouchingGround -> Ordering
+newonground
+{-# INLINE islanding #-}
+
+-- | is it taking off?
+istakingoff :: NewlyTouchingGround -> Bool
+istakingoff :: NewlyTouchingGround -> Bool
+istakingoff = (Ordering -> Ordering -> Bool
+forall a. Eq a => a -> a -> Bool
+== Ordering
+LT) (Ordering -> Bool)
+-> (NewlyTouchingGround -> Ordering) -> NewlyTouchingGround -> Bool
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. NewlyTouchingGround -> Ordering
+newonground
+{-# INLINE istakingoff #-}
+
+-- | get a block's shape at integer coordinates (dynamic effect)
+data GetBlock (f :: Type -> Type) a :: Effect where
+  -- | get a block's shape at integer coordinates
+  GetBlock :: !(V3 Int) %1 -> GetBlock f a m (Maybe (f a))
+
+type instance DispatchOf (GetBlock f a) = Dynamic
+
+-- | get a block's shape at integer coordinates
+getblock ::
+  (HasCallStack, GetBlock f a :> ef) =>
+  -- | integer coordinates
+  V3 Int ->
+  -- | if (relevant) block exists, return its shape
+  --
+  -- what block is \"relevant\" is up to the implementation
+  Eff ef (Maybe (f a))
+getblock :: forall (f :: * -> *) a (ef :: [Effect]).
+(HasCallStack, GetBlock f a :> ef) =>
+V3 Int -> Eff ef (Maybe (f a))
+getblock = GetBlock f a (Eff ef) (Maybe (f a)) -> Eff ef (Maybe (f a))
+forall (e :: Effect) (es :: [Effect]) a.
+(HasCallStack, DispatchOf e ~ 'Dynamic, e :> es) =>
+e (Eff es) a -> Eff es a
+send (GetBlock f a (Eff ef) (Maybe (f a)) -> Eff ef (Maybe (f a)))
+-> (V3 Int -> GetBlock f a (Eff ef) (Maybe (f a)))
+-> V3 Int
+-> Eff ef (Maybe (f a))
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. V3 Int -> GetBlock f a (Eff ef) (Maybe (f a))
+forall (f :: * -> *) a (m :: * -> *).
+V3 Int -> GetBlock f a m (Maybe (f a))
+GetBlock
+{-# INLINE getblock #-}
+
+-- | detect and resolve collision
+resolve ::
+  ( Shape s,
+    RealFloat n,
+    Epsilon n,
+    Typeable n,
+    GetBlock s n :> ef
+  ) =>
+  -- | shape of the object who is moving
+  s n ->
+  -- | attempted displacement
+  V3 n ->
+  -- | new resolution
+  --
+  -- unless it got stuck, the new displacement should be zero
+  Eff ef (Resolve n)
+resolve :: forall (s :: * -> *) n (ef :: [Effect]).
+(Shape s, RealFloat n, Epsilon n, Typeable n,
+ GetBlock s n :> ef) =>
+s n -> V3 n -> Eff ef (Resolve n)
+resolve s n
+myself V3 n
+disp =
+  let res0 :: Resolve n
+res0 = V3 n -> V3 n -> NewlyTouchingGround -> Resolve n
+forall a. V3 a -> V3 a -> NewlyTouchingGround -> Resolve a
+Resolve (s n -> V3 n
+forall a. (Fractional a, Ord a) => s a -> V3 a
+forall (s :: * -> *) a.
+(Shape s, Fractional a, Ord a) =>
+s a -> V3 a
+scenter s n
+myself) V3 n
+disp (Ordering -> NewlyTouchingGround
+NewlyTouchingGround Ordering
+EQ)
+      fps :: [V3 n]
+fps =
+        (V3 Int -> V3 n) -> [V3 Int] -> [V3 n]
+forall a b. (a -> b) -> [a] -> [b]
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+fmap ((s n -> V3 n
+forall (s :: * -> *) a.
+(Shape s, Fractional a, Ord a) =>
+s a -> V3 a
+slocorner s n
+myself +) (V3 n -> V3 n) -> (V3 Int -> V3 n) -> V3 Int -> V3 n
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. (Int -> n) -> V3 Int -> V3 n
+forall a b. (a -> b) -> V3 a -> V3 b
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+fmap Int -> n
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral) do
+          V3 Int -> V3 Int -> [V3 Int]
+facepoints
+            (n -> Int
+forall b. Integral b => n -> b
+forall a b. (RealFrac a, Integral b) => a -> b
+ceiling (n -> Int) -> V3 n -> V3 Int
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> s n -> V3 n
+forall a. (Fractional a, Ord a) => s a -> V3 a
+forall (s :: * -> *) a.
+(Shape s, Fractional a, Ord a) =>
+s a -> V3 a
+sdimensions s n
+myself)
+            (n -> Int
+forall b. Integral b => n -> b
+forall a b. (RealFrac a, Integral b) => a -> b
+round (n -> Int) -> (n -> n) -> n -> Int
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. n -> n
+forall a. Num a => a -> a
+signum (n -> Int) -> V3 n -> V3 Int
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> V3 n
+disp)
+   in Eff ef (Resolve n)
+-> (EarlyExit n -> Eff ef (Resolve n)) -> Eff ef (Resolve n)
+forall e (es :: [Effect]) a.
+Exception e =>
+Eff es a -> (e -> Eff es a) -> Eff es a
+catch
+        do
+          if V3 n -> Bool
+forall a. Epsilon a => a -> Bool
+nearZero V3 n
+disp
+            then Resolve n -> Eff ef (Resolve n)
+forall a. a -> Eff ef a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure Resolve n
+res0
+            else [V3 n]
+-> Eff (Reader [V3 n] : ef) (Resolve n) -> Eff ef (Resolve n)
+forall r (es :: [Effect]) a.
+HasCallStack =>
+r -> Eff (Reader r : es) a -> Eff es a
+runReader [V3 n]
+fps (Eff (Reader [V3 n] : ef) (Resolve n) -> Eff ef (Resolve n))
+-> (Resolve n -> Eff (Reader [V3 n] : ef) (Resolve n))
+-> Resolve n
+-> Eff ef (Resolve n)
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. s n -> Resolve n -> Eff (Reader [V3 n] : ef) (Resolve n)
+forall (s :: * -> *) n (ef :: [Effect]).
+(Shape s, RealFloat n, Epsilon n, Typeable n, GetBlock s n :> ef,
+ Reader [V3 n] :> ef) =>
+s n -> Resolve n -> Eff ef (Resolve n)
+resolve' s n
+myself (Resolve n -> Eff ef (Resolve n))
+-> Resolve n -> Eff ef (Resolve n)
+forall a b. (a -> b) -> a -> b
+$ Resolve n
+res0
+        do \(EarlyExit Resolve n
+res1) -> Resolve n -> Eff ef (Resolve n)
+forall a. a -> Eff ef a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure Resolve n
+res1
+
+-- the actual implementation of 'resolve'
+resolve' ::
+  forall s n ef.
+  ( Shape s,
+    RealFloat n,
+    Epsilon n,
+    Typeable n,
+    GetBlock s n :> ef,
+    -- face points
+    Reader [V3 n] :> ef
+  ) =>
+  s n ->
+  Resolve n ->
+  Eff ef (Resolve n)
+resolve' :: forall (s :: * -> *) n (ef :: [Effect]).
+(Shape s, RealFloat n, Epsilon n, Typeable n, GetBlock s n :> ef,
+ Reader [V3 n] :> ef) =>
+s n -> Resolve n -> Eff ef (Resolve n)
+resolve' =
+  -- this is a loop that will run until the displacement is resolved
+  -- (i.e., until it stops moving due to resolution or being blocked)
+  ((s n -> Resolve n -> Eff ef (Resolve n))
+ -> s n -> Resolve n -> Eff ef (Resolve n))
+-> s n -> Resolve n -> Eff ef (Resolve n)
+forall a. (a -> a) -> a
+fix \s n -> Resolve n -> Eff ef (Resolve n)
+cont s n
+myself Resolve n
+resolution -> do
+    -- sample some points off the relevant faces of the object
+    -- we will grid march along the rays (of the displacement) shot
+    -- from these points
+    let disp :: V3 n
+disp = Resolve n -> V3 n
+forall a. Resolve a -> V3 a
+resdis Resolve n
+resolution
+        gofast :: Bool
+gofast =
+          -- if the assumptions of the fast core algorithm are met,
+          -- yeah, apply the fast core algorithm
+          V3 n -> n
+forall a. Num a => V3 a -> a
+forall (f :: * -> *) a. (Metric f, Num a) => f a -> a
+quadrance V3 n
+disp n -> n -> Bool
+forall a. Ord a => a -> a -> Bool
+<= n
+1
+            Bool -> Bool -> Bool
+|| ( n -> n
+forall a. Num a => a -> a
+abs (V3 n
+disp V3 n -> Getting n (V3 n) n -> n
+forall s a. s -> Getting a s a -> a
+^. Getting n (V3 n) n
+forall a. Lens' (V3 a) a
+forall (t :: * -> *) a. R1 t => Lens' (t a) a
+_x) n -> n -> Bool
+forall a. Eq a => a -> a -> Bool
+== n
+1
+                   Bool -> Bool -> Bool
+&& n -> n
+forall a. Num a => a -> a
+abs (V3 n
+disp V3 n -> Getting n (V3 n) n -> n
+forall s a. s -> Getting a s a -> a
+^. Getting n (V3 n) n
+forall a. Lens' (V3 a) a
+forall (t :: * -> *) a. R3 t => Lens' (t a) a
+_z) n -> n -> Bool
+forall a. Eq a => a -> a -> Bool
+== n
+1
+                   Bool -> Bool -> Bool
+&& n -> n
+forall a. Num a => a -> a
+abs (V3 n
+disp V3 n -> Getting n (V3 n) n -> n
+forall s a. s -> Getting a s a -> a
+^. Getting n (V3 n) n
+forall a. Lens' (V3 a) a
+forall (t :: * -> *) a. R2 t => Lens' (t a) a
+_y) n -> n -> Bool
+forall a. Ord a => a -> a -> Bool
+<= n
+1
+               )
+        core :: Resolve n -> s n -> Eff ef (Min (Hit' n))
+core
+          | Bool
+gofast = Resolve n -> s n -> Eff ef (Min (Hit' n))
+forall (s :: * -> *) n (ef :: [Effect]).
+(Shape s, Epsilon n, RealFloat n, GetBlock s n :> ef,
+ Reader [V3 n] :> ef) =>
+Resolve n -> s n -> Eff ef (Min (Hit' n))
+fastcore
+          | Bool
+otherwise = Resolve n -> s n -> Eff ef (Min (Hit' n))
+forall (s :: * -> *) n (ef :: [Effect]).
+(Shape s, Epsilon n, RealFloat n, GetBlock s n :> ef,
+ Reader [V3 n] :> ef) =>
+Resolve n -> s n -> Eff ef (Min (Hit' n))
+slowcore
+    [V3 n]
+fps <- forall r (es :: [Effect]).
+(HasCallStack, Reader r :> es) =>
+Eff es r
+ask @[V3 n] -- retrieve the face points
+    -- if i'm currently in contact with something, i can freely
+    -- move in the direction of the displacement, as part of the
+    -- game physics; this is so i can unstuck myself out
+    [V3 Int] -> (V3 Int -> Eff ef ()) -> Eff ef ()
+forall (t :: * -> *) (f :: * -> *) a b.
+(Foldable t, Applicative f) =>
+t a -> (a -> f b) -> f ()
+for_ ((n -> Int) -> V3 n -> V3 Int
+forall a b. (a -> b) -> V3 a -> V3 b
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+fmap n -> Int
+forall b. Integral b => n -> b
+forall a b. (RealFrac a, Integral b) => a -> b
+floor (V3 n -> V3 Int) -> [V3 n] -> [V3 Int]
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> [V3 n]
+fps) do
+      V3 Int -> Eff ef (Maybe (s n))
+forall (f :: * -> *) a (ef :: [Effect]).
+(HasCallStack, GetBlock f a :> ef) =>
+V3 Int -> Eff ef (Maybe (f a))
+getblock (V3 Int -> Eff ef (Maybe (s n)))
+-> (Maybe (s n) -> Eff ef ()) -> V3 Int -> Eff ef ()
+forall (m :: * -> *) a b c.
+Monad m =>
+(a -> m b) -> (b -> m c) -> a -> m c
+>=> \case
+        Just s n
+block
+          | s n -> s n -> Bool
+forall a. (Fractional a, Ord a) => s a -> s a -> Bool
+forall (s :: * -> *) a.
+(Shape s, Fractional a, Ord a) =>
+s a -> s a -> Bool
+intersecting s n
+myself s n
+block ->
+              -- i am indeed stuck, so i will just exit early
+              EarlyExit n -> Eff ef ()
+forall e (es :: [Effect]) a.
+(HasCallStack, Exception e) =>
+e -> Eff es a
+throwIO (EarlyExit n -> Eff ef ()) -> EarlyExit n -> Eff ef ()
+forall a b. (a -> b) -> a -> b
+$ Resolve n -> EarlyExit n
+forall a. Resolve a -> EarlyExit a
+EarlyExit Resolve n
+resolution
+        Maybe (s n)
+_ -> () -> Eff ef ()
+forall a. a -> Eff ef a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure ()
+    -- compute the times ("hits") at which the object will hit a block
+    -- and then find the earliest hit
+    Min (Hit' n)
+mearliest <- Resolve n -> s n -> Eff ef (Min (Hit' n))
+core Resolve n
+resolution s n
+myself
+    -- feed back (or stop)
+    case Min (Hit' n) -> Hit n
+forall a b. Coercible a b => a -> b
+coerce Min (Hit' n)
+mearliest of
+      Hit n
+earliest
+        | Hit n -> Bool
+forall a. (Num a, Ord a) => Hit a -> Bool
+hitin01 Hit n
+earliest ->
+            -- now correct the displacement; advance position
+            let ! :: V3 a -> Rep V3 -> a
+(!) = V3 a -> Rep V3 -> a
+forall a. V3 a -> Rep V3 -> a
+forall (f :: * -> *) a. Representable f => f a -> Rep f -> a
+index
+                delta :: V3 n
+delta = Hit n -> n
+forall a. Hit a -> a
+hittime Hit n
+earliest n -> V3 n -> V3 n
+forall (f :: * -> *) a. (Functor f, Num a) => a -> f a -> f a
+*^ V3 n
+disp
+                collided :: V3 Bool
+collided = (n -> n -> Bool
+forall a. Eq a => a -> a -> Bool
+/= n
+0) (n -> Bool) -> V3 n -> V3 Bool
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> Hit n -> V3 n
+forall a. Hit a -> V3 a
+hitnorm Hit n
+earliest
+                resdis :: V3 n
+resdis =
+                  (Rep V3 -> n) -> V3 n
+forall a. (Rep V3 -> a) -> V3 a
+forall (f :: * -> *) a. Representable f => (Rep f -> a) -> f a
+tabulate \Rep V3
+i ->
+                    if V3 Bool
+collided V3 Bool -> Rep V3 -> Bool
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+i
+                      then n
+0 -- collision cancels out the displacement
+                      else (n
+1 n -> n -> n
+forall a. Num a => a -> a -> a
+- Hit n -> n
+forall a. Hit a -> a
+hittime Hit n
+earliest) n -> n -> n
+forall a. Num a => a -> a -> a
+* (V3 n
+disp V3 n -> Rep V3 -> n
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+i)
+                respos :: V3 n
+respos = s n -> V3 n
+forall a. (Fractional a, Ord a) => s a -> V3 a
+forall (s :: * -> *) a.
+(Shape s, Fractional a, Ord a) =>
+s a -> V3 a
+scenter s n
+myself V3 n -> V3 n -> V3 n
+forall a. Num a => a -> a -> a
++ V3 n
+delta
+                restou :: NewlyTouchingGround
+restou
+                  | Hit n -> V3 n
+forall a. Hit a -> V3 a
+hitnorm Hit n
+earliest V3 n -> Getting n (V3 n) n -> n
+forall s a. s -> Getting a s a -> a
+^. Getting n (V3 n) n
+forall a. Lens' (V3 a) a
+forall (t :: * -> *) a. R2 t => Lens' (t a) a
+_y n -> n -> Bool
+forall a. Ord a => a -> a -> Bool
+> n
+0 = Ordering -> NewlyTouchingGround
+forall a b. Coercible a b => a -> b
+coerce Ordering
+GT -- hit the ground
+                  | V3 n
+disp V3 n -> Getting n (V3 n) n -> n
+forall s a. s -> Getting a s a -> a
+^. Getting n (V3 n) n
+forall a. Lens' (V3 a) a
+forall (t :: * -> *) a. R2 t => Lens' (t a) a
+_y n -> n -> Bool
+forall a. Ord a => a -> a -> Bool
+> n
+0 = Ordering -> NewlyTouchingGround
+forall a b. Coercible a b => a -> b
+coerce Ordering
+LT -- on-ground becomes False
+                  | Bool
+otherwise = Ordering -> NewlyTouchingGround
+forall a b. Coercible a b => a -> b
+coerce Ordering
+EQ
+                res :: Resolve n
+res = Resolve {V3 n
+respos :: V3 n
+respos :: V3 n
+respos, V3 n
+resdis :: V3 n
+resdis :: V3 n
+resdis, NewlyTouchingGround
+restou :: NewlyTouchingGround
+restou :: NewlyTouchingGround
+restou}
+             in if V3 Bool -> Bool
+forall (t :: * -> *). Foldable t => t Bool -> Bool
+or V3 Bool
+collided
+                  Bool -> Bool -> Bool
+&& Bool -> Bool
+not (V3 Bool -> Bool
+forall (t :: * -> *). Foldable t => t Bool -> Bool
+and V3 Bool
+collided)
+                  Bool -> Bool -> Bool
+&& Bool -> Bool
+not (V3 n -> Bool
+forall a. Epsilon a => a -> Bool
+nearZero V3 n
+resdis)
+                  then s n -> Resolve n -> Eff ef (Resolve n)
+cont (V3 n -> s n -> s n
+forall a. Num a => V3 a -> s a -> s a
+forall (s :: * -> *) a. (Shape s, Num a) => V3 a -> s a -> s a
+translate V3 n
+delta s n
+myself) Resolve n
+res
+                  else Resolve n -> Eff ef (Resolve n)
+forall a. a -> Eff ef a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure (Resolve n -> Eff ef (Resolve n))
+-> Resolve n -> Eff ef (Resolve n)
+forall a b. (a -> b) -> a -> b
+$ Resolve n
+res Resolve n -> (Resolve n -> Resolve n) -> Resolve n
+forall a b. a -> (a -> b) -> b
+& (V3 n -> Identity (V3 n)) -> Resolve n -> Identity (Resolve n)
+forall a (f :: * -> *).
+Functor f =>
+(V3 a -> f (V3 a)) -> Resolve a -> f (Resolve a)
+_resdis ((V3 n -> Identity (V3 n)) -> Resolve n -> Identity (Resolve n))
+-> V3 n -> Resolve n -> Resolve n
+forall s t a b. ASetter s t a b -> b -> s -> t
+.~ V3 n
+forall a. Num a => V3 a
+forall (f :: * -> *) a. (Additive f, Num a) => f a
+zero
+      Hit n
+_ ->
+        -- no collision, so apply the displacement
+        Resolve n -> Eff ef (Resolve n)
+forall a. a -> Eff ef a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure
+          Resolve
+            { respos :: V3 n
+respos = Resolve n -> V3 n
+forall a. Resolve a -> V3 a
+respos Resolve n
+resolution V3 n -> V3 n -> V3 n
+forall a. Num a => a -> a -> a
++ V3 n
+disp,
+              resdis :: V3 n
+resdis = V3 n
+forall a. Num a => V3 a
+forall (f :: * -> *) a. (Additive f, Num a) => f a
+zero,
+              restou :: NewlyTouchingGround
+restou =
+                if V3 n
+disp V3 n -> Getting n (V3 n) n -> n
+forall s a. s -> Getting a s a -> a
+^. Getting n (V3 n) n
+forall a. Lens' (V3 a) a
+forall (t :: * -> *) a. R2 t => Lens' (t a) a
+_y n -> n -> Bool
+forall a. Ord a => a -> a -> Bool
+> n
+0
+                  then Ordering -> NewlyTouchingGround
+forall a b. Coercible a b => a -> b
+coerce Ordering
+LT -- on-ground becomes False
+                  else Resolve n -> NewlyTouchingGround
+forall a. Resolve a -> NewlyTouchingGround
+restou Resolve n
+resolution -- (inherit previous decision)
+            }
+
+-- slow process ... use ray marching from each face point
+-- collect all hits found from all rays
+slowcore ::
+  forall s n ef.
+  ( Shape s,
+    Epsilon n,
+    RealFloat n,
+    GetBlock s n :> ef,
+    Reader [V3 n] :> ef
+  ) =>
+  Resolve n -> s n -> Eff ef (Min (Hit' n))
+slowcore :: forall (s :: * -> *) n (ef :: [Effect]).
+(Shape s, Epsilon n, RealFloat n, GetBlock s n :> ef,
+ Reader [V3 n] :> ef) =>
+Resolve n -> s n -> Eff ef (Min (Hit' n))
+slowcore Resolve n
+res s n
+myself =
+  forall r (es :: [Effect]).
+(HasCallStack, Reader r :> es) =>
+Eff es r
+ask @[V3 n] Eff ef [V3 n]
+-> ([V3 n] -> Eff ef (Min (Hit' n))) -> Eff ef (Min (Hit' n))
+forall a b. Eff ef a -> (a -> Eff ef b) -> Eff ef b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= \[V3 n]
+fps ->
+    [Min (Hit' n)] -> Min (Hit' n)
+forall a. Monoid a => [a] -> a
+mconcat ([Min (Hit' n)] -> Min (Hit' n))
+-> Eff ef [Min (Hit' n)] -> Eff ef (Min (Hit' n))
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> [V3 n] -> (V3 n -> Eff ef (Min (Hit' n))) -> Eff ef [Min (Hit' n)]
+forall (t :: * -> *) (f :: * -> *) a b.
+(Traversable t, Applicative f) =>
+t a -> (a -> f b) -> f (t b)
+for [V3 n]
+fps \V3 n
+fp ->
+      -- ray marching algorithm:
+      --   1. shoot ray from each face point (fp)
+      --   2. track ray's path through grid cubes
+      --   3. stop at first hit or when ray length > displacement
+      --
+      -- grid traversal details:
+      --   - ray can enter multiple cubes simultaneously:
+      --     * 1 cube: through face
+      --     * 2 cubes: through edge (if not parallel to axis)
+      --     * 3 cubes: through corner
+      --   - cubes are checked for collision
+      --   - early exit on first collision
+      --
+      -- note: behavior unspecified when ray travels exactly
+      -- along grid edge or plane, but will return something
+      -- for sake of completeness
+      (n -> V3 n -> [V3 Int] -> March V3 n
+forall (f :: * -> *) a. a -> f a -> [f Int] -> March f a
+March n
+0 V3 n
+forall a. HasCallStack => a
+undefined [n -> Int
+forall b. Integral b => n -> b
+forall a b. (RealFrac a, Integral b) => a -> b
+floor (n -> Int) -> V3 n -> V3 Int
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> V3 n
+fp] March V3 n -> [March V3 n] -> [March V3 n]
+forall a. a -> [a] -> [a]
+: V3 n -> V3 n -> [March V3 n]
+forall (f :: * -> *) a.
+(Foldable f, Representable f, Rep f ~ E f, RealFloat a,
+ Epsilon a) =>
+f a -> f a -> [March f a]
+march V3 n
+fp (Resolve n -> V3 n
+forall a. Resolve a -> V3 a
+resdis Resolve n
+res))
+        [March V3 n]
+-> ([March V3 n] -> Eff ef (Min (Hit' n))) -> Eff ef (Min (Hit' n))
+forall a b. a -> (a -> b) -> b
+& (([March V3 n] -> Eff ef (Min (Hit' n)))
+ -> [March V3 n] -> Eff ef (Min (Hit' n)))
+-> [March V3 n] -> Eff ef (Min (Hit' n))
+forall a. (a -> a) -> a
+fix \[March V3 n] -> Eff ef (Min (Hit' n))
+contrm ->
+          \case
+            -- some improper displacements can cause termination
+            -- of ray marching (which should normally be infinite)
+            [] -> Min (Hit' n) -> Eff ef (Min (Hit' n))
+forall a. a -> Eff ef a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure Min (Hit' n)
+forall a. Monoid a => a
+mempty
+            -- no hit
+            March n
+t V3 n
+_ [V3 Int]
+_ : [March V3 n]
+_ | n
+t n -> n -> Bool
+forall a. Ord a => a -> a -> Bool
+> n
+1 -> Min (Hit' n) -> Eff ef (Min (Hit' n))
+forall a. a -> Eff ef a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure Min (Hit' n)
+forall a. Monoid a => a
+mempty
+            -- entering (a) grid cube(s), are there any blocks in them?
+            March n
+_ V3 n
+_ [V3 Int]
+cubes : [March V3 n]
+rm ->
+              [V3 Int]
+cubes [V3 Int]
+-> ([V3 Int] -> Eff ef (Min (Hit' n))) -> Eff ef (Min (Hit' n))
+forall a b. a -> (a -> b) -> b
+& (([V3 Int] -> Eff ef (Min (Hit' n)))
+ -> [V3 Int] -> Eff ef (Min (Hit' n)))
+-> [V3 Int] -> Eff ef (Min (Hit' n))
+forall a. (a -> a) -> a
+fix \[V3 Int] -> Eff ef (Min (Hit' n))
+contcb -> \case
+                -- ran out of grid cubes, so, no;
+                -- need to go one step further along the ray
+                [] -> [March V3 n] -> Eff ef (Min (Hit' n))
+contrm [March V3 n]
+rm
+                -- let's check the block at the grid cube
+                V3 Int
+cb : [V3 Int]
+cb' ->
+                  (s n -> Hit n)
+-> Eff ef (Min (Hit' n)) -> V3 Int -> Eff ef (Min (Hit' n))
+forall (s :: * -> *) n (ef :: [Effect]).
+(GetBlock s n :> ef, Shape s, Fractional n, Ord n) =>
+(s n -> Hit n)
+-> Eff ef (Min (Hit' n)) -> V3 Int -> Eff ef (Min (Hit' n))
+chkcol
+                    (V3 n -> s n -> s n -> Hit n
+forall a. RealFloat a => V3 a -> s a -> s a -> Hit a
+forall (s :: * -> *) a.
+(Shape s, RealFloat a) =>
+V3 a -> s a -> s a -> Hit a
+hitting (Resolve n -> V3 n
+forall a. Resolve a -> V3 a
+resdis Resolve n
+res) s n
+myself)
+                    ([V3 Int] -> Eff ef (Min (Hit' n))
+contcb [V3 Int]
+cb')
+                    V3 Int
+cb
+
+-- fast collision detection for small movements (length <= 1 or
+-- diagonal |x|=|z|=1)
+--
+-- key idea: instead of ray marching, we check potential collision blocks
+-- directly by considering the movement box - the space swept by the object
+-- during movement
+--
+-- algorithm:
+--   for each face point of the moving object:
+--     1. find start (bef) and end (aft) positions
+--     2. generate test points at corners of movement box:
+--        - movement box is the space between bef and aft positions
+--        - use binary counting (0-7) to pick coordinates:
+--          * bit 0 = x: choose between bef.x (0) or aft.x (1)
+--          * bit 1 = y: choose between bef.y (0) or aft.y (1)
+--          * bit 2 = z: choose between bef.z (0) or aft.z (1)
+--        - skip coordinates where movement is negligible
+--     3. for each test point:
+--        - get block at that position
+--        - test if moving object would hit that block
+--        - collect all hits found
+--
+-- example: moving +X+Y (need = <True,True,False>)
+--   we only check 4 corners instead of 8 since Z movement = 0:
+--   * 000 -> (bef.x, bef.y, bef.z)
+--   * 001 -> (aft.x, bef.y, bef.z)
+--   * 010 -> (bef.x, aft.y, bef.z)
+--   * 011 -> (aft.x, aft.y, bef.z)
+fastcore ::
+  forall s n ef.
+  ( Shape s,
+    Epsilon n,
+    RealFloat n,
+    GetBlock s n :> ef,
+    Reader [V3 n] :> ef
+  ) =>
+  Resolve n -> s n -> Eff ef (Min (Hit' n))
+fastcore :: forall (s :: * -> *) n (ef :: [Effect]).
+(Shape s, Epsilon n, RealFloat n, GetBlock s n :> ef,
+ Reader [V3 n] :> ef) =>
+Resolve n -> s n -> Eff ef (Min (Hit' n))
+fastcore Resolve n
+res s n
+myself =
+  forall r (es :: [Effect]).
+(HasCallStack, Reader r :> es) =>
+Eff es r
+ask @[V3 n] -- face points (world coordinates)
+    Eff ef [V3 n]
+-> ([V3 n] -> Eff ef (Min (Hit' n))) -> Eff ef (Min (Hit' n))
+forall a b. Eff ef a -> (a -> Eff ef b) -> Eff ef b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= ([[Min (Hit' n)]] -> Min (Hit' n))
+-> Eff ef [[Min (Hit' n)]] -> Eff ef (Min (Hit' n))
+forall a b. (a -> b) -> Eff ef a -> Eff ef b
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+fmap ([Min (Hit' n)] -> Min (Hit' n)
+forall a. Monoid a => [a] -> a
+mconcat ([Min (Hit' n)] -> Min (Hit' n))
+-> ([[Min (Hit' n)]] -> [Min (Hit' n)])
+-> [[Min (Hit' n)]]
+-> Min (Hit' n)
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. [[Min (Hit' n)]] -> [Min (Hit' n)]
+forall (t :: * -> *) a. Foldable t => t [a] -> [a]
+concat) (Eff ef [[Min (Hit' n)]] -> Eff ef (Min (Hit' n)))
+-> ([V3 n] -> Eff ef [[Min (Hit' n)]])
+-> [V3 n]
+-> Eff ef (Min (Hit' n))
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> (V3 n -> Eff ef [Min (Hit' n)])
+-> [V3 n] -> Eff ef [[Min (Hit' n)]]
+forall (t :: * -> *) (f :: * -> *) a b.
+(Traversable t, Applicative f) =>
+(a -> f b) -> t a -> f (t b)
+forall (f :: * -> *) a b.
+Applicative f =>
+(a -> f b) -> [a] -> f [b]
+traverse \V3 n
+bef ->
+      let dis :: V3 n
+dis = Resolve n -> V3 n
+forall a. Resolve a -> V3 a
+resdis Resolve n
+res
+          aft :: V3 n
+aft = V3 n
+bef V3 n -> V3 n -> V3 n
+forall a. Num a => a -> a -> a
++ V3 n
+dis -- before (bef) and after (aft) positions
+          -- moving in {x,y,z} directions?
+          need :: V3 Bool
+need = Bool -> Bool
+not (Bool -> Bool) -> (n -> Bool) -> n -> Bool
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. n -> Bool
+forall a. Epsilon a => a -> Bool
+nearZero (n -> Bool) -> V3 n -> V3 Bool
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> V3 n
+dis
+          -- note: chkcol uses continuation-passing to collect hits
+          -- we use 'pure mempty' as the final continuation
+          hits :: Eff ef [Min (Hit' n)]
+hits = [V3 Int]
+-> (V3 Int -> Eff ef (Min (Hit' n))) -> Eff ef [Min (Hit' n)]
+forall (t :: * -> *) (f :: * -> *) a b.
+(Traversable t, Applicative f) =>
+t a -> (a -> f b) -> f (t b)
+for [V3 Int]
+targets ((V3 Int -> Eff ef (Min (Hit' n))) -> Eff ef [Min (Hit' n)])
+-> (V3 Int -> Eff ef (Min (Hit' n))) -> Eff ef [Min (Hit' n)]
+forall a b. (a -> b) -> a -> b
+$ (s n -> Hit n)
+-> Eff ef (Min (Hit' n)) -> V3 Int -> Eff ef (Min (Hit' n))
+forall (s :: * -> *) n (ef :: [Effect]).
+(GetBlock s n :> ef, Shape s, Fractional n, Ord n) =>
+(s n -> Hit n)
+-> Eff ef (Min (Hit' n)) -> V3 Int -> Eff ef (Min (Hit' n))
+chkcol (V3 n -> s n -> s n -> Hit n
+forall a. RealFloat a => V3 a -> s a -> s a -> Hit a
+forall (s :: * -> *) a.
+(Shape s, RealFloat a) =>
+V3 a -> s a -> s a -> Hit a
+hitting V3 n
+dis s n
+myself) (Min (Hit' n) -> Eff ef (Min (Hit' n))
+forall a. a -> Eff ef a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure Min (Hit' n)
+forall a. Monoid a => a
+mempty)
+            where
+              ! :: V3 a -> Rep V3 -> a
+(!) = V3 a -> Rep V3 -> a
+forall a. V3 a -> Rep V3 -> a
+forall (f :: * -> *) a. Representable f => f a -> Rep f -> a
+index
+              -- select position component (bef/aft) based on bit
+              pos :: Int -> E V3 -> n
+pos Int
+n E V3
+i
+                | V3 Bool
+need V3 Bool -> Rep V3 -> Bool
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+E V3
+i Bool -> Bool -> Bool
+&& Int -> Int -> Bool
+forall a. Bits a => a -> Int -> Bool
+testBit Int
+n (Int -> Int -> Int -> V3 Int
+forall a. a -> a -> a -> V3 a
+V3 Int
+0 Int
+1 Int
+2 V3 Int -> Rep V3 -> Int
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+E V3
+i) = V3 n
+aft V3 n -> Rep V3 -> n
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+E V3
+i
+                | Bool
+otherwise = V3 n
+bef V3 n -> Rep V3 -> n
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+E V3
+i
+              -- see \#2 in the algorithm description
+              targets :: [V3 Int]
+targets = [V3 Int] -> [V3 Int]
+forall a. Eq a => [a] -> [a]
+nub ([V3 Int] -> [V3 Int]) -> [V3 Int] -> [V3 Int]
+forall a b. (a -> b) -> a -> b
+$ (n -> Int) -> V3 n -> V3 Int
+forall a b. (a -> b) -> V3 a -> V3 b
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+fmap n -> Int
+forall b. Integral b => n -> b
+forall a b. (RealFrac a, Integral b) => a -> b
+floor (V3 n -> V3 Int) -> (Int -> V3 n) -> Int -> V3 Int
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. (Rep V3 -> n) -> V3 n
+(E V3 -> n) -> V3 n
+forall a. (Rep V3 -> a) -> V3 a
+forall (f :: * -> *) a. Representable f => (Rep f -> a) -> f a
+tabulate ((E V3 -> n) -> V3 n) -> (Int -> E V3 -> n) -> Int -> V3 n
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Int -> E V3 -> n
+pos (Int -> V3 Int) -> [Int] -> [V3 Int]
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> [Int
+Item [Int]
+0 .. Int
+7 :: Int]
+       in Eff ef [Min (Hit' n)]
+hits
+
+-- internal helper function for 'resolve'
+-- check if i hit a block at the grid cube (and check below for tall blocks)
+chkcol ::
+  (GetBlock s n :> ef, Shape s, Fractional n, Ord n) =>
+  -- check for hit given block shape (shape has absolute coordinates)
+  (s n -> Hit n) ->
+  -- continuation for continuing to next grid cube
+  Eff ef (Min (Hit' n)) ->
+  -- where (block coordinates)
+  V3 Int ->
+  Eff ef (Min (Hit' n))
+chkcol :: forall (s :: * -> *) n (ef :: [Effect]).
+(GetBlock s n :> ef, Shape s, Fractional n, Ord n) =>
+(s n -> Hit n)
+-> Eff ef (Min (Hit' n)) -> V3 Int -> Eff ef (Min (Hit' n))
+chkcol s n -> Hit n
+chkhit Eff ef (Min (Hit' n))
+continue V3 Int
+cb = do
+  let chkbelow :: Eff ef (Min (Hit' n) -> Min (Hit' n))
+chkbelow =
+        -- go below and check too
+        V3 Int -> Eff ef (Maybe (s n))
+forall (f :: * -> *) a (ef :: [Effect]).
+(HasCallStack, GetBlock f a :> ef) =>
+V3 Int -> Eff ef (Maybe (f a))
+getblock (V3 Int
+cb V3 Int -> (V3 Int -> V3 Int) -> V3 Int
+forall a b. a -> (a -> b) -> b
+& (Int -> Identity Int) -> V3 Int -> Identity (V3 Int)
+forall a. Lens' (V3 a) a
+forall (t :: * -> *) a. R2 t => Lens' (t a) a
+_y ((Int -> Identity Int) -> V3 Int -> Identity (V3 Int))
+-> Int -> V3 Int -> V3 Int
+forall a s t. Num a => ASetter s t a a -> a -> s -> t
+-~ Int
+1) Eff ef (Maybe (s n))
+-> (Maybe (s n) -> Min (Hit' n) -> Min (Hit' n))
+-> Eff ef (Min (Hit' n) -> Min (Hit' n))
+forall (f :: * -> *) a b. Functor f => f a -> (a -> b) -> f b
+<&> \case
+          Just s n
+blockbelow
+            | Hit n
+hit <- s n -> Hit n
+chkhit s n
+blockbelow,
+              Hit n -> Bool
+forall a. (Num a, Ord a) => Hit a -> Bool
+hitin01 Hit n
+hit ->
+                (Hit n -> Min (Hit' n)
+forall a b. Coercible a b => a -> b
+coerce Hit n
+hit <>)
+          Maybe (s n)
+_ -> Min (Hit' n) -> Min (Hit' n)
+forall a. a -> a
+id
+      {-# INLINE chkbelow #-}
+      Bool
+True ? :: Bool -> f (a -> a) -> f (a -> a)
+? f (a -> a)
+action = f (a -> a)
+action
+      Bool
+_ ? f (a -> a)
+_ = (a -> a) -> f (a -> a)
+forall a. a -> f a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure a -> a
+forall a. a -> a
+id
+      short :: s a -> Bool
+short s a
+b = s a -> V3 a
+forall (s :: * -> *) a.
+(Shape s, Fractional a, Ord a) =>
+s a -> V3 a
+shicorner s a
+b V3 a -> Getting a (V3 a) a -> a
+forall s a. s -> Getting a s a -> a
+^. Getting a (V3 a) a
+forall a. Lens' (V3 a) a
+forall (t :: * -> *) a. R2 t => Lens' (t a) a
+_y a -> a -> Bool
+forall a. Ord a => a -> a -> Bool
+< a
+0.5
+  -- check if a block exists at the grid cube & is solid
+  -- also just in case a tall block (like a fence)
+  -- is there, we check the block below it
+  V3 Int -> Eff ef (Maybe (s n))
+forall (f :: * -> *) a (ef :: [Effect]).
+(HasCallStack, GetBlock f a :> ef) =>
+V3 Int -> Eff ef (Maybe (f a))
+getblock V3 Int
+cb Eff ef (Maybe (s n))
+-> (Maybe (s n) -> Eff ef (Min (Hit' n))) -> Eff ef (Min (Hit' n))
+forall a b. Eff ef a -> (a -> Eff ef b) -> Eff ef b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= \case
+    Just s n
+block
+      | Hit n
+hit <- s n -> Hit n
+chkhit s n
+block,
+        Hit n -> Bool
+forall a. (Num a, Ord a) => Hit a -> Bool
+hitin01 Hit n
+hit ->
+          -- oh, we hit something
+          (s n -> Bool
+forall {s :: * -> *} {a}.
+(Shape s, Fractional a, Ord a) =>
+s a -> Bool
+short s n
+block Bool
+-> Eff ef (Min (Hit' n) -> Min (Hit' n))
+-> Eff ef (Min (Hit' n) -> Min (Hit' n))
+forall {f :: * -> *} {a}.
+Applicative f =>
+Bool -> f (a -> a) -> f (a -> a)
+? Eff ef (Min (Hit' n) -> Min (Hit' n))
+chkbelow) Eff ef (Min (Hit' n) -> Min (Hit' n))
+-> Eff ef (Min (Hit' n)) -> Eff ef (Min (Hit' n))
+forall a b. Eff ef (a -> b) -> Eff ef a -> Eff ef b
+forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
+<*> ((Hit n -> Min (Hit' n)
+forall a b. Coercible a b => a -> b
+coerce Hit n
+hit <>) (Min (Hit' n) -> Min (Hit' n))
+-> Eff ef (Min (Hit' n)) -> Eff ef (Min (Hit' n))
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> Eff ef (Min (Hit' n))
+continue)
+      | Bool
+otherwise ->
+          -- a block is there but we don't hit it
+          (s n -> Bool
+forall {s :: * -> *} {a}.
+(Shape s, Fractional a, Ord a) =>
+s a -> Bool
+short s n
+block Bool
+-> Eff ef (Min (Hit' n) -> Min (Hit' n))
+-> Eff ef (Min (Hit' n) -> Min (Hit' n))
+forall {f :: * -> *} {a}.
+Applicative f =>
+Bool -> f (a -> a) -> f (a -> a)
+? Eff ef (Min (Hit' n) -> Min (Hit' n))
+chkbelow) Eff ef (Min (Hit' n) -> Min (Hit' n))
+-> Eff ef (Min (Hit' n)) -> Eff ef (Min (Hit' n))
+forall a b. Eff ef (a -> b) -> Eff ef a -> Eff ef b
+forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
+<*> Eff ef (Min (Hit' n))
+continue
+    -- no block at the grid cube
+    Maybe (s n)
+Nothing -> Eff ef (Min (Hit' n) -> Min (Hit' n))
+chkbelow Eff ef (Min (Hit' n) -> Min (Hit' n))
+-> Eff ef (Min (Hit' n)) -> Eff ef (Min (Hit' n))
+forall a b. Eff ef (a -> b) -> Eff ef a -> Eff ef b
+forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
+<*> Eff ef (Min (Hit' n))
+continue
+
\ No newline at end of file diff --git a/src/M.Collision.Internal.Face.html b/src/M.Collision.Internal.Face.html new file mode 100644 index 0000000..9ca3717 --- /dev/null +++ b/src/M.Collision.Internal.Face.html @@ -0,0 +1,482 @@ +
-- |
+-- Module: M.Collision.Internal.Face
+-- Description: Point sampling on cuboid faces for collision detection
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Provides utilities for sampling points on cuboid faces, used in collision detection.
+-- The module focuses on efficient face point generation for AABB collision testing.
+module M.Collision.Internal.Face
+  ( facepoints,
+    dbgcountfacepoints,
+    dbgdesmos,
+  )
+where
+
+import Control.Lens hiding (index)
+import Data.Functor.Rep
+import Data.Ix (range)
+import Data.List (intercalate)
+import Linear.V3
+import Text.Printf
+
+-- | retrieve the points on the faces of a cuboid
+-- normal to a certain direction (sig: {-1, 0, 1}) from said cuboid
+facepoints ::
+  -- | cuboid dimensions
+  V3 Int ->
+  -- | direction (signum vector)
+  V3 Int ->
+  -- | points on the faces from the cuboid's (0, 0, 0) corner
+  [V3 Int]
+facepoints :: V3 Int -> V3 Int -> [V3 Int]
+facepoints V3 Int
+coid V3 Int
+sig =
+  let ! :: V3 a -> Rep V3 -> a
+(!) = V3 a -> Rep V3 -> a
+forall a. V3 a -> Rep V3 -> a
+forall (f :: * -> *) a. Representable f => f a -> Rep f -> a
+index
+      -- enumerate points on the faces of the cuboid
+      -- p, q, r: dimensions
+      -- ps: list of points to sample
+      -- h: permutation of a V3
+      rule :: E V3
+-> E V3 -> E V3 -> [(Int, Int)] -> (V3 Int -> V3 Int) -> [V3 Int]
+rule E V3
+p E V3
+q E V3
+r [(Int, Int)]
+ps V3 Int -> V3 Int
+h
+        | V3 Int
+sig V3 Int -> Rep V3 -> Int
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+E V3
+p Int -> Int -> Bool
+forall a. Eq a => a -> a -> Bool
+== Int
+0 = []
+        | Bool
+otherwise =
+            [ let a :: Int
+a = Int -> Int -> Int
+forall a. Ord a => a -> a -> a
+min Int
+i (V3 Int
+coid V3 Int -> Rep V3 -> Int
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+E V3
+r)
+                  b :: Int
+b = Int -> Int -> Int
+forall a. Ord a => a -> a -> a
+min Int
+j (V3 Int
+coid V3 Int -> Rep V3 -> Int
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+E V3
+q)
+                  c :: Int
+c = if V3 Int
+sig V3 Int -> Rep V3 -> Int
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+E V3
+p Int -> Int -> Bool
+forall a. Ord a => a -> a -> Bool
+< Int
+0 then Int
+0 else V3 Int
+coid V3 Int -> Rep V3 -> Int
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+E V3
+p
+               in V3 Int -> V3 Int
+h do Int -> Int -> Int -> V3 Int
+forall a. a -> a -> a -> V3 a
+V3 Int
+a Int
+b Int
+c
+            | (Int
+i, Int
+j) <- [(Int, Int)]
+ps
+            ]
+      -- compute ranges for the points to sample
+      st :: E V3 -> (Int, Int)
+st E V3
+i
+        | V3 Int
+sig V3 Int -> Rep V3 -> Int
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+E V3
+i Int -> Int -> Bool
+forall a. Ord a => a -> a -> Bool
+< Int
+0 = (Int
+1, Int
+0)
+        | V3 Int
+sig V3 Int -> Rep V3 -> Int
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+E V3
+i Int -> Int -> Bool
+forall a. Ord a => a -> a -> Bool
+> Int
+0 = (Int
+0, Int
+1)
+        | Bool
+otherwise = (Int
+0, Int
+0)
+      p0 :: [(Int, Int)]
+p0 =
+        let (Int
+sj, Int
+ej) = E V3 -> (Int, Int)
+st E V3
+forall (t :: * -> *). R2 t => E t
+ey
+            (Int
+si, Int
+ei) = E V3 -> (Int, Int)
+st E V3
+forall (t :: * -> *). R3 t => E t
+ez
+         in ((Int, Int), (Int, Int)) -> [(Int, Int)]
+forall a. Ix a => (a, a) -> [a]
+range ((Int
+si, Int
+sj), (V3 Int
+coid V3 Int -> Rep V3 -> Int
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+E V3
+forall (t :: * -> *). R3 t => E t
+ez Int -> Int -> Int
+forall a. Num a => a -> a -> a
+- Int
+ei, V3 Int
+coid V3 Int -> Rep V3 -> Int
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+E V3
+forall (t :: * -> *). R2 t => E t
+ey Int -> Int -> Int
+forall a. Num a => a -> a -> a
+- Int
+ej))
+      p1 :: [(Int, Int)]
+p1 =
+        let (Int
+sj, Int
+ej) = E V3 -> (Int, Int)
+st E V3
+forall (t :: * -> *). R3 t => E t
+ez
+         in ((Int, Int), (Int, Int)) -> [(Int, Int)]
+forall a. Ix a => (a, a) -> [a]
+range ((Int
+sj, Int
+0), (V3 Int
+coid V3 Int -> Rep V3 -> Int
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+E V3
+forall (t :: * -> *). R3 t => E t
+ez Int -> Int -> Int
+forall a. Num a => a -> a -> a
+- Int
+ej, V3 Int
+coid V3 Int -> Rep V3 -> Int
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+E V3
+forall (t :: * -> *). R1 t => E t
+ex))
+      p2 :: [(Int, Int)]
+p2 = ((Int, Int), (Int, Int)) -> [(Int, Int)]
+forall a. Ix a => (a, a) -> [a]
+range ((Int
+0, Int
+0), (V3 Int
+coid V3 Int -> Rep V3 -> Int
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+E V3
+forall (t :: * -> *). R2 t => E t
+ey, V3 Int
+coid V3 Int -> Rep V3 -> Int
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+E V3
+forall (t :: * -> *). R1 t => E t
+ex))
+      -- mirror or rotate the coordinate system
+      h0 :: V3 a -> V3 a
+h0 (V3 a
+a a
+b a
+c) = a -> a -> a -> V3 a
+forall a. a -> a -> a -> V3 a
+V3 a
+c a
+b a
+a
+      h1 :: V3 a -> V3 a
+h1 (V3 a
+a a
+b a
+c) = a -> a -> a -> V3 a
+forall a. a -> a -> a -> V3 a
+V3 a
+b a
+c a
+a
+      h2 :: V3 a -> V3 a
+h2 (V3 a
+a a
+b a
+c) = a -> a -> a -> V3 a
+forall a. a -> a -> a -> V3 a
+V3 a
+b a
+a a
+c
+   in -- compute points for faces perpendicular to the respective axes
+      forall (t :: * -> *) a. Foldable t => t [a] -> [a]
+concat @[]
+        [ E V3
+-> E V3 -> E V3 -> [(Int, Int)] -> (V3 Int -> V3 Int) -> [V3 Int]
+rule E V3
+forall (t :: * -> *). R1 t => E t
+ex E V3
+forall (t :: * -> *). R2 t => E t
+ey E V3
+forall (t :: * -> *). R3 t => E t
+ez [(Int, Int)]
+p0 V3 Int -> V3 Int
+forall {a}. V3 a -> V3 a
+h0,
+          E V3
+-> E V3 -> E V3 -> [(Int, Int)] -> (V3 Int -> V3 Int) -> [V3 Int]
+rule E V3
+forall (t :: * -> *). R2 t => E t
+ey E V3
+forall (t :: * -> *). R1 t => E t
+ex E V3
+forall (t :: * -> *). R3 t => E t
+ez [(Int, Int)]
+p1 V3 Int -> V3 Int
+forall {a}. V3 a -> V3 a
+h1,
+          E V3
+-> E V3 -> E V3 -> [(Int, Int)] -> (V3 Int -> V3 Int) -> [V3 Int]
+rule E V3
+forall (t :: * -> *). R3 t => E t
+ez E V3
+forall (t :: * -> *). R1 t => E t
+ex E V3
+forall (t :: * -> *). R2 t => E t
+ey [(Int, Int)]
+p2 V3 Int -> V3 Int
+forall {a}. V3 a -> V3 a
+h2
+        ]
+
+-- | print a list of vectors in a format that can be copy-pasted into Desmos
+dbgdesmos :: (Show a) => [V3 a] -> String
+dbgdesmos :: forall a. Show a => [V3 a] -> String
+dbgdesmos [V3 a]
+vs = String
+"[" String -> String -> String
+forall a. [a] -> [a] -> [a]
+++ String -> [String] -> String
+forall a. [a] -> [[a]] -> [a]
+intercalate String
+"," (V3 a -> String
+forall {t} {a}. (PrintfType t, Show a) => V3 a -> t
+f (V3 a -> String) -> [V3 a] -> [String]
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> [V3 a]
+vs) String -> String -> String
+forall a. [a] -> [a] -> [a]
+++ String
+"]"
+  where
+    f :: V3 a -> t
+f (V3 a
+x a
+y a
+z) = String -> String -> String -> String -> t
+forall r. PrintfType r => String -> r
+printf String
+"(%s,%s,%s)" (a -> String
+forall a. Show a => a -> String
+show a
+x) (a -> String
+forall a. Show a => a -> String
+show a
+y) (a -> String
+forall a. Show a => a -> String
+show a
+z)
+
+-- | predict the number of points sampled by 'facepoints'
+dbgcountfacepoints ::
+  -- | cuboid dimensions
+  V3 Int ->
+  -- | direction (signum vector)
+  V3 Int ->
+  -- | number of points sampled by 'facepoints'
+  Int
+dbgcountfacepoints :: V3 Int -> V3 Int -> Int
+dbgcountfacepoints ((V3 Int -> V3 Int -> V3 Int
+forall a. Num a => a -> a -> a
++ Int -> V3 Int
+forall a. a -> V3 a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure Int
+1) -> V3 Int
+coid) V3 Int
+sig =
+  let ! :: V3 a -> Rep V3 -> a
+(!) = V3 a -> Rep V3 -> a
+forall a. V3 a -> Rep V3 -> a
+forall (f :: * -> *) a. Representable f => f a -> Rep f -> a
+index
+      Bool
+c ? :: Bool -> p -> p
+? p
+a = if Bool
+c then p
+a else p
+0
+      V3 Int
+cx Int
+cy Int
+cz = V3 Int
+coid
+   in (V3 Int
+sig V3 Int -> Rep V3 -> Int
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+E V3
+forall (t :: * -> *). R1 t => E t
+ex Int -> Int -> Bool
+forall a. Eq a => a -> a -> Bool
+/= Int
+0) Bool -> Int -> Int
+forall {p}. Num p => Bool -> p -> p
+? (Int
+cy Int -> Int -> Int
+forall a. Num a => a -> a -> a
+* Int
+cz)
+        Int -> Int -> Int
+forall a. Num a => a -> a -> a
++ (V3 Int
+sig V3 Int -> Rep V3 -> Int
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+E V3
+forall (t :: * -> *). R2 t => E t
+ey Int -> Int -> Bool
+forall a. Eq a => a -> a -> Bool
+/= Int
+0) Bool -> Int -> Int
+forall {p}. Num p => Bool -> p -> p
+? (Int
+cz Int -> Int -> Int
+forall a. Num a => a -> a -> a
+* Int
+cx)
+        Int -> Int -> Int
+forall a. Num a => a -> a -> a
++ (V3 Int
+sig V3 Int -> Rep V3 -> Int
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+E V3
+forall (t :: * -> *). R3 t => E t
+ez Int -> Int -> Bool
+forall a. Eq a => a -> a -> Bool
+/= Int
+0) Bool -> Int -> Int
+forall {p}. Num p => Bool -> p -> p
+? (Int
+cx Int -> Int -> Int
+forall a. Num a => a -> a -> a
+* Int
+cy)
+        Int -> Int -> Int
+forall a. Num a => a -> a -> a
++ if
+          | Int -> V3 Int -> Bool
+forall (t :: * -> *) a. (Foldable t, Eq a) => a -> t a -> Bool
+notElem Int
+0 V3 Int
+sig -> Int
+1 Int -> Int -> Int
+forall a. Num a => a -> a -> a
+- Int
+cx Int -> Int -> Int
+forall a. Num a => a -> a -> a
+- Int
+cy Int -> Int -> Int
+forall a. Num a => a -> a -> a
+- Int
+cz
+          | Int -> V2 Int -> Bool
+forall (t :: * -> *) a. (Foldable t, Eq a) => a -> t a -> Bool
+notElem Int
+0 (V2 Int -> Bool) -> V2 Int -> Bool
+forall a b. (a -> b) -> a -> b
+$ V3 Int
+sig V3 Int -> Getting (V2 Int) (V3 Int) (V2 Int) -> V2 Int
+forall s a. s -> Getting a s a -> a
+^. Getting (V2 Int) (V3 Int) (V2 Int)
+forall a. Lens' (V3 a) (V2 a)
+forall (t :: * -> *) a. R2 t => Lens' (t a) (V2 a)
+_xy -> -Int
+cz
+          | Int -> V2 Int -> Bool
+forall (t :: * -> *) a. (Foldable t, Eq a) => a -> t a -> Bool
+notElem Int
+0 (V2 Int -> Bool) -> V2 Int -> Bool
+forall a b. (a -> b) -> a -> b
+$ V3 Int
+sig V3 Int -> Getting (V2 Int) (V3 Int) (V2 Int) -> V2 Int
+forall s a. s -> Getting a s a -> a
+^. Getting (V2 Int) (V3 Int) (V2 Int)
+Lens' (V3 Int) (V2 Int)
+forall (t :: * -> *) a. R3 t => Lens' (t a) (V2 a)
+_yz -> -Int
+cx
+          | Int -> V2 Int -> Bool
+forall (t :: * -> *) a. (Foldable t, Eq a) => a -> t a -> Bool
+notElem Int
+0 (V2 Int -> Bool) -> V2 Int -> Bool
+forall a b. (a -> b) -> a -> b
+$ V3 Int
+sig V3 Int -> Getting (V2 Int) (V3 Int) (V2 Int) -> V2 Int
+forall s a. s -> Getting a s a -> a
+^. Getting (V2 Int) (V3 Int) (V2 Int)
+Lens' (V3 Int) (V2 Int)
+forall (t :: * -> *) a. R3 t => Lens' (t a) (V2 a)
+_zx -> -Int
+cy
+          | Bool
+otherwise -> Int
+0
+
\ No newline at end of file diff --git a/src/M.Collision.Internal.March.html b/src/M.Collision.Internal.March.html new file mode 100644 index 0000000..97b3245 --- /dev/null +++ b/src/M.Collision.Internal.March.html @@ -0,0 +1,764 @@ +
-- |
+-- Module: M.Collision.Internal.March
+-- Description: Ray marching implementation for grid-based collision detection
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Implements ray marching algorithm for finding intersections with grid points.
+-- Used for precise collision detection in voxel-based environments.
+module M.Collision.Internal.March (March (..), march) where
+
+import Control.Lens hiding (index)
+import Control.Monad.Fix
+import Control.Monad.ST.Lazy
+import Data.Foldable
+import Data.Functor
+import Data.Functor.Rep
+import Data.STRef.Lazy
+import Linear hiding (trace)
+import Prelude hiding (read)
+
+-- | convert negative zero to positive zero
+nonegzero :: (RealFloat a) => a -> a
+nonegzero :: forall a. RealFloat a => a -> a
+nonegzero a
+x | a -> Bool
+forall a. RealFloat a => a -> Bool
+isNegativeZero a
+x = a
+0 -- positive zero
+nonegzero a
+x = a
+x
+
+isfinite :: (RealFloat a) => a -> Bool
+isfinite :: forall a. RealFloat a => a -> Bool
+isfinite a
+x = Bool -> Bool
+not (a -> Bool
+forall a. RealFloat a => a -> Bool
+isNaN a
+x Bool -> Bool -> Bool
+|| a -> Bool
+forall a. RealFloat a => a -> Bool
+isInfinite a
+x)
+
+-- | apply Kahan's compensated sum to two numbers
+add ::
+  (Num a) =>
+  -- | x
+  a ->
+  -- | y
+  a ->
+  -- | compensator
+  a ->
+  -- | (x + y, compensator)
+  (a, a)
+add :: forall a. Num a => a -> a -> a -> (a, a)
+add a
+x a
+y a
+c =
+  let y' :: a
+y' = a
+y a -> a -> a
+forall a. Num a => a -> a -> a
+- a
+c
+      u :: a
+u = a
+x a -> a -> a
+forall a. Num a => a -> a -> a
++ a
+y'
+      c' :: a
+c' = a
+u a -> a -> a
+forall a. Num a => a -> a -> a
+- a
+x a -> a -> a
+forall a. Num a => a -> a -> a
+- a
+y'
+   in (a
+u, a
+c')
+
+-- | intermediate data structure for 'march'
+data I f a = I
+  { -- | delta time to next intersection
+    forall (f :: * -> *) a. I f a -> a
+itim :: !a,
+    -- | new current position
+    forall (f :: * -> *) a. I f a -> f a
+icur :: !(f a),
+    -- | compensator for 'icur'
+    forall (f :: * -> *) a. I f a -> f a
+icom :: !(f a),
+    -- | grid points intersected
+    forall (f :: * -> *) a. I f a -> [f Int]
+igrid :: ![f Int]
+  }
+
+-- | 'march' data structure
+data March f a = March
+  { -- | total time
+    forall (f :: * -> *) a. March f a -> a
+mtot :: a,
+    -- | grid intersection (lies on boundaries of grid cells)
+    --
+    -- \'pct\' is for \'punctum\', which is Latin for point
+    forall (f :: * -> *) a. March f a -> f a
+mpct :: f a,
+    -- | grid points (e.g., cubes, squares) intersected
+    forall (f :: * -> *) a. March f a -> [f Int]
+mict :: [f Int]
+  }
+
+-- | march along a line segment, finding all intersections
+-- with grid squares or cubes (depending on the dimensionality)
+-- as well as the time it takes to reach each intersection
+-- and the cubes that are intersected
+--
+-- the cubes are represented by their low corner coordinates
+--
+-- in 2D, when a point is intersected, the two squares about
+-- the point that the line (that extends rhe ray) does NOT
+-- intersect will be included. it's because this routine is used
+-- for collision detection
+--
+-- in 3D, there are many edge cases, but generally only the cubes
+-- needed for collision detection are returned. so about
+-- a corner, three cubes will be returned; abour an edge,
+-- two (assuming ray is not parallel to a coordinate plane)
+--
+-- a compensated sum is used to reduce floating point error.
+-- the compensation applies to the coordinates and times
+--
+-- the returned list being infinite, it is recommended to
+-- use 'take' to limit the number of points to be computed
+--
+-- the starting point is not included in the list unless it
+-- happens to be a grid intersection
+--
+-- if the direction is (near) zero, or if any component of the
+-- direction is not finite, then the function will return an empty list
+march ::
+  forall f a.
+  ( Foldable f,
+    Representable f,
+    Rep f ~ E f,
+    RealFloat a,
+    Epsilon a
+  ) =>
+  -- | starting point. use either f ~ 'V2' or f ~ 'V3' or other 'Representable'
+  -- vector types where 'fmap f x' agrees with
+  --
+  -- @'tabulate' \\i -> f ('index' x i))@
+  f a ->
+  -- | direction (no need to be normalized)
+  f a ->
+  -- | list of (total time, point, [grid point]) pairs
+  [March f a]
+march :: forall (f :: * -> *) a.
+(Foldable f, Representable f, Rep f ~ E f, RealFloat a,
+ Epsilon a) =>
+f a -> f a -> [March f a]
+march f a
+_ f a
+direction | (Bool -> Bool
+not (Bool -> Bool) -> (f a -> Bool) -> f a -> Bool
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. (a -> Bool) -> f a -> Bool
+forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Bool
+all a -> Bool
+forall a. RealFloat a => a -> Bool
+isfinite) f a
+direction = []
+march f a
+_ f a
+direction | (a -> Bool) -> f a -> Bool
+forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Bool
+all a -> Bool
+forall a. Epsilon a => a -> Bool
+nearZero f a
+direction = []
+march f a
+start ((a -> a) -> f a -> f a
+forall a b. (a -> b) -> f a -> f b
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+fmap a -> a
+forall a. RealFloat a => a -> a
+nonegzero -> f a
+direction) = (forall s. ST s [March f a]) -> [March f a]
+forall a. (forall s. ST s a) -> a
+runST do
+  let fi :: Int -> a
+fi = Int -> a
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral :: Int -> a
+      ! :: f a -> Rep f -> a
+(!) = f a -> Rep f -> a
+forall a. f a -> Rep f -> a
+forall (f :: * -> *) a. Representable f => f a -> Rep f -> a
+index
+      new :: a -> ST s (STRef s a)
+new = a -> ST s (STRef s a)
+forall a s. a -> ST s (STRef s a)
+newSTRef
+      read :: STRef s a -> ST s a
+read = STRef s a -> ST s a
+forall s a. STRef s a -> ST s a
+readSTRef
+      write :: STRef s a -> a -> ST s ()
+write = STRef s a -> a -> ST s ()
+forall s a. STRef s a -> a -> ST s ()
+writeSTRef
+      modify :: STRef s a -> (a -> a) -> ST s ()
+modify = STRef s a -> (a -> a) -> ST s ()
+forall s a. STRef s a -> (a -> a) -> ST s ()
+modifySTRef
+      lift2 :: (Int -> Int -> Int) -> f Int -> f Int -> f Int
+lift2 Int -> Int -> Int
+f f Int
+x f Int
+y = forall (f :: * -> *) a. Representable f => (Rep f -> a) -> f a
+tabulate @f \Rep f
+i -> Int -> Int -> Int
+f (f Int
+x f Int -> Rep f -> Int
+forall a. f a -> Rep f -> a
+! Rep f
+i) (f Int
+y f Int -> Rep f -> Int
+forall a. f a -> Rep f -> a
+! Rep f
+i)
+      minimum_ :: [a] -> a
+minimum_ = (a -> a -> a) -> [a] -> a
+forall a. (a -> a -> a) -> [a] -> a
+forall (t :: * -> *) a. Foldable t => (a -> a -> a) -> t a -> a
+foldr1 \a
+a a
+b ->
+        if
+          | a -> Bool
+forall a. RealFloat a => a -> Bool
+isNaN a
+a -> a
+b
+          | a -> Bool
+forall a. RealFloat a => a -> Bool
+isNaN a
+b -> a
+a
+          | Bool
+otherwise -> a -> a -> a
+forall a. Ord a => a -> a -> a
+min a
+a a
+b -- if both are NaN, then pick either
+      computesig :: f b -> f b
+computesig f b
+d = b -> b
+forall {a}. (Eq a, Num a) => a -> a
+f (b -> b) -> (b -> b) -> b -> b
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. b -> b
+forall b. Integral b => b -> b
+forall a b. (RealFrac a, Integral b) => a -> b
+floor (b -> b) -> (b -> b) -> b -> b
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. b -> b
+forall a. Num a => a -> a
+signum (b -> b) -> f b -> f b
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> f b
+d
+        where
+          -- for difficult-to-explain reasons, you need to give a stationary (0)
+          -- displacement component a fake signum of +1 in order to avoid
+          -- getting -Infinity when it shouldn't
+          -- \^ FIXME: this explanation could be outdated
+          f :: a -> a
+f a
+0 = a
+1
+          f a
+x = a
+x
+      -- round toward opposite direction of a signum component
+      round_ :: a -> a -> b
+round_ (-1) = a -> b
+forall b. Integral b => a -> b
+forall a b. (RealFrac a, Integral b) => a -> b
+ceiling
+      round_ a
+1 = a -> b
+forall b. Integral b => a -> b
+forall a b. (RealFrac a, Integral b) => a -> b
+floor
+      round_ a
+_ = [Char] -> a -> b
+forall a. HasCallStack => [Char] -> a
+error [Char]
+"signum neither -1 nor 1"
+      -- vector of functions that each generate a grid point
+      -- (specialized for each dimension). confused yet? yeah, it's
+      -- really hard to explain
+      gengridpoints :: f (f Int -> f a -> f Int)
+gengridpoints = (Rep f -> f Int -> f a -> f Int) -> f (f Int -> f a -> f Int)
+forall a. (Rep f -> a) -> f a
+forall (f :: * -> *) a. Representable f => (Rep f -> a) -> f a
+tabulate \Rep f
+i f Int
+sig f a
+v ->
+        -- grid point (compute from later-determined cur value)
+        -- this was the hardest part to figure out
+        --
+        -- 1
+        -- on (round_ (-(sig ! j))) ... you need a greatest integer
+        -- less than (or least integer greater than) the current
+        -- coordinate, which is either ((subtract 1) . ceiling)
+        -- or ((+ 1) . floor), depending on the OPPOSITE side of the
+        -- signum of the direction. the subtract 1 vs. + 1 will be done
+        -- when we subtract the sig component from the grid point
+        -- later on
+        --
+        -- 2
+        -- on (max 0 <$> sig) ... if you flip the coordinate system
+        -- by some axis, the grid points are still numbered by the
+        -- bottom left (& etc) corner, so you need to subtract 1
+        -- from the grid point if the direction is negative. this
+        -- means to add 1 to the sig component -> hence max 0
+        let roundedv :: f Int
+roundedv = (Rep f -> Int) -> f Int
+forall a. (Rep f -> a) -> f a
+forall (f :: * -> *) a. Representable f => (Rep f -> a) -> f a
+tabulate \Rep f
+j -> Int -> a -> Int
+forall {a} {b} {a}.
+(RealFrac a, Integral b, Eq a, Num a) =>
+a -> a -> b
+round_ (-(f Int
+sig f Int -> Rep f -> Int
+forall a. f a -> Rep f -> a
+! Rep f
+j)) (f a
+v f a -> Rep f -> a
+forall a. f a -> Rep f -> a
+! Rep f
+j)
+         in (Int -> Int -> Int) -> f Int -> f Int -> f Int
+lift2 (-) f Int
+roundedv (Int -> Int -> Int
+forall a. Ord a => a -> a -> a
+max Int
+0 (Int -> Int) -> f Int -> f Int
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> f Int
+sig) f Int -> (f Int -> f Int) -> f Int
+forall a b. a -> (a -> b) -> b
+& E f -> forall x. Lens' (f x) x
+forall (t :: * -> *). E t -> forall x. Lens' (t x) x
+el Rep f
+E f
+i ((Int -> Identity Int) -> f Int -> Identity (f Int))
+-> Int -> f Int -> f Int
+forall a s t. Num a => ASetter s t a a -> a -> s -> t
++~ f Int
+sig f Int -> Rep f -> Int
+forall a. f a -> Rep f -> a
+! Rep f
+i
+      -- 'inter' is the main loop logic
+      inter :: f Int -> f a -> f a -> f a -> I f a
+inter f Int
+sig f a
+dir f a
+com f a
+cur =
+        -- mechanism:
+        -- using the parametric equation of the line
+        -- find the closest intersection with the grid -> get 'time' value
+        -- then use the 'time' to get the coordinates of the intersection
+        let times :: f (a, f a -> f Int)
+times = (Rep f -> (a, f a -> f Int)) -> f (a, f a -> f Int)
+forall a. (Rep f -> a) -> f a
+forall (f :: * -> *) a. Representable f => (Rep f -> a) -> f a
+tabulate \Rep f
+i ->
+              let r :: a -> Int
+r = Int -> a -> Int
+forall {a} {b} {a}.
+(RealFrac a, Integral b, Eq a, Num a) =>
+a -> a -> b
+round_ (Int -> a -> Int) -> Int -> a -> Int
+forall a b. (a -> b) -> a -> b
+$ f Int
+sig f Int -> Rep f -> Int
+forall a. f a -> Rep f -> a
+! Rep f
+i
+                  u :: a
+u = Int -> a
+fi (a -> Int
+r (f a
+cur f a -> Rep f -> a
+forall a. f a -> Rep f -> a
+! Rep f
+i) Int -> Int -> Int
+forall a. Num a => a -> a -> a
++ f Int
+sig f Int -> Rep f -> Int
+forall a. f a -> Rep f -> a
+! Rep f
+i) a -> a -> a
+forall a. Num a => a -> a -> a
+- f a
+cur f a -> Rep f -> a
+forall a. f a -> Rep f -> a
+! Rep f
+i
+               in (a
+u a -> a -> a
+forall a. Fractional a => a -> a -> a
+/ f a
+dir f a -> Rep f -> a
+forall a. f a -> Rep f -> a
+! Rep f
+i, (f (f Int -> f a -> f Int)
+gengridpoints f (f Int -> f a -> f Int) -> Rep f -> f Int -> f a -> f Int
+forall a. f a -> Rep f -> a
+! Rep f
+i) f Int
+sig)
+            t :: a
+t = [a] -> a
+minimum_ ([a] -> a) -> [a] -> a
+forall a b. (a -> b) -> a -> b
+$ (a -> Bool) -> [a] -> [a]
+forall a. (a -> Bool) -> [a] -> [a]
+filter (a -> a -> Bool
+forall a. Ord a => a -> a -> Bool
+> a
+0) ([a] -> [a]) -> [a] -> [a]
+forall a b. (a -> b) -> a -> b
+$ ((a, f a -> f Int) -> a) -> [(a, f a -> f Int)] -> [a]
+forall a b. (a -> b) -> [a] -> [b]
+map (a, f a -> f Int) -> a
+forall a b. (a, b) -> a
+fst ([(a, f a -> f Int)] -> [a]) -> [(a, f a -> f Int)] -> [a]
+forall a b. (a -> b) -> a -> b
+$ f (a, f a -> f Int) -> [(a, f a -> f Int)]
+forall a. f a -> [a]
+forall (t :: * -> *) a. Foldable t => t a -> [a]
+toList f (a, f a -> f Int)
+times
+            -- funcs to compute grid coordinates at the time of intersection
+            -- if many intersected simultaneously, return all of them
+            eqtim :: a -> Bool
+eqtim = a -> Bool
+forall a. Epsilon a => a -> Bool
+nearZero (a -> Bool) -> (a -> a) -> a -> Bool
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. a -> a -> a
+forall a. Num a => a -> a -> a
+subtract a
+t
+            gridcoordsf :: [f a -> f Int]
+gridcoordsf = ((a, f a -> f Int) -> f a -> f Int)
+-> [(a, f a -> f Int)] -> [f a -> f Int]
+forall a b. (a -> b) -> [a] -> [b]
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+fmap (a, f a -> f Int) -> f a -> f Int
+forall a b. (a, b) -> b
+snd ([(a, f a -> f Int)] -> [f a -> f Int])
+-> [(a, f a -> f Int)] -> [f a -> f Int]
+forall a b. (a -> b) -> a -> b
+$ ((a, f a -> f Int) -> Bool)
+-> [(a, f a -> f Int)] -> [(a, f a -> f Int)]
+forall a. (a -> Bool) -> [a] -> [a]
+filter (a -> Bool
+eqtim (a -> Bool)
+-> ((a, f a -> f Int) -> a) -> (a, f a -> f Int) -> Bool
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. (a, f a -> f Int) -> a
+forall a b. (a, b) -> a
+fst) ([(a, f a -> f Int)] -> [(a, f a -> f Int)])
+-> [(a, f a -> f Int)] -> [(a, f a -> f Int)]
+forall a b. (a -> b) -> a -> b
+$ f (a, f a -> f Int) -> [(a, f a -> f Int)]
+forall a. f a -> [a]
+forall (t :: * -> *) a. Foldable t => t a -> [a]
+toList f (a, f a -> f Int)
+times
+            -- elementwise error-compensated vector addition
+            vadd :: f a -> f a -> f (a, a)
+vadd f a
+v f a
+w = (Rep f -> (a, a)) -> f (a, a)
+forall a. (Rep f -> a) -> f a
+forall (f :: * -> *) a. Representable f => (Rep f -> a) -> f a
+tabulate \Rep f
+i -> a -> a -> a -> (a, a)
+forall a. Num a => a -> a -> a -> (a, a)
+add (f a
+v f a -> Rep f -> a
+forall a. f a -> Rep f -> a
+! Rep f
+i) (f a
+w f a -> Rep f -> a
+forall a. f a -> Rep f -> a
+! Rep f
+i) (f a
+com f a -> Rep f -> a
+forall a. f a -> Rep f -> a
+! Rep f
+i)
+            -- update current position and compensator
+            s :: f (a, a)
+s = f a -> f a -> f (a, a)
+vadd f a
+cur (f a -> f (a, a)) -> f a -> f (a, a)
+forall a b. (a -> b) -> a -> b
+$ f a
+dir f a -> (a -> a) -> f a
+forall (f :: * -> *) a b. Functor f => f a -> (a -> b) -> f b
+<&> (a -> a -> a
+forall a. Num a => a -> a -> a
+* a
+t)
+            icur_ :: f a
+icur_ = (a, a) -> a
+forall a b. (a, b) -> a
+fst ((a, a) -> a) -> f (a, a) -> f a
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> f (a, a)
+s
+            icom :: f a
+icom = (a, a) -> a
+forall a b. (a, b) -> b
+snd ((a, a) -> a) -> f (a, a) -> f a
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> f (a, a)
+s
+            -- properly round coordinates meant to be integers
+            icur :: f a
+icur = (Rep f -> a) -> f a
+forall a. (Rep f -> a) -> f a
+forall (f :: * -> *) a. Representable f => (Rep f -> a) -> f a
+tabulate \Rep f
+i ->
+              let n :: a
+n = f a
+icur_ f a -> Rep f -> a
+forall a. f a -> Rep f -> a
+! Rep f
+i
+               in if a -> Bool
+eqtim (a -> Bool) -> a -> Bool
+forall a b. (a -> b) -> a -> b
+$ (a, f a -> f Int) -> a
+forall a b. (a, b) -> a
+fst ((a, f a -> f Int) -> a) -> (a, f a -> f Int) -> a
+forall a b. (a -> b) -> a -> b
+$ f (a, f a -> f Int)
+times f (a, f a -> f Int) -> Rep f -> (a, f a -> f Int)
+forall a. f a -> Rep f -> a
+! Rep f
+i
+                    then Int -> a
+fi (Int -> a) -> Int -> a
+forall a b. (a -> b) -> a -> b
+$ a -> Int
+forall b. Integral b => a -> b
+forall a b. (RealFrac a, Integral b) => a -> b
+round a
+n
+                    else a
+n
+         in I {itim :: a
+itim = a
+t, f a
+icur :: f a
+icur :: f a
+icur, f a
+icom :: f a
+icom :: f a
+icom, igrid :: [f Int]
+igrid = [f a -> f Int]
+gridcoordsf [f a -> f Int] -> ((f a -> f Int) -> f Int) -> [f Int]
+forall (f :: * -> *) a b. Functor f => f a -> (a -> b) -> f b
+<&> ((f a -> f Int) -> f a -> f Int
+forall a b. (a -> b) -> a -> b
+$ f a
+icur)}
+  STRef s (f a)
+cur <- f a -> ST s (STRef s (f a))
+forall a s. a -> ST s (STRef s a)
+new f a
+start -- current position
+  STRef s (f a)
+com <- f a -> ST s (STRef s (f a))
+forall a s. a -> ST s (STRef s a)
+new (f a -> ST s (STRef s (f a))) -> f a -> ST s (STRef s (f a))
+forall a b. (a -> b) -> a -> b
+$ (Rep f -> a) -> f a
+forall a. (Rep f -> a) -> f a
+forall (f :: * -> *) a. Representable f => (Rep f -> a) -> f a
+tabulate ((Rep f -> a) -> f a) -> (Rep f -> a) -> f a
+forall a b. (a -> b) -> a -> b
+$ a -> E f -> a
+forall a b. a -> b -> a
+const a
+0 -- Kahan sum compensator for cur
+  STRef s (a, a)
+tot <- (a, a) -> ST s (STRef s (a, a))
+forall a s. a -> ST s (STRef s a)
+new (a
+0, a
+0) -- (total time, compensator)
+  -- IMPORTANT NOTE:
+  -- at start, we go BACKWARD and find the first intersection
+  -- and then go forward from there to resume the normal process
+  -- this extremely hacky way of doing things is necessary
+  -- to generate the grid coordinates of the starting point in a
+  -- way that is consistent with the rest of the function
+  do
+    -- go backward and set cur, com and tot, but
+    -- don't append output to the returned list
+    let d :: f a
+d = (a -> a -> a
+forall a. Num a => a -> a -> a
+* (-a
+1)) (a -> a) -> f a -> f a
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> f a
+direction
+    I {a
+itim :: forall (f :: * -> *) a. I f a -> a
+itim :: a
+itim, f a
+icur :: forall (f :: * -> *) a. I f a -> f a
+icur :: f a
+icur, f a
+icom :: forall (f :: * -> *) a. I f a -> f a
+icom :: f a
+icom} <- f Int -> f a -> f a -> f a -> I f a
+inter (f a -> f Int
+forall {f :: * -> *} {b} {b}.
+(Functor f, RealFrac b, Integral b) =>
+f b -> f b
+computesig f a
+d) f a
+d (f a -> f a -> I f a) -> ST s (f a) -> ST s (f a -> I f a)
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> STRef s (f a) -> ST s (f a)
+forall s a. STRef s a -> ST s a
+read STRef s (f a)
+com ST s (f a -> I f a) -> ST s (f a) -> ST s (I f a)
+forall a b. ST s (a -> b) -> ST s a -> ST s b
+forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
+<*> STRef s (f a) -> ST s (f a)
+forall s a. STRef s a -> ST s a
+read STRef s (f a)
+cur
+    STRef s (a, a) -> (a, a) -> ST s ()
+forall s a. STRef s a -> a -> ST s ()
+write STRef s (a, a)
+tot (-a
+itim, a
+0)
+    STRef s (f a) -> f a -> ST s ()
+forall s a. STRef s a -> a -> ST s ()
+write STRef s (f a)
+cur f a
+icur
+    STRef s (f a) -> f a -> ST s ()
+forall s a. STRef s a -> a -> ST s ()
+write STRef s (f a)
+com f a
+icom
+  -- loop
+  (ST s [March f a] -> ST s [March f a]) -> ST s [March f a]
+forall a. (a -> a) -> a
+fix \ST s [March f a]
+this -> do
+    let sig :: f Int
+sig = f a -> f Int
+forall {f :: * -> *} {b} {b}.
+(Functor f, RealFrac b, Integral b) =>
+f b -> f b
+computesig f a
+direction
+    I {a
+itim :: forall (f :: * -> *) a. I f a -> a
+itim :: a
+itim, f a
+icur :: forall (f :: * -> *) a. I f a -> f a
+icur :: f a
+icur, f a
+icom :: forall (f :: * -> *) a. I f a -> f a
+icom :: f a
+icom, [f Int]
+igrid :: forall (f :: * -> *) a. I f a -> [f Int]
+igrid :: [f Int]
+igrid} <- f Int -> f a -> f a -> f a -> I f a
+inter f Int
+sig f a
+direction (f a -> f a -> I f a) -> ST s (f a) -> ST s (f a -> I f a)
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> STRef s (f a) -> ST s (f a)
+forall s a. STRef s a -> ST s a
+read STRef s (f a)
+com ST s (f a -> I f a) -> ST s (f a) -> ST s (I f a)
+forall a b. ST s (a -> b) -> ST s a -> ST s b
+forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
+<*> STRef s (f a) -> ST s (f a)
+forall s a. STRef s a -> ST s a
+read STRef s (f a)
+cur
+    (a
+t, a
+_) <- STRef s (a, a) -> ((a, a) -> (a, a)) -> ST s ()
+forall s a. STRef s a -> (a -> a) -> ST s ()
+modify STRef s (a, a)
+tot ((a -> a -> (a, a)) -> (a, a) -> (a, a)
+forall a b c. (a -> b -> c) -> (a, b) -> c
+uncurry (a -> a -> a -> (a, a)
+forall a. Num a => a -> a -> a -> (a, a)
+add a
+itim)) ST s () -> ST s (a, a) -> ST s (a, a)
+forall a b. ST s a -> ST s b -> ST s b
+forall (f :: * -> *) a b. Applicative f => f a -> f b -> f b
+*> STRef s (a, a) -> ST s (a, a)
+forall s a. STRef s a -> ST s a
+read STRef s (a, a)
+tot
+    STRef s (f a) -> f a -> ST s ()
+forall s a. STRef s a -> a -> ST s ()
+write STRef s (f a)
+cur f a
+icur
+    STRef s (f a) -> f a -> ST s ()
+forall s a. STRef s a -> a -> ST s ()
+write STRef s (f a)
+com f a
+icom
+    (a -> f a -> [f Int] -> March f a
+forall (f :: * -> *) a. a -> f a -> [f Int] -> March f a
+March a
+t f a
+icur [f Int]
+igrid :) ([March f a] -> [March f a])
+-> ST s [March f a] -> ST s [March f a]
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ST s [March f a]
+this
+{-# INLINEABLE march #-}
+{-# SPECIALIZE march :: V3 Double -> V3 Double -> [March V3 Double] #-}
+{-# SPECIALIZE march :: V3 Float -> V3 Float -> [March V3 Float] #-}
+
\ No newline at end of file diff --git a/src/M.Collision.Pure.html b/src/M.Collision.Pure.html new file mode 100644 index 0000000..69a5876 --- /dev/null +++ b/src/M.Collision.Pure.html @@ -0,0 +1,2014 @@ +
{-# LANGUAGE MonoLocalBinds #-}
+
+-- |
+-- Module: M.Collision.Pure
+-- Description: Pure collision detection primitives and algorithms
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Core collision detection primitives and algorithms in pure form.
+-- Provides AABB collision testing, shape interfaces, and hit detection utilities.
+module M.Collision.Pure
+  ( Shape (..),
+    SomeShape1 (..),
+    Hit (..),
+    Hit' (..),
+    Box (.., Box'),
+    ManyBoxes (..),
+    ManyBoxes_,
+    _dimensions,
+    _center,
+    _lcorner,
+    _hcorner,
+    hitin01,
+    infhit,
+    boxfromcorners,
+    castshape1,
+    boxzero,
+    hicorner,
+    hicorner',
+    locorner,
+    locorner',
+    shicorner,
+    slocorner,
+  )
+where
+
+import Control.Lens hiding (index)
+import Control.Monad.Zip
+import Data.Data
+import Data.Foldable
+import Data.Functor.Rep
+import Data.Hashable
+import Data.Ord
+import Data.Semigroup
+import GHC.Generics (Generic)
+import Linear
+
+-- | a collision resolution data type
+--
+-- no hit is represented by a hit at infinity (other fields are unspecified)
+data Hit a = Hit
+  { -- | proportion of move completed in [0, 1]
+    forall a. Hit a -> a
+hittime :: !a,
+    -- | the point of collision
+    --
+    -- if you're using 'Box', this is the center of the box
+    forall a. Hit a -> V3 a
+hitwhere :: !(V3 a),
+    -- | normal vector of the surface hit
+    --
+    -- a signum vector, so each component is either -1, 0, or 1
+    forall a. Hit a -> V3 a
+hitnorm :: !(V3 a)
+  }
+  deriving (Int -> Hit a -> ShowS
+[Hit a] -> ShowS
+Hit a -> String
+(Int -> Hit a -> ShowS)
+-> (Hit a -> String) -> ([Hit a] -> ShowS) -> Show (Hit a)
+forall a. Show a => Int -> Hit a -> ShowS
+forall a. Show a => [Hit a] -> ShowS
+forall a. Show a => Hit a -> String
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: forall a. Show a => Int -> Hit a -> ShowS
+showsPrec :: Int -> Hit a -> ShowS
+$cshow :: forall a. Show a => Hit a -> String
+show :: Hit a -> String
+$cshowList :: forall a. Show a => [Hit a] -> ShowS
+showList :: [Hit a] -> ShowS
+Show, Hit a -> Hit a -> Bool
+(Hit a -> Hit a -> Bool) -> (Hit a -> Hit a -> Bool) -> Eq (Hit a)
+forall a. Eq a => Hit a -> Hit a -> Bool
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: forall a. Eq a => Hit a -> Hit a -> Bool
+== :: Hit a -> Hit a -> Bool
+$c/= :: forall a. Eq a => Hit a -> Hit a -> Bool
+/= :: Hit a -> Hit a -> Bool
+Eq, (forall x. Hit a -> Rep (Hit a) x)
+-> (forall x. Rep (Hit a) x -> Hit a) -> Generic (Hit a)
+forall x. Rep (Hit a) x -> Hit a
+forall x. Hit a -> Rep (Hit a) x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+forall a x. Rep (Hit a) x -> Hit a
+forall a x. Hit a -> Rep (Hit a) x
+$cfrom :: forall a x. Hit a -> Rep (Hit a) x
+from :: forall x. Hit a -> Rep (Hit a) x
+$cto :: forall a x. Rep (Hit a) x -> Hit a
+to :: forall x. Rep (Hit a) x -> Hit a
+Generic, Typeable, Eq (Hit a)
+Eq (Hit a) =>
+(Int -> Hit a -> Int) -> (Hit a -> Int) -> Hashable (Hit a)
+Int -> Hit a -> Int
+Hit a -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+forall a. Hashable a => Eq (Hit a)
+forall a. Hashable a => Int -> Hit a -> Int
+forall a. Hashable a => Hit a -> Int
+$chashWithSalt :: forall a. Hashable a => Int -> Hit a -> Int
+hashWithSalt :: Int -> Hit a -> Int
+$chash :: forall a. Hashable a => Hit a -> Int
+hash :: Hit a -> Int
+Hashable, (forall a b. (a -> b) -> Hit a -> Hit b)
+-> (forall a b. a -> Hit b -> Hit a) -> Functor Hit
+forall a b. a -> Hit b -> Hit a
+forall a b. (a -> b) -> Hit a -> Hit b
+forall (f :: * -> *).
+(forall a b. (a -> b) -> f a -> f b)
+-> (forall a b. a -> f b -> f a) -> Functor f
+$cfmap :: forall a b. (a -> b) -> Hit a -> Hit b
+fmap :: forall a b. (a -> b) -> Hit a -> Hit b
+$c<$ :: forall a b. a -> Hit b -> Hit a
+<$ :: forall a b. a -> Hit b -> Hit a
+Functor, Typeable (Hit a)
+Typeable (Hit a) =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> Hit a -> c (Hit a))
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c (Hit a))
+-> (Hit a -> Constr)
+-> (Hit a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c (Hit a)))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Hit a)))
+-> ((forall b. Data b => b -> b) -> Hit a -> Hit a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Hit a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Hit a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> Hit a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> Hit a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> Hit a -> m (Hit a))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Hit a -> m (Hit a))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Hit a -> m (Hit a))
+-> Data (Hit a)
+Hit a -> Constr
+Hit a -> DataType
+(forall b. Data b => b -> b) -> Hit a -> Hit a
+forall a. Data a => Typeable (Hit a)
+forall a. Data a => Hit a -> Constr
+forall a. Data a => Hit a -> DataType
+forall a. Data a => (forall b. Data b => b -> b) -> Hit a -> Hit a
+forall a u.
+Data a =>
+Int -> (forall d. Data d => d -> u) -> Hit a -> u
+forall a u. Data a => (forall d. Data d => d -> u) -> Hit a -> [u]
+forall a r r'.
+Data a =>
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Hit a -> r
+forall a r r'.
+Data a =>
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Hit a -> r
+forall a (m :: * -> *).
+(Data a, Monad m) =>
+(forall d. Data d => d -> m d) -> Hit a -> m (Hit a)
+forall a (m :: * -> *).
+(Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d) -> Hit a -> m (Hit a)
+forall a (c :: * -> *).
+Data a =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (Hit a)
+forall a (c :: * -> *).
+Data a =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Hit a -> c (Hit a)
+forall a (t :: * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (Hit a))
+forall a (t :: * -> * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Hit a))
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> Hit a -> u
+forall u. (forall d. Data d => d -> u) -> Hit a -> [u]
+forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Hit a -> r
+forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Hit a -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Hit a -> m (Hit a)
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Hit a -> m (Hit a)
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (Hit a)
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Hit a -> c (Hit a)
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (Hit a))
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Hit a))
+$cgfoldl :: forall a (c :: * -> *).
+Data a =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Hit a -> c (Hit a)
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Hit a -> c (Hit a)
+$cgunfold :: forall a (c :: * -> *).
+Data a =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (Hit a)
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (Hit a)
+$ctoConstr :: forall a. Data a => Hit a -> Constr
+toConstr :: Hit a -> Constr
+$cdataTypeOf :: forall a. Data a => Hit a -> DataType
+dataTypeOf :: Hit a -> DataType
+$cdataCast1 :: forall a (t :: * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (Hit a))
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (Hit a))
+$cdataCast2 :: forall a (t :: * -> * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Hit a))
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Hit a))
+$cgmapT :: forall a. Data a => (forall b. Data b => b -> b) -> Hit a -> Hit a
+gmapT :: (forall b. Data b => b -> b) -> Hit a -> Hit a
+$cgmapQl :: forall a r r'.
+Data a =>
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Hit a -> r
+gmapQl :: forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Hit a -> r
+$cgmapQr :: forall a r r'.
+Data a =>
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Hit a -> r
+gmapQr :: forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Hit a -> r
+$cgmapQ :: forall a u. Data a => (forall d. Data d => d -> u) -> Hit a -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> Hit a -> [u]
+$cgmapQi :: forall a u.
+Data a =>
+Int -> (forall d. Data d => d -> u) -> Hit a -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Hit a -> u
+$cgmapM :: forall a (m :: * -> *).
+(Data a, Monad m) =>
+(forall d. Data d => d -> m d) -> Hit a -> m (Hit a)
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Hit a -> m (Hit a)
+$cgmapMp :: forall a (m :: * -> *).
+(Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d) -> Hit a -> m (Hit a)
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Hit a -> m (Hit a)
+$cgmapMo :: forall a (m :: * -> *).
+(Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d) -> Hit a -> m (Hit a)
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Hit a -> m (Hit a)
+Data)
+
+posinf :: (Fractional a) => a
+posinf :: forall a. Fractional a => a
+posinf = a
+1 a -> a -> a
+forall a. Fractional a => a -> a -> a
+/ a
+0
+{-# INLINE posinf #-}
+
+-- | check if the hit time is in [0, 1]
+hitin01 :: (Num a, Ord a) => Hit a -> Bool
+hitin01 :: forall a. (Num a, Ord a) => Hit a -> Bool
+hitin01 Hit {a
+hittime :: forall a. Hit a -> a
+hittime :: a
+hittime} = a
+hittime a -> a -> Bool
+forall a. Ord a => a -> a -> Bool
+>= a
+0 Bool -> Bool -> Bool
+&& a
+hittime a -> a -> Bool
+forall a. Ord a => a -> a -> Bool
+<= a
+1
+{-# INLINE hitin01 #-}
+
+-- | a hit at infinity
+infhit :: (Fractional a) => Hit a
+infhit :: forall a. Fractional a => Hit a
+infhit = a -> V3 a -> V3 a -> Hit a
+forall a. a -> V3 a -> V3 a -> Hit a
+Hit a
+forall a. Fractional a => a
+posinf V3 a
+forall a. Num a => V3 a
+forall (f :: * -> *) a. (Additive f, Num a) => f a
+zero V3 a
+forall a. Num a => V3 a
+forall (f :: * -> *) a. (Additive f, Num a) => f a
+zero
+{-# INLINE infhit #-}
+
+-- | internal newtype used with 'Data.Semigroup.Min' to find the closest hit
+newtype Hit' a = Hit' {forall a. Hit' a -> Hit a
+unHit' :: Hit a}
+  deriving newtype (Int -> Hit' a -> ShowS
+[Hit' a] -> ShowS
+Hit' a -> String
+(Int -> Hit' a -> ShowS)
+-> (Hit' a -> String) -> ([Hit' a] -> ShowS) -> Show (Hit' a)
+forall a. Show a => Int -> Hit' a -> ShowS
+forall a. Show a => [Hit' a] -> ShowS
+forall a. Show a => Hit' a -> String
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: forall a. Show a => Int -> Hit' a -> ShowS
+showsPrec :: Int -> Hit' a -> ShowS
+$cshow :: forall a. Show a => Hit' a -> String
+show :: Hit' a -> String
+$cshowList :: forall a. Show a => [Hit' a] -> ShowS
+showList :: [Hit' a] -> ShowS
+Show, Hit' a -> Hit' a -> Bool
+(Hit' a -> Hit' a -> Bool)
+-> (Hit' a -> Hit' a -> Bool) -> Eq (Hit' a)
+forall a. Eq a => Hit' a -> Hit' a -> Bool
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: forall a. Eq a => Hit' a -> Hit' a -> Bool
+== :: Hit' a -> Hit' a -> Bool
+$c/= :: forall a. Eq a => Hit' a -> Hit' a -> Bool
+/= :: Hit' a -> Hit' a -> Bool
+Eq, Eq (Hit' a)
+Eq (Hit' a) =>
+(Int -> Hit' a -> Int) -> (Hit' a -> Int) -> Hashable (Hit' a)
+Int -> Hit' a -> Int
+Hit' a -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+forall a. Hashable a => Eq (Hit' a)
+forall a. Hashable a => Int -> Hit' a -> Int
+forall a. Hashable a => Hit' a -> Int
+$chashWithSalt :: forall a. Hashable a => Int -> Hit' a -> Int
+hashWithSalt :: Int -> Hit' a -> Int
+$chash :: forall a. Hashable a => Hit' a -> Int
+hash :: Hit' a -> Int
+Hashable)
+
+instance (Ord a) => Ord (Hit' a) where
+  compare :: Hit' a -> Hit' a -> Ordering
+compare = (Hit' a -> a) -> Hit' a -> Hit' a -> Ordering
+forall a b. Ord a => (b -> a) -> b -> b -> Ordering
+comparing (Hit a -> a
+forall a. Hit a -> a
+hittime (Hit a -> a) -> (Hit' a -> Hit a) -> Hit' a -> a
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Hit' a -> Hit a
+forall a. Hit' a -> Hit a
+unHit')
+  {-# INLINE compare #-}
+
+instance (Fractional a, Num a) => Bounded (Hit' a) where
+  minBound :: Hit' a
+minBound = Hit a -> Hit' a
+forall a. Hit a -> Hit' a
+Hit' (Hit a -> Hit' a) -> Hit a -> Hit' a
+forall a b. (a -> b) -> a -> b
+$ a -> V3 a -> V3 a -> Hit a
+forall a. a -> V3 a -> V3 a -> Hit a
+Hit a
+0 V3 a
+forall a. Num a => V3 a
+forall (f :: * -> *) a. (Additive f, Num a) => f a
+zero V3 a
+forall a. Num a => V3 a
+forall (f :: * -> *) a. (Additive f, Num a) => f a
+zero -- no negative time
+  maxBound :: Hit' a
+maxBound = Hit a -> Hit' a
+forall a. Hit a -> Hit' a
+Hit' (Hit a -> Hit' a) -> Hit a -> Hit' a
+forall a b. (a -> b) -> a -> b
+$ a -> V3 a -> V3 a -> Hit a
+forall a. a -> V3 a -> V3 a -> Hit a
+Hit a
+forall a. Fractional a => a
+posinf V3 a
+forall a. Num a => V3 a
+forall (f :: * -> *) a. (Additive f, Num a) => f a
+zero V3 a
+forall a. Num a => V3 a
+forall (f :: * -> *) a. (Additive f, Num a) => f a
+zero -- hit at infinity
+  {-# INLINE minBound #-}
+  {-# INLINE maxBound #-}
+
+-- | existential 'Shape' type but where numeric type is erased
+--
+-- see also: 'castshape1'
+data SomeShape1 a
+  = forall s.
+    ( Typeable (s a),
+      Show (s a),
+      Shape s
+    ) =>
+    SomeShape1 (s a)
+  deriving (Typeable)
+
+instance Show (SomeShape1 a) where
+  show :: SomeShape1 a -> String
+show (SomeShape1 s a
+s) = s a -> String
+forall a. Show a => a -> String
+show s a
+s
+
+instance Shape SomeShape1 where
+  crossing :: forall a. RealFloat a => V3 a -> V3 a -> SomeShape1 a -> Hit a
+crossing V3 a
+v V3 a
+d (SomeShape1 s a
+s) = V3 a -> V3 a -> s a -> Hit a
+forall a. RealFloat a => V3 a -> V3 a -> s a -> Hit a
+forall (s :: * -> *) a.
+(Shape s, RealFloat a) =>
+V3 a -> V3 a -> s a -> Hit a
+crossing V3 a
+v V3 a
+d s a
+s
+  intersecting :: forall a.
+(Fractional a, Ord a) =>
+SomeShape1 a -> SomeShape1 a -> Bool
+intersecting (SomeShape1 s a
+s1) (SomeShape1 s a
+s2)
+    | Just s a
+s3 <- s a -> Maybe (s a)
+forall a b. (Typeable a, Typeable b) => a -> Maybe b
+cast s a
+s2 = s a -> s a -> Bool
+forall a. (Fractional a, Ord a) => s a -> s a -> Bool
+forall (s :: * -> *) a.
+(Shape s, Fractional a, Ord a) =>
+s a -> s a -> Bool
+intersecting s a
+s1 s a
+s3
+    | Bool
+otherwise = ManyBoxes [] a -> ManyBoxes [] a -> Bool
+forall a.
+(Fractional a, Ord a) =>
+ManyBoxes [] a -> ManyBoxes [] a -> Bool
+forall (s :: * -> *) a.
+(Shape s, Fractional a, Ord a) =>
+s a -> s a -> Bool
+intersecting (s a -> ManyBoxes [] a
+forall a. s a -> ManyBoxes [] a
+forall (s :: * -> *) a. Shape s => s a -> ManyBoxes [] a
+tomanyboxes s a
+s1) (s a -> ManyBoxes [] a
+forall a. s a -> ManyBoxes [] a
+forall (s :: * -> *) a. Shape s => s a -> ManyBoxes [] a
+tomanyboxes s a
+s2)
+  hitting :: forall a.
+RealFloat a =>
+V3 a -> SomeShape1 a -> SomeShape1 a -> Hit a
+hitting V3 a
+v (SomeShape1 s a
+s1) (SomeShape1 s a
+s2)
+    | Just s a
+s3 <- s a -> Maybe (s a)
+forall a b. (Typeable a, Typeable b) => a -> Maybe b
+cast s a
+s2 = V3 a -> s a -> s a -> Hit a
+forall a. RealFloat a => V3 a -> s a -> s a -> Hit a
+forall (s :: * -> *) a.
+(Shape s, RealFloat a) =>
+V3 a -> s a -> s a -> Hit a
+hitting V3 a
+v s a
+s1 s a
+s3
+    | Bool
+otherwise = V3 a -> ManyBoxes [] a -> ManyBoxes [] a -> Hit a
+forall a.
+RealFloat a =>
+V3 a -> ManyBoxes [] a -> ManyBoxes [] a -> Hit a
+forall (s :: * -> *) a.
+(Shape s, RealFloat a) =>
+V3 a -> s a -> s a -> Hit a
+hitting V3 a
+v (s a -> ManyBoxes [] a
+forall a. s a -> ManyBoxes [] a
+forall (s :: * -> *) a. Shape s => s a -> ManyBoxes [] a
+tomanyboxes s a
+s1) (s a -> ManyBoxes [] a
+forall a. s a -> ManyBoxes [] a
+forall (s :: * -> *) a. Shape s => s a -> ManyBoxes [] a
+tomanyboxes s a
+s2)
+  translate :: forall a. Num a => V3 a -> SomeShape1 a -> SomeShape1 a
+translate V3 a
+v (SomeShape1 s a
+s) = s a -> SomeShape1 a
+forall a (s :: * -> *).
+(Typeable (s a), Show (s a), Shape s) =>
+s a -> SomeShape1 a
+SomeShape1 (V3 a -> s a -> s a
+forall a. Num a => V3 a -> s a -> s a
+forall (s :: * -> *) a. (Shape s, Num a) => V3 a -> s a -> s a
+translate V3 a
+v s a
+s)
+  corners :: forall a. (Fractional a, Ord a) => SomeShape1 a -> V2 (V3 a)
+corners (SomeShape1 s a
+s) = s a -> V2 (V3 a)
+forall a. (Fractional a, Ord a) => s a -> V2 (V3 a)
+forall (s :: * -> *) a.
+(Shape s, Fractional a, Ord a) =>
+s a -> V2 (V3 a)
+corners s a
+s
+  tomanyboxes :: forall a. SomeShape1 a -> ManyBoxes [] a
+tomanyboxes (SomeShape1 s a
+s) = s a -> ManyBoxes [] a
+forall a. s a -> ManyBoxes [] a
+forall (s :: * -> *) a. Shape s => s a -> ManyBoxes [] a
+tomanyboxes s a
+s
+
+-- | cast a 'SomeShape1' to a specific type
+castshape1 :: (Typeable b) => SomeShape1 a -> Maybe b
+castshape1 :: forall b a. Typeable b => SomeShape1 a -> Maybe b
+castshape1 (SomeShape1 s a
+s) = s a -> Maybe b
+forall a b. (Typeable a, Typeable b) => a -> Maybe b
+cast s a
+s
+
+-- | an AABB type class used for collision detection and resolution
+class Shape s where
+  -- | check if two shapes intersect
+  intersecting :: (Fractional a, Ord a) => s a -> s a -> Bool
+
+  -- | check if a ray will hit the shape and return the hit data
+  crossing :: (RealFloat a) => V3 a -> V3 a -> s a -> Hit a
+
+  -- | check if the first shape will collide into the second shape
+  -- if it moves with the given displacement
+  hitting :: (RealFloat a) => V3 a -> s a -> s a -> Hit a
+
+  -- | translate the shape by the given displacement
+  translate :: (Num a) => V3 a -> s a -> s a
+
+  -- | the locations of the lower and higher corners of the shape
+  -- respectively
+  corners :: (Fractional a, Ord a) => s a -> V2 (V3 a)
+
+  -- | convert a 'Shape' to a 'ManyBoxes' of 'Box'es with a list container,
+  -- which is a canonical form for 'ManyBoxes'
+  tomanyboxes :: s a -> ManyBoxes [] a
+
+  -- | the center of the shape
+  scenter :: (Fractional a, Ord a) => s a -> V3 a
+  scenter s a
+s = (V2 (V3 a) -> V3 a
+forall a. Num a => V2 a -> a
+forall (t :: * -> *) a. (Foldable t, Num a) => t a -> a
+sum (V2 (V3 a) -> V3 a) -> (s a -> V2 (V3 a)) -> s a -> V3 a
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. s a -> V2 (V3 a)
+forall a. (Fractional a, Ord a) => s a -> V2 (V3 a)
+forall (s :: * -> *) a.
+(Shape s, Fractional a, Ord a) =>
+s a -> V2 (V3 a)
+corners (s a -> V3 a) -> s a -> V3 a
+forall a b. (a -> b) -> a -> b
+$ s a
+s) V3 a -> (a -> a) -> V3 a
+forall (f :: * -> *) a b. Functor f => f a -> (a -> b) -> f b
+<&> (a -> a -> a
+forall a. Fractional a => a -> a -> a
+/ a
+2) -- not robust to large numbers
+  {-# INLINE scenter #-}
+
+  -- | the dimensions of the shape
+  sdimensions :: (Fractional a, Ord a) => s a -> V3 a
+  sdimensions s a
+s = let V2 V3 a
+l V3 a
+h = s a -> V2 (V3 a)
+forall a. (Fractional a, Ord a) => s a -> V2 (V3 a)
+forall (s :: * -> *) a.
+(Shape s, Fractional a, Ord a) =>
+s a -> V2 (V3 a)
+corners s a
+s in V3 a
+h V3 a -> V3 a -> V3 a
+forall a. Num a => a -> a -> a
+- V3 a
+l
+  {-# INLINE sdimensions #-}
+
+v2fst :: V2 a -> a
+v2fst :: forall a. V2 a -> a
+v2fst (V2 a
+a a
+_) = a
+a
+
+v2snd :: V2 a -> a
+v2snd :: forall a. V2 a -> a
+v2snd (V2 a
+_ a
+b) = a
+b
+
+-- | the upper corner of a shape
+shicorner :: (Shape s, Fractional a, Ord a) => s a -> V3 a
+shicorner :: forall (s :: * -> *) a.
+(Shape s, Fractional a, Ord a) =>
+s a -> V3 a
+shicorner = V2 (V3 a) -> V3 a
+forall a. V2 a -> a
+v2snd (V2 (V3 a) -> V3 a) -> (s a -> V2 (V3 a)) -> s a -> V3 a
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. s a -> V2 (V3 a)
+forall a. (Fractional a, Ord a) => s a -> V2 (V3 a)
+forall (s :: * -> *) a.
+(Shape s, Fractional a, Ord a) =>
+s a -> V2 (V3 a)
+corners
+{-# INLINE shicorner #-}
+
+-- | the lower corner of a shape
+slocorner :: (Shape s, Fractional a, Ord a) => s a -> V3 a
+slocorner :: forall (s :: * -> *) a.
+(Shape s, Fractional a, Ord a) =>
+s a -> V3 a
+slocorner = V2 (V3 a) -> V3 a
+forall a. V2 a -> a
+v2fst (V2 (V3 a) -> V3 a) -> (s a -> V2 (V3 a)) -> s a -> V3 a
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. s a -> V2 (V3 a)
+forall a. (Fractional a, Ord a) => s a -> V2 (V3 a)
+forall (s :: * -> *) a.
+(Shape s, Fractional a, Ord a) =>
+s a -> V2 (V3 a)
+corners
+{-# INLINE slocorner #-}
+
+-- | a box in 3D space, located either relatively or absolutely
+data Box a = Box
+  { -- | the dimensions of the box
+    forall a. Box a -> V3 a
+dimensions :: !(V3 a),
+    -- | the center of the box
+    forall a. Box a -> V3 a
+center :: !(V3 a)
+  }
+  deriving stock (Int -> Box a -> ShowS
+[Box a] -> ShowS
+Box a -> String
+(Int -> Box a -> ShowS)
+-> (Box a -> String) -> ([Box a] -> ShowS) -> Show (Box a)
+forall a. Show a => Int -> Box a -> ShowS
+forall a. Show a => [Box a] -> ShowS
+forall a. Show a => Box a -> String
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: forall a. Show a => Int -> Box a -> ShowS
+showsPrec :: Int -> Box a -> ShowS
+$cshow :: forall a. Show a => Box a -> String
+show :: Box a -> String
+$cshowList :: forall a. Show a => [Box a] -> ShowS
+showList :: [Box a] -> ShowS
+Show, Box a -> Box a -> Bool
+(Box a -> Box a -> Bool) -> (Box a -> Box a -> Bool) -> Eq (Box a)
+forall a. Eq a => Box a -> Box a -> Bool
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: forall a. Eq a => Box a -> Box a -> Bool
+== :: Box a -> Box a -> Bool
+$c/= :: forall a. Eq a => Box a -> Box a -> Bool
+/= :: Box a -> Box a -> Bool
+Eq, (forall x. Box a -> Rep (Box a) x)
+-> (forall x. Rep (Box a) x -> Box a) -> Generic (Box a)
+forall x. Rep (Box a) x -> Box a
+forall x. Box a -> Rep (Box a) x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+forall a x. Rep (Box a) x -> Box a
+forall a x. Box a -> Rep (Box a) x
+$cfrom :: forall a x. Box a -> Rep (Box a) x
+from :: forall x. Box a -> Rep (Box a) x
+$cto :: forall a x. Rep (Box a) x -> Box a
+to :: forall x. Rep (Box a) x -> Box a
+Generic, Typeable, (forall a b. (a -> b) -> Box a -> Box b)
+-> (forall a b. a -> Box b -> Box a) -> Functor Box
+forall a b. a -> Box b -> Box a
+forall a b. (a -> b) -> Box a -> Box b
+forall (f :: * -> *).
+(forall a b. (a -> b) -> f a -> f b)
+-> (forall a b. a -> f b -> f a) -> Functor f
+$cfmap :: forall a b. (a -> b) -> Box a -> Box b
+fmap :: forall a b. (a -> b) -> Box a -> Box b
+$c<$ :: forall a b. a -> Box b -> Box a
+<$ :: forall a b. a -> Box b -> Box a
+Functor, Typeable (Box a)
+Typeable (Box a) =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> Box a -> c (Box a))
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c (Box a))
+-> (Box a -> Constr)
+-> (Box a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c (Box a)))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Box a)))
+-> ((forall b. Data b => b -> b) -> Box a -> Box a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Box a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Box a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> Box a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> Box a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> Box a -> m (Box a))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Box a -> m (Box a))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Box a -> m (Box a))
+-> Data (Box a)
+Box a -> Constr
+Box a -> DataType
+(forall b. Data b => b -> b) -> Box a -> Box a
+forall a. Data a => Typeable (Box a)
+forall a. Data a => Box a -> Constr
+forall a. Data a => Box a -> DataType
+forall a. Data a => (forall b. Data b => b -> b) -> Box a -> Box a
+forall a u.
+Data a =>
+Int -> (forall d. Data d => d -> u) -> Box a -> u
+forall a u. Data a => (forall d. Data d => d -> u) -> Box a -> [u]
+forall a r r'.
+Data a =>
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Box a -> r
+forall a r r'.
+Data a =>
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Box a -> r
+forall a (m :: * -> *).
+(Data a, Monad m) =>
+(forall d. Data d => d -> m d) -> Box a -> m (Box a)
+forall a (m :: * -> *).
+(Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d) -> Box a -> m (Box a)
+forall a (c :: * -> *).
+Data a =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (Box a)
+forall a (c :: * -> *).
+Data a =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Box a -> c (Box a)
+forall a (t :: * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (Box a))
+forall a (t :: * -> * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Box a))
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> Box a -> u
+forall u. (forall d. Data d => d -> u) -> Box a -> [u]
+forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Box a -> r
+forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Box a -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Box a -> m (Box a)
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Box a -> m (Box a)
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (Box a)
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Box a -> c (Box a)
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (Box a))
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Box a))
+$cgfoldl :: forall a (c :: * -> *).
+Data a =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Box a -> c (Box a)
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Box a -> c (Box a)
+$cgunfold :: forall a (c :: * -> *).
+Data a =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (Box a)
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (Box a)
+$ctoConstr :: forall a. Data a => Box a -> Constr
+toConstr :: Box a -> Constr
+$cdataTypeOf :: forall a. Data a => Box a -> DataType
+dataTypeOf :: Box a -> DataType
+$cdataCast1 :: forall a (t :: * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (Box a))
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (Box a))
+$cdataCast2 :: forall a (t :: * -> * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Box a))
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Box a))
+$cgmapT :: forall a. Data a => (forall b. Data b => b -> b) -> Box a -> Box a
+gmapT :: (forall b. Data b => b -> b) -> Box a -> Box a
+$cgmapQl :: forall a r r'.
+Data a =>
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Box a -> r
+gmapQl :: forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Box a -> r
+$cgmapQr :: forall a r r'.
+Data a =>
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Box a -> r
+gmapQr :: forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Box a -> r
+$cgmapQ :: forall a u. Data a => (forall d. Data d => d -> u) -> Box a -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> Box a -> [u]
+$cgmapQi :: forall a u.
+Data a =>
+Int -> (forall d. Data d => d -> u) -> Box a -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Box a -> u
+$cgmapM :: forall a (m :: * -> *).
+(Data a, Monad m) =>
+(forall d. Data d => d -> m d) -> Box a -> m (Box a)
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Box a -> m (Box a)
+$cgmapMp :: forall a (m :: * -> *).
+(Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d) -> Box a -> m (Box a)
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Box a -> m (Box a)
+$cgmapMo :: forall a (m :: * -> *).
+(Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d) -> Box a -> m (Box a)
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Box a -> m (Box a)
+Data)
+  deriving anyclass (Eq (Box a)
+Eq (Box a) =>
+(Int -> Box a -> Int) -> (Box a -> Int) -> Hashable (Box a)
+Int -> Box a -> Int
+Box a -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+forall a. Hashable a => Eq (Box a)
+forall a. Hashable a => Int -> Box a -> Int
+forall a. Hashable a => Box a -> Int
+$chashWithSalt :: forall a. Hashable a => Int -> Box a -> Int
+hashWithSalt :: Int -> Box a -> Int
+$chash :: forall a. Hashable a => Box a -> Int
+hash :: Box a -> Int
+Hashable)
+
+instance Applicative Box where
+  pure :: forall a. a -> Box a
+pure a
+x = V3 a -> V3 a -> Box a
+forall a. V3 a -> V3 a -> Box a
+Box (a -> V3 a
+forall a. a -> V3 a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure a
+x) (a -> V3 a
+forall a. a -> V3 a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure a
+x)
+  {-# INLINE pure #-}
+  Box V3 (a -> b)
+d1 V3 (a -> b)
+c1 <*> :: forall a b. Box (a -> b) -> Box a -> Box b
+<*> Box V3 a
+d2 V3 a
+c2 = V3 b -> V3 b -> Box b
+forall a. V3 a -> V3 a -> Box a
+Box (V3 (a -> b)
+d1 V3 (a -> b) -> V3 a -> V3 b
+forall a b. V3 (a -> b) -> V3 a -> V3 b
+forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
+<*> V3 a
+d2) (V3 (a -> b)
+c1 V3 (a -> b) -> V3 a -> V3 b
+forall a b. V3 (a -> b) -> V3 a -> V3 b
+forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
+<*> V3 a
+c2)
+  {-# INLINE (<*>) #-}
+
+-- used to define the Box' pattern
+-- the expression is kind of nonsense, but it just needs to
+-- work in a formal way so we can use the pattern
+chgbox_ :: (Fractional a) => Box a -> Box a
+chgbox_ :: forall a. Fractional a => Box a -> Box a
+chgbox_ Box a
+b = V3 a -> V3 a -> Box a
+forall a. V3 a -> V3 a -> Box a
+Box (Box a -> V3 a
+forall a. Fractional a => Box a -> V3 a
+locorner Box a
+b) (Box a -> V3 a
+forall a. Fractional a => Box a -> V3 a
+hicorner Box a
+b)
+
+-- | bidrectional pattern for 'Box' but with corner locations (low to high)
+--
+-- you can use the 'locorner'' and 'hicorner'' patterns to extract the corners,
+-- respectively
+pattern Box' :: (Fractional a) => V3 a -> V3 a -> Box a
+pattern $mBox' :: forall {r} {a}.
+Fractional a =>
+Box a -> (V3 a -> V3 a -> r) -> ((# #) -> r) -> r
+$bBox' :: forall a. Fractional a => V3 a -> V3 a -> Box a
+Box' {forall a. Fractional a => Box a -> V3 a
+locorner', forall a. Fractional a => Box a -> V3 a
+hicorner'} <- (chgbox_ -> Box locorner' hicorner')
+  where
+    Box' V3 a
+l V3 a
+h = V3 a -> V3 a -> Box a
+forall a. V3 a -> V3 a -> Box a
+Box (V3 a
+h V3 a -> V3 a -> V3 a
+forall a. Num a => a -> a -> a
+- V3 a
+l) ((V3 a
+h V3 a -> V3 a -> V3 a
+forall a. Num a => a -> a -> a
++ V3 a
+l) V3 a -> a -> V3 a
+forall (f :: * -> *) a.
+(Functor f, Fractional a) =>
+f a -> a -> f a
+^/ a
+2)
+
+{-# COMPLETE Box' #-}
+
+-- | a box from the low and high corners
+boxfromcorners ::
+  (Fractional a) =>
+  -- | low corner
+  V3 a ->
+  -- | high corner
+  V3 a ->
+  -- | the box
+  Box a
+boxfromcorners :: forall a. Fractional a => V3 a -> V3 a -> Box a
+boxfromcorners V3 a
+l V3 a
+h = V3 a -> V3 a -> Box a
+forall a. V3 a -> V3 a -> Box a
+Box (V3 a
+h V3 a -> V3 a -> V3 a
+forall a. Num a => a -> a -> a
+- V3 a
+l) ((V3 a
+h V3 a -> V3 a -> V3 a
+forall a. Num a => a -> a -> a
++ V3 a
+l) V3 a -> a -> V3 a
+forall (f :: * -> *) a.
+(Functor f, Fractional a) =>
+f a -> a -> f a
+^/ a
+2)
+
+-- | a newtype over a 'Foldable' 'Functor' container of 'Box'es
+--
+-- the low and high corners are those of the smallest bounding box
+newtype ManyBoxes f a = ManyBoxes (f (Box a))
+  deriving stock ((forall x. ManyBoxes f a -> Rep (ManyBoxes f a) x)
+-> (forall x. Rep (ManyBoxes f a) x -> ManyBoxes f a)
+-> Generic (ManyBoxes f a)
+forall x. Rep (ManyBoxes f a) x -> ManyBoxes f a
+forall x. ManyBoxes f a -> Rep (ManyBoxes f a) x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+forall (f :: * -> *) a x. Rep (ManyBoxes f a) x -> ManyBoxes f a
+forall (f :: * -> *) a x. ManyBoxes f a -> Rep (ManyBoxes f a) x
+$cfrom :: forall (f :: * -> *) a x. ManyBoxes f a -> Rep (ManyBoxes f a) x
+from :: forall x. ManyBoxes f a -> Rep (ManyBoxes f a) x
+$cto :: forall (f :: * -> *) a x. Rep (ManyBoxes f a) x -> ManyBoxes f a
+to :: forall x. Rep (ManyBoxes f a) x -> ManyBoxes f a
+Generic, Typeable)
+
+-- | a type alias for a list of 'Box'es
+-- (canonical form for 'ManyBoxes')
+type ManyBoxes_ a = ManyBoxes [] a
+
+deriving stock instance
+  (Typeable f, Typeable a, Data (f (Box a))) =>
+  Data (ManyBoxes f a)
+
+instance (Eq (f (Box a))) => Eq (ManyBoxes f a) where
+  ManyBoxes f (Box a)
+a == :: ManyBoxes f a -> ManyBoxes f a -> Bool
+== ManyBoxes f (Box a)
+b = f (Box a)
+a f (Box a) -> f (Box a) -> Bool
+forall a. Eq a => a -> a -> Bool
+== f (Box a)
+b
+  {-# INLINE (==) #-}
+
+instance (Ord (f (Box a))) => Ord (ManyBoxes f a) where
+  compare :: ManyBoxes f a -> ManyBoxes f a -> Ordering
+compare (ManyBoxes f (Box a)
+a) (ManyBoxes f (Box a)
+b) = f (Box a) -> f (Box a) -> Ordering
+forall a. Ord a => a -> a -> Ordering
+compare f (Box a)
+a f (Box a)
+b
+  {-# INLINE compare #-}
+
+instance (Functor f) => Functor (ManyBoxes f) where
+  fmap :: forall a b. (a -> b) -> ManyBoxes f a -> ManyBoxes f b
+fmap a -> b
+f (ManyBoxes f (Box a)
+boxes) = f (Box b) -> ManyBoxes f b
+forall (f :: * -> *) a. f (Box a) -> ManyBoxes f a
+ManyBoxes (f (Box b) -> ManyBoxes f b) -> f (Box b) -> ManyBoxes f b
+forall a b. (a -> b) -> a -> b
+$ (Box a -> Box b) -> f (Box a) -> f (Box b)
+forall a b. (a -> b) -> f a -> f b
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+fmap Box a -> Box b
+g f (Box a)
+boxes
+    where
+      g :: Box a -> Box b
+g (Box V3 a
+d V3 a
+c) = V3 b -> V3 b -> Box b
+forall a. V3 a -> V3 a -> Box a
+Box (a -> b
+f (a -> b) -> V3 a -> V3 b
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> V3 a
+d) (a -> b
+f (a -> b) -> V3 a -> V3 b
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> V3 a
+c)
+  {-# INLINE fmap #-}
+
+instance (Hashable (f (Box a))) => Hashable (ManyBoxes f a) where
+  hashWithSalt :: Int -> ManyBoxes f a -> Int
+hashWithSalt Int
+s (ManyBoxes f (Box a)
+boxes) = Int -> f (Box a) -> Int
+forall a. Hashable a => Int -> a -> Int
+hashWithSalt Int
+s f (Box a)
+boxes
+  {-# INLINE hashWithSalt #-}
+
+-- | Lens for the dimensions of the box
+_dimensions :: Lens' (Box a) (V3 a)
+_dimensions :: forall a (f :: * -> *).
+Functor f =>
+(V3 a -> f (V3 a)) -> Box a -> f (Box a)
+_dimensions = (Box a -> V3 a)
+-> (Box a -> V3 a -> Box a) -> Lens (Box a) (Box a) (V3 a) (V3 a)
+forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
+lens Box a -> V3 a
+forall a. Box a -> V3 a
+dimensions \Box a
+b V3 a
+d -> Box a
+b {dimensions = d}
+{-# INLINE _dimensions #-}
+
+-- | Lens for the center of the box
+_center :: Lens' (Box a) (V3 a)
+_center :: forall a (f :: * -> *).
+Functor f =>
+(V3 a -> f (V3 a)) -> Box a -> f (Box a)
+_center = (Box a -> V3 a)
+-> (Box a -> V3 a -> Box a) -> Lens (Box a) (Box a) (V3 a) (V3 a)
+forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
+lens Box a -> V3 a
+forall a. Box a -> V3 a
+center \Box a
+b V3 a
+c -> Box a
+b {center = c}
+{-# INLINE _center #-}
+
+-- | Lens for the lower corner of the box
+_lcorner :: (Fractional a) => Lens' (Box a) (V3 a)
+_lcorner :: forall a. Fractional a => Lens' (Box a) (V3 a)
+_lcorner = (Box a -> V3 a)
+-> (Box a -> V3 a -> Box a) -> Lens (Box a) (Box a) (V3 a) (V3 a)
+forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
+lens Box a -> V3 a
+forall a. Fractional a => Box a -> V3 a
+locorner \Box a
+b V3 a
+l -> Box a
+b {center = l + dimensions b ^/ 2}
+{-# INLINE _lcorner #-}
+
+-- | Lens for the higher corner of the box
+_hcorner :: (Fractional a) => Lens' (Box a) (V3 a)
+_hcorner :: forall a. Fractional a => Lens' (Box a) (V3 a)
+_hcorner = (Box a -> V3 a)
+-> (Box a -> V3 a -> Box a) -> Lens (Box a) (Box a) (V3 a) (V3 a)
+forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
+lens Box a -> V3 a
+forall a. Fractional a => Box a -> V3 a
+hicorner \Box a
+b V3 a
+h -> Box a
+b {center = h - dimensions b ^/ 2}
+{-# INLINE _hcorner #-}
+
+instance Shape Box where
+  crossing :: forall a. RealFloat a => V3 a -> V3 a -> Box a -> Hit a
+crossing V3 a
+origin V3 a
+displacement Box a
+shape =
+    let v2sort :: V2 a -> V2 a
+v2sort (V2 a
+x a
+y)
+          | a
+x a -> a -> Bool
+forall a. Ord a => a -> a -> Bool
+< a
+y = a -> a -> V2 a
+forall a. a -> a -> V2 a
+V2 a
+x a
+y
+          | Bool
+otherwise = a -> a -> V2 a
+forall a. a -> a -> V2 a
+V2 a
+y a
+x
+        ! :: V3 a -> Rep V3 -> a
+(!) = V3 a -> Rep V3 -> a
+forall a. V3 a -> Rep V3 -> a
+forall (f :: * -> *) a. Representable f => f a -> Rep f -> a
+index
+        times :: V3 (V2 a)
+times = (Rep V3 -> V2 a) -> V3 (V2 a)
+forall a. (Rep V3 -> a) -> V3 a
+forall (f :: * -> *) a. Representable f => (Rep f -> a) -> f a
+tabulate \Rep V3
+i ->
+          let l :: V3 a
+l = Box a -> V3 a
+forall a. Fractional a => Box a -> V3 a
+locorner Box a
+shape
+              h :: V3 a
+h = Box a -> V3 a
+forall a. Fractional a => Box a -> V3 a
+hicorner Box a
+shape
+              x :: a
+x = (V3 a
+l V3 a -> Rep V3 -> a
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+i a -> a -> a
+forall a. Num a => a -> a -> a
+- V3 a
+origin V3 a -> Rep V3 -> a
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+i) a -> a -> a
+forall a. Fractional a => a -> a -> a
+/ V3 a
+displacement V3 a -> Rep V3 -> a
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+i
+              y :: a
+y = (V3 a
+h V3 a -> Rep V3 -> a
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+i a -> a -> a
+forall a. Num a => a -> a -> a
+- V3 a
+origin V3 a -> Rep V3 -> a
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+i) a -> a -> a
+forall a. Fractional a => a -> a -> a
+/ V3 a
+displacement V3 a -> Rep V3 -> a
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+i
+           in V2 a -> V2 a
+forall {a}. Ord a => V2 a -> V2 a
+v2sort (V2 a -> V2 a) -> V2 a -> V2 a
+forall a b. (a -> b) -> a -> b
+$ a -> a -> V2 a
+forall a. a -> a -> V2 a
+V2 a
+x a
+y
+        nonans :: V4 a -> Bool
+nonans = Bool -> Bool
+not (Bool -> Bool) -> (V4 a -> Bool) -> V4 a -> Bool
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. (a -> Bool) -> V4 a -> Bool
+forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Bool
+any a -> Bool
+forall a. RealFloat a => a -> Bool
+isNaN
+        -- sequenceA = transpose; sequenceA :: V3 (V2 a) -> V2 (V3 a)
+        -- vector upgrades a V3 to V4 but sets fourth component to 0
+        -- point does the same but sets fourth component to 1
+        V2 (V3 a -> V4 a
+forall a. Num a => V3 a -> V4 a
+vector -> V4 a
+tenter) (V3 a -> V4 a
+forall a. Num a => V3 a -> V4 a
+point -> V4 a
+tleave) = V3 (V2 a) -> V2 (V3 a)
+forall (t :: * -> *) (f :: * -> *) a.
+(Traversable t, Applicative f) =>
+t (f a) -> f (t a)
+forall (f :: * -> *) a. Applicative f => V3 (f a) -> f (V3 a)
+sequenceA V3 (V2 a)
+times
+        t :: a
+t = V4 a -> a
+forall a. Ord a => V4 a -> a
+forall (t :: * -> *) a. (Foldable t, Ord a) => t a -> a
+maximum V4 a
+tenter
+     in if V4 a -> Bool
+nonans V4 a
+tenter Bool -> Bool -> Bool
+&& V4 a -> Bool
+nonans V4 a
+tleave Bool -> Bool -> Bool
+&& a
+t a -> a -> Bool
+forall a. Ord a => a -> a -> Bool
+< V4 a -> a
+forall a. Ord a => V4 a -> a
+forall (t :: * -> *) a. (Foldable t, Ord a) => t a -> a
+minimum V4 a
+tleave
+          then
+            Hit
+              { hittime :: a
+hittime = a
+t,
+                hitwhere :: V3 a
+hitwhere = V3 a
+origin V3 a -> V3 a -> V3 a
+forall a. Num a => a -> a -> a
++ a
+t a -> V3 a -> V3 a
+forall (f :: * -> *) a. (Functor f, Num a) => a -> f a -> f a
+*^ V3 a
+displacement,
+                hitnorm :: V3 a
+hitnorm =
+                  let p1m1 :: Bool -> a
+p1m1 Bool
+True = a
+1
+                      p1m1 Bool
+_ = -a
+1
+                   in (Rep V3 -> a) -> V3 a
+forall a. (Rep V3 -> a) -> V3 a
+forall (f :: * -> *) a. Representable f => (Rep f -> a) -> f a
+tabulate \Rep V3
+i ->
+                        if a
+t a -> a -> Bool
+forall a. Eq a => a -> a -> Bool
+== (V4 a
+tenter V4 a -> Getting (V3 a) (V4 a) (V3 a) -> V3 a
+forall s a. s -> Getting a s a -> a
+^. Getting (V3 a) (V4 a) (V3 a)
+forall a. Lens' (V4 a) (V3 a)
+forall (t :: * -> *) a. R3 t => Lens' (t a) (V3 a)
+_xyz) V3 a -> Rep V3 -> a
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+i
+                          then Bool -> a
+forall {a}. Num a => Bool -> a
+p1m1 (Bool -> a) -> Bool -> a
+forall a b. (a -> b) -> a -> b
+$ V3 a
+displacement V3 a -> Rep V3 -> a
+forall a. V3 a -> Rep V3 -> a
+! Rep V3
+i a -> a -> Bool
+forall a. Ord a => a -> a -> Bool
+< a
+0
+                          else a
+0
+              }
+          else Hit a
+forall a. Fractional a => Hit a
+infhit
+
+  -- moving = displacement from t = 0 to t = 1
+  -- 'this' is the box that is moving
+  -- into 'that' box
+  hitting :: forall a. RealFloat a => V3 a -> Box a -> Box a -> Hit a
+hitting V3 a
+moving Box a
+this Box a
+that =
+    let l :: V3 a
+l = Box a -> V3 a
+forall a. Fractional a => Box a -> V3 a
+locorner Box a
+that
+        h :: V3 a
+h = Box a -> V3 a
+forall a. Fractional a => Box a -> V3 a
+hicorner Box a
+that
+        d :: V3 a
+d = Box a -> V3 a
+forall a. Box a -> V3 a
+dimensions Box a
+this
+        -- reduce box-box collision to ray-box collision
+        --  1. shrink 'this' box into a point
+        --  2. expand 'that' box by the same amount in each direction
+        (V3 a
+l', V3 a
+h') = (V3 a
+l V3 a -> V3 a -> V3 a
+forall a. Num a => a -> a -> a
+- V3 a
+d V3 a -> a -> V3 a
+forall (f :: * -> *) a.
+(Functor f, Fractional a) =>
+f a -> a -> f a
+^/ a
+2, V3 a
+h V3 a -> V3 a -> V3 a
+forall a. Num a => a -> a -> a
++ V3 a
+d V3 a -> a -> V3 a
+forall (f :: * -> *) a.
+(Functor f, Fractional a) =>
+f a -> a -> f a
+^/ a
+2)
+     in V3 a -> V3 a -> Box a -> Hit a
+forall a. RealFloat a => V3 a -> V3 a -> Box a -> Hit a
+forall (s :: * -> *) a.
+(Shape s, RealFloat a) =>
+V3 a -> V3 a -> s a -> Hit a
+crossing
+          do Box a -> V3 a
+forall a. Box a -> V3 a
+center Box a
+this
+          do V3 a
+moving
+          do V3 a -> V3 a -> Box a
+forall a. Fractional a => V3 a -> V3 a -> Box a
+boxfromcorners V3 a
+l' V3 a
+h'
+  intersecting :: forall a. (Fractional a, Ord a) => Box a -> Box a -> Bool
+intersecting Box a
+this Box a
+that =
+    let lotest :: Bool
+lotest = V3 Bool -> Bool
+forall (t :: * -> *). Foldable t => t Bool -> Bool
+and (V3 Bool -> Bool) -> V3 Bool -> Bool
+forall a b. (a -> b) -> a -> b
+$ (a -> a -> Bool) -> V3 a -> V3 a -> V3 Bool
+forall a b c. (a -> b -> c) -> V3 a -> V3 b -> V3 c
+forall (m :: * -> *) a b c.
+MonadZip m =>
+(a -> b -> c) -> m a -> m b -> m c
+mzipWith a -> a -> Bool
+forall a. Ord a => a -> a -> Bool
+(<) (Box a -> V3 a
+forall a. Fractional a => Box a -> V3 a
+locorner Box a
+this) (Box a -> V3 a
+forall a. Fractional a => Box a -> V3 a
+hicorner Box a
+that)
+        hitest :: Bool
+hitest = V3 Bool -> Bool
+forall (t :: * -> *). Foldable t => t Bool -> Bool
+and (V3 Bool -> Bool) -> V3 Bool -> Bool
+forall a b. (a -> b) -> a -> b
+$ (a -> a -> Bool) -> V3 a -> V3 a -> V3 Bool
+forall a b c. (a -> b -> c) -> V3 a -> V3 b -> V3 c
+forall (m :: * -> *) a b c.
+MonadZip m =>
+(a -> b -> c) -> m a -> m b -> m c
+mzipWith a -> a -> Bool
+forall a. Ord a => a -> a -> Bool
+(>) (Box a -> V3 a
+forall a. Fractional a => Box a -> V3 a
+hicorner Box a
+this) (Box a -> V3 a
+forall a. Fractional a => Box a -> V3 a
+locorner Box a
+that)
+     in Bool
+lotest Bool -> Bool -> Bool
+&& Bool
+hitest
+  translate :: forall a. Num a => V3 a -> Box a -> Box a
+translate V3 a
+displacement Box a
+box = Box a
+box {center = displacement + center box}
+  corners :: forall a. (Fractional a, Ord a) => Box a -> V2 (V3 a)
+corners Box a
+box = V3 a -> V3 a -> V2 (V3 a)
+forall a. a -> a -> V2 a
+V2 (Box a -> V3 a
+forall a. Fractional a => Box a -> V3 a
+locorner Box a
+box) (Box a -> V3 a
+forall a. Fractional a => Box a -> V3 a
+hicorner Box a
+box)
+  tomanyboxes :: forall a. Box a -> ManyBoxes [] a
+tomanyboxes = [Box a] -> ManyBoxes [] a
+forall (f :: * -> *) a. f (Box a) -> ManyBoxes f a
+ManyBoxes ([Box a] -> ManyBoxes [] a)
+-> (Box a -> [Box a]) -> Box a -> ManyBoxes [] a
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Box a -> [Box a]
+forall a. a -> [a]
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure
+  scenter :: forall a. (Fractional a, Ord a) => Box a -> V3 a
+scenter = Box a -> V3 a
+forall a. Box a -> V3 a
+center
+  sdimensions :: forall a. (Fractional a, Ord a) => Box a -> V3 a
+sdimensions = Box a -> V3 a
+forall a. Box a -> V3 a
+dimensions
+
+-- | a box with zero dimensions and center
+boxzero :: (Num a) => Box a
+boxzero :: forall a. Num a => Box a
+boxzero = V3 a -> V3 a -> Box a
+forall a. V3 a -> V3 a -> Box a
+Box V3 a
+forall a. Num a => V3 a
+forall (f :: * -> *) a. (Additive f, Num a) => f a
+zero V3 a
+forall a. Num a => V3 a
+forall (f :: * -> *) a. (Additive f, Num a) => f a
+zero
+
+-- | the location of the lower corner of the box
+locorner :: (Fractional a) => Box a -> V3 a
+locorner :: forall a. Fractional a => Box a -> V3 a
+locorner (Box V3 a
+d V3 a
+c) = V3 a
+c V3 a -> V3 a -> V3 a
+forall a. Num a => a -> a -> a
+- V3 a
+d V3 a -> a -> V3 a
+forall (f :: * -> *) a.
+(Functor f, Fractional a) =>
+f a -> a -> f a
+^/ a
+2
+
+-- | the location of the higher corner of the box
+hicorner :: (Fractional a) => Box a -> V3 a
+hicorner :: forall a. Fractional a => Box a -> V3 a
+hicorner (Box V3 a
+d V3 a
+c) = V3 a
+c V3 a -> V3 a -> V3 a
+forall a. Num a => a -> a -> a
++ V3 a
+d V3 a -> a -> V3 a
+forall (f :: * -> *) a.
+(Functor f, Fractional a) =>
+f a -> a -> f a
+^/ a
+2
+
+instance (Show (f (Box a))) => Show (ManyBoxes f a) where
+  show :: ManyBoxes f a -> String
+show (ManyBoxes f (Box a)
+boxes) = f (Box a) -> String
+forall a. Show a => a -> String
+show f (Box a)
+boxes
+
+-- | this one implements 'Bounded' as well
+newtype Arg' a b = Arg' (Arg a b)
+  deriving newtype (Arg' a b -> Arg' a b -> Bool
+(Arg' a b -> Arg' a b -> Bool)
+-> (Arg' a b -> Arg' a b -> Bool) -> Eq (Arg' a b)
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+forall a b. Eq a => Arg' a b -> Arg' a b -> Bool
+$c== :: forall a b. Eq a => Arg' a b -> Arg' a b -> Bool
+== :: Arg' a b -> Arg' a b -> Bool
+$c/= :: forall a b. Eq a => Arg' a b -> Arg' a b -> Bool
+/= :: Arg' a b -> Arg' a b -> Bool
+Eq, Eq (Arg' a b)
+Eq (Arg' a b) =>
+(Arg' a b -> Arg' a b -> Ordering)
+-> (Arg' a b -> Arg' a b -> Bool)
+-> (Arg' a b -> Arg' a b -> Bool)
+-> (Arg' a b -> Arg' a b -> Bool)
+-> (Arg' a b -> Arg' a b -> Bool)
+-> (Arg' a b -> Arg' a b -> Arg' a b)
+-> (Arg' a b -> Arg' a b -> Arg' a b)
+-> Ord (Arg' a b)
+Arg' a b -> Arg' a b -> Bool
+Arg' a b -> Arg' a b -> Ordering
+Arg' a b -> Arg' a b -> Arg' a b
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+forall a b. Ord a => Eq (Arg' a b)
+forall a b. Ord a => Arg' a b -> Arg' a b -> Bool
+forall a b. Ord a => Arg' a b -> Arg' a b -> Ordering
+forall a b. Ord a => Arg' a b -> Arg' a b -> Arg' a b
+$ccompare :: forall a b. Ord a => Arg' a b -> Arg' a b -> Ordering
+compare :: Arg' a b -> Arg' a b -> Ordering
+$c< :: forall a b. Ord a => Arg' a b -> Arg' a b -> Bool
+< :: Arg' a b -> Arg' a b -> Bool
+$c<= :: forall a b. Ord a => Arg' a b -> Arg' a b -> Bool
+<= :: Arg' a b -> Arg' a b -> Bool
+$c> :: forall a b. Ord a => Arg' a b -> Arg' a b -> Bool
+> :: Arg' a b -> Arg' a b -> Bool
+$c>= :: forall a b. Ord a => Arg' a b -> Arg' a b -> Bool
+>= :: Arg' a b -> Arg' a b -> Bool
+$cmax :: forall a b. Ord a => Arg' a b -> Arg' a b -> Arg' a b
+max :: Arg' a b -> Arg' a b -> Arg' a b
+$cmin :: forall a b. Ord a => Arg' a b -> Arg' a b -> Arg' a b
+min :: Arg' a b -> Arg' a b -> Arg' a b
+Ord, (forall x. Arg' a b -> Rep (Arg' a b) x)
+-> (forall x. Rep (Arg' a b) x -> Arg' a b) -> Generic (Arg' a b)
+forall x. Rep (Arg' a b) x -> Arg' a b
+forall x. Arg' a b -> Rep (Arg' a b) x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+forall a b x. Rep (Arg' a b) x -> Arg' a b
+forall a b x. Arg' a b -> Rep (Arg' a b) x
+$cfrom :: forall a b x. Arg' a b -> Rep (Arg' a b) x
+from :: forall x. Arg' a b -> Rep (Arg' a b) x
+$cto :: forall a b x. Rep (Arg' a b) x -> Arg' a b
+to :: forall x. Rep (Arg' a b) x -> Arg' a b
+Generic, Typeable, Eq (Arg' a b)
+Eq (Arg' a b) =>
+(Int -> Arg' a b -> Int)
+-> (Arg' a b -> Int) -> Hashable (Arg' a b)
+Int -> Arg' a b -> Int
+Arg' a b -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+forall a b. Hashable a => Eq (Arg' a b)
+forall a b. Hashable a => Int -> Arg' a b -> Int
+forall a b. Hashable a => Arg' a b -> Int
+$chashWithSalt :: forall a b. Hashable a => Int -> Arg' a b -> Int
+hashWithSalt :: Int -> Arg' a b -> Int
+$chash :: forall a b. Hashable a => Arg' a b -> Int
+hash :: Arg' a b -> Int
+Hashable, (forall a b. (a -> b) -> Arg' a a -> Arg' a b)
+-> (forall a b. a -> Arg' a b -> Arg' a a) -> Functor (Arg' a)
+forall a b. a -> Arg' a b -> Arg' a a
+forall a b. (a -> b) -> Arg' a a -> Arg' a b
+forall a a b. a -> Arg' a b -> Arg' a a
+forall a a b. (a -> b) -> Arg' a a -> Arg' a b
+forall (f :: * -> *).
+(forall a b. (a -> b) -> f a -> f b)
+-> (forall a b. a -> f b -> f a) -> Functor f
+$cfmap :: forall a a b. (a -> b) -> Arg' a a -> Arg' a b
+fmap :: forall a b. (a -> b) -> Arg' a a -> Arg' a b
+$c<$ :: forall a a b. a -> Arg' a b -> Arg' a a
+<$ :: forall a b. a -> Arg' a b -> Arg' a a
+Functor)
+
+instance (Fractional a, Bounded b) => Bounded (Arg' a b) where
+  minBound :: Arg' a b
+minBound = Arg a b -> Arg' a b
+forall a b. Arg a b -> Arg' a b
+Arg' (a -> b -> Arg a b
+forall a b. a -> b -> Arg a b
+Arg a
+0 b
+forall a. Bounded a => a
+minBound)
+  maxBound :: Arg' a b
+maxBound = Arg a b -> Arg' a b
+forall a b. Arg a b -> Arg' a b
+Arg' (a -> b -> Arg a b
+forall a b. a -> b -> Arg a b
+Arg a
+forall a. Fractional a => a
+posinf b
+forall a. Bounded a => a
+maxBound)
+  {-# INLINE minBound #-}
+  {-# INLINE maxBound #-}
+
+unarg :: Arg' a b -> b
+unarg :: forall a b. Arg' a b -> b
+unarg (Arg' (Arg a
+_ b
+b)) = b
+b
+{-# INLINE unarg #-}
+
+-- if a ~ 'Box _', the find the box with the smallest hit time
+arghitminboxf ::
+  (Foldable f, Ord b, Fractional b) =>
+  (a -> Hit b) -> f a -> Hit b
+arghitminboxf :: forall (f :: * -> *) b a.
+(Foldable f, Ord b, Fractional b) =>
+(a -> Hit b) -> f a -> Hit b
+arghitminboxf a -> Hit b
+f =
+  let g :: a -> Min (Arg' b (Hit' b))
+g (a -> Hit b
+f -> Hit b
+h) = Arg' b (Hit' b) -> Min (Arg' b (Hit' b))
+forall a. a -> Min a
+Min (Arg' b (Hit' b) -> Min (Arg' b (Hit' b)))
+-> Arg' b (Hit' b) -> Min (Arg' b (Hit' b))
+forall a b. (a -> b) -> a -> b
+$ Arg b (Hit' b) -> Arg' b (Hit' b)
+forall a b. Arg a b -> Arg' a b
+Arg' (Arg b (Hit' b) -> Arg' b (Hit' b))
+-> Arg b (Hit' b) -> Arg' b (Hit' b)
+forall a b. (a -> b) -> a -> b
+$ b -> Hit' b -> Arg b (Hit' b)
+forall a b. a -> b -> Arg a b
+Arg (Hit b -> b
+forall a. Hit a -> a
+hittime Hit b
+h) (Hit b -> Hit' b
+forall a. Hit a -> Hit' a
+Hit' Hit b
+h)
+   in Hit' b -> Hit b
+forall a. Hit' a -> Hit a
+unHit' (Hit' b -> Hit b) -> (f a -> Hit' b) -> f a -> Hit b
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Arg' b (Hit' b) -> Hit' b
+forall a b. Arg' a b -> b
+unarg (Arg' b (Hit' b) -> Hit' b)
+-> (f a -> Arg' b (Hit' b)) -> f a -> Hit' b
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Min (Arg' b (Hit' b)) -> Arg' b (Hit' b)
+forall a. Min a -> a
+getMin (Min (Arg' b (Hit' b)) -> Arg' b (Hit' b))
+-> (f a -> Min (Arg' b (Hit' b))) -> f a -> Arg' b (Hit' b)
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. (a -> Min (Arg' b (Hit' b))) -> f a -> Min (Arg' b (Hit' b))
+forall m a. Monoid m => (a -> m) -> f a -> m
+forall (t :: * -> *) m a.
+(Foldable t, Monoid m) =>
+(a -> m) -> t a -> m
+foldMap' a -> Min (Arg' b (Hit' b))
+g
+{-# INLINE arghitminboxf #-}
+
+instance (Functor f, Foldable f) => Shape (ManyBoxes f) where
+  crossing :: forall a. RealFloat a => V3 a -> V3 a -> ManyBoxes f a -> Hit a
+crossing V3 a
+origin V3 a
+displacement (ManyBoxes f (Box a)
+boxes) =
+    (Box a -> Hit a) -> f (Box a) -> Hit a
+forall (f :: * -> *) b a.
+(Foldable f, Ord b, Fractional b) =>
+(a -> Hit b) -> f a -> Hit b
+arghitminboxf (V3 a -> V3 a -> Box a -> Hit a
+forall a. RealFloat a => V3 a -> V3 a -> Box a -> Hit a
+forall (s :: * -> *) a.
+(Shape s, RealFloat a) =>
+V3 a -> V3 a -> s a -> Hit a
+crossing V3 a
+origin V3 a
+displacement) f (Box a)
+boxes
+
+  -- find the first hitting collision
+  hitting :: forall a.
+RealFloat a =>
+V3 a -> ManyBoxes f a -> ManyBoxes f a -> Hit a
+hitting V3 a
+moving (ManyBoxes f (Box a)
+these) (ManyBoxes f (Box a)
+those) =
+    let firsthit :: f (Box a) -> Box a -> Hit a
+firsthit f (Box a)
+boxes Box a
+box = (Box a -> Hit a) -> f (Box a) -> Hit a
+forall (f :: * -> *) b a.
+(Foldable f, Ord b, Fractional b) =>
+(a -> Hit b) -> f a -> Hit b
+arghitminboxf (V3 a -> Box a -> Box a -> Hit a
+forall a. RealFloat a => V3 a -> Box a -> Box a -> Hit a
+forall (s :: * -> *) a.
+(Shape s, RealFloat a) =>
+V3 a -> s a -> s a -> Hit a
+hitting V3 a
+moving Box a
+box) f (Box a)
+boxes
+     in (Box a -> Hit a) -> f (Box a) -> Hit a
+forall (f :: * -> *) b a.
+(Foldable f, Ord b, Fractional b) =>
+(a -> Hit b) -> f a -> Hit b
+arghitminboxf (f (Box a) -> Box a -> Hit a
+firsthit f (Box a)
+those) f (Box a)
+these
+
+  -- check if any of the boxes intersect
+  intersecting :: forall a.
+(Fractional a, Ord a) =>
+ManyBoxes f a -> ManyBoxes f a -> Bool
+intersecting (ManyBoxes f (Box a)
+these) (ManyBoxes f (Box a)
+those) =
+    (Box a -> Bool -> Bool) -> Bool -> f (Box a) -> Bool
+forall a b. (a -> b -> b) -> b -> f a -> b
+forall (t :: * -> *) a b.
+Foldable t =>
+(a -> b -> b) -> b -> t a -> b
+foldr
+      ( \Box a
+this Bool
+r ->
+          (Box a -> Bool -> Bool) -> Bool -> f (Box a) -> Bool
+forall a b. (a -> b -> b) -> b -> f a -> b
+forall (t :: * -> *) a b.
+Foldable t =>
+(a -> b -> b) -> b -> t a -> b
+foldr
+            do \Box a
+that Bool
+s -> Box a -> Box a -> Bool
+forall a. (Fractional a, Ord a) => Box a -> Box a -> Bool
+forall (s :: * -> *) a.
+(Shape s, Fractional a, Ord a) =>
+s a -> s a -> Bool
+intersecting Box a
+this Box a
+that Bool -> Bool -> Bool
+|| Bool
+s
+            do Bool
+False
+            do f (Box a)
+those
+            Bool -> Bool -> Bool
+|| Bool
+r
+      )
+      do Bool
+False
+      do f (Box a)
+these
+
+  -- translate all the boxes
+  translate :: forall a. Num a => V3 a -> ManyBoxes f a -> ManyBoxes f a
+translate V3 a
+displacement (ManyBoxes f (Box a)
+boxes) =
+    f (Box a) -> ManyBoxes f a
+forall (f :: * -> *) a. f (Box a) -> ManyBoxes f a
+ManyBoxes (f (Box a) -> ManyBoxes f a) -> f (Box a) -> ManyBoxes f a
+forall a b. (a -> b) -> a -> b
+$
+      V3 a -> Box a -> Box a
+forall a. Num a => V3 a -> Box a -> Box a
+forall (s :: * -> *) a. (Shape s, Num a) => V3 a -> s a -> s a
+translate V3 a
+displacement (Box a -> Box a) -> f (Box a) -> f (Box a)
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> f (Box a)
+boxes
+
+  -- find the corners of the smallest bounding box
+  corners :: forall a. (Fractional a, Ord a) => ManyBoxes f a -> V2 (V3 a)
+corners (ManyBoxes f (Box a)
+boxes) =
+    let low :: V3 a
+low = (V3 a -> Box a -> V3 a) -> V3 a -> f (Box a) -> V3 a
+forall b a. (b -> a -> b) -> b -> f a -> b
+forall (t :: * -> *) b a.
+Foldable t =>
+(b -> a -> b) -> b -> t a -> b
+foldl' ((Box a -> V3 a -> V3 a) -> V3 a -> Box a -> V3 a
+forall a b c. (a -> b -> c) -> b -> a -> c
+flip ((Box a -> V3 a -> V3 a) -> V3 a -> Box a -> V3 a)
+-> (Box a -> V3 a -> V3 a) -> V3 a -> Box a -> V3 a
+forall a b. (a -> b) -> a -> b
+$ (a -> a -> a) -> V3 a -> V3 a -> V3 a
+forall a b c. (a -> b -> c) -> V3 a -> V3 b -> V3 c
+forall (f :: * -> *) a b c.
+Applicative f =>
+(a -> b -> c) -> f a -> f b -> f c
+liftA2 a -> a -> a
+forall a. Ord a => a -> a -> a
+min (V3 a -> V3 a -> V3 a) -> (Box a -> V3 a) -> Box a -> V3 a -> V3 a
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Box a -> V3 a
+forall a. Fractional a => Box a -> V3 a
+locorner) (a -> V3 a
+forall a. a -> V3 a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure a
+forall a. Fractional a => a
+posinf) f (Box a)
+boxes
+        high :: V3 a
+high = (V3 a -> Box a -> V3 a) -> V3 a -> f (Box a) -> V3 a
+forall b a. (b -> a -> b) -> b -> f a -> b
+forall (t :: * -> *) b a.
+Foldable t =>
+(b -> a -> b) -> b -> t a -> b
+foldl' ((Box a -> V3 a -> V3 a) -> V3 a -> Box a -> V3 a
+forall a b c. (a -> b -> c) -> b -> a -> c
+flip ((Box a -> V3 a -> V3 a) -> V3 a -> Box a -> V3 a)
+-> (Box a -> V3 a -> V3 a) -> V3 a -> Box a -> V3 a
+forall a b. (a -> b) -> a -> b
+$ (a -> a -> a) -> V3 a -> V3 a -> V3 a
+forall a b c. (a -> b -> c) -> V3 a -> V3 b -> V3 c
+forall (f :: * -> *) a b c.
+Applicative f =>
+(a -> b -> c) -> f a -> f b -> f c
+liftA2 a -> a -> a
+forall a. Ord a => a -> a -> a
+max (V3 a -> V3 a -> V3 a) -> (Box a -> V3 a) -> Box a -> V3 a -> V3 a
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Box a -> V3 a
+forall a. Fractional a => Box a -> V3 a
+hicorner) (a -> V3 a
+forall a. a -> V3 a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure (-a
+forall a. Fractional a => a
+posinf)) f (Box a)
+boxes
+     in V3 a -> V3 a -> V2 (V3 a)
+forall a. a -> a -> V2 a
+V2 V3 a
+low V3 a
+high
+
+  tomanyboxes :: forall a. ManyBoxes f a -> ManyBoxes [] a
+tomanyboxes (ManyBoxes f (Box a)
+boxes) = [Box a] -> ManyBoxes [] a
+forall (f :: * -> *) a. f (Box a) -> ManyBoxes f a
+ManyBoxes ([Box a] -> ManyBoxes [] a) -> [Box a] -> ManyBoxes [] a
+forall a b. (a -> b) -> a -> b
+$ f (Box a) -> [Box a]
+forall a. f a -> [a]
+forall (t :: * -> *) a. Foldable t => t a -> [a]
+toList f (Box a)
+boxes
+
\ No newline at end of file diff --git a/src/M.Collision.html b/src/M.Collision.html new file mode 100644 index 0000000..0ee2fd7 --- /dev/null +++ b/src/M.Collision.html @@ -0,0 +1,17 @@ +
-- |
+-- Module: M.Collision
+-- Description: Unified collision detection system
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Re-exports both pure and effectful collision detection systems.
+-- Provides a unified interface for the collision detection subsystem.
+module M.Collision
+  ( module M.Collision.Effectful,
+    module M.Collision.Pure,
+  )
+where
+
+import M.Collision.Effectful
+import M.Collision.Pure
+
\ No newline at end of file diff --git a/src/M.Crypto.html b/src/M.Crypto.html new file mode 100644 index 0000000..6f733bb --- /dev/null +++ b/src/M.Crypto.html @@ -0,0 +1,1150 @@ +
-- |
+-- Module: M.Crypto
+-- Description: Cryptographic operations for Minecraft protocol
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Provides cryptographic functionality required by the Minecraft protocol,
+-- including AES encryption/decryption, RSA operations, and server-specific
+-- hashing utilities.
+module M.Crypto
+  ( -- * AES
+    AES,
+    Mode (..),
+    aesnew,
+    aesupdate,
+
+    -- * RSA
+    RSA,
+    rsanew,
+    rsaup,
+    rsaspki,
+
+    -- * Hash
+    hashservnam,
+
+    -- * General
+    Error (..),
+    AESClass,
+    RSAClass,
+
+    -- * Re-exports
+    ByteString,
+  )
+where
+
+import Control.Exception hiding (throw)
+import Data.ByteString (ByteString)
+import Data.ByteString qualified as B
+import Data.ByteString.Unsafe
+import Data.Data
+import Data.Functor
+import Foreign
+import Foreign.C
+import GHC.Generics
+
+-- exported types
+
+-- | error type
+newtype Error = Error String
+  deriving stock (Typeable, Typeable Error
+Typeable Error =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> Error -> c Error)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c Error)
+-> (Error -> Constr)
+-> (Error -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c Error))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Error))
+-> ((forall b. Data b => b -> b) -> Error -> Error)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Error -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Error -> r)
+-> (forall u. (forall d. Data d => d -> u) -> Error -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> Error -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> Error -> m Error)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Error -> m Error)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Error -> m Error)
+-> Data Error
+Error -> Constr
+Error -> DataType
+(forall b. Data b => b -> b) -> Error -> Error
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> Error -> u
+forall u. (forall d. Data d => d -> u) -> Error -> [u]
+forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Error -> r
+forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Error -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Error -> m Error
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Error -> m Error
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Error
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Error -> c Error
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Error)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Error)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Error -> c Error
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Error -> c Error
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Error
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Error
+$ctoConstr :: Error -> Constr
+toConstr :: Error -> Constr
+$cdataTypeOf :: Error -> DataType
+dataTypeOf :: Error -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Error)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Error)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Error)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Error)
+$cgmapT :: (forall b. Data b => b -> b) -> Error -> Error
+gmapT :: (forall b. Data b => b -> b) -> Error -> Error
+$cgmapQl :: forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Error -> r
+gmapQl :: forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Error -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Error -> r
+gmapQr :: forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Error -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> Error -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> Error -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Error -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Error -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Error -> m Error
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Error -> m Error
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Error -> m Error
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Error -> m Error
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Error -> m Error
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Error -> m Error
+Data, (forall x. Error -> Rep Error x)
+-> (forall x. Rep Error x -> Error) -> Generic Error
+forall x. Rep Error x -> Error
+forall x. Error -> Rep Error x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. Error -> Rep Error x
+from :: forall x. Error -> Rep Error x
+$cto :: forall x. Rep Error x -> Error
+to :: forall x. Rep Error x -> Error
+Generic)
+  deriving newtype (Int -> Error -> ShowS
+[Error] -> ShowS
+Error -> String
+(Int -> Error -> ShowS)
+-> (Error -> String) -> ([Error] -> ShowS) -> Show Error
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> Error -> ShowS
+showsPrec :: Int -> Error -> ShowS
+$cshow :: Error -> String
+show :: Error -> String
+$cshowList :: [Error] -> ShowS
+showList :: [Error] -> ShowS
+Show, Error -> Error -> Bool
+(Error -> Error -> Bool) -> (Error -> Error -> Bool) -> Eq Error
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: Error -> Error -> Bool
+== :: Error -> Error -> Bool
+$c/= :: Error -> Error -> Bool
+/= :: Error -> Error -> Bool
+Eq)
+  -- Typeable: for catching exceptions
+  deriving anyclass (Show Error
+Typeable Error
+(Typeable Error, Show Error) =>
+(Error -> SomeException)
+-> (SomeException -> Maybe Error)
+-> (Error -> String)
+-> Exception Error
+SomeException -> Maybe Error
+Error -> String
+Error -> SomeException
+forall e.
+(Typeable e, Show e) =>
+(e -> SomeException)
+-> (SomeException -> Maybe e) -> (e -> String) -> Exception e
+$ctoException :: Error -> SomeException
+toException :: Error -> SomeException
+$cfromException :: SomeException -> Maybe Error
+fromException :: SomeException -> Maybe Error
+$cdisplayException :: Error -> String
+displayException :: Error -> String
+Exception)
+
+-- private function: throw an error
+throw :: String -> IO a
+throw :: forall a. String -> IO a
+throw String
+lab = do
+  String
+e <-
+    IO String
+dumpallerrors IO String -> ShowS -> IO String
+forall (f :: * -> *) a b. Functor f => f a -> (a -> b) -> f b
+<&> \case
+      String
+"" -> String
+"(unknown error/no message)"
+      String
+e1 -> String
+e1
+  Error -> IO a
+forall e a. Exception e => e -> IO a
+throwIO (Error -> IO a) -> Error -> IO a
+forall a b. (a -> b) -> a -> b
+$ String -> Error
+Error (String -> Error) -> String -> Error
+forall a b. (a -> b) -> a -> b
+$ String
+lab String -> ShowS
+forall a. [a] -> [a] -> [a]
+++ String
+": " String -> ShowS
+forall a. [a] -> [a] -> [a]
+++ String
+e
+
+-- | encryption/decryption mode
+data Mode = Encrypt | Decrypt
+  deriving stock (Mode -> Mode -> Bool
+(Mode -> Mode -> Bool) -> (Mode -> Mode -> Bool) -> Eq Mode
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: Mode -> Mode -> Bool
+== :: Mode -> Mode -> Bool
+$c/= :: Mode -> Mode -> Bool
+/= :: Mode -> Mode -> Bool
+Eq, Int -> Mode -> ShowS
+[Mode] -> ShowS
+Mode -> String
+(Int -> Mode -> ShowS)
+-> (Mode -> String) -> ([Mode] -> ShowS) -> Show Mode
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> Mode -> ShowS
+showsPrec :: Int -> Mode -> ShowS
+$cshow :: Mode -> String
+show :: Mode -> String
+$cshowList :: [Mode] -> ShowS
+showList :: [Mode] -> ShowS
+Show, ReadPrec [Mode]
+ReadPrec Mode
+Int -> ReadS Mode
+ReadS [Mode]
+(Int -> ReadS Mode)
+-> ReadS [Mode] -> ReadPrec Mode -> ReadPrec [Mode] -> Read Mode
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS Mode
+readsPrec :: Int -> ReadS Mode
+$creadList :: ReadS [Mode]
+readList :: ReadS [Mode]
+$creadPrec :: ReadPrec Mode
+readPrec :: ReadPrec Mode
+$creadListPrec :: ReadPrec [Mode]
+readListPrec :: ReadPrec [Mode]
+Read, Typeable, Typeable Mode
+Typeable Mode =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> Mode -> c Mode)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c Mode)
+-> (Mode -> Constr)
+-> (Mode -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c Mode))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Mode))
+-> ((forall b. Data b => b -> b) -> Mode -> Mode)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Mode -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Mode -> r)
+-> (forall u. (forall d. Data d => d -> u) -> Mode -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> Mode -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> Mode -> m Mode)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Mode -> m Mode)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Mode -> m Mode)
+-> Data Mode
+Mode -> Constr
+Mode -> DataType
+(forall b. Data b => b -> b) -> Mode -> Mode
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> Mode -> u
+forall u. (forall d. Data d => d -> u) -> Mode -> [u]
+forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Mode -> r
+forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Mode -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Mode -> m Mode
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Mode -> m Mode
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Mode
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Mode -> c Mode
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Mode)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Mode)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Mode -> c Mode
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Mode -> c Mode
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Mode
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Mode
+$ctoConstr :: Mode -> Constr
+toConstr :: Mode -> Constr
+$cdataTypeOf :: Mode -> DataType
+dataTypeOf :: Mode -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Mode)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Mode)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Mode)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Mode)
+$cgmapT :: (forall b. Data b => b -> b) -> Mode -> Mode
+gmapT :: (forall b. Data b => b -> b) -> Mode -> Mode
+$cgmapQl :: forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Mode -> r
+gmapQl :: forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Mode -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Mode -> r
+gmapQr :: forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Mode -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> Mode -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> Mode -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Mode -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Mode -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Mode -> m Mode
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Mode -> m Mode
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Mode -> m Mode
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Mode -> m Mode
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Mode -> m Mode
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Mode -> m Mode
+Data, (forall x. Mode -> Rep Mode x)
+-> (forall x. Rep Mode x -> Mode) -> Generic Mode
+forall x. Rep Mode x -> Mode
+forall x. Mode -> Rep Mode x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. Mode -> Rep Mode x
+from :: forall x. Mode -> Rep Mode x
+$cto :: forall x. Rep Mode x -> Mode
+to :: forall x. Rep Mode x -> Mode
+Generic, Int -> Mode
+Mode -> Int
+Mode -> [Mode]
+Mode -> Mode
+Mode -> Mode -> [Mode]
+Mode -> Mode -> Mode -> [Mode]
+(Mode -> Mode)
+-> (Mode -> Mode)
+-> (Int -> Mode)
+-> (Mode -> Int)
+-> (Mode -> [Mode])
+-> (Mode -> Mode -> [Mode])
+-> (Mode -> Mode -> [Mode])
+-> (Mode -> Mode -> Mode -> [Mode])
+-> Enum Mode
+forall a.
+(a -> a)
+-> (a -> a)
+-> (Int -> a)
+-> (a -> Int)
+-> (a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> a -> [a])
+-> Enum a
+$csucc :: Mode -> Mode
+succ :: Mode -> Mode
+$cpred :: Mode -> Mode
+pred :: Mode -> Mode
+$ctoEnum :: Int -> Mode
+toEnum :: Int -> Mode
+$cfromEnum :: Mode -> Int
+fromEnum :: Mode -> Int
+$cenumFrom :: Mode -> [Mode]
+enumFrom :: Mode -> [Mode]
+$cenumFromThen :: Mode -> Mode -> [Mode]
+enumFromThen :: Mode -> Mode -> [Mode]
+$cenumFromTo :: Mode -> Mode -> [Mode]
+enumFromTo :: Mode -> Mode -> [Mode]
+$cenumFromThenTo :: Mode -> Mode -> Mode -> [Mode]
+enumFromThenTo :: Mode -> Mode -> Mode -> [Mode]
+Enum, Mode
+Mode -> Mode -> Bounded Mode
+forall a. a -> a -> Bounded a
+$cminBound :: Mode
+minBound :: Mode
+$cmaxBound :: Mode
+maxBound :: Mode
+Bounded)
+
+-- | encryption/decryption context for 'AES' (AES-128-CFB8)
+newtype AES (mode :: Mode) = AES (ForeignPtr EVP_CIPHER_CTX)
+  deriving stock (Int -> AES mode -> ShowS
+[AES mode] -> ShowS
+AES mode -> String
+(Int -> AES mode -> ShowS)
+-> (AES mode -> String) -> ([AES mode] -> ShowS) -> Show (AES mode)
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+forall (mode :: Mode). Int -> AES mode -> ShowS
+forall (mode :: Mode). [AES mode] -> ShowS
+forall (mode :: Mode). AES mode -> String
+$cshowsPrec :: forall (mode :: Mode). Int -> AES mode -> ShowS
+showsPrec :: Int -> AES mode -> ShowS
+$cshow :: forall (mode :: Mode). AES mode -> String
+show :: AES mode -> String
+$cshowList :: forall (mode :: Mode). [AES mode] -> ShowS
+showList :: [AES mode] -> ShowS
+Show)
+  deriving newtype (AES mode -> AES mode -> Bool
+(AES mode -> AES mode -> Bool)
+-> (AES mode -> AES mode -> Bool) -> Eq (AES mode)
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+forall (mode :: Mode). AES mode -> AES mode -> Bool
+$c== :: forall (mode :: Mode). AES mode -> AES mode -> Bool
+== :: AES mode -> AES mode -> Bool
+$c/= :: forall (mode :: Mode). AES mode -> AES mode -> Bool
+/= :: AES mode -> AES mode -> Bool
+Eq)
+
+-- | RSA pkey
+newtype RSA = RSA (ForeignPtr EVP_PKEY)
+  deriving stock (Int -> RSA -> ShowS
+[RSA] -> ShowS
+RSA -> String
+(Int -> RSA -> ShowS)
+-> (RSA -> String) -> ([RSA] -> ShowS) -> Show RSA
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> RSA -> ShowS
+showsPrec :: Int -> RSA -> ShowS
+$cshow :: RSA -> String
+show :: RSA -> String
+$cshowList :: [RSA] -> ShowS
+showList :: [RSA] -> ShowS
+Show)
+  deriving newtype (RSA -> RSA -> Bool
+(RSA -> RSA -> Bool) -> (RSA -> RSA -> Bool) -> Eq RSA
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: RSA -> RSA -> Bool
+== :: RSA -> RSA -> Bool
+$c/= :: RSA -> RSA -> Bool
+/= :: RSA -> RSA -> Bool
+Eq)
+
+-- private class, only some methods are exported
+class AESClass (mode :: Mode) where
+  aesnew_ :: AESCtor
+  aesupdate_ :: AESUpdate
+
+  -- | create a new AES context
+  aesnew :: ByteString -> IO (AES mode)
+  aesnew ByteString
+key | ByteString -> Int
+B.length ByteString
+key Int -> Int -> Bool
+forall a. Eq a => a -> a -> Bool
+/= Int
+16 = String -> IO (AES mode)
+forall a. String -> IO a
+throw String
+"aesnew: key must be 16 bytes"
+  aesnew ByteString
+key = IO (AES mode) -> IO (AES mode)
+forall a. IO a -> IO a
+mask_ do
+    ByteString -> (CString -> IO (AES mode)) -> IO (AES mode)
+forall a. ByteString -> (CString -> IO a) -> IO a
+unsafeUseAsCString ByteString
+key \CString
+keyptr -> do
+      Ptr EVP_CIPHER_CTX
+a <- forall (mode :: Mode). AESClass mode => AESCtor
+aesnew_ @mode (CString -> Ptr Word8
+forall a b. Ptr a -> Ptr b
+castPtr CString
+keyptr)
+      if Ptr EVP_CIPHER_CTX
+a Ptr EVP_CIPHER_CTX -> Ptr EVP_CIPHER_CTX -> Bool
+forall a. Eq a => a -> a -> Bool
+== Ptr EVP_CIPHER_CTX
+forall a. Ptr a
+nullPtr
+        then String -> IO (AES mode)
+forall a. String -> IO a
+throw String
+"aesnew: failed to create AES context"
+        else ForeignPtr EVP_CIPHER_CTX -> AES mode
+forall (mode :: Mode). ForeignPtr EVP_CIPHER_CTX -> AES mode
+AES (ForeignPtr EVP_CIPHER_CTX -> AES mode)
+-> IO (ForeignPtr EVP_CIPHER_CTX) -> IO (AES mode)
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> FinalizerPtr EVP_CIPHER_CTX
+-> Ptr EVP_CIPHER_CTX -> IO (ForeignPtr EVP_CIPHER_CTX)
+forall a. FinalizerPtr a -> Ptr a -> IO (ForeignPtr a)
+newForeignPtr FinalizerPtr EVP_CIPHER_CTX
+mmmfreeaescipherctx Ptr EVP_CIPHER_CTX
+a
+
+  -- | either encrypt or decrypt a message
+  aesupdate :: AES mode -> ByteString -> IO ByteString
+  aesupdate (AES ForeignPtr EVP_CIPHER_CTX
+ctx) ByteString
+bs = IO ByteString -> IO ByteString
+forall a. IO a -> IO a
+mask_ do
+    ByteString -> (CStringLen -> IO ByteString) -> IO ByteString
+forall a. ByteString -> (CStringLen -> IO a) -> IO a
+unsafeUseAsCStringLen ByteString
+bs \(CString -> Ptr Word8
+forall a b. Ptr a -> Ptr b
+castPtr -> Ptr Word8
+ib, Int
+le) ->
+      (Ptr CInt -> IO ByteString) -> IO ByteString
+forall a b. Storable a => (Ptr a -> IO b) -> IO b
+alloca \Ptr CInt
+outlen ->
+        ForeignPtr EVP_CIPHER_CTX
+-> (Ptr EVP_CIPHER_CTX -> IO ByteString) -> IO ByteString
+forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
+withForeignPtr ForeignPtr EVP_CIPHER_CTX
+ctx \Ptr EVP_CIPHER_CTX
+ctxptr -> do
+          let bad :: IO a
+bad = String -> IO a
+forall a. String -> IO a
+throw String
+"aesupdate: AES update failed"
+          CString
+ob <- Int -> IO CString
+forall a. Int -> IO (Ptr a)
+mallocBytes Int
+le
+          CInt
+r <- forall (mode :: Mode). AESClass mode => AESUpdate
+aesupdate_ @mode Ptr EVP_CIPHER_CTX
+ctxptr (CString -> Ptr Word8
+forall a b. Ptr a -> Ptr b
+castPtr CString
+ob) Ptr CInt
+outlen Ptr Word8
+ib (Int -> CInt
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral Int
+le)
+          if CInt
+r CInt -> CInt -> Bool
+forall a. Eq a => a -> a -> Bool
+== CInt
+1
+            then do
+              CInt
+n <- Ptr CInt -> IO CInt
+forall a. Storable a => Ptr a -> IO a
+peek Ptr CInt
+outlen
+              if CInt
+n CInt -> CInt -> Bool
+forall a. Eq a => a -> a -> Bool
+== Int -> CInt
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral Int
+le
+                then CStringLen -> IO ByteString
+unsafePackMallocCStringLen (CString
+ob, CInt -> Int
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral CInt
+n)
+                else IO ByteString
+forall {a}. IO a
+bad
+            else IO ByteString
+forall {a}. IO a
+bad
+
+instance AESClass 'Encrypt where
+  aesnew_ :: AESCtor
+aesnew_ = AESCtor
+mmmnewaesenc
+  aesupdate_ :: AESUpdate
+aesupdate_ = AESUpdate
+evpencryptupdate
+
+instance AESClass 'Decrypt where
+  aesnew_ :: AESCtor
+aesnew_ = AESCtor
+mmmnewaesdec
+  aesupdate_ :: AESUpdate
+aesupdate_ = AESUpdate
+evpdecryptupdate
+
+-- | create a new RSA pkey
+rsanew :: Int -> IO RSA
+rsanew :: Int -> IO RSA
+rsanew Int
+bits = IO RSA -> IO RSA
+forall a. IO a -> IO a
+mask_ do
+  Ptr EVP_PKEY
+a <- CInt -> IO (Ptr EVP_PKEY)
+mmmnewrsa (Int -> CInt
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral Int
+bits)
+  if Ptr EVP_PKEY
+a Ptr EVP_PKEY -> Ptr EVP_PKEY -> Bool
+forall a. Eq a => a -> a -> Bool
+== Ptr EVP_PKEY
+forall a. Ptr a
+nullPtr
+    then String -> IO RSA
+forall a. String -> IO a
+throw String
+"rsanew: failed to create RSA context"
+    else ForeignPtr EVP_PKEY -> RSA
+RSA (ForeignPtr EVP_PKEY -> RSA) -> IO (ForeignPtr EVP_PKEY) -> IO RSA
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> FinalizerPtr EVP_PKEY -> Ptr EVP_PKEY -> IO (ForeignPtr EVP_PKEY)
+forall a. FinalizerPtr a -> Ptr a -> IO (ForeignPtr a)
+newForeignPtr FinalizerPtr EVP_PKEY
+mmmfreersakey Ptr EVP_PKEY
+a
+
+-- | write the SubjectPublicKeyInfo to a 'ByteString'
+rsaspki :: RSA -> IO ByteString
+rsaspki :: RSA -> IO ByteString
+rsaspki (RSA ForeignPtr EVP_PKEY
+rsa) = IO ByteString -> IO ByteString
+forall a. IO a -> IO a
+mask_ do
+  ForeignPtr EVP_PKEY
+-> (Ptr EVP_PKEY -> IO ByteString) -> IO ByteString
+forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
+withForeignPtr ForeignPtr EVP_PKEY
+rsa \Ptr EVP_PKEY
+rsaptr -> do
+    (Ptr MMMRSAOUT -> IO ByteString) -> IO ByteString
+forall a b. Storable a => (Ptr a -> IO b) -> IO b
+alloca \Ptr MMMRSAOUT
+out -> do
+      CInt
+r <- Ptr EVP_PKEY -> Ptr MMMRSAOUT -> IO CInt
+mmmwritepubkey Ptr EVP_PKEY
+rsaptr Ptr MMMRSAOUT
+out
+      if CInt
+r CInt -> CInt -> Bool
+forall a. Eq a => a -> a -> Bool
+== CInt
+1
+        then do
+          MMMRSAOUT Ptr Word8
+op CSize
+ol <- Ptr MMMRSAOUT -> IO MMMRSAOUT
+forall a. Storable a => Ptr a -> IO a
+peek Ptr MMMRSAOUT
+out
+          CStringLen -> IO ByteString
+unsafePackMallocCStringLen (Ptr Word8 -> CString
+forall a b. Ptr a -> Ptr b
+castPtr Ptr Word8
+op, CSize -> Int
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral CSize
+ol)
+        else String -> IO ByteString
+forall a. String -> IO a
+throw String
+"rsaspki: failed to write public key"
+
+class RSAClass (mode :: Mode) where
+  rsaup_ :: Ptr EVP_PKEY -> Ptr Word8 -> CSize -> Ptr MMMRSAOUT -> IO CInt
+
+  -- | either encrypt or decrypt a message
+  rsaup :: RSA -> ByteString -> IO ByteString
+  rsaup (RSA ForeignPtr EVP_PKEY
+rsa) ByteString
+input = IO ByteString -> IO ByteString
+forall a. IO a -> IO a
+mask_ do
+    ForeignPtr EVP_PKEY
+-> (Ptr EVP_PKEY -> IO ByteString) -> IO ByteString
+forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
+withForeignPtr ForeignPtr EVP_PKEY
+rsa \Ptr EVP_PKEY
+rsaptr ->
+      ByteString -> (CStringLen -> IO ByteString) -> IO ByteString
+forall a. ByteString -> (CStringLen -> IO a) -> IO a
+unsafeUseAsCStringLen ByteString
+input \(CString -> Ptr Word8
+forall a b. Ptr a -> Ptr b
+castPtr -> Ptr Word8
+ip, Int
+len) -> do
+        (Ptr MMMRSAOUT -> IO ByteString) -> IO ByteString
+forall a b. Storable a => (Ptr a -> IO b) -> IO b
+alloca \Ptr MMMRSAOUT
+out -> do
+          CInt
+r <- forall (mode :: Mode).
+RSAClass mode =>
+Ptr EVP_PKEY -> Ptr Word8 -> CSize -> Ptr MMMRSAOUT -> IO CInt
+rsaup_ @mode Ptr EVP_PKEY
+rsaptr Ptr Word8
+ip (Int -> CSize
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral Int
+len) Ptr MMMRSAOUT
+out
+          if CInt
+r CInt -> CInt -> Bool
+forall a. Eq a => a -> a -> Bool
+== CInt
+1
+            then do
+              -- rsa input/outputs typically have different lengths
+              MMMRSAOUT Ptr Word8
+op CSize
+ol <- Ptr MMMRSAOUT -> IO MMMRSAOUT
+forall a. Storable a => Ptr a -> IO a
+peek Ptr MMMRSAOUT
+out
+              CStringLen -> IO ByteString
+unsafePackMallocCStringLen (Ptr Word8 -> CString
+forall a b. Ptr a -> Ptr b
+castPtr Ptr Word8
+op, CSize -> Int
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral CSize
+ol)
+            else String -> IO ByteString
+forall a. String -> IO a
+throw String
+"rsaup: RSA operation failed"
+
+instance RSAClass 'Encrypt where
+  rsaup_ :: Ptr EVP_PKEY -> Ptr Word8 -> CSize -> Ptr MMMRSAOUT -> IO CInt
+rsaup_ = Ptr EVP_PKEY -> Ptr Word8 -> CSize -> Ptr MMMRSAOUT -> IO CInt
+mmmrsapubenc
+
+instance RSAClass 'Decrypt where
+  rsaup_ :: Ptr EVP_PKEY -> Ptr Word8 -> CSize -> Ptr MMMRSAOUT -> IO CInt
+rsaup_ = Ptr EVP_PKEY -> Ptr Word8 -> CSize -> Ptr MMMRSAOUT -> IO CInt
+mmmrsaprivdec
+
+-- | generate a SHA1 hash of the server name
+hashservnam ::
+  -- | server id
+  ByteString ->
+  -- | shared secret
+  ByteString ->
+  -- | verify token
+  ByteString ->
+  -- | SHA1 hash (20 bytes)
+  IO ByteString
+hashservnam :: ByteString -> ByteString -> ByteString -> IO ByteString
+hashservnam ByteString
+se ByteString
+sh ByteString
+ve = IO ByteString -> IO ByteString
+forall a. IO a -> IO a
+mask_ do
+  ByteString -> (CStringLen -> IO ByteString) -> IO ByteString
+forall a. ByteString -> (CStringLen -> IO a) -> IO a
+unsafeUseAsCStringLen ByteString
+se \(CString -> Ptr Word8
+forall a b. Ptr a -> Ptr b
+castPtr -> Ptr Word8
+sep, Int -> CSize
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral -> CSize
+sel) ->
+    ByteString -> (CStringLen -> IO ByteString) -> IO ByteString
+forall a. ByteString -> (CStringLen -> IO a) -> IO a
+unsafeUseAsCStringLen ByteString
+sh \(CString -> Ptr Word8
+forall a b. Ptr a -> Ptr b
+castPtr -> Ptr Word8
+shp, Int -> CSize
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral -> CSize
+shl) ->
+      ByteString -> (CStringLen -> IO ByteString) -> IO ByteString
+forall a. ByteString -> (CStringLen -> IO a) -> IO a
+unsafeUseAsCStringLen ByteString
+ve \(CString -> Ptr Word8
+forall a b. Ptr a -> Ptr b
+castPtr -> Ptr Word8
+vep, Int -> CSize
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral -> CSize
+vel) -> do
+        Ptr Word8
+p <- Ptr Word8
+-> CSize
+-> Ptr Word8
+-> CSize
+-> Ptr Word8
+-> CSize
+-> IO (Ptr Word8)
+mmmhashservnam Ptr Word8
+sep CSize
+sel Ptr Word8
+shp CSize
+shl Ptr Word8
+vep CSize
+vel
+        case Ptr Word8
+p of
+          Ptr Word8
+p1 | Ptr Word8
+p1 Ptr Word8 -> Ptr Word8 -> Bool
+forall a. Eq a => a -> a -> Bool
+== Ptr Word8
+forall a. Ptr a
+nullPtr -> String -> IO ByteString
+forall a. String -> IO a
+throw String
+"hashservnam: failed to hash"
+          -- SHA1 has 20 bytes
+          Ptr Word8
+p1 -> CStringLen -> IO ByteString
+unsafePackMallocCStringLen (Ptr Word8 -> CString
+forall a b. Ptr a -> Ptr b
+castPtr Ptr Word8
+p1, Int
+20)
+
+-- dump all errors to a 'String' and clear the error buffer
+dumpallerrors :: IO String
+dumpallerrors :: IO String
+dumpallerrors =
+  IO CString
+mmmdumpallerrs IO CString -> (CString -> IO String) -> IO String
+forall a b. IO a -> (a -> IO b) -> IO b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= \case
+    CString
+p | CString
+p CString -> CString -> Bool
+forall a. Eq a => a -> a -> Bool
+== CString
+forall a. Ptr a
+nullPtr -> String -> IO String
+forall a. a -> IO a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure String
+""
+    CString
+p -> CString -> IO String
+peekCString CString
+p -- copies the string
+
+-- internal types
+data EVP_CIPHER_CTX
+
+data EVP_PKEY
+
+-- represent the C struct @mmmrsaout@
+data MMMRSAOUT
+  = MMMRSAOUT
+      (Ptr Word8) -- output
+      CSize -- length
+
+instance Storable MMMRSAOUT where
+  sizeOf :: MMMRSAOUT -> Int
+sizeOf MMMRSAOUT
+_ = Ptr Word8 -> Int
+forall a. Storable a => a -> Int
+sizeOf (Ptr Word8
+forall a. HasCallStack => a
+undefined :: Ptr Word8) Int -> Int -> Int
+forall a. Num a => a -> a -> a
++ CSize -> Int
+forall a. Storable a => a -> Int
+sizeOf (CSize
+forall a. HasCallStack => a
+undefined :: CSize)
+  alignment :: MMMRSAOUT -> Int
+alignment MMMRSAOUT
+_ = Ptr () -> Int
+forall a. Storable a => a -> Int
+alignment (Ptr ()
+forall a. HasCallStack => a
+undefined :: Ptr ())
+  peek :: Ptr MMMRSAOUT -> IO MMMRSAOUT
+peek Ptr MMMRSAOUT
+ptr =
+    Ptr Word8 -> CSize -> MMMRSAOUT
+MMMRSAOUT
+      (Ptr Word8 -> CSize -> MMMRSAOUT)
+-> IO (Ptr Word8) -> IO (CSize -> MMMRSAOUT)
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> (Ptr MMMRSAOUT -> Int -> IO (Ptr Word8)
+forall b. Ptr b -> Int -> IO (Ptr Word8)
+forall a b. Storable a => Ptr b -> Int -> IO a
+`peekByteOff` Int
+0) Ptr MMMRSAOUT
+ptr
+      IO (CSize -> MMMRSAOUT) -> IO CSize -> IO MMMRSAOUT
+forall a b. IO (a -> b) -> IO a -> IO b
+forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
+<*> (Ptr MMMRSAOUT -> Int -> IO CSize
+forall b. Ptr b -> Int -> IO CSize
+forall a b. Storable a => Ptr b -> Int -> IO a
+`peekByteOff` Ptr Word8 -> Int
+forall a. Storable a => a -> Int
+sizeOf (Ptr Word8
+forall a. HasCallStack => a
+undefined :: Ptr Word8)) Ptr MMMRSAOUT
+ptr
+  poke :: Ptr MMMRSAOUT -> MMMRSAOUT -> IO ()
+poke Ptr MMMRSAOUT
+ptr (MMMRSAOUT Ptr Word8
+out CSize
+len) = do
+    (Ptr MMMRSAOUT -> Int -> Ptr Word8 -> IO ()
+forall b. Ptr b -> Int -> Ptr Word8 -> IO ()
+forall a b. Storable a => Ptr b -> Int -> a -> IO ()
+`pokeByteOff` Int
+0) Ptr MMMRSAOUT
+ptr Ptr Word8
+out
+    (Ptr MMMRSAOUT -> Int -> CSize -> IO ()
+forall b. Ptr b -> Int -> CSize -> IO ()
+forall a b. Storable a => Ptr b -> Int -> a -> IO ()
+`pokeByteOff` Ptr Word8 -> Int
+forall a. Storable a => a -> Int
+sizeOf (Ptr Word8
+forall a. HasCallStack => a
+undefined :: Ptr Word8)) Ptr MMMRSAOUT
+ptr CSize
+len
+
+-- AES functions
+foreign import ccall unsafe "&mmmfreeaescipherctx"
+  mmmfreeaescipherctx :: FinalizerPtr EVP_CIPHER_CTX
+
+type AESCtor = Ptr Word8 -> IO (Ptr EVP_CIPHER_CTX)
+
+foreign import ccall unsafe "mmmnewaesenc"
+  mmmnewaesenc :: AESCtor
+
+foreign import ccall unsafe "mmmnewaesdec"
+  mmmnewaesdec :: AESCtor
+
+-- https://linux.die.net/man/3/evp_encryptupdate
+
+type AESUpdate =
+  Ptr EVP_CIPHER_CTX ->
+  Ptr Word8 -> -- output
+  Ptr CInt ->
+  Ptr Word8 -> -- input
+  CInt ->
+  IO CInt -- 1 = success, 0 = failure
+
+foreign import ccall unsafe "EVP_EncryptUpdate"
+  evpencryptupdate :: AESUpdate
+
+foreign import ccall unsafe "EVP_DecryptUpdate"
+  evpdecryptupdate :: AESUpdate
+
+foreign import ccall unsafe "&mmmfreersakey"
+  mmmfreersakey :: FinalizerPtr EVP_PKEY
+
+foreign import ccall unsafe "mmmnewrsa"
+  mmmnewrsa :: CInt -> IO (Ptr EVP_PKEY)
+
+foreign import ccall unsafe "mmmrsapubenc"
+  mmmrsapubenc :: Ptr EVP_PKEY -> Ptr Word8 -> CSize -> Ptr MMMRSAOUT -> IO CInt
+
+foreign import ccall unsafe "mmmrsaprivdec"
+  mmmrsaprivdec ::
+    Ptr EVP_PKEY ->
+    Ptr Word8 ->
+    CSize ->
+    Ptr MMMRSAOUT ->
+    IO CInt
+
+foreign import ccall unsafe "mmmwritepubkey"
+  mmmwritepubkey :: Ptr EVP_PKEY -> Ptr MMMRSAOUT -> IO CInt
+
+-- Hash function
+foreign import ccall unsafe "mmmhashservnam"
+  mmmhashservnam ::
+    Ptr Word8 ->
+    CSize ->
+    Ptr Word8 ->
+    CSize ->
+    Ptr Word8 ->
+    CSize ->
+    IO (Ptr Word8)
+
+foreign import ccall unsafe "mmmdumpallerrs"
+  mmmdumpallerrs :: IO CString
+
\ No newline at end of file diff --git a/src/M.IO.Internal.Datagram.html b/src/M.IO.Internal.Datagram.html new file mode 100644 index 0000000..a8578cf --- /dev/null +++ b/src/M.IO.Internal.Datagram.html @@ -0,0 +1,1143 @@ +
-- |
+-- Module: M.IO.Internal.Datagram
+-- Description: Packet parsing and building internals
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Internal module for handling low-level packet parsing and building,
+-- including uninterpreted packets and stream transformations.
+module M.IO.Internal.Datagram
+  ( -- * Types
+    Uninterpreted (..),
+    EOF (..),
+
+    -- * Streams
+    makepacketstreami,
+    makepacketstreamo,
+    makedecrypting,
+    makeencrypting,
+  )
+where
+
+import Codec.Compression.Zlib
+import Control.Concurrent.STM
+import Control.DeepSeq
+import Control.Exception hiding (throw)
+import Control.Monad.IO.Class
+import Data.ByteString (ByteString)
+import Data.ByteString qualified as B
+import Data.ByteString.Builder (Builder)
+import Data.ByteString.Builder qualified as BB
+import Data.ByteString.Lazy qualified as BL
+import Data.Data
+import Data.Hashable
+import Data.Word
+import FlatParse.Stateful
+import GHC.Generics
+import Language.Haskell.TH.Syntax (Lift)
+import M.IO.Internal.Read
+import M.IO.Internal.Zlib
+import M.Pack hiding (Parser)
+import System.IO.Streams hiding (compress)
+import Text.Printf
+import Prelude hiding (read)
+
+-- | uninterpreted packet
+data Uninterpreted = Uninterpreted
+  { Uninterpreted -> Word8
+pkcode :: !Word8,
+    Uninterpreted -> ByteString
+pkdata :: !ByteString
+  }
+  deriving (Uninterpreted -> Uninterpreted -> Bool
+(Uninterpreted -> Uninterpreted -> Bool)
+-> (Uninterpreted -> Uninterpreted -> Bool) -> Eq Uninterpreted
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: Uninterpreted -> Uninterpreted -> Bool
+== :: Uninterpreted -> Uninterpreted -> Bool
+$c/= :: Uninterpreted -> Uninterpreted -> Bool
+/= :: Uninterpreted -> Uninterpreted -> Bool
+Eq, Eq Uninterpreted
+Eq Uninterpreted =>
+(Uninterpreted -> Uninterpreted -> Ordering)
+-> (Uninterpreted -> Uninterpreted -> Bool)
+-> (Uninterpreted -> Uninterpreted -> Bool)
+-> (Uninterpreted -> Uninterpreted -> Bool)
+-> (Uninterpreted -> Uninterpreted -> Bool)
+-> (Uninterpreted -> Uninterpreted -> Uninterpreted)
+-> (Uninterpreted -> Uninterpreted -> Uninterpreted)
+-> Ord Uninterpreted
+Uninterpreted -> Uninterpreted -> Bool
+Uninterpreted -> Uninterpreted -> Ordering
+Uninterpreted -> Uninterpreted -> Uninterpreted
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: Uninterpreted -> Uninterpreted -> Ordering
+compare :: Uninterpreted -> Uninterpreted -> Ordering
+$c< :: Uninterpreted -> Uninterpreted -> Bool
+< :: Uninterpreted -> Uninterpreted -> Bool
+$c<= :: Uninterpreted -> Uninterpreted -> Bool
+<= :: Uninterpreted -> Uninterpreted -> Bool
+$c> :: Uninterpreted -> Uninterpreted -> Bool
+> :: Uninterpreted -> Uninterpreted -> Bool
+$c>= :: Uninterpreted -> Uninterpreted -> Bool
+>= :: Uninterpreted -> Uninterpreted -> Bool
+$cmax :: Uninterpreted -> Uninterpreted -> Uninterpreted
+max :: Uninterpreted -> Uninterpreted -> Uninterpreted
+$cmin :: Uninterpreted -> Uninterpreted -> Uninterpreted
+min :: Uninterpreted -> Uninterpreted -> Uninterpreted
+Ord, Eq Uninterpreted
+Eq Uninterpreted =>
+(Int -> Uninterpreted -> Int)
+-> (Uninterpreted -> Int) -> Hashable Uninterpreted
+Int -> Uninterpreted -> Int
+Uninterpreted -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+$chashWithSalt :: Int -> Uninterpreted -> Int
+hashWithSalt :: Int -> Uninterpreted -> Int
+$chash :: Uninterpreted -> Int
+hash :: Uninterpreted -> Int
+Hashable, Typeable, (forall x. Uninterpreted -> Rep Uninterpreted x)
+-> (forall x. Rep Uninterpreted x -> Uninterpreted)
+-> Generic Uninterpreted
+forall x. Rep Uninterpreted x -> Uninterpreted
+forall x. Uninterpreted -> Rep Uninterpreted x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. Uninterpreted -> Rep Uninterpreted x
+from :: forall x. Uninterpreted -> Rep Uninterpreted x
+$cto :: forall x. Rep Uninterpreted x -> Uninterpreted
+to :: forall x. Rep Uninterpreted x -> Uninterpreted
+Generic, Typeable Uninterpreted
+Typeable Uninterpreted =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> Uninterpreted -> c Uninterpreted)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c Uninterpreted)
+-> (Uninterpreted -> Constr)
+-> (Uninterpreted -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c Uninterpreted))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c Uninterpreted))
+-> ((forall b. Data b => b -> b) -> Uninterpreted -> Uninterpreted)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> Uninterpreted -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> Uninterpreted -> r)
+-> (forall u. (forall d. Data d => d -> u) -> Uninterpreted -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> Uninterpreted -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> Uninterpreted -> m Uninterpreted)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Uninterpreted -> m Uninterpreted)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Uninterpreted -> m Uninterpreted)
+-> Data Uninterpreted
+Uninterpreted -> Constr
+Uninterpreted -> DataType
+(forall b. Data b => b -> b) -> Uninterpreted -> Uninterpreted
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> Uninterpreted -> u
+forall u. (forall d. Data d => d -> u) -> Uninterpreted -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Uninterpreted -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Uninterpreted -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Uninterpreted -> m Uninterpreted
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Uninterpreted -> m Uninterpreted
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Uninterpreted
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Uninterpreted -> c Uninterpreted
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Uninterpreted)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c Uninterpreted)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Uninterpreted -> c Uninterpreted
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Uninterpreted -> c Uninterpreted
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Uninterpreted
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Uninterpreted
+$ctoConstr :: Uninterpreted -> Constr
+toConstr :: Uninterpreted -> Constr
+$cdataTypeOf :: Uninterpreted -> DataType
+dataTypeOf :: Uninterpreted -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Uninterpreted)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Uninterpreted)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c Uninterpreted)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c Uninterpreted)
+$cgmapT :: (forall b. Data b => b -> b) -> Uninterpreted -> Uninterpreted
+gmapT :: (forall b. Data b => b -> b) -> Uninterpreted -> Uninterpreted
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Uninterpreted -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Uninterpreted -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Uninterpreted -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Uninterpreted -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> Uninterpreted -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> Uninterpreted -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Uninterpreted -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Uninterpreted -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Uninterpreted -> m Uninterpreted
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Uninterpreted -> m Uninterpreted
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Uninterpreted -> m Uninterpreted
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Uninterpreted -> m Uninterpreted
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Uninterpreted -> m Uninterpreted
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Uninterpreted -> m Uninterpreted
+Data, (forall (m :: * -> *). Quote m => Uninterpreted -> m Exp)
+-> (forall (m :: * -> *).
+    Quote m =>
+    Uninterpreted -> Code m Uninterpreted)
+-> Lift Uninterpreted
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => Uninterpreted -> m Exp
+forall (m :: * -> *).
+Quote m =>
+Uninterpreted -> Code m Uninterpreted
+$clift :: forall (m :: * -> *). Quote m => Uninterpreted -> m Exp
+lift :: forall (m :: * -> *). Quote m => Uninterpreted -> m Exp
+$cliftTyped :: forall (m :: * -> *).
+Quote m =>
+Uninterpreted -> Code m Uninterpreted
+liftTyped :: forall (m :: * -> *).
+Quote m =>
+Uninterpreted -> Code m Uninterpreted
+Lift, Uninterpreted -> ()
+(Uninterpreted -> ()) -> NFData Uninterpreted
+forall a. (a -> ()) -> NFData a
+$crnf :: Uninterpreted -> ()
+rnf :: Uninterpreted -> ()
+NFData)
+
+instance Show Uninterpreted where
+  show :: Uninterpreted -> String
+show (Uninterpreted Word8
+c ByteString
+d) = String -> Word8 -> Int -> String
+forall r. PrintfType r => String -> r
+printf String
+"Uninterpreted %d <%d bytes>" Word8
+c (ByteString -> Int
+B.length ByteString
+d)
+
+-- | end of input
+data EOF = EOF deriving (Int -> EOF -> ShowS
+[EOF] -> ShowS
+EOF -> String
+(Int -> EOF -> ShowS)
+-> (EOF -> String) -> ([EOF] -> ShowS) -> Show EOF
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> EOF -> ShowS
+showsPrec :: Int -> EOF -> ShowS
+$cshow :: EOF -> String
+show :: EOF -> String
+$cshowList :: [EOF] -> ShowS
+showList :: [EOF] -> ShowS
+Show, ReadPrec [EOF]
+ReadPrec EOF
+Int -> ReadS EOF
+ReadS [EOF]
+(Int -> ReadS EOF)
+-> ReadS [EOF] -> ReadPrec EOF -> ReadPrec [EOF] -> Read EOF
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS EOF
+readsPrec :: Int -> ReadS EOF
+$creadList :: ReadS [EOF]
+readList :: ReadS [EOF]
+$creadPrec :: ReadPrec EOF
+readPrec :: ReadPrec EOF
+$creadListPrec :: ReadPrec [EOF]
+readListPrec :: ReadPrec [EOF]
+Read, (forall x. EOF -> Rep EOF x)
+-> (forall x. Rep EOF x -> EOF) -> Generic EOF
+forall x. Rep EOF x -> EOF
+forall x. EOF -> Rep EOF x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. EOF -> Rep EOF x
+from :: forall x. EOF -> Rep EOF x
+$cto :: forall x. Rep EOF x -> EOF
+to :: forall x. Rep EOF x -> EOF
+Generic, Typeable EOF
+Typeable EOF =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> EOF -> c EOF)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c EOF)
+-> (EOF -> Constr)
+-> (EOF -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c EOF))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c EOF))
+-> ((forall b. Data b => b -> b) -> EOF -> EOF)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> EOF -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> EOF -> r)
+-> (forall u. (forall d. Data d => d -> u) -> EOF -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> EOF -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> EOF -> m EOF)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> EOF -> m EOF)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> EOF -> m EOF)
+-> Data EOF
+EOF -> Constr
+EOF -> DataType
+(forall b. Data b => b -> b) -> EOF -> EOF
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> EOF -> u
+forall u. (forall d. Data d => d -> u) -> EOF -> [u]
+forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> EOF -> r
+forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> EOF -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> EOF -> m EOF
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> EOF -> m EOF
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c EOF
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> EOF -> c EOF
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c EOF)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c EOF)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> EOF -> c EOF
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> EOF -> c EOF
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c EOF
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c EOF
+$ctoConstr :: EOF -> Constr
+toConstr :: EOF -> Constr
+$cdataTypeOf :: EOF -> DataType
+dataTypeOf :: EOF -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c EOF)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c EOF)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c EOF)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c EOF)
+$cgmapT :: (forall b. Data b => b -> b) -> EOF -> EOF
+gmapT :: (forall b. Data b => b -> b) -> EOF -> EOF
+$cgmapQl :: forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> EOF -> r
+gmapQl :: forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> EOF -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> EOF -> r
+gmapQr :: forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> EOF -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> EOF -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> EOF -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> EOF -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> EOF -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> EOF -> m EOF
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> EOF -> m EOF
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> EOF -> m EOF
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> EOF -> m EOF
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> EOF -> m EOF
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> EOF -> m EOF
+Data, Typeable, (forall (m :: * -> *). Quote m => EOF -> m Exp)
+-> (forall (m :: * -> *). Quote m => EOF -> Code m EOF) -> Lift EOF
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => EOF -> m Exp
+forall (m :: * -> *). Quote m => EOF -> Code m EOF
+$clift :: forall (m :: * -> *). Quote m => EOF -> m Exp
+lift :: forall (m :: * -> *). Quote m => EOF -> m Exp
+$cliftTyped :: forall (m :: * -> *). Quote m => EOF -> Code m EOF
+liftTyped :: forall (m :: * -> *). Quote m => EOF -> Code m EOF
+Lift, Show EOF
+Typeable EOF
+(Typeable EOF, Show EOF) =>
+(EOF -> SomeException)
+-> (SomeException -> Maybe EOF) -> (EOF -> String) -> Exception EOF
+SomeException -> Maybe EOF
+EOF -> String
+EOF -> SomeException
+forall e.
+(Typeable e, Show e) =>
+(e -> SomeException)
+-> (SomeException -> Maybe e) -> (e -> String) -> Exception e
+$ctoException :: EOF -> SomeException
+toException :: EOF -> SomeException
+$cfromException :: SomeException -> Maybe EOF
+fromException :: SomeException -> Maybe EOF
+$cdisplayException :: EOF -> String
+displayException :: EOF -> String
+Exception)
+
+-- | make a stream of uninterpreted packets
+makepacketstreami ::
+  -- | compression threshold reference (negative = off,
+  -- non-negative = on with threshold)
+  TVar Int ->
+  -- | input stream
+  InputStream ByteString ->
+  -- | stream of uninterpreted packets
+  IO (InputStream Uninterpreted)
+makepacketstreami :: TVar Int
+-> InputStream ByteString -> IO (InputStream Uninterpreted)
+makepacketstreami TVar Int
+c InputStream ByteString
+s =
+  IO (Maybe Uninterpreted) -> IO (InputStream Uninterpreted)
+forall a. IO (Maybe a) -> IO (InputStream a)
+makeInputStream do
+    Int
+threshold <- TVar Int -> IO Int
+forall a. TVar a -> IO a
+readTVarIO TVar Int
+c
+    Uninterpreted -> Maybe Uninterpreted
+forall a. a -> Maybe a
+Just (Uninterpreted -> Maybe Uninterpreted)
+-> IO Uninterpreted -> IO (Maybe Uninterpreted)
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> Int -> InputStream ByteString -> IO Uninterpreted
+takepacket Int
+threshold InputStream ByteString
+s
+  where
+    takepacket :: Int -> InputStream ByteString -> IO Uninterpreted
+takepacket Int
+threshold InputStream ByteString
+b = do
+      Int
+t <- forall e a.
+Exception e =>
+InputStream ByteString -> ParserIO () e a -> IO a
+parseio0 @ParseError InputStream ByteString
+b ParserIO () ParseError Int
+forall {st :: ZeroBitType} {r}. ParserT st r ParseError Int
+checkedlength
+      ByteString
+u <- Int -> InputStream ByteString -> IO ByteString
+readExactly Int
+t InputStream ByteString
+b
+      let p :: ParserT IOMode () ParseError Uninterpreted
+p
+            | Int
+threshold Int -> Int -> Bool
+forall a. Ord a => a -> a -> Bool
+>= Int
+0 = ParserT IOMode () ParseError Uninterpreted
+parsepostcomp
+            | Bool
+otherwise = ParserT IOMode () ParseError Uninterpreted
+forall {st :: ZeroBitType} {r} {e}. ParserT st r e Uninterpreted
+parseprecomp
+      ParserT IOMode () ParseError Uninterpreted
+-> () -> Int -> ByteString -> IO (Result ParseError Uninterpreted)
+forall r e a.
+ParserIO r e a -> r -> Int -> ByteString -> IO (Result e a)
+runParserIO ParserT IOMode () ParseError Uninterpreted
+p () Int
+0 ByteString
+u IO (Result ParseError Uninterpreted)
+-> (Result ParseError Uninterpreted -> IO Uninterpreted)
+-> IO Uninterpreted
+forall a b. IO a -> (a -> IO b) -> IO b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= \case
+        OK Uninterpreted
+a Int
+_ ByteString
+_ -> Uninterpreted -> IO Uninterpreted
+forall a. a -> IO a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure Uninterpreted
+a
+        Result ParseError Uninterpreted
+Fail -> String -> IO Uninterpreted
+forall a. HasCallStack => String -> a
+error String
+"takepacket: parse failed"
+        Err ParseError
+e -> ParseError -> IO Uninterpreted
+forall e a. Exception e => e -> IO a
+throwIO ParseError
+e
+      where
+        checkedlength :: ParserT st r ParseError Int
+checkedlength = do
+          Int
+l <- forall a (st :: ZeroBitType) r. Integral a => Parser st r a
+unpackleb32 @Int
+          if Int
+l Int -> Int -> Bool
+forall a. Ord a => a -> a -> Bool
+< Int
+0 Bool -> Bool -> Bool
+|| Int
+l Int -> Int -> Bool
+forall a. Ord a => a -> a -> Bool
+>= Int
+0x400000
+            then String -> ParserT st r ParseError Int
+forall {st :: ZeroBitType} {r} {a}.
+String -> ParserT st r ParseError a
+throw (String -> ParserT st r ParseError Int)
+-> String -> ParserT st r ParseError Int
+forall a b. (a -> b) -> a -> b
+$ String
+"takepacket: invalid length: " String -> ShowS
+forall a. Semigroup a => a -> a -> a
+<> Int -> String
+forall a. Show a => a -> String
+show Int
+l String -> ShowS
+forall a. Semigroup a => a -> a -> a
+<> String
+" bytes"
+            else Int -> ParserT st r ParseError Int
+forall a. a -> ParserT st r ParseError a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure Int
+l
+    throw :: String -> ParserT st r ParseError a
+throw = ParseError -> ParserT st r ParseError a
+forall e (st :: ZeroBitType) r a. e -> ParserT st r e a
+err (ParseError -> ParserT st r ParseError a)
+-> (String -> ParseError) -> String -> ParserT st r ParseError a
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. String -> ParseError
+ParseError
+    parseprecomp :: ParserT st r e Uninterpreted
+parseprecomp = (Word8 -> ByteString -> Uninterpreted)
+-> ParserT st r e Word8
+-> ParserT st r e ByteString
+-> ParserT st r e Uninterpreted
+forall a b c.
+(a -> b -> c)
+-> ParserT st r e a -> ParserT st r e b -> ParserT st r e c
+forall (f :: * -> *) a b c.
+Applicative f =>
+(a -> b -> c) -> f a -> f b -> f c
+liftA2 Word8 -> ByteString -> Uninterpreted
+Uninterpreted ParserT st r e Word8
+forall (st :: ZeroBitType) r e. ParserT st r e Word8
+anyWord8 ParserT st r e ByteString
+forall (st :: ZeroBitType) r e. ParserT st r e ByteString
+takeRest
+    parsepostcomp :: ParserT IOMode () ParseError Uninterpreted
+parsepostcomp = ParserT IOMode () ParseError Uninterpreted
+forall {st :: ZeroBitType} {r} {e}. ParserT st r e Uninterpreted
+parser2 ParserT IOMode () ParseError Uninterpreted
+-> ParserT IOMode () ParseError Uninterpreted
+-> ParserT IOMode () ParseError Uninterpreted
+forall (st :: ZeroBitType) r e a.
+ParserT st r e a -> ParserT st r e a -> ParserT st r e a
+<|> ParserT IOMode () ParseError Uninterpreted
+parser3 ParserT IOMode () ParseError Uninterpreted
+-> ParserT IOMode () ParseError Uninterpreted
+-> ParserT IOMode () ParseError Uninterpreted
+forall (st :: ZeroBitType) r e a.
+ParserT st r e a -> ParserT st r e a -> ParserT st r e a
+<|> String -> ParserT IOMode () ParseError Uninterpreted
+forall {st :: ZeroBitType} {r} {a}.
+String -> ParserT st r ParseError a
+throw String
+"parsepostcomp: no match"
+    parser2 :: ParserT st r e Uninterpreted
+parser2 = Word8 -> ParserT st r e ()
+forall (st :: ZeroBitType) r e. Word8 -> ParserT st r e ()
+word8 Word8
+0 ParserT st r e ()
+-> ParserT st r e Uninterpreted -> ParserT st r e Uninterpreted
+forall a b.
+ParserT st r e a -> ParserT st r e b -> ParserT st r e b
+forall (f :: * -> *) a b. Applicative f => f a -> f b -> f b
+*> ParserT st r e Uninterpreted
+forall {st :: ZeroBitType} {r} {e}. ParserT st r e Uninterpreted
+parseprecomp
+    parser3 :: ParserT IOMode () ParseError Uninterpreted
+parser3 = do
+      -- uncompressed length, declared
+      Int
+l <- forall a (st :: ZeroBitType) r. Integral a => Parser st r a
+unpackleb32 @Int ParserIO () ParseError Int
+-> (Int -> ParserIO () ParseError Int)
+-> ParserIO () ParseError Int
+forall a b.
+ParserT IOMode () ParseError a
+-> (a -> ParserT IOMode () ParseError b)
+-> ParserT IOMode () ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= Int -> ParserIO () ParseError Int
+forall {a} {st :: ZeroBitType} {r}.
+(Ord a, Num a) =>
+a -> ParserT st r ParseError a
+checkuncomplen
+      ByteString
+d <- ParserT IOMode () ParseError ByteString
+forall (st :: ZeroBitType) r e. ParserT st r e ByteString
+takeRest ParserT IOMode () ParseError ByteString
+-> (ByteString -> ParserT IOMode () ParseError ByteString)
+-> ParserT IOMode () ParseError ByteString
+forall a b.
+ParserT IOMode () ParseError a
+-> (a -> ParserT IOMode () ParseError b)
+-> ParserT IOMode () ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= IO ByteString -> ParserT IOMode () ParseError ByteString
+forall a. IO a -> ParserT IOMode () ParseError a
+forall (m :: * -> *) a. MonadIO m => IO a -> m a
+liftIO (IO ByteString -> ParserT IOMode () ParseError ByteString)
+-> (ByteString -> IO ByteString)
+-> ByteString
+-> ParserT IOMode () ParseError ByteString
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Int -> ByteString -> IO ByteString
+safedecomp Int
+l
+      IO (Result Any Uninterpreted)
+-> ParserT IOMode () ParseError (Result Any Uninterpreted)
+forall a. IO a -> ParserT IOMode () ParseError a
+forall (m :: * -> *) a. MonadIO m => IO a -> m a
+liftIO (ParserIO () Any Uninterpreted
+-> () -> Int -> ByteString -> IO (Result Any Uninterpreted)
+forall r e a.
+ParserIO r e a -> r -> Int -> ByteString -> IO (Result e a)
+runParserIO ParserIO () Any Uninterpreted
+forall {st :: ZeroBitType} {r} {e}. ParserT st r e Uninterpreted
+parseprecomp () Int
+0 ByteString
+d) ParserT IOMode () ParseError (Result Any Uninterpreted)
+-> (Result Any Uninterpreted
+    -> ParserT IOMode () ParseError Uninterpreted)
+-> ParserT IOMode () ParseError Uninterpreted
+forall a b.
+ParserT IOMode () ParseError a
+-> (a -> ParserT IOMode () ParseError b)
+-> ParserT IOMode () ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= \case
+        OK Uninterpreted
+a Int
+_ ByteString
+b | ByteString -> Bool
+B.null ByteString
+b -> Uninterpreted -> ParserT IOMode () ParseError Uninterpreted
+forall a. a -> ParserT IOMode () ParseError a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure Uninterpreted
+a
+        OK Uninterpreted
+_ Int
+_ ByteString
+b ->
+          String -> ParserT IOMode () ParseError Uninterpreted
+forall {st :: ZeroBitType} {r} {a}.
+String -> ParserT st r ParseError a
+throw (String -> ParserT IOMode () ParseError Uninterpreted)
+-> String -> ParserT IOMode () ParseError Uninterpreted
+forall a b. (a -> b) -> a -> b
+$ String -> Int -> String
+forall r. PrintfType r => String -> r
+printf String
+"parser3: trailing data: %d bytes left" (ByteString -> Int
+B.length ByteString
+b)
+        Result Any Uninterpreted
+Fail -> String -> ParserT IOMode () ParseError Uninterpreted
+forall {st :: ZeroBitType} {r} {a}.
+String -> ParserT st r ParseError a
+throw String
+"parser3: parseprecomp failed"
+        Err Any
+_ -> String -> ParserT IOMode () ParseError Uninterpreted
+forall a. HasCallStack => String -> a
+error String
+"parser3: impossible"
+      where
+        checkuncomplen :: a -> ParserT st r ParseError a
+checkuncomplen a
+l
+          | a
+l a -> a -> Bool
+forall a. Ord a => a -> a -> Bool
+< a
+0 = String -> ParserT st r ParseError a
+forall {st :: ZeroBitType} {r} {a}.
+String -> ParserT st r ParseError a
+throw String
+"parser3: negative length"
+          | a
+l a -> a -> Bool
+forall a. Ord a => a -> a -> Bool
+> a
+0x800000 = String -> ParserT st r ParseError a
+forall {st :: ZeroBitType} {r} {a}.
+String -> ParserT st r ParseError a
+throw String
+"parser3: length too large"
+          | Bool
+otherwise = a -> ParserT st r ParseError a
+forall a. a -> ParserT st r ParseError a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure a
+l
+
+-- encoding
+
+-- size-tracked builder
+data Building = B !Int !Builder -- size, builder
+
+instance Semigroup Building where
+  B Int
+a Builder
+b <> :: Building -> Building -> Building
+<> B Int
+c Builder
+d = Int -> Builder -> Building
+B (Int
+a Int -> Int -> Int
+forall a. Num a => a -> a -> a
++ Int
+c) (Builder
+b Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> Builder
+d)
+  {-# INLINE (<>) #-}
+
+instance Monoid Building where
+  mempty :: Building
+mempty = Int -> Builder -> Building
+B Int
+0 Builder
+forall a. Monoid a => a
+mempty
+  {-# INLINE mempty #-}
+
+-- | make an output stream of uninterpreted packets
+makepacketstreamo ::
+  TVar Int ->
+  OutputStream ByteString ->
+  IO (OutputStream Uninterpreted)
+makepacketstreamo :: TVar Int
+-> OutputStream ByteString -> IO (OutputStream Uninterpreted)
+makepacketstreamo TVar Int
+c OutputStream ByteString
+s =
+  (Maybe Uninterpreted -> IO ()) -> IO (OutputStream Uninterpreted)
+forall a. (Maybe a -> IO ()) -> IO (OutputStream a)
+makeOutputStream \case
+    Maybe Uninterpreted
+Nothing -> EOF -> IO ()
+forall e a. Exception e => e -> IO a
+throwIO EOF
+EOF
+    Just Uninterpreted
+u -> do
+      Int
+threshold <- TVar Int -> IO Int
+forall a. TVar a -> IO a
+readTVarIO TVar Int
+c
+      Maybe ByteString -> OutputStream ByteString -> IO ()
+forall a. Maybe a -> OutputStream a -> IO ()
+write (ByteString -> Maybe ByteString
+forall a. a -> Maybe a
+Just (ByteString -> Maybe ByteString) -> ByteString -> Maybe ByteString
+forall a b. (a -> b) -> a -> b
+$ Builder -> ByteString
+reify (Builder -> ByteString) -> Builder -> ByteString
+forall a b. (a -> b) -> a -> b
+$ Int -> Uninterpreted -> Builder
+encode Int
+threshold Uninterpreted
+u) OutputStream ByteString
+s
+  where
+    reify :: Builder -> ByteString
+reify = LazyByteString -> ByteString
+B.toStrict (LazyByteString -> ByteString)
+-> (Builder -> LazyByteString) -> Builder -> ByteString
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Builder -> LazyByteString
+BB.toLazyByteString
+    -- notes on "INLINE": inline thought to be good for sharing
+    -- esp. the compression part (to avoid compressing the same data twice)
+    -- (remains to be checked)
+    encode :: Int -> Uninterpreted -> Builder
+encode Int
+d Uninterpreted
+u =
+      let B Int
+n Builder
+b = Int -> Uninterpreted -> Building
+encodez Int
+d Uninterpreted
+u
+       in Int -> Builder
+forall a. Integral a => a -> Builder
+packleb32 Int
+n Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> Builder
+b
+    {-# INLINE encode #-}
+    encodez :: Int -> Uninterpreted -> Building
+encodez Int
+threshold u :: Uninterpreted
+u@(Uninterpreted Word8
+f ByteString
+d)
+      | Int
+threshold Int -> Int -> Bool
+forall a. Ord a => a -> a -> Bool
+< Int
+0 = Uninterpreted -> Building
+encodeplain Uninterpreted
+u
+      | ByteString -> Int
+B.length ByteString
+d Int -> Int -> Bool
+forall a. Ord a => a -> a -> Bool
+< Int
+threshold = Uninterpreted -> Building
+encodeu Uninterpreted
+u
+      | Bool
+otherwise =
+          Builder -> Building
+mkb (Int -> Builder
+forall a. Integral a => a -> Builder
+packleb32 (ByteString -> Int
+B.length ByteString
+d))
+            Building -> Building -> Building
+forall a. Semigroup a => a -> a -> a
+<> Builder -> Building
+mkb (Word8 -> Builder
+BB.word8 Word8
+f)
+            Building -> Building -> Building
+forall a. Semigroup a => a -> a -> a
+<> Builder -> Building
+mkb (LazyByteString -> Builder
+BB.lazyByteString (LazyByteString -> LazyByteString
+compress (LazyByteString -> LazyByteString)
+-> LazyByteString -> LazyByteString
+forall a b. (a -> b) -> a -> b
+$ ByteString -> LazyByteString
+B.fromStrict ByteString
+d))
+    {-# INLINE encodez #-}
+    encodeu :: Uninterpreted -> Building
+encodeu Uninterpreted
+u = Builder -> Building
+mkb (Word8 -> Builder
+BB.word8 Word8
+0) Building -> Building -> Building
+forall a. Semigroup a => a -> a -> a
+<> Uninterpreted -> Building
+encodeplain Uninterpreted
+u
+    {-# INLINE encodeu #-}
+    encodeplain :: Uninterpreted -> Building
+encodeplain (Uninterpreted Word8
+f ByteString
+d) = Builder -> Building
+mkb (Word8 -> Builder
+BB.word8 Word8
+f) Building -> Building -> Building
+forall a. Semigroup a => a -> a -> a
+<> Builder -> Building
+mkb (ByteString -> Builder
+BB.byteString ByteString
+d)
+    {-# INLINE encodeplain #-}
+    mkb :: Builder -> Building
+mkb Builder
+b = Int -> Builder -> Building
+B (Int64 -> Int
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral (Int64 -> Int) -> Int64 -> Int
+forall a b. (a -> b) -> a -> b
+$ LazyByteString -> Int64
+BL.length (LazyByteString -> Int64) -> LazyByteString -> Int64
+forall a b. (a -> b) -> a -> b
+$ Builder -> LazyByteString
+BB.toLazyByteString Builder
+b) Builder
+b
+    {-# INLINE mkb #-}
+
+-- | register an octet streaming decryptor to an input stream
+makedecrypting ::
+  -- | decryptor
+  TVar (ByteString -> IO ByteString) ->
+  -- | input stream
+  InputStream ByteString ->
+  -- | new input stream
+  IO (InputStream ByteString)
+makedecrypting :: TVar (ByteString -> IO ByteString)
+-> InputStream ByteString -> IO (InputStream ByteString)
+makedecrypting TVar (ByteString -> IO ByteString)
+f InputStream ByteString
+s = IO (Maybe ByteString) -> IO (InputStream ByteString)
+forall a. IO (Maybe a) -> IO (InputStream a)
+makeInputStream do
+  InputStream ByteString -> IO (Maybe ByteString)
+forall a. InputStream a -> IO (Maybe a)
+read InputStream ByteString
+s IO (Maybe ByteString)
+-> (Maybe ByteString -> IO (Maybe ByteString))
+-> IO (Maybe ByteString)
+forall a b. IO a -> (a -> IO b) -> IO b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= \case
+    Maybe ByteString
+Nothing -> Maybe ByteString -> IO (Maybe ByteString)
+forall a. a -> IO a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure Maybe ByteString
+forall a. Maybe a
+Nothing
+    Just ByteString
+b -> TVar (ByteString -> IO ByteString)
+-> IO (ByteString -> IO ByteString)
+forall a. TVar a -> IO a
+readTVarIO TVar (ByteString -> IO ByteString)
+f IO (ByteString -> IO ByteString)
+-> ((ByteString -> IO ByteString) -> IO (Maybe ByteString))
+-> IO (Maybe ByteString)
+forall a b. IO a -> (a -> IO b) -> IO b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= (ByteString -> Maybe ByteString
+forall a. a -> Maybe a
+Just <$>) (IO ByteString -> IO (Maybe ByteString))
+-> ((ByteString -> IO ByteString) -> IO ByteString)
+-> (ByteString -> IO ByteString)
+-> IO (Maybe ByteString)
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. ((ByteString -> IO ByteString) -> ByteString -> IO ByteString
+forall a b. (a -> b) -> a -> b
+$ ByteString
+b)
+
+-- | register an octet stremaing encryptor to an output stream
+makeencrypting ::
+  -- | encryptor
+  TVar (ByteString -> IO ByteString) ->
+  -- | output stream
+  OutputStream ByteString ->
+  -- | new output stream
+  IO (OutputStream ByteString)
+makeencrypting :: TVar (ByteString -> IO ByteString)
+-> OutputStream ByteString -> IO (OutputStream ByteString)
+makeencrypting TVar (ByteString -> IO ByteString)
+f OutputStream ByteString
+s = (Maybe ByteString -> IO ()) -> IO (OutputStream ByteString)
+forall a. (Maybe a -> IO ()) -> IO (OutputStream a)
+makeOutputStream \case
+  Maybe ByteString
+Nothing -> () -> IO ()
+forall a. a -> IO a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure ()
+  Just ByteString
+b -> do
+    ByteString -> IO ByteString
+g <- TVar (ByteString -> IO ByteString)
+-> IO (ByteString -> IO ByteString)
+forall a. TVar a -> IO a
+readTVarIO TVar (ByteString -> IO ByteString)
+f
+    ByteString -> IO ByteString
+g ByteString
+b IO ByteString -> (ByteString -> IO ()) -> IO ()
+forall a b. IO a -> (a -> IO b) -> IO b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= \ByteString
+c -> Maybe ByteString -> OutputStream ByteString -> IO ()
+forall a. Maybe a -> OutputStream a -> IO ()
+write (ByteString -> Maybe ByteString
+forall a. a -> Maybe a
+Just ByteString
+c) OutputStream ByteString
+s
+
\ No newline at end of file diff --git a/src/M.IO.Internal.EffectSocket.html b/src/M.IO.Internal.EffectSocket.html new file mode 100644 index 0000000..12ecbc1 --- /dev/null +++ b/src/M.IO.Internal.EffectSocket.html @@ -0,0 +1,532 @@ +
-- |
+-- Module: M.IO.Internal.EffectSocket
+-- Description: Socket-based effect interpretation
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Implements the interpretation of the 'Talking' effect in terms of socket
+-- connections, providing both client and server capabilities.
+module M.IO.Internal.EffectSocket
+  ( SocketTalkingError (..),
+    withtalkingserver,
+    withtalkingclient,
+  )
+where
+
+import Data.ByteString qualified as B
+import Data.ByteString.Builder (Builder, toLazyByteString)
+import Data.Data
+import Data.Functor
+import Data.Maybe
+import Effectful
+import Effectful.Concurrent.STM
+import Effectful.Dispatch.Dynamic
+import Effectful.Exception
+import Effectful.NonDet
+import Effectful.State.Dynamic
+import M.IO.Internal.Datagram
+import M.IO.Internal.EffectTypes
+import M.IO.Internal.Socket
+import M.Pack
+import Network.Run.TCP (runTCPClient, runTCPServer)
+import System.IO.Streams
+import Prelude hiding (read)
+
+-- https://hackage.haskell.org/package/effectful-core-2.5.1.0/docs/Effectful.html#g:13
+-- SeqUnlift: fail when calling 'run' (=unlift) from outside the spawning thread
+-- SeqForkUnlift: fork (-> gain independence) at unlift
+-- ConcUnlift: allow concurrent access
+
+-- | error in communication
+data SocketTalkingError
+  = UnknownCode Direction TypeRep
+  | Mismatch Direction TypeRep TypeRep
+  deriving (SocketTalkingError -> SocketTalkingError -> Bool
+(SocketTalkingError -> SocketTalkingError -> Bool)
+-> (SocketTalkingError -> SocketTalkingError -> Bool)
+-> Eq SocketTalkingError
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: SocketTalkingError -> SocketTalkingError -> Bool
+== :: SocketTalkingError -> SocketTalkingError -> Bool
+$c/= :: SocketTalkingError -> SocketTalkingError -> Bool
+/= :: SocketTalkingError -> SocketTalkingError -> Bool
+Eq, Int -> SocketTalkingError -> ShowS
+[SocketTalkingError] -> ShowS
+SocketTalkingError -> String
+(Int -> SocketTalkingError -> ShowS)
+-> (SocketTalkingError -> String)
+-> ([SocketTalkingError] -> ShowS)
+-> Show SocketTalkingError
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> SocketTalkingError -> ShowS
+showsPrec :: Int -> SocketTalkingError -> ShowS
+$cshow :: SocketTalkingError -> String
+show :: SocketTalkingError -> String
+$cshowList :: [SocketTalkingError] -> ShowS
+showList :: [SocketTalkingError] -> ShowS
+Show, Typeable, Show SocketTalkingError
+Typeable SocketTalkingError
+(Typeable SocketTalkingError, Show SocketTalkingError) =>
+(SocketTalkingError -> SomeException)
+-> (SomeException -> Maybe SocketTalkingError)
+-> (SocketTalkingError -> String)
+-> Exception SocketTalkingError
+SomeException -> Maybe SocketTalkingError
+SocketTalkingError -> String
+SocketTalkingError -> SomeException
+forall e.
+(Typeable e, Show e) =>
+(e -> SomeException)
+-> (SomeException -> Maybe e) -> (e -> String) -> Exception e
+$ctoException :: SocketTalkingError -> SomeException
+toException :: SocketTalkingError -> SomeException
+$cfromException :: SomeException -> Maybe SocketTalkingError
+fromException :: SomeException -> Maybe SocketTalkingError
+$cdisplayException :: SocketTalkingError -> String
+displayException :: SocketTalkingError -> String
+Exception)
+
+reify ::
+  (State ParserState :> es) =>
+  TypeRep ->
+  Builder ->
+  Eff es Uninterpreted
+reify :: forall (es :: [Effect]).
+(State ParserState :> es) =>
+TypeRep -> Builder -> Eff es Uninterpreted
+reify TypeRep
+t Builder
+b = do
+  ParserState forall r. Op r -> r
+p <- Eff es ParserState
+forall s (es :: [Effect]).
+(HasCallStack, State s :> es) =>
+Eff es s
+get
+  case Op (Maybe Word8) -> Maybe Word8
+forall r. Op r -> r
+p (Direction -> TypeRep -> Op (Maybe Word8)
+Code Direction
+Outbound TypeRep
+t) of
+    Just Word8
+u -> Uninterpreted -> Eff es Uninterpreted
+forall a. a -> Eff es a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure (Uninterpreted -> Eff es Uninterpreted)
+-> Uninterpreted -> Eff es Uninterpreted
+forall a b. (a -> b) -> a -> b
+$ Word8 -> ByteString -> Uninterpreted
+Uninterpreted Word8
+u (LazyByteString -> ByteString
+B.toStrict (LazyByteString -> ByteString) -> LazyByteString -> ByteString
+forall a b. (a -> b) -> a -> b
+$ Builder -> LazyByteString
+toLazyByteString Builder
+b)
+    Maybe Word8
+Nothing -> SocketTalkingError -> Eff es Uninterpreted
+forall e (es :: [Effect]) a.
+(HasCallStack, Exception e) =>
+e -> Eff es a
+throwIO (SocketTalkingError -> Eff es Uninterpreted)
+-> SocketTalkingError -> Eff es Uninterpreted
+forall a b. (a -> b) -> a -> b
+$ Direction -> TypeRep -> SocketTalkingError
+UnknownCode Direction
+Outbound TypeRep
+t
+
+-- Run a computation with Talking effect using a Connection
+runtalking0 ::
+  (IOE :> es, NonDet :> es, State ParserState :> es, Concurrent :> es) =>
+  Connection -> Eff (Talking : es) a -> Eff es a
+runtalking0 :: forall (es :: [Effect]) a.
+(IOE :> es, NonDet :> es, State ParserState :> es,
+ Concurrent :> es) =>
+Connection -> Eff (Talking : es) a -> Eff es a
+runtalking0 Connection
+cx = EffectHandler_ Talking es -> Eff (Talking : es) a -> Eff es a
+forall (e :: Effect) (es :: [Effect]) a.
+(HasCallStack, DispatchOf e ~ 'Dynamic) =>
+EffectHandler_ e es -> Eff (e : es) a -> Eff es a
+interpret_ \case
+  Hear Immediately
+i -> case Immediately
+i of
+    Immediately
+Immediately ->
+      InputStream Uninterpreted -> Eff es SomeUnpack
+forall (es :: [Effect]).
+(IOE :> es, State ParserState :> es, NonDet :> es) =>
+InputStream Uninterpreted -> Eff es SomeUnpack
+handleheara_immediate Connection
+cx.cxinput
+        Eff es SomeUnpack -> (SomeUnpack -> a) -> Eff es a
+forall (f :: * -> *) a b. Functor f => f a -> (a -> b) -> f b
+<&> Maybe a -> a
+forall a. HasCallStack => Maybe a -> a
+fromJust (Maybe a -> a) -> (SomeUnpack -> Maybe a) -> SomeUnpack -> a
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. SomeUnpack -> Maybe a
+forall a. Typeable a => SomeUnpack -> Maybe a
+castsomeunpack
+    Immediately
+Eventually -> InputStream Uninterpreted -> Eff es SomeUnpack
+forall (es :: [Effect]).
+(IOE :> es, State ParserState :> es) =>
+InputStream Uninterpreted -> Eff es SomeUnpack
+handleheara Connection
+cx.cxinput Eff es SomeUnpack -> (SomeUnpack -> a) -> Eff es a
+forall (f :: * -> *) a b. Functor f => f a -> (a -> b) -> f b
+<&> Maybe a -> a
+forall a. HasCallStack => Maybe a -> a
+fromJust (Maybe a -> a) -> (SomeUnpack -> Maybe a) -> SomeUnpack -> a
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. SomeUnpack -> Maybe a
+forall a. Typeable a => SomeUnpack -> Maybe a
+castsomeunpack
+  HearU Immediately
+i -> case Immediately
+i of
+    Immediately
+Immediately -> InputStream Uninterpreted -> Eff es Uninterpreted
+forall (es :: [Effect]).
+(IOE :> es, NonDet :> es) =>
+InputStream Uninterpreted -> Eff es Uninterpreted
+handlehearu_immediate Connection
+cx.cxinput
+    Immediately
+Eventually -> InputStream Uninterpreted -> Eff es Uninterpreted
+forall (es :: [Effect]).
+(IOE :> es) =>
+InputStream Uninterpreted -> Eff es Uninterpreted
+handlehearu Connection
+cx.cxinput
+  HearA Immediately
+i -> case Immediately
+i of
+    Immediately
+Immediately -> InputStream Uninterpreted -> Eff es SomeUnpack
+forall (es :: [Effect]).
+(IOE :> es, State ParserState :> es, NonDet :> es) =>
+InputStream Uninterpreted -> Eff es SomeUnpack
+handleheara_immediate Connection
+cx.cxinput
+    Immediately
+Eventually -> InputStream Uninterpreted -> Eff es SomeUnpack
+forall (es :: [Effect]).
+(IOE :> es, State ParserState :> es) =>
+InputStream Uninterpreted -> Eff es SomeUnpack
+handleheara Connection
+cx.cxinput
+  -- todo: it's possible to create a stream that accepts Builder instead
+  -- of ByteString for the sake of efficiency (from io-streams itself)
+  -- but I haven't given it much thought yet
+  Say a1
+p -> TypeRep -> Builder -> Eff es Uninterpreted
+forall (es :: [Effect]).
+(State ParserState :> es) =>
+TypeRep -> Builder -> Eff es Uninterpreted
+reify (a1 -> TypeRep
+forall a. Typeable a => a -> TypeRep
+typeOf a1
+p) (a1 -> Builder
+forall a. Pack a => a -> Builder
+pack a1
+p) Eff es Uninterpreted -> (Uninterpreted -> Eff es a) -> Eff es a
+forall a b. Eff es a -> (a -> Eff es b) -> Eff es b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= IO a -> Eff es a
+forall a. IO a -> Eff es a
+forall (m :: * -> *) a. MonadIO m => IO a -> m a
+liftIO (IO a -> Eff es a)
+-> (Uninterpreted -> IO a) -> Uninterpreted -> Eff es a
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. OutputStream Uninterpreted -> Maybe Uninterpreted -> IO ()
+forall a. OutputStream a -> Maybe a -> IO ()
+writeTo Connection
+cx.cxoutput (Maybe Uninterpreted -> IO a)
+-> (Uninterpreted -> Maybe Uninterpreted) -> Uninterpreted -> IO a
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Uninterpreted -> Maybe Uninterpreted
+forall a. a -> Maybe a
+Just
+  Setcompression Int
+th -> STM () -> Eff es ()
+forall (es :: [Effect]) a. (Concurrent :> es) => STM a -> Eff es a
+atomically (STM () -> Eff es ()) -> STM () -> Eff es ()
+forall a b. (a -> b) -> a -> b
+$ TVar Int -> Int -> STM ()
+forall a. TVar a -> a -> STM ()
+writeTVar Connection
+cx.cxcompth Int
+th
+  Setencryption ByteString
+key -> STM () -> Eff es ()
+forall (es :: [Effect]) a. (Concurrent :> es) => STM a -> Eff es a
+atomically (STM () -> Eff es ()) -> STM () -> Eff es ()
+forall a b. (a -> b) -> a -> b
+$ TVar (Maybe ByteString) -> Maybe ByteString -> STM ()
+forall a. TVar a -> a -> STM ()
+writeTVar Connection
+cx.cxkey (ByteString -> Maybe ByteString
+forall a. a -> Maybe a
+Just ByteString
+key)
+
+handlehearu :: (IOE :> es) => InputStream Uninterpreted -> Eff es Uninterpreted
+handlehearu :: forall (es :: [Effect]).
+(IOE :> es) =>
+InputStream Uninterpreted -> Eff es Uninterpreted
+handlehearu InputStream Uninterpreted
+i = IO (Maybe Uninterpreted) -> Eff es (Maybe Uninterpreted)
+forall a. IO a -> Eff es a
+forall (m :: * -> *) a. MonadIO m => IO a -> m a
+liftIO (InputStream Uninterpreted -> IO (Maybe Uninterpreted)
+forall a. InputStream a -> IO (Maybe a)
+read InputStream Uninterpreted
+i) Eff es (Maybe Uninterpreted)
+-> (Maybe Uninterpreted -> Eff es Uninterpreted)
+-> Eff es Uninterpreted
+forall a b. Eff es a -> (a -> Eff es b) -> Eff es b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= Eff es Uninterpreted
+-> (Uninterpreted -> Eff es Uninterpreted)
+-> Maybe Uninterpreted
+-> Eff es Uninterpreted
+forall b a. b -> (a -> b) -> Maybe a -> b
+maybe (EOF -> Eff es Uninterpreted
+forall e (es :: [Effect]) a.
+(HasCallStack, Exception e) =>
+e -> Eff es a
+throwIO EOF
+EOF) Uninterpreted -> Eff es Uninterpreted
+forall a. a -> Eff es a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure
+
+handlehearu_immediate ::
+  (IOE :> es, NonDet :> es) =>
+  InputStream Uninterpreted -> Eff es Uninterpreted
+handlehearu_immediate :: forall (es :: [Effect]).
+(IOE :> es, NonDet :> es) =>
+InputStream Uninterpreted -> Eff es Uninterpreted
+handlehearu_immediate InputStream Uninterpreted
+i = do
+  Maybe Uninterpreted
+mv <- IO (Maybe Uninterpreted) -> Eff es (Maybe Uninterpreted)
+forall a. IO a -> Eff es a
+forall (m :: * -> *) a. MonadIO m => IO a -> m a
+liftIO (IO (Maybe Uninterpreted) -> Eff es (Maybe Uninterpreted))
+-> IO (Maybe Uninterpreted) -> Eff es (Maybe Uninterpreted)
+forall a b. (a -> b) -> a -> b
+$ InputStream Uninterpreted -> IO (Maybe Uninterpreted)
+forall a. InputStream a -> IO (Maybe a)
+peek InputStream Uninterpreted
+i
+  case Maybe Uninterpreted
+mv of
+    Maybe Uninterpreted
+Nothing -> Eff es Uninterpreted
+forall a. Eff es a
+forall (f :: * -> *) a. Alternative f => f a
+empty
+    Just Uninterpreted
+v -> IO (Maybe Uninterpreted) -> Eff es (Maybe Uninterpreted)
+forall a. IO a -> Eff es a
+forall (m :: * -> *) a. MonadIO m => IO a -> m a
+liftIO (InputStream Uninterpreted -> IO (Maybe Uninterpreted)
+forall a. InputStream a -> IO (Maybe a)
+read InputStream Uninterpreted
+i) Eff es (Maybe Uninterpreted)
+-> Uninterpreted -> Eff es Uninterpreted
+forall (f :: * -> *) a b. Functor f => f a -> b -> f b
+$> Uninterpreted
+v
+
+handleheara ::
+  (IOE :> es, State ParserState :> es) =>
+  InputStream Uninterpreted -> Eff es SomeUnpack
+handleheara :: forall (es :: [Effect]).
+(IOE :> es, State ParserState :> es) =>
+InputStream Uninterpreted -> Eff es SomeUnpack
+handleheara InputStream Uninterpreted
+i = do
+  Uninterpreted
+u <- InputStream Uninterpreted -> Eff es Uninterpreted
+forall (es :: [Effect]).
+(IOE :> es) =>
+InputStream Uninterpreted -> Eff es Uninterpreted
+handlehearu InputStream Uninterpreted
+i
+  ParserState forall r. Op r -> r
+p <- Eff es ParserState
+forall s (es :: [Effect]).
+(HasCallStack, State s :> es) =>
+Eff es s
+get
+  SomeUnpack -> Eff es SomeUnpack
+forall a. a -> Eff es a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure (SomeUnpack -> Eff es SomeUnpack)
+-> SomeUnpack -> Eff es SomeUnpack
+forall a b. (a -> b) -> a -> b
+$ Op SomeUnpack -> SomeUnpack
+forall r. Op r -> r
+p (Uninterpreted -> Op SomeUnpack
+Parse Uninterpreted
+u)
+
+handleheara_immediate ::
+  (IOE :> es, State ParserState :> es, NonDet :> es) =>
+  InputStream Uninterpreted -> Eff es SomeUnpack
+handleheara_immediate :: forall (es :: [Effect]).
+(IOE :> es, State ParserState :> es, NonDet :> es) =>
+InputStream Uninterpreted -> Eff es SomeUnpack
+handleheara_immediate InputStream Uninterpreted
+i = do
+  Uninterpreted
+u <- InputStream Uninterpreted -> Eff es Uninterpreted
+forall (es :: [Effect]).
+(IOE :> es, NonDet :> es) =>
+InputStream Uninterpreted -> Eff es Uninterpreted
+handlehearu_immediate InputStream Uninterpreted
+i
+  ParserState forall r. Op r -> r
+p <- Eff es ParserState
+forall s (es :: [Effect]).
+(HasCallStack, State s :> es) =>
+Eff es s
+get
+  SomeUnpack -> Eff es SomeUnpack
+forall a. a -> Eff es a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure (SomeUnpack -> Eff es SomeUnpack)
+-> SomeUnpack -> Eff es SomeUnpack
+forall a b. (a -> b) -> a -> b
+$ Op SomeUnpack -> SomeUnpack
+forall r. Op r -> r
+p (Uninterpreted -> Op SomeUnpack
+Parse Uninterpreted
+u)
+
+-- | run server accepting multiple connections
+withtalkingserver ::
+  ( IOE :> es,
+    State ParserState :> es,
+    Concurrent :> es,
+    NonDet :> es
+  ) =>
+  -- | unlift strategy
+  UnliftStrategy ->
+  -- | host (Nothing = all interfaces)
+  Maybe String ->
+  -- | port
+  String ->
+  -- | per-connection handler
+  Eff (Talking : es) a ->
+  -- | final result
+  Eff es a
+withtalkingserver :: forall (es :: [Effect]) a.
+(IOE :> es, State ParserState :> es, Concurrent :> es,
+ NonDet :> es) =>
+UnliftStrategy
+-> Maybe String -> String -> Eff (Talking : es) a -> Eff es a
+withtalkingserver UnliftStrategy
+u Maybe String
+host String
+port Eff (Talking : es) a
+handler = UnliftStrategy
+-> ((forall r. Eff es r -> IO r) -> IO a) -> Eff es a
+forall (es :: [Effect]) a.
+(HasCallStack, IOE :> es) =>
+UnliftStrategy
+-> ((forall r. Eff es r -> IO r) -> IO a) -> Eff es a
+withEffToIO UnliftStrategy
+u \forall r. Eff es r -> IO r
+run -> do
+  Maybe String -> String -> (Socket -> IO a) -> IO a
+forall a. Maybe String -> String -> (Socket -> IO a) -> IO a
+runTCPServer Maybe String
+host String
+port \Socket
+sock -> do
+    Socket -> (Connection -> IO a) -> IO a
+forall a. Socket -> (Connection -> IO a) -> IO a
+withcxfromsocket Socket
+sock \Connection
+cx ->
+      Eff es a -> IO a
+forall r. Eff es r -> IO r
+run (Eff es a -> IO a) -> Eff es a -> IO a
+forall a b. (a -> b) -> a -> b
+$ Connection -> Eff (Talking : es) a -> Eff es a
+forall (es :: [Effect]) a.
+(IOE :> es, NonDet :> es, State ParserState :> es,
+ Concurrent :> es) =>
+Connection -> Eff (Talking : es) a -> Eff es a
+runtalking0 Connection
+cx Eff (Talking : es) a
+handler
+
+-- | run client with single connection
+withtalkingclient ::
+  ( IOE :> es,
+    State ParserState :> es,
+    Concurrent :> es,
+    NonDet :> es
+  ) =>
+  -- | unlift strategy
+  UnliftStrategy ->
+  -- | host
+  String ->
+  -- | port
+  String ->
+  -- | handler
+  Eff (Talking : es) a ->
+  -- | result
+  Eff es a
+withtalkingclient :: forall (es :: [Effect]) a.
+(IOE :> es, State ParserState :> es, Concurrent :> es,
+ NonDet :> es) =>
+UnliftStrategy
+-> String -> String -> Eff (Talking : es) a -> Eff es a
+withtalkingclient UnliftStrategy
+u String
+host String
+port Eff (Talking : es) a
+handler = UnliftStrategy
+-> ((forall r. Eff es r -> IO r) -> IO a) -> Eff es a
+forall (es :: [Effect]) a.
+(HasCallStack, IOE :> es) =>
+UnliftStrategy
+-> ((forall r. Eff es r -> IO r) -> IO a) -> Eff es a
+withEffToIO UnliftStrategy
+u \forall r. Eff es r -> IO r
+run -> do
+  String -> String -> (Socket -> IO a) -> IO a
+forall a. String -> String -> (Socket -> IO a) -> IO a
+runTCPClient String
+host String
+port \Socket
+sock ->
+    Socket -> (Connection -> IO a) -> IO a
+forall a. Socket -> (Connection -> IO a) -> IO a
+withcxfromsocket Socket
+sock \Connection
+cx ->
+      Eff es a -> IO a
+forall r. Eff es r -> IO r
+run (Eff es a -> IO a) -> Eff es a -> IO a
+forall a b. (a -> b) -> a -> b
+$ Connection -> Eff (Talking : es) a -> Eff es a
+forall (es :: [Effect]) a.
+(IOE :> es, NonDet :> es, State ParserState :> es,
+ Concurrent :> es) =>
+Connection -> Eff (Talking : es) a -> Eff es a
+runtalking0 Connection
+cx Eff (Talking : es) a
+handler
+
\ No newline at end of file diff --git a/src/M.IO.Internal.EffectTypes.html b/src/M.IO.Internal.EffectTypes.html new file mode 100644 index 0000000..a170675 --- /dev/null +++ b/src/M.IO.Internal.EffectTypes.html @@ -0,0 +1,901 @@ +
-- |
+-- Module: M.IO.Internal.EffectTypes
+-- Description: Core networking effects for Minecraft protocol
+-- License: BSD-3-Clause
+--
+-- This module defines the core effects used for networking in the Minecraft protocol
+-- implementation. It provides bidirectional packet communication with compression and
+-- encryption support.
+module M.IO.Internal.EffectTypes
+  ( -- * Core effect
+    Talking (..),
+
+    -- * Types
+    Direction (..),
+    Immediately (..),
+    Op (..),
+    ParserState (..),
+
+    -- * Effect operations
+    Talking',
+    hear,
+    hearU,
+    hearA,
+    say,
+
+    -- * Configuration
+    setcompression,
+    setencryption,
+    enter,
+  )
+where
+
+import Control.DeepSeq
+import Data.ByteString (ByteString)
+import Data.Data
+import Data.Hashable
+import Data.Word
+import Effectful
+import Effectful.NonDet
+import Effectful.State.Dynamic
+import Effectful.TH
+import GHC.Generics
+import Language.Haskell.TH.Syntax (Lift)
+import M.IO.Internal.Datagram
+import M.Pack
+
+-- | relative packet direction. Used to identify packet flow without
+-- hardcoding client/server roles
+data Direction = Inbound | Outbound
+  deriving (Direction -> Direction -> Bool
+(Direction -> Direction -> Bool)
+-> (Direction -> Direction -> Bool) -> Eq Direction
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: Direction -> Direction -> Bool
+== :: Direction -> Direction -> Bool
+$c/= :: Direction -> Direction -> Bool
+/= :: Direction -> Direction -> Bool
+Eq, Int -> Direction -> ShowS
+[Direction] -> ShowS
+Direction -> String
+(Int -> Direction -> ShowS)
+-> (Direction -> String)
+-> ([Direction] -> ShowS)
+-> Show Direction
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> Direction -> ShowS
+showsPrec :: Int -> Direction -> ShowS
+$cshow :: Direction -> String
+show :: Direction -> String
+$cshowList :: [Direction] -> ShowS
+showList :: [Direction] -> ShowS
+Show, ReadPrec [Direction]
+ReadPrec Direction
+Int -> ReadS Direction
+ReadS [Direction]
+(Int -> ReadS Direction)
+-> ReadS [Direction]
+-> ReadPrec Direction
+-> ReadPrec [Direction]
+-> Read Direction
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS Direction
+readsPrec :: Int -> ReadS Direction
+$creadList :: ReadS [Direction]
+readList :: ReadS [Direction]
+$creadPrec :: ReadPrec Direction
+readPrec :: ReadPrec Direction
+$creadListPrec :: ReadPrec [Direction]
+readListPrec :: ReadPrec [Direction]
+Read, Eq Direction
+Eq Direction =>
+(Direction -> Direction -> Ordering)
+-> (Direction -> Direction -> Bool)
+-> (Direction -> Direction -> Bool)
+-> (Direction -> Direction -> Bool)
+-> (Direction -> Direction -> Bool)
+-> (Direction -> Direction -> Direction)
+-> (Direction -> Direction -> Direction)
+-> Ord Direction
+Direction -> Direction -> Bool
+Direction -> Direction -> Ordering
+Direction -> Direction -> Direction
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: Direction -> Direction -> Ordering
+compare :: Direction -> Direction -> Ordering
+$c< :: Direction -> Direction -> Bool
+< :: Direction -> Direction -> Bool
+$c<= :: Direction -> Direction -> Bool
+<= :: Direction -> Direction -> Bool
+$c> :: Direction -> Direction -> Bool
+> :: Direction -> Direction -> Bool
+$c>= :: Direction -> Direction -> Bool
+>= :: Direction -> Direction -> Bool
+$cmax :: Direction -> Direction -> Direction
+max :: Direction -> Direction -> Direction
+$cmin :: Direction -> Direction -> Direction
+min :: Direction -> Direction -> Direction
+Ord, Int -> Direction
+Direction -> Int
+Direction -> [Direction]
+Direction -> Direction
+Direction -> Direction -> [Direction]
+Direction -> Direction -> Direction -> [Direction]
+(Direction -> Direction)
+-> (Direction -> Direction)
+-> (Int -> Direction)
+-> (Direction -> Int)
+-> (Direction -> [Direction])
+-> (Direction -> Direction -> [Direction])
+-> (Direction -> Direction -> [Direction])
+-> (Direction -> Direction -> Direction -> [Direction])
+-> Enum Direction
+forall a.
+(a -> a)
+-> (a -> a)
+-> (Int -> a)
+-> (a -> Int)
+-> (a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> a -> [a])
+-> Enum a
+$csucc :: Direction -> Direction
+succ :: Direction -> Direction
+$cpred :: Direction -> Direction
+pred :: Direction -> Direction
+$ctoEnum :: Int -> Direction
+toEnum :: Int -> Direction
+$cfromEnum :: Direction -> Int
+fromEnum :: Direction -> Int
+$cenumFrom :: Direction -> [Direction]
+enumFrom :: Direction -> [Direction]
+$cenumFromThen :: Direction -> Direction -> [Direction]
+enumFromThen :: Direction -> Direction -> [Direction]
+$cenumFromTo :: Direction -> Direction -> [Direction]
+enumFromTo :: Direction -> Direction -> [Direction]
+$cenumFromThenTo :: Direction -> Direction -> Direction -> [Direction]
+enumFromThenTo :: Direction -> Direction -> Direction -> [Direction]
+Enum, Direction
+Direction -> Direction -> Bounded Direction
+forall a. a -> a -> Bounded a
+$cminBound :: Direction
+minBound :: Direction
+$cmaxBound :: Direction
+maxBound :: Direction
+Bounded, Typeable Direction
+Typeable Direction =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> Direction -> c Direction)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c Direction)
+-> (Direction -> Constr)
+-> (Direction -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c Direction))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Direction))
+-> ((forall b. Data b => b -> b) -> Direction -> Direction)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> Direction -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> Direction -> r)
+-> (forall u. (forall d. Data d => d -> u) -> Direction -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> Direction -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> Direction -> m Direction)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Direction -> m Direction)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Direction -> m Direction)
+-> Data Direction
+Direction -> Constr
+Direction -> DataType
+(forall b. Data b => b -> b) -> Direction -> Direction
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> Direction -> u
+forall u. (forall d. Data d => d -> u) -> Direction -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Direction -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Direction -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Direction -> m Direction
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Direction -> m Direction
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Direction
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Direction -> c Direction
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Direction)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Direction)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Direction -> c Direction
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Direction -> c Direction
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Direction
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Direction
+$ctoConstr :: Direction -> Constr
+toConstr :: Direction -> Constr
+$cdataTypeOf :: Direction -> DataType
+dataTypeOf :: Direction -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Direction)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Direction)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Direction)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Direction)
+$cgmapT :: (forall b. Data b => b -> b) -> Direction -> Direction
+gmapT :: (forall b. Data b => b -> b) -> Direction -> Direction
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Direction -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Direction -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Direction -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Direction -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> Direction -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> Direction -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Direction -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Direction -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Direction -> m Direction
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Direction -> m Direction
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Direction -> m Direction
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Direction -> m Direction
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Direction -> m Direction
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Direction -> m Direction
+Data, Typeable, (forall x. Direction -> Rep Direction x)
+-> (forall x. Rep Direction x -> Direction) -> Generic Direction
+forall x. Rep Direction x -> Direction
+forall x. Direction -> Rep Direction x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. Direction -> Rep Direction x
+from :: forall x. Direction -> Rep Direction x
+$cto :: forall x. Rep Direction x -> Direction
+to :: forall x. Rep Direction x -> Direction
+Generic, (forall (m :: * -> *). Quote m => Direction -> m Exp)
+-> (forall (m :: * -> *). Quote m => Direction -> Code m Direction)
+-> Lift Direction
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => Direction -> m Exp
+forall (m :: * -> *). Quote m => Direction -> Code m Direction
+$clift :: forall (m :: * -> *). Quote m => Direction -> m Exp
+lift :: forall (m :: * -> *). Quote m => Direction -> m Exp
+$cliftTyped :: forall (m :: * -> *). Quote m => Direction -> Code m Direction
+liftTyped :: forall (m :: * -> *). Quote m => Direction -> Code m Direction
+Lift)
+  deriving (Eq Direction
+Eq Direction =>
+(Int -> Direction -> Int)
+-> (Direction -> Int) -> Hashable Direction
+Int -> Direction -> Int
+Direction -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+$chashWithSalt :: Int -> Direction -> Int
+hashWithSalt :: Int -> Direction -> Int
+$chash :: Direction -> Int
+hash :: Direction -> Int
+Hashable, Direction -> ()
+(Direction -> ()) -> NFData Direction
+forall a. (a -> ()) -> NFData a
+$crnf :: Direction -> ()
+rnf :: Direction -> ()
+NFData)
+
+-- | urgency level for receiving packets
+data Immediately = Immediately | Eventually
+  deriving (Immediately -> Immediately -> Bool
+(Immediately -> Immediately -> Bool)
+-> (Immediately -> Immediately -> Bool) -> Eq Immediately
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: Immediately -> Immediately -> Bool
+== :: Immediately -> Immediately -> Bool
+$c/= :: Immediately -> Immediately -> Bool
+/= :: Immediately -> Immediately -> Bool
+Eq, Int -> Immediately -> ShowS
+[Immediately] -> ShowS
+Immediately -> String
+(Int -> Immediately -> ShowS)
+-> (Immediately -> String)
+-> ([Immediately] -> ShowS)
+-> Show Immediately
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> Immediately -> ShowS
+showsPrec :: Int -> Immediately -> ShowS
+$cshow :: Immediately -> String
+show :: Immediately -> String
+$cshowList :: [Immediately] -> ShowS
+showList :: [Immediately] -> ShowS
+Show, ReadPrec [Immediately]
+ReadPrec Immediately
+Int -> ReadS Immediately
+ReadS [Immediately]
+(Int -> ReadS Immediately)
+-> ReadS [Immediately]
+-> ReadPrec Immediately
+-> ReadPrec [Immediately]
+-> Read Immediately
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS Immediately
+readsPrec :: Int -> ReadS Immediately
+$creadList :: ReadS [Immediately]
+readList :: ReadS [Immediately]
+$creadPrec :: ReadPrec Immediately
+readPrec :: ReadPrec Immediately
+$creadListPrec :: ReadPrec [Immediately]
+readListPrec :: ReadPrec [Immediately]
+Read, Eq Immediately
+Eq Immediately =>
+(Immediately -> Immediately -> Ordering)
+-> (Immediately -> Immediately -> Bool)
+-> (Immediately -> Immediately -> Bool)
+-> (Immediately -> Immediately -> Bool)
+-> (Immediately -> Immediately -> Bool)
+-> (Immediately -> Immediately -> Immediately)
+-> (Immediately -> Immediately -> Immediately)
+-> Ord Immediately
+Immediately -> Immediately -> Bool
+Immediately -> Immediately -> Ordering
+Immediately -> Immediately -> Immediately
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: Immediately -> Immediately -> Ordering
+compare :: Immediately -> Immediately -> Ordering
+$c< :: Immediately -> Immediately -> Bool
+< :: Immediately -> Immediately -> Bool
+$c<= :: Immediately -> Immediately -> Bool
+<= :: Immediately -> Immediately -> Bool
+$c> :: Immediately -> Immediately -> Bool
+> :: Immediately -> Immediately -> Bool
+$c>= :: Immediately -> Immediately -> Bool
+>= :: Immediately -> Immediately -> Bool
+$cmax :: Immediately -> Immediately -> Immediately
+max :: Immediately -> Immediately -> Immediately
+$cmin :: Immediately -> Immediately -> Immediately
+min :: Immediately -> Immediately -> Immediately
+Ord, Int -> Immediately
+Immediately -> Int
+Immediately -> [Immediately]
+Immediately -> Immediately
+Immediately -> Immediately -> [Immediately]
+Immediately -> Immediately -> Immediately -> [Immediately]
+(Immediately -> Immediately)
+-> (Immediately -> Immediately)
+-> (Int -> Immediately)
+-> (Immediately -> Int)
+-> (Immediately -> [Immediately])
+-> (Immediately -> Immediately -> [Immediately])
+-> (Immediately -> Immediately -> [Immediately])
+-> (Immediately -> Immediately -> Immediately -> [Immediately])
+-> Enum Immediately
+forall a.
+(a -> a)
+-> (a -> a)
+-> (Int -> a)
+-> (a -> Int)
+-> (a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> a -> [a])
+-> Enum a
+$csucc :: Immediately -> Immediately
+succ :: Immediately -> Immediately
+$cpred :: Immediately -> Immediately
+pred :: Immediately -> Immediately
+$ctoEnum :: Int -> Immediately
+toEnum :: Int -> Immediately
+$cfromEnum :: Immediately -> Int
+fromEnum :: Immediately -> Int
+$cenumFrom :: Immediately -> [Immediately]
+enumFrom :: Immediately -> [Immediately]
+$cenumFromThen :: Immediately -> Immediately -> [Immediately]
+enumFromThen :: Immediately -> Immediately -> [Immediately]
+$cenumFromTo :: Immediately -> Immediately -> [Immediately]
+enumFromTo :: Immediately -> Immediately -> [Immediately]
+$cenumFromThenTo :: Immediately -> Immediately -> Immediately -> [Immediately]
+enumFromThenTo :: Immediately -> Immediately -> Immediately -> [Immediately]
+Enum, Immediately
+Immediately -> Immediately -> Bounded Immediately
+forall a. a -> a -> Bounded a
+$cminBound :: Immediately
+minBound :: Immediately
+$cmaxBound :: Immediately
+maxBound :: Immediately
+Bounded, Typeable Immediately
+Typeable Immediately =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> Immediately -> c Immediately)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c Immediately)
+-> (Immediately -> Constr)
+-> (Immediately -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c Immediately))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c Immediately))
+-> ((forall b. Data b => b -> b) -> Immediately -> Immediately)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> Immediately -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> Immediately -> r)
+-> (forall u. (forall d. Data d => d -> u) -> Immediately -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> Immediately -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> Immediately -> m Immediately)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Immediately -> m Immediately)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Immediately -> m Immediately)
+-> Data Immediately
+Immediately -> Constr
+Immediately -> DataType
+(forall b. Data b => b -> b) -> Immediately -> Immediately
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> Immediately -> u
+forall u. (forall d. Data d => d -> u) -> Immediately -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Immediately -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Immediately -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Immediately -> m Immediately
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Immediately -> m Immediately
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Immediately
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Immediately -> c Immediately
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Immediately)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c Immediately)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Immediately -> c Immediately
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Immediately -> c Immediately
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Immediately
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Immediately
+$ctoConstr :: Immediately -> Constr
+toConstr :: Immediately -> Constr
+$cdataTypeOf :: Immediately -> DataType
+dataTypeOf :: Immediately -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Immediately)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Immediately)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c Immediately)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c Immediately)
+$cgmapT :: (forall b. Data b => b -> b) -> Immediately -> Immediately
+gmapT :: (forall b. Data b => b -> b) -> Immediately -> Immediately
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Immediately -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Immediately -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Immediately -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Immediately -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> Immediately -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> Immediately -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Immediately -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Immediately -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Immediately -> m Immediately
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Immediately -> m Immediately
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Immediately -> m Immediately
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Immediately -> m Immediately
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Immediately -> m Immediately
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Immediately -> m Immediately
+Data, Typeable, (forall x. Immediately -> Rep Immediately x)
+-> (forall x. Rep Immediately x -> Immediately)
+-> Generic Immediately
+forall x. Rep Immediately x -> Immediately
+forall x. Immediately -> Rep Immediately x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. Immediately -> Rep Immediately x
+from :: forall x. Immediately -> Rep Immediately x
+$cto :: forall x. Rep Immediately x -> Immediately
+to :: forall x. Rep Immediately x -> Immediately
+Generic, (forall (m :: * -> *). Quote m => Immediately -> m Exp)
+-> (forall (m :: * -> *).
+    Quote m =>
+    Immediately -> Code m Immediately)
+-> Lift Immediately
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => Immediately -> m Exp
+forall (m :: * -> *). Quote m => Immediately -> Code m Immediately
+$clift :: forall (m :: * -> *). Quote m => Immediately -> m Exp
+lift :: forall (m :: * -> *). Quote m => Immediately -> m Exp
+$cliftTyped :: forall (m :: * -> *). Quote m => Immediately -> Code m Immediately
+liftTyped :: forall (m :: * -> *). Quote m => Immediately -> Code m Immediately
+Lift)
+  deriving (Eq Immediately
+Eq Immediately =>
+(Int -> Immediately -> Int)
+-> (Immediately -> Int) -> Hashable Immediately
+Int -> Immediately -> Int
+Immediately -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+$chashWithSalt :: Int -> Immediately -> Int
+hashWithSalt :: Int -> Immediately -> Int
+$chash :: Immediately -> Int
+hash :: Immediately -> Int
+Hashable, Immediately -> ()
+(Immediately -> ()) -> NFData Immediately
+forall a. (a -> ()) -> NFData a
+$crnf :: Immediately -> ()
+rnf :: Immediately -> ()
+NFData)
+
+-- | operations on a packet
+data Op r where
+  -- | parse any packet
+  Parse :: Uninterpreted %1 -> Op SomeUnpack
+  -- | find code of a packet based on its 'TypeRep'
+  Code :: Direction %1 -> TypeRep %1 -> Op (Maybe Word8)
+  deriving (Typeable)
+
+instance Show (Op r) where
+  show :: Op r -> String
+show = \case
+    Parse Uninterpreted
+u -> String
+"Parse " String -> ShowS
+forall a. [a] -> [a] -> [a]
+++ Uninterpreted -> String
+forall a. Show a => a -> String
+show Uninterpreted
+u
+    Code Direction
+d TypeRep
+t -> String
+"Code " String -> ShowS
+forall a. [a] -> [a] -> [a]
+++ Direction -> String
+forall a. Show a => a -> String
+show Direction
+d String -> ShowS
+forall a. [a] -> [a] -> [a]
+++ String
+" " String -> ShowS
+forall a. [a] -> [a] -> [a]
+++ TypeRep -> String
+forall a. Show a => a -> String
+show TypeRep
+t
+
+instance Eq (Op r) where
+  Parse Uninterpreted
+u == :: Op r -> Op r -> Bool
+== Parse Uninterpreted
+u' = Uninterpreted
+u Uninterpreted -> Uninterpreted -> Bool
+forall a. Eq a => a -> a -> Bool
+== Uninterpreted
+u'
+  Code Direction
+d TypeRep
+t == Code Direction
+d' TypeRep
+t' = Direction
+d Direction -> Direction -> Bool
+forall a. Eq a => a -> a -> Bool
+== Direction
+d' Bool -> Bool -> Bool
+&& TypeRep
+t TypeRep -> TypeRep -> Bool
+forall a. Eq a => a -> a -> Bool
+== TypeRep
+t'
+
+instance Ord (Op r) where
+  compare :: Op r -> Op r -> Ordering
+compare (Parse Uninterpreted
+u) (Parse Uninterpreted
+u') = Uninterpreted -> Uninterpreted -> Ordering
+forall a. Ord a => a -> a -> Ordering
+compare Uninterpreted
+u Uninterpreted
+u'
+  compare (Code Direction
+d TypeRep
+t) (Code Direction
+d' TypeRep
+t') = (Direction, TypeRep) -> (Direction, TypeRep) -> Ordering
+forall a. Ord a => a -> a -> Ordering
+compare (Direction
+d, TypeRep
+t) (Direction
+d', TypeRep
+t')
+
+instance Hashable (Op r) where
+  hashWithSalt :: Int -> Op r -> Int
+hashWithSalt Int
+s (Parse Uninterpreted
+u) = Int
+s Int -> Int -> Int
+forall a. Hashable a => Int -> a -> Int
+`hashWithSalt` (Int
+0 :: Int) Int -> Uninterpreted -> Int
+forall a. Hashable a => Int -> a -> Int
+`hashWithSalt` Uninterpreted
+u
+  hashWithSalt Int
+s (Code Direction
+d TypeRep
+t) =
+    Int
+s
+      Int -> Int -> Int
+forall a. Hashable a => Int -> a -> Int
+`hashWithSalt` (Int
+1 :: Int)
+      Int -> Direction -> Int
+forall a. Hashable a => Int -> a -> Int
+`hashWithSalt` Direction
+d
+      Int -> TypeRep -> Int
+forall a. Hashable a => Int -> a -> Int
+`hashWithSalt` TypeRep
+t
+
+instance NFData (Op r) where
+  rnf :: Op r -> ()
+rnf = \case
+    Parse Uninterpreted
+u -> Uninterpreted -> ()
+forall a. NFData a => a -> ()
+rnf Uninterpreted
+u
+    Code Direction
+d TypeRep
+t -> Direction -> ()
+forall a. NFData a => a -> ()
+rnf Direction
+d () -> () -> ()
+forall a b. a -> b -> b
+`seq` TypeRep -> ()
+forall a. NFData a => a -> ()
+rnf TypeRep
+t
+
+-- | parser state object (as in object-oriented programming)
+newtype ParserState = ParserState
+  { -- | send a \"message\" to the parser state and get a response
+    ParserState -> forall r. Op r -> r
+send2parserstate :: forall r. Op r -> r
+  }
+
+-- | the communication effect
+data Talking :: Effect where
+  -- | listen for a message and assert its type
+  --
+  -- when immediately is set and message missing, invoke 'Empty'
+  Hear :: (Unpack a, Typeable a) => Immediately -> Talking m a
+  -- | listen for a raw uninterpreted message
+  --
+  -- when immediately is set and message missing, invoke 'Empty'
+  HearU :: Immediately -> Talking m Uninterpreted
+  -- | listen for a message with dynamic unpacking
+  --
+  -- when immediately is set and message missing, invoke 'Empty'
+  HearA :: Immediately -> Talking m SomeUnpack
+  -- | send a message
+  Say :: (Pack a, Typeable a) => a -> Talking m ()
+  -- | set the compression threshold
+  --
+  -- - non-negative: compress messages larger than this size
+  -- - negative: disable compression
+  Setcompression :: Int -> Talking m ()
+  -- | set the encryption key
+  Setencryption :: ByteString -> Talking m ()
+
+makeEffect ''Talking
+
+-- | the communication effect with parser state and non-determinism
+type Talking' es = (Talking :> es, State ParserState :> es, NonDet :> es)
+
+-- | enter the parser state
+enter :: (State ParserState :> es) => ParserState -> Eff es ()
+enter :: forall (es :: [Effect]).
+(State ParserState :> es) =>
+ParserState -> Eff es ()
+enter = ParserState -> Eff es ()
+forall s (es :: [Effect]).
+(HasCallStack, State s :> es) =>
+s -> Eff es ()
+put
+{-# INLINE enter #-}
+
\ No newline at end of file diff --git a/src/M.IO.Internal.Read.html b/src/M.IO.Internal.Read.html new file mode 100644 index 0000000..83a75a0 --- /dev/null +++ b/src/M.IO.Internal.Read.html @@ -0,0 +1,191 @@ +
-- |
+-- Module: M.IO.Internal.Read
+-- Description: Stream parsing utilities
+-- License: BSD-3-Clause
+--
+-- This module provides parsing utilities for reading structured data from streams.
+module M.IO.Internal.Read
+  ( -- * Basic parsing
+    parseio,
+    parseio0,
+
+    -- * Lifted versions
+    parseiolift,
+    parseio0lift,
+  )
+where
+
+import Control.Exception
+import Control.Monad.IO.Class
+import Data.ByteString (ByteString)
+import Data.Functor
+import FlatParse.Stateful
+import System.IO.Streams
+import Prelude hiding (read)
+
+-- | parse from a stream (with no state and int value of 0). see also:
+-- 'parseio'
+parseio0 ::
+  (Exception e) =>
+  -- | input stream
+  InputStream ByteString ->
+  -- | parser
+  ParserIO () e a ->
+  -- | result
+  IO a
+parseio0 :: forall e a.
+Exception e =>
+InputStream ByteString -> ParserIO () e a -> IO a
+parseio0 = () -> Int -> InputStream ByteString -> ParserIO () e a -> IO a
+forall e r a.
+Exception e =>
+r -> Int -> InputStream ByteString -> ParserIO r e a -> IO a
+parseio () Int
+0
+{-# INLINE parseio0 #-}
+
+-- | lifted version of 'parseio0'
+parseio0lift ::
+  (MonadIO m, Exception e) =>
+  -- | input stream
+  InputStream ByteString ->
+  -- | parser
+  ParserIO () e a ->
+  -- | result
+  m a
+parseio0lift :: forall (m :: * -> *) e a.
+(MonadIO m, Exception e) =>
+InputStream ByteString -> ParserIO () e a -> m a
+parseio0lift = () -> Int -> InputStream ByteString -> ParserIO () e a -> m a
+forall (m :: * -> *) e r a.
+(MonadIO m, Exception e) =>
+r -> Int -> InputStream ByteString -> ParserIO r e a -> m a
+parseiolift () Int
+0
+{-# INLINE parseio0lift #-}
+
+-- | Parse from a stream. Automatically handles chunked input by
+-- concatenating chunks until a complete parse succeeds.
+--
+-- May throw:
+-- * The parser's error type @e@
+-- * IOError "parseio: unexpected end of input"
+parseio ::
+  (Exception e) =>
+  -- | state
+  r ->
+  -- | int value
+  Int ->
+  -- | input stream
+  InputStream ByteString ->
+  -- | parser
+  ParserIO r e a ->
+  -- | result
+  IO a
+parseio :: forall e r a.
+Exception e =>
+r -> Int -> InputStream ByteString -> ParserIO r e a -> IO a
+parseio r
+v Int
+i InputStream ByteString
+s ParserIO r e a
+f = ByteString -> IO a
+parse ByteString
+forall a. Monoid a => a
+mempty
+  where
+    -- controlled by a two-state machine
+    parse :: ByteString -> IO a
+parse ByteString
+b = ParserIO r e a -> r -> Int -> ByteString -> IO (Result e a)
+forall r e a.
+ParserIO r e a -> r -> Int -> ByteString -> IO (Result e a)
+runParserIO ParserIO r e a
+f r
+v Int
+i ByteString
+b IO (Result e a) -> (Result e a -> IO a) -> IO a
+forall a b. IO a -> (a -> IO b) -> IO b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= ByteString -> Result e a -> IO a
+check ByteString
+b
+    check :: ByteString -> Result e a -> IO a
+check ByteString
+b = \case
+      OK a
+a Int
+_ ByteString
+r -> ByteString -> InputStream ByteString -> IO ()
+forall a. a -> InputStream a -> IO ()
+unRead ByteString
+r InputStream ByteString
+s IO () -> a -> IO a
+forall (f :: * -> *) a b. Functor f => f a -> b -> f b
+$> a
+a
+      Result e a
+Fail ->
+        InputStream ByteString -> IO (Maybe ByteString)
+forall a. InputStream a -> IO (Maybe a)
+read InputStream ByteString
+s IO (Maybe ByteString) -> (Maybe ByteString -> IO a) -> IO a
+forall a b. IO a -> (a -> IO b) -> IO b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= \case
+          -- note: FlatParse is not a resumable parser.
+          -- so, we must start over from the beginning
+          Just ByteString
+t -> ByteString -> IO a
+parse (ByteString
+b ByteString -> ByteString -> ByteString
+forall a. Semigroup a => a -> a -> a
+<> ByteString
+t) -- concatenate and start over
+          Maybe ByteString
+Nothing -> String -> IO a
+forall a. String -> IO a
+forall (m :: * -> *) a. MonadFail m => String -> m a
+fail String
+"parseio: unexpected end of input"
+      Err e
+e -> e -> IO a
+forall e a. Exception e => e -> IO a
+throwIO e
+e
+
+-- | lifted version of 'parseio'
+parseiolift ::
+  (MonadIO m, Exception e) =>
+  -- | state
+  r ->
+  -- | int value
+  Int ->
+  -- | input stream
+  InputStream ByteString ->
+  -- | parser
+  ParserIO r e a ->
+  -- | result
+  m a
+parseiolift :: forall (m :: * -> *) e r a.
+(MonadIO m, Exception e) =>
+r -> Int -> InputStream ByteString -> ParserIO r e a -> m a
+parseiolift = (((IO a -> m a
+forall a. IO a -> m a
+forall (m :: * -> *) a. MonadIO m => IO a -> m a
+liftIO .) .) .) ((Int -> InputStream ByteString -> ParserIO r e a -> IO a)
+ -> Int -> InputStream ByteString -> ParserIO r e a -> m a)
+-> (r -> Int -> InputStream ByteString -> ParserIO r e a -> IO a)
+-> r
+-> Int
+-> InputStream ByteString
+-> ParserIO r e a
+-> m a
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. r -> Int -> InputStream ByteString -> ParserIO r e a -> IO a
+forall e r a.
+Exception e =>
+r -> Int -> InputStream ByteString -> ParserIO r e a -> IO a
+parseio
+{-# INLINE parseiolift #-}
+
\ No newline at end of file diff --git a/src/M.IO.Internal.Socket.html b/src/M.IO.Internal.Socket.html new file mode 100644 index 0000000..bafd1e0 --- /dev/null +++ b/src/M.IO.Internal.Socket.html @@ -0,0 +1,253 @@ +
-- |
+-- Module: M.IO.Internal.Socket
+-- Description: Socket connection handling for Minecraft protocol
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Implements reliable duplex stream connections for the Java Minecraft protocol,
+-- handling encryption and compression.
+module M.IO.Internal.Socket (Connection (..), withcxfromsocket) where
+
+import Control.Concurrent.Async
+import Control.Concurrent.STM
+import Control.Monad
+import Data.ByteString
+import M.Crypto
+import M.IO.Internal.Datagram
+import Network.Socket
+import System.IO.Streams (InputStream, OutputStream)
+import System.IO.Streams.Network (socketToStreams)
+
+-- | a connection to either a server or a client
+data Connection = Connection
+  { -- | encryption key, AES-128-CFB8; doubles as IV
+    Connection -> TVar (Maybe ByteString)
+cxkey :: TVar (Maybe ByteString),
+    -- | compression threshold; negative = off, non-negative = on with threshold
+    Connection -> TVar Int
+cxcompth :: TVar Int,
+    -- | input stream
+    Connection -> InputStream Uninterpreted
+cxinput :: InputStream Uninterpreted,
+    -- | output stream
+    Connection -> OutputStream Uninterpreted
+cxoutput :: OutputStream Uninterpreted
+  }
+
+-- | create a connection from a socket
+withcxfromsocket :: Socket -> (Connection -> IO a) -> IO a
+withcxfromsocket :: forall a. Socket -> (Connection -> IO a) -> IO a
+withcxfromsocket Socket
+sk Connection -> IO a
+cont = do
+  TVar Int
+th <- Int -> IO (TVar Int)
+forall a. a -> IO (TVar a)
+newTVarIO (-Int
+1) -- compression off by default
+  (InputStream ByteString
+i0, OutputStream ByteString
+o0) <- Socket -> IO (InputStream ByteString, OutputStream ByteString)
+socketToStreams Socket
+sk
+  (TVar (ByteString -> IO ByteString)
+ef, TVar (ByteString -> IO ByteString)
+df) <- (TVar (ByteString -> IO ByteString)
+ -> TVar (ByteString -> IO ByteString)
+ -> (TVar (ByteString -> IO ByteString),
+     TVar (ByteString -> IO ByteString)))
+-> IO (TVar (ByteString -> IO ByteString))
+-> IO (TVar (ByteString -> IO ByteString))
+-> IO
+     (TVar (ByteString -> IO ByteString),
+      TVar (ByteString -> IO ByteString))
+forall a b c. (a -> b -> c) -> IO a -> IO b -> IO c
+forall (f :: * -> *) a b c.
+Applicative f =>
+(a -> b -> c) -> f a -> f b -> f c
+liftA2 (,) ((ByteString -> IO ByteString)
+-> IO (TVar (ByteString -> IO ByteString))
+forall a. a -> IO (TVar a)
+newTVarIO ByteString -> IO ByteString
+forall a. a -> IO a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure) ((ByteString -> IO ByteString)
+-> IO (TVar (ByteString -> IO ByteString))
+forall a. a -> IO (TVar a)
+newTVarIO ByteString -> IO ByteString
+forall a. a -> IO a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure)
+  (InputStream ByteString
+i1, OutputStream ByteString
+o1) <- (InputStream ByteString
+ -> OutputStream ByteString
+ -> (InputStream ByteString, OutputStream ByteString))
+-> IO (InputStream ByteString)
+-> IO (OutputStream ByteString)
+-> IO (InputStream ByteString, OutputStream ByteString)
+forall a b c. (a -> b -> c) -> IO a -> IO b -> IO c
+forall (f :: * -> *) a b c.
+Applicative f =>
+(a -> b -> c) -> f a -> f b -> f c
+liftA2 (,) (TVar (ByteString -> IO ByteString)
+-> InputStream ByteString -> IO (InputStream ByteString)
+makedecrypting TVar (ByteString -> IO ByteString)
+df InputStream ByteString
+i0) (TVar (ByteString -> IO ByteString)
+-> OutputStream ByteString -> IO (OutputStream ByteString)
+makeencrypting TVar (ByteString -> IO ByteString)
+ef OutputStream ByteString
+o0)
+  (InputStream Uninterpreted
+i2, OutputStream Uninterpreted
+o2) <- (InputStream Uninterpreted
+ -> OutputStream Uninterpreted
+ -> (InputStream Uninterpreted, OutputStream Uninterpreted))
+-> IO (InputStream Uninterpreted)
+-> IO (OutputStream Uninterpreted)
+-> IO (InputStream Uninterpreted, OutputStream Uninterpreted)
+forall a b c. (a -> b -> c) -> IO a -> IO b -> IO c
+forall (f :: * -> *) a b c.
+Applicative f =>
+(a -> b -> c) -> f a -> f b -> f c
+liftA2 (,) (TVar Int
+-> InputStream ByteString -> IO (InputStream Uninterpreted)
+makepacketstreami TVar Int
+th InputStream ByteString
+i1) (TVar Int
+-> OutputStream ByteString -> IO (OutputStream Uninterpreted)
+makepacketstreamo TVar Int
+th OutputStream ByteString
+o1)
+  TVar (Maybe ByteString)
+k <- Maybe ByteString -> IO (TVar (Maybe ByteString))
+forall a. a -> IO (TVar a)
+newTVarIO Maybe ByteString
+forall a. Maybe a
+Nothing
+  -- need to go from the easy way to the hard way.
+  -- why? because Datagram.hs expects functions to be passed in
+  -- for crypto, so we need to convert encryption keys to
+  -- encryption functions
+  let watchk :: IO Any
+watchk = do
+        TVar (Maybe ByteString)
+kold <- Maybe ByteString -> IO (TVar (Maybe ByteString))
+forall a. a -> IO (TVar a)
+newTVarIO Maybe ByteString
+forall a. Maybe a
+Nothing
+        IO () -> IO Any
+forall (f :: * -> *) a b. Applicative f => f a -> f b
+forever do
+          Maybe ByteString
+k' <- STM (Maybe ByteString) -> IO (Maybe ByteString)
+forall a. STM a -> IO a
+atomically do
+            Maybe ByteString
+kold' <- TVar (Maybe ByteString) -> STM (Maybe ByteString)
+forall a. TVar a -> STM a
+readTVar TVar (Maybe ByteString)
+kold
+            Maybe ByteString
+knew <- TVar (Maybe ByteString) -> STM (Maybe ByteString)
+forall a. TVar a -> STM a
+readTVar TVar (Maybe ByteString)
+k
+            Bool -> STM () -> STM ()
+forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
+when (Maybe ByteString
+knew Maybe ByteString -> Maybe ByteString -> Bool
+forall a. Eq a => a -> a -> Bool
+== Maybe ByteString
+kold') STM ()
+forall a. STM a
+retry
+            TVar (Maybe ByteString) -> Maybe ByteString -> STM ()
+forall a. TVar a -> a -> STM ()
+writeTVar TVar (Maybe ByteString)
+kold Maybe ByteString
+knew
+            Maybe ByteString -> STM (Maybe ByteString)
+forall a. a -> STM a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure Maybe ByteString
+knew
+          case Maybe ByteString
+k' of
+            Maybe ByteString
+Nothing -> STM () -> IO ()
+forall a. STM a -> IO a
+atomically do
+              TVar (ByteString -> IO ByteString)
+-> (ByteString -> IO ByteString) -> STM ()
+forall a. TVar a -> a -> STM ()
+writeTVar TVar (ByteString -> IO ByteString)
+ef ByteString -> IO ByteString
+forall a. a -> IO a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure
+              TVar (ByteString -> IO ByteString)
+-> (ByteString -> IO ByteString) -> STM ()
+forall a. TVar a -> a -> STM ()
+writeTVar TVar (ByteString -> IO ByteString)
+df ByteString -> IO ByteString
+forall a. a -> IO a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure
+            Just ByteString
+key -> do
+              AES 'Encrypt
+aese <- forall (mode :: Mode). AESClass mode => ByteString -> IO (AES mode)
+aesnew @'Encrypt ByteString
+key
+              AES 'Decrypt
+aesd <- forall (mode :: Mode). AESClass mode => ByteString -> IO (AES mode)
+aesnew @'Decrypt ByteString
+key
+              STM () -> IO ()
+forall a. STM a -> IO a
+atomically do
+                TVar (ByteString -> IO ByteString)
+-> (ByteString -> IO ByteString) -> STM ()
+forall a. TVar a -> a -> STM ()
+writeTVar TVar (ByteString -> IO ByteString)
+ef (AES 'Encrypt -> ByteString -> IO ByteString
+forall (mode :: Mode).
+AESClass mode =>
+AES mode -> ByteString -> IO ByteString
+aesupdate AES 'Encrypt
+aese)
+                TVar (ByteString -> IO ByteString)
+-> (ByteString -> IO ByteString) -> STM ()
+forall a. TVar a -> a -> STM ()
+writeTVar TVar (ByteString -> IO ByteString)
+df (AES 'Decrypt -> ByteString -> IO ByteString
+forall (mode :: Mode).
+AESClass mode =>
+AES mode -> ByteString -> IO ByteString
+aesupdate AES 'Decrypt
+aesd)
+  IO Any -> (Async Any -> IO a) -> IO a
+forall a b. IO a -> (Async a -> IO b) -> IO b
+withAsync IO Any
+watchk \Async Any
+_ ->
+    Connection -> IO a
+cont
+      Connection
+        { cxkey :: TVar (Maybe ByteString)
+cxkey = TVar (Maybe ByteString)
+k,
+          cxcompth :: TVar Int
+cxcompth = TVar Int
+th,
+          cxinput :: InputStream Uninterpreted
+cxinput = InputStream Uninterpreted
+i2,
+          cxoutput :: OutputStream Uninterpreted
+cxoutput = OutputStream Uninterpreted
+o2
+        }
+
\ No newline at end of file diff --git a/src/M.IO.Internal.Zlib.html b/src/M.IO.Internal.Zlib.html new file mode 100644 index 0000000..38d09d7 --- /dev/null +++ b/src/M.IO.Internal.Zlib.html @@ -0,0 +1,63 @@ +
-- |
+-- Module: M.IO.Internal.Zlib
+-- Description: Safe zlib decompression utilities
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Provides safe decompression functionality for zlib-compressed data
+-- with length validation and error handling.
+module M.IO.Internal.Zlib (safedecomp) where
+
+import Codec.Compression.Zlib
+import Data.ByteString (ByteString)
+import Data.ByteString qualified as B
+import Data.ByteString.Lazy qualified as BL
+
+-- | length-checked decompression of zlib-compressed data under 'IO'
+safedecomp ::
+  -- | expected length of decompressed data
+  Int ->
+  -- | compressed data
+  ByteString ->
+  -- | decompressed data
+  IO ByteString
+safedecomp :: Int -> ByteString -> IO ByteString
+safedecomp Int
+l ByteString
+comp = do
+  let n :: Int64
+n = Int -> Int64
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral Int
+l
+      d :: ByteString
+d = Int64 -> ByteString -> ByteString
+BL.take Int64
+n (ByteString -> ByteString) -> ByteString -> ByteString
+forall a b. (a -> b) -> a -> b
+$ ByteString -> ByteString
+decompress (ByteString -> ByteString) -> ByteString -> ByteString
+forall a b. (a -> b) -> a -> b
+$ ByteString -> ByteString
+BL.fromStrict ByteString
+comp
+  if ByteString -> Int64
+BL.length ByteString
+d Int64 -> Int64 -> Bool
+forall a. Eq a => a -> a -> Bool
+/= Int64
+n
+    then String -> IO ByteString
+forall a. String -> IO a
+forall (m :: * -> *) a. MonadFail m => String -> m a
+fail String
+"safedecomp: wrong length"
+    else ByteString -> IO ByteString
+forall a. a -> IO a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure (ByteString -> IO ByteString) -> ByteString -> IO ByteString
+forall a b. (a -> b) -> a -> b
+$ ByteString -> ByteString
+B.toStrict ByteString
+d
+
\ No newline at end of file diff --git a/src/M.IO.KeepAlive.html b/src/M.IO.KeepAlive.html new file mode 100644 index 0000000..358d708 --- /dev/null +++ b/src/M.IO.KeepAlive.html @@ -0,0 +1,205 @@ +
-- |
+-- Module: M.IO.KeepAlive
+-- Description: Keep-alive mechanism for maintaining server connections
+-- License: BSD-3-Clause
+--
+-- This module implements the Minecraft protocol's keep-alive mechanism, which helps
+-- detect stale connections by periodically exchanging random numbers.
+module M.IO.KeepAlive
+  ( -- * Types
+    KeepAliveFail (..),
+
+    -- * Keep-alive functions
+    skeepalive, -- ^ Server keep-alive handler
+  )
+where
+
+import Control.Applicative
+import Control.Monad
+import Data.Data
+import Data.Functor
+import Effectful
+import Effectful.Concurrent
+import Effectful.Exception
+import M.IO.Internal.EffectTypes
+import M.Pack
+import System.Random
+
+-- | keep-alive failure modes. Occurs when:
+--
+-- * the response number doesn't match the sent number ('KeepAliveFail')
+-- * no response is received within timeout ('KeepAliveTimeout')
+data KeepAliveFail a
+  = KeepAliveFail
+      -- | sent
+      a
+      -- | received
+      a
+  | KeepAliveTimeout
+  deriving (KeepAliveFail a -> KeepAliveFail a -> Bool
+(KeepAliveFail a -> KeepAliveFail a -> Bool)
+-> (KeepAliveFail a -> KeepAliveFail a -> Bool)
+-> Eq (KeepAliveFail a)
+forall a. Eq a => KeepAliveFail a -> KeepAliveFail a -> Bool
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: forall a. Eq a => KeepAliveFail a -> KeepAliveFail a -> Bool
+== :: KeepAliveFail a -> KeepAliveFail a -> Bool
+$c/= :: forall a. Eq a => KeepAliveFail a -> KeepAliveFail a -> Bool
+/= :: KeepAliveFail a -> KeepAliveFail a -> Bool
+Eq, Int -> KeepAliveFail a -> ShowS
+[KeepAliveFail a] -> ShowS
+KeepAliveFail a -> String
+(Int -> KeepAliveFail a -> ShowS)
+-> (KeepAliveFail a -> String)
+-> ([KeepAliveFail a] -> ShowS)
+-> Show (KeepAliveFail a)
+forall a. Show a => Int -> KeepAliveFail a -> ShowS
+forall a. Show a => [KeepAliveFail a] -> ShowS
+forall a. Show a => KeepAliveFail a -> String
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: forall a. Show a => Int -> KeepAliveFail a -> ShowS
+showsPrec :: Int -> KeepAliveFail a -> ShowS
+$cshow :: forall a. Show a => KeepAliveFail a -> String
+show :: KeepAliveFail a -> String
+$cshowList :: forall a. Show a => [KeepAliveFail a] -> ShowS
+showList :: [KeepAliveFail a] -> ShowS
+Show, Typeable, Show (KeepAliveFail a)
+Typeable (KeepAliveFail a)
+(Typeable (KeepAliveFail a), Show (KeepAliveFail a)) =>
+(KeepAliveFail a -> SomeException)
+-> (SomeException -> Maybe (KeepAliveFail a))
+-> (KeepAliveFail a -> String)
+-> Exception (KeepAliveFail a)
+SomeException -> Maybe (KeepAliveFail a)
+KeepAliveFail a -> String
+KeepAliveFail a -> SomeException
+forall a. (Typeable a, Show a) => Show (KeepAliveFail a)
+forall a. (Typeable a, Show a) => Typeable (KeepAliveFail a)
+forall a.
+(Typeable a, Show a) =>
+SomeException -> Maybe (KeepAliveFail a)
+forall a. (Typeable a, Show a) => KeepAliveFail a -> String
+forall a. (Typeable a, Show a) => KeepAliveFail a -> SomeException
+forall e.
+(Typeable e, Show e) =>
+(e -> SomeException)
+-> (SomeException -> Maybe e) -> (e -> String) -> Exception e
+$ctoException :: forall a. (Typeable a, Show a) => KeepAliveFail a -> SomeException
+toException :: KeepAliveFail a -> SomeException
+$cfromException :: forall a.
+(Typeable a, Show a) =>
+SomeException -> Maybe (KeepAliveFail a)
+fromException :: SomeException -> Maybe (KeepAliveFail a)
+$cdisplayException :: forall a. (Typeable a, Show a) => KeepAliveFail a -> String
+displayException :: KeepAliveFail a -> String
+Exception)
+
+-- | server's keep-alive mechanism. sends a random number every 15 seconds
+-- and verifies the client echoes it back correctly
+--
+-- throws:
+--
+-- * 'KeepAliveFail' if response doesn't match
+-- * 'KeepAliveTimeout' if no response within timeout
+skeepalive ::
+  forall a es void.
+  ( Concurrent :> es,
+    Talking' es,
+    IOE :> es,
+    Random a,
+    Show a,
+    Eq a,
+    Pack a,
+    Unpack a,
+    Typeable a
+  ) =>
+  Eff es void
+skeepalive :: forall a (es :: [Effect]) void.
+(Concurrent :> es, Talking' es, IOE :> es, Random a, Show a, Eq a,
+ Pack a, Unpack a, Typeable a) =>
+Eff es void
+skeepalive =
+  Eff es ()
+wait Eff es () -> Eff es void -> Eff es void
+forall a b. Eff es a -> Eff es b -> Eff es b
+forall (f :: * -> *) a b. Applicative f => f a -> f b -> f b
+*> Eff es () -> Eff es void
+forall (f :: * -> *) a b. Applicative f => f a -> f b
+forever do
+    a
+a <- Eff es a
+send
+    a
+b <- Eff es ()
+wait Eff es () -> Eff es a -> Eff es a
+forall a b. Eff es a -> Eff es b -> Eff es b
+forall (f :: * -> *) a b. Applicative f => f a -> f b -> f b
+*> (Eff es a
+receive Eff es a -> Eff es a -> Eff es a
+forall a. Eff es a -> Eff es a -> Eff es a
+forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
+<|> Eff es a
+timeout)
+    Bool -> Eff es () -> Eff es ()
+forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
+unless (a
+a a -> a -> Bool
+forall a. Eq a => a -> a -> Bool
+== a
+b) do
+      a -> a -> Eff es ()
+forall {es :: [Effect]} {a}. a -> a -> Eff es a
+mismatch a
+a a
+b
+  where
+    wait :: Eff es ()
+wait = Int -> Eff es ()
+forall (es :: [Effect]). (Concurrent :> es) => Int -> Eff es ()
+threadDelay Int
+15_000_000 -- microseconds
+    send :: Eff es a
+send = IO a -> Eff es a
+forall a. IO a -> Eff es a
+forall (m :: * -> *) a. MonadIO m => IO a -> m a
+liftIO (IO a
+forall a (m :: * -> *). (Random a, MonadIO m) => m a
+randomIO :: IO a) Eff es a -> (a -> Eff es a) -> Eff es a
+forall a b. Eff es a -> (a -> Eff es b) -> Eff es b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= \a
+n -> a -> Eff es ()
+forall a (es :: [Effect]).
+(HasCallStack, Talking :> es, Pack a, Typeable a) =>
+a -> Eff es ()
+say a
+n Eff es () -> a -> Eff es a
+forall (f :: * -> *) a b. Functor f => f a -> b -> f b
+$> a
+n
+    receive :: Eff es a
+receive = forall a (es :: [Effect]).
+(HasCallStack, Talking :> es, Unpack a, Typeable a) =>
+Immediately -> Eff es a
+hear @a Immediately
+Immediately
+    mismatch :: a -> a -> Eff es a
+mismatch = (KeepAliveFail a -> Eff es a
+forall e (es :: [Effect]) a.
+(HasCallStack, Exception e) =>
+e -> Eff es a
+throwIO .) ((a -> KeepAliveFail a) -> a -> Eff es a)
+-> (a -> a -> KeepAliveFail a) -> a -> a -> Eff es a
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. a -> a -> KeepAliveFail a
+forall a. a -> a -> KeepAliveFail a
+KeepAliveFail
+    timeout :: Eff es a
+timeout = KeepAliveFail a -> Eff es a
+forall e (es :: [Effect]) a.
+(HasCallStack, Exception e) =>
+e -> Eff es a
+throwIO (forall a. KeepAliveFail a
+KeepAliveTimeout @a)
+
\ No newline at end of file diff --git a/src/M.IO.Obs.html b/src/M.IO.Obs.html new file mode 100644 index 0000000..15582da --- /dev/null +++ b/src/M.IO.Obs.html @@ -0,0 +1,106 @@ +
-- |
+-- Module: M.IO.Obs
+-- Description: General observer pattern implementation
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- This module provides a general-purpose observer pattern implementation
+-- for monitoring and reacting to state changes in STM transactions.
+module M.IO.Obs
+  ( -- * Observer
+    obs,
+  )
+where
+
+import Control.Monad
+import Effectful
+import Effectful.Concurrent.STM
+
+-- | A general observer that monitors changes in a shared variable and reacts to them.
+--
+-- The observer watches a target variable for changes, compares values using a custom
+-- comparison function, and executes an action when changes are detected.
+--
+-- @
+-- obs targetvar              -- Variable to observe
+--     compareandtransform    -- STM function to compare and transform values
+--     reacttochange          -- Action to execute when changes occur
+-- @
+obs ::
+  (Concurrent :> es, Eq a) =>
+  -- | Target variable to observe for changes
+  TVar a ->
+  -- | Function to compare and transform old and new values in STM
+  --
+  -- Old value is passed first; returned value gets committed and remembered
+  (a -> a -> STM a) ->
+  -- | Action to execute when changes are detected, with old and new values
+  --
+  -- Old value is passed first
+  (a -> a -> Eff es ()) ->
+  Eff es b
+obs :: forall (es :: [Effect]) a b.
+(Concurrent :> es, Eq a) =>
+TVar a -> (a -> a -> STM a) -> (a -> a -> Eff es ()) -> Eff es b
+obs TVar a
+a a -> a -> STM a
+b a -> a -> Eff es ()
+c = do
+  TVar a
+old <- TVar a -> Eff es a
+forall (es :: [Effect]) a. (Concurrent :> es) => TVar a -> Eff es a
+readTVarIO TVar a
+a Eff es a -> (a -> Eff es (TVar a)) -> Eff es (TVar a)
+forall a b. Eff es a -> (a -> Eff es b) -> Eff es b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= a -> Eff es (TVar a)
+forall (es :: [Effect]) a.
+(Concurrent :> es) =>
+a -> Eff es (TVar a)
+newTVarIO
+  Eff es () -> Eff es b
+forall (f :: * -> *) a b. Applicative f => f a -> f b
+forever do
+    (a
+ex, a
+ez) <- STM (a, a) -> Eff es (a, a)
+forall (es :: [Effect]) a. (Concurrent :> es) => STM a -> Eff es a
+atomically do
+      a
+x <- TVar a -> STM a
+forall a. TVar a -> STM a
+readTVar TVar a
+old
+      a
+y <- TVar a -> STM a
+forall a. TVar a -> STM a
+readTVar TVar a
+a
+      Bool -> STM ()
+forall (f :: * -> *). Alternative f => Bool -> f ()
+guard (a
+x a -> a -> Bool
+forall a. Eq a => a -> a -> Bool
+/= a
+y)
+      a
+z <- a -> a -> STM a
+b a
+x a
+y
+      TVar a -> a -> STM ()
+forall a. TVar a -> a -> STM ()
+writeTVar TVar a
+old a
+z
+      (a, a) -> STM (a, a)
+forall a. a -> STM a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure (a
+x, a
+z)
+    a -> a -> Eff es ()
+c a
+ex a
+ez
+
\ No newline at end of file diff --git a/src/M.IO.TH.html b/src/M.IO.TH.html new file mode 100644 index 0000000..80f69db --- /dev/null +++ b/src/M.IO.TH.html @@ -0,0 +1,1160 @@ +
-- |
+-- Module: M.IO.TH
+-- Description: Template Haskell generators for packet parsing states
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- This module provides Template Haskell functionality to generate parser states
+-- for client-server packet handling. It uses a simple grammar to define packet
+-- mappings and their associated codes.
+--
+-- == Usage
+--
+-- Define parser states using the 'states' quasi-quoter:
+--
+-- @
+-- -- creates mystatepair :: 'ParserStates'
+-- [states|
+--   mystatepair
+--   Login:1f:2f     -- Login packet: recv=0x1f, send=0x2f
+--   Handshake::3f   -- Handshake packet: send=0x3f only
+--   |]
+-- @
+--
+-- See: 'ParserStates', 'forserver', and 'forclient'.
+--
+-- == Note
+--
+-- All numerals are hexadecimal.
+module M.IO.TH (ParserStates (..), states) where
+
+import Control.Applicative.Combinators (manyTill, skipManyTill)
+import Control.Monad
+import Control.Monad.Fix
+import Data.Char (isLetter, ord)
+import Data.Function
+import Data.Functor
+import Data.HashMap.Strict qualified as H
+import Data.IntMap.Strict qualified as I
+import Data.Proxy
+import Data.Text qualified as T
+import Data.Text.Encoding qualified as TE
+import Data.Typeable (typeRep)
+import Data.Word
+import FlatParse.Stateful hiding (Parser, Result)
+import Language.Haskell.TH hiding (Code)
+import Language.Haskell.TH.Quote
+import M.IO.Internal.Datagram
+import M.IO.Internal.EffectTypes
+import M.Pack
+
+-- | A quasi-quoter for generating parser states.
+-- Parses the input grammar and generates appropriate ParserState pairs.
+states :: QuasiQuoter
+states :: QuasiQuoter
+states =
+  QuasiQuoter
+    { quoteDec :: [Char] -> Q [Dec]
+quoteDec = \((forall (st :: ZeroBitType). Parser st () (Name, [S]))
+-> ByteString -> Result (Name, [S])
+forall a.
+(forall (st :: ZeroBitType). Parser st () a)
+-> ByteString -> Result a
+parsepure0 Parser st () (Name, [S])
+forall (st :: ZeroBitType). Parser st () (Name, [S])
+forall (st :: ZeroBitType) r. Parser st r (Name, [S])
+doc (ByteString -> Result (Name, [S]))
+-> ([Char] -> ByteString) -> [Char] -> Result (Name, [S])
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Text -> ByteString
+TE.encodeUtf8 (Text -> ByteString) -> ([Char] -> Text) -> [Char] -> ByteString
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. [Char] -> Text
+T.pack -> Result (Name, [S])
+pr) ->
+        case Result (Name, [S])
+pr of
+          OK (Name
+n, [S]
+m) Int
+_ ByteString
+_ -> do
+            let two :: m (Item b) -> m (Item b) -> m b
+two m (Item b)
+a m (Item b)
+b = do Item b
+p <- m (Item b)
+a; Item b
+q <- m (Item b)
+b; b -> m b
+forall a. a -> m a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure [Item b
+p, Item b
+q]
+            (Type -> Q Type
+forall a. a -> Q a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure -> Q Type
+t, Exp -> Q Exp
+forall a. a -> Q a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure -> Q Exp
+b) <- [S] -> Q (Type, Exp)
+thparserstates [S]
+m
+            Q (Item [Dec]) -> Q (Item [Dec]) -> Q [Dec]
+forall {m :: * -> *} {b}.
+(Monad m, IsList b) =>
+m (Item b) -> m (Item b) -> m b
+two
+              do Name -> Q Type -> Q Dec
+forall (m :: * -> *). Quote m => Name -> m Type -> m Dec
+sigD Name
+n Q Type
+t
+              do Q Pat -> Q Body -> [Q Dec] -> Q Dec
+forall (m :: * -> *).
+Quote m =>
+m Pat -> m Body -> [m Dec] -> m Dec
+valD (Name -> Q Pat
+forall (m :: * -> *). Quote m => Name -> m Pat
+varP Name
+n) (Q Exp -> Q Body
+forall (m :: * -> *). Quote m => m Exp -> m Body
+normalB Q Exp
+b) []
+          Err ParseError
+e -> [Char] -> Q [Dec]
+forall a. HasCallStack => [Char] -> a
+error do
+            [Char]
+"states quasiquoter: unexpected error: " [Char] -> [Char] -> [Char]
+forall a. [a] -> [a] -> [a]
+++ ParseError -> [Char]
+showparseerror ParseError
+e
+          Result (Name, [S])
+Fail -> [Char] -> Q [Dec]
+forall a. HasCallStack => [Char] -> a
+error [Char]
+"states quasiquoter: unexpected error (no message)",
+      quoteExp :: [Char] -> Q Exp
+quoteExp = [Char] -> [Char] -> Q Exp
+forall a. HasCallStack => [Char] -> a
+error [Char]
+"states quasiquoter cannot be used in an expression",
+      quotePat :: [Char] -> Q Pat
+quotePat = [Char] -> [Char] -> Q Pat
+forall a. HasCallStack => [Char] -> a
+error [Char]
+"states quasiquoter cannot be used in a pattern",
+      quoteType :: [Char] -> Q Type
+quoteType = [Char] -> [Char] -> Q Type
+forall a. HasCallStack => [Char] -> a
+error [Char]
+"states quasiquoter cannot be used in a type"
+    }
+
+-- | Represents a pair of parser states - one for server-side parsing and one for client-side.
+-- The states contain mappings between packet types, codes and identifiers.
+data ParserStates = ParserStates
+  { ParserStates -> ParserState
+forserver :: ParserState,
+    ParserStates -> ParserState
+forclient :: ParserState
+  }
+
+-- | Internal representation of a single packet definition line from the grammar.
+-- Contains the packet name and optional receive/send codes.
+data S = S
+  { S -> [Char]
+sna :: String, -- packet name
+    S -> Maybe Int
+recv :: Maybe Int, -- receive code (client in/server out)
+    S -> Maybe Int
+send :: Maybe Int -- send code (client out/server in)
+  }
+
+-- | Helper for integer conversion
+fi :: (Integral a, Num b) => a -> b
+fi :: forall a b. (Integral a, Num b) => a -> b
+fi = a -> b
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral
+
+-- | Lookup with runtime error on missing key
+forceindex :: I.IntMap a -> Int -> a
+forceindex :: forall a. IntMap a -> Int -> a
+forceindex = IntMap a -> Int -> a
+forall a. IntMap a -> Int -> a
+(I.!)
+
+-- | List concatenation helper
+concat2 :: [a] -> [a] -> [a]
+concat2 :: forall a. [a] -> [a] -> [a]
+concat2 = [a] -> [a] -> [a]
+forall a. [a] -> [a] -> [a]
+(++)
+
+okorerror :: Result a -> a
+okorerror :: forall a. Result a -> a
+okorerror = \case
+  OK a
+a Int
+_ ByteString
+_ -> a
+a
+  Result a
+Fail -> [Char] -> a
+forall a. HasCallStack => [Char] -> a
+error [Char]
+"<code generated by IO.TH>: unexpected uninformative failure"
+  Err ParseError
+e -> [Char] -> a
+forall a. HasCallStack => [Char] -> a
+error ([Char] -> a) -> [Char] -> a
+forall a b. (a -> b) -> a -> b
+$ [Char]
+"<code generated by IO.TH>: error: " [Char] -> [Char] -> [Char]
+forall a. [a] -> [a] -> [a]
+++ ParseError -> [Char]
+showparseerror ParseError
+e
+
+-- | Generate Template Haskell type signature and expression for a ParserStates pair.
+-- Takes a list of packet definitions and produces corresponding parser states.
+thparserstates :: [S] -> Q (Type, Exp)
+thparserstates :: [S] -> Q (Type, Exp)
+thparserstates [S]
+rows = do
+  let genparse :: (S -> Maybe Int) -> Q Exp
+genparse S -> Maybe Int
+l =
+        let f :: S -> [(Q Type, Q Exp)] -> [(Q Type, Q Exp)]
+f S
+s [(Q Type, Q Exp)]
+a
+              | Just Int
+i <- S -> Maybe Int
+l S
+s =
+                  (Name -> Q Type
+forall (m :: * -> *). Quote m => Name -> m Type
+conT (Name -> Q Type) -> Name -> Q Type
+forall a b. (a -> b) -> a -> b
+$ [Char] -> Name
+mkName ([Char] -> Name) -> [Char] -> Name
+forall a b. (a -> b) -> a -> b
+$ S -> [Char]
+sna S
+s, Lit -> Q Exp
+forall (m :: * -> *). Quote m => Lit -> m Exp
+litE (Lit -> Q Exp) -> (Int -> Lit) -> Int -> Q Exp
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Integer -> Lit
+IntegerL (Integer -> Lit) -> (Int -> Integer) -> Int -> Lit
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Int -> Integer
+forall a b. (Integral a, Num b) => a -> b
+fi (Int -> Q Exp) -> Int -> Q Exp
+forall a b. (a -> b) -> a -> b
+$ Int
+i) (Q Type, Q Exp) -> [(Q Type, Q Exp)] -> [(Q Type, Q Exp)]
+forall a. a -> [a] -> [a]
+: [(Q Type, Q Exp)]
+a
+              | Bool
+otherwise = [(Q Type, Q Exp)]
+a
+            pairs :: [(Q Type, Q Exp)]
+pairs = (S -> [(Q Type, Q Exp)] -> [(Q Type, Q Exp)])
+-> [(Q Type, Q Exp)] -> [S] -> [(Q Type, Q Exp)]
+forall a b. (a -> b -> b) -> b -> [a] -> b
+forall (t :: * -> *) a b.
+Foldable t =>
+(a -> b -> b) -> b -> t a -> b
+foldr S -> [(Q Type, Q Exp)] -> [(Q Type, Q Exp)]
+f [] [S]
+rows
+         in Q Exp -> Q Exp -> Q Exp
+forall (m :: * -> *). Quote m => m Exp -> m Exp -> m Exp
+appE (Name -> Q Exp
+forall (m :: * -> *). Quote m => Name -> m Exp
+varE 'I.fromList) do
+              [Q Exp] -> Q Exp
+forall (m :: * -> *). Quote m => [m Exp] -> m Exp
+listE ([Q Exp] -> Q Exp) -> [Q Exp] -> Q Exp
+forall a b. (a -> b) -> a -> b
+$ (((Q Type, Q Exp) -> Q Exp) -> [(Q Type, Q Exp)] -> [Q Exp])
+-> [(Q Type, Q Exp)] -> ((Q Type, Q Exp) -> Q Exp) -> [Q Exp]
+forall a b c. (a -> b -> c) -> b -> a -> c
+flip ((Q Type, Q Exp) -> Q Exp) -> [(Q Type, Q Exp)] -> [Q Exp]
+forall a b. (a -> b) -> [a] -> [b]
+map [(Q Type, Q Exp)]
+pairs \(Q Type
+ty, Q Exp
+co) ->
+                [Q Exp] -> Q Exp
+forall (m :: * -> *). Quote m => [m Exp] -> m Exp
+tupE [Q Exp
+Item [Q Exp]
+co, Q Exp -> Q Type -> Q Exp
+forall (m :: * -> *). Quote m => m Exp -> m Type -> m Exp
+appTypeE (Name -> Q Exp
+forall (m :: * -> *). Quote m => Name -> m Exp
+varE 'unpacksome) Q Type
+ty]
+      gencode :: (S -> Maybe Int) -> (S -> Maybe Int) -> Q Exp
+gencode S -> Maybe Int
+li S -> Maybe Int
+lo =
+        let f :: (S -> Maybe a) -> S -> [(m Exp, m Exp)] -> [(m Exp, m Exp)]
+f S -> Maybe a
+l S
+s [(m Exp, m Exp)]
+a
+              | Just a
+i <- S -> Maybe a
+l S
+s =
+                  let t :: Name
+t = [Char] -> Name
+mkName ([Char] -> Name) -> [Char] -> Name
+forall a b. (a -> b) -> a -> b
+$ S -> [Char]
+sna S
+s
+                   in ( m Exp -> m Exp -> m Exp
+forall (m :: * -> *). Quote m => m Exp -> m Exp -> m Exp
+appE (Name -> m Exp
+forall (m :: * -> *). Quote m => Name -> m Exp
+varE 'typeRep) (m Exp -> m Type -> m Exp
+forall (m :: * -> *). Quote m => m Exp -> m Type -> m Exp
+appTypeE (Name -> m Exp
+forall (m :: * -> *). Quote m => Name -> m Exp
+conE 'Proxy) (Name -> m Type
+forall (m :: * -> *). Quote m => Name -> m Type
+conT Name
+t)),
+                        Lit -> m Exp
+forall (m :: * -> *). Quote m => Lit -> m Exp
+litE (Lit -> m Exp) -> (a -> Lit) -> a -> m Exp
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Integer -> Lit
+IntegerL (Integer -> Lit) -> (a -> Integer) -> a -> Lit
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. a -> Integer
+forall a b. (Integral a, Num b) => a -> b
+fi (a -> m Exp) -> a -> m Exp
+forall a b. (a -> b) -> a -> b
+$ a
+i
+                      )
+                        (m Exp, m Exp) -> [(m Exp, m Exp)] -> [(m Exp, m Exp)]
+forall a. a -> [a] -> [a]
+: [(m Exp, m Exp)]
+a
+              | Bool
+otherwise = [(m Exp, m Exp)]
+a
+            inbound :: [(Q Exp, Q Exp)]
+inbound = (S -> [(Q Exp, Q Exp)] -> [(Q Exp, Q Exp)])
+-> [(Q Exp, Q Exp)] -> [S] -> [(Q Exp, Q Exp)]
+forall a b. (a -> b -> b) -> b -> [a] -> b
+forall (t :: * -> *) a b.
+Foldable t =>
+(a -> b -> b) -> b -> t a -> b
+foldr ((S -> Maybe Int) -> S -> [(Q Exp, Q Exp)] -> [(Q Exp, Q Exp)]
+forall {m :: * -> *} {m :: * -> *} {a}.
+(Quote m, Quote m, Integral a) =>
+(S -> Maybe a) -> S -> [(m Exp, m Exp)] -> [(m Exp, m Exp)]
+f S -> Maybe Int
+li) [] [S]
+rows
+            outbound :: [(Q Exp, Q Exp)]
+outbound = (S -> [(Q Exp, Q Exp)] -> [(Q Exp, Q Exp)])
+-> [(Q Exp, Q Exp)] -> [S] -> [(Q Exp, Q Exp)]
+forall a b. (a -> b -> b) -> b -> [a] -> b
+forall (t :: * -> *) a b.
+Foldable t =>
+(a -> b -> b) -> b -> t a -> b
+foldr ((S -> Maybe Int) -> S -> [(Q Exp, Q Exp)] -> [(Q Exp, Q Exp)]
+forall {m :: * -> *} {m :: * -> *} {a}.
+(Quote m, Quote m, Integral a) =>
+(S -> Maybe a) -> S -> [(m Exp, m Exp)] -> [(m Exp, m Exp)]
+f S -> Maybe Int
+lo) [] [S]
+rows
+            u :: [(m Exp, m Exp)] -> Name -> m Exp
+u [(m Exp, m Exp)]
+l Name
+i = [m Exp] -> m Exp
+forall (m :: * -> *). Quote m => [m Exp] -> m Exp
+listE ([m Exp] -> m Exp) -> [m Exp] -> m Exp
+forall a b. (a -> b) -> a -> b
+$ (((m Exp, m Exp) -> m Exp) -> [(m Exp, m Exp)] -> [m Exp])
+-> [(m Exp, m Exp)] -> ((m Exp, m Exp) -> m Exp) -> [m Exp]
+forall a b c. (a -> b -> c) -> b -> a -> c
+flip ((m Exp, m Exp) -> m Exp) -> [(m Exp, m Exp)] -> [m Exp]
+forall a b. (a -> b) -> [a] -> [b]
+map [(m Exp, m Exp)]
+l \(m Exp
+tr, m Exp
+co) ->
+              [m Exp] -> m Exp
+forall (m :: * -> *). Quote m => [m Exp] -> m Exp
+tupE
+                [ [m Exp] -> m Exp
+forall (m :: * -> *). Quote m => [m Exp] -> m Exp
+tupE [Name -> m Exp
+forall (m :: * -> *). Quote m => Name -> m Exp
+conE Name
+i, m Exp
+Item [m Exp]
+tr],
+                  m Exp -> m Type -> m Exp
+forall (m :: * -> *). Quote m => m Exp -> m Type -> m Exp
+sigE m Exp
+co (Name -> m Type
+forall (m :: * -> *). Quote m => Name -> m Type
+conT ''Word8)
+                ]
+         in Q Exp -> Q Exp -> Q Exp
+forall (m :: * -> *). Quote m => m Exp -> m Exp -> m Exp
+appE (Name -> Q Exp
+forall (m :: * -> *). Quote m => Name -> m Exp
+varE 'H.fromList) do
+              Q Exp -> Q Exp -> Q Exp
+forall (m :: * -> *). Quote m => m Exp -> m Exp -> m Exp
+appE
+                ( Q Exp -> Q Exp -> Q Exp
+forall (m :: * -> *). Quote m => m Exp -> m Exp -> m Exp
+appE
+                    (Name -> Q Exp
+forall (m :: * -> *). Quote m => Name -> m Exp
+varE 'concat2)
+                    ([(Q Exp, Q Exp)] -> Name -> Q Exp
+forall {m :: * -> *}. Quote m => [(m Exp, m Exp)] -> Name -> m Exp
+u [(Q Exp, Q Exp)]
+inbound 'Inbound)
+                )
+                ([(Q Exp, Q Exp)] -> Name -> Q Exp
+forall {m :: * -> *}. Quote m => [(m Exp, m Exp)] -> Name -> m Exp
+u [(Q Exp, Q Exp)]
+outbound 'Outbound)
+      -- Server uses send for inbound, recv for outbound
+      gensparse :: Q Exp
+gensparse = (S -> Maybe Int) -> Q Exp
+genparse S -> Maybe Int
+send
+      genscode :: Q Exp
+genscode = (S -> Maybe Int) -> (S -> Maybe Int) -> Q Exp
+gencode S -> Maybe Int
+send S -> Maybe Int
+recv
+      -- Client uses recv for inbound, send for outbound
+      gencparse :: Q Exp
+gencparse = (S -> Maybe Int) -> Q Exp
+genparse S -> Maybe Int
+recv
+      genccode :: Q Exp
+genccode = (S -> Maybe Int) -> (S -> Maybe Int) -> Q Exp
+gencode S -> Maybe Int
+recv S -> Maybe Int
+send
+  Name
+argname <- [Char] -> Q Name
+forall (m :: * -> *). Quote m => [Char] -> m Name
+newName [Char]
+"argname" -- some temporary binder
+  Name
+u <- [Char] -> Q Name
+forall (m :: * -> *). Quote m => [Char] -> m Name
+newName [Char]
+"u" -- uninterpreted (essentially code * rest of packet)
+  Name
+a <- [Char] -> Q Name
+forall (m :: * -> *). Quote m => [Char] -> m Name
+newName [Char]
+"a" -- the parsing list
+  Name
+b <- [Char] -> Q Name
+forall (m :: * -> *). Quote m => [Char] -> m Name
+newName [Char]
+"b" -- the direction * type -> code list
+  Name
+d <- [Char] -> Q Name
+forall (m :: * -> *). Quote m => [Char] -> m Name
+newName [Char]
+"d" -- direction
+  Name
+y <- [Char] -> Q Name
+forall (m :: * -> *). Quote m => [Char] -> m Name
+newName [Char]
+"y" -- type
+  let half :: Q Exp -> Q Exp -> Q Exp
+half Q Exp
+g0 Q Exp
+g1 =
+        [Q Dec] -> Q Exp -> Q Exp
+forall (m :: * -> *). Quote m => [m Dec] -> m Exp -> m Exp
+letE [Q Pat -> Q Body -> [Q Dec] -> Q Dec
+forall (m :: * -> *).
+Quote m =>
+m Pat -> m Body -> [m Dec] -> m Dec
+valD (Name -> Q Pat
+forall (m :: * -> *). Quote m => Name -> m Pat
+varP Name
+a) (Q Exp -> Q Body
+forall (m :: * -> *). Quote m => m Exp -> m Body
+normalB Q Exp
+g0) [], Q Pat -> Q Body -> [Q Dec] -> Q Dec
+forall (m :: * -> *).
+Quote m =>
+m Pat -> m Body -> [m Dec] -> m Dec
+valD (Name -> Q Pat
+forall (m :: * -> *). Quote m => Name -> m Pat
+varP Name
+b) (Q Exp -> Q Body
+forall (m :: * -> *). Quote m => m Exp -> m Body
+normalB Q Exp
+g1) []] do
+          Q Exp -> Q Exp -> Q Exp
+forall (m :: * -> *). Quote m => m Exp -> m Exp -> m Exp
+appE (Name -> Q Exp
+forall (m :: * -> *). Quote m => Name -> m Exp
+conE 'ParserState) do
+            Q Pat -> Q Exp -> Q Exp
+forall (m :: * -> *). Quote m => m Pat -> m Exp -> m Exp
+lam1E (Name -> Q Pat
+forall (m :: * -> *). Quote m => Name -> m Pat
+varP Name
+argname) do
+              Q Exp -> [Q Match] -> Q Exp
+forall (m :: * -> *). Quote m => m Exp -> [m Match] -> m Exp
+caseE
+                (Name -> Q Exp
+forall (m :: * -> *). Quote m => Name -> m Exp
+varE Name
+argname)
+                [ Q Pat -> Q Body -> [Q Dec] -> Q Match
+forall (m :: * -> *).
+Quote m =>
+m Pat -> m Body -> [m Dec] -> m Match
+match
+                    (Name -> [Q Pat] -> Q Pat
+forall (m :: * -> *). Quote m => Name -> [m Pat] -> m Pat
+conP 'Parse [Name -> Q Pat
+forall (m :: * -> *). Quote m => Name -> m Pat
+varP Name
+u])
+                    ( Q Exp -> Q Body
+forall (m :: * -> *). Quote m => m Exp -> m Body
+normalB do
+                        Q Exp -> Q Exp -> Q Exp
+forall (m :: * -> *). Quote m => m Exp -> m Exp -> m Exp
+appE
+                          (Name -> Q Exp
+forall (m :: * -> *). Quote m => Name -> m Exp
+varE 'okorerror)
+                          ( Q Exp -> Q Exp -> Q Exp
+forall (m :: * -> *). Quote m => m Exp -> m Exp -> m Exp
+appE
+                              ( Q Exp -> Q Exp -> Q Exp
+forall (m :: * -> *). Quote m => m Exp -> m Exp -> m Exp
+appE
+                                  (Name -> Q Exp
+forall (m :: * -> *). Quote m => Name -> m Exp
+varE 'parsepure0)
+                                  ( Q Exp -> Q Exp -> Q Exp
+forall (m :: * -> *). Quote m => m Exp -> m Exp -> m Exp
+appE
+                                      (Q Exp -> Q Exp -> Q Exp
+forall (m :: * -> *). Quote m => m Exp -> m Exp -> m Exp
+appE (Name -> Q Exp
+forall (m :: * -> *). Quote m => Name -> m Exp
+varE 'forceindex) (Name -> Q Exp
+forall (m :: * -> *). Quote m => Name -> m Exp
+varE Name
+a))
+                                      ( Q Exp -> Q Exp -> Q Exp
+forall (m :: * -> *). Quote m => m Exp -> m Exp -> m Exp
+appE
+                                          (Name -> Q Exp
+forall (m :: * -> *). Quote m => Name -> m Exp
+varE 'fi)
+                                          (Q Exp -> Q Exp -> Q Exp
+forall (m :: * -> *). Quote m => m Exp -> m Exp -> m Exp
+appE (Name -> Q Exp
+forall (m :: * -> *). Quote m => Name -> m Exp
+varE 'pkcode) (Name -> Q Exp
+forall (m :: * -> *). Quote m => Name -> m Exp
+varE Name
+u))
+                                      )
+                                  )
+                              )
+                              (Q Exp -> Q Exp -> Q Exp
+forall (m :: * -> *). Quote m => m Exp -> m Exp -> m Exp
+appE (Name -> Q Exp
+forall (m :: * -> *). Quote m => Name -> m Exp
+varE 'pkdata) (Name -> Q Exp
+forall (m :: * -> *). Quote m => Name -> m Exp
+varE Name
+u))
+                          )
+                    )
+                    [],
+                  Q Pat -> Q Body -> [Q Dec] -> Q Match
+forall (m :: * -> *).
+Quote m =>
+m Pat -> m Body -> [m Dec] -> m Match
+match
+                    (Name -> [Q Pat] -> Q Pat
+forall (m :: * -> *). Quote m => Name -> [m Pat] -> m Pat
+conP 'Code [Name -> Q Pat
+forall (m :: * -> *). Quote m => Name -> m Pat
+varP Name
+d, Name -> Q Pat
+forall (m :: * -> *). Quote m => Name -> m Pat
+varP Name
+y])
+                    ( Q Exp -> Q Body
+forall (m :: * -> *). Quote m => m Exp -> m Body
+normalB do
+                        Q Exp -> Q Exp -> Q Exp
+forall (m :: * -> *). Quote m => m Exp -> m Exp -> m Exp
+appE
+                          ( Q Exp -> Q Exp -> Q Exp
+forall (m :: * -> *). Quote m => m Exp -> m Exp -> m Exp
+appE
+                              (Name -> Q Exp
+forall (m :: * -> *). Quote m => Name -> m Exp
+varE 'H.lookup)
+                              ([Q Exp] -> Q Exp
+forall (m :: * -> *). Quote m => [m Exp] -> m Exp
+tupE [Name -> Q Exp
+forall (m :: * -> *). Quote m => Name -> m Exp
+varE Name
+d, Name -> Q Exp
+forall (m :: * -> *). Quote m => Name -> m Exp
+varE Name
+y])
+                          )
+                          (Name -> Q Exp
+forall (m :: * -> *). Quote m => Name -> m Exp
+varE Name
+b)
+                    )
+                    []
+                ]
+      sig :: Q Type
+sig = Name -> Q Type
+forall (m :: * -> *). Quote m => Name -> m Type
+conT ''ParserStates
+  Type
+s1 <- Q Type
+sig
+  Exp
+s2 <-
+    Q Exp -> Q Exp -> Q Exp
+forall (m :: * -> *). Quote m => m Exp -> m Exp -> m Exp
+appE
+      ( Q Exp -> Q Exp -> Q Exp
+forall (m :: * -> *). Quote m => m Exp -> m Exp -> m Exp
+appE
+          (Name -> Q Exp
+forall (m :: * -> *). Quote m => Name -> m Exp
+conE 'ParserStates)
+          (Q Exp -> Q Exp -> Q Exp
+half Q Exp
+gensparse Q Exp
+genscode)
+      )
+      (Q Exp -> Q Exp -> Q Exp
+half Q Exp
+gencparse Q Exp
+genccode)
+  (Type, Exp) -> Q (Type, Exp)
+forall a. a -> Q a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure (Type
+s1, Exp
+s2)
+
+-- | Parse a single colon character
+colon :: Parser st r ()
+colon :: forall (st :: ZeroBitType) r. Parser st r ()
+colon = (Char -> Bool) -> ParserT st r ParseError ()
+forall (st :: ZeroBitType) r e. (Char -> Bool) -> ParserT st r e ()
+skipSatisfyAscii (Char -> Char -> Bool
+forall a. Eq a => a -> a -> Bool
+== Char
+':')
+
+-- | Parse a colon with error reporting
+colon' :: Parser st r ()
+colon' :: forall (st :: ZeroBitType) r. Parser st r ()
+colon' = ParserT st r ParseError ()
+-> ParseError -> ParserT st r ParseError ()
+forall (st :: ZeroBitType) r e a.
+ParserT st r e a -> e -> ParserT st r e a
+cut ParserT st r ParseError ()
+forall (st :: ZeroBitType) r. Parser st r ()
+colon ParseError
+"expected colon (:)"
+
+-- | Parse a hexadecimal number into an Int
+-- Supports both uppercase and lowercase hex digits
+hexnumber :: Parser st r Int
+hexnumber :: forall (st :: ZeroBitType) r. Parser st r Int
+hexnumber = do
+  (Int
+p, Int
+n) <- (Int -> (Int, Int) -> (Int, Int))
+-> Parser st r Int
+-> ParserT st r ParseError (Int, Int)
+-> ParserT st r ParseError (Int, Int)
+forall a b (st :: ZeroBitType) r e.
+(a -> b -> b)
+-> ParserT st r e a -> ParserT st r e b -> ParserT st r e b
+chainr Int -> (Int, Int) -> (Int, Int)
+forall {b}. Num b => b -> (b, b) -> (b, b)
+f Parser st r Int
+forall {st :: ZeroBitType} {r} {e}. ParserT st r e Int
+digit ((Int, Int) -> ParserT st r ParseError (Int, Int)
+forall a. a -> ParserT st r ParseError a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure (Int
+1, Int
+0))
+  Bool -> ParserT st r ParseError ()
+forall (f :: * -> *). Alternative f => Bool -> f ()
+guard (Int
+p Int -> Int -> Bool
+forall a. Eq a => a -> a -> Bool
+/= Int
+1)
+  Int -> Parser st r Int
+forall a. a -> ParserT st r ParseError a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure Int
+n
+  where
+    f :: b -> (b, b) -> (b, b)
+f b
+n (!b
+place, !b
+a) = (b
+place b -> b -> b
+forall a. Num a => a -> a -> a
+* b
+16, b
+a b -> b -> b
+forall a. Num a => a -> a -> a
++ b
+place b -> b -> b
+forall a. Num a => a -> a -> a
+* b
+n)
+    digit :: ParserT st r e Int
+digit =
+      (Char -> Bool) -> ParserT st r e Char
+forall (st :: ZeroBitType) r e.
+(Char -> Bool) -> ParserT st r e Char
+satisfyAscii Char -> Bool
+d ParserT st r e Char -> (Char -> Int) -> ParserT st r e Int
+forall (f :: * -> *) a b. Functor f => f a -> (a -> b) -> f b
+<&> \case
+        Char
+c | Char
+'0' Char -> Char -> Bool
+forall a. Ord a => a -> a -> Bool
+<= Char
+c Bool -> Bool -> Bool
+&& Char
+c Char -> Char -> Bool
+forall a. Ord a => a -> a -> Bool
+<= Char
+'9' -> Char -> Int
+ord Char
+c Int -> Int -> Int
+forall a. Num a => a -> a -> a
+- Char -> Int
+ord Char
+'0'
+        Char
+c | Char
+'A' Char -> Char -> Bool
+forall a. Ord a => a -> a -> Bool
+<= Char
+c Bool -> Bool -> Bool
+&& Char
+c Char -> Char -> Bool
+forall a. Ord a => a -> a -> Bool
+<= Char
+'F' -> Char -> Int
+ord Char
+c Int -> Int -> Int
+forall a. Num a => a -> a -> a
+- Char -> Int
+ord Char
+'A'
+        Char
+c | Char
+'a' Char -> Char -> Bool
+forall a. Ord a => a -> a -> Bool
+<= Char
+c Bool -> Bool -> Bool
+&& Char
+c Char -> Char -> Bool
+forall a. Ord a => a -> a -> Bool
+<= Char
+'f' -> Char -> Int
+ord Char
+c Int -> Int -> Int
+forall a. Num a => a -> a -> a
+- Char -> Int
+ord Char
+'a'
+        Char
+_ -> [Char] -> Int
+forall a. HasCallStack => [Char] -> a
+error [Char]
+"hexnumber/digit: impossible"
+    d :: Char -> Bool
+d = (Bool -> Bool -> Bool)
+-> (Char -> Bool) -> (Char -> Bool) -> Char -> Bool
+forall a b c.
+(a -> b -> c) -> (Char -> a) -> (Char -> b) -> Char -> c
+forall (f :: * -> *) a b c.
+Applicative f =>
+(a -> b -> c) -> f a -> f b -> f c
+liftA2 Bool -> Bool -> Bool
+(||) Char -> Bool
+isDigit ((Char -> [Char] -> Bool) -> [Char] -> Char -> Bool
+forall a b c. (a -> b -> c) -> b -> a -> c
+flip (forall (t :: * -> *) a. (Foldable t, Eq a) => a -> t a -> Bool
+elem @[]) [Char]
+"ABCDEFabcdef")
+
+-- | Parse a valid identifier
+-- First char must be letter, underscore or quote
+-- Later chars can also include dots and digits
+ident :: Parser st r String
+ident :: forall (st :: ZeroBitType) r. Parser st r [Char]
+ident =
+  (Char -> [Char] -> [Char])
+-> ParserT st r ParseError Char
+-> ParserT st r ParseError [Char]
+-> ParserT st r ParseError [Char]
+forall a b c.
+(a -> b -> c)
+-> ParserT st r ParseError a
+-> ParserT st r ParseError b
+-> ParserT st r ParseError c
+forall (f :: * -> *) a b c.
+Applicative f =>
+(a -> b -> c) -> f a -> f b -> f c
+liftA2
+    (:)
+    do (Char -> Bool) -> ParserT st r ParseError Char
+forall (st :: ZeroBitType) r e.
+(Char -> Bool) -> ParserT st r e Char
+satisfyAscii Char -> Bool
+firstchar
+    do ParserT st r ParseError Char -> ParserT st r ParseError [Char]
+forall a. ParserT st r ParseError a -> ParserT st r ParseError [a]
+forall (f :: * -> *) a. Alternative f => f a -> f [a]
+many ((Char -> Bool) -> ParserT st r ParseError Char
+forall (st :: ZeroBitType) r e.
+(Char -> Bool) -> ParserT st r e Char
+satisfyAscii Char -> Bool
+laterchar)
+  where
+    liftany :: [b -> Bool] -> b -> Bool
+liftany = forall (t :: * -> *) a b.
+Foldable t =>
+(a -> b -> b) -> b -> t a -> b
+foldr @[] ((Bool -> Bool -> Bool) -> (b -> Bool) -> (b -> Bool) -> b -> Bool
+forall a b c. (a -> b -> c) -> (b -> a) -> (b -> b) -> b -> c
+forall (f :: * -> *) a b c.
+Applicative f =>
+(a -> b -> c) -> f a -> f b -> f c
+liftA2 Bool -> Bool -> Bool
+(||)) (Bool -> b -> Bool
+forall a b. a -> b -> a
+const Bool
+False)
+    firstchar :: Char -> Bool
+firstchar = [Char -> Bool] -> Char -> Bool
+forall {b}. [b -> Bool] -> b -> Bool
+liftany [(Char -> Char -> Bool
+forall a. Eq a => a -> a -> Bool
+== Char
+'\''), (Char -> Char -> Bool
+forall a. Eq a => a -> a -> Bool
+== Char
+'_'), Item [Char -> Bool]
+Char -> Bool
+isLetter]
+    laterchar :: Char -> Bool
+laterchar = [Char -> Bool] -> Char -> Bool
+forall {b}. [b -> Bool] -> b -> Bool
+liftany [(Char -> Char -> Bool
+forall a. Eq a => a -> a -> Bool
+== Char
+'.'), (Char -> Char -> Bool
+forall a. Eq a => a -> a -> Bool
+== Char
+'_'), (Char -> Char -> Bool
+forall a. Eq a => a -> a -> Bool
+== Char
+'\''), Item [Char -> Bool]
+Char -> Bool
+isDigit, Item [Char -> Bool]
+Char -> Bool
+isLetter]
+
+-- | Parse an identifier with error reporting
+ident' :: Parser st r String
+ident' :: forall (st :: ZeroBitType) r. Parser st r [Char]
+ident' = ParserT st r ParseError [Char]
+-> ParseError -> ParserT st r ParseError [Char]
+forall (st :: ZeroBitType) r e a.
+ParserT st r e a -> e -> ParserT st r e a
+cut ParserT st r ParseError [Char]
+forall (st :: ZeroBitType) r. Parser st r [Char]
+ident ParseError
+"expected an identifier"
+
+-- | Skip a line comment starting with --
+linecomment :: Parser st r ()
+linecomment :: forall (st :: ZeroBitType) r. Parser st r ()
+linecomment =
+  ParserT st r ParseError Word8
+-> (Word8 -> ParserT st r ParseError ())
+-> ParserT st r ParseError ()
+-> ParserT st r ParseError ()
+forall (st :: ZeroBitType) r e a ret.
+ParserT st r e a
+-> (a -> ParserT st r e ret)
+-> ParserT st r e ret
+-> ParserT st r e ret
+withOption
+    ParserT st r ParseError Word8
+forall (st :: ZeroBitType) r e. ParserT st r e Word8
+anyWord8
+    (\case Word8
+10 -> ParserT st r ParseError ()
+forall (st :: ZeroBitType) r. Parser st r ()
+ws; Word8
+_ -> ParserT st r ParseError ()
+forall (st :: ZeroBitType) r. Parser st r ()
+linecomment)
+    (() -> ParserT st r ParseError ()
+forall a. a -> ParserT st r ParseError a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure ())
+
+-- | Skip a multi-line comment between {- and -}
+-- Handles nested comments correctly
+multilinecomment :: Parser st r ()
+multilinecomment :: forall (st :: ZeroBitType) r. Parser st r ()
+multilinecomment =
+  (Int
+1 :: Int) Int -> (Int -> Parser st r ()) -> Parser st r ()
+forall a b. a -> (a -> b) -> b
+& ((Int -> Parser st r ()) -> Int -> Parser st r ())
+-> Int -> Parser st r ()
+forall a. (a -> a) -> a
+fix \Int -> Parser st r ()
+f -> \case
+    Int
+0 -> Parser st r ()
+forall (st :: ZeroBitType) r. Parser st r ()
+ws
+    Int
+n ->
+      $( switch
+           [|
+             case _ of
+               "-}" -> f (n - 1)
+               "{-" -> f (n + 1)
+               _ -> branch anyWord8 (f n) (pure ())
+             |]
+       )
+
+-- | Skip whitespace and comments
+ws :: Parser st r ()
+ws :: forall (st :: ZeroBitType) r. Parser st r ()
+ws =
+  $( switch
+       [|
+         case _ of
+           " " -> ws
+           "\n" -> ws
+           "\t" -> ws
+           "\r" -> ws
+           "--" -> linecomment
+           "{-" -> multilinecomment
+           _ -> pure ()
+         |]
+   )
+
+-- | Skip to end of current line
+skipline :: Parser st r ()
+skipline :: forall (st :: ZeroBitType) r. Parser st r ()
+skipline = ParserT st r ParseError Word8
+-> ParserT st r ParseError () -> ParserT st r ParseError ()
+forall (m :: * -> *) a end. Alternative m => m a -> m end -> m end
+skipManyTill ParserT st r ParseError Word8
+forall (st :: ZeroBitType) r e. ParserT st r e Word8
+anyWord8 (ParserT st r ParseError ()
+forall (st :: ZeroBitType) r e. ParserT st r e ()
+eof ParserT st r ParseError ()
+-> ParserT st r ParseError () -> ParserT st r ParseError ()
+forall (st :: ZeroBitType) r e a.
+ParserT st r e a -> ParserT st r e a -> ParserT st r e a
+<|> (Char -> Bool) -> ParserT st r ParseError ()
+forall (st :: ZeroBitType) r e. (Char -> Bool) -> ParserT st r e ()
+skipSatisfyAscii (Char -> Char -> Bool
+forall a. Eq a => a -> a -> Bool
+== Char
+'\n'))
+
+-- | Parse a single packet definition line
+-- Format: <name>:<recv code>:<send code>
+line :: Parser st r S
+line :: forall (st :: ZeroBitType) r. Parser st r S
+line = do
+  [Char]
+sna <- Parser st r ()
+forall (st :: ZeroBitType) r. Parser st r ()
+ws Parser st r ()
+-> ParserT st r ParseError [Char] -> ParserT st r ParseError [Char]
+forall a b.
+ParserT st r ParseError a
+-> ParserT st r ParseError b -> ParserT st r ParseError b
+forall (f :: * -> *) a b. Applicative f => f a -> f b -> f b
+*> ParserT st r ParseError [Char]
+forall (st :: ZeroBitType) r. Parser st r [Char]
+ident' ParserT st r ParseError [Char]
+-> Parser st r () -> ParserT st r ParseError [Char]
+forall a b.
+ParserT st r ParseError a
+-> ParserT st r ParseError b -> ParserT st r ParseError a
+forall (f :: * -> *) a b. Applicative f => f a -> f b -> f a
+<* Parser st r ()
+forall (st :: ZeroBitType) r. Parser st r ()
+colon'
+  Maybe Int
+recv <- Parser st r ()
+forall (st :: ZeroBitType) r. Parser st r ()
+ws Parser st r ()
+-> ParserT st r ParseError (Maybe Int)
+-> ParserT st r ParseError (Maybe Int)
+forall a b.
+ParserT st r ParseError a
+-> ParserT st r ParseError b -> ParserT st r ParseError b
+forall (f :: * -> *) a b. Applicative f => f a -> f b -> f b
+*> ParserT st r ParseError Int -> ParserT st r ParseError (Maybe Int)
+forall (st :: ZeroBitType) r e a.
+ParserT st r e a -> ParserT st r e (Maybe a)
+optional ParserT st r ParseError Int
+forall (st :: ZeroBitType) r. Parser st r Int
+hexnumber ParserT st r ParseError (Maybe Int)
+-> Parser st r () -> ParserT st r ParseError (Maybe Int)
+forall a b.
+ParserT st r ParseError a
+-> ParserT st r ParseError b -> ParserT st r ParseError a
+forall (f :: * -> *) a b. Applicative f => f a -> f b -> f a
+<* Parser st r ()
+forall (st :: ZeroBitType) r. Parser st r ()
+colon'
+  Maybe Int
+send <- Parser st r ()
+forall (st :: ZeroBitType) r. Parser st r ()
+ws Parser st r ()
+-> ParserT st r ParseError (Maybe Int)
+-> ParserT st r ParseError (Maybe Int)
+forall a b.
+ParserT st r ParseError a
+-> ParserT st r ParseError b -> ParserT st r ParseError b
+forall (f :: * -> *) a b. Applicative f => f a -> f b -> f b
+*> ParserT st r ParseError Int -> ParserT st r ParseError (Maybe Int)
+forall (st :: ZeroBitType) r e a.
+ParserT st r e a -> ParserT st r e (Maybe a)
+optional ParserT st r ParseError Int
+forall (st :: ZeroBitType) r. Parser st r Int
+hexnumber ParserT st r ParseError (Maybe Int)
+-> Parser st r () -> ParserT st r ParseError (Maybe Int)
+forall a b.
+ParserT st r ParseError a
+-> ParserT st r ParseError b -> ParserT st r ParseError a
+forall (f :: * -> *) a b. Applicative f => f a -> f b -> f a
+<* Parser st r ()
+forall (st :: ZeroBitType) r. Parser st r ()
+skipline
+  S -> Parser st r S
+forall a. a -> ParserT st r ParseError a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure S {[Char]
+Maybe Int
+sna :: [Char]
+recv :: Maybe Int
+send :: Maybe Int
+sna :: [Char]
+recv :: Maybe Int
+send :: Maybe Int
+..}
+
+-- | Parse the complete grammar document
+-- First line contains state name
+-- Remaining lines contain packet definitions
+doc :: Parser st r (Name, [S])
+doc :: forall (st :: ZeroBitType) r. Parser st r (Name, [S])
+doc = do
+  -- name of the pair
+  Name
+n <- [Char] -> Name
+mkName ([Char] -> Name)
+-> ParserT st r ParseError [Char] -> ParserT st r ParseError Name
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> (Parser st r ()
+forall (st :: ZeroBitType) r. Parser st r ()
+ws Parser st r ()
+-> ParserT st r ParseError [Char] -> ParserT st r ParseError [Char]
+forall a b.
+ParserT st r ParseError a
+-> ParserT st r ParseError b -> ParserT st r ParseError b
+forall (f :: * -> *) a b. Applicative f => f a -> f b -> f b
+*> ParserT st r ParseError [Char]
+forall (st :: ZeroBitType) r. Parser st r [Char]
+ident')
+  -- body
+  [S]
+m <- ParserT st r ParseError S
+-> Parser st r () -> ParserT st r ParseError [S]
+forall (m :: * -> *) a end. Alternative m => m a -> m end -> m [a]
+manyTill (ParserT st r ParseError S
+forall (st :: ZeroBitType) r. Parser st r S
+line ParserT st r ParseError S
+-> Parser st r () -> ParserT st r ParseError S
+forall a b.
+ParserT st r ParseError a
+-> ParserT st r ParseError b -> ParserT st r ParseError a
+forall (f :: * -> *) a b. Applicative f => f a -> f b -> f a
+<* Parser st r ()
+forall (st :: ZeroBitType) r. Parser st r ()
+ws) Parser st r ()
+forall (st :: ZeroBitType) r e. ParserT st r e ()
+eof
+  (Name, [S]) -> Parser st r (Name, [S])
+forall a. a -> ParserT st r ParseError a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure (Name
+n, [S]
+m)
+
\ No newline at end of file diff --git a/src/M.IO.Tick.html b/src/M.IO.Tick.html new file mode 100644 index 0000000..10177e1 --- /dev/null +++ b/src/M.IO.Tick.html @@ -0,0 +1,106 @@ +
-- |
+-- Module: M.IO.Tick
+-- Description: Timing control for periodic operations
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- This module provides functionality for running actions at controlled intervals
+-- with adaptive timing adjustments.
+module M.IO.Tick
+  ( -- * Timing Control
+    tick,
+  )
+where
+
+import Control.Monad
+import Data.Functor
+import Effectful
+import Effectful.Concurrent
+import Effectful.Concurrent.STM
+import Effectful.State.Static.Local
+import GHC.Clock
+
+-- | Executes an action periodically with adaptive timing control.
+--
+-- The function ensures the action runs at a target frequency by adjusting
+-- delays between executions based on execution time.
+--
+-- @
+-- tick ratevar action    -- Runs \'action\' at frequency specified by rateVar (in Hz)
+-- @
+tick ::
+  (IOE :> es, Concurrent :> es) =>
+  -- | Target frequency in Hz (stored in 'TVar')
+  TVar Double ->
+  -- | Action to execute periodically
+  Eff es () ->
+  Eff es b
+tick :: forall (es :: [Effect]) b.
+(IOE :> es, Concurrent :> es) =>
+TVar Double -> Eff es () -> Eff es b
+tick TVar Double
+tr Eff es ()
+f = do
+  Double
+a <- IO Double -> Eff es Double
+forall a. IO a -> Eff es a
+forall (m :: * -> *) a. MonadIO m => IO a -> m a
+liftIO IO Double
+getMonotonicTime -- s
+  Double -> Eff (State Double : es) b -> Eff es b
+forall s (es :: [Effect]) a.
+HasCallStack =>
+s -> Eff (State s : es) a -> Eff es a
+evalState Double
+a do
+    Eff (State Double : es) () -> Eff (State Double : es) b
+forall (f :: * -> *) a b. Applicative f => f a -> f b
+forever do
+      Eff es () -> Eff (State Double : es) ()
+forall (es :: [Effect]) a (e :: Effect). Eff es a -> Eff (e : es) a
+raise Eff es ()
+f
+      Double
+t0 <- Eff (State Double : es) Double
+forall s (es :: [Effect]).
+(HasCallStack, State s :> es) =>
+Eff es s
+get
+      Double
+t1 <- IO Double -> Eff (State Double : es) Double
+forall a. IO a -> Eff (State Double : es) a
+forall (m :: * -> *) a. MonadIO m => IO a -> m a
+liftIO IO Double
+getMonotonicTime
+      Double
+wa <- TVar Double -> Eff (State Double : es) Double
+forall (es :: [Effect]) a. (Concurrent :> es) => TVar a -> Eff es a
+readTVarIO TVar Double
+tr Eff (State Double : es) Double
+-> (Double -> Double) -> Eff (State Double : es) Double
+forall (f :: * -> *) a b. Functor f => f a -> (a -> b) -> f b
+<&> \Double
+t -> Double -> Double -> Double
+forall a. Ord a => a -> a -> a
+max Double
+0 (Double -> Double
+forall a. Fractional a => a -> a
+recip Double
+t Double -> Double -> Double
+forall a. Num a => a -> a -> a
+- (Double
+t1 Double -> Double -> Double
+forall a. Num a => a -> a -> a
+- Double
+t0))
+      Int -> Eff (State Double : es) ()
+forall (es :: [Effect]). (Concurrent :> es) => Int -> Eff es ()
+threadDelay (Double -> Int
+forall b. Integral b => Double -> b
+forall a b. (RealFrac a, Integral b) => a -> b
+ceiling (Double
+1e6 Double -> Double -> Double
+forall a. Num a => a -> a -> a
+* Double
+wa)) -- 1e6 us = (1e6 us/s) * s = s
+
\ No newline at end of file diff --git a/src/M.IO.html b/src/M.IO.html new file mode 100644 index 0000000..bcd5185 --- /dev/null +++ b/src/M.IO.html @@ -0,0 +1,24 @@ +
-- |
+-- Module: M.IO
+-- Description: Core input/output operations for Minecraft protocol
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Provides high-level IO operations and types for handling Minecraft protocol
+-- connections, including socket management and data streaming.
+module M.IO
+  ( Connection (..),
+    Uninterpreted (..),
+    -- | define communication effects
+    module M.IO.Internal.EffectTypes,
+    withtalkingserver,
+    withtalkingclient,
+    withcxfromsocket,
+  )
+where
+
+import M.IO.Internal.Datagram
+import M.IO.Internal.EffectSocket
+import M.IO.Internal.EffectTypes
+import M.IO.Internal.Socket
+
\ No newline at end of file diff --git a/src/M.LEB.html b/src/M.LEB.html new file mode 100644 index 0000000..ed8dd27 --- /dev/null +++ b/src/M.LEB.html @@ -0,0 +1,690 @@ +
-- |
+-- Module: M.LEB
+-- Description: LEB128 encoding support for integers
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Implements LEB128 (Little-Endian Base 128) variable-length encoding
+-- for arbitrary finite-bit integers, used in the Minecraft protocol.
+module M.LEB (LEB (..), VarInt, VarLong, decodeleb, encodeleb) where
+
+import Control.DeepSeq
+import Control.Monad.Fix
+import Data.Bits
+import Data.ByteString.Builder (Builder)
+import Data.ByteString.Builder qualified as BB
+import Data.Data
+import Data.Function
+import Data.Hashable
+import Data.Int
+import Data.Word
+import GHC.Generics hiding (S)
+import Language.Haskell.TH.Syntax (Lift)
+
+-- | a LEB128 (unsigned) encoded integer. the integer itself may or
+-- may not be signed
+newtype LEB a = LEB {forall a. LEB a -> a
+getleb :: a}
+  deriving newtype
+    ( Int -> LEB a -> ShowS
+[LEB a] -> ShowS
+LEB a -> String
+(Int -> LEB a -> ShowS)
+-> (LEB a -> String) -> ([LEB a] -> ShowS) -> Show (LEB a)
+forall a. Show a => Int -> LEB a -> ShowS
+forall a. Show a => [LEB a] -> ShowS
+forall a. Show a => LEB a -> String
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: forall a. Show a => Int -> LEB a -> ShowS
+showsPrec :: Int -> LEB a -> ShowS
+$cshow :: forall a. Show a => LEB a -> String
+show :: LEB a -> String
+$cshowList :: forall a. Show a => [LEB a] -> ShowS
+showList :: [LEB a] -> ShowS
+Show,
+      ReadPrec [LEB a]
+ReadPrec (LEB a)
+Int -> ReadS (LEB a)
+ReadS [LEB a]
+(Int -> ReadS (LEB a))
+-> ReadS [LEB a]
+-> ReadPrec (LEB a)
+-> ReadPrec [LEB a]
+-> Read (LEB a)
+forall a. Read a => ReadPrec [LEB a]
+forall a. Read a => ReadPrec (LEB a)
+forall a. Read a => Int -> ReadS (LEB a)
+forall a. Read a => ReadS [LEB a]
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: forall a. Read a => Int -> ReadS (LEB a)
+readsPrec :: Int -> ReadS (LEB a)
+$creadList :: forall a. Read a => ReadS [LEB a]
+readList :: ReadS [LEB a]
+$creadPrec :: forall a. Read a => ReadPrec (LEB a)
+readPrec :: ReadPrec (LEB a)
+$creadListPrec :: forall a. Read a => ReadPrec [LEB a]
+readListPrec :: ReadPrec [LEB a]
+Read,
+      LEB a -> LEB a -> Bool
+(LEB a -> LEB a -> Bool) -> (LEB a -> LEB a -> Bool) -> Eq (LEB a)
+forall a. Eq a => LEB a -> LEB a -> Bool
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: forall a. Eq a => LEB a -> LEB a -> Bool
+== :: LEB a -> LEB a -> Bool
+$c/= :: forall a. Eq a => LEB a -> LEB a -> Bool
+/= :: LEB a -> LEB a -> Bool
+Eq,
+      Eq (LEB a)
+Eq (LEB a) =>
+(LEB a -> LEB a -> Ordering)
+-> (LEB a -> LEB a -> Bool)
+-> (LEB a -> LEB a -> Bool)
+-> (LEB a -> LEB a -> Bool)
+-> (LEB a -> LEB a -> Bool)
+-> (LEB a -> LEB a -> LEB a)
+-> (LEB a -> LEB a -> LEB a)
+-> Ord (LEB a)
+LEB a -> LEB a -> Bool
+LEB a -> LEB a -> Ordering
+LEB a -> LEB a -> LEB a
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+forall a. Ord a => Eq (LEB a)
+forall a. Ord a => LEB a -> LEB a -> Bool
+forall a. Ord a => LEB a -> LEB a -> Ordering
+forall a. Ord a => LEB a -> LEB a -> LEB a
+$ccompare :: forall a. Ord a => LEB a -> LEB a -> Ordering
+compare :: LEB a -> LEB a -> Ordering
+$c< :: forall a. Ord a => LEB a -> LEB a -> Bool
+< :: LEB a -> LEB a -> Bool
+$c<= :: forall a. Ord a => LEB a -> LEB a -> Bool
+<= :: LEB a -> LEB a -> Bool
+$c> :: forall a. Ord a => LEB a -> LEB a -> Bool
+> :: LEB a -> LEB a -> Bool
+$c>= :: forall a. Ord a => LEB a -> LEB a -> Bool
+>= :: LEB a -> LEB a -> Bool
+$cmax :: forall a. Ord a => LEB a -> LEB a -> LEB a
+max :: LEB a -> LEB a -> LEB a
+$cmin :: forall a. Ord a => LEB a -> LEB a -> LEB a
+min :: LEB a -> LEB a -> LEB a
+Ord,
+      Int -> LEB a
+LEB a -> Int
+LEB a -> [LEB a]
+LEB a -> LEB a
+LEB a -> LEB a -> [LEB a]
+LEB a -> LEB a -> LEB a -> [LEB a]
+(LEB a -> LEB a)
+-> (LEB a -> LEB a)
+-> (Int -> LEB a)
+-> (LEB a -> Int)
+-> (LEB a -> [LEB a])
+-> (LEB a -> LEB a -> [LEB a])
+-> (LEB a -> LEB a -> [LEB a])
+-> (LEB a -> LEB a -> LEB a -> [LEB a])
+-> Enum (LEB a)
+forall a. Enum a => Int -> LEB a
+forall a. Enum a => LEB a -> Int
+forall a. Enum a => LEB a -> [LEB a]
+forall a. Enum a => LEB a -> LEB a
+forall a. Enum a => LEB a -> LEB a -> [LEB a]
+forall a. Enum a => LEB a -> LEB a -> LEB a -> [LEB a]
+forall a.
+(a -> a)
+-> (a -> a)
+-> (Int -> a)
+-> (a -> Int)
+-> (a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> a -> [a])
+-> Enum a
+$csucc :: forall a. Enum a => LEB a -> LEB a
+succ :: LEB a -> LEB a
+$cpred :: forall a. Enum a => LEB a -> LEB a
+pred :: LEB a -> LEB a
+$ctoEnum :: forall a. Enum a => Int -> LEB a
+toEnum :: Int -> LEB a
+$cfromEnum :: forall a. Enum a => LEB a -> Int
+fromEnum :: LEB a -> Int
+$cenumFrom :: forall a. Enum a => LEB a -> [LEB a]
+enumFrom :: LEB a -> [LEB a]
+$cenumFromThen :: forall a. Enum a => LEB a -> LEB a -> [LEB a]
+enumFromThen :: LEB a -> LEB a -> [LEB a]
+$cenumFromTo :: forall a. Enum a => LEB a -> LEB a -> [LEB a]
+enumFromTo :: LEB a -> LEB a -> [LEB a]
+$cenumFromThenTo :: forall a. Enum a => LEB a -> LEB a -> LEB a -> [LEB a]
+enumFromThenTo :: LEB a -> LEB a -> LEB a -> [LEB a]
+Enum,
+      LEB a
+LEB a -> LEB a -> Bounded (LEB a)
+forall a. a -> a -> Bounded a
+forall a. Bounded a => LEB a
+$cminBound :: forall a. Bounded a => LEB a
+minBound :: LEB a
+$cmaxBound :: forall a. Bounded a => LEB a
+maxBound :: LEB a
+Bounded,
+      Integer -> LEB a
+LEB a -> LEB a
+LEB a -> LEB a -> LEB a
+(LEB a -> LEB a -> LEB a)
+-> (LEB a -> LEB a -> LEB a)
+-> (LEB a -> LEB a -> LEB a)
+-> (LEB a -> LEB a)
+-> (LEB a -> LEB a)
+-> (LEB a -> LEB a)
+-> (Integer -> LEB a)
+-> Num (LEB a)
+forall a. Num a => Integer -> LEB a
+forall a. Num a => LEB a -> LEB a
+forall a. Num a => LEB a -> LEB a -> LEB a
+forall a.
+(a -> a -> a)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> (a -> a)
+-> (a -> a)
+-> (a -> a)
+-> (Integer -> a)
+-> Num a
+$c+ :: forall a. Num a => LEB a -> LEB a -> LEB a
++ :: LEB a -> LEB a -> LEB a
+$c- :: forall a. Num a => LEB a -> LEB a -> LEB a
+- :: LEB a -> LEB a -> LEB a
+$c* :: forall a. Num a => LEB a -> LEB a -> LEB a
+* :: LEB a -> LEB a -> LEB a
+$cnegate :: forall a. Num a => LEB a -> LEB a
+negate :: LEB a -> LEB a
+$cabs :: forall a. Num a => LEB a -> LEB a
+abs :: LEB a -> LEB a
+$csignum :: forall a. Num a => LEB a -> LEB a
+signum :: LEB a -> LEB a
+$cfromInteger :: forall a. Num a => Integer -> LEB a
+fromInteger :: Integer -> LEB a
+Num,
+      Num (LEB a)
+Ord (LEB a)
+(Num (LEB a), Ord (LEB a)) => (LEB a -> Rational) -> Real (LEB a)
+LEB a -> Rational
+forall a. (Num a, Ord a) => (a -> Rational) -> Real a
+forall a. Real a => Num (LEB a)
+forall a. Real a => Ord (LEB a)
+forall a. Real a => LEB a -> Rational
+$ctoRational :: forall a. Real a => LEB a -> Rational
+toRational :: LEB a -> Rational
+Real,
+      Enum (LEB a)
+Real (LEB a)
+(Real (LEB a), Enum (LEB a)) =>
+(LEB a -> LEB a -> LEB a)
+-> (LEB a -> LEB a -> LEB a)
+-> (LEB a -> LEB a -> LEB a)
+-> (LEB a -> LEB a -> LEB a)
+-> (LEB a -> LEB a -> (LEB a, LEB a))
+-> (LEB a -> LEB a -> (LEB a, LEB a))
+-> (LEB a -> Integer)
+-> Integral (LEB a)
+LEB a -> Integer
+LEB a -> LEB a -> (LEB a, LEB a)
+LEB a -> LEB a -> LEB a
+forall a. Integral a => Enum (LEB a)
+forall a. Integral a => Real (LEB a)
+forall a. Integral a => LEB a -> Integer
+forall a. Integral a => LEB a -> LEB a -> (LEB a, LEB a)
+forall a. Integral a => LEB a -> LEB a -> LEB a
+forall a.
+(Real a, Enum a) =>
+(a -> a -> a)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> (a -> a -> (a, a))
+-> (a -> a -> (a, a))
+-> (a -> Integer)
+-> Integral a
+$cquot :: forall a. Integral a => LEB a -> LEB a -> LEB a
+quot :: LEB a -> LEB a -> LEB a
+$crem :: forall a. Integral a => LEB a -> LEB a -> LEB a
+rem :: LEB a -> LEB a -> LEB a
+$cdiv :: forall a. Integral a => LEB a -> LEB a -> LEB a
+div :: LEB a -> LEB a -> LEB a
+$cmod :: forall a. Integral a => LEB a -> LEB a -> LEB a
+mod :: LEB a -> LEB a -> LEB a
+$cquotRem :: forall a. Integral a => LEB a -> LEB a -> (LEB a, LEB a)
+quotRem :: LEB a -> LEB a -> (LEB a, LEB a)
+$cdivMod :: forall a. Integral a => LEB a -> LEB a -> (LEB a, LEB a)
+divMod :: LEB a -> LEB a -> (LEB a, LEB a)
+$ctoInteger :: forall a. Integral a => LEB a -> Integer
+toInteger :: LEB a -> Integer
+Integral,
+      Eq (LEB a)
+Eq (LEB a) =>
+(Int -> LEB a -> Int) -> (LEB a -> Int) -> Hashable (LEB a)
+Int -> LEB a -> Int
+LEB a -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+forall a. Hashable a => Eq (LEB a)
+forall a. Hashable a => Int -> LEB a -> Int
+forall a. Hashable a => LEB a -> Int
+$chashWithSalt :: forall a. Hashable a => Int -> LEB a -> Int
+hashWithSalt :: Int -> LEB a -> Int
+$chash :: forall a. Hashable a => LEB a -> Int
+hash :: LEB a -> Int
+Hashable
+    )
+  deriving stock ((forall x. LEB a -> Rep (LEB a) x)
+-> (forall x. Rep (LEB a) x -> LEB a) -> Generic (LEB a)
+forall x. Rep (LEB a) x -> LEB a
+forall x. LEB a -> Rep (LEB a) x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+forall a x. Rep (LEB a) x -> LEB a
+forall a x. LEB a -> Rep (LEB a) x
+$cfrom :: forall a x. LEB a -> Rep (LEB a) x
+from :: forall x. LEB a -> Rep (LEB a) x
+$cto :: forall a x. Rep (LEB a) x -> LEB a
+to :: forall x. Rep (LEB a) x -> LEB a
+Generic, Typeable, Typeable (LEB a)
+Typeable (LEB a) =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> LEB a -> c (LEB a))
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c (LEB a))
+-> (LEB a -> Constr)
+-> (LEB a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c (LEB a)))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (LEB a)))
+-> ((forall b. Data b => b -> b) -> LEB a -> LEB a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LEB a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LEB a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> LEB a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> LEB a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> LEB a -> m (LEB a))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> LEB a -> m (LEB a))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> LEB a -> m (LEB a))
+-> Data (LEB a)
+LEB a -> Constr
+LEB a -> DataType
+(forall b. Data b => b -> b) -> LEB a -> LEB a
+forall a. Data a => Typeable (LEB a)
+forall a. Data a => LEB a -> Constr
+forall a. Data a => LEB a -> DataType
+forall a. Data a => (forall b. Data b => b -> b) -> LEB a -> LEB a
+forall a u.
+Data a =>
+Int -> (forall d. Data d => d -> u) -> LEB a -> u
+forall a u. Data a => (forall d. Data d => d -> u) -> LEB a -> [u]
+forall a r r'.
+Data a =>
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LEB a -> r
+forall a r r'.
+Data a =>
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LEB a -> r
+forall a (m :: * -> *).
+(Data a, Monad m) =>
+(forall d. Data d => d -> m d) -> LEB a -> m (LEB a)
+forall a (m :: * -> *).
+(Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d) -> LEB a -> m (LEB a)
+forall a (c :: * -> *).
+Data a =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (LEB a)
+forall a (c :: * -> *).
+Data a =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> LEB a -> c (LEB a)
+forall a (t :: * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (LEB a))
+forall a (t :: * -> * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (LEB a))
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> LEB a -> u
+forall u. (forall d. Data d => d -> u) -> LEB a -> [u]
+forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LEB a -> r
+forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LEB a -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> LEB a -> m (LEB a)
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> LEB a -> m (LEB a)
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (LEB a)
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> LEB a -> c (LEB a)
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (LEB a))
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (LEB a))
+$cgfoldl :: forall a (c :: * -> *).
+Data a =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> LEB a -> c (LEB a)
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> LEB a -> c (LEB a)
+$cgunfold :: forall a (c :: * -> *).
+Data a =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (LEB a)
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (LEB a)
+$ctoConstr :: forall a. Data a => LEB a -> Constr
+toConstr :: LEB a -> Constr
+$cdataTypeOf :: forall a. Data a => LEB a -> DataType
+dataTypeOf :: LEB a -> DataType
+$cdataCast1 :: forall a (t :: * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (LEB a))
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (LEB a))
+$cdataCast2 :: forall a (t :: * -> * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (LEB a))
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (LEB a))
+$cgmapT :: forall a. Data a => (forall b. Data b => b -> b) -> LEB a -> LEB a
+gmapT :: (forall b. Data b => b -> b) -> LEB a -> LEB a
+$cgmapQl :: forall a r r'.
+Data a =>
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LEB a -> r
+gmapQl :: forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LEB a -> r
+$cgmapQr :: forall a r r'.
+Data a =>
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LEB a -> r
+gmapQr :: forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LEB a -> r
+$cgmapQ :: forall a u. Data a => (forall d. Data d => d -> u) -> LEB a -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> LEB a -> [u]
+$cgmapQi :: forall a u.
+Data a =>
+Int -> (forall d. Data d => d -> u) -> LEB a -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> LEB a -> u
+$cgmapM :: forall a (m :: * -> *).
+(Data a, Monad m) =>
+(forall d. Data d => d -> m d) -> LEB a -> m (LEB a)
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> LEB a -> m (LEB a)
+$cgmapMp :: forall a (m :: * -> *).
+(Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d) -> LEB a -> m (LEB a)
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> LEB a -> m (LEB a)
+$cgmapMo :: forall a (m :: * -> *).
+(Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d) -> LEB a -> m (LEB a)
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> LEB a -> m (LEB a)
+Data, (forall a b. (a -> b) -> LEB a -> LEB b)
+-> (forall a b. a -> LEB b -> LEB a) -> Functor LEB
+forall a b. a -> LEB b -> LEB a
+forall a b. (a -> b) -> LEB a -> LEB b
+forall (f :: * -> *).
+(forall a b. (a -> b) -> f a -> f b)
+-> (forall a b. a -> f b -> f a) -> Functor f
+$cfmap :: forall a b. (a -> b) -> LEB a -> LEB b
+fmap :: forall a b. (a -> b) -> LEB a -> LEB b
+$c<$ :: forall a b. a -> LEB b -> LEB a
+<$ :: forall a b. a -> LEB b -> LEB a
+Functor, (forall (m :: * -> *). Quote m => LEB a -> m Exp)
+-> (forall (m :: * -> *). Quote m => LEB a -> Code m (LEB a))
+-> Lift (LEB a)
+forall a (m :: * -> *). (Lift a, Quote m) => LEB a -> m Exp
+forall a (m :: * -> *).
+(Lift a, Quote m) =>
+LEB a -> Code m (LEB a)
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => LEB a -> m Exp
+forall (m :: * -> *). Quote m => LEB a -> Code m (LEB a)
+$clift :: forall a (m :: * -> *). (Lift a, Quote m) => LEB a -> m Exp
+lift :: forall (m :: * -> *). Quote m => LEB a -> m Exp
+$cliftTyped :: forall a (m :: * -> *).
+(Lift a, Quote m) =>
+LEB a -> Code m (LEB a)
+liftTyped :: forall (m :: * -> *). Quote m => LEB a -> Code m (LEB a)
+Lift)
+  deriving anyclass (LEB a -> ()
+(LEB a -> ()) -> NFData (LEB a)
+forall a. NFData a => LEB a -> ()
+forall a. (a -> ()) -> NFData a
+$crnf :: forall a. NFData a => LEB a -> ()
+rnf :: LEB a -> ()
+NFData)
+
+-- | VarInt
+type VarInt = LEB Int32
+
+-- | VarLong
+type VarLong = LEB Int64
+
+-- internal state
+data S a = S !Int !a -- shift, accumulator
+
+-- | decode an unsigned LEB128 encoded integer
+--
+-- the actual integer may or may not be signed; the encoding itself is
+-- \"unsigned\"
+decodeleb ::
+  forall m a.
+  (Monad m, FiniteBits a, Num a) =>
+  -- | accept any 'Word8' value
+  m Word8 ->
+  -- | LEB128 encoded integer
+  m (LEB a)
+decodeleb :: forall (m :: * -> *) a.
+(Monad m, FiniteBits a, Num a) =>
+m Word8 -> m (LEB a)
+decodeleb m Word8
+word8 =
+  Int -> a -> S a
+forall a. Int -> a -> S a
+S Int
+0 a
+0 S a -> (S a -> m (LEB a)) -> m (LEB a)
+forall a b. a -> (a -> b) -> b
+& ((S a -> m (LEB a)) -> S a -> m (LEB a)) -> S a -> m (LEB a)
+forall a. (a -> a) -> a
+fix \S a -> m (LEB a)
+f -> \case
+    S Int
+s a
+n | Int
+s Int -> Int -> Bool
+forall a. Ord a => a -> a -> Bool
+>= a -> Int
+forall b. FiniteBits b => b -> Int
+finiteBitSize (a
+forall a. HasCallStack => a
+undefined :: a) -> LEB a -> m (LEB a)
+forall a. a -> m a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure (a -> LEB a
+forall a. a -> LEB a
+LEB a
+n)
+    S Int
+s a
+n -> do
+      Word8
+c <- m Word8
+word8
+      let d :: a
+d = a
+n a -> a -> a
+forall a. Bits a => a -> a -> a
+.|. a -> Int -> a
+forall a. Bits a => a -> Int -> a
+shift (a -> Int -> a
+forall a. Bits a => a -> Int -> a
+clearBit (Word8 -> a
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral Word8
+c) Int
+7) Int
+s
+      if Word8 -> Int -> Bool
+forall a. Bits a => a -> Int -> Bool
+testBit Word8
+c Int
+7
+        then S a -> m (LEB a)
+f (Int -> a -> S a
+forall a. Int -> a -> S a
+S (Int
+s Int -> Int -> Int
+forall a. Num a => a -> a -> a
++ Int
+7) a
+d)
+        else LEB a -> m (LEB a)
+forall a. a -> m a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure (a -> LEB a
+forall a. a -> LEB a
+LEB a
+d)
+{-# INLINEABLE decodeleb #-}
+
+-- | encode an LEB128 encoded integer into a 'Builder'
+encodeleb :: (FiniteBits a, Integral a) => LEB a -> Builder
+encodeleb :: forall a. (FiniteBits a, Integral a) => LEB a -> Builder
+encodeleb (LEB a
+n) =
+  let m :: a
+m = a -> a
+forall a. Bits a => a -> a
+complement (a
+0x7f a -> Int -> a
+forall a. Bits a => a -> Int -> a
+`rotate` (-Int
+7))
+      l :: Word8
+l = Word8 -> Int -> Word8
+forall a. Bits a => a -> Int -> a
+clearBit (a -> Word8
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral a
+n) Int
+7
+      r :: a
+r = a -> Int -> a
+forall a. Bits a => a -> Int -> a
+shift a
+n (-Int
+7) a -> a -> a
+forall a. Bits a => a -> a -> a
+.&. a
+m -- force unsigned shift
+      (Word8
+o, Builder
+next)
+        | a
+n a -> a -> a
+forall a. Bits a => a -> a -> a
+.&. a -> a
+forall a. Bits a => a -> a
+complement a
+0x7f a -> a -> Bool
+forall a. Eq a => a -> a -> Bool
+/= a
+0 = (Word8 -> Int -> Word8
+forall a. Bits a => a -> Int -> a
+setBit Word8
+l Int
+7, LEB a -> Builder
+forall a. (FiniteBits a, Integral a) => LEB a -> Builder
+encodeleb (a -> LEB a
+forall a. a -> LEB a
+LEB a
+r))
+        | Bool
+otherwise = (Word8
+l, Builder
+forall a. Monoid a => a
+mempty)
+   in Word8 -> Builder
+BB.word8 Word8
+o Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> Builder
+next
+{-# INLINEABLE encodeleb #-}
+{-# SPECIALIZE encodeleb :: LEB Int32 -> Builder #-}
+{-# SPECIALIZE encodeleb :: LEB Int64 -> Builder #-}
+
\ No newline at end of file diff --git a/src/M.Misc.html b/src/M.Misc.html new file mode 100644 index 0000000..8561e6e --- /dev/null +++ b/src/M.Misc.html @@ -0,0 +1,371 @@ +
-- |
+-- Module: M.Misc
+-- Description: Common miscellaneous types for Minecraft protocol
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Defines common types used across the Minecraft protocol implementation,
+-- including teleportation flags and sound events.
+module M.Misc (TeleportFlags (..), SoundEvent (..)) where
+
+import Control.DeepSeq
+import Data.Bits
+import Data.Data
+import Data.Hashable
+import Data.Serde.QQ
+import Data.Text (Text)
+import GHC.Generics
+import Language.Haskell.TH.Syntax (Lift)
+import M.Pack
+
+-- | flags for teleporting an entity
+--
+-- 16+ bits
+data TeleportFlags = TeleportFlags
+  { TeleportFlags -> Bool
+tprelx :: Bool,
+    TeleportFlags -> Bool
+tprely :: Bool,
+    TeleportFlags -> Bool
+tprelz :: Bool,
+    TeleportFlags -> Bool
+tprelyaw :: Bool,
+    TeleportFlags -> Bool
+tprelpitch :: Bool,
+    TeleportFlags -> Bool
+tprelvelx :: Bool,
+    TeleportFlags -> Bool
+tprelvely :: Bool,
+    TeleportFlags -> Bool
+tprelvelz :: Bool,
+    TeleportFlags -> Bool
+tprelvelyaw :: Bool,
+    -- | from The Minecraft Wiki: \"Rotate velocity according to the change in
+    -- rotation, before applying the velocity change in this packet. Combining
+    -- this with absolute rotation works as expected—the difference in rotation
+    -- is still used.\"
+    TeleportFlags -> Bool
+tprotvelfirst :: Bool
+  }
+  deriving stock (TeleportFlags -> TeleportFlags -> Bool
+(TeleportFlags -> TeleportFlags -> Bool)
+-> (TeleportFlags -> TeleportFlags -> Bool) -> Eq TeleportFlags
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: TeleportFlags -> TeleportFlags -> Bool
+== :: TeleportFlags -> TeleportFlags -> Bool
+$c/= :: TeleportFlags -> TeleportFlags -> Bool
+/= :: TeleportFlags -> TeleportFlags -> Bool
+Eq, Eq TeleportFlags
+Eq TeleportFlags =>
+(TeleportFlags -> TeleportFlags -> Ordering)
+-> (TeleportFlags -> TeleportFlags -> Bool)
+-> (TeleportFlags -> TeleportFlags -> Bool)
+-> (TeleportFlags -> TeleportFlags -> Bool)
+-> (TeleportFlags -> TeleportFlags -> Bool)
+-> (TeleportFlags -> TeleportFlags -> TeleportFlags)
+-> (TeleportFlags -> TeleportFlags -> TeleportFlags)
+-> Ord TeleportFlags
+TeleportFlags -> TeleportFlags -> Bool
+TeleportFlags -> TeleportFlags -> Ordering
+TeleportFlags -> TeleportFlags -> TeleportFlags
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: TeleportFlags -> TeleportFlags -> Ordering
+compare :: TeleportFlags -> TeleportFlags -> Ordering
+$c< :: TeleportFlags -> TeleportFlags -> Bool
+< :: TeleportFlags -> TeleportFlags -> Bool
+$c<= :: TeleportFlags -> TeleportFlags -> Bool
+<= :: TeleportFlags -> TeleportFlags -> Bool
+$c> :: TeleportFlags -> TeleportFlags -> Bool
+> :: TeleportFlags -> TeleportFlags -> Bool
+$c>= :: TeleportFlags -> TeleportFlags -> Bool
+>= :: TeleportFlags -> TeleportFlags -> Bool
+$cmax :: TeleportFlags -> TeleportFlags -> TeleportFlags
+max :: TeleportFlags -> TeleportFlags -> TeleportFlags
+$cmin :: TeleportFlags -> TeleportFlags -> TeleportFlags
+min :: TeleportFlags -> TeleportFlags -> TeleportFlags
+Ord, Int -> TeleportFlags -> ShowS
+[TeleportFlags] -> ShowS
+TeleportFlags -> String
+(Int -> TeleportFlags -> ShowS)
+-> (TeleportFlags -> String)
+-> ([TeleportFlags] -> ShowS)
+-> Show TeleportFlags
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> TeleportFlags -> ShowS
+showsPrec :: Int -> TeleportFlags -> ShowS
+$cshow :: TeleportFlags -> String
+show :: TeleportFlags -> String
+$cshowList :: [TeleportFlags] -> ShowS
+showList :: [TeleportFlags] -> ShowS
+Show, ReadPrec [TeleportFlags]
+ReadPrec TeleportFlags
+Int -> ReadS TeleportFlags
+ReadS [TeleportFlags]
+(Int -> ReadS TeleportFlags)
+-> ReadS [TeleportFlags]
+-> ReadPrec TeleportFlags
+-> ReadPrec [TeleportFlags]
+-> Read TeleportFlags
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS TeleportFlags
+readsPrec :: Int -> ReadS TeleportFlags
+$creadList :: ReadS [TeleportFlags]
+readList :: ReadS [TeleportFlags]
+$creadPrec :: ReadPrec TeleportFlags
+readPrec :: ReadPrec TeleportFlags
+$creadListPrec :: ReadPrec [TeleportFlags]
+readListPrec :: ReadPrec [TeleportFlags]
+Read, (forall x. TeleportFlags -> Rep TeleportFlags x)
+-> (forall x. Rep TeleportFlags x -> TeleportFlags)
+-> Generic TeleportFlags
+forall x. Rep TeleportFlags x -> TeleportFlags
+forall x. TeleportFlags -> Rep TeleportFlags x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. TeleportFlags -> Rep TeleportFlags x
+from :: forall x. TeleportFlags -> Rep TeleportFlags x
+$cto :: forall x. Rep TeleportFlags x -> TeleportFlags
+to :: forall x. Rep TeleportFlags x -> TeleportFlags
+Generic, (forall (m :: * -> *). Quote m => TeleportFlags -> m Exp)
+-> (forall (m :: * -> *).
+    Quote m =>
+    TeleportFlags -> Code m TeleportFlags)
+-> Lift TeleportFlags
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => TeleportFlags -> m Exp
+forall (m :: * -> *).
+Quote m =>
+TeleportFlags -> Code m TeleportFlags
+$clift :: forall (m :: * -> *). Quote m => TeleportFlags -> m Exp
+lift :: forall (m :: * -> *). Quote m => TeleportFlags -> m Exp
+$cliftTyped :: forall (m :: * -> *).
+Quote m =>
+TeleportFlags -> Code m TeleportFlags
+liftTyped :: forall (m :: * -> *).
+Quote m =>
+TeleportFlags -> Code m TeleportFlags
+Lift, Typeable TeleportFlags
+Typeable TeleportFlags =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> TeleportFlags -> c TeleportFlags)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c TeleportFlags)
+-> (TeleportFlags -> Constr)
+-> (TeleportFlags -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c TeleportFlags))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c TeleportFlags))
+-> ((forall b. Data b => b -> b) -> TeleportFlags -> TeleportFlags)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> TeleportFlags -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> TeleportFlags -> r)
+-> (forall u. (forall d. Data d => d -> u) -> TeleportFlags -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> TeleportFlags -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> TeleportFlags -> m TeleportFlags)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> TeleportFlags -> m TeleportFlags)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> TeleportFlags -> m TeleportFlags)
+-> Data TeleportFlags
+TeleportFlags -> Constr
+TeleportFlags -> DataType
+(forall b. Data b => b -> b) -> TeleportFlags -> TeleportFlags
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> TeleportFlags -> u
+forall u. (forall d. Data d => d -> u) -> TeleportFlags -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> TeleportFlags -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> TeleportFlags -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> TeleportFlags -> m TeleportFlags
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> TeleportFlags -> m TeleportFlags
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c TeleportFlags
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> TeleportFlags -> c TeleportFlags
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c TeleportFlags)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c TeleportFlags)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> TeleportFlags -> c TeleportFlags
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> TeleportFlags -> c TeleportFlags
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c TeleportFlags
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c TeleportFlags
+$ctoConstr :: TeleportFlags -> Constr
+toConstr :: TeleportFlags -> Constr
+$cdataTypeOf :: TeleportFlags -> DataType
+dataTypeOf :: TeleportFlags -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c TeleportFlags)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c TeleportFlags)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c TeleportFlags)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c TeleportFlags)
+$cgmapT :: (forall b. Data b => b -> b) -> TeleportFlags -> TeleportFlags
+gmapT :: (forall b. Data b => b -> b) -> TeleportFlags -> TeleportFlags
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> TeleportFlags -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> TeleportFlags -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> TeleportFlags -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> TeleportFlags -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> TeleportFlags -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> TeleportFlags -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> TeleportFlags -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> TeleportFlags -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> TeleportFlags -> m TeleportFlags
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> TeleportFlags -> m TeleportFlags
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> TeleportFlags -> m TeleportFlags
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> TeleportFlags -> m TeleportFlags
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> TeleportFlags -> m TeleportFlags
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> TeleportFlags -> m TeleportFlags
+Data, Typeable)
+  deriving anyclass (Eq TeleportFlags
+Eq TeleportFlags =>
+(Int -> TeleportFlags -> Int)
+-> (TeleportFlags -> Int) -> Hashable TeleportFlags
+Int -> TeleportFlags -> Int
+TeleportFlags -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+$chashWithSalt :: Int -> TeleportFlags -> Int
+hashWithSalt :: Int -> TeleportFlags -> Int
+$chash :: TeleportFlags -> Int
+hash :: TeleportFlags -> Int
+Hashable, TeleportFlags -> ()
+(TeleportFlags -> ()) -> NFData TeleportFlags
+forall a. (a -> ()) -> NFData a
+$crnf :: TeleportFlags -> ()
+rnf :: TeleportFlags -> ()
+NFData)
+
+-- | do NOT use 8-bit packing for this type.
+-- use a type that is at least 16 bits wide
+instance (Bits i, Integral i, Pack i, Unpack i) => Bitreppable i TeleportFlags
+
+-- TODO for th-serde:
+--  support doc comments
+
+[serde|
+.derive
+  Show Read Lift Data Typeable
+
+data SoundEvent
+  soundname :: Text via Identifier
+  fixedrange :: Maybe Float
+  |]
+
+runusercoercion
+  borrowderivepackunpack
+  properderivepackunpack
+  [ ''Generic,
+    ''Hashable,
+    ''NFData,
+    ''Eq,
+    ''Ord
+  ]
+
\ No newline at end of file diff --git a/src/M.NBT.Internal.JS.html b/src/M.NBT.Internal.JS.html new file mode 100644 index 0000000..008b576 --- /dev/null +++ b/src/M.NBT.Internal.JS.html @@ -0,0 +1,1231 @@ +
-- |
+-- Module: M.NBT.Internal.JS
+-- Description: Java string encoding (CESU-8) support
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Implements Java's Modified UTF-8 (CESU-8) encoding and decoding for
+-- string handling in NBT format.
+--
+-- See: https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html#modified-utf-8
+module M.NBT.Internal.JS
+  ( JS (..),
+    textascesu8,
+    cesu8astext,
+    tocesu8,
+    tocesu8p,
+    fromcesu8,
+    fromcesu8p,
+  )
+where
+
+import Control.DeepSeq
+import Control.Exception
+import Control.Monad.Fix
+import Data.Bits
+import Data.ByteString (ByteString)
+import Data.ByteString qualified as B
+import Data.ByteString.Builder
+import Data.Data
+import Data.Function
+import Data.Functor
+import Data.Hashable
+import Data.String
+import Data.Text (Text)
+import Data.Text.Encoding (decodeUtf16LEWith, encodeUtf8)
+import Data.Text.Encoding.Error (UnicodeException (DecodeError))
+import Data.Word
+import FlatParse.Stateful qualified as F
+import GHC.Generics
+import Language.Haskell.TH.Syntax (Lift)
+import M.Pack
+import System.IO.Unsafe
+import Text.Printf
+
+-- | Java's CESU-8 encoding/decoding
+--
+-- this newtype is purely for modulation of encoding and decoding.
+-- it is not intended to be used directly in the public API
+--
+-- use 'textascesu8' and 'cesu8astext' to convert between 'Text'
+-- and 'ByteString'
+--
+-- see:
+--
+-- * https://en.wikipedia.org/wiki/UTF-8#CESU-8
+-- * https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/io/DataInput.html#modified-utf-8
+newtype JS = JS {JS -> Text
+getjs :: Text}
+  deriving stock ((forall x. JS -> Rep JS x)
+-> (forall x. Rep JS x -> JS) -> Generic JS
+forall x. Rep JS x -> JS
+forall x. JS -> Rep JS x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. JS -> Rep JS x
+from :: forall x. JS -> Rep JS x
+$cto :: forall x. Rep JS x -> JS
+to :: forall x. Rep JS x -> JS
+Generic, Typeable, Typeable JS
+Typeable JS =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> JS -> c JS)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c JS)
+-> (JS -> Constr)
+-> (JS -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c JS))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JS))
+-> ((forall b. Data b => b -> b) -> JS -> JS)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JS -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JS -> r)
+-> (forall u. (forall d. Data d => d -> u) -> JS -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> JS -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> JS -> m JS)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> JS -> m JS)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> JS -> m JS)
+-> Data JS
+JS -> Constr
+JS -> DataType
+(forall b. Data b => b -> b) -> JS -> JS
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> JS -> u
+forall u. (forall d. Data d => d -> u) -> JS -> [u]
+forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JS -> r
+forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JS -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> JS -> m JS
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> JS -> m JS
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c JS
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> JS -> c JS
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c JS)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JS)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> JS -> c JS
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> JS -> c JS
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c JS
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c JS
+$ctoConstr :: JS -> Constr
+toConstr :: JS -> Constr
+$cdataTypeOf :: JS -> DataType
+dataTypeOf :: JS -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c JS)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c JS)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JS)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JS)
+$cgmapT :: (forall b. Data b => b -> b) -> JS -> JS
+gmapT :: (forall b. Data b => b -> b) -> JS -> JS
+$cgmapQl :: forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JS -> r
+gmapQl :: forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JS -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JS -> r
+gmapQr :: forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JS -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> JS -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> JS -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> JS -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> JS -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> JS -> m JS
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> JS -> m JS
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> JS -> m JS
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> JS -> m JS
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> JS -> m JS
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> JS -> m JS
+Data, (forall (m :: * -> *). Quote m => JS -> m Exp)
+-> (forall (m :: * -> *). Quote m => JS -> Code m JS) -> Lift JS
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => JS -> m Exp
+forall (m :: * -> *). Quote m => JS -> Code m JS
+$clift :: forall (m :: * -> *). Quote m => JS -> m Exp
+lift :: forall (m :: * -> *). Quote m => JS -> m Exp
+$cliftTyped :: forall (m :: * -> *). Quote m => JS -> Code m JS
+liftTyped :: forall (m :: * -> *). Quote m => JS -> Code m JS
+Lift)
+  deriving newtype (JS -> JS -> Bool
+(JS -> JS -> Bool) -> (JS -> JS -> Bool) -> Eq JS
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: JS -> JS -> Bool
+== :: JS -> JS -> Bool
+$c/= :: JS -> JS -> Bool
+/= :: JS -> JS -> Bool
+Eq, Eq JS
+Eq JS =>
+(JS -> JS -> Ordering)
+-> (JS -> JS -> Bool)
+-> (JS -> JS -> Bool)
+-> (JS -> JS -> Bool)
+-> (JS -> JS -> Bool)
+-> (JS -> JS -> JS)
+-> (JS -> JS -> JS)
+-> Ord JS
+JS -> JS -> Bool
+JS -> JS -> Ordering
+JS -> JS -> JS
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: JS -> JS -> Ordering
+compare :: JS -> JS -> Ordering
+$c< :: JS -> JS -> Bool
+< :: JS -> JS -> Bool
+$c<= :: JS -> JS -> Bool
+<= :: JS -> JS -> Bool
+$c> :: JS -> JS -> Bool
+> :: JS -> JS -> Bool
+$c>= :: JS -> JS -> Bool
+>= :: JS -> JS -> Bool
+$cmax :: JS -> JS -> JS
+max :: JS -> JS -> JS
+$cmin :: JS -> JS -> JS
+min :: JS -> JS -> JS
+Ord, Int -> JS -> ShowS
+[JS] -> ShowS
+JS -> [Char]
+(Int -> JS -> ShowS)
+-> (JS -> [Char]) -> ([JS] -> ShowS) -> Show JS
+forall a.
+(Int -> a -> ShowS) -> (a -> [Char]) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> JS -> ShowS
+showsPrec :: Int -> JS -> ShowS
+$cshow :: JS -> [Char]
+show :: JS -> [Char]
+$cshowList :: [JS] -> ShowS
+showList :: [JS] -> ShowS
+Show, ReadPrec [JS]
+ReadPrec JS
+Int -> ReadS JS
+ReadS [JS]
+(Int -> ReadS JS)
+-> ReadS [JS] -> ReadPrec JS -> ReadPrec [JS] -> Read JS
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS JS
+readsPrec :: Int -> ReadS JS
+$creadList :: ReadS [JS]
+readList :: ReadS [JS]
+$creadPrec :: ReadPrec JS
+readPrec :: ReadPrec JS
+$creadListPrec :: ReadPrec [JS]
+readListPrec :: ReadPrec [JS]
+Read, Eq JS
+Eq JS => (Int -> JS -> Int) -> (JS -> Int) -> Hashable JS
+Int -> JS -> Int
+JS -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+$chashWithSalt :: Int -> JS -> Int
+hashWithSalt :: Int -> JS -> Int
+$chash :: JS -> Int
+hash :: JS -> Int
+Hashable, JS -> ()
+(JS -> ()) -> NFData JS
+forall a. (a -> ()) -> NFData a
+$crnf :: JS -> ()
+rnf :: JS -> ()
+NFData, [Char] -> JS
+([Char] -> JS) -> IsString JS
+forall a. ([Char] -> a) -> IsString a
+$cfromString :: [Char] -> JS
+fromString :: [Char] -> JS
+IsString)
+
+instance Pack JS where
+  pack :: JS -> Builder
+pack = ByteString -> Builder
+forall a. Pack a => a -> Builder
+pack (ByteString -> Builder) -> (JS -> ByteString) -> JS -> Builder
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. JS -> ByteString
+tocesu8
+  {-# INLINE pack #-}
+
+instance Unpack JS where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r JS
+unpack = Parser st r Int
+forall a (st :: ZeroBitType) r. Integral a => Parser st r a
+unpackleb32 Parser st r Int -> (Int -> Parser st r Int) -> Parser st r Int
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= [Char] -> Int -> Parser st r Int
+forall a (st :: ZeroBitType) r.
+(Num a, Ord a, Show a) =>
+[Char] -> a -> Parser st r a
+guardnat [Char]
+"JavaString" Parser st r Int
+-> (Int -> ParserT st r ParseError JS)
+-> ParserT st r ParseError JS
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= (Int -> ParserT st r ParseError JS -> ParserT st r ParseError JS
+forall (st :: ZeroBitType) r e a.
+Int -> ParserT st r e a -> ParserT st r e a
+`F.isolate` ParserT st r ParseError JS
+forall (st :: ZeroBitType) r. Parser st r JS
+fromcesu8p)
+  {-# INLINE unpack #-}
+
+-- | encode 'Text' into CESU-8 'ByteString'
+textascesu8 :: Text -> ByteString
+textascesu8 :: Text -> ByteString
+textascesu8 = JS -> ByteString
+tocesu8 (JS -> ByteString) -> (Text -> JS) -> Text -> ByteString
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Text -> JS
+JS
+{-# INLINE textascesu8 #-}
+
+-- | decode CESU-8 'ByteString' into 'Text'
+cesu8astext :: ByteString -> Maybe Text
+cesu8astext :: ByteString -> Maybe Text
+cesu8astext ByteString
+f = JS -> Text
+getjs (JS -> Text) -> Maybe JS -> Maybe Text
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ByteString -> Maybe JS
+fromcesu8 ByteString
+f
+{-# INLINE cesu8astext #-}
+
+-- real meat
+
+-- betwixt (between, inclusive)
+bxt :: (Ord a) => a -> a -> a -> Bool
+bxt :: forall a. Ord a => a -> a -> a -> Bool
+bxt a
+x a
+a a
+b = a
+a a -> a -> Bool
+forall a. Ord a => a -> a -> Bool
+<= a
+x Bool -> Bool -> Bool
+&& a
+x a -> a -> Bool
+forall a. Ord a => a -> a -> Bool
+<= a
+b
+{-# INLINE bxt #-}
+
+-- | encode text to CESU-8
+tocesu8 :: JS -> ByteString
+tocesu8 :: JS -> ByteString
+tocesu8 = LazyByteString -> ByteString
+B.toStrict (LazyByteString -> ByteString)
+-> (JS -> LazyByteString) -> JS -> ByteString
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Builder -> LazyByteString
+toLazyByteString (Builder -> LazyByteString)
+-> (JS -> Builder) -> JS -> LazyByteString
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. JS -> Builder
+tocesu8p
+{-# INLINEABLE tocesu8 #-}
+
+unp :: JS -> [Word8]
+unp :: JS -> [Word8]
+unp = ByteString -> [Word8]
+B.unpack (ByteString -> [Word8]) -> (JS -> ByteString) -> JS -> [Word8]
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Text -> ByteString
+encodeUtf8 (Text -> ByteString) -> (JS -> Text) -> JS -> ByteString
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. JS -> Text
+getjs
+{-# INLINE unp #-}
+
+-- | encode text to CESU-8 ('Builder' version)
+tocesu8p :: JS -> Builder
+tocesu8p :: JS -> Builder
+tocesu8p JS
+s0 =
+  JS -> [Word8]
+unp JS
+s0 [Word8] -> ([Word8] -> Builder) -> Builder
+forall a b. a -> (a -> b) -> b
+& (([Word8] -> Builder) -> [Word8] -> Builder) -> [Word8] -> Builder
+forall a. (a -> a) -> a
+fix \[Word8] -> Builder
+go -> \case
+    [] -> Builder
+forall a. Monoid a => a
+mempty
+    Word8
+0 : [Word8]
+xs -> Word8 -> Builder
+word8 Word8
+0xC0 Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> Word8 -> Builder
+word8 Word8
+0x80 Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> [Word8] -> Builder
+go [Word8]
+xs
+    Word8
+x : [Word8]
+xs | Word8 -> Word8 -> Word8 -> Bool
+forall a. Ord a => a -> a -> a -> Bool
+bxt Word8
+x Word8
+0x01 Word8
+0x7F -> Word8 -> Builder
+word8 Word8
+x Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> [Word8] -> Builder
+go [Word8]
+xs
+    Word8
+x : Word8
+y : [Word8]
+xs
+      | Word8 -> Word8 -> Word8 -> Bool
+forall a. Ord a => a -> a -> a -> Bool
+bxt Word8
+x Word8
+0xC0 Word8
+0xDF Bool -> Bool -> Bool
+&& Word8 -> Word8 -> Word8 -> Bool
+forall a. Ord a => a -> a -> a -> Bool
+bxt Word8
+y Word8
+0x80 Word8
+0xBF ->
+          Word8 -> Builder
+word8 Word8
+x Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> Word8 -> Builder
+word8 Word8
+y Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> [Word8] -> Builder
+go [Word8]
+xs
+    Word8
+x : Word8
+y : Word8
+z : [Word8]
+xs
+      | Word8 -> Word8 -> Word8 -> Bool
+forall a. Ord a => a -> a -> a -> Bool
+bxt Word8
+x Word8
+0xE0 Word8
+0xEF Bool -> Bool -> Bool
+&& Word8 -> Word8 -> Word8 -> Bool
+forall a. Ord a => a -> a -> a -> Bool
+bxt Word8
+y Word8
+0x80 Word8
+0xBF Bool -> Bool -> Bool
+&& Word8 -> Word8 -> Word8 -> Bool
+forall a. Ord a => a -> a -> a -> Bool
+bxt Word8
+z Word8
+0x80 Word8
+0xBF ->
+          Word8 -> Builder
+word8 Word8
+x Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> Word8 -> Builder
+word8 Word8
+y Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> Word8 -> Builder
+word8 Word8
+z Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> [Word8] -> Builder
+go [Word8]
+xs
+    Word8
+x : Word8
+y : Word8
+z : Word8
+w : [Word8]
+xs
+      | Word8 -> Word8 -> Word8 -> Bool
+forall a. Ord a => a -> a -> a -> Bool
+bxt Word8
+x Word8
+0xF0 Word8
+0xF4
+          Bool -> Bool -> Bool
+&& Word8 -> Word8 -> Word8 -> Bool
+forall a. Ord a => a -> a -> a -> Bool
+bxt Word8
+y Word8
+0x80 Word8
+0xBF
+          Bool -> Bool -> Bool
+&& Word8 -> Word8 -> Word8 -> Bool
+forall a. Ord a => a -> a -> a -> Bool
+bxt Word8
+z Word8
+0x80 Word8
+0xBF
+          Bool -> Bool -> Bool
+&& Word8 -> Word8 -> Word8 -> Bool
+forall a. Ord a => a -> a -> a -> Bool
+bxt Word8
+w Word8
+0x80 Word8
+0xBF ->
+          -- the 4-byte case is special because CESU-8 encodes
+          -- them as two UTF-16 surrogate pairs. this creates
+          -- 6 bytes of CESU-8 data
+          let fi :: (Integral a, Num b) => a -> b
+              fi :: forall a b. (Integral a, Num b) => a -> b
+fi = a -> b
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral
+              (Word32
+h, Word32
+l) =
+                let co :: Word32
+co =
+                      Word32 -> Word32 -> Word32
+forall a. Num a => a -> a -> a
+subtract Word32
+0x10000 (Word32 -> Word32) -> Word32 -> Word32
+forall a b. (a -> b) -> a -> b
+$
+                        ((Word8 -> Word32
+forall a b. (Integral a, Num b) => a -> b
+fi Word8
+x Word32 -> Word32 -> Word32
+forall a. Bits a => a -> a -> a
+.&. Word32
+0x07) Word32 -> Int -> Word32
+forall a. Bits a => a -> Int -> a
+.<<. Int
+18)
+                          Word32 -> Word32 -> Word32
+forall a. Bits a => a -> a -> a
+.|. ((Word8 -> Word32
+forall a b. (Integral a, Num b) => a -> b
+fi Word8
+y Word32 -> Word32 -> Word32
+forall a. Bits a => a -> a -> a
+.&. Word32
+0x3F) Word32 -> Int -> Word32
+forall a. Bits a => a -> Int -> a
+.<<. Int
+12)
+                          Word32 -> Word32 -> Word32
+forall a. Bits a => a -> a -> a
+.|. ((Word8 -> Word32
+forall a b. (Integral a, Num b) => a -> b
+fi Word8
+z Word32 -> Word32 -> Word32
+forall a. Bits a => a -> a -> a
+.&. Word32
+0x3F) Word32 -> Int -> Word32
+forall a. Bits a => a -> Int -> a
+.<<. Int
+6)
+                          Word32 -> Word32 -> Word32
+forall a. Bits a => a -> a -> a
+.|. (Word8 -> Word32
+forall a b. (Integral a, Num b) => a -> b
+fi Word8
+w Word32 -> Word32 -> Word32
+forall a. Bits a => a -> a -> a
+.&. Word32
+0x3F)
+                 in (Word32
+co Word32 -> Int -> Word32
+forall a. Bits a => a -> Int -> a
+.>>. Int
+10 Word32 -> Word32 -> Word32
+forall a. Num a => a -> a -> a
++ Word32
+0xD800, Word32
+co Word32 -> Word32 -> Word32
+forall a. Bits a => a -> a -> a
+.&. Word32
+0x3FF Word32 -> Word32 -> Word32
+forall a. Num a => a -> a -> a
++ Word32
+0xDC00)
+              w8 :: Word32 -> Builder
+w8 = Word8 -> Builder
+word8 (Word8 -> Builder) -> (Word32 -> Word8) -> Word32 -> Builder
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Word32 -> Word8
+forall a b. (Integral a, Num b) => a -> b
+fi
+              e :: Word32 -> Builder
+e Word32
+a =
+                Word32 -> Builder
+w8 ((Word32
+a Word32 -> Int -> Word32
+forall a. Bits a => a -> Int -> a
+.>>. Int
+12) Word32 -> Word32 -> Word32
+forall a. Bits a => a -> a -> a
+.|. (Word32
+0xE0 :: Word32))
+                  Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> Word32 -> Builder
+w8 (((Word32
+a Word32 -> Int -> Word32
+forall a. Bits a => a -> Int -> a
+.>>. Int
+6) Word32 -> Word32 -> Word32
+forall a. Bits a => a -> a -> a
+.&. Word32
+0x3F) Word32 -> Word32 -> Word32
+forall a. Bits a => a -> a -> a
+.|. Word32
+0x80)
+                  Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> Word32 -> Builder
+w8 ((Word32
+a Word32 -> Word32 -> Word32
+forall a. Bits a => a -> a -> a
+.&. Word32
+0x3F) Word32 -> Word32 -> Word32
+forall a. Bits a => a -> a -> a
+.|. Word32
+0x80)
+           in Word32 -> Builder
+e Word32
+h Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> Word32 -> Builder
+e Word32
+l Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> [Word8] -> Builder
+go [Word8]
+xs
+    -- only possible if the input is not a valid UTF-8 string
+    Word8
+x : [Word8]
+_ -> [Char] -> Builder
+forall a. HasCallStack => [Char] -> a
+error ([Char] -> Builder) -> [Char] -> Builder
+forall a b. (a -> b) -> a -> b
+$ [Char] -> Word8 -> [Char]
+forall r. PrintfType r => [Char] -> r
+printf [Char]
+"tocesu8p: unexpected character 0x%02x" Word8
+x
+{-# INLINEABLE tocesu8p #-}
+
+-- | decode CESU-8 encoded text
+fromcesu8 :: ByteString -> Maybe JS
+fromcesu8 :: ByteString -> Maybe JS
+fromcesu8 ByteString
+s = case (forall (st :: ZeroBitType). Parser st () JS)
+-> ByteString -> Result JS
+forall a.
+(forall (st :: ZeroBitType). Parser st () a)
+-> ByteString -> Result a
+parsepure0 (Parser st () JS
+forall (st :: ZeroBitType) r. Parser st r JS
+fromcesu8p Parser st () JS -> ParserT st () ParseError () -> Parser st () JS
+forall a b.
+ParserT st () ParseError a
+-> ParserT st () ParseError b -> ParserT st () ParseError a
+forall (f :: * -> *) a b. Applicative f => f a -> f b -> f a
+<* ParserT st () ParseError ()
+forall (st :: ZeroBitType) r e. ParserT st r e ()
+F.eof) ByteString
+s of
+  F.OK JS
+x Int
+_ ByteString
+_ -> JS -> Maybe JS
+forall a. a -> Maybe a
+Just JS
+x
+  Result JS
+_ -> Maybe JS
+forall a. Maybe a
+Nothing
+
+-- | decode CESU-8 encoded text ('Parser' version)
+fromcesu8p :: Parser st r JS
+fromcesu8p :: forall (st :: ZeroBitType) r. Parser st r JS
+fromcesu8p =
+  -- my condolences to the reader... this is a long one
+  -- https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/io/DataInput.html#modified-utf-8
+  -- CESU-8 -> UTF-16 -> Text
+  ParserT st r ParseError [Word16]
+-> ParserT st r ParseError [[Word16]]
+forall a. ParserT st r ParseError a -> ParserT st r ParseError [a]
+forall (f :: * -> *) a. Alternative f => f a -> f [a]
+F.many ParserT st r ParseError [Word16]
+forall (st :: ZeroBitType) r. Parser st r [Word16]
+cp ParserT st r ParseError [[Word16]]
+-> ([[Word16]] -> Either UnicodeException Text)
+-> ParserT st r ParseError (Either UnicodeException Text)
+forall (f :: * -> *) a b. Functor f => f a -> (a -> b) -> f b
+<&> [[Word16]] -> Either UnicodeException Text
+de ParserT st r ParseError (Either UnicodeException Text)
+-> (Either UnicodeException Text -> ParserT st r ParseError JS)
+-> ParserT st r ParseError JS
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= \case
+    Left (UnicodeException
+e :: UnicodeException) -> [Char] -> ParserT st r ParseError JS
+forall {st :: ZeroBitType} {r} {a}.
+[Char] -> ParserT st r ParseError a
+se ([Char] -> ParserT st r ParseError JS)
+-> [Char] -> ParserT st r ParseError JS
+forall a b. (a -> b) -> a -> b
+$ [Char]
+"fromcesu8p: " [Char] -> ShowS
+forall a. Semigroup a => a -> a -> a
+<> UnicodeException -> [Char]
+forall a. Show a => a -> [Char]
+show UnicodeException
+e
+    Right Text
+t -> JS -> ParserT st r ParseError JS
+forall a. a -> ParserT st r ParseError a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure (JS -> ParserT st r ParseError JS)
+-> JS -> ParserT st r ParseError JS
+forall a b. (a -> b) -> a -> b
+$ Text -> JS
+JS Text
+t
+  where
+    se :: [Char] -> ParserT st r ParseError a
+se = ParseError -> ParserT st r ParseError a
+forall e (st :: ZeroBitType) r a. e -> ParserT st r e a
+F.err (ParseError -> ParserT st r ParseError a)
+-> ([Char] -> ParseError) -> [Char] -> ParserT st r ParseError a
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. [Char] -> ParseError
+ParseError
+    -- de: decode CESU or error out
+    de :: [[Word16]] -> Either UnicodeException Text
+de =
+      -- upon an invalid character decodeUtf16LEWith will use the given
+      -- function to make a substitution. but we don't want that. we want
+      -- to throw an error instead. "text" guidelines say, if that's the case,
+      -- use 'throw' or 'error'. and we would like to catch the exception,
+      -- so we temporarily enter the IO monad
+      IO (Either UnicodeException Text) -> Either UnicodeException Text
+forall a. IO a -> a
+unsafeDupablePerformIO
+        (IO (Either UnicodeException Text) -> Either UnicodeException Text)
+-> ([[Word16]] -> IO (Either UnicodeException Text))
+-> [[Word16]]
+-> Either UnicodeException Text
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. IO Text -> IO (Either UnicodeException Text)
+forall e a. Exception e => IO a -> IO (Either e a)
+try
+        (IO Text -> IO (Either UnicodeException Text))
+-> ([[Word16]] -> IO Text)
+-> [[Word16]]
+-> IO (Either UnicodeException Text)
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Text -> IO Text
+forall a. a -> IO a
+evaluate
+        (Text -> IO Text) -> ([[Word16]] -> Text) -> [[Word16]] -> IO Text
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. OnDecodeError -> ByteString -> Text
+decodeUtf16LEWith ((UnicodeException -> Maybe Char
+forall a e. Exception e => e -> a
+throw .) ((Maybe Word8 -> UnicodeException) -> Maybe Word8 -> Maybe Char)
+-> ([Char] -> Maybe Word8 -> UnicodeException) -> OnDecodeError
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. [Char] -> Maybe Word8 -> UnicodeException
+DecodeError)
+        (ByteString -> Text)
+-> ([[Word16]] -> ByteString) -> [[Word16]] -> Text
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. [Word8] -> ByteString
+B.pack
+        ([Word8] -> ByteString)
+-> ([[Word16]] -> [Word8]) -> [[Word16]] -> ByteString
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. (Word16 -> [Word8]) -> [Word16] -> [Word8]
+forall (t :: * -> *) a b. Foldable t => (a -> [b]) -> t a -> [b]
+concatMap Word16 -> [Word8]
+forall {l} {a}.
+(IsList l, Integral a, Bits a, Num (Item l)) =>
+a -> l
+by
+        ([Word16] -> [Word8])
+-> ([[Word16]] -> [Word16]) -> [[Word16]] -> [Word8]
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. [[Word16]] -> [Word16]
+forall (t :: * -> *) a. Foldable t => t [a] -> [a]
+concat
+    -- by: split a 16-bit number into two 8-bit numbers
+    by :: a -> l
+by a
+x = [a -> Item l
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral a
+x, a -> Item l
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral (a
+x a -> Int -> a
+forall a. Bits a => a -> Int -> a
+.>>. Int
+8)]
+    {-# INLINE by #-}
+    -- an: extract 6-bit continuation from a CESU-8 byte
+    -- the symbol "an" comes from "and" (.&.)
+    an :: ParserT st r ParseError Word16
+an = forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack @Word8 Parser st r Word8
+-> (Word8 -> Word16) -> ParserT st r ParseError Word16
+forall (f :: * -> *) a b. Functor f => f a -> (a -> b) -> f b
+<&> \Word8
+x -> Word8 -> Word16
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral Word8
+x Word16 -> Word16 -> Word16
+forall a. Bits a => a -> a -> a
+.&. (Word16
+0x3F :: Word16)
+    -- sh: shift and combine
+    sh :: a -> a -> Int -> a -> a
+sh a
+a a
+b Int
+c = (a -> Int -> a
+forall a. Bits a => a -> Int -> a
+shift (a -> a
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral a
+a a -> a -> a
+forall a. Bits a => a -> a -> a
+.&. a
+b) Int
+c .|.)
+    -- pu: pure . fromIntegral
+    pu :: (Integral a, Num b, Monad m) => [a] -> m [b]
+    pu :: forall a b (m :: * -> *).
+(Integral a, Num b, Monad m) =>
+[a] -> m [b]
+pu = [b] -> m [b]
+forall a. a -> m a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure ([b] -> m [b]) -> ([a] -> [b]) -> [a] -> m [b]
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. (a -> b) -> [a] -> [b]
+forall a b. (a -> b) -> [a] -> [b]
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+fmap a -> b
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral
+    -- cp: decode a UTF-16 surrogate pair from CESU-8
+    cp :: Parser st r [Word16]
+    cp :: forall (st :: ZeroBitType) r. Parser st r [Word16]
+cp =
+      forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack @Word8 Parser st r Word8
+-> (Word8 -> ParserT st r ParseError [Word16])
+-> ParserT st r ParseError [Word16]
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= \case
+        Word8
+x | Word8
+x Word8 -> Word8 -> Bool
+forall a. Eq a => a -> a -> Bool
+== Word8
+0xC0 -> do
+          forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack @Word8 Parser st r Word8
+-> (Word8 -> ParserT st r ParseError [Word16])
+-> ParserT st r ParseError [Word16]
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= \case
+            Word8
+0x80 -> [Word16] -> ParserT st r ParseError [Word16]
+forall a b (m :: * -> *).
+(Integral a, Num b, Monad m) =>
+[a] -> m [b]
+pu [Word16
+0 :: Word16] -- 2 bytes; null
+            Word8
+y -> [Char] -> ParserT st r ParseError [Word16]
+forall {st :: ZeroBitType} {r} {a}.
+[Char] -> ParserT st r ParseError a
+se ([Char] -> ParserT st r ParseError [Word16])
+-> [Char] -> ParserT st r ParseError [Word16]
+forall a b. (a -> b) -> a -> b
+$ [Char] -> Word8 -> [Char]
+forall r. PrintfType r => [Char] -> r
+printf [Char]
+"fromcesu8p: unexpected CESU-8 byte 0x%02x" Word8
+y
+        Word8
+x | Word8 -> Word8 -> Word8 -> Bool
+forall a. Ord a => a -> a -> a -> Bool
+bxt Word8
+x Word8
+0x01 Word8
+0x7F -> [Word8] -> ParserT st r ParseError [Word16]
+forall a b (m :: * -> *).
+(Integral a, Num b, Monad m) =>
+[a] -> m [b]
+pu ([Word8] -> ParserT st r ParseError [Word16])
+-> (Word8 -> [Word8]) -> Word8 -> ParserT st r ParseError [Word16]
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Word8 -> [Word8]
+forall a. a -> [a]
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure (Word8 -> ParserT st r ParseError [Word16])
+-> Word8 -> ParserT st r ParseError [Word16]
+forall a b. (a -> b) -> a -> b
+$ Word8
+x -- 1 byte; direct
+        Word8
+x | Word8 -> Word8 -> Word8 -> Bool
+forall a. Ord a => a -> a -> a -> Bool
+bxt Word8
+x Word8
+0xC0 Word8
+0xDF -> ParserT st r ParseError Word16
+forall {st :: ZeroBitType} {r}. ParserT st r ParseError Word16
+an ParserT st r ParseError Word16
+-> (Word16 -> [Word16]) -> ParserT st r ParseError [Word16]
+forall (f :: * -> *) a b. Functor f => f a -> (a -> b) -> f b
+<&> Word16 -> [Word16]
+forall a. a -> [a]
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure (Word16 -> [Word16]) -> (Word16 -> Word16) -> Word16 -> [Word16]
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Word8 -> Word16 -> Int -> Word16 -> Word16
+forall {a} {a}.
+(Bits a, Integral a, Num a) =>
+a -> a -> Int -> a -> a
+sh Word8
+x Word16
+0x1F Int
+6 -- 2 bytes
+        Word8
+x | Word8
+x Word8 -> Word8 -> Bool
+forall a. Eq a => a -> a -> Bool
+== Word8
+0xED -> do
+          -- 6 bytes; come in surrogate pairs
+          Word16
+y <- ParserT st r ParseError Word16
+forall {st :: ZeroBitType} {r}. ParserT st r ParseError Word16
+an
+          Word16
+z <- ParserT st r ParseError Word16
+forall {st :: ZeroBitType} {r}. ParserT st r ParseError Word16
+an
+          if Word16 -> Word16 -> Word16 -> Bool
+forall a. Ord a => a -> a -> a -> Bool
+bxt Word16
+y Word16
+0x20 Word16
+0x2F
+            then do
+              Word8
+x2 <- forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack @Word8
+              if Word8
+x2 Word8 -> Word8 -> Bool
+forall a. Eq a => a -> a -> Bool
+== Word8
+0xED
+                then do
+                  Word16
+y2 <- ParserT st r ParseError Word16
+forall {st :: ZeroBitType} {r}. ParserT st r ParseError Word16
+an
+                  Word16
+z2 <- ParserT st r ParseError Word16
+forall {st :: ZeroBitType} {r}. ParserT st r ParseError Word16
+an
+                  if Word16 -> Word16 -> Word16 -> Bool
+forall a. Ord a => a -> a -> a -> Bool
+bxt Word16
+y2 Word16
+0x30 Word16
+0x3F
+                    then
+                      let high :: Word16
+high = Word8 -> Word16 -> Int -> Word16 -> Word16
+forall {a} {a}.
+(Bits a, Integral a, Num a) =>
+a -> a -> Int -> a -> a
+sh Word8
+x Word16
+0x0F Int
+12 (Word16 -> Int -> Word16
+forall a. Bits a => a -> Int -> a
+shift Word16
+y Int
+6 Word16 -> Word16 -> Word16
+forall a. Bits a => a -> a -> a
+.|. Word16
+z)
+                          low :: Word16
+low = Word8 -> Word16 -> Int -> Word16 -> Word16
+forall {a} {a}.
+(Bits a, Integral a, Num a) =>
+a -> a -> Int -> a -> a
+sh Word8
+x2 Word16
+0x0F Int
+12 (Word16 -> Int -> Word16
+forall a. Bits a => a -> Int -> a
+shift Word16
+y2 Int
+6 Word16 -> Word16 -> Word16
+forall a. Bits a => a -> a -> a
+.|. Word16
+z2)
+                       in [Word16] -> ParserT st r ParseError [Word16]
+forall a b (m :: * -> *).
+(Integral a, Num b, Monad m) =>
+[a] -> m [b]
+pu [Word16
+Item [Word16]
+high, Word16
+Item [Word16]
+low]
+                    else
+                      [Char] -> ParserT st r ParseError [Word16]
+forall {st :: ZeroBitType} {r} {a}.
+[Char] -> ParserT st r ParseError a
+se ([Char] -> ParserT st r ParseError [Word16])
+-> [Char] -> ParserT st r ParseError [Word16]
+forall a b. (a -> b) -> a -> b
+$
+                        [Char] -> Word16 -> [Char]
+forall r. PrintfType r => [Char] -> r
+printf
+                          [Char]
+"fromcesu8p: invalid low surrogate ... \
+                          \0x%02x is not in [0x30, 0x3F]"
+                          Word16
+y2
+                else
+                  [Char] -> ParserT st r ParseError [Word16]
+forall {st :: ZeroBitType} {r} {a}.
+[Char] -> ParserT st r ParseError a
+se ([Char] -> ParserT st r ParseError [Word16])
+-> [Char] -> ParserT st r ParseError [Word16]
+forall a b. (a -> b) -> a -> b
+$
+                    [Char] -> Word8 -> [Char]
+forall r. PrintfType r => [Char] -> r
+printf
+                      [Char]
+"fromcesu8p: invalid surrogate pair ... \
+                      \expected 0xED, got 0x%02x"
+                      Word8
+x2
+            else [Word16] -> ParserT st r ParseError [Word16]
+forall a b (m :: * -> *).
+(Integral a, Num b, Monad m) =>
+[a] -> m [b]
+pu ([Word16] -> ParserT st r ParseError [Word16])
+-> [Word16] -> ParserT st r ParseError [Word16]
+forall a b. (a -> b) -> a -> b
+$ Word16 -> [Word16]
+forall a. a -> [a]
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure (Word16 -> [Word16]) -> Word16 -> [Word16]
+forall a b. (a -> b) -> a -> b
+$ Word8 -> Word16 -> Int -> Word16 -> Word16
+forall {a} {a}.
+(Bits a, Integral a, Num a) =>
+a -> a -> Int -> a -> a
+sh Word8
+x Word16
+0x0F Int
+12 (Word16 -> Int -> Word16
+forall a. Bits a => a -> Int -> a
+shift Word16
+y Int
+6 Word16 -> Word16 -> Word16
+forall a. Bits a => a -> a -> a
+.|. Word16
+z)
+        Word8
+x -- 3 bytes (exclude 0xED; yeah, spec is weird)
+          | Word8 -> Word8 -> Word8 -> Bool
+forall a. Ord a => a -> a -> a -> Bool
+bxt Word8
+x Word8
+0xE0 Word8
+0xEF ->
+              ParserT st r ParseError Word16
+forall {st :: ZeroBitType} {r}. ParserT st r ParseError Word16
+an ParserT st r ParseError Word16
+-> (Word16 -> ParserT st r ParseError [Word16])
+-> ParserT st r ParseError [Word16]
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= \Word16
+p ->
+                ParserT st r ParseError Word16
+forall {st :: ZeroBitType} {r}. ParserT st r ParseError Word16
+an ParserT st r ParseError Word16
+-> (Word16 -> [Word16]) -> ParserT st r ParseError [Word16]
+forall (f :: * -> *) a b. Functor f => f a -> (a -> b) -> f b
+<&> \Word16
+q ->
+                  Word16 -> [Word16]
+forall a. a -> [a]
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure (Word16 -> [Word16]) -> Word16 -> [Word16]
+forall a b. (a -> b) -> a -> b
+$ Word8 -> Word16 -> Int -> Word16 -> Word16
+forall {a} {a}.
+(Bits a, Integral a, Num a) =>
+a -> a -> Int -> a -> a
+sh Word8
+x Word16
+0x0F Int
+12 (Word16 -> Int -> Word16
+forall a. Bits a => a -> Int -> a
+shift Word16
+p Int
+6 Word16 -> Word16 -> Word16
+forall a. Bits a => a -> a -> a
+.|. Word16
+q)
+        Word8
+x -> [Char] -> ParserT st r ParseError [Word16]
+forall {st :: ZeroBitType} {r} {a}.
+[Char] -> ParserT st r ParseError a
+se ([Char] -> ParserT st r ParseError [Word16])
+-> [Char] -> ParserT st r ParseError [Word16]
+forall a b. (a -> b) -> a -> b
+$ [Char] -> Word8 -> [Char]
+forall r. PrintfType r => [Char] -> r
+printf [Char]
+"fromcesu8p: unexpected CESU-8 byte 0x%02x" Word8
+x
+    {-# INLINE cp #-}
+{-# INLINEABLE fromcesu8p #-}
+
\ No newline at end of file diff --git a/src/M.NBT.Internal.P.html b/src/M.NBT.Internal.P.html new file mode 100644 index 0000000..5eb43d1 --- /dev/null +++ b/src/M.NBT.Internal.P.html @@ -0,0 +1,822 @@ +
{-# OPTIONS_GHC -Wno-orphans #-}
+
+-- |
+-- Module: M.NBT.Internal.P
+-- Description: NBT parsing and serialization
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Implements parsing and serialization for NBT data structures,
+-- handling named pairs and tag types.
+module M.NBT.Internal.P (NamedPair (..)) where
+
+import Control.Applicative.Combinators
+import Control.DeepSeq
+import Control.Monad
+import Data.ByteString qualified as B
+import Data.ByteString.Builder (Builder, byteString)
+import Data.Data
+import Data.Functor
+import Data.HashMap.Strict qualified as M
+import Data.Int
+import Data.Text (Text)
+import Data.Vector qualified as V
+import Data.Vector.Unboxed qualified as VU
+import FlatParse.Stateful qualified as F
+import GHC.Generics
+import M.NBT.Internal.JS
+import M.NBT.Internal.Types
+import M.Pack
+
+-- unpack orphan instance for 'Tg'
+
+-- parser returns parser. use 'join' from Control.Monad to use it
+
+-- | named pair of a 'Text' and a 'Tg'
+data NamedPair = NamedPair !Text !Tg
+  deriving stock (NamedPair -> NamedPair -> Bool
+(NamedPair -> NamedPair -> Bool)
+-> (NamedPair -> NamedPair -> Bool) -> Eq NamedPair
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: NamedPair -> NamedPair -> Bool
+== :: NamedPair -> NamedPair -> Bool
+$c/= :: NamedPair -> NamedPair -> Bool
+/= :: NamedPair -> NamedPair -> Bool
+Eq, Eq NamedPair
+Eq NamedPair =>
+(NamedPair -> NamedPair -> Ordering)
+-> (NamedPair -> NamedPair -> Bool)
+-> (NamedPair -> NamedPair -> Bool)
+-> (NamedPair -> NamedPair -> Bool)
+-> (NamedPair -> NamedPair -> Bool)
+-> (NamedPair -> NamedPair -> NamedPair)
+-> (NamedPair -> NamedPair -> NamedPair)
+-> Ord NamedPair
+NamedPair -> NamedPair -> Bool
+NamedPair -> NamedPair -> Ordering
+NamedPair -> NamedPair -> NamedPair
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: NamedPair -> NamedPair -> Ordering
+compare :: NamedPair -> NamedPair -> Ordering
+$c< :: NamedPair -> NamedPair -> Bool
+< :: NamedPair -> NamedPair -> Bool
+$c<= :: NamedPair -> NamedPair -> Bool
+<= :: NamedPair -> NamedPair -> Bool
+$c> :: NamedPair -> NamedPair -> Bool
+> :: NamedPair -> NamedPair -> Bool
+$c>= :: NamedPair -> NamedPair -> Bool
+>= :: NamedPair -> NamedPair -> Bool
+$cmax :: NamedPair -> NamedPair -> NamedPair
+max :: NamedPair -> NamedPair -> NamedPair
+$cmin :: NamedPair -> NamedPair -> NamedPair
+min :: NamedPair -> NamedPair -> NamedPair
+Ord, Int -> NamedPair -> ShowS
+[NamedPair] -> ShowS
+NamedPair -> String
+(Int -> NamedPair -> ShowS)
+-> (NamedPair -> String)
+-> ([NamedPair] -> ShowS)
+-> Show NamedPair
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> NamedPair -> ShowS
+showsPrec :: Int -> NamedPair -> ShowS
+$cshow :: NamedPair -> String
+show :: NamedPair -> String
+$cshowList :: [NamedPair] -> ShowS
+showList :: [NamedPair] -> ShowS
+Show, ReadPrec [NamedPair]
+ReadPrec NamedPair
+Int -> ReadS NamedPair
+ReadS [NamedPair]
+(Int -> ReadS NamedPair)
+-> ReadS [NamedPair]
+-> ReadPrec NamedPair
+-> ReadPrec [NamedPair]
+-> Read NamedPair
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS NamedPair
+readsPrec :: Int -> ReadS NamedPair
+$creadList :: ReadS [NamedPair]
+readList :: ReadS [NamedPair]
+$creadPrec :: ReadPrec NamedPair
+readPrec :: ReadPrec NamedPair
+$creadListPrec :: ReadPrec [NamedPair]
+readListPrec :: ReadPrec [NamedPair]
+Read, (forall x. NamedPair -> Rep NamedPair x)
+-> (forall x. Rep NamedPair x -> NamedPair) -> Generic NamedPair
+forall x. Rep NamedPair x -> NamedPair
+forall x. NamedPair -> Rep NamedPair x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. NamedPair -> Rep NamedPair x
+from :: forall x. NamedPair -> Rep NamedPair x
+$cto :: forall x. Rep NamedPair x -> NamedPair
+to :: forall x. Rep NamedPair x -> NamedPair
+Generic, Typeable, Typeable NamedPair
+Typeable NamedPair =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> NamedPair -> c NamedPair)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c NamedPair)
+-> (NamedPair -> Constr)
+-> (NamedPair -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c NamedPair))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NamedPair))
+-> ((forall b. Data b => b -> b) -> NamedPair -> NamedPair)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> NamedPair -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> NamedPair -> r)
+-> (forall u. (forall d. Data d => d -> u) -> NamedPair -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> NamedPair -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> NamedPair -> m NamedPair)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> NamedPair -> m NamedPair)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> NamedPair -> m NamedPair)
+-> Data NamedPair
+NamedPair -> Constr
+NamedPair -> DataType
+(forall b. Data b => b -> b) -> NamedPair -> NamedPair
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> NamedPair -> u
+forall u. (forall d. Data d => d -> u) -> NamedPair -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> NamedPair -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> NamedPair -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> NamedPair -> m NamedPair
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> NamedPair -> m NamedPair
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c NamedPair
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> NamedPair -> c NamedPair
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c NamedPair)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NamedPair)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> NamedPair -> c NamedPair
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> NamedPair -> c NamedPair
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c NamedPair
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c NamedPair
+$ctoConstr :: NamedPair -> Constr
+toConstr :: NamedPair -> Constr
+$cdataTypeOf :: NamedPair -> DataType
+dataTypeOf :: NamedPair -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c NamedPair)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c NamedPair)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NamedPair)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NamedPair)
+$cgmapT :: (forall b. Data b => b -> b) -> NamedPair -> NamedPair
+gmapT :: (forall b. Data b => b -> b) -> NamedPair -> NamedPair
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> NamedPair -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> NamedPair -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> NamedPair -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> NamedPair -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> NamedPair -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> NamedPair -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> NamedPair -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> NamedPair -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> NamedPair -> m NamedPair
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> NamedPair -> m NamedPair
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> NamedPair -> m NamedPair
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> NamedPair -> m NamedPair
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> NamedPair -> m NamedPair
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> NamedPair -> m NamedPair
+Data)
+  deriving anyclass (NamedPair -> ()
+(NamedPair -> ()) -> NFData NamedPair
+forall a. (a -> ()) -> NFData a
+$crnf :: NamedPair -> ()
+rnf :: NamedPair -> ()
+NFData)
+
+-- NamedPair used to be called 'S', hence the 'sp' function name
+sp :: NamedPair -> (Text, Tg)
+sp :: NamedPair -> (Text, Tg)
+sp (NamedPair Text
+t Tg
+p) = (Text
+t, Tg
+p)
+{-# INLINE sp #-}
+
+instance Unpack NamedPair where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r NamedPair
+unpack = Parser st r (Parser st r Tg)
+forall (st :: ZeroBitType) r. Parser st r (Parser st r Tg)
+tag Parser st r (Parser st r Tg)
+-> (Parser st r Tg -> ParserT st r ParseError NamedPair)
+-> ParserT st r ParseError NamedPair
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= (Text -> Tg -> NamedPair)
+-> ParserT st r ParseError Text
+-> Parser st r Tg
+-> ParserT st r ParseError NamedPair
+forall a b c.
+(a -> b -> c)
+-> ParserT st r ParseError a
+-> ParserT st r ParseError b
+-> ParserT st r ParseError c
+forall (f :: * -> *) a b c.
+Applicative f =>
+(a -> b -> c) -> f a -> f b -> f c
+liftA2 Text -> Tg -> NamedPair
+NamedPair ParserT st r ParseError Text
+forall (st :: ZeroBitType) r. Parser st r Text
+string0
+  {-# INLINE unpack #-}
+
+instance Unpack Tg where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r Tg
+unpack = ParserT st r ParseError (ParserT st r ParseError Tg)
+-> ParserT st r ParseError Tg
+forall (m :: * -> *) a. Monad m => m (m a) -> m a
+join ParserT st r ParseError (ParserT st r ParseError Tg)
+forall (st :: ZeroBitType) r. Parser st r (Parser st r Tg)
+tag
+  {-# INLINE unpack #-}
+
+tag :: Parser st r (Parser st r Tg)
+tag :: forall (st :: ZeroBitType) r. Parser st r (Parser st r Tg)
+tag =
+  forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack @Ty Parser st r Ty
+-> (Ty -> Parser st r Tg)
+-> ParserT st r ParseError (Parser st r Tg)
+forall (f :: * -> *) a b. Functor f => f a -> (a -> b) -> f b
+<&> \case
+    Ty
+TEnd -> Tg -> Parser st r Tg
+forall a. a -> ParserT st r ParseError a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure Tg
+End
+    Ty
+TByte -> Int8 -> Tg
+Byte (Int8 -> Tg) -> ParserT st r ParseError Int8 -> Parser st r Tg
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ParserT st r ParseError Int8
+forall (st :: ZeroBitType) r. Parser st r Int8
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack
+    Ty
+TShort -> Int16 -> Tg
+Short (Int16 -> Tg) -> ParserT st r ParseError Int16 -> Parser st r Tg
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ParserT st r ParseError Int16
+forall (st :: ZeroBitType) r. Parser st r Int16
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack
+    Ty
+TInt -> Int32 -> Tg
+Int (Int32 -> Tg) -> ParserT st r ParseError Int32 -> Parser st r Tg
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ParserT st r ParseError Int32
+forall (st :: ZeroBitType) r. Parser st r Int32
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack
+    Ty
+TLong -> Int64 -> Tg
+Long (Int64 -> Tg) -> ParserT st r ParseError Int64 -> Parser st r Tg
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ParserT st r ParseError Int64
+forall (st :: ZeroBitType) r. Parser st r Int64
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack
+    Ty
+TFloat -> Float -> Tg
+Float (Float -> Tg) -> ParserT st r ParseError Float -> Parser st r Tg
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ParserT st r ParseError Float
+forall (st :: ZeroBitType) r. Parser st r Float
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack
+    Ty
+TDouble -> Double -> Tg
+Double (Double -> Tg) -> ParserT st r ParseError Double -> Parser st r Tg
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ParserT st r ParseError Double
+forall (st :: ZeroBitType) r. Parser st r Double
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack
+    Ty
+TByteArray ->
+      forall a b (st :: ZeroBitType) r.
+(Integral a, Unpack a, Integral b) =>
+Parser st r b
+unpackfi @Int32
+        Parser st r Int -> (Int -> Parser st r Int) -> Parser st r Int
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= String -> Int -> Parser st r Int
+forall a (st :: ZeroBitType) r.
+(Num a, Ord a, Show a) =>
+String -> a -> Parser st r a
+guardnat String
+"Tg.ByteArray length"
+        Parser st r Int -> (Int -> Parser st r Tg) -> Parser st r Tg
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= (ByteString -> Tg
+ByteArray <$>) (ParserT st r ParseError ByteString -> Parser st r Tg)
+-> (Int -> ParserT st r ParseError ByteString)
+-> Int
+-> Parser st r Tg
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Int -> ParserT st r ParseError ByteString
+forall (st :: ZeroBitType) r e. Int -> ParserT st r e ByteString
+F.take
+    Ty
+TString -> Text -> Tg
+String (Text -> Tg) -> ParserT st r ParseError Text -> Parser st r Tg
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ParserT st r ParseError Text
+forall (st :: ZeroBitType) r. Parser st r Text
+string0
+    Ty
+TList -> do
+      Parser st r Tg
+p <- ParserT st r ParseError (Parser st r Tg)
+-> ParserT st r ParseError (Parser st r Tg)
+forall (st :: ZeroBitType) r e a.
+ParserT st r e a -> ParserT st r e a
+F.lookahead ParserT st r ParseError (Parser st r Tg)
+forall (st :: ZeroBitType) r. Parser st r (Parser st r Tg)
+tag
+      Ty
+ty <- forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack @Ty
+      Int
+n <- forall a b (st :: ZeroBitType) r.
+(Integral a, Unpack a, Integral b) =>
+Parser st r b
+unpackfi @Int32 Parser st r Int -> (Int -> Parser st r Int) -> Parser st r Int
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= String -> Int -> Parser st r Int
+forall a (st :: ZeroBitType) r.
+(Num a, Ord a, Show a) =>
+String -> a -> Parser st r a
+guardnat String
+"Tg.List length"
+      if Ty
+ty Ty -> Ty -> Bool
+forall a. Eq a => a -> a -> Bool
+== Ty
+TEnd Bool -> Bool -> Bool
+&& Int
+n Int -> Int -> Bool
+forall a. Eq a => a -> a -> Bool
+/= Int
+0
+        then ParseError -> Parser st r Tg
+forall e (st :: ZeroBitType) r a. e -> ParserT st r e a
+F.err ParseError
+"only empty lists may have the end tag as element type"
+        else Ty -> Vector Tg -> Tg
+List Ty
+ty (Vector Tg -> Tg)
+-> ParserT st r ParseError (Vector Tg) -> Parser st r Tg
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> Int -> Parser st r Tg -> ParserT st r ParseError (Vector Tg)
+forall (m :: * -> *) a. Monad m => Int -> m a -> m (Vector a)
+V.replicateM Int
+n Parser st r Tg
+p
+    Ty
+TCompound -> HashMap Text Tg -> Tg
+Compound (HashMap Text Tg -> Tg)
+-> ([(Text, Tg)] -> HashMap Text Tg) -> [(Text, Tg)] -> Tg
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. [(Text, Tg)] -> HashMap Text Tg
+forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
+M.fromList ([(Text, Tg)] -> Tg)
+-> ParserT st r ParseError [(Text, Tg)] -> Parser st r Tg
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ParserT st r ParseError (Text, Tg)
+-> ParserT st r ParseError ()
+-> ParserT st r ParseError [(Text, Tg)]
+forall (m :: * -> *) a end. Alternative m => m a -> m end -> m [a]
+manyTill (NamedPair -> (Text, Tg)
+sp (NamedPair -> (Text, Tg))
+-> ParserT st r ParseError NamedPair
+-> ParserT st r ParseError (Text, Tg)
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ParserT st r ParseError NamedPair
+forall (st :: ZeroBitType) r. Parser st r NamedPair
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack) ParserT st r ParseError ()
+forall {st :: ZeroBitType} {r}. ParserT st r ParseError ()
+end
+      where
+        end :: ParserT st r ParseError ()
+end = forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack @Ty Parser st r Ty
+-> (Ty -> ParserT st r ParseError ()) -> ParserT st r ParseError ()
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= Bool -> ParserT st r ParseError ()
+forall (f :: * -> *). Alternative f => Bool -> f ()
+guard (Bool -> ParserT st r ParseError ())
+-> (Ty -> Bool) -> Ty -> ParserT st r ParseError ()
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. (Ty -> Ty -> Bool
+forall a. Eq a => a -> a -> Bool
+== Ty
+TEnd)
+        {-# INLINE end #-}
+    Ty
+TIntArray -> Vector Int32 -> Tg
+IntArray (Vector Int32 -> Tg)
+-> ParserT st r ParseError (Vector Int32) -> Parser st r Tg
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> String
+-> ParserT st r ParseError Int32
+-> ParserT st r ParseError (Vector Int32)
+forall a (st :: ZeroBitType) r.
+Unbox a =>
+String -> Parser st r a -> Parser st r (Vector a)
+arr0 String
+"Tg.IntArray length" (forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack @Int32)
+    Ty
+TLongArray -> Vector Int64 -> Tg
+LongArray (Vector Int64 -> Tg)
+-> ParserT st r ParseError (Vector Int64) -> Parser st r Tg
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> String
+-> ParserT st r ParseError Int64
+-> ParserT st r ParseError (Vector Int64)
+forall a (st :: ZeroBitType) r.
+Unbox a =>
+String -> Parser st r a -> Parser st r (Vector a)
+arr0 String
+"Tg.LongArray length" (forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack @Int64)
+
+arr0 :: (VU.Unbox a) => String -> Parser st r a -> Parser st r (VU.Vector a)
+arr0 :: forall a (st :: ZeroBitType) r.
+Unbox a =>
+String -> Parser st r a -> Parser st r (Vector a)
+arr0 String
+n Parser st r a
+p = forall a b (st :: ZeroBitType) r.
+(Integral a, Unpack a, Integral b) =>
+Parser st r b
+unpackfi @Int32 Parser st r Int -> (Int -> Parser st r Int) -> Parser st r Int
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= String -> Int -> Parser st r Int
+forall a (st :: ZeroBitType) r.
+(Num a, Ord a, Show a) =>
+String -> a -> Parser st r a
+guardnat String
+n Parser st r Int
+-> (Int -> ParserT st r ParseError (Vector a))
+-> ParserT st r ParseError (Vector a)
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= (Int -> Parser st r a -> ParserT st r ParseError (Vector a)
+forall (m :: * -> *) a.
+(Monad m, Unbox a) =>
+Int -> m a -> m (Vector a)
+`VU.replicateM` Parser st r a
+p)
+{-# INLINE arr0 #-}
+
+string0 :: Parser st r Text
+string0 :: forall (st :: ZeroBitType) r. Parser st r Text
+string0 =
+  forall a b (st :: ZeroBitType) r.
+(Integral a, Unpack a, Integral b) =>
+Parser st r b
+unpackfi @Int16
+    Parser st r Int -> (Int -> Parser st r Int) -> Parser st r Int
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= String -> Int -> Parser st r Int
+forall a (st :: ZeroBitType) r.
+(Num a, Ord a, Show a) =>
+String -> a -> Parser st r a
+guardnat String
+"Tg.String length"
+    Parser st r Int
+-> (Int -> ParserT st r ParseError Text)
+-> ParserT st r ParseError Text
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= (JS -> Text
+getjs <$>) (ParserT st r ParseError JS -> ParserT st r ParseError Text)
+-> (Int -> ParserT st r ParseError JS)
+-> Int
+-> ParserT st r ParseError Text
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. (Int -> ParserT st r ParseError JS -> ParserT st r ParseError JS
+forall (st :: ZeroBitType) r e a.
+Int -> ParserT st r e a -> ParserT st r e a
+`F.isolate` ParserT st r ParseError JS
+forall (st :: ZeroBitType) r. Parser st r JS
+fromcesu8p)
+{-# INLINE string0 #-}
+
+-- pack
+
+instance Pack NamedPair where
+  pack :: NamedPair -> Builder
+pack (NamedPair Text
+t Tg
+p) = Ty -> Builder
+forall a. Pack a => a -> Builder
+pack (Tg -> Ty
+getty Tg
+p) Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> Text -> Builder
+spack Text
+t Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> Tg -> Builder
+bodypack Tg
+p
+  {-# INLINE pack #-}
+
+spack :: Text -> Builder
+spack :: Text -> Builder
+spack Text
+s =
+  let c :: ByteString
+c = JS -> ByteString
+tocesu8 (Text -> JS
+JS Text
+s)
+   in forall a b. (Integral a, Pack a, Integral b) => b -> Builder
+packfi @Int16 (ByteString -> Int
+B.length ByteString
+c) Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> ByteString -> Builder
+byteString ByteString
+c
+{-# INLINE spack #-}
+
+instance Pack Tg where
+  pack :: Tg -> Builder
+pack Tg
+t = Ty -> Builder
+forall a. Pack a => a -> Builder
+pack (Tg -> Ty
+getty Tg
+t) Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> Tg -> Builder
+bodypack Tg
+t
+  {-# INLINE pack #-}
+
+bodypack :: Tg -> Builder
+bodypack :: Tg -> Builder
+bodypack Tg
+End = Builder
+forall a. Monoid a => a
+mempty
+bodypack (Byte Int8
+p) = Int8 -> Builder
+forall a. Pack a => a -> Builder
+pack Int8
+p
+bodypack (Short Int16
+p) = Int16 -> Builder
+forall a. Pack a => a -> Builder
+pack Int16
+p
+bodypack (Int Int32
+p) = Int32 -> Builder
+forall a. Pack a => a -> Builder
+pack Int32
+p
+bodypack (Long Int64
+p) = Int64 -> Builder
+forall a. Pack a => a -> Builder
+pack Int64
+p
+bodypack (Float Float
+p) = Float -> Builder
+forall a. Pack a => a -> Builder
+pack Float
+p
+bodypack (Double Double
+p) = Double -> Builder
+forall a. Pack a => a -> Builder
+pack Double
+p
+bodypack (ByteArray ByteString
+p) = forall a b. (Integral a, Pack a, Integral b) => b -> Builder
+packfi @Int32 (ByteString -> Int
+B.length ByteString
+p) Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> ByteString -> Builder
+byteString ByteString
+p
+bodypack (String Text
+p) = Text -> Builder
+spack Text
+p
+bodypack (List Ty
+t Vector Tg
+p) =
+  Ty -> Builder
+forall a. Pack a => a -> Builder
+pack Ty
+t
+    Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> forall a b. (Integral a, Pack a, Integral b) => b -> Builder
+packfi @Int32 (Vector Tg -> Int
+forall a. Vector a -> Int
+V.length Vector Tg
+p)
+    Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> (Tg -> Builder) -> Vector Tg -> Builder
+forall m a. Monoid m => (a -> m) -> Vector a -> m
+V.foldMap Tg -> Builder
+bodypack Vector Tg
+p
+bodypack (Compound HashMap Text Tg
+p) =
+  ((Text, Tg) -> Builder) -> [(Text, Tg)] -> Builder
+forall m a. Monoid m => (a -> m) -> [a] -> m
+forall (t :: * -> *) m a.
+(Foldable t, Monoid m) =>
+(a -> m) -> t a -> m
+foldMap
+    (NamedPair -> Builder
+forall a. Pack a => a -> Builder
+pack (NamedPair -> Builder)
+-> ((Text, Tg) -> NamedPair) -> (Text, Tg) -> Builder
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. (Text -> Tg -> NamedPair) -> (Text, Tg) -> NamedPair
+forall a b c. (a -> b -> c) -> (a, b) -> c
+uncurry Text -> Tg -> NamedPair
+NamedPair)
+    (HashMap Text Tg -> [(Text, Tg)]
+forall k v. HashMap k v -> [(k, v)]
+M.toList HashMap Text Tg
+p)
+    Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> Ty -> Builder
+forall a. Pack a => a -> Builder
+pack Ty
+TEnd
+bodypack (IntArray Vector Int32
+p) = forall a b. (Integral a, Pack a, Integral b) => b -> Builder
+packfi @Int32 (Vector Int32 -> Int
+forall a. Unbox a => Vector a -> Int
+VU.length Vector Int32
+p) Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> (Int32 -> Builder) -> Vector Int32 -> Builder
+forall m a. (Monoid m, Unbox a) => (a -> m) -> Vector a -> m
+VU.foldMap Int32 -> Builder
+forall a. Pack a => a -> Builder
+pack Vector Int32
+p
+bodypack (LongArray Vector Int64
+p) = forall a b. (Integral a, Pack a, Integral b) => b -> Builder
+packfi @Int32 (Vector Int64 -> Int
+forall a. Unbox a => Vector a -> Int
+VU.length Vector Int64
+p) Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> (Int64 -> Builder) -> Vector Int64 -> Builder
+forall m a. (Monoid m, Unbox a) => (a -> m) -> Vector a -> m
+VU.foldMap Int64 -> Builder
+forall a. Pack a => a -> Builder
+pack Vector Int64
+p
+
\ No newline at end of file diff --git a/src/M.NBT.Internal.Types.html b/src/M.NBT.Internal.Types.html new file mode 100644 index 0000000..bb312ec --- /dev/null +++ b/src/M.NBT.Internal.Types.html @@ -0,0 +1,699 @@ +
-- |
+-- Module: M.NBT.Internal.Types
+-- Description: Core NBT type definitions
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Internal type definitions for Named Binary Tag (NBT) format used in
+-- Minecraft, including tag types and container types.
+module M.NBT.Internal.Types (Ty (..), Tg (..), getty) where
+
+import Control.DeepSeq
+import Data.ByteString (ByteString)
+import Data.Data
+import Data.HashMap.Strict (HashMap)
+import Data.Hashable
+import Data.Int
+import Data.String (IsString (..))
+import Data.Text (Text)
+import Data.Text qualified as T
+import Data.Vector qualified as V
+import Data.Vector.Unboxed qualified as VU
+import Data.Word
+import GHC.Generics
+import Language.Haskell.TH.Syntax (Lift)
+import M.Pack
+
+-- | NBT tag types
+data Ty
+  = -- | special type for the end of a compound tag
+    TEnd
+  | TByte
+  | TShort
+  | TInt
+  | TLong
+  | TFloat
+  | TDouble
+  | TByteArray
+  | TString
+  | TList
+  | TCompound
+  | TIntArray
+  | TLongArray
+  deriving stock (Ty -> Ty -> Bool
+(Ty -> Ty -> Bool) -> (Ty -> Ty -> Bool) -> Eq Ty
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: Ty -> Ty -> Bool
+== :: Ty -> Ty -> Bool
+$c/= :: Ty -> Ty -> Bool
+/= :: Ty -> Ty -> Bool
+Eq, Eq Ty
+Eq Ty =>
+(Ty -> Ty -> Ordering)
+-> (Ty -> Ty -> Bool)
+-> (Ty -> Ty -> Bool)
+-> (Ty -> Ty -> Bool)
+-> (Ty -> Ty -> Bool)
+-> (Ty -> Ty -> Ty)
+-> (Ty -> Ty -> Ty)
+-> Ord Ty
+Ty -> Ty -> Bool
+Ty -> Ty -> Ordering
+Ty -> Ty -> Ty
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: Ty -> Ty -> Ordering
+compare :: Ty -> Ty -> Ordering
+$c< :: Ty -> Ty -> Bool
+< :: Ty -> Ty -> Bool
+$c<= :: Ty -> Ty -> Bool
+<= :: Ty -> Ty -> Bool
+$c> :: Ty -> Ty -> Bool
+> :: Ty -> Ty -> Bool
+$c>= :: Ty -> Ty -> Bool
+>= :: Ty -> Ty -> Bool
+$cmax :: Ty -> Ty -> Ty
+max :: Ty -> Ty -> Ty
+$cmin :: Ty -> Ty -> Ty
+min :: Ty -> Ty -> Ty
+Ord, Int -> Ty -> ShowS
+[Ty] -> ShowS
+Ty -> String
+(Int -> Ty -> ShowS)
+-> (Ty -> String) -> ([Ty] -> ShowS) -> Show Ty
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> Ty -> ShowS
+showsPrec :: Int -> Ty -> ShowS
+$cshow :: Ty -> String
+show :: Ty -> String
+$cshowList :: [Ty] -> ShowS
+showList :: [Ty] -> ShowS
+Show, ReadPrec [Ty]
+ReadPrec Ty
+Int -> ReadS Ty
+ReadS [Ty]
+(Int -> ReadS Ty)
+-> ReadS [Ty] -> ReadPrec Ty -> ReadPrec [Ty] -> Read Ty
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS Ty
+readsPrec :: Int -> ReadS Ty
+$creadList :: ReadS [Ty]
+readList :: ReadS [Ty]
+$creadPrec :: ReadPrec Ty
+readPrec :: ReadPrec Ty
+$creadListPrec :: ReadPrec [Ty]
+readListPrec :: ReadPrec [Ty]
+Read, (forall x. Ty -> Rep Ty x)
+-> (forall x. Rep Ty x -> Ty) -> Generic Ty
+forall x. Rep Ty x -> Ty
+forall x. Ty -> Rep Ty x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. Ty -> Rep Ty x
+from :: forall x. Ty -> Rep Ty x
+$cto :: forall x. Rep Ty x -> Ty
+to :: forall x. Rep Ty x -> Ty
+Generic, Typeable, Typeable Ty
+Typeable Ty =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> Ty -> c Ty)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c Ty)
+-> (Ty -> Constr)
+-> (Ty -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c Ty))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Ty))
+-> ((forall b. Data b => b -> b) -> Ty -> Ty)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ty -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ty -> r)
+-> (forall u. (forall d. Data d => d -> u) -> Ty -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> Ty -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> Ty -> m Ty)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Ty -> m Ty)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Ty -> m Ty)
+-> Data Ty
+Ty -> Constr
+Ty -> DataType
+(forall b. Data b => b -> b) -> Ty -> Ty
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> Ty -> u
+forall u. (forall d. Data d => d -> u) -> Ty -> [u]
+forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ty -> r
+forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ty -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Ty -> m Ty
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Ty -> m Ty
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Ty
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Ty -> c Ty
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Ty)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Ty)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Ty -> c Ty
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Ty -> c Ty
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Ty
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Ty
+$ctoConstr :: Ty -> Constr
+toConstr :: Ty -> Constr
+$cdataTypeOf :: Ty -> DataType
+dataTypeOf :: Ty -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Ty)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Ty)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Ty)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Ty)
+$cgmapT :: (forall b. Data b => b -> b) -> Ty -> Ty
+gmapT :: (forall b. Data b => b -> b) -> Ty -> Ty
+$cgmapQl :: forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ty -> r
+gmapQl :: forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ty -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ty -> r
+gmapQr :: forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ty -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> Ty -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> Ty -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Ty -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Ty -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Ty -> m Ty
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Ty -> m Ty
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Ty -> m Ty
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Ty -> m Ty
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Ty -> m Ty
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Ty -> m Ty
+Data, (forall (m :: * -> *). Quote m => Ty -> m Exp)
+-> (forall (m :: * -> *). Quote m => Ty -> Code m Ty) -> Lift Ty
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => Ty -> m Exp
+forall (m :: * -> *). Quote m => Ty -> Code m Ty
+$clift :: forall (m :: * -> *). Quote m => Ty -> m Exp
+lift :: forall (m :: * -> *). Quote m => Ty -> m Exp
+$cliftTyped :: forall (m :: * -> *). Quote m => Ty -> Code m Ty
+liftTyped :: forall (m :: * -> *). Quote m => Ty -> Code m Ty
+Lift)
+  deriving stock (Int -> Ty
+Ty -> Int
+Ty -> [Ty]
+Ty -> Ty
+Ty -> Ty -> [Ty]
+Ty -> Ty -> Ty -> [Ty]
+(Ty -> Ty)
+-> (Ty -> Ty)
+-> (Int -> Ty)
+-> (Ty -> Int)
+-> (Ty -> [Ty])
+-> (Ty -> Ty -> [Ty])
+-> (Ty -> Ty -> [Ty])
+-> (Ty -> Ty -> Ty -> [Ty])
+-> Enum Ty
+forall a.
+(a -> a)
+-> (a -> a)
+-> (Int -> a)
+-> (a -> Int)
+-> (a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> a -> [a])
+-> Enum a
+$csucc :: Ty -> Ty
+succ :: Ty -> Ty
+$cpred :: Ty -> Ty
+pred :: Ty -> Ty
+$ctoEnum :: Int -> Ty
+toEnum :: Int -> Ty
+$cfromEnum :: Ty -> Int
+fromEnum :: Ty -> Int
+$cenumFrom :: Ty -> [Ty]
+enumFrom :: Ty -> [Ty]
+$cenumFromThen :: Ty -> Ty -> [Ty]
+enumFromThen :: Ty -> Ty -> [Ty]
+$cenumFromTo :: Ty -> Ty -> [Ty]
+enumFromTo :: Ty -> Ty -> [Ty]
+$cenumFromThenTo :: Ty -> Ty -> Ty -> [Ty]
+enumFromThenTo :: Ty -> Ty -> Ty -> [Ty]
+Enum, Ty
+Ty -> Ty -> Bounded Ty
+forall a. a -> a -> Bounded a
+$cminBound :: Ty
+minBound :: Ty
+$cmaxBound :: Ty
+maxBound :: Ty
+Bounded)
+  deriving anyclass (Eq Ty
+Eq Ty => (Int -> Ty -> Int) -> (Ty -> Int) -> Hashable Ty
+Int -> Ty -> Int
+Ty -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+$chashWithSalt :: Int -> Ty -> Int
+hashWithSalt :: Int -> Ty -> Int
+$chash :: Ty -> Int
+hash :: Ty -> Int
+Hashable, Ty -> ()
+(Ty -> ()) -> NFData Ty
+forall a. (a -> ()) -> NFData a
+$crnf :: Ty -> ()
+rnf :: Ty -> ()
+NFData)
+
+-- tag type serialization / deserialization is defined here
+
+instance Pack Ty where
+  pack :: Ty -> Builder
+pack = forall a. Pack a => a -> Builder
+pack @Word8 (Word8 -> Builder) -> (Ty -> Word8) -> Ty -> Builder
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Int -> Word8
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral (Int -> Word8) -> (Ty -> Int) -> Ty -> Word8
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Ty -> Int
+forall a. Enum a => a -> Int
+fromEnum
+  {-# INLINE pack #-}
+
+instance Unpack Ty where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r Ty
+unpack = EnumIndex Word8 Ty -> Ty
+forall {k} (i :: k) a. EnumIndex i a -> a
+enumindex (EnumIndex Word8 Ty -> Ty)
+-> ParserT st r ParseError (EnumIndex Word8 Ty)
+-> ParserT st r ParseError Ty
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack @(EnumIndex Word8 Ty)
+  {-# INLINE unpack #-}
+
+-- | NBT tag
+data Tg where
+  -- | used for internal purposes only
+  End :: Tg
+  Byte :: Int8 %1 -> Tg
+  Short :: Int16 %1 -> Tg
+  Int :: Int32 %1 -> Tg
+  Long :: Int64 %1 -> Tg
+  Float :: Float %1 -> Tg
+  Double :: Double %1 -> Tg
+  ByteArray :: ByteString %1 -> Tg
+  String :: Text %1 -> Tg
+  -- | a homogeneous list of tags
+  List :: Ty %1 -> (V.Vector Tg) %1 -> Tg
+  Compound :: HashMap Text Tg %1 -> Tg
+  IntArray :: (VU.Vector Int32) %1 -> Tg
+  LongArray :: (VU.Vector Int64) %1 -> Tg
+  deriving stock (Tg -> Tg -> Bool
+(Tg -> Tg -> Bool) -> (Tg -> Tg -> Bool) -> Eq Tg
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: Tg -> Tg -> Bool
+== :: Tg -> Tg -> Bool
+$c/= :: Tg -> Tg -> Bool
+/= :: Tg -> Tg -> Bool
+Eq, Eq Tg
+Eq Tg =>
+(Tg -> Tg -> Ordering)
+-> (Tg -> Tg -> Bool)
+-> (Tg -> Tg -> Bool)
+-> (Tg -> Tg -> Bool)
+-> (Tg -> Tg -> Bool)
+-> (Tg -> Tg -> Tg)
+-> (Tg -> Tg -> Tg)
+-> Ord Tg
+Tg -> Tg -> Bool
+Tg -> Tg -> Ordering
+Tg -> Tg -> Tg
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: Tg -> Tg -> Ordering
+compare :: Tg -> Tg -> Ordering
+$c< :: Tg -> Tg -> Bool
+< :: Tg -> Tg -> Bool
+$c<= :: Tg -> Tg -> Bool
+<= :: Tg -> Tg -> Bool
+$c> :: Tg -> Tg -> Bool
+> :: Tg -> Tg -> Bool
+$c>= :: Tg -> Tg -> Bool
+>= :: Tg -> Tg -> Bool
+$cmax :: Tg -> Tg -> Tg
+max :: Tg -> Tg -> Tg
+$cmin :: Tg -> Tg -> Tg
+min :: Tg -> Tg -> Tg
+Ord, Int -> Tg -> ShowS
+[Tg] -> ShowS
+Tg -> String
+(Int -> Tg -> ShowS)
+-> (Tg -> String) -> ([Tg] -> ShowS) -> Show Tg
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> Tg -> ShowS
+showsPrec :: Int -> Tg -> ShowS
+$cshow :: Tg -> String
+show :: Tg -> String
+$cshowList :: [Tg] -> ShowS
+showList :: [Tg] -> ShowS
+Show, ReadPrec [Tg]
+ReadPrec Tg
+Int -> ReadS Tg
+ReadS [Tg]
+(Int -> ReadS Tg)
+-> ReadS [Tg] -> ReadPrec Tg -> ReadPrec [Tg] -> Read Tg
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS Tg
+readsPrec :: Int -> ReadS Tg
+$creadList :: ReadS [Tg]
+readList :: ReadS [Tg]
+$creadPrec :: ReadPrec Tg
+readPrec :: ReadPrec Tg
+$creadListPrec :: ReadPrec [Tg]
+readListPrec :: ReadPrec [Tg]
+Read, (forall x. Tg -> Rep Tg x)
+-> (forall x. Rep Tg x -> Tg) -> Generic Tg
+forall x. Rep Tg x -> Tg
+forall x. Tg -> Rep Tg x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. Tg -> Rep Tg x
+from :: forall x. Tg -> Rep Tg x
+$cto :: forall x. Rep Tg x -> Tg
+to :: forall x. Rep Tg x -> Tg
+Generic, Typeable, Typeable Tg
+Typeable Tg =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> Tg -> c Tg)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c Tg)
+-> (Tg -> Constr)
+-> (Tg -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c Tg))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Tg))
+-> ((forall b. Data b => b -> b) -> Tg -> Tg)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Tg -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Tg -> r)
+-> (forall u. (forall d. Data d => d -> u) -> Tg -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> Tg -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> Tg -> m Tg)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Tg -> m Tg)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Tg -> m Tg)
+-> Data Tg
+Tg -> Constr
+Tg -> DataType
+(forall b. Data b => b -> b) -> Tg -> Tg
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> Tg -> u
+forall u. (forall d. Data d => d -> u) -> Tg -> [u]
+forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Tg -> r
+forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Tg -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Tg -> m Tg
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Tg -> m Tg
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Tg
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Tg -> c Tg
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Tg)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Tg)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Tg -> c Tg
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Tg -> c Tg
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Tg
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Tg
+$ctoConstr :: Tg -> Constr
+toConstr :: Tg -> Constr
+$cdataTypeOf :: Tg -> DataType
+dataTypeOf :: Tg -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Tg)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Tg)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Tg)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Tg)
+$cgmapT :: (forall b. Data b => b -> b) -> Tg -> Tg
+gmapT :: (forall b. Data b => b -> b) -> Tg -> Tg
+$cgmapQl :: forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Tg -> r
+gmapQl :: forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Tg -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Tg -> r
+gmapQr :: forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Tg -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> Tg -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> Tg -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Tg -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Tg -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Tg -> m Tg
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Tg -> m Tg
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Tg -> m Tg
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Tg -> m Tg
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Tg -> m Tg
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Tg -> m Tg
+Data)
+  deriving anyclass (Tg -> ()
+(Tg -> ()) -> NFData Tg
+forall a. (a -> ()) -> NFData a
+$crnf :: Tg -> ()
+rnf :: Tg -> ()
+NFData)
+
+instance IsString Tg where
+  fromString :: String -> Tg
+fromString = Text -> Tg
+String (Text -> Tg) -> (String -> Text) -> String -> Tg
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. String -> Text
+T.pack
+
+-- | get the type of a tag
+getty :: Tg -> Ty
+getty :: Tg -> Ty
+getty Tg
+End = Ty
+TEnd
+getty (Byte Int8
+_) = Ty
+TByte
+getty (Short Int16
+_) = Ty
+TShort
+getty (Int Int32
+_) = Ty
+TInt
+getty (Long Int64
+_) = Ty
+TLong
+getty (Float Float
+_) = Ty
+TFloat
+getty (Double Double
+_) = Ty
+TDouble
+getty (ByteArray ByteString
+_) = Ty
+TByteArray
+getty (String Text
+_) = Ty
+TString
+getty (List Ty
+_ Vector Tg
+_) = Ty
+TList
+getty (Compound HashMap Text Tg
+_) = Ty
+TCompound
+getty (IntArray Vector Int32
+_) = Ty
+TIntArray
+getty (LongArray Vector Int64
+_) = Ty
+TLongArray
+{-# INLINE getty #-}
+
\ No newline at end of file diff --git a/src/M.NBT.html b/src/M.NBT.html new file mode 100644 index 0000000..2ac2306 --- /dev/null +++ b/src/M.NBT.html @@ -0,0 +1,14 @@ +
-- |
+-- Module: M.NBT
+-- Description: Java NBT (Named Binary Tag) format implementation
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Provides types and functions for working with Minecraft's NBT format, which is
+-- used for storing structured binary data.
+module M.NBT (Ty (..), Tg (..), NamedPair (..)) where
+
+import M.NBT.Internal.JS ()
+import M.NBT.Internal.P
+import M.NBT.Internal.Types
+
\ No newline at end of file diff --git a/src/M.Pack.Internal.Bit.html b/src/M.Pack.Internal.Bit.html new file mode 100644 index 0000000..b424b87 --- /dev/null +++ b/src/M.Pack.Internal.Bit.html @@ -0,0 +1,2108 @@ +
{-# LANGUAGE UndecidableInstances #-}
+
+-- |
+-- Module: M.Pack.Internal.Bit
+-- Description: Bit-level serialization support
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Implements bit-level serialization for boolean flags and bitsets,
+-- supporting both variable-length and fixed-length bit patterns.
+module M.Pack.Internal.Bit
+  ( Bitwise (..),
+    Bitreppable (..),
+    Bitset (..),
+    FixedBitset (..),
+  )
+where
+
+import Control.DeepSeq
+import Data.Bits
+import Data.ByteString.Builder (Builder)
+import Data.Data
+import Data.Hashable
+import Data.Int
+import Data.Vector.Unboxed qualified as VU
+import GHC.Generics
+import GHC.TypeLits
+import Language.Haskell.TH.Syntax (Lift)
+import M.Pack.Internal.Etc ()
+import M.Pack.Internal.Types
+
+-- | a wrapper type that enables bit-level packing of boolean product types.
+-- the type parameter @i@ specifies the underlying integral type used to store
+-- the bits (e.g. Word8, Word16, etc). the type parameter @a@ is the product
+-- type containing the boolean fields to be encoded.
+newtype Bitwise i a = Bitwise {forall {k} (i :: k) a. Bitwise i a -> a
+unbitwise :: a}
+  deriving stock ((forall x. Bitwise i a -> Rep (Bitwise i a) x)
+-> (forall x. Rep (Bitwise i a) x -> Bitwise i a)
+-> Generic (Bitwise i a)
+forall x. Rep (Bitwise i a) x -> Bitwise i a
+forall x. Bitwise i a -> Rep (Bitwise i a) x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+forall k (i :: k) a x. Rep (Bitwise i a) x -> Bitwise i a
+forall k (i :: k) a x. Bitwise i a -> Rep (Bitwise i a) x
+$cfrom :: forall k (i :: k) a x. Bitwise i a -> Rep (Bitwise i a) x
+from :: forall x. Bitwise i a -> Rep (Bitwise i a) x
+$cto :: forall k (i :: k) a x. Rep (Bitwise i a) x -> Bitwise i a
+to :: forall x. Rep (Bitwise i a) x -> Bitwise i a
+Generic, Typeable, Typeable (Bitwise i a)
+Typeable (Bitwise i a) =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> Bitwise i a -> c (Bitwise i a))
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c (Bitwise i a))
+-> (Bitwise i a -> Constr)
+-> (Bitwise i a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c (Bitwise i a)))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c (Bitwise i a)))
+-> ((forall b. Data b => b -> b) -> Bitwise i a -> Bitwise i a)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> Bitwise i a -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> Bitwise i a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> Bitwise i a -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> Bitwise i a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> Bitwise i a -> m (Bitwise i a))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Bitwise i a -> m (Bitwise i a))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Bitwise i a -> m (Bitwise i a))
+-> Data (Bitwise i a)
+Bitwise i a -> Constr
+Bitwise i a -> DataType
+(forall b. Data b => b -> b) -> Bitwise i a -> Bitwise i a
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> Bitwise i a -> u
+forall u. (forall d. Data d => d -> u) -> Bitwise i a -> [u]
+forall k (i :: k) a.
+(Typeable i, Typeable k, Data a) =>
+Typeable (Bitwise i a)
+forall k (i :: k) a.
+(Typeable i, Typeable k, Data a) =>
+Bitwise i a -> Constr
+forall k (i :: k) a.
+(Typeable i, Typeable k, Data a) =>
+Bitwise i a -> DataType
+forall k (i :: k) a.
+(Typeable i, Typeable k, Data a) =>
+(forall b. Data b => b -> b) -> Bitwise i a -> Bitwise i a
+forall k (i :: k) a u.
+(Typeable i, Typeable k, Data a) =>
+Int -> (forall d. Data d => d -> u) -> Bitwise i a -> u
+forall k (i :: k) a u.
+(Typeable i, Typeable k, Data a) =>
+(forall d. Data d => d -> u) -> Bitwise i a -> [u]
+forall k (i :: k) a r r'.
+(Typeable i, Typeable k, Data a) =>
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Bitwise i a -> r
+forall k (i :: k) a r r'.
+(Typeable i, Typeable k, Data a) =>
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Bitwise i a -> r
+forall k (i :: k) a (m :: * -> *).
+(Typeable i, Typeable k, Data a, Monad m) =>
+(forall d. Data d => d -> m d) -> Bitwise i a -> m (Bitwise i a)
+forall k (i :: k) a (m :: * -> *).
+(Typeable i, Typeable k, Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d) -> Bitwise i a -> m (Bitwise i a)
+forall k (i :: k) a (c :: * -> *).
+(Typeable i, Typeable k, Data a) =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (Bitwise i a)
+forall k (i :: k) a (c :: * -> *).
+(Typeable i, Typeable k, Data a) =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Bitwise i a -> c (Bitwise i a)
+forall k (i :: k) a (t :: * -> *) (c :: * -> *).
+(Typeable i, Typeable k, Data a, Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (Bitwise i a))
+forall k (i :: k) a (t :: * -> * -> *) (c :: * -> *).
+(Typeable i, Typeable k, Data a, Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (Bitwise i a))
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Bitwise i a -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Bitwise i a -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Bitwise i a -> m (Bitwise i a)
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Bitwise i a -> m (Bitwise i a)
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (Bitwise i a)
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Bitwise i a -> c (Bitwise i a)
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (Bitwise i a))
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (Bitwise i a))
+$cgfoldl :: forall k (i :: k) a (c :: * -> *).
+(Typeable i, Typeable k, Data a) =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Bitwise i a -> c (Bitwise i a)
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Bitwise i a -> c (Bitwise i a)
+$cgunfold :: forall k (i :: k) a (c :: * -> *).
+(Typeable i, Typeable k, Data a) =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (Bitwise i a)
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (Bitwise i a)
+$ctoConstr :: forall k (i :: k) a.
+(Typeable i, Typeable k, Data a) =>
+Bitwise i a -> Constr
+toConstr :: Bitwise i a -> Constr
+$cdataTypeOf :: forall k (i :: k) a.
+(Typeable i, Typeable k, Data a) =>
+Bitwise i a -> DataType
+dataTypeOf :: Bitwise i a -> DataType
+$cdataCast1 :: forall k (i :: k) a (t :: * -> *) (c :: * -> *).
+(Typeable i, Typeable k, Data a, Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (Bitwise i a))
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (Bitwise i a))
+$cdataCast2 :: forall k (i :: k) a (t :: * -> * -> *) (c :: * -> *).
+(Typeable i, Typeable k, Data a, Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (Bitwise i a))
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (Bitwise i a))
+$cgmapT :: forall k (i :: k) a.
+(Typeable i, Typeable k, Data a) =>
+(forall b. Data b => b -> b) -> Bitwise i a -> Bitwise i a
+gmapT :: (forall b. Data b => b -> b) -> Bitwise i a -> Bitwise i a
+$cgmapQl :: forall k (i :: k) a r r'.
+(Typeable i, Typeable k, Data a) =>
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Bitwise i a -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Bitwise i a -> r
+$cgmapQr :: forall k (i :: k) a r r'.
+(Typeable i, Typeable k, Data a) =>
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Bitwise i a -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Bitwise i a -> r
+$cgmapQ :: forall k (i :: k) a u.
+(Typeable i, Typeable k, Data a) =>
+(forall d. Data d => d -> u) -> Bitwise i a -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> Bitwise i a -> [u]
+$cgmapQi :: forall k (i :: k) a u.
+(Typeable i, Typeable k, Data a) =>
+Int -> (forall d. Data d => d -> u) -> Bitwise i a -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Bitwise i a -> u
+$cgmapM :: forall k (i :: k) a (m :: * -> *).
+(Typeable i, Typeable k, Data a, Monad m) =>
+(forall d. Data d => d -> m d) -> Bitwise i a -> m (Bitwise i a)
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Bitwise i a -> m (Bitwise i a)
+$cgmapMp :: forall k (i :: k) a (m :: * -> *).
+(Typeable i, Typeable k, Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d) -> Bitwise i a -> m (Bitwise i a)
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Bitwise i a -> m (Bitwise i a)
+$cgmapMo :: forall k (i :: k) a (m :: * -> *).
+(Typeable i, Typeable k, Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d) -> Bitwise i a -> m (Bitwise i a)
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Bitwise i a -> m (Bitwise i a)
+Data, (forall a b. (a -> b) -> Bitwise i a -> Bitwise i b)
+-> (forall a b. a -> Bitwise i b -> Bitwise i a)
+-> Functor (Bitwise i)
+forall k (i :: k) a b. a -> Bitwise i b -> Bitwise i a
+forall k (i :: k) a b. (a -> b) -> Bitwise i a -> Bitwise i b
+forall a b. a -> Bitwise i b -> Bitwise i a
+forall a b. (a -> b) -> Bitwise i a -> Bitwise i b
+forall (f :: * -> *).
+(forall a b. (a -> b) -> f a -> f b)
+-> (forall a b. a -> f b -> f a) -> Functor f
+$cfmap :: forall k (i :: k) a b. (a -> b) -> Bitwise i a -> Bitwise i b
+fmap :: forall a b. (a -> b) -> Bitwise i a -> Bitwise i b
+$c<$ :: forall k (i :: k) a b. a -> Bitwise i b -> Bitwise i a
+<$ :: forall a b. a -> Bitwise i b -> Bitwise i a
+Functor, (forall (m :: * -> *). Quote m => Bitwise i a -> m Exp)
+-> (forall (m :: * -> *).
+    Quote m =>
+    Bitwise i a -> Code m (Bitwise i a))
+-> Lift (Bitwise i a)
+forall k (i :: k) a (m :: * -> *).
+(Lift a, Quote m) =>
+Bitwise i a -> m Exp
+forall k (i :: k) a (m :: * -> *).
+(Lift a, Quote m) =>
+Bitwise i a -> Code m (Bitwise i a)
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => Bitwise i a -> m Exp
+forall (m :: * -> *).
+Quote m =>
+Bitwise i a -> Code m (Bitwise i a)
+$clift :: forall k (i :: k) a (m :: * -> *).
+(Lift a, Quote m) =>
+Bitwise i a -> m Exp
+lift :: forall (m :: * -> *). Quote m => Bitwise i a -> m Exp
+$cliftTyped :: forall k (i :: k) a (m :: * -> *).
+(Lift a, Quote m) =>
+Bitwise i a -> Code m (Bitwise i a)
+liftTyped :: forall (m :: * -> *).
+Quote m =>
+Bitwise i a -> Code m (Bitwise i a)
+Lift)
+  deriving newtype (Bitwise i a -> Bitwise i a -> Bool
+(Bitwise i a -> Bitwise i a -> Bool)
+-> (Bitwise i a -> Bitwise i a -> Bool) -> Eq (Bitwise i a)
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+forall k (i :: k) a. Eq a => Bitwise i a -> Bitwise i a -> Bool
+$c== :: forall k (i :: k) a. Eq a => Bitwise i a -> Bitwise i a -> Bool
+== :: Bitwise i a -> Bitwise i a -> Bool
+$c/= :: forall k (i :: k) a. Eq a => Bitwise i a -> Bitwise i a -> Bool
+/= :: Bitwise i a -> Bitwise i a -> Bool
+Eq, Eq (Bitwise i a)
+Eq (Bitwise i a) =>
+(Bitwise i a -> Bitwise i a -> Ordering)
+-> (Bitwise i a -> Bitwise i a -> Bool)
+-> (Bitwise i a -> Bitwise i a -> Bool)
+-> (Bitwise i a -> Bitwise i a -> Bool)
+-> (Bitwise i a -> Bitwise i a -> Bool)
+-> (Bitwise i a -> Bitwise i a -> Bitwise i a)
+-> (Bitwise i a -> Bitwise i a -> Bitwise i a)
+-> Ord (Bitwise i a)
+Bitwise i a -> Bitwise i a -> Bool
+Bitwise i a -> Bitwise i a -> Ordering
+Bitwise i a -> Bitwise i a -> Bitwise i a
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+forall k (i :: k) a. Ord a => Eq (Bitwise i a)
+forall k (i :: k) a. Ord a => Bitwise i a -> Bitwise i a -> Bool
+forall k (i :: k) a.
+Ord a =>
+Bitwise i a -> Bitwise i a -> Ordering
+forall k (i :: k) a.
+Ord a =>
+Bitwise i a -> Bitwise i a -> Bitwise i a
+$ccompare :: forall k (i :: k) a.
+Ord a =>
+Bitwise i a -> Bitwise i a -> Ordering
+compare :: Bitwise i a -> Bitwise i a -> Ordering
+$c< :: forall k (i :: k) a. Ord a => Bitwise i a -> Bitwise i a -> Bool
+< :: Bitwise i a -> Bitwise i a -> Bool
+$c<= :: forall k (i :: k) a. Ord a => Bitwise i a -> Bitwise i a -> Bool
+<= :: Bitwise i a -> Bitwise i a -> Bool
+$c> :: forall k (i :: k) a. Ord a => Bitwise i a -> Bitwise i a -> Bool
+> :: Bitwise i a -> Bitwise i a -> Bool
+$c>= :: forall k (i :: k) a. Ord a => Bitwise i a -> Bitwise i a -> Bool
+>= :: Bitwise i a -> Bitwise i a -> Bool
+$cmax :: forall k (i :: k) a.
+Ord a =>
+Bitwise i a -> Bitwise i a -> Bitwise i a
+max :: Bitwise i a -> Bitwise i a -> Bitwise i a
+$cmin :: forall k (i :: k) a.
+Ord a =>
+Bitwise i a -> Bitwise i a -> Bitwise i a
+min :: Bitwise i a -> Bitwise i a -> Bitwise i a
+Ord, Int -> Bitwise i a -> ShowS
+[Bitwise i a] -> ShowS
+Bitwise i a -> String
+(Int -> Bitwise i a -> ShowS)
+-> (Bitwise i a -> String)
+-> ([Bitwise i a] -> ShowS)
+-> Show (Bitwise i a)
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+forall k (i :: k) a. Show a => Int -> Bitwise i a -> ShowS
+forall k (i :: k) a. Show a => [Bitwise i a] -> ShowS
+forall k (i :: k) a. Show a => Bitwise i a -> String
+$cshowsPrec :: forall k (i :: k) a. Show a => Int -> Bitwise i a -> ShowS
+showsPrec :: Int -> Bitwise i a -> ShowS
+$cshow :: forall k (i :: k) a. Show a => Bitwise i a -> String
+show :: Bitwise i a -> String
+$cshowList :: forall k (i :: k) a. Show a => [Bitwise i a] -> ShowS
+showList :: [Bitwise i a] -> ShowS
+Show, ReadPrec [Bitwise i a]
+ReadPrec (Bitwise i a)
+Int -> ReadS (Bitwise i a)
+ReadS [Bitwise i a]
+(Int -> ReadS (Bitwise i a))
+-> ReadS [Bitwise i a]
+-> ReadPrec (Bitwise i a)
+-> ReadPrec [Bitwise i a]
+-> Read (Bitwise i a)
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+forall k (i :: k) a. Read a => ReadPrec [Bitwise i a]
+forall k (i :: k) a. Read a => ReadPrec (Bitwise i a)
+forall k (i :: k) a. Read a => Int -> ReadS (Bitwise i a)
+forall k (i :: k) a. Read a => ReadS [Bitwise i a]
+$creadsPrec :: forall k (i :: k) a. Read a => Int -> ReadS (Bitwise i a)
+readsPrec :: Int -> ReadS (Bitwise i a)
+$creadList :: forall k (i :: k) a. Read a => ReadS [Bitwise i a]
+readList :: ReadS [Bitwise i a]
+$creadPrec :: forall k (i :: k) a. Read a => ReadPrec (Bitwise i a)
+readPrec :: ReadPrec (Bitwise i a)
+$creadListPrec :: forall k (i :: k) a. Read a => ReadPrec [Bitwise i a]
+readListPrec :: ReadPrec [Bitwise i a]
+Read, Eq (Bitwise i a)
+Eq (Bitwise i a) =>
+(Int -> Bitwise i a -> Int)
+-> (Bitwise i a -> Int) -> Hashable (Bitwise i a)
+Int -> Bitwise i a -> Int
+Bitwise i a -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+forall k (i :: k) a. Hashable a => Eq (Bitwise i a)
+forall k (i :: k) a. Hashable a => Int -> Bitwise i a -> Int
+forall k (i :: k) a. Hashable a => Bitwise i a -> Int
+$chashWithSalt :: forall k (i :: k) a. Hashable a => Int -> Bitwise i a -> Int
+hashWithSalt :: Int -> Bitwise i a -> Int
+$chash :: forall k (i :: k) a. Hashable a => Bitwise i a -> Int
+hash :: Bitwise i a -> Int
+Hashable, Bitwise i a -> ()
+(Bitwise i a -> ()) -> NFData (Bitwise i a)
+forall a. (a -> ()) -> NFData a
+forall k (i :: k) a. NFData a => Bitwise i a -> ()
+$crnf :: forall k (i :: k) a. NFData a => Bitwise i a -> ()
+rnf :: Bitwise i a -> ()
+NFData)
+
+instance (Bitreppable i a) => Pack (Bitwise i a) where
+  pack :: Bitwise i a -> Builder
+pack = forall i a. Bitreppable i a => a -> Builder
+tobits0 @i (a -> Builder) -> (Bitwise i a -> a) -> Bitwise i a -> Builder
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Bitwise i a -> a
+forall {k} (i :: k) a. Bitwise i a -> a
+unbitwise
+  {-# INLINEABLE pack #-}
+
+instance (Bitreppable i a) => Unpack (Bitwise i a) where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r (Bitwise i a)
+unpack = a -> Bitwise i a
+forall {k} (i :: k) a. a -> Bitwise i a
+Bitwise (a -> Bitwise i a)
+-> ParserT st r ParseError a
+-> ParserT st r ParseError (Bitwise i a)
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> forall i a (st :: ZeroBitType) r. Bitreppable i a => Parser st r a
+frombits0 @i
+  {-# INLINEABLE unpack #-}
+
+-- | type class for types that can be represented as bit flags.
+-- provides methods for converting to and from bit representations.
+--
+-- most users should not need to implement this directly - just derive 'Generic'
+-- for your type and declare an instance without implementations:
+--
+-- @
+-- instance Bitreppable Word8 MyFlags
+-- @
+class Bitreppable i a where
+  tobits0 :: a -> Builder
+  default tobits0 ::
+    (Generic a, GBitRep (Rep a), Integral i, Bits i, Pack i) =>
+    a -> Builder
+  tobits0 = i -> Builder
+forall a. Pack a => a -> Builder
+pack (i -> Builder) -> (a -> i) -> a -> Builder
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. (i, Int) -> i
+forall a b. (a, b) -> a
+fst ((i, Int) -> i) -> (a -> (i, Int)) -> a -> i
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. i -> Int -> Rep a Any -> (i, Int)
+forall i p. (Bits i, Integral i) => i -> Int -> Rep a p -> (i, Int)
+forall {k} (f :: k -> *) i (p :: k).
+(GBitRep f, Bits i, Integral i) =>
+i -> Int -> f p -> (i, Int)
+tobits (i
+0 :: i) Int
+0 (Rep a Any -> (i, Int)) -> (a -> Rep a Any) -> a -> (i, Int)
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. a -> Rep a Any
+forall x. a -> Rep a x
+forall a x. Generic a => a -> Rep a x
+from
+  {-# INLINE tobits0 #-}
+  frombits0 :: Parser st r a
+  default frombits0 ::
+    forall r st.
+    (Generic a, GBitRep (Rep a), Integral i, Bits i, Unpack i) =>
+    Parser st r a
+  frombits0 = Rep a Any -> a
+forall a x. Generic a => Rep a x -> a
+forall x. Rep a x -> a
+to (Rep a Any -> a) -> (i -> Rep a Any) -> i -> a
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. (Rep a Any, Int) -> Rep a Any
+forall a b. (a, b) -> a
+fst ((Rep a Any, Int) -> Rep a Any)
+-> (i -> (Rep a Any, Int)) -> i -> Rep a Any
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. (i -> Int -> (Rep a Any, Int)) -> Int -> i -> (Rep a Any, Int)
+forall a b c. (a -> b -> c) -> b -> a -> c
+flip i -> Int -> (Rep a Any, Int)
+forall i p. (Bits i, Integral i) => i -> Int -> (Rep a p, Int)
+forall {k} (f :: k -> *) i (p :: k).
+(GBitRep f, Bits i, Integral i) =>
+i -> Int -> (f p, Int)
+frombits Int
+0 (i -> a) -> ParserT st r ParseError i -> ParserT st r ParseError a
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack @i
+  {-# INLINE frombits0 #-}
+
+-- internal class for encoding/decoding bit flags
+class GBitRep f where
+  tobits ::
+    (Bits i, Integral i) =>
+    i -> -- accumulator
+    Int -> -- current bit position
+    f p ->
+    (i, Int) -- new accumulator, new position
+  frombits ::
+    (Bits i, Integral i) =>
+    -- accumulator
+    i ->
+    -- current bit position
+    Int ->
+    -- representation, new position
+    (f p, Int)
+
+instance GBitRep V1 where
+  tobits :: forall i (p :: k).
+(Bits i, Integral i) =>
+i -> Int -> V1 p -> (i, Int)
+tobits i
+_ Int
+_ V1 p
+_ = (i
+0, Int
+0)
+  {-# INLINE tobits #-}
+  frombits :: forall i (p :: k). (Bits i, Integral i) => i -> Int -> (V1 p, Int)
+frombits i
+_ Int
+p = (V1 p
+forall a. HasCallStack => a
+undefined, Int
+p)
+  {-# INLINE frombits #-}
+
+instance GBitRep U1 where
+  tobits :: forall i (p :: k).
+(Bits i, Integral i) =>
+i -> Int -> U1 p -> (i, Int)
+tobits i
+i Int
+p U1 p
+_ = (i
+i, Int
+p)
+  {-# INLINE tobits #-}
+  frombits :: forall i (p :: k). (Bits i, Integral i) => i -> Int -> (U1 p, Int)
+frombits i
+_ Int
+p = (U1 p
+forall k (p :: k). U1 p
+U1, Int
+p)
+  {-# INLINE frombits #-}
+
+instance GBitRep (K1 R Bool) where
+  tobits :: forall i (p :: k).
+(Bits i, Integral i) =>
+i -> Int -> K1 R Bool p -> (i, Int)
+tobits i
+i Int
+p (K1 Bool
+True) = (i -> Int -> i
+forall a. Bits a => a -> Int -> a
+setBit i
+i Int
+p, Int
+p Int -> Int -> Int
+forall a. Num a => a -> a -> a
++ Int
+1)
+  tobits i
+i Int
+p (K1 Bool
+False) = (i -> Int -> i
+forall a. Bits a => a -> Int -> a
+clearBit i
+i Int
+p, Int
+p Int -> Int -> Int
+forall a. Num a => a -> a -> a
++ Int
+1)
+  {-# INLINE tobits #-}
+  frombits :: forall i (p :: k).
+(Bits i, Integral i) =>
+i -> Int -> (K1 R Bool p, Int)
+frombits i
+i Int
+p = (Bool -> K1 R Bool p
+forall k i c (p :: k). c -> K1 i c p
+K1 (i -> Int -> Bool
+forall a. Bits a => a -> Int -> Bool
+testBit i
+i Int
+p), Int
+p Int -> Int -> Int
+forall a. Num a => a -> a -> a
++ Int
+1)
+  {-# INLINE frombits #-}
+
+instance (GBitRep f) => GBitRep (M1 i c f) where
+  tobits :: forall i (p :: k).
+(Bits i, Integral i) =>
+i -> Int -> M1 i c f p -> (i, Int)
+tobits i
+i Int
+p (M1 f p
+x) = i -> Int -> f p -> (i, Int)
+forall i (p :: k).
+(Bits i, Integral i) =>
+i -> Int -> f p -> (i, Int)
+forall {k} (f :: k -> *) i (p :: k).
+(GBitRep f, Bits i, Integral i) =>
+i -> Int -> f p -> (i, Int)
+tobits i
+i Int
+p f p
+x
+  frombits :: forall i (p :: k).
+(Bits i, Integral i) =>
+i -> Int -> (M1 i c f p, Int)
+frombits i
+i Int
+p = case i -> Int -> (f p, Int)
+forall i (p :: k). (Bits i, Integral i) => i -> Int -> (f p, Int)
+forall {k} (f :: k -> *) i (p :: k).
+(GBitRep f, Bits i, Integral i) =>
+i -> Int -> (f p, Int)
+frombits i
+i Int
+p of
+    (f p
+x, Int
+p') -> (f p -> M1 i c f p
+forall k i (c :: Meta) (f :: k -> *) (p :: k). f p -> M1 i c f p
+M1 f p
+x, Int
+p')
+
+instance (GBitRep f, GBitRep g) => GBitRep (f :*: g) where
+  tobits :: forall i (p :: k).
+(Bits i, Integral i) =>
+i -> Int -> (:*:) f g p -> (i, Int)
+tobits i
+i Int
+p (f p
+x :*: g p
+y) =
+    let (i
+i', Int
+p') = i -> Int -> f p -> (i, Int)
+forall i (p :: k).
+(Bits i, Integral i) =>
+i -> Int -> f p -> (i, Int)
+forall {k} (f :: k -> *) i (p :: k).
+(GBitRep f, Bits i, Integral i) =>
+i -> Int -> f p -> (i, Int)
+tobits i
+i Int
+p f p
+x
+     in i -> Int -> g p -> (i, Int)
+forall i (p :: k).
+(Bits i, Integral i) =>
+i -> Int -> g p -> (i, Int)
+forall {k} (f :: k -> *) i (p :: k).
+(GBitRep f, Bits i, Integral i) =>
+i -> Int -> f p -> (i, Int)
+tobits i
+i' Int
+p' g p
+y
+  frombits :: forall i (p :: k).
+(Bits i, Integral i) =>
+i -> Int -> ((:*:) f g p, Int)
+frombits i
+i Int
+p = case i -> Int -> (f p, Int)
+forall i (p :: k). (Bits i, Integral i) => i -> Int -> (f p, Int)
+forall {k} (f :: k -> *) i (p :: k).
+(GBitRep f, Bits i, Integral i) =>
+i -> Int -> (f p, Int)
+frombits i
+i Int
+p of
+    (f p
+x, Int
+p') -> case i -> Int -> (g p, Int)
+forall i (p :: k). (Bits i, Integral i) => i -> Int -> (g p, Int)
+forall {k} (f :: k -> *) i (p :: k).
+(GBitRep f, Bits i, Integral i) =>
+i -> Int -> (f p, Int)
+frombits i
+i Int
+p' of
+      (g p
+y, Int
+p'') -> (f p
+x f p -> g p -> (:*:) f g p
+forall k (f :: k -> *) (g :: k -> *) (p :: k).
+f p -> g p -> (:*:) f g p
+:*: g p
+y, Int
+p'')
+
+-- | variable-length bitset
+--
+-- (network representation: little-endian vector of 'Int64's)
+newtype Bitset = Bitset {Bitset -> Integer
+getbitset :: Integer}
+  deriving stock ((forall x. Bitset -> Rep Bitset x)
+-> (forall x. Rep Bitset x -> Bitset) -> Generic Bitset
+forall x. Rep Bitset x -> Bitset
+forall x. Bitset -> Rep Bitset x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. Bitset -> Rep Bitset x
+from :: forall x. Bitset -> Rep Bitset x
+$cto :: forall x. Rep Bitset x -> Bitset
+to :: forall x. Rep Bitset x -> Bitset
+Generic, Typeable, Typeable Bitset
+Typeable Bitset =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> Bitset -> c Bitset)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c Bitset)
+-> (Bitset -> Constr)
+-> (Bitset -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c Bitset))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Bitset))
+-> ((forall b. Data b => b -> b) -> Bitset -> Bitset)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> Bitset -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> Bitset -> r)
+-> (forall u. (forall d. Data d => d -> u) -> Bitset -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> Bitset -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> Bitset -> m Bitset)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Bitset -> m Bitset)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Bitset -> m Bitset)
+-> Data Bitset
+Bitset -> Constr
+Bitset -> DataType
+(forall b. Data b => b -> b) -> Bitset -> Bitset
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> Bitset -> u
+forall u. (forall d. Data d => d -> u) -> Bitset -> [u]
+forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Bitset -> r
+forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Bitset -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Bitset -> m Bitset
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Bitset -> m Bitset
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Bitset
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Bitset -> c Bitset
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Bitset)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Bitset)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Bitset -> c Bitset
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Bitset -> c Bitset
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Bitset
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Bitset
+$ctoConstr :: Bitset -> Constr
+toConstr :: Bitset -> Constr
+$cdataTypeOf :: Bitset -> DataType
+dataTypeOf :: Bitset -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Bitset)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Bitset)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Bitset)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Bitset)
+$cgmapT :: (forall b. Data b => b -> b) -> Bitset -> Bitset
+gmapT :: (forall b. Data b => b -> b) -> Bitset -> Bitset
+$cgmapQl :: forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Bitset -> r
+gmapQl :: forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Bitset -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Bitset -> r
+gmapQr :: forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Bitset -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> Bitset -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> Bitset -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Bitset -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Bitset -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Bitset -> m Bitset
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Bitset -> m Bitset
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Bitset -> m Bitset
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Bitset -> m Bitset
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Bitset -> m Bitset
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Bitset -> m Bitset
+Data, (forall (m :: * -> *). Quote m => Bitset -> m Exp)
+-> (forall (m :: * -> *). Quote m => Bitset -> Code m Bitset)
+-> Lift Bitset
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => Bitset -> m Exp
+forall (m :: * -> *). Quote m => Bitset -> Code m Bitset
+$clift :: forall (m :: * -> *). Quote m => Bitset -> m Exp
+lift :: forall (m :: * -> *). Quote m => Bitset -> m Exp
+$cliftTyped :: forall (m :: * -> *). Quote m => Bitset -> Code m Bitset
+liftTyped :: forall (m :: * -> *). Quote m => Bitset -> Code m Bitset
+Lift)
+  deriving newtype (Bitset -> Bitset -> Bool
+(Bitset -> Bitset -> Bool)
+-> (Bitset -> Bitset -> Bool) -> Eq Bitset
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: Bitset -> Bitset -> Bool
+== :: Bitset -> Bitset -> Bool
+$c/= :: Bitset -> Bitset -> Bool
+/= :: Bitset -> Bitset -> Bool
+Eq, Eq Bitset
+Eq Bitset =>
+(Bitset -> Bitset -> Ordering)
+-> (Bitset -> Bitset -> Bool)
+-> (Bitset -> Bitset -> Bool)
+-> (Bitset -> Bitset -> Bool)
+-> (Bitset -> Bitset -> Bool)
+-> (Bitset -> Bitset -> Bitset)
+-> (Bitset -> Bitset -> Bitset)
+-> Ord Bitset
+Bitset -> Bitset -> Bool
+Bitset -> Bitset -> Ordering
+Bitset -> Bitset -> Bitset
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: Bitset -> Bitset -> Ordering
+compare :: Bitset -> Bitset -> Ordering
+$c< :: Bitset -> Bitset -> Bool
+< :: Bitset -> Bitset -> Bool
+$c<= :: Bitset -> Bitset -> Bool
+<= :: Bitset -> Bitset -> Bool
+$c> :: Bitset -> Bitset -> Bool
+> :: Bitset -> Bitset -> Bool
+$c>= :: Bitset -> Bitset -> Bool
+>= :: Bitset -> Bitset -> Bool
+$cmax :: Bitset -> Bitset -> Bitset
+max :: Bitset -> Bitset -> Bitset
+$cmin :: Bitset -> Bitset -> Bitset
+min :: Bitset -> Bitset -> Bitset
+Ord, Int -> Bitset -> ShowS
+[Bitset] -> ShowS
+Bitset -> String
+(Int -> Bitset -> ShowS)
+-> (Bitset -> String) -> ([Bitset] -> ShowS) -> Show Bitset
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> Bitset -> ShowS
+showsPrec :: Int -> Bitset -> ShowS
+$cshow :: Bitset -> String
+show :: Bitset -> String
+$cshowList :: [Bitset] -> ShowS
+showList :: [Bitset] -> ShowS
+Show, ReadPrec [Bitset]
+ReadPrec Bitset
+Int -> ReadS Bitset
+ReadS [Bitset]
+(Int -> ReadS Bitset)
+-> ReadS [Bitset]
+-> ReadPrec Bitset
+-> ReadPrec [Bitset]
+-> Read Bitset
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS Bitset
+readsPrec :: Int -> ReadS Bitset
+$creadList :: ReadS [Bitset]
+readList :: ReadS [Bitset]
+$creadPrec :: ReadPrec Bitset
+readPrec :: ReadPrec Bitset
+$creadListPrec :: ReadPrec [Bitset]
+readListPrec :: ReadPrec [Bitset]
+Read, Eq Bitset
+Eq Bitset =>
+(Int -> Bitset -> Int) -> (Bitset -> Int) -> Hashable Bitset
+Int -> Bitset -> Int
+Bitset -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+$chashWithSalt :: Int -> Bitset -> Int
+hashWithSalt :: Int -> Bitset -> Int
+$chash :: Bitset -> Int
+hash :: Bitset -> Int
+Hashable, Bitset -> ()
+(Bitset -> ()) -> NFData Bitset
+forall a. (a -> ()) -> NFData a
+$crnf :: Bitset -> ()
+rnf :: Bitset -> ()
+NFData)
+  deriving newtype (Int -> Bitset
+Bitset -> Int
+Bitset -> [Bitset]
+Bitset -> Bitset
+Bitset -> Bitset -> [Bitset]
+Bitset -> Bitset -> Bitset -> [Bitset]
+(Bitset -> Bitset)
+-> (Bitset -> Bitset)
+-> (Int -> Bitset)
+-> (Bitset -> Int)
+-> (Bitset -> [Bitset])
+-> (Bitset -> Bitset -> [Bitset])
+-> (Bitset -> Bitset -> [Bitset])
+-> (Bitset -> Bitset -> Bitset -> [Bitset])
+-> Enum Bitset
+forall a.
+(a -> a)
+-> (a -> a)
+-> (Int -> a)
+-> (a -> Int)
+-> (a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> a -> [a])
+-> Enum a
+$csucc :: Bitset -> Bitset
+succ :: Bitset -> Bitset
+$cpred :: Bitset -> Bitset
+pred :: Bitset -> Bitset
+$ctoEnum :: Int -> Bitset
+toEnum :: Int -> Bitset
+$cfromEnum :: Bitset -> Int
+fromEnum :: Bitset -> Int
+$cenumFrom :: Bitset -> [Bitset]
+enumFrom :: Bitset -> [Bitset]
+$cenumFromThen :: Bitset -> Bitset -> [Bitset]
+enumFromThen :: Bitset -> Bitset -> [Bitset]
+$cenumFromTo :: Bitset -> Bitset -> [Bitset]
+enumFromTo :: Bitset -> Bitset -> [Bitset]
+$cenumFromThenTo :: Bitset -> Bitset -> Bitset -> [Bitset]
+enumFromThenTo :: Bitset -> Bitset -> Bitset -> [Bitset]
+Enum, Integer -> Bitset
+Bitset -> Bitset
+Bitset -> Bitset -> Bitset
+(Bitset -> Bitset -> Bitset)
+-> (Bitset -> Bitset -> Bitset)
+-> (Bitset -> Bitset -> Bitset)
+-> (Bitset -> Bitset)
+-> (Bitset -> Bitset)
+-> (Bitset -> Bitset)
+-> (Integer -> Bitset)
+-> Num Bitset
+forall a.
+(a -> a -> a)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> (a -> a)
+-> (a -> a)
+-> (a -> a)
+-> (Integer -> a)
+-> Num a
+$c+ :: Bitset -> Bitset -> Bitset
++ :: Bitset -> Bitset -> Bitset
+$c- :: Bitset -> Bitset -> Bitset
+- :: Bitset -> Bitset -> Bitset
+$c* :: Bitset -> Bitset -> Bitset
+* :: Bitset -> Bitset -> Bitset
+$cnegate :: Bitset -> Bitset
+negate :: Bitset -> Bitset
+$cabs :: Bitset -> Bitset
+abs :: Bitset -> Bitset
+$csignum :: Bitset -> Bitset
+signum :: Bitset -> Bitset
+$cfromInteger :: Integer -> Bitset
+fromInteger :: Integer -> Bitset
+Num, Num Bitset
+Ord Bitset
+(Num Bitset, Ord Bitset) => (Bitset -> Rational) -> Real Bitset
+Bitset -> Rational
+forall a. (Num a, Ord a) => (a -> Rational) -> Real a
+$ctoRational :: Bitset -> Rational
+toRational :: Bitset -> Rational
+Real, Eq Bitset
+Bitset
+Eq Bitset =>
+(Bitset -> Bitset -> Bitset)
+-> (Bitset -> Bitset -> Bitset)
+-> (Bitset -> Bitset -> Bitset)
+-> (Bitset -> Bitset)
+-> (Bitset -> Int -> Bitset)
+-> (Bitset -> Int -> Bitset)
+-> Bitset
+-> (Int -> Bitset)
+-> (Bitset -> Int -> Bitset)
+-> (Bitset -> Int -> Bitset)
+-> (Bitset -> Int -> Bitset)
+-> (Bitset -> Int -> Bool)
+-> (Bitset -> Maybe Int)
+-> (Bitset -> Int)
+-> (Bitset -> Bool)
+-> (Bitset -> Int -> Bitset)
+-> (Bitset -> Int -> Bitset)
+-> (Bitset -> Int -> Bitset)
+-> (Bitset -> Int -> Bitset)
+-> (Bitset -> Int -> Bitset)
+-> (Bitset -> Int -> Bitset)
+-> (Bitset -> Int)
+-> Bits Bitset
+Int -> Bitset
+Bitset -> Bool
+Bitset -> Int
+Bitset -> Maybe Int
+Bitset -> Bitset
+Bitset -> Int -> Bool
+Bitset -> Int -> Bitset
+Bitset -> Bitset -> Bitset
+forall a.
+Eq a =>
+(a -> a -> a)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> (a -> a)
+-> (a -> Int -> a)
+-> (a -> Int -> a)
+-> a
+-> (Int -> a)
+-> (a -> Int -> a)
+-> (a -> Int -> a)
+-> (a -> Int -> a)
+-> (a -> Int -> Bool)
+-> (a -> Maybe Int)
+-> (a -> Int)
+-> (a -> Bool)
+-> (a -> Int -> a)
+-> (a -> Int -> a)
+-> (a -> Int -> a)
+-> (a -> Int -> a)
+-> (a -> Int -> a)
+-> (a -> Int -> a)
+-> (a -> Int)
+-> Bits a
+$c.&. :: Bitset -> Bitset -> Bitset
+.&. :: Bitset -> Bitset -> Bitset
+$c.|. :: Bitset -> Bitset -> Bitset
+.|. :: Bitset -> Bitset -> Bitset
+$cxor :: Bitset -> Bitset -> Bitset
+xor :: Bitset -> Bitset -> Bitset
+$ccomplement :: Bitset -> Bitset
+complement :: Bitset -> Bitset
+$cshift :: Bitset -> Int -> Bitset
+shift :: Bitset -> Int -> Bitset
+$crotate :: Bitset -> Int -> Bitset
+rotate :: Bitset -> Int -> Bitset
+$czeroBits :: Bitset
+zeroBits :: Bitset
+$cbit :: Int -> Bitset
+bit :: Int -> Bitset
+$csetBit :: Bitset -> Int -> Bitset
+setBit :: Bitset -> Int -> Bitset
+$cclearBit :: Bitset -> Int -> Bitset
+clearBit :: Bitset -> Int -> Bitset
+$ccomplementBit :: Bitset -> Int -> Bitset
+complementBit :: Bitset -> Int -> Bitset
+$ctestBit :: Bitset -> Int -> Bool
+testBit :: Bitset -> Int -> Bool
+$cbitSizeMaybe :: Bitset -> Maybe Int
+bitSizeMaybe :: Bitset -> Maybe Int
+$cbitSize :: Bitset -> Int
+bitSize :: Bitset -> Int
+$cisSigned :: Bitset -> Bool
+isSigned :: Bitset -> Bool
+$cshiftL :: Bitset -> Int -> Bitset
+shiftL :: Bitset -> Int -> Bitset
+$cunsafeShiftL :: Bitset -> Int -> Bitset
+unsafeShiftL :: Bitset -> Int -> Bitset
+$cshiftR :: Bitset -> Int -> Bitset
+shiftR :: Bitset -> Int -> Bitset
+$cunsafeShiftR :: Bitset -> Int -> Bitset
+unsafeShiftR :: Bitset -> Int -> Bitset
+$crotateL :: Bitset -> Int -> Bitset
+rotateL :: Bitset -> Int -> Bitset
+$crotateR :: Bitset -> Int -> Bitset
+rotateR :: Bitset -> Int -> Bitset
+$cpopCount :: Bitset -> Int
+popCount :: Bitset -> Int
+Bits)
+
+instance Pack Bitset where
+  pack :: Bitset -> Builder
+pack = Vector Int8 -> Builder
+forall a. Pack a => a -> Builder
+pack (Vector Int8 -> Builder)
+-> (Bitset -> Vector Int8) -> Bitset -> Builder
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Bitset -> Vector Int8
+bitsettovui64
+  {-# INLINE pack #-}
+
+instance Unpack Bitset where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r Bitset
+unpack = Vector Int8 -> Bitset
+bitsetfromvui64 (Vector Int8 -> Bitset)
+-> ParserT st r ParseError (Vector Int8)
+-> ParserT st r ParseError Bitset
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ParserT st r ParseError (Vector Int8)
+forall (st :: ZeroBitType) r. Parser st r (Vector Int8)
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack
+  {-# INLINE unpack #-}
+
+-- sort of a naive implementation, but it's fine for our purposes
+--
+-- actually returns the highest bit location + 1
+highestbitloc :: Integer -> Int
+highestbitloc :: Integer -> Int
+highestbitloc Integer
+x | Integer
+x Integer -> Integer -> Bool
+forall a. Ord a => a -> a -> Bool
+< Integer
+0 = String -> Int
+forall a. HasCallStack => String -> a
+error String
+"highestbitloc: negative argument"
+highestbitloc Integer
+0 = Int
+0
+highestbitloc Integer
+x = Int
+1 Int -> Int -> Int
+forall a. Num a => a -> a -> a
++ Integer -> Int
+highestbitloc (Integer
+x Integer -> Int -> Integer
+forall a. Bits a => a -> Int -> a
+.>>. Int
+1)
+
+bitsettovuin :: Int -> Bitset -> VU.Vector Int8
+bitsettovuin :: Int -> Bitset -> Vector Int8
+bitsettovuin Int
+n (Bitset Integer
+x) = Int -> [Int8] -> Vector Int8
+forall a. Unbox a => Int -> [a] -> Vector a
+VU.fromListN (Int
+m Int -> Int -> Int
+forall a. Num a => a -> a -> a
++ Int
+1) (Integer -> [Int8]
+go Integer
+x)
+  where
+    m :: Int
+m = (Integer -> Int
+highestbitloc Integer
+x Int -> Int -> Int
+forall a. Num a => a -> a -> a
++ Int
+n Int -> Int -> Int
+forall a. Num a => a -> a -> a
+- Int
+1) Int -> Int -> Int
+forall a. Integral a => a -> a -> a
+`div` Int
+n
+    go :: Integer -> [Int8]
+go Integer
+0 = []
+    go Integer
+y = Integer -> Int8
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral Integer
+y Int8 -> [Int8] -> [Int8]
+forall a. a -> [a] -> [a]
+: Integer -> [Int8]
+go (Integer
+y Integer -> Int -> Integer
+forall a. Bits a => a -> Int -> a
+.>>. Int
+n)
+{-# INLINE bitsettovuin #-}
+
+bitsetfromvuin :: Int -> VU.Vector Int8 -> Bitset
+bitsetfromvuin :: Int -> Vector Int8 -> Bitset
+bitsetfromvuin Int
+n = Integer -> Bitset
+Bitset (Integer -> Bitset)
+-> (Vector Int8 -> Integer) -> Vector Int8 -> Bitset
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Integer -> Int -> Vector Int8 -> Integer
+go Integer
+0 Int
+0
+  where
+    go :: Integer -> Int -> Vector Int8 -> Integer
+go Integer
+a Int
+s Vector Int8
+v =
+      case Vector Int8 -> Maybe (Int8, Vector Int8)
+forall a. Unbox a => Vector a -> Maybe (a, Vector a)
+VU.uncons Vector Int8
+v of
+        Maybe (Int8, Vector Int8)
+Nothing -> Integer
+a
+        Just (Int8
+x, Vector Int8
+xs) -> Integer -> Int -> Vector Int8 -> Integer
+go (Integer
+a Integer -> Integer -> Integer
+forall a. Bits a => a -> a -> a
+.|. (Int8 -> Integer
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral Int8
+x Integer -> Int -> Integer
+forall a. Bits a => a -> Int -> a
+.<<. Int
+s)) (Int
+s Int -> Int -> Int
+forall a. Num a => a -> a -> a
++ Int
+n) Vector Int8
+xs
+
+bitsettovui64 :: Bitset -> VU.Vector Int8
+bitsettovui64 :: Bitset -> Vector Int8
+bitsettovui64 = Int -> Bitset -> Vector Int8
+bitsettovuin Int
+64
+
+bitsetfromvui64 :: VU.Vector Int8 -> Bitset
+bitsetfromvui64 :: Vector Int8 -> Bitset
+bitsetfromvui64 = Int -> Vector Int8 -> Bitset
+bitsetfromvuin Int
+64
+
+bitsettovui8 :: Bitset -> VU.Vector Int8
+bitsettovui8 :: Bitset -> Vector Int8
+bitsettovui8 = Int -> Bitset -> Vector Int8
+bitsettovuin Int
+8
+
+bitsetfromvui8 :: VU.Vector Int8 -> Bitset
+bitsetfromvui8 :: Vector Int8 -> Bitset
+bitsetfromvui8 = Int -> Vector Int8 -> Bitset
+bitsetfromvuin Int
+8
+
+-- | a fixed-size bitset with @i@ bits
+--
+-- (implemented identically to 'Bitset'; only difference is that
+-- when ser/de occurs, it pads missing bits with zeroes. hence it is
+-- also possible to access out-of-bounds bits, and these bits will
+-- get silently truncated when ser/de occurs)
+newtype FixedBitset i = FixedBitset {forall {k} (i :: k). FixedBitset i -> Integer
+getfixedbitset :: Integer}
+  deriving stock ((forall x. FixedBitset i -> Rep (FixedBitset i) x)
+-> (forall x. Rep (FixedBitset i) x -> FixedBitset i)
+-> Generic (FixedBitset i)
+forall x. Rep (FixedBitset i) x -> FixedBitset i
+forall x. FixedBitset i -> Rep (FixedBitset i) x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+forall k (i :: k) x. Rep (FixedBitset i) x -> FixedBitset i
+forall k (i :: k) x. FixedBitset i -> Rep (FixedBitset i) x
+$cfrom :: forall k (i :: k) x. FixedBitset i -> Rep (FixedBitset i) x
+from :: forall x. FixedBitset i -> Rep (FixedBitset i) x
+$cto :: forall k (i :: k) x. Rep (FixedBitset i) x -> FixedBitset i
+to :: forall x. Rep (FixedBitset i) x -> FixedBitset i
+Generic, Typeable, Typeable (FixedBitset i)
+Typeable (FixedBitset i) =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> FixedBitset i -> c (FixedBitset i))
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c (FixedBitset i))
+-> (FixedBitset i -> Constr)
+-> (FixedBitset i -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c (FixedBitset i)))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c (FixedBitset i)))
+-> ((forall b. Data b => b -> b) -> FixedBitset i -> FixedBitset i)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> FixedBitset i -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> FixedBitset i -> r)
+-> (forall u. (forall d. Data d => d -> u) -> FixedBitset i -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> FixedBitset i -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d)
+    -> FixedBitset i -> m (FixedBitset i))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d)
+    -> FixedBitset i -> m (FixedBitset i))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d)
+    -> FixedBitset i -> m (FixedBitset i))
+-> Data (FixedBitset i)
+FixedBitset i -> Constr
+FixedBitset i -> DataType
+(forall b. Data b => b -> b) -> FixedBitset i -> FixedBitset i
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> FixedBitset i -> u
+forall u. (forall d. Data d => d -> u) -> FixedBitset i -> [u]
+forall k (i :: k).
+(Typeable i, Typeable k) =>
+Typeable (FixedBitset i)
+forall k (i :: k).
+(Typeable i, Typeable k) =>
+FixedBitset i -> Constr
+forall k (i :: k).
+(Typeable i, Typeable k) =>
+FixedBitset i -> DataType
+forall k (i :: k).
+(Typeable i, Typeable k) =>
+(forall b. Data b => b -> b) -> FixedBitset i -> FixedBitset i
+forall k (i :: k) u.
+(Typeable i, Typeable k) =>
+Int -> (forall d. Data d => d -> u) -> FixedBitset i -> u
+forall k (i :: k) u.
+(Typeable i, Typeable k) =>
+(forall d. Data d => d -> u) -> FixedBitset i -> [u]
+forall k (i :: k) r r'.
+(Typeable i, Typeable k) =>
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> FixedBitset i -> r
+forall k (i :: k) r r'.
+(Typeable i, Typeable k) =>
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> FixedBitset i -> r
+forall k (i :: k) (m :: * -> *).
+(Typeable i, Typeable k, Monad m) =>
+(forall d. Data d => d -> m d)
+-> FixedBitset i -> m (FixedBitset i)
+forall k (i :: k) (m :: * -> *).
+(Typeable i, Typeable k, MonadPlus m) =>
+(forall d. Data d => d -> m d)
+-> FixedBitset i -> m (FixedBitset i)
+forall k (i :: k) (c :: * -> *).
+(Typeable i, Typeable k) =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (FixedBitset i)
+forall k (i :: k) (c :: * -> *).
+(Typeable i, Typeable k) =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> FixedBitset i -> c (FixedBitset i)
+forall k (i :: k) (t :: * -> *) (c :: * -> *).
+(Typeable i, Typeable k, Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (FixedBitset i))
+forall k (i :: k) (t :: * -> * -> *) (c :: * -> *).
+(Typeable i, Typeable k, Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (FixedBitset i))
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> FixedBitset i -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> FixedBitset i -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d)
+-> FixedBitset i -> m (FixedBitset i)
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> FixedBitset i -> m (FixedBitset i)
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (FixedBitset i)
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> FixedBitset i -> c (FixedBitset i)
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (FixedBitset i))
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (FixedBitset i))
+$cgfoldl :: forall k (i :: k) (c :: * -> *).
+(Typeable i, Typeable k) =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> FixedBitset i -> c (FixedBitset i)
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> FixedBitset i -> c (FixedBitset i)
+$cgunfold :: forall k (i :: k) (c :: * -> *).
+(Typeable i, Typeable k) =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (FixedBitset i)
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (FixedBitset i)
+$ctoConstr :: forall k (i :: k).
+(Typeable i, Typeable k) =>
+FixedBitset i -> Constr
+toConstr :: FixedBitset i -> Constr
+$cdataTypeOf :: forall k (i :: k).
+(Typeable i, Typeable k) =>
+FixedBitset i -> DataType
+dataTypeOf :: FixedBitset i -> DataType
+$cdataCast1 :: forall k (i :: k) (t :: * -> *) (c :: * -> *).
+(Typeable i, Typeable k, Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (FixedBitset i))
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (FixedBitset i))
+$cdataCast2 :: forall k (i :: k) (t :: * -> * -> *) (c :: * -> *).
+(Typeable i, Typeable k, Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (FixedBitset i))
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (FixedBitset i))
+$cgmapT :: forall k (i :: k).
+(Typeable i, Typeable k) =>
+(forall b. Data b => b -> b) -> FixedBitset i -> FixedBitset i
+gmapT :: (forall b. Data b => b -> b) -> FixedBitset i -> FixedBitset i
+$cgmapQl :: forall k (i :: k) r r'.
+(Typeable i, Typeable k) =>
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> FixedBitset i -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> FixedBitset i -> r
+$cgmapQr :: forall k (i :: k) r r'.
+(Typeable i, Typeable k) =>
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> FixedBitset i -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> FixedBitset i -> r
+$cgmapQ :: forall k (i :: k) u.
+(Typeable i, Typeable k) =>
+(forall d. Data d => d -> u) -> FixedBitset i -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> FixedBitset i -> [u]
+$cgmapQi :: forall k (i :: k) u.
+(Typeable i, Typeable k) =>
+Int -> (forall d. Data d => d -> u) -> FixedBitset i -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> FixedBitset i -> u
+$cgmapM :: forall k (i :: k) (m :: * -> *).
+(Typeable i, Typeable k, Monad m) =>
+(forall d. Data d => d -> m d)
+-> FixedBitset i -> m (FixedBitset i)
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d)
+-> FixedBitset i -> m (FixedBitset i)
+$cgmapMp :: forall k (i :: k) (m :: * -> *).
+(Typeable i, Typeable k, MonadPlus m) =>
+(forall d. Data d => d -> m d)
+-> FixedBitset i -> m (FixedBitset i)
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> FixedBitset i -> m (FixedBitset i)
+$cgmapMo :: forall k (i :: k) (m :: * -> *).
+(Typeable i, Typeable k, MonadPlus m) =>
+(forall d. Data d => d -> m d)
+-> FixedBitset i -> m (FixedBitset i)
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> FixedBitset i -> m (FixedBitset i)
+Data, (forall (m :: * -> *). Quote m => FixedBitset i -> m Exp)
+-> (forall (m :: * -> *).
+    Quote m =>
+    FixedBitset i -> Code m (FixedBitset i))
+-> Lift (FixedBitset i)
+forall k (i :: k) (m :: * -> *). Quote m => FixedBitset i -> m Exp
+forall k (i :: k) (m :: * -> *).
+Quote m =>
+FixedBitset i -> Code m (FixedBitset i)
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => FixedBitset i -> m Exp
+forall (m :: * -> *).
+Quote m =>
+FixedBitset i -> Code m (FixedBitset i)
+$clift :: forall k (i :: k) (m :: * -> *). Quote m => FixedBitset i -> m Exp
+lift :: forall (m :: * -> *). Quote m => FixedBitset i -> m Exp
+$cliftTyped :: forall k (i :: k) (m :: * -> *).
+Quote m =>
+FixedBitset i -> Code m (FixedBitset i)
+liftTyped :: forall (m :: * -> *).
+Quote m =>
+FixedBitset i -> Code m (FixedBitset i)
+Lift)
+  deriving newtype (FixedBitset i -> FixedBitset i -> Bool
+(FixedBitset i -> FixedBitset i -> Bool)
+-> (FixedBitset i -> FixedBitset i -> Bool) -> Eq (FixedBitset i)
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+forall k (i :: k). FixedBitset i -> FixedBitset i -> Bool
+$c== :: forall k (i :: k). FixedBitset i -> FixedBitset i -> Bool
+== :: FixedBitset i -> FixedBitset i -> Bool
+$c/= :: forall k (i :: k). FixedBitset i -> FixedBitset i -> Bool
+/= :: FixedBitset i -> FixedBitset i -> Bool
+Eq, Eq (FixedBitset i)
+Eq (FixedBitset i) =>
+(FixedBitset i -> FixedBitset i -> Ordering)
+-> (FixedBitset i -> FixedBitset i -> Bool)
+-> (FixedBitset i -> FixedBitset i -> Bool)
+-> (FixedBitset i -> FixedBitset i -> Bool)
+-> (FixedBitset i -> FixedBitset i -> Bool)
+-> (FixedBitset i -> FixedBitset i -> FixedBitset i)
+-> (FixedBitset i -> FixedBitset i -> FixedBitset i)
+-> Ord (FixedBitset i)
+FixedBitset i -> FixedBitset i -> Bool
+FixedBitset i -> FixedBitset i -> Ordering
+FixedBitset i -> FixedBitset i -> FixedBitset i
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+forall k (i :: k). Eq (FixedBitset i)
+forall k (i :: k). FixedBitset i -> FixedBitset i -> Bool
+forall k (i :: k). FixedBitset i -> FixedBitset i -> Ordering
+forall k (i :: k). FixedBitset i -> FixedBitset i -> FixedBitset i
+$ccompare :: forall k (i :: k). FixedBitset i -> FixedBitset i -> Ordering
+compare :: FixedBitset i -> FixedBitset i -> Ordering
+$c< :: forall k (i :: k). FixedBitset i -> FixedBitset i -> Bool
+< :: FixedBitset i -> FixedBitset i -> Bool
+$c<= :: forall k (i :: k). FixedBitset i -> FixedBitset i -> Bool
+<= :: FixedBitset i -> FixedBitset i -> Bool
+$c> :: forall k (i :: k). FixedBitset i -> FixedBitset i -> Bool
+> :: FixedBitset i -> FixedBitset i -> Bool
+$c>= :: forall k (i :: k). FixedBitset i -> FixedBitset i -> Bool
+>= :: FixedBitset i -> FixedBitset i -> Bool
+$cmax :: forall k (i :: k). FixedBitset i -> FixedBitset i -> FixedBitset i
+max :: FixedBitset i -> FixedBitset i -> FixedBitset i
+$cmin :: forall k (i :: k). FixedBitset i -> FixedBitset i -> FixedBitset i
+min :: FixedBitset i -> FixedBitset i -> FixedBitset i
+Ord, Int -> FixedBitset i -> ShowS
+[FixedBitset i] -> ShowS
+FixedBitset i -> String
+(Int -> FixedBitset i -> ShowS)
+-> (FixedBitset i -> String)
+-> ([FixedBitset i] -> ShowS)
+-> Show (FixedBitset i)
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+forall k (i :: k). Int -> FixedBitset i -> ShowS
+forall k (i :: k). [FixedBitset i] -> ShowS
+forall k (i :: k). FixedBitset i -> String
+$cshowsPrec :: forall k (i :: k). Int -> FixedBitset i -> ShowS
+showsPrec :: Int -> FixedBitset i -> ShowS
+$cshow :: forall k (i :: k). FixedBitset i -> String
+show :: FixedBitset i -> String
+$cshowList :: forall k (i :: k). [FixedBitset i] -> ShowS
+showList :: [FixedBitset i] -> ShowS
+Show, ReadPrec [FixedBitset i]
+ReadPrec (FixedBitset i)
+Int -> ReadS (FixedBitset i)
+ReadS [FixedBitset i]
+(Int -> ReadS (FixedBitset i))
+-> ReadS [FixedBitset i]
+-> ReadPrec (FixedBitset i)
+-> ReadPrec [FixedBitset i]
+-> Read (FixedBitset i)
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+forall k (i :: k). ReadPrec [FixedBitset i]
+forall k (i :: k). ReadPrec (FixedBitset i)
+forall k (i :: k). Int -> ReadS (FixedBitset i)
+forall k (i :: k). ReadS [FixedBitset i]
+$creadsPrec :: forall k (i :: k). Int -> ReadS (FixedBitset i)
+readsPrec :: Int -> ReadS (FixedBitset i)
+$creadList :: forall k (i :: k). ReadS [FixedBitset i]
+readList :: ReadS [FixedBitset i]
+$creadPrec :: forall k (i :: k). ReadPrec (FixedBitset i)
+readPrec :: ReadPrec (FixedBitset i)
+$creadListPrec :: forall k (i :: k). ReadPrec [FixedBitset i]
+readListPrec :: ReadPrec [FixedBitset i]
+Read, Eq (FixedBitset i)
+Eq (FixedBitset i) =>
+(Int -> FixedBitset i -> Int)
+-> (FixedBitset i -> Int) -> Hashable (FixedBitset i)
+Int -> FixedBitset i -> Int
+FixedBitset i -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+forall k (i :: k). Eq (FixedBitset i)
+forall k (i :: k). Int -> FixedBitset i -> Int
+forall k (i :: k). FixedBitset i -> Int
+$chashWithSalt :: forall k (i :: k). Int -> FixedBitset i -> Int
+hashWithSalt :: Int -> FixedBitset i -> Int
+$chash :: forall k (i :: k). FixedBitset i -> Int
+hash :: FixedBitset i -> Int
+Hashable, FixedBitset i -> ()
+(FixedBitset i -> ()) -> NFData (FixedBitset i)
+forall a. (a -> ()) -> NFData a
+forall k (i :: k). FixedBitset i -> ()
+$crnf :: forall k (i :: k). FixedBitset i -> ()
+rnf :: FixedBitset i -> ()
+NFData)
+  deriving newtype (Int -> FixedBitset i
+FixedBitset i -> Int
+FixedBitset i -> [FixedBitset i]
+FixedBitset i -> FixedBitset i
+FixedBitset i -> FixedBitset i -> [FixedBitset i]
+FixedBitset i -> FixedBitset i -> FixedBitset i -> [FixedBitset i]
+(FixedBitset i -> FixedBitset i)
+-> (FixedBitset i -> FixedBitset i)
+-> (Int -> FixedBitset i)
+-> (FixedBitset i -> Int)
+-> (FixedBitset i -> [FixedBitset i])
+-> (FixedBitset i -> FixedBitset i -> [FixedBitset i])
+-> (FixedBitset i -> FixedBitset i -> [FixedBitset i])
+-> (FixedBitset i
+    -> FixedBitset i -> FixedBitset i -> [FixedBitset i])
+-> Enum (FixedBitset i)
+forall a.
+(a -> a)
+-> (a -> a)
+-> (Int -> a)
+-> (a -> Int)
+-> (a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> a -> [a])
+-> Enum a
+forall k (i :: k). Int -> FixedBitset i
+forall k (i :: k). FixedBitset i -> Int
+forall k (i :: k). FixedBitset i -> [FixedBitset i]
+forall k (i :: k). FixedBitset i -> FixedBitset i
+forall k (i :: k).
+FixedBitset i -> FixedBitset i -> [FixedBitset i]
+forall k (i :: k).
+FixedBitset i -> FixedBitset i -> FixedBitset i -> [FixedBitset i]
+$csucc :: forall k (i :: k). FixedBitset i -> FixedBitset i
+succ :: FixedBitset i -> FixedBitset i
+$cpred :: forall k (i :: k). FixedBitset i -> FixedBitset i
+pred :: FixedBitset i -> FixedBitset i
+$ctoEnum :: forall k (i :: k). Int -> FixedBitset i
+toEnum :: Int -> FixedBitset i
+$cfromEnum :: forall k (i :: k). FixedBitset i -> Int
+fromEnum :: FixedBitset i -> Int
+$cenumFrom :: forall k (i :: k). FixedBitset i -> [FixedBitset i]
+enumFrom :: FixedBitset i -> [FixedBitset i]
+$cenumFromThen :: forall k (i :: k).
+FixedBitset i -> FixedBitset i -> [FixedBitset i]
+enumFromThen :: FixedBitset i -> FixedBitset i -> [FixedBitset i]
+$cenumFromTo :: forall k (i :: k).
+FixedBitset i -> FixedBitset i -> [FixedBitset i]
+enumFromTo :: FixedBitset i -> FixedBitset i -> [FixedBitset i]
+$cenumFromThenTo :: forall k (i :: k).
+FixedBitset i -> FixedBitset i -> FixedBitset i -> [FixedBitset i]
+enumFromThenTo :: FixedBitset i -> FixedBitset i -> FixedBitset i -> [FixedBitset i]
+Enum, Integer -> FixedBitset i
+FixedBitset i -> FixedBitset i
+FixedBitset i -> FixedBitset i -> FixedBitset i
+(FixedBitset i -> FixedBitset i -> FixedBitset i)
+-> (FixedBitset i -> FixedBitset i -> FixedBitset i)
+-> (FixedBitset i -> FixedBitset i -> FixedBitset i)
+-> (FixedBitset i -> FixedBitset i)
+-> (FixedBitset i -> FixedBitset i)
+-> (FixedBitset i -> FixedBitset i)
+-> (Integer -> FixedBitset i)
+-> Num (FixedBitset i)
+forall a.
+(a -> a -> a)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> (a -> a)
+-> (a -> a)
+-> (a -> a)
+-> (Integer -> a)
+-> Num a
+forall k (i :: k). Integer -> FixedBitset i
+forall k (i :: k). FixedBitset i -> FixedBitset i
+forall k (i :: k). FixedBitset i -> FixedBitset i -> FixedBitset i
+$c+ :: forall k (i :: k). FixedBitset i -> FixedBitset i -> FixedBitset i
++ :: FixedBitset i -> FixedBitset i -> FixedBitset i
+$c- :: forall k (i :: k). FixedBitset i -> FixedBitset i -> FixedBitset i
+- :: FixedBitset i -> FixedBitset i -> FixedBitset i
+$c* :: forall k (i :: k). FixedBitset i -> FixedBitset i -> FixedBitset i
+* :: FixedBitset i -> FixedBitset i -> FixedBitset i
+$cnegate :: forall k (i :: k). FixedBitset i -> FixedBitset i
+negate :: FixedBitset i -> FixedBitset i
+$cabs :: forall k (i :: k). FixedBitset i -> FixedBitset i
+abs :: FixedBitset i -> FixedBitset i
+$csignum :: forall k (i :: k). FixedBitset i -> FixedBitset i
+signum :: FixedBitset i -> FixedBitset i
+$cfromInteger :: forall k (i :: k). Integer -> FixedBitset i
+fromInteger :: Integer -> FixedBitset i
+Num, Num (FixedBitset i)
+Ord (FixedBitset i)
+(Num (FixedBitset i), Ord (FixedBitset i)) =>
+(FixedBitset i -> Rational) -> Real (FixedBitset i)
+FixedBitset i -> Rational
+forall a. (Num a, Ord a) => (a -> Rational) -> Real a
+forall k (i :: k). Num (FixedBitset i)
+forall k (i :: k). Ord (FixedBitset i)
+forall k (i :: k). FixedBitset i -> Rational
+$ctoRational :: forall k (i :: k). FixedBitset i -> Rational
+toRational :: FixedBitset i -> Rational
+Real, Eq (FixedBitset i)
+FixedBitset i
+Eq (FixedBitset i) =>
+(FixedBitset i -> FixedBitset i -> FixedBitset i)
+-> (FixedBitset i -> FixedBitset i -> FixedBitset i)
+-> (FixedBitset i -> FixedBitset i -> FixedBitset i)
+-> (FixedBitset i -> FixedBitset i)
+-> (FixedBitset i -> Int -> FixedBitset i)
+-> (FixedBitset i -> Int -> FixedBitset i)
+-> FixedBitset i
+-> (Int -> FixedBitset i)
+-> (FixedBitset i -> Int -> FixedBitset i)
+-> (FixedBitset i -> Int -> FixedBitset i)
+-> (FixedBitset i -> Int -> FixedBitset i)
+-> (FixedBitset i -> Int -> Bool)
+-> (FixedBitset i -> Maybe Int)
+-> (FixedBitset i -> Int)
+-> (FixedBitset i -> Bool)
+-> (FixedBitset i -> Int -> FixedBitset i)
+-> (FixedBitset i -> Int -> FixedBitset i)
+-> (FixedBitset i -> Int -> FixedBitset i)
+-> (FixedBitset i -> Int -> FixedBitset i)
+-> (FixedBitset i -> Int -> FixedBitset i)
+-> (FixedBitset i -> Int -> FixedBitset i)
+-> (FixedBitset i -> Int)
+-> Bits (FixedBitset i)
+Int -> FixedBitset i
+FixedBitset i -> Bool
+FixedBitset i -> Int
+FixedBitset i -> Maybe Int
+FixedBitset i -> FixedBitset i
+FixedBitset i -> Int -> Bool
+FixedBitset i -> Int -> FixedBitset i
+FixedBitset i -> FixedBitset i -> FixedBitset i
+forall a.
+Eq a =>
+(a -> a -> a)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> (a -> a)
+-> (a -> Int -> a)
+-> (a -> Int -> a)
+-> a
+-> (Int -> a)
+-> (a -> Int -> a)
+-> (a -> Int -> a)
+-> (a -> Int -> a)
+-> (a -> Int -> Bool)
+-> (a -> Maybe Int)
+-> (a -> Int)
+-> (a -> Bool)
+-> (a -> Int -> a)
+-> (a -> Int -> a)
+-> (a -> Int -> a)
+-> (a -> Int -> a)
+-> (a -> Int -> a)
+-> (a -> Int -> a)
+-> (a -> Int)
+-> Bits a
+forall k (i :: k). Eq (FixedBitset i)
+forall k (i :: k). FixedBitset i
+forall k (i :: k). Int -> FixedBitset i
+forall k (i :: k). FixedBitset i -> Bool
+forall k (i :: k). FixedBitset i -> Int
+forall k (i :: k). FixedBitset i -> Maybe Int
+forall k (i :: k). FixedBitset i -> FixedBitset i
+forall k (i :: k). FixedBitset i -> Int -> Bool
+forall k (i :: k). FixedBitset i -> Int -> FixedBitset i
+forall k (i :: k). FixedBitset i -> FixedBitset i -> FixedBitset i
+$c.&. :: forall k (i :: k). FixedBitset i -> FixedBitset i -> FixedBitset i
+.&. :: FixedBitset i -> FixedBitset i -> FixedBitset i
+$c.|. :: forall k (i :: k). FixedBitset i -> FixedBitset i -> FixedBitset i
+.|. :: FixedBitset i -> FixedBitset i -> FixedBitset i
+$cxor :: forall k (i :: k). FixedBitset i -> FixedBitset i -> FixedBitset i
+xor :: FixedBitset i -> FixedBitset i -> FixedBitset i
+$ccomplement :: forall k (i :: k). FixedBitset i -> FixedBitset i
+complement :: FixedBitset i -> FixedBitset i
+$cshift :: forall k (i :: k). FixedBitset i -> Int -> FixedBitset i
+shift :: FixedBitset i -> Int -> FixedBitset i
+$crotate :: forall k (i :: k). FixedBitset i -> Int -> FixedBitset i
+rotate :: FixedBitset i -> Int -> FixedBitset i
+$czeroBits :: forall k (i :: k). FixedBitset i
+zeroBits :: FixedBitset i
+$cbit :: forall k (i :: k). Int -> FixedBitset i
+bit :: Int -> FixedBitset i
+$csetBit :: forall k (i :: k). FixedBitset i -> Int -> FixedBitset i
+setBit :: FixedBitset i -> Int -> FixedBitset i
+$cclearBit :: forall k (i :: k). FixedBitset i -> Int -> FixedBitset i
+clearBit :: FixedBitset i -> Int -> FixedBitset i
+$ccomplementBit :: forall k (i :: k). FixedBitset i -> Int -> FixedBitset i
+complementBit :: FixedBitset i -> Int -> FixedBitset i
+$ctestBit :: forall k (i :: k). FixedBitset i -> Int -> Bool
+testBit :: FixedBitset i -> Int -> Bool
+$cbitSizeMaybe :: forall k (i :: k). FixedBitset i -> Maybe Int
+bitSizeMaybe :: FixedBitset i -> Maybe Int
+$cbitSize :: forall k (i :: k). FixedBitset i -> Int
+bitSize :: FixedBitset i -> Int
+$cisSigned :: forall k (i :: k). FixedBitset i -> Bool
+isSigned :: FixedBitset i -> Bool
+$cshiftL :: forall k (i :: k). FixedBitset i -> Int -> FixedBitset i
+shiftL :: FixedBitset i -> Int -> FixedBitset i
+$cunsafeShiftL :: forall k (i :: k). FixedBitset i -> Int -> FixedBitset i
+unsafeShiftL :: FixedBitset i -> Int -> FixedBitset i
+$cshiftR :: forall k (i :: k). FixedBitset i -> Int -> FixedBitset i
+shiftR :: FixedBitset i -> Int -> FixedBitset i
+$cunsafeShiftR :: forall k (i :: k). FixedBitset i -> Int -> FixedBitset i
+unsafeShiftR :: FixedBitset i -> Int -> FixedBitset i
+$crotateL :: forall k (i :: k). FixedBitset i -> Int -> FixedBitset i
+rotateL :: FixedBitset i -> Int -> FixedBitset i
+$crotateR :: forall k (i :: k). FixedBitset i -> Int -> FixedBitset i
+rotateR :: FixedBitset i -> Int -> FixedBitset i
+$cpopCount :: forall k (i :: k). FixedBitset i -> Int
+popCount :: FixedBitset i -> Int
+Bits)
+
+-- if too few bytes, pad with zeroes; if too many, truncate
+trim :: Int -> VU.Vector Int8 -> VU.Vector Int8
+trim :: Int -> Vector Int8 -> Vector Int8
+trim Int
+n Vector Int8
+v
+  | Vector Int8 -> Int
+forall a. Unbox a => Vector a -> Int
+VU.length Vector Int8
+v Int -> Int -> Bool
+forall a. Ord a => a -> a -> Bool
+< Int
+n = Vector Int8
+v Vector Int8 -> Vector Int8 -> Vector Int8
+forall a. Semigroup a => a -> a -> a
+<> Int -> Int8 -> Vector Int8
+forall a. Unbox a => Int -> a -> Vector a
+VU.replicate (Int
+n Int -> Int -> Int
+forall a. Num a => a -> a -> a
+- Vector Int8 -> Int
+forall a. Unbox a => Vector a -> Int
+VU.length Vector Int8
+v) Int8
+0
+  | Bool
+otherwise = Int -> Vector Int8 -> Vector Int8
+forall a. Unbox a => Int -> Vector a -> Vector a
+VU.take Int
+n Vector Int8
+v
+
+instance (KnownNat i) => Pack (FixedBitset i) where
+  pack :: FixedBitset i -> Builder
+pack =
+    Vector Int8 -> Builder
+forall a. Pack a => a -> Builder
+pack
+      (Vector Int8 -> Builder)
+-> (FixedBitset i -> Vector Int8) -> FixedBitset i -> Builder
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Int -> Vector Int8 -> Vector Int8
+trim (Integer -> Int
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral (Proxy i -> Integer
+forall (n :: Nat) (proxy :: Nat -> *).
+KnownNat n =>
+proxy n -> Integer
+natVal (forall (t :: Nat). Proxy t
+forall {k} (t :: k). Proxy t
+Proxy @i) Integer -> Integer -> Integer
+forall a. Num a => a -> a -> a
++ Integer
+7 Integer -> Integer -> Integer
+forall a. Integral a => a -> a -> a
+`div` Integer
+8) Int -> Int -> Int
+forall a. Num a => a -> a -> a
++ Int
+1)
+      (Vector Int8 -> Vector Int8)
+-> (FixedBitset i -> Vector Int8) -> FixedBitset i -> Vector Int8
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Bitset -> Vector Int8
+bitsettovui8
+      (Bitset -> Vector Int8)
+-> (FixedBitset i -> Bitset) -> FixedBitset i -> Vector Int8
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Integer -> Bitset
+Bitset
+      (Integer -> Bitset)
+-> (FixedBitset i -> Integer) -> FixedBitset i -> Bitset
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. FixedBitset i -> Integer
+forall {k} (i :: k). FixedBitset i -> Integer
+getfixedbitset
+  {-# INLINE pack #-}
+
+instance (KnownNat i) => Unpack (FixedBitset i) where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r (FixedBitset i)
+unpack =
+    Integer -> FixedBitset i
+forall k (i :: k). Integer -> FixedBitset i
+FixedBitset
+      (Integer -> FixedBitset i)
+-> (Vector Int8 -> Integer) -> Vector Int8 -> FixedBitset i
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Bitset -> Integer
+getbitset
+      (Bitset -> Integer)
+-> (Vector Int8 -> Bitset) -> Vector Int8 -> Integer
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Vector Int8 -> Bitset
+bitsetfromvui8
+      (Vector Int8 -> Bitset)
+-> (Vector Int8 -> Vector Int8) -> Vector Int8 -> Bitset
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Int -> Vector Int8 -> Vector Int8
+trim (Integer -> Int
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral (Proxy i -> Integer
+forall (n :: Nat) (proxy :: Nat -> *).
+KnownNat n =>
+proxy n -> Integer
+natVal (forall (t :: Nat). Proxy t
+forall {k} (t :: k). Proxy t
+Proxy @i) Integer -> Integer -> Integer
+forall a. Num a => a -> a -> a
++ Integer
+7 Integer -> Integer -> Integer
+forall a. Integral a => a -> a -> a
+`div` Integer
+8) Int -> Int -> Int
+forall a. Num a => a -> a -> a
++ Int
+1)
+      (Vector Int8 -> FixedBitset i)
+-> ParserT st r ParseError (Vector Int8)
+-> ParserT st r ParseError (FixedBitset i)
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ParserT st r ParseError (Vector Int8)
+forall (st :: ZeroBitType) r. Parser st r (Vector Int8)
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack
+  {-# INLINE unpack #-}
+
\ No newline at end of file diff --git a/src/M.Pack.Internal.Etc.html b/src/M.Pack.Internal.Etc.html new file mode 100644 index 0000000..94bb856 --- /dev/null +++ b/src/M.Pack.Internal.Etc.html @@ -0,0 +1,327 @@ +
{-# OPTIONS_GHC -Wno-orphans #-}
+
+-- |
+-- Module: M.Pack.Internal.Etc
+-- Description: Additional serialization instances
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Implements Pack and Unpack instances for various types including Text,
+-- ByteString, Maybe, Vector, and UUID.
+module M.Pack.Internal.Etc () where
+
+import Data.ByteString (ByteString)
+import Data.ByteString qualified as B
+import Data.ByteString.Builder
+import Data.Text (Text)
+import Data.Text.Encoding qualified as TE
+import Data.UUID.Types
+import Data.Vector qualified as V
+import Data.Vector.Unboxed qualified as VU
+import Data.Word
+import FlatParse.Stateful qualified as F
+import M.Pack.Internal.Num
+import M.Pack.Internal.Types
+
+instance Pack Text where
+  pack :: Text -> Builder
+pack = ByteString -> Builder
+forall a. Pack a => a -> Builder
+pack (ByteString -> Builder) -> (Text -> ByteString) -> Text -> Builder
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Text -> ByteString
+TE.encodeUtf8
+  {-# INLINEABLE pack #-}
+
+instance Unpack Text where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r Text
+unpack =
+    ByteString -> Either UnicodeException Text
+TE.decodeUtf8' (ByteString -> Either UnicodeException Text)
+-> ParserT st r ParseError ByteString
+-> ParserT st r ParseError (Either UnicodeException Text)
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack @ByteString ParserT st r ParseError (Either UnicodeException Text)
+-> (Either UnicodeException Text -> ParserT st r ParseError Text)
+-> ParserT st r ParseError Text
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= \case
+      Left UnicodeException
+err -> ParseError -> ParserT st r ParseError Text
+forall e (st :: ZeroBitType) r a. e -> ParserT st r e a
+F.err (String -> ParseError
+ParseError (UnicodeException -> String
+forall a. Show a => a -> String
+show UnicodeException
+err))
+      Right Text
+t -> Text -> ParserT st r ParseError Text
+forall a. a -> ParserT st r ParseError a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure Text
+t
+  {-# INLINEABLE unpack #-}
+
+instance Pack ByteString where
+  pack :: ByteString -> Builder
+pack ByteString
+b = Int -> Builder
+forall a. Integral a => a -> Builder
+packleb32 (ByteString -> Int
+B.length ByteString
+b) Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> ByteString -> Builder
+byteString ByteString
+b
+  {-# INLINEABLE pack #-}
+
+instance Unpack ByteString where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r ByteString
+unpack = Parser st r Int
+forall a (st :: ZeroBitType) r. Integral a => Parser st r a
+unpackleb32 Parser st r Int -> (Int -> Parser st r Int) -> Parser st r Int
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= String -> Int -> Parser st r Int
+forall a (st :: ZeroBitType) r.
+(Num a, Ord a, Show a) =>
+String -> a -> Parser st r a
+guardnat String
+"ByteString length" Parser st r Int
+-> (Int -> ParserT st r ParseError ByteString)
+-> ParserT st r ParseError ByteString
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= Int -> ParserT st r ParseError ByteString
+forall (st :: ZeroBitType) r e. Int -> ParserT st r e ByteString
+F.take
+  {-# INLINE unpack #-}
+
+instance (Pack a) => Pack (Maybe a) where
+  pack :: Maybe a -> Builder
+pack = \case
+    Maybe a
+Nothing -> forall a. Pack a => a -> Builder
+pack @Word8 Word8
+0
+    Just a
+x -> forall a. Pack a => a -> Builder
+pack @Word8 Word8
+1 Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> a -> Builder
+forall a. Pack a => a -> Builder
+pack a
+x
+  {-# INLINEABLE pack #-}
+
+instance (Unpack a) => Unpack (Maybe a) where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r (Maybe a)
+unpack =
+    ParserT st r ParseError Word8
+forall (st :: ZeroBitType) r e. ParserT st r e Word8
+F.anyWord8 ParserT st r ParseError Word8
+-> (Word8 -> ParserT st r ParseError (Maybe a))
+-> ParserT st r ParseError (Maybe a)
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= \case
+      Word8
+0 -> Maybe a -> ParserT st r ParseError (Maybe a)
+forall a. a -> ParserT st r ParseError a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure Maybe a
+forall a. Maybe a
+Nothing
+      Word8
+1 -> a -> Maybe a
+forall a. a -> Maybe a
+Just (a -> Maybe a)
+-> ParserT st r ParseError a -> ParserT st r ParseError (Maybe a)
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ParserT st r ParseError a
+forall (st :: ZeroBitType) r. Parser st r a
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack
+      Word8
+n -> ParseError -> ParserT st r ParseError (Maybe a)
+forall e (st :: ZeroBitType) r a. e -> ParserT st r e a
+F.err (ParseError -> ParserT st r ParseError (Maybe a))
+-> ParseError -> ParserT st r ParseError (Maybe a)
+forall a b. (a -> b) -> a -> b
+$ String -> ParseError
+ParseError (String -> ParseError) -> String -> ParseError
+forall a b. (a -> b) -> a -> b
+$ String
+"Maybe: invalid tag: " String -> String -> String
+forall a. Semigroup a => a -> a -> a
+<> Word8 -> String
+forall a. Show a => a -> String
+show Word8
+n
+  {-# INLINEABLE unpack #-}
+
+-- vector
+
+instance (Pack a) => Pack (V.Vector a) where
+  pack :: Vector a -> Builder
+pack = Int -> Builder
+forall a. Integral a => a -> Builder
+packleb32 (Int -> Builder) -> (Vector a -> Int) -> Vector a -> Builder
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Vector a -> Int
+forall a. Vector a -> Int
+V.length (Vector a -> Builder)
+-> (Vector a -> Builder) -> Vector a -> Builder
+forall a. Semigroup a => a -> a -> a
+<> (a -> Builder) -> Vector a -> Builder
+forall m a. Monoid m => (a -> m) -> Vector a -> m
+V.foldMap' a -> Builder
+forall a. Pack a => a -> Builder
+pack
+  {-# INLINEABLE pack #-}
+
+instance (Unpack a) => Unpack (V.Vector a) where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r (Vector a)
+unpack =
+    Parser st r Int
+forall a (st :: ZeroBitType) r. Integral a => Parser st r a
+unpackleb32
+      Parser st r Int -> (Int -> Parser st r Int) -> Parser st r Int
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= String -> Int -> Parser st r Int
+forall a (st :: ZeroBitType) r.
+(Num a, Ord a, Show a) =>
+String -> a -> Parser st r a
+guardnat String
+"V.Vector length"
+      Parser st r Int
+-> (Int -> ParserT st r ParseError (Vector a))
+-> ParserT st r ParseError (Vector a)
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= (Int
+ -> ParserT st r ParseError a -> ParserT st r ParseError (Vector a))
+-> ParserT st r ParseError a
+-> Int
+-> ParserT st r ParseError (Vector a)
+forall a b c. (a -> b -> c) -> b -> a -> c
+flip Int
+-> ParserT st r ParseError a -> ParserT st r ParseError (Vector a)
+forall (m :: * -> *) a. Monad m => Int -> m a -> m (Vector a)
+V.replicateM ParserT st r ParseError a
+forall (st :: ZeroBitType) r. Parser st r a
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack
+  {-# INLINEABLE unpack #-}
+
+instance (VU.Unbox a, Pack a) => Pack (VU.Vector a) where
+  pack :: Vector a -> Builder
+pack = Int -> Builder
+forall a. Integral a => a -> Builder
+packleb32 (Int -> Builder) -> (Vector a -> Int) -> Vector a -> Builder
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Vector a -> Int
+forall a. Unbox a => Vector a -> Int
+VU.length (Vector a -> Builder)
+-> (Vector a -> Builder) -> Vector a -> Builder
+forall a. Semigroup a => a -> a -> a
+<> (a -> Builder) -> Vector a -> Builder
+forall m a. (Monoid m, Unbox a) => (a -> m) -> Vector a -> m
+VU.foldMap' a -> Builder
+forall a. Pack a => a -> Builder
+pack
+  {-# INLINEABLE pack #-}
+
+instance (VU.Unbox a, Unpack a) => Unpack (VU.Vector a) where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r (Vector a)
+unpack =
+    Parser st r Int
+forall a (st :: ZeroBitType) r. Integral a => Parser st r a
+unpackleb32
+      Parser st r Int -> (Int -> Parser st r Int) -> Parser st r Int
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= String -> Int -> Parser st r Int
+forall a (st :: ZeroBitType) r.
+(Num a, Ord a, Show a) =>
+String -> a -> Parser st r a
+guardnat String
+"VU.Vector length"
+      Parser st r Int
+-> (Int -> ParserT st r ParseError (Vector a))
+-> ParserT st r ParseError (Vector a)
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= (Int
+ -> ParserT st r ParseError a -> ParserT st r ParseError (Vector a))
+-> ParserT st r ParseError a
+-> Int
+-> ParserT st r ParseError (Vector a)
+forall a b c. (a -> b -> c) -> b -> a -> c
+flip Int
+-> ParserT st r ParseError a -> ParserT st r ParseError (Vector a)
+forall (m :: * -> *) a.
+(Monad m, Unbox a) =>
+Int -> m a -> m (Vector a)
+VU.replicateM ParserT st r ParseError a
+forall (st :: ZeroBitType) r. Parser st r a
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack
+  {-# INLINEABLE unpack #-}
+
+-- UUID
+
+instance Pack UUID where
+  pack :: UUID -> Builder
+pack = (Word64, Word64) -> Builder
+forall a. Pack a => a -> Builder
+pack ((Word64, Word64) -> Builder)
+-> (UUID -> (Word64, Word64)) -> UUID -> Builder
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. UUID -> (Word64, Word64)
+toWords64
+  {-# INLINE pack #-}
+
+instance Unpack UUID where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r UUID
+unpack = Word64 -> Word64 -> UUID
+fromWords64 (Word64 -> Word64 -> UUID)
+-> ParserT st r ParseError Word64
+-> ParserT st r ParseError (Word64 -> UUID)
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ParserT st r ParseError Word64
+forall (st :: ZeroBitType) r. Parser st r Word64
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack ParserT st r ParseError (Word64 -> UUID)
+-> ParserT st r ParseError Word64 -> ParserT st r ParseError UUID
+forall a b.
+ParserT st r ParseError (a -> b)
+-> ParserT st r ParseError a -> ParserT st r ParseError b
+forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
+<*> ParserT st r ParseError Word64
+forall (st :: ZeroBitType) r. Parser st r Word64
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack
+  {-# INLINE unpack #-}
+
\ No newline at end of file diff --git a/src/M.Pack.Internal.FromIntegral.html b/src/M.Pack.Internal.FromIntegral.html new file mode 100644 index 0000000..7d21e12 --- /dev/null +++ b/src/M.Pack.Internal.FromIntegral.html @@ -0,0 +1,18 @@ +
-- |
+-- Module: M.Pack.Internal.FromIntegral
+-- Description: Numeric conversion utilities
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Provides utility functions for numeric type conversions,
+-- primarily an abbreviated form of fromIntegral.
+module M.Pack.Internal.FromIntegral (fi) where
+
+-- | an abbreviation for 'fromIntegral'
+fi :: (Integral a, Num b) => a -> b
+fi :: forall a b. (Integral a, Num b) => a -> b
+fi = a -> b
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral
+{-# INLINE fi #-}
+
\ No newline at end of file diff --git a/src/M.Pack.Internal.Linear.html b/src/M.Pack.Internal.Linear.html new file mode 100644 index 0000000..cf64ac4 --- /dev/null +++ b/src/M.Pack.Internal.Linear.html @@ -0,0 +1,66 @@ +
{-# OPTIONS_GHC -Wno-orphans #-}
+
+-- |
+-- Module: M.Pack.Internal.Linear
+-- Description: Linear algebra type serialization
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Provides Pack and Unpack instances for linear algebra types from the
+-- linear package, including vectors and complex numbers.
+module M.Pack.Internal.Linear () where
+
+import Data.Complex
+import Linear
+import Linear.V
+import M.Pack.Internal.Newtypes
+import M.Pack.Internal.Types
+
+deriving via (PackFoldable0 V0 a) instance (Pack a) => Pack (V0 a)
+
+deriving via (UnpackRepresentable0 V0 a) instance (Unpack a) => Unpack (V0 a)
+
+deriving via (PackFoldable0 V1 a) instance (Pack a) => Pack (V1 a)
+
+deriving via (UnpackRepresentable0 V1 a) instance (Unpack a) => Unpack (V1 a)
+
+deriving via (PackFoldable0 V2 a) instance (Pack a) => Pack (V2 a)
+
+deriving via (UnpackRepresentable0 V2 a) instance (Unpack a) => Unpack (V2 a)
+
+deriving via (PackFoldable0 V3 a) instance (Pack a) => Pack (V3 a)
+
+deriving via (UnpackRepresentable0 V3 a) instance (Unpack a) => Unpack (V3 a)
+
+deriving via (PackFoldable0 V4 a) instance (Pack a) => Pack (V4 a)
+
+deriving via (UnpackRepresentable0 V4 a) instance (Unpack a) => Unpack (V4 a)
+
+deriving via (PackFoldable0 Complex a) instance (Pack a) => Pack (Complex a)
+
+deriving via
+  (UnpackRepresentable0 Complex a)
+  instance
+    (Unpack a) =>
+    Unpack (Complex a)
+
+deriving via
+  (PackFoldable0 Quaternion a)
+  instance
+    (Pack a) =>
+    Pack (Quaternion a)
+
+deriving via
+  (UnpackRepresentable0 Quaternion a)
+  instance
+    (Unpack a) =>
+    Unpack (Quaternion a)
+
+deriving via (PackFoldable0 (V n) a) instance (Pack a) => Pack (V n a)
+
+deriving via
+  (UnpackRepresentable0 (V n) a)
+  instance
+    (Unpack a, Dim n) =>
+    Unpack (V n a)
+
\ No newline at end of file diff --git a/src/M.Pack.Internal.Newtypes.html b/src/M.Pack.Internal.Newtypes.html new file mode 100644 index 0000000..aa351af --- /dev/null +++ b/src/M.Pack.Internal.Newtypes.html @@ -0,0 +1,7306 @@ +
-- |
+-- Module: M.Pack.Internal.Newtypes
+-- Description: Special-purpose serialization wrappers
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Defines newtype wrappers that control how values are packed and unpacked,
+-- including enum indices, fixed-point numbers, angles, and identifiers.
+module M.Pack.Internal.Newtypes
+  ( EnumIndex (..),
+    Fixed' (..),
+    Int8Angle (..),
+    Identifier (..),
+    IDorX (..),
+    IDSet (..),
+    TakeRest (..),
+    PackFoldableVI (..),
+    PackFoldable0 (..),
+    UnpackRepresentable0 (..),
+    degtoi8angle,
+    i8angledeg,
+  )
+where
+
+import Control.Applicative.Combinators
+import Control.DeepSeq
+import Data.ByteString (ByteString)
+import Data.ByteString.Builder qualified as BB
+import Data.Char
+import Data.Coerce
+import Data.Data
+import Data.Fixed
+import Data.Foldable
+import Data.Foldable1
+import Data.Functor.Classes
+import Data.Functor.Rep
+import Data.Hashable
+import Data.Int
+import Data.String
+import Data.Text (Text)
+import Data.Text qualified as T
+import Data.Vector qualified as V
+import FlatParse.Stateful qualified as F
+import GHC.Generics
+import Language.Haskell.TH.Syntax (Lift)
+import M.LEB
+import M.Pack.Internal.Etc ()
+import M.Pack.Internal.FromIntegral
+import M.Pack.Internal.Num
+import M.Pack.Internal.Types
+
+-- | represent any 'Enum' type using a zero-based index
+newtype EnumIndex i a = EnumIndex {forall {k} (i :: k) a. EnumIndex i a -> a
+enumindex :: a}
+  deriving stock ((forall x. EnumIndex i a -> Rep (EnumIndex i a) x)
+-> (forall x. Rep (EnumIndex i a) x -> EnumIndex i a)
+-> Generic (EnumIndex i a)
+forall x. Rep (EnumIndex i a) x -> EnumIndex i a
+forall x. EnumIndex i a -> Rep (EnumIndex i a) x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+forall k (i :: k) a x. Rep (EnumIndex i a) x -> EnumIndex i a
+forall k (i :: k) a x. EnumIndex i a -> Rep (EnumIndex i a) x
+$cfrom :: forall k (i :: k) a x. EnumIndex i a -> Rep (EnumIndex i a) x
+from :: forall x. EnumIndex i a -> Rep (EnumIndex i a) x
+$cto :: forall k (i :: k) a x. Rep (EnumIndex i a) x -> EnumIndex i a
+to :: forall x. Rep (EnumIndex i a) x -> EnumIndex i a
+Generic, Typeable, Typeable (EnumIndex i a)
+Typeable (EnumIndex i a) =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> EnumIndex i a -> c (EnumIndex i a))
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c (EnumIndex i a))
+-> (EnumIndex i a -> Constr)
+-> (EnumIndex i a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c (EnumIndex i a)))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c (EnumIndex i a)))
+-> ((forall b. Data b => b -> b) -> EnumIndex i a -> EnumIndex i a)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> EnumIndex i a -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> EnumIndex i a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> EnumIndex i a -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> EnumIndex i a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d)
+    -> EnumIndex i a -> m (EnumIndex i a))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d)
+    -> EnumIndex i a -> m (EnumIndex i a))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d)
+    -> EnumIndex i a -> m (EnumIndex i a))
+-> Data (EnumIndex i a)
+EnumIndex i a -> Constr
+EnumIndex i a -> DataType
+(forall b. Data b => b -> b) -> EnumIndex i a -> EnumIndex i a
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> EnumIndex i a -> u
+forall u. (forall d. Data d => d -> u) -> EnumIndex i a -> [u]
+forall k (i :: k) a.
+(Typeable i, Typeable k, Data a) =>
+Typeable (EnumIndex i a)
+forall k (i :: k) a.
+(Typeable i, Typeable k, Data a) =>
+EnumIndex i a -> Constr
+forall k (i :: k) a.
+(Typeable i, Typeable k, Data a) =>
+EnumIndex i a -> DataType
+forall k (i :: k) a.
+(Typeable i, Typeable k, Data a) =>
+(forall b. Data b => b -> b) -> EnumIndex i a -> EnumIndex i a
+forall k (i :: k) a u.
+(Typeable i, Typeable k, Data a) =>
+Int -> (forall d. Data d => d -> u) -> EnumIndex i a -> u
+forall k (i :: k) a u.
+(Typeable i, Typeable k, Data a) =>
+(forall d. Data d => d -> u) -> EnumIndex i a -> [u]
+forall k (i :: k) a r r'.
+(Typeable i, Typeable k, Data a) =>
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> EnumIndex i a -> r
+forall k (i :: k) a r r'.
+(Typeable i, Typeable k, Data a) =>
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> EnumIndex i a -> r
+forall k (i :: k) a (m :: * -> *).
+(Typeable i, Typeable k, Data a, Monad m) =>
+(forall d. Data d => d -> m d)
+-> EnumIndex i a -> m (EnumIndex i a)
+forall k (i :: k) a (m :: * -> *).
+(Typeable i, Typeable k, Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d)
+-> EnumIndex i a -> m (EnumIndex i a)
+forall k (i :: k) a (c :: * -> *).
+(Typeable i, Typeable k, Data a) =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (EnumIndex i a)
+forall k (i :: k) a (c :: * -> *).
+(Typeable i, Typeable k, Data a) =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> EnumIndex i a -> c (EnumIndex i a)
+forall k (i :: k) a (t :: * -> *) (c :: * -> *).
+(Typeable i, Typeable k, Data a, Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (EnumIndex i a))
+forall k (i :: k) a (t :: * -> * -> *) (c :: * -> *).
+(Typeable i, Typeable k, Data a, Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (EnumIndex i a))
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> EnumIndex i a -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> EnumIndex i a -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d)
+-> EnumIndex i a -> m (EnumIndex i a)
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> EnumIndex i a -> m (EnumIndex i a)
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (EnumIndex i a)
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> EnumIndex i a -> c (EnumIndex i a)
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (EnumIndex i a))
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (EnumIndex i a))
+$cgfoldl :: forall k (i :: k) a (c :: * -> *).
+(Typeable i, Typeable k, Data a) =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> EnumIndex i a -> c (EnumIndex i a)
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> EnumIndex i a -> c (EnumIndex i a)
+$cgunfold :: forall k (i :: k) a (c :: * -> *).
+(Typeable i, Typeable k, Data a) =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (EnumIndex i a)
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (EnumIndex i a)
+$ctoConstr :: forall k (i :: k) a.
+(Typeable i, Typeable k, Data a) =>
+EnumIndex i a -> Constr
+toConstr :: EnumIndex i a -> Constr
+$cdataTypeOf :: forall k (i :: k) a.
+(Typeable i, Typeable k, Data a) =>
+EnumIndex i a -> DataType
+dataTypeOf :: EnumIndex i a -> DataType
+$cdataCast1 :: forall k (i :: k) a (t :: * -> *) (c :: * -> *).
+(Typeable i, Typeable k, Data a, Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (EnumIndex i a))
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (EnumIndex i a))
+$cdataCast2 :: forall k (i :: k) a (t :: * -> * -> *) (c :: * -> *).
+(Typeable i, Typeable k, Data a, Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (EnumIndex i a))
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (EnumIndex i a))
+$cgmapT :: forall k (i :: k) a.
+(Typeable i, Typeable k, Data a) =>
+(forall b. Data b => b -> b) -> EnumIndex i a -> EnumIndex i a
+gmapT :: (forall b. Data b => b -> b) -> EnumIndex i a -> EnumIndex i a
+$cgmapQl :: forall k (i :: k) a r r'.
+(Typeable i, Typeable k, Data a) =>
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> EnumIndex i a -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> EnumIndex i a -> r
+$cgmapQr :: forall k (i :: k) a r r'.
+(Typeable i, Typeable k, Data a) =>
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> EnumIndex i a -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> EnumIndex i a -> r
+$cgmapQ :: forall k (i :: k) a u.
+(Typeable i, Typeable k, Data a) =>
+(forall d. Data d => d -> u) -> EnumIndex i a -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> EnumIndex i a -> [u]
+$cgmapQi :: forall k (i :: k) a u.
+(Typeable i, Typeable k, Data a) =>
+Int -> (forall d. Data d => d -> u) -> EnumIndex i a -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> EnumIndex i a -> u
+$cgmapM :: forall k (i :: k) a (m :: * -> *).
+(Typeable i, Typeable k, Data a, Monad m) =>
+(forall d. Data d => d -> m d)
+-> EnumIndex i a -> m (EnumIndex i a)
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d)
+-> EnumIndex i a -> m (EnumIndex i a)
+$cgmapMp :: forall k (i :: k) a (m :: * -> *).
+(Typeable i, Typeable k, Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d)
+-> EnumIndex i a -> m (EnumIndex i a)
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> EnumIndex i a -> m (EnumIndex i a)
+$cgmapMo :: forall k (i :: k) a (m :: * -> *).
+(Typeable i, Typeable k, Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d)
+-> EnumIndex i a -> m (EnumIndex i a)
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> EnumIndex i a -> m (EnumIndex i a)
+Data, (forall a b. (a -> b) -> EnumIndex i a -> EnumIndex i b)
+-> (forall a b. a -> EnumIndex i b -> EnumIndex i a)
+-> Functor (EnumIndex i)
+forall k (i :: k) a b. a -> EnumIndex i b -> EnumIndex i a
+forall k (i :: k) a b. (a -> b) -> EnumIndex i a -> EnumIndex i b
+forall a b. a -> EnumIndex i b -> EnumIndex i a
+forall a b. (a -> b) -> EnumIndex i a -> EnumIndex i b
+forall (f :: * -> *).
+(forall a b. (a -> b) -> f a -> f b)
+-> (forall a b. a -> f b -> f a) -> Functor f
+$cfmap :: forall k (i :: k) a b. (a -> b) -> EnumIndex i a -> EnumIndex i b
+fmap :: forall a b. (a -> b) -> EnumIndex i a -> EnumIndex i b
+$c<$ :: forall k (i :: k) a b. a -> EnumIndex i b -> EnumIndex i a
+<$ :: forall a b. a -> EnumIndex i b -> EnumIndex i a
+Functor, (forall (m :: * -> *). Quote m => EnumIndex i a -> m Exp)
+-> (forall (m :: * -> *).
+    Quote m =>
+    EnumIndex i a -> Code m (EnumIndex i a))
+-> Lift (EnumIndex i a)
+forall k (i :: k) a (m :: * -> *).
+(Lift a, Quote m) =>
+EnumIndex i a -> m Exp
+forall k (i :: k) a (m :: * -> *).
+(Lift a, Quote m) =>
+EnumIndex i a -> Code m (EnumIndex i a)
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => EnumIndex i a -> m Exp
+forall (m :: * -> *).
+Quote m =>
+EnumIndex i a -> Code m (EnumIndex i a)
+$clift :: forall k (i :: k) a (m :: * -> *).
+(Lift a, Quote m) =>
+EnumIndex i a -> m Exp
+lift :: forall (m :: * -> *). Quote m => EnumIndex i a -> m Exp
+$cliftTyped :: forall k (i :: k) a (m :: * -> *).
+(Lift a, Quote m) =>
+EnumIndex i a -> Code m (EnumIndex i a)
+liftTyped :: forall (m :: * -> *).
+Quote m =>
+EnumIndex i a -> Code m (EnumIndex i a)
+Lift)
+  deriving newtype (EnumIndex i a -> EnumIndex i a -> Bool
+(EnumIndex i a -> EnumIndex i a -> Bool)
+-> (EnumIndex i a -> EnumIndex i a -> Bool) -> Eq (EnumIndex i a)
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+forall k (i :: k) a. Eq a => EnumIndex i a -> EnumIndex i a -> Bool
+$c== :: forall k (i :: k) a. Eq a => EnumIndex i a -> EnumIndex i a -> Bool
+== :: EnumIndex i a -> EnumIndex i a -> Bool
+$c/= :: forall k (i :: k) a. Eq a => EnumIndex i a -> EnumIndex i a -> Bool
+/= :: EnumIndex i a -> EnumIndex i a -> Bool
+Eq, Eq (EnumIndex i a)
+Eq (EnumIndex i a) =>
+(EnumIndex i a -> EnumIndex i a -> Ordering)
+-> (EnumIndex i a -> EnumIndex i a -> Bool)
+-> (EnumIndex i a -> EnumIndex i a -> Bool)
+-> (EnumIndex i a -> EnumIndex i a -> Bool)
+-> (EnumIndex i a -> EnumIndex i a -> Bool)
+-> (EnumIndex i a -> EnumIndex i a -> EnumIndex i a)
+-> (EnumIndex i a -> EnumIndex i a -> EnumIndex i a)
+-> Ord (EnumIndex i a)
+EnumIndex i a -> EnumIndex i a -> Bool
+EnumIndex i a -> EnumIndex i a -> Ordering
+EnumIndex i a -> EnumIndex i a -> EnumIndex i a
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+forall k (i :: k) a. Ord a => Eq (EnumIndex i a)
+forall k (i :: k) a.
+Ord a =>
+EnumIndex i a -> EnumIndex i a -> Bool
+forall k (i :: k) a.
+Ord a =>
+EnumIndex i a -> EnumIndex i a -> Ordering
+forall k (i :: k) a.
+Ord a =>
+EnumIndex i a -> EnumIndex i a -> EnumIndex i a
+$ccompare :: forall k (i :: k) a.
+Ord a =>
+EnumIndex i a -> EnumIndex i a -> Ordering
+compare :: EnumIndex i a -> EnumIndex i a -> Ordering
+$c< :: forall k (i :: k) a.
+Ord a =>
+EnumIndex i a -> EnumIndex i a -> Bool
+< :: EnumIndex i a -> EnumIndex i a -> Bool
+$c<= :: forall k (i :: k) a.
+Ord a =>
+EnumIndex i a -> EnumIndex i a -> Bool
+<= :: EnumIndex i a -> EnumIndex i a -> Bool
+$c> :: forall k (i :: k) a.
+Ord a =>
+EnumIndex i a -> EnumIndex i a -> Bool
+> :: EnumIndex i a -> EnumIndex i a -> Bool
+$c>= :: forall k (i :: k) a.
+Ord a =>
+EnumIndex i a -> EnumIndex i a -> Bool
+>= :: EnumIndex i a -> EnumIndex i a -> Bool
+$cmax :: forall k (i :: k) a.
+Ord a =>
+EnumIndex i a -> EnumIndex i a -> EnumIndex i a
+max :: EnumIndex i a -> EnumIndex i a -> EnumIndex i a
+$cmin :: forall k (i :: k) a.
+Ord a =>
+EnumIndex i a -> EnumIndex i a -> EnumIndex i a
+min :: EnumIndex i a -> EnumIndex i a -> EnumIndex i a
+Ord, Int -> EnumIndex i a -> ShowS
+[EnumIndex i a] -> ShowS
+EnumIndex i a -> String
+(Int -> EnumIndex i a -> ShowS)
+-> (EnumIndex i a -> String)
+-> ([EnumIndex i a] -> ShowS)
+-> Show (EnumIndex i a)
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+forall k (i :: k) a. Show a => Int -> EnumIndex i a -> ShowS
+forall k (i :: k) a. Show a => [EnumIndex i a] -> ShowS
+forall k (i :: k) a. Show a => EnumIndex i a -> String
+$cshowsPrec :: forall k (i :: k) a. Show a => Int -> EnumIndex i a -> ShowS
+showsPrec :: Int -> EnumIndex i a -> ShowS
+$cshow :: forall k (i :: k) a. Show a => EnumIndex i a -> String
+show :: EnumIndex i a -> String
+$cshowList :: forall k (i :: k) a. Show a => [EnumIndex i a] -> ShowS
+showList :: [EnumIndex i a] -> ShowS
+Show, ReadPrec [EnumIndex i a]
+ReadPrec (EnumIndex i a)
+Int -> ReadS (EnumIndex i a)
+ReadS [EnumIndex i a]
+(Int -> ReadS (EnumIndex i a))
+-> ReadS [EnumIndex i a]
+-> ReadPrec (EnumIndex i a)
+-> ReadPrec [EnumIndex i a]
+-> Read (EnumIndex i a)
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+forall k (i :: k) a. Read a => ReadPrec [EnumIndex i a]
+forall k (i :: k) a. Read a => ReadPrec (EnumIndex i a)
+forall k (i :: k) a. Read a => Int -> ReadS (EnumIndex i a)
+forall k (i :: k) a. Read a => ReadS [EnumIndex i a]
+$creadsPrec :: forall k (i :: k) a. Read a => Int -> ReadS (EnumIndex i a)
+readsPrec :: Int -> ReadS (EnumIndex i a)
+$creadList :: forall k (i :: k) a. Read a => ReadS [EnumIndex i a]
+readList :: ReadS [EnumIndex i a]
+$creadPrec :: forall k (i :: k) a. Read a => ReadPrec (EnumIndex i a)
+readPrec :: ReadPrec (EnumIndex i a)
+$creadListPrec :: forall k (i :: k) a. Read a => ReadPrec [EnumIndex i a]
+readListPrec :: ReadPrec [EnumIndex i a]
+Read, Eq (EnumIndex i a)
+Eq (EnumIndex i a) =>
+(Int -> EnumIndex i a -> Int)
+-> (EnumIndex i a -> Int) -> Hashable (EnumIndex i a)
+Int -> EnumIndex i a -> Int
+EnumIndex i a -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+forall k (i :: k) a. Hashable a => Eq (EnumIndex i a)
+forall k (i :: k) a. Hashable a => Int -> EnumIndex i a -> Int
+forall k (i :: k) a. Hashable a => EnumIndex i a -> Int
+$chashWithSalt :: forall k (i :: k) a. Hashable a => Int -> EnumIndex i a -> Int
+hashWithSalt :: Int -> EnumIndex i a -> Int
+$chash :: forall k (i :: k) a. Hashable a => EnumIndex i a -> Int
+hash :: EnumIndex i a -> Int
+Hashable, EnumIndex i a -> ()
+(EnumIndex i a -> ()) -> NFData (EnumIndex i a)
+forall a. (a -> ()) -> NFData a
+forall k (i :: k) a. NFData a => EnumIndex i a -> ()
+$crnf :: forall k (i :: k) a. NFData a => EnumIndex i a -> ()
+rnf :: EnumIndex i a -> ()
+NFData)
+  deriving newtype (Int -> EnumIndex i a
+EnumIndex i a -> Int
+EnumIndex i a -> [EnumIndex i a]
+EnumIndex i a -> EnumIndex i a
+EnumIndex i a -> EnumIndex i a -> [EnumIndex i a]
+EnumIndex i a -> EnumIndex i a -> EnumIndex i a -> [EnumIndex i a]
+(EnumIndex i a -> EnumIndex i a)
+-> (EnumIndex i a -> EnumIndex i a)
+-> (Int -> EnumIndex i a)
+-> (EnumIndex i a -> Int)
+-> (EnumIndex i a -> [EnumIndex i a])
+-> (EnumIndex i a -> EnumIndex i a -> [EnumIndex i a])
+-> (EnumIndex i a -> EnumIndex i a -> [EnumIndex i a])
+-> (EnumIndex i a
+    -> EnumIndex i a -> EnumIndex i a -> [EnumIndex i a])
+-> Enum (EnumIndex i a)
+forall a.
+(a -> a)
+-> (a -> a)
+-> (Int -> a)
+-> (a -> Int)
+-> (a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> a -> [a])
+-> Enum a
+forall k (i :: k) a. Enum a => Int -> EnumIndex i a
+forall k (i :: k) a. Enum a => EnumIndex i a -> Int
+forall k (i :: k) a. Enum a => EnumIndex i a -> [EnumIndex i a]
+forall k (i :: k) a. Enum a => EnumIndex i a -> EnumIndex i a
+forall k (i :: k) a.
+Enum a =>
+EnumIndex i a -> EnumIndex i a -> [EnumIndex i a]
+forall k (i :: k) a.
+Enum a =>
+EnumIndex i a -> EnumIndex i a -> EnumIndex i a -> [EnumIndex i a]
+$csucc :: forall k (i :: k) a. Enum a => EnumIndex i a -> EnumIndex i a
+succ :: EnumIndex i a -> EnumIndex i a
+$cpred :: forall k (i :: k) a. Enum a => EnumIndex i a -> EnumIndex i a
+pred :: EnumIndex i a -> EnumIndex i a
+$ctoEnum :: forall k (i :: k) a. Enum a => Int -> EnumIndex i a
+toEnum :: Int -> EnumIndex i a
+$cfromEnum :: forall k (i :: k) a. Enum a => EnumIndex i a -> Int
+fromEnum :: EnumIndex i a -> Int
+$cenumFrom :: forall k (i :: k) a. Enum a => EnumIndex i a -> [EnumIndex i a]
+enumFrom :: EnumIndex i a -> [EnumIndex i a]
+$cenumFromThen :: forall k (i :: k) a.
+Enum a =>
+EnumIndex i a -> EnumIndex i a -> [EnumIndex i a]
+enumFromThen :: EnumIndex i a -> EnumIndex i a -> [EnumIndex i a]
+$cenumFromTo :: forall k (i :: k) a.
+Enum a =>
+EnumIndex i a -> EnumIndex i a -> [EnumIndex i a]
+enumFromTo :: EnumIndex i a -> EnumIndex i a -> [EnumIndex i a]
+$cenumFromThenTo :: forall k (i :: k) a.
+Enum a =>
+EnumIndex i a -> EnumIndex i a -> EnumIndex i a -> [EnumIndex i a]
+enumFromThenTo :: EnumIndex i a -> EnumIndex i a -> EnumIndex i a -> [EnumIndex i a]
+Enum, EnumIndex i a
+EnumIndex i a -> EnumIndex i a -> Bounded (EnumIndex i a)
+forall a. a -> a -> Bounded a
+forall k (i :: k) a. Bounded a => EnumIndex i a
+$cminBound :: forall k (i :: k) a. Bounded a => EnumIndex i a
+minBound :: EnumIndex i a
+$cmaxBound :: forall k (i :: k) a. Bounded a => EnumIndex i a
+maxBound :: EnumIndex i a
+Bounded)
+
+instance (Enum a, Integral i, Pack i) => Pack (EnumIndex i a) where
+  pack :: EnumIndex i a -> Builder
+pack = forall a. Pack a => a -> Builder
+pack @i (i -> Builder) -> (EnumIndex i a -> i) -> EnumIndex i a -> Builder
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Int -> i
+forall a b. (Integral a, Num b) => a -> b
+fi (Int -> i) -> (EnumIndex i a -> Int) -> EnumIndex i a -> i
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. a -> Int
+forall a. Enum a => a -> Int
+fromEnum (a -> Int) -> (EnumIndex i a -> a) -> EnumIndex i a -> Int
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. EnumIndex i a -> a
+forall {k} (i :: k) a. EnumIndex i a -> a
+enumindex
+  {-# INLINEABLE pack #-}
+
+instance
+  (Enum a, Bounded a, Integral i, Unpack i) =>
+  Unpack (EnumIndex i a)
+  where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r (EnumIndex i a)
+unpack = do
+    let bx :: Int -> Bool
+bx Int
+x = a -> Int
+forall a. Enum a => a -> Int
+fromEnum (forall a. Bounded a => a
+minBound @a) Int -> Int -> Bool
+forall a. Ord a => a -> a -> Bool
+<= Int
+x Bool -> Bool -> Bool
+&& Int
+x Int -> Int -> Bool
+forall a. Ord a => a -> a -> Bool
+<= a -> Int
+forall a. Enum a => a -> Int
+fromEnum (forall a. Bounded a => a
+maxBound @a)
+    i -> Int
+forall a b. (Integral a, Num b) => a -> b
+fi (i -> Int)
+-> ParserT st r ParseError i -> ParserT st r ParseError Int
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack @i ParserT st r ParseError Int
+-> (Int -> Parser st r (EnumIndex i a))
+-> Parser st r (EnumIndex i a)
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= \case
+      Int
+n | Int -> Bool
+bx Int
+n -> EnumIndex i a -> Parser st r (EnumIndex i a)
+forall a. a -> ParserT st r ParseError a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure (a -> EnumIndex i a
+forall {k} (i :: k) a. a -> EnumIndex i a
+EnumIndex (Int -> a
+forall a. Enum a => Int -> a
+toEnum Int
+n))
+      Int
+n -> ParseError -> Parser st r (EnumIndex i a)
+forall e (st :: ZeroBitType) r a. e -> ParserT st r e a
+F.err (ParseError -> Parser st r (EnumIndex i a))
+-> ParseError -> Parser st r (EnumIndex i a)
+forall a b. (a -> b) -> a -> b
+$ String -> ParseError
+forall a b. Coercible a b => a -> b
+coerce (String -> ParseError) -> String -> ParseError
+forall a b. (a -> b) -> a -> b
+$ String
+"EnumIndex: out of bounds: " String -> ShowS
+forall a. Semigroup a => a -> a -> a
+<> Int -> String
+forall a. Show a => a -> String
+show Int
+n
+
+-- | use an integer type @i@ for serialization of a fixed-point number
+-- with resolution @r@ (see 'HasResolution', 'Fixed'), with underlying
+-- numeric representation @f@
+newtype Fixed' i r f = Fixed' {forall {k} {k} (i :: k) (r :: k) f. Fixed' i r f -> f
+unfixed' :: f}
+  deriving stock ((forall x. Fixed' i r f -> Rep (Fixed' i r f) x)
+-> (forall x. Rep (Fixed' i r f) x -> Fixed' i r f)
+-> Generic (Fixed' i r f)
+forall x. Rep (Fixed' i r f) x -> Fixed' i r f
+forall x. Fixed' i r f -> Rep (Fixed' i r f) x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+forall k (i :: k) k (r :: k) f x.
+Rep (Fixed' i r f) x -> Fixed' i r f
+forall k (i :: k) k (r :: k) f x.
+Fixed' i r f -> Rep (Fixed' i r f) x
+$cfrom :: forall k (i :: k) k (r :: k) f x.
+Fixed' i r f -> Rep (Fixed' i r f) x
+from :: forall x. Fixed' i r f -> Rep (Fixed' i r f) x
+$cto :: forall k (i :: k) k (r :: k) f x.
+Rep (Fixed' i r f) x -> Fixed' i r f
+to :: forall x. Rep (Fixed' i r f) x -> Fixed' i r f
+Generic, Typeable, Typeable (Fixed' i r f)
+Typeable (Fixed' i r f) =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> Fixed' i r f -> c (Fixed' i r f))
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c (Fixed' i r f))
+-> (Fixed' i r f -> Constr)
+-> (Fixed' i r f -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c (Fixed' i r f)))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c (Fixed' i r f)))
+-> ((forall b. Data b => b -> b) -> Fixed' i r f -> Fixed' i r f)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> Fixed' i r f -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> Fixed' i r f -> r)
+-> (forall u. (forall d. Data d => d -> u) -> Fixed' i r f -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> Fixed' i r f -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> Fixed' i r f -> m (Fixed' i r f))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Fixed' i r f -> m (Fixed' i r f))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Fixed' i r f -> m (Fixed' i r f))
+-> Data (Fixed' i r f)
+Fixed' i r f -> Constr
+Fixed' i r f -> DataType
+(forall b. Data b => b -> b) -> Fixed' i r f -> Fixed' i r f
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> Fixed' i r f -> u
+forall u. (forall d. Data d => d -> u) -> Fixed' i r f -> [u]
+forall k (i :: k) k (r :: k) f.
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f) =>
+Typeable (Fixed' i r f)
+forall k (i :: k) k (r :: k) f.
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f) =>
+Fixed' i r f -> Constr
+forall k (i :: k) k (r :: k) f.
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f) =>
+Fixed' i r f -> DataType
+forall k (i :: k) k (r :: k) f.
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f) =>
+(forall b. Data b => b -> b) -> Fixed' i r f -> Fixed' i r f
+forall k (i :: k) k (r :: k) f u.
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f) =>
+Int -> (forall d. Data d => d -> u) -> Fixed' i r f -> u
+forall k (i :: k) k (r :: k) f u.
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f) =>
+(forall d. Data d => d -> u) -> Fixed' i r f -> [u]
+forall k (i :: k) k (r :: k) f r r'.
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f) =>
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Fixed' i r f -> r
+forall k (i :: k) k (r :: k) f r r'.
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f) =>
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Fixed' i r f -> r
+forall k (i :: k) k (r :: k) f (m :: * -> *).
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f,
+ Monad m) =>
+(forall d. Data d => d -> m d) -> Fixed' i r f -> m (Fixed' i r f)
+forall k (i :: k) k (r :: k) f (m :: * -> *).
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f,
+ MonadPlus m) =>
+(forall d. Data d => d -> m d) -> Fixed' i r f -> m (Fixed' i r f)
+forall k (i :: k) k (r :: k) f (c :: * -> *).
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f) =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (Fixed' i r f)
+forall k (i :: k) k (r :: k) f (c :: * -> *).
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f) =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Fixed' i r f -> c (Fixed' i r f)
+forall k (i :: k) k (r :: k) f (t :: * -> *) (c :: * -> *).
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f,
+ Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (Fixed' i r f))
+forall k (i :: k) k (r :: k) f (t :: * -> * -> *) (c :: * -> *).
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f,
+ Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (Fixed' i r f))
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Fixed' i r f -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Fixed' i r f -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Fixed' i r f -> m (Fixed' i r f)
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Fixed' i r f -> m (Fixed' i r f)
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (Fixed' i r f)
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Fixed' i r f -> c (Fixed' i r f)
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (Fixed' i r f))
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (Fixed' i r f))
+$cgfoldl :: forall k (i :: k) k (r :: k) f (c :: * -> *).
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f) =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Fixed' i r f -> c (Fixed' i r f)
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Fixed' i r f -> c (Fixed' i r f)
+$cgunfold :: forall k (i :: k) k (r :: k) f (c :: * -> *).
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f) =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (Fixed' i r f)
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (Fixed' i r f)
+$ctoConstr :: forall k (i :: k) k (r :: k) f.
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f) =>
+Fixed' i r f -> Constr
+toConstr :: Fixed' i r f -> Constr
+$cdataTypeOf :: forall k (i :: k) k (r :: k) f.
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f) =>
+Fixed' i r f -> DataType
+dataTypeOf :: Fixed' i r f -> DataType
+$cdataCast1 :: forall k (i :: k) k (r :: k) f (t :: * -> *) (c :: * -> *).
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f,
+ Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (Fixed' i r f))
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (Fixed' i r f))
+$cdataCast2 :: forall k (i :: k) k (r :: k) f (t :: * -> * -> *) (c :: * -> *).
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f,
+ Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (Fixed' i r f))
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (Fixed' i r f))
+$cgmapT :: forall k (i :: k) k (r :: k) f.
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f) =>
+(forall b. Data b => b -> b) -> Fixed' i r f -> Fixed' i r f
+gmapT :: (forall b. Data b => b -> b) -> Fixed' i r f -> Fixed' i r f
+$cgmapQl :: forall k (i :: k) k (r :: k) f r r'.
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f) =>
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Fixed' i r f -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Fixed' i r f -> r
+$cgmapQr :: forall k (i :: k) k (r :: k) f r r'.
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f) =>
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Fixed' i r f -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Fixed' i r f -> r
+$cgmapQ :: forall k (i :: k) k (r :: k) f u.
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f) =>
+(forall d. Data d => d -> u) -> Fixed' i r f -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> Fixed' i r f -> [u]
+$cgmapQi :: forall k (i :: k) k (r :: k) f u.
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f) =>
+Int -> (forall d. Data d => d -> u) -> Fixed' i r f -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Fixed' i r f -> u
+$cgmapM :: forall k (i :: k) k (r :: k) f (m :: * -> *).
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f,
+ Monad m) =>
+(forall d. Data d => d -> m d) -> Fixed' i r f -> m (Fixed' i r f)
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Fixed' i r f -> m (Fixed' i r f)
+$cgmapMp :: forall k (i :: k) k (r :: k) f (m :: * -> *).
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f,
+ MonadPlus m) =>
+(forall d. Data d => d -> m d) -> Fixed' i r f -> m (Fixed' i r f)
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Fixed' i r f -> m (Fixed' i r f)
+$cgmapMo :: forall k (i :: k) k (r :: k) f (m :: * -> *).
+(Typeable i, Typeable r, Typeable k, Typeable k, Data f,
+ MonadPlus m) =>
+(forall d. Data d => d -> m d) -> Fixed' i r f -> m (Fixed' i r f)
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Fixed' i r f -> m (Fixed' i r f)
+Data, (forall (m :: * -> *). Quote m => Fixed' i r f -> m Exp)
+-> (forall (m :: * -> *).
+    Quote m =>
+    Fixed' i r f -> Code m (Fixed' i r f))
+-> Lift (Fixed' i r f)
+forall k (i :: k) k (r :: k) f (m :: * -> *).
+(Lift f, Quote m) =>
+Fixed' i r f -> m Exp
+forall k (i :: k) k (r :: k) f (m :: * -> *).
+(Lift f, Quote m) =>
+Fixed' i r f -> Code m (Fixed' i r f)
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => Fixed' i r f -> m Exp
+forall (m :: * -> *).
+Quote m =>
+Fixed' i r f -> Code m (Fixed' i r f)
+$clift :: forall k (i :: k) k (r :: k) f (m :: * -> *).
+(Lift f, Quote m) =>
+Fixed' i r f -> m Exp
+lift :: forall (m :: * -> *). Quote m => Fixed' i r f -> m Exp
+$cliftTyped :: forall k (i :: k) k (r :: k) f (m :: * -> *).
+(Lift f, Quote m) =>
+Fixed' i r f -> Code m (Fixed' i r f)
+liftTyped :: forall (m :: * -> *).
+Quote m =>
+Fixed' i r f -> Code m (Fixed' i r f)
+Lift)
+  deriving newtype (Fixed' i r f -> Fixed' i r f -> Bool
+(Fixed' i r f -> Fixed' i r f -> Bool)
+-> (Fixed' i r f -> Fixed' i r f -> Bool) -> Eq (Fixed' i r f)
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+forall k (i :: k) k (r :: k) f.
+Eq f =>
+Fixed' i r f -> Fixed' i r f -> Bool
+$c== :: forall k (i :: k) k (r :: k) f.
+Eq f =>
+Fixed' i r f -> Fixed' i r f -> Bool
+== :: Fixed' i r f -> Fixed' i r f -> Bool
+$c/= :: forall k (i :: k) k (r :: k) f.
+Eq f =>
+Fixed' i r f -> Fixed' i r f -> Bool
+/= :: Fixed' i r f -> Fixed' i r f -> Bool
+Eq, Eq (Fixed' i r f)
+Eq (Fixed' i r f) =>
+(Fixed' i r f -> Fixed' i r f -> Ordering)
+-> (Fixed' i r f -> Fixed' i r f -> Bool)
+-> (Fixed' i r f -> Fixed' i r f -> Bool)
+-> (Fixed' i r f -> Fixed' i r f -> Bool)
+-> (Fixed' i r f -> Fixed' i r f -> Bool)
+-> (Fixed' i r f -> Fixed' i r f -> Fixed' i r f)
+-> (Fixed' i r f -> Fixed' i r f -> Fixed' i r f)
+-> Ord (Fixed' i r f)
+Fixed' i r f -> Fixed' i r f -> Bool
+Fixed' i r f -> Fixed' i r f -> Ordering
+Fixed' i r f -> Fixed' i r f -> Fixed' i r f
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+forall k (i :: k) k (r :: k) f. Ord f => Eq (Fixed' i r f)
+forall k (i :: k) k (r :: k) f.
+Ord f =>
+Fixed' i r f -> Fixed' i r f -> Bool
+forall k (i :: k) k (r :: k) f.
+Ord f =>
+Fixed' i r f -> Fixed' i r f -> Ordering
+forall k (i :: k) k (r :: k) f.
+Ord f =>
+Fixed' i r f -> Fixed' i r f -> Fixed' i r f
+$ccompare :: forall k (i :: k) k (r :: k) f.
+Ord f =>
+Fixed' i r f -> Fixed' i r f -> Ordering
+compare :: Fixed' i r f -> Fixed' i r f -> Ordering
+$c< :: forall k (i :: k) k (r :: k) f.
+Ord f =>
+Fixed' i r f -> Fixed' i r f -> Bool
+< :: Fixed' i r f -> Fixed' i r f -> Bool
+$c<= :: forall k (i :: k) k (r :: k) f.
+Ord f =>
+Fixed' i r f -> Fixed' i r f -> Bool
+<= :: Fixed' i r f -> Fixed' i r f -> Bool
+$c> :: forall k (i :: k) k (r :: k) f.
+Ord f =>
+Fixed' i r f -> Fixed' i r f -> Bool
+> :: Fixed' i r f -> Fixed' i r f -> Bool
+$c>= :: forall k (i :: k) k (r :: k) f.
+Ord f =>
+Fixed' i r f -> Fixed' i r f -> Bool
+>= :: Fixed' i r f -> Fixed' i r f -> Bool
+$cmax :: forall k (i :: k) k (r :: k) f.
+Ord f =>
+Fixed' i r f -> Fixed' i r f -> Fixed' i r f
+max :: Fixed' i r f -> Fixed' i r f -> Fixed' i r f
+$cmin :: forall k (i :: k) k (r :: k) f.
+Ord f =>
+Fixed' i r f -> Fixed' i r f -> Fixed' i r f
+min :: Fixed' i r f -> Fixed' i r f -> Fixed' i r f
+Ord, Int -> Fixed' i r f -> ShowS
+[Fixed' i r f] -> ShowS
+Fixed' i r f -> String
+(Int -> Fixed' i r f -> ShowS)
+-> (Fixed' i r f -> String)
+-> ([Fixed' i r f] -> ShowS)
+-> Show (Fixed' i r f)
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+forall k (i :: k) k (r :: k) f.
+Show f =>
+Int -> Fixed' i r f -> ShowS
+forall k (i :: k) k (r :: k) f. Show f => [Fixed' i r f] -> ShowS
+forall k (i :: k) k (r :: k) f. Show f => Fixed' i r f -> String
+$cshowsPrec :: forall k (i :: k) k (r :: k) f.
+Show f =>
+Int -> Fixed' i r f -> ShowS
+showsPrec :: Int -> Fixed' i r f -> ShowS
+$cshow :: forall k (i :: k) k (r :: k) f. Show f => Fixed' i r f -> String
+show :: Fixed' i r f -> String
+$cshowList :: forall k (i :: k) k (r :: k) f. Show f => [Fixed' i r f] -> ShowS
+showList :: [Fixed' i r f] -> ShowS
+Show, ReadPrec [Fixed' i r f]
+ReadPrec (Fixed' i r f)
+Int -> ReadS (Fixed' i r f)
+ReadS [Fixed' i r f]
+(Int -> ReadS (Fixed' i r f))
+-> ReadS [Fixed' i r f]
+-> ReadPrec (Fixed' i r f)
+-> ReadPrec [Fixed' i r f]
+-> Read (Fixed' i r f)
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+forall k (i :: k) k (r :: k) f. Read f => ReadPrec [Fixed' i r f]
+forall k (i :: k) k (r :: k) f. Read f => ReadPrec (Fixed' i r f)
+forall k (i :: k) k (r :: k) f.
+Read f =>
+Int -> ReadS (Fixed' i r f)
+forall k (i :: k) k (r :: k) f. Read f => ReadS [Fixed' i r f]
+$creadsPrec :: forall k (i :: k) k (r :: k) f.
+Read f =>
+Int -> ReadS (Fixed' i r f)
+readsPrec :: Int -> ReadS (Fixed' i r f)
+$creadList :: forall k (i :: k) k (r :: k) f. Read f => ReadS [Fixed' i r f]
+readList :: ReadS [Fixed' i r f]
+$creadPrec :: forall k (i :: k) k (r :: k) f. Read f => ReadPrec (Fixed' i r f)
+readPrec :: ReadPrec (Fixed' i r f)
+$creadListPrec :: forall k (i :: k) k (r :: k) f. Read f => ReadPrec [Fixed' i r f]
+readListPrec :: ReadPrec [Fixed' i r f]
+Read, Eq (Fixed' i r f)
+Eq (Fixed' i r f) =>
+(Int -> Fixed' i r f -> Int)
+-> (Fixed' i r f -> Int) -> Hashable (Fixed' i r f)
+Int -> Fixed' i r f -> Int
+Fixed' i r f -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+forall k (i :: k) k (r :: k) f. Hashable f => Eq (Fixed' i r f)
+forall k (i :: k) k (r :: k) f.
+Hashable f =>
+Int -> Fixed' i r f -> Int
+forall k (i :: k) k (r :: k) f. Hashable f => Fixed' i r f -> Int
+$chashWithSalt :: forall k (i :: k) k (r :: k) f.
+Hashable f =>
+Int -> Fixed' i r f -> Int
+hashWithSalt :: Int -> Fixed' i r f -> Int
+$chash :: forall k (i :: k) k (r :: k) f. Hashable f => Fixed' i r f -> Int
+hash :: Fixed' i r f -> Int
+Hashable, Fixed' i r f -> ()
+(Fixed' i r f -> ()) -> NFData (Fixed' i r f)
+forall a. (a -> ()) -> NFData a
+forall k (i :: k) k (r :: k) f. NFData f => Fixed' i r f -> ()
+$crnf :: forall k (i :: k) k (r :: k) f. NFData f => Fixed' i r f -> ()
+rnf :: Fixed' i r f -> ()
+NFData)
+  deriving newtype (Int -> Fixed' i r f
+Fixed' i r f -> Int
+Fixed' i r f -> [Fixed' i r f]
+Fixed' i r f -> Fixed' i r f
+Fixed' i r f -> Fixed' i r f -> [Fixed' i r f]
+Fixed' i r f -> Fixed' i r f -> Fixed' i r f -> [Fixed' i r f]
+(Fixed' i r f -> Fixed' i r f)
+-> (Fixed' i r f -> Fixed' i r f)
+-> (Int -> Fixed' i r f)
+-> (Fixed' i r f -> Int)
+-> (Fixed' i r f -> [Fixed' i r f])
+-> (Fixed' i r f -> Fixed' i r f -> [Fixed' i r f])
+-> (Fixed' i r f -> Fixed' i r f -> [Fixed' i r f])
+-> (Fixed' i r f -> Fixed' i r f -> Fixed' i r f -> [Fixed' i r f])
+-> Enum (Fixed' i r f)
+forall a.
+(a -> a)
+-> (a -> a)
+-> (Int -> a)
+-> (a -> Int)
+-> (a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> a -> [a])
+-> Enum a
+forall k (i :: k) k (r :: k) f. Enum f => Int -> Fixed' i r f
+forall k (i :: k) k (r :: k) f. Enum f => Fixed' i r f -> Int
+forall k (i :: k) k (r :: k) f.
+Enum f =>
+Fixed' i r f -> [Fixed' i r f]
+forall k (i :: k) k (r :: k) f.
+Enum f =>
+Fixed' i r f -> Fixed' i r f
+forall k (i :: k) k (r :: k) f.
+Enum f =>
+Fixed' i r f -> Fixed' i r f -> [Fixed' i r f]
+forall k (i :: k) k (r :: k) f.
+Enum f =>
+Fixed' i r f -> Fixed' i r f -> Fixed' i r f -> [Fixed' i r f]
+$csucc :: forall k (i :: k) k (r :: k) f.
+Enum f =>
+Fixed' i r f -> Fixed' i r f
+succ :: Fixed' i r f -> Fixed' i r f
+$cpred :: forall k (i :: k) k (r :: k) f.
+Enum f =>
+Fixed' i r f -> Fixed' i r f
+pred :: Fixed' i r f -> Fixed' i r f
+$ctoEnum :: forall k (i :: k) k (r :: k) f. Enum f => Int -> Fixed' i r f
+toEnum :: Int -> Fixed' i r f
+$cfromEnum :: forall k (i :: k) k (r :: k) f. Enum f => Fixed' i r f -> Int
+fromEnum :: Fixed' i r f -> Int
+$cenumFrom :: forall k (i :: k) k (r :: k) f.
+Enum f =>
+Fixed' i r f -> [Fixed' i r f]
+enumFrom :: Fixed' i r f -> [Fixed' i r f]
+$cenumFromThen :: forall k (i :: k) k (r :: k) f.
+Enum f =>
+Fixed' i r f -> Fixed' i r f -> [Fixed' i r f]
+enumFromThen :: Fixed' i r f -> Fixed' i r f -> [Fixed' i r f]
+$cenumFromTo :: forall k (i :: k) k (r :: k) f.
+Enum f =>
+Fixed' i r f -> Fixed' i r f -> [Fixed' i r f]
+enumFromTo :: Fixed' i r f -> Fixed' i r f -> [Fixed' i r f]
+$cenumFromThenTo :: forall k (i :: k) k (r :: k) f.
+Enum f =>
+Fixed' i r f -> Fixed' i r f -> Fixed' i r f -> [Fixed' i r f]
+enumFromThenTo :: Fixed' i r f -> Fixed' i r f -> Fixed' i r f -> [Fixed' i r f]
+Enum, Integer -> Fixed' i r f
+Fixed' i r f -> Fixed' i r f
+Fixed' i r f -> Fixed' i r f -> Fixed' i r f
+(Fixed' i r f -> Fixed' i r f -> Fixed' i r f)
+-> (Fixed' i r f -> Fixed' i r f -> Fixed' i r f)
+-> (Fixed' i r f -> Fixed' i r f -> Fixed' i r f)
+-> (Fixed' i r f -> Fixed' i r f)
+-> (Fixed' i r f -> Fixed' i r f)
+-> (Fixed' i r f -> Fixed' i r f)
+-> (Integer -> Fixed' i r f)
+-> Num (Fixed' i r f)
+forall a.
+(a -> a -> a)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> (a -> a)
+-> (a -> a)
+-> (a -> a)
+-> (Integer -> a)
+-> Num a
+forall k (i :: k) k (r :: k) f. Num f => Integer -> Fixed' i r f
+forall k (i :: k) k (r :: k) f.
+Num f =>
+Fixed' i r f -> Fixed' i r f
+forall k (i :: k) k (r :: k) f.
+Num f =>
+Fixed' i r f -> Fixed' i r f -> Fixed' i r f
+$c+ :: forall k (i :: k) k (r :: k) f.
+Num f =>
+Fixed' i r f -> Fixed' i r f -> Fixed' i r f
++ :: Fixed' i r f -> Fixed' i r f -> Fixed' i r f
+$c- :: forall k (i :: k) k (r :: k) f.
+Num f =>
+Fixed' i r f -> Fixed' i r f -> Fixed' i r f
+- :: Fixed' i r f -> Fixed' i r f -> Fixed' i r f
+$c* :: forall k (i :: k) k (r :: k) f.
+Num f =>
+Fixed' i r f -> Fixed' i r f -> Fixed' i r f
+* :: Fixed' i r f -> Fixed' i r f -> Fixed' i r f
+$cnegate :: forall k (i :: k) k (r :: k) f.
+Num f =>
+Fixed' i r f -> Fixed' i r f
+negate :: Fixed' i r f -> Fixed' i r f
+$cabs :: forall k (i :: k) k (r :: k) f.
+Num f =>
+Fixed' i r f -> Fixed' i r f
+abs :: Fixed' i r f -> Fixed' i r f
+$csignum :: forall k (i :: k) k (r :: k) f.
+Num f =>
+Fixed' i r f -> Fixed' i r f
+signum :: Fixed' i r f -> Fixed' i r f
+$cfromInteger :: forall k (i :: k) k (r :: k) f. Num f => Integer -> Fixed' i r f
+fromInteger :: Integer -> Fixed' i r f
+Num, Num (Fixed' i r f)
+Ord (Fixed' i r f)
+(Num (Fixed' i r f), Ord (Fixed' i r f)) =>
+(Fixed' i r f -> Rational) -> Real (Fixed' i r f)
+Fixed' i r f -> Rational
+forall a. (Num a, Ord a) => (a -> Rational) -> Real a
+forall k (i :: k) k (r :: k) f. Real f => Num (Fixed' i r f)
+forall k (i :: k) k (r :: k) f. Real f => Ord (Fixed' i r f)
+forall k (i :: k) k (r :: k) f. Real f => Fixed' i r f -> Rational
+$ctoRational :: forall k (i :: k) k (r :: k) f. Real f => Fixed' i r f -> Rational
+toRational :: Fixed' i r f -> Rational
+Real, Num (Fixed' i r f)
+Num (Fixed' i r f) =>
+(Fixed' i r f -> Fixed' i r f -> Fixed' i r f)
+-> (Fixed' i r f -> Fixed' i r f)
+-> (Rational -> Fixed' i r f)
+-> Fractional (Fixed' i r f)
+Rational -> Fixed' i r f
+Fixed' i r f -> Fixed' i r f
+Fixed' i r f -> Fixed' i r f -> Fixed' i r f
+forall a.
+Num a =>
+(a -> a -> a) -> (a -> a) -> (Rational -> a) -> Fractional a
+forall k (i :: k) k (r :: k) f. Fractional f => Num (Fixed' i r f)
+forall k (i :: k) k (r :: k) f.
+Fractional f =>
+Rational -> Fixed' i r f
+forall k (i :: k) k (r :: k) f.
+Fractional f =>
+Fixed' i r f -> Fixed' i r f
+forall k (i :: k) k (r :: k) f.
+Fractional f =>
+Fixed' i r f -> Fixed' i r f -> Fixed' i r f
+$c/ :: forall k (i :: k) k (r :: k) f.
+Fractional f =>
+Fixed' i r f -> Fixed' i r f -> Fixed' i r f
+/ :: Fixed' i r f -> Fixed' i r f -> Fixed' i r f
+$crecip :: forall k (i :: k) k (r :: k) f.
+Fractional f =>
+Fixed' i r f -> Fixed' i r f
+recip :: Fixed' i r f -> Fixed' i r f
+$cfromRational :: forall k (i :: k) k (r :: k) f.
+Fractional f =>
+Rational -> Fixed' i r f
+fromRational :: Rational -> Fixed' i r f
+Fractional, Fractional (Fixed' i r f)
+Real (Fixed' i r f)
+(Real (Fixed' i r f), Fractional (Fixed' i r f)) =>
+(forall b. Integral b => Fixed' i r f -> (b, Fixed' i r f))
+-> (forall b. Integral b => Fixed' i r f -> b)
+-> (forall b. Integral b => Fixed' i r f -> b)
+-> (forall b. Integral b => Fixed' i r f -> b)
+-> (forall b. Integral b => Fixed' i r f -> b)
+-> RealFrac (Fixed' i r f)
+forall b. Integral b => Fixed' i r f -> b
+forall b. Integral b => Fixed' i r f -> (b, Fixed' i r f)
+forall a.
+(Real a, Fractional a) =>
+(forall b. Integral b => a -> (b, a))
+-> (forall b. Integral b => a -> b)
+-> (forall b. Integral b => a -> b)
+-> (forall b. Integral b => a -> b)
+-> (forall b. Integral b => a -> b)
+-> RealFrac a
+forall k (i :: k) k (r :: k) f.
+RealFrac f =>
+Fractional (Fixed' i r f)
+forall k (i :: k) k (r :: k) f. RealFrac f => Real (Fixed' i r f)
+forall k (i :: k) k (r :: k) f b.
+(RealFrac f, Integral b) =>
+Fixed' i r f -> b
+forall k (i :: k) k (r :: k) f b.
+(RealFrac f, Integral b) =>
+Fixed' i r f -> (b, Fixed' i r f)
+$cproperFraction :: forall k (i :: k) k (r :: k) f b.
+(RealFrac f, Integral b) =>
+Fixed' i r f -> (b, Fixed' i r f)
+properFraction :: forall b. Integral b => Fixed' i r f -> (b, Fixed' i r f)
+$ctruncate :: forall k (i :: k) k (r :: k) f b.
+(RealFrac f, Integral b) =>
+Fixed' i r f -> b
+truncate :: forall b. Integral b => Fixed' i r f -> b
+$cround :: forall k (i :: k) k (r :: k) f b.
+(RealFrac f, Integral b) =>
+Fixed' i r f -> b
+round :: forall b. Integral b => Fixed' i r f -> b
+$cceiling :: forall k (i :: k) k (r :: k) f b.
+(RealFrac f, Integral b) =>
+Fixed' i r f -> b
+ceiling :: forall b. Integral b => Fixed' i r f -> b
+$cfloor :: forall k (i :: k) k (r :: k) f b.
+(RealFrac f, Integral b) =>
+Fixed' i r f -> b
+floor :: forall b. Integral b => Fixed' i r f -> b
+RealFrac)
+
+unfix :: Fixed r -> Integer
+unfix :: forall {k} (r :: k). Fixed r -> Integer
+unfix (MkFixed Integer
+x) = Integer
+x
+{-# INLINE unfix #-}
+
+instance
+  (Integral i, Pack i, Real f, HasResolution r) =>
+  Pack (Fixed' i r f)
+  where
+  pack :: Fixed' i r f -> Builder
+pack =
+    forall a. Pack a => a -> Builder
+pack @i
+      (i -> Builder) -> (Fixed' i r f -> i) -> Fixed' i r f -> Builder
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Integer -> i
+forall a b. (Integral a, Num b) => a -> b
+fi
+      (Integer -> i) -> (Fixed' i r f -> Integer) -> Fixed' i r f -> i
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. (Fixed r -> Integer
+forall {k} (r :: k). Fixed r -> Integer
+unfix :: Fixed r -> Integer)
+      (Fixed r -> Integer)
+-> (Fixed' i r f -> Fixed r) -> Fixed' i r f -> Integer
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. f -> Fixed r
+forall a b. (Real a, Fractional b) => a -> b
+realToFrac
+      (f -> Fixed r) -> (Fixed' i r f -> f) -> Fixed' i r f -> Fixed r
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Fixed' i r f -> f
+forall {k} {k} (i :: k) (r :: k) f. Fixed' i r f -> f
+unfixed'
+  {-# INLINEABLE pack #-}
+
+instance
+  (Integral i, Unpack i, Fractional f, HasResolution r) =>
+  Unpack (Fixed' i r f)
+  where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r (Fixed' i r f)
+unpack =
+    f -> Fixed' i r f
+forall {k} {k} (i :: k) (r :: k) f. f -> Fixed' i r f
+Fixed'
+      (f -> Fixed' i r f) -> (i -> f) -> i -> Fixed' i r f
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. (Fixed r -> f
+forall a b. (Real a, Fractional b) => a -> b
+realToFrac :: Fixed r -> f)
+      (Fixed r -> f) -> (i -> Fixed r) -> i -> f
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Integer -> Fixed r
+forall k (a :: k). Integer -> Fixed a
+MkFixed
+      (Integer -> Fixed r) -> (i -> Integer) -> i -> Fixed r
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. i -> Integer
+forall a b. (Integral a, Num b) => a -> b
+fi
+      (i -> Fixed' i r f)
+-> ParserT st r ParseError i
+-> ParserT st r ParseError (Fixed' i r f)
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack @i
+  {-# INLINEABLE unpack #-}
+
+-- | a signed angle; divides the circle into 256 parts
+newtype Int8Angle = Int8Angle {Int8Angle -> Int8
+int8angle :: Int8}
+  deriving stock ((forall x. Int8Angle -> Rep Int8Angle x)
+-> (forall x. Rep Int8Angle x -> Int8Angle) -> Generic Int8Angle
+forall x. Rep Int8Angle x -> Int8Angle
+forall x. Int8Angle -> Rep Int8Angle x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. Int8Angle -> Rep Int8Angle x
+from :: forall x. Int8Angle -> Rep Int8Angle x
+$cto :: forall x. Rep Int8Angle x -> Int8Angle
+to :: forall x. Rep Int8Angle x -> Int8Angle
+Generic, Typeable, Typeable Int8Angle
+Typeable Int8Angle =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> Int8Angle -> c Int8Angle)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c Int8Angle)
+-> (Int8Angle -> Constr)
+-> (Int8Angle -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c Int8Angle))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Int8Angle))
+-> ((forall b. Data b => b -> b) -> Int8Angle -> Int8Angle)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> Int8Angle -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> Int8Angle -> r)
+-> (forall u. (forall d. Data d => d -> u) -> Int8Angle -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> Int8Angle -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> Int8Angle -> m Int8Angle)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Int8Angle -> m Int8Angle)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Int8Angle -> m Int8Angle)
+-> Data Int8Angle
+Int8Angle -> Constr
+Int8Angle -> DataType
+(forall b. Data b => b -> b) -> Int8Angle -> Int8Angle
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> Int8Angle -> u
+forall u. (forall d. Data d => d -> u) -> Int8Angle -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Int8Angle -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Int8Angle -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Int8Angle -> m Int8Angle
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Int8Angle -> m Int8Angle
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Int8Angle
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Int8Angle -> c Int8Angle
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Int8Angle)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Int8Angle)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Int8Angle -> c Int8Angle
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Int8Angle -> c Int8Angle
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Int8Angle
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Int8Angle
+$ctoConstr :: Int8Angle -> Constr
+toConstr :: Int8Angle -> Constr
+$cdataTypeOf :: Int8Angle -> DataType
+dataTypeOf :: Int8Angle -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Int8Angle)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Int8Angle)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Int8Angle)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Int8Angle)
+$cgmapT :: (forall b. Data b => b -> b) -> Int8Angle -> Int8Angle
+gmapT :: (forall b. Data b => b -> b) -> Int8Angle -> Int8Angle
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Int8Angle -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Int8Angle -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Int8Angle -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Int8Angle -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> Int8Angle -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> Int8Angle -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Int8Angle -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Int8Angle -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Int8Angle -> m Int8Angle
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Int8Angle -> m Int8Angle
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Int8Angle -> m Int8Angle
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Int8Angle -> m Int8Angle
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Int8Angle -> m Int8Angle
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Int8Angle -> m Int8Angle
+Data, (forall (m :: * -> *). Quote m => Int8Angle -> m Exp)
+-> (forall (m :: * -> *). Quote m => Int8Angle -> Code m Int8Angle)
+-> Lift Int8Angle
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => Int8Angle -> m Exp
+forall (m :: * -> *). Quote m => Int8Angle -> Code m Int8Angle
+$clift :: forall (m :: * -> *). Quote m => Int8Angle -> m Exp
+lift :: forall (m :: * -> *). Quote m => Int8Angle -> m Exp
+$cliftTyped :: forall (m :: * -> *). Quote m => Int8Angle -> Code m Int8Angle
+liftTyped :: forall (m :: * -> *). Quote m => Int8Angle -> Code m Int8Angle
+Lift)
+  deriving newtype (Int8Angle -> Int8Angle -> Bool
+(Int8Angle -> Int8Angle -> Bool)
+-> (Int8Angle -> Int8Angle -> Bool) -> Eq Int8Angle
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: Int8Angle -> Int8Angle -> Bool
+== :: Int8Angle -> Int8Angle -> Bool
+$c/= :: Int8Angle -> Int8Angle -> Bool
+/= :: Int8Angle -> Int8Angle -> Bool
+Eq, Eq Int8Angle
+Eq Int8Angle =>
+(Int8Angle -> Int8Angle -> Ordering)
+-> (Int8Angle -> Int8Angle -> Bool)
+-> (Int8Angle -> Int8Angle -> Bool)
+-> (Int8Angle -> Int8Angle -> Bool)
+-> (Int8Angle -> Int8Angle -> Bool)
+-> (Int8Angle -> Int8Angle -> Int8Angle)
+-> (Int8Angle -> Int8Angle -> Int8Angle)
+-> Ord Int8Angle
+Int8Angle -> Int8Angle -> Bool
+Int8Angle -> Int8Angle -> Ordering
+Int8Angle -> Int8Angle -> Int8Angle
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: Int8Angle -> Int8Angle -> Ordering
+compare :: Int8Angle -> Int8Angle -> Ordering
+$c< :: Int8Angle -> Int8Angle -> Bool
+< :: Int8Angle -> Int8Angle -> Bool
+$c<= :: Int8Angle -> Int8Angle -> Bool
+<= :: Int8Angle -> Int8Angle -> Bool
+$c> :: Int8Angle -> Int8Angle -> Bool
+> :: Int8Angle -> Int8Angle -> Bool
+$c>= :: Int8Angle -> Int8Angle -> Bool
+>= :: Int8Angle -> Int8Angle -> Bool
+$cmax :: Int8Angle -> Int8Angle -> Int8Angle
+max :: Int8Angle -> Int8Angle -> Int8Angle
+$cmin :: Int8Angle -> Int8Angle -> Int8Angle
+min :: Int8Angle -> Int8Angle -> Int8Angle
+Ord, Int -> Int8Angle -> ShowS
+[Int8Angle] -> ShowS
+Int8Angle -> String
+(Int -> Int8Angle -> ShowS)
+-> (Int8Angle -> String)
+-> ([Int8Angle] -> ShowS)
+-> Show Int8Angle
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> Int8Angle -> ShowS
+showsPrec :: Int -> Int8Angle -> ShowS
+$cshow :: Int8Angle -> String
+show :: Int8Angle -> String
+$cshowList :: [Int8Angle] -> ShowS
+showList :: [Int8Angle] -> ShowS
+Show, ReadPrec [Int8Angle]
+ReadPrec Int8Angle
+Int -> ReadS Int8Angle
+ReadS [Int8Angle]
+(Int -> ReadS Int8Angle)
+-> ReadS [Int8Angle]
+-> ReadPrec Int8Angle
+-> ReadPrec [Int8Angle]
+-> Read Int8Angle
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS Int8Angle
+readsPrec :: Int -> ReadS Int8Angle
+$creadList :: ReadS [Int8Angle]
+readList :: ReadS [Int8Angle]
+$creadPrec :: ReadPrec Int8Angle
+readPrec :: ReadPrec Int8Angle
+$creadListPrec :: ReadPrec [Int8Angle]
+readListPrec :: ReadPrec [Int8Angle]
+Read, Eq Int8Angle
+Eq Int8Angle =>
+(Int -> Int8Angle -> Int)
+-> (Int8Angle -> Int) -> Hashable Int8Angle
+Int -> Int8Angle -> Int
+Int8Angle -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+$chashWithSalt :: Int -> Int8Angle -> Int
+hashWithSalt :: Int -> Int8Angle -> Int
+$chash :: Int8Angle -> Int
+hash :: Int8Angle -> Int
+Hashable, Int8Angle -> ()
+(Int8Angle -> ()) -> NFData Int8Angle
+forall a. (a -> ()) -> NFData a
+$crnf :: Int8Angle -> ()
+rnf :: Int8Angle -> ()
+NFData)
+  deriving newtype (Int -> Int8Angle
+Int8Angle -> Int
+Int8Angle -> [Int8Angle]
+Int8Angle -> Int8Angle
+Int8Angle -> Int8Angle -> [Int8Angle]
+Int8Angle -> Int8Angle -> Int8Angle -> [Int8Angle]
+(Int8Angle -> Int8Angle)
+-> (Int8Angle -> Int8Angle)
+-> (Int -> Int8Angle)
+-> (Int8Angle -> Int)
+-> (Int8Angle -> [Int8Angle])
+-> (Int8Angle -> Int8Angle -> [Int8Angle])
+-> (Int8Angle -> Int8Angle -> [Int8Angle])
+-> (Int8Angle -> Int8Angle -> Int8Angle -> [Int8Angle])
+-> Enum Int8Angle
+forall a.
+(a -> a)
+-> (a -> a)
+-> (Int -> a)
+-> (a -> Int)
+-> (a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> a -> [a])
+-> Enum a
+$csucc :: Int8Angle -> Int8Angle
+succ :: Int8Angle -> Int8Angle
+$cpred :: Int8Angle -> Int8Angle
+pred :: Int8Angle -> Int8Angle
+$ctoEnum :: Int -> Int8Angle
+toEnum :: Int -> Int8Angle
+$cfromEnum :: Int8Angle -> Int
+fromEnum :: Int8Angle -> Int
+$cenumFrom :: Int8Angle -> [Int8Angle]
+enumFrom :: Int8Angle -> [Int8Angle]
+$cenumFromThen :: Int8Angle -> Int8Angle -> [Int8Angle]
+enumFromThen :: Int8Angle -> Int8Angle -> [Int8Angle]
+$cenumFromTo :: Int8Angle -> Int8Angle -> [Int8Angle]
+enumFromTo :: Int8Angle -> Int8Angle -> [Int8Angle]
+$cenumFromThenTo :: Int8Angle -> Int8Angle -> Int8Angle -> [Int8Angle]
+enumFromThenTo :: Int8Angle -> Int8Angle -> Int8Angle -> [Int8Angle]
+Enum, Integer -> Int8Angle
+Int8Angle -> Int8Angle
+Int8Angle -> Int8Angle -> Int8Angle
+(Int8Angle -> Int8Angle -> Int8Angle)
+-> (Int8Angle -> Int8Angle -> Int8Angle)
+-> (Int8Angle -> Int8Angle -> Int8Angle)
+-> (Int8Angle -> Int8Angle)
+-> (Int8Angle -> Int8Angle)
+-> (Int8Angle -> Int8Angle)
+-> (Integer -> Int8Angle)
+-> Num Int8Angle
+forall a.
+(a -> a -> a)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> (a -> a)
+-> (a -> a)
+-> (a -> a)
+-> (Integer -> a)
+-> Num a
+$c+ :: Int8Angle -> Int8Angle -> Int8Angle
++ :: Int8Angle -> Int8Angle -> Int8Angle
+$c- :: Int8Angle -> Int8Angle -> Int8Angle
+- :: Int8Angle -> Int8Angle -> Int8Angle
+$c* :: Int8Angle -> Int8Angle -> Int8Angle
+* :: Int8Angle -> Int8Angle -> Int8Angle
+$cnegate :: Int8Angle -> Int8Angle
+negate :: Int8Angle -> Int8Angle
+$cabs :: Int8Angle -> Int8Angle
+abs :: Int8Angle -> Int8Angle
+$csignum :: Int8Angle -> Int8Angle
+signum :: Int8Angle -> Int8Angle
+$cfromInteger :: Integer -> Int8Angle
+fromInteger :: Integer -> Int8Angle
+Num, Num Int8Angle
+Ord Int8Angle
+(Num Int8Angle, Ord Int8Angle) =>
+(Int8Angle -> Rational) -> Real Int8Angle
+Int8Angle -> Rational
+forall a. (Num a, Ord a) => (a -> Rational) -> Real a
+$ctoRational :: Int8Angle -> Rational
+toRational :: Int8Angle -> Rational
+Real, Enum Int8Angle
+Real Int8Angle
+(Real Int8Angle, Enum Int8Angle) =>
+(Int8Angle -> Int8Angle -> Int8Angle)
+-> (Int8Angle -> Int8Angle -> Int8Angle)
+-> (Int8Angle -> Int8Angle -> Int8Angle)
+-> (Int8Angle -> Int8Angle -> Int8Angle)
+-> (Int8Angle -> Int8Angle -> (Int8Angle, Int8Angle))
+-> (Int8Angle -> Int8Angle -> (Int8Angle, Int8Angle))
+-> (Int8Angle -> Integer)
+-> Integral Int8Angle
+Int8Angle -> Integer
+Int8Angle -> Int8Angle -> (Int8Angle, Int8Angle)
+Int8Angle -> Int8Angle -> Int8Angle
+forall a.
+(Real a, Enum a) =>
+(a -> a -> a)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> (a -> a -> (a, a))
+-> (a -> a -> (a, a))
+-> (a -> Integer)
+-> Integral a
+$cquot :: Int8Angle -> Int8Angle -> Int8Angle
+quot :: Int8Angle -> Int8Angle -> Int8Angle
+$crem :: Int8Angle -> Int8Angle -> Int8Angle
+rem :: Int8Angle -> Int8Angle -> Int8Angle
+$cdiv :: Int8Angle -> Int8Angle -> Int8Angle
+div :: Int8Angle -> Int8Angle -> Int8Angle
+$cmod :: Int8Angle -> Int8Angle -> Int8Angle
+mod :: Int8Angle -> Int8Angle -> Int8Angle
+$cquotRem :: Int8Angle -> Int8Angle -> (Int8Angle, Int8Angle)
+quotRem :: Int8Angle -> Int8Angle -> (Int8Angle, Int8Angle)
+$cdivMod :: Int8Angle -> Int8Angle -> (Int8Angle, Int8Angle)
+divMod :: Int8Angle -> Int8Angle -> (Int8Angle, Int8Angle)
+$ctoInteger :: Int8Angle -> Integer
+toInteger :: Int8Angle -> Integer
+Integral, Int8Angle -> Builder
+(Int8Angle -> Builder) -> Pack Int8Angle
+forall a. (a -> Builder) -> Pack a
+$cpack :: Int8Angle -> Builder
+pack :: Int8Angle -> Builder
+Pack, (forall (st :: ZeroBitType) r. Parser st r Int8Angle)
+-> Unpack Int8Angle
+forall (st :: ZeroBitType) r. Parser st r Int8Angle
+forall a. (forall (st :: ZeroBitType) r. Parser st r a) -> Unpack a
+$cunpack :: forall (st :: ZeroBitType) r. Parser st r Int8Angle
+unpack :: forall (st :: ZeroBitType) r. Parser st r Int8Angle
+Unpack)
+
+-- | convert degrees to 'Int8Angle'
+degtoi8angle :: (RealFrac a) => a -> Int8Angle
+degtoi8angle :: forall a. RealFrac a => a -> Int8Angle
+degtoi8angle a
+x = Int8 -> Int8Angle
+Int8Angle (a -> Int8
+forall b. Integral b => a -> b
+forall a b. (RealFrac a, Integral b) => a -> b
+round ((a
+x a -> a -> a
+forall a. Num a => a -> a -> a
+* (a
+256 a -> a -> a
+forall a. Fractional a => a -> a -> a
+/ a
+360)) a -> a -> a
+forall a. Real a => a -> a -> a
+`mod'` a
+256))
+{-# INLINEABLE degtoi8angle #-}
+
+-- | convert 'Int8Angle' to degrees
+i8angledeg :: (RealFrac a) => Int8Angle -> a
+i8angledeg :: forall a. RealFrac a => Int8Angle -> a
+i8angledeg (Int8Angle Int8
+x) = Int8 -> a
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral Int8
+x a -> a -> a
+forall a. Num a => a -> a -> a
+* (a
+360 a -> a -> a
+forall a. Fractional a => a -> a -> a
+/ a
+256)
+{-# INLINEABLE i8angledeg #-}
+
+-- | an \"identifier\" string, used for names, tags, etc.
+--
+-- example: @minecraft:stone@ or @stone/stone@
+--
+-- validation only happens when unpacking ('unpack')
+newtype Identifier = Identifier {Identifier -> Text
+identifier :: Text}
+  deriving stock
+    ( (forall x. Identifier -> Rep Identifier x)
+-> (forall x. Rep Identifier x -> Identifier) -> Generic Identifier
+forall x. Rep Identifier x -> Identifier
+forall x. Identifier -> Rep Identifier x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. Identifier -> Rep Identifier x
+from :: forall x. Identifier -> Rep Identifier x
+$cto :: forall x. Rep Identifier x -> Identifier
+to :: forall x. Rep Identifier x -> Identifier
+Generic,
+      Typeable,
+      Typeable Identifier
+Typeable Identifier =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> Identifier -> c Identifier)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c Identifier)
+-> (Identifier -> Constr)
+-> (Identifier -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c Identifier))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c Identifier))
+-> ((forall b. Data b => b -> b) -> Identifier -> Identifier)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> Identifier -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> Identifier -> r)
+-> (forall u. (forall d. Data d => d -> u) -> Identifier -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> Identifier -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> Identifier -> m Identifier)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Identifier -> m Identifier)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Identifier -> m Identifier)
+-> Data Identifier
+Identifier -> Constr
+Identifier -> DataType
+(forall b. Data b => b -> b) -> Identifier -> Identifier
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> Identifier -> u
+forall u. (forall d. Data d => d -> u) -> Identifier -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Identifier -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Identifier -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Identifier -> m Identifier
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Identifier -> m Identifier
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Identifier
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Identifier -> c Identifier
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Identifier)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Identifier)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Identifier -> c Identifier
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Identifier -> c Identifier
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Identifier
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Identifier
+$ctoConstr :: Identifier -> Constr
+toConstr :: Identifier -> Constr
+$cdataTypeOf :: Identifier -> DataType
+dataTypeOf :: Identifier -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Identifier)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Identifier)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Identifier)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Identifier)
+$cgmapT :: (forall b. Data b => b -> b) -> Identifier -> Identifier
+gmapT :: (forall b. Data b => b -> b) -> Identifier -> Identifier
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Identifier -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Identifier -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Identifier -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Identifier -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> Identifier -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> Identifier -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Identifier -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Identifier -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Identifier -> m Identifier
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Identifier -> m Identifier
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Identifier -> m Identifier
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Identifier -> m Identifier
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Identifier -> m Identifier
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Identifier -> m Identifier
+Data,
+      (forall (m :: * -> *). Quote m => Identifier -> m Exp)
+-> (forall (m :: * -> *).
+    Quote m =>
+    Identifier -> Code m Identifier)
+-> Lift Identifier
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => Identifier -> m Exp
+forall (m :: * -> *). Quote m => Identifier -> Code m Identifier
+$clift :: forall (m :: * -> *). Quote m => Identifier -> m Exp
+lift :: forall (m :: * -> *). Quote m => Identifier -> m Exp
+$cliftTyped :: forall (m :: * -> *). Quote m => Identifier -> Code m Identifier
+liftTyped :: forall (m :: * -> *). Quote m => Identifier -> Code m Identifier
+Lift
+    )
+  deriving anyclass (Identifier -> ()
+(Identifier -> ()) -> NFData Identifier
+forall a. (a -> ()) -> NFData a
+$crnf :: Identifier -> ()
+rnf :: Identifier -> ()
+NFData)
+  deriving newtype
+    ( Identifier -> Identifier -> Bool
+(Identifier -> Identifier -> Bool)
+-> (Identifier -> Identifier -> Bool) -> Eq Identifier
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: Identifier -> Identifier -> Bool
+== :: Identifier -> Identifier -> Bool
+$c/= :: Identifier -> Identifier -> Bool
+/= :: Identifier -> Identifier -> Bool
+Eq,
+      Eq Identifier
+Eq Identifier =>
+(Identifier -> Identifier -> Ordering)
+-> (Identifier -> Identifier -> Bool)
+-> (Identifier -> Identifier -> Bool)
+-> (Identifier -> Identifier -> Bool)
+-> (Identifier -> Identifier -> Bool)
+-> (Identifier -> Identifier -> Identifier)
+-> (Identifier -> Identifier -> Identifier)
+-> Ord Identifier
+Identifier -> Identifier -> Bool
+Identifier -> Identifier -> Ordering
+Identifier -> Identifier -> Identifier
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: Identifier -> Identifier -> Ordering
+compare :: Identifier -> Identifier -> Ordering
+$c< :: Identifier -> Identifier -> Bool
+< :: Identifier -> Identifier -> Bool
+$c<= :: Identifier -> Identifier -> Bool
+<= :: Identifier -> Identifier -> Bool
+$c> :: Identifier -> Identifier -> Bool
+> :: Identifier -> Identifier -> Bool
+$c>= :: Identifier -> Identifier -> Bool
+>= :: Identifier -> Identifier -> Bool
+$cmax :: Identifier -> Identifier -> Identifier
+max :: Identifier -> Identifier -> Identifier
+$cmin :: Identifier -> Identifier -> Identifier
+min :: Identifier -> Identifier -> Identifier
+Ord,
+      Int -> Identifier -> ShowS
+[Identifier] -> ShowS
+Identifier -> String
+(Int -> Identifier -> ShowS)
+-> (Identifier -> String)
+-> ([Identifier] -> ShowS)
+-> Show Identifier
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> Identifier -> ShowS
+showsPrec :: Int -> Identifier -> ShowS
+$cshow :: Identifier -> String
+show :: Identifier -> String
+$cshowList :: [Identifier] -> ShowS
+showList :: [Identifier] -> ShowS
+Show,
+      ReadPrec [Identifier]
+ReadPrec Identifier
+Int -> ReadS Identifier
+ReadS [Identifier]
+(Int -> ReadS Identifier)
+-> ReadS [Identifier]
+-> ReadPrec Identifier
+-> ReadPrec [Identifier]
+-> Read Identifier
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS Identifier
+readsPrec :: Int -> ReadS Identifier
+$creadList :: ReadS [Identifier]
+readList :: ReadS [Identifier]
+$creadPrec :: ReadPrec Identifier
+readPrec :: ReadPrec Identifier
+$creadListPrec :: ReadPrec [Identifier]
+readListPrec :: ReadPrec [Identifier]
+Read,
+      Eq Identifier
+Eq Identifier =>
+(Int -> Identifier -> Int)
+-> (Identifier -> Int) -> Hashable Identifier
+Int -> Identifier -> Int
+Identifier -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+$chashWithSalt :: Int -> Identifier -> Int
+hashWithSalt :: Int -> Identifier -> Int
+$chash :: Identifier -> Int
+hash :: Identifier -> Int
+Hashable,
+      NonEmpty Identifier -> Identifier
+Identifier -> Identifier -> Identifier
+(Identifier -> Identifier -> Identifier)
+-> (NonEmpty Identifier -> Identifier)
+-> (forall b. Integral b => b -> Identifier -> Identifier)
+-> Semigroup Identifier
+forall b. Integral b => b -> Identifier -> Identifier
+forall a.
+(a -> a -> a)
+-> (NonEmpty a -> a)
+-> (forall b. Integral b => b -> a -> a)
+-> Semigroup a
+$c<> :: Identifier -> Identifier -> Identifier
+<> :: Identifier -> Identifier -> Identifier
+$csconcat :: NonEmpty Identifier -> Identifier
+sconcat :: NonEmpty Identifier -> Identifier
+$cstimes :: forall b. Integral b => b -> Identifier -> Identifier
+stimes :: forall b. Integral b => b -> Identifier -> Identifier
+Semigroup,
+      Semigroup Identifier
+Identifier
+Semigroup Identifier =>
+Identifier
+-> (Identifier -> Identifier -> Identifier)
+-> ([Identifier] -> Identifier)
+-> Monoid Identifier
+[Identifier] -> Identifier
+Identifier -> Identifier -> Identifier
+forall a.
+Semigroup a =>
+a -> (a -> a -> a) -> ([a] -> a) -> Monoid a
+$cmempty :: Identifier
+mempty :: Identifier
+$cmappend :: Identifier -> Identifier -> Identifier
+mappend :: Identifier -> Identifier -> Identifier
+$cmconcat :: [Identifier] -> Identifier
+mconcat :: [Identifier] -> Identifier
+Monoid,
+      String -> Identifier
+(String -> Identifier) -> IsString Identifier
+forall a. (String -> a) -> IsString a
+$cfromString :: String -> Identifier
+fromString :: String -> Identifier
+IsString
+    )
+
+instance Unpack Identifier where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r Identifier
+unpack =
+    Parser st r Int
+forall a (st :: ZeroBitType) r. Integral a => Parser st r a
+unpackleb32
+      Parser st r Int -> (Int -> Parser st r Int) -> Parser st r Int
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= String -> Int -> Parser st r Int
+forall a (st :: ZeroBitType) r.
+(Num a, Ord a, Show a) =>
+String -> a -> Parser st r a
+guardnat String
+"Identifier.unpack length"
+      Parser st r Int
+-> (Int -> ParserT st r ParseError Identifier)
+-> ParserT st r ParseError Identifier
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= (Int
+-> ParserT st r ParseError Identifier
+-> ParserT st r ParseError Identifier
+forall (st :: ZeroBitType) r e a.
+Int -> ParserT st r e a -> ParserT st r e a
+`F.isolate` ParserT st r ParseError Identifier
+forall (st :: ZeroBitType) r. Parser st r Identifier
+unpackid)
+  {-# INLINE unpack #-}
+
+instance Pack Identifier where
+  pack :: Identifier -> Builder
+pack = Text -> Builder
+forall a. Pack a => a -> Builder
+pack (Text -> Builder) -> (Identifier -> Text) -> Identifier -> Builder
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Identifier -> Text
+identifier
+  {-# INLINE pack #-}
+
+unpackid :: Parser st r Identifier
+unpackid :: forall (st :: ZeroBitType) r. Parser st r Identifier
+unpackid =
+  -- ':' may happen at most once
+  -- if never occurs, then whole thing is the 'value' part of the ID
+  -- if occurs, the earlier part is the namespace, the later part is the value
+  -- the namespace may not be empty
+  -- the namespace consists of [a-z0-9.-_]
+  -- the value consists of [a-z0-9._-/] -- note that '/' is allowed anywhere
+  -- the value may not be empty
+  let name :: ParserT st r e Char
+name = (Char -> Bool) -> ParserT st r e Char
+forall (st :: ZeroBitType) r e.
+(Char -> Bool) -> ParserT st r e Char
+F.satisfyAscii
+        \Char
+c ->
+          Char -> Bool
+isAsciiLower Char
+c
+            Bool -> Bool -> Bool
+|| Char -> Bool
+isDigit Char
+c
+            Bool -> Bool -> Bool
+|| Char
+c Char -> String -> Bool
+forall a. Eq a => a -> [a] -> Bool
+forall (t :: * -> *) a. (Foldable t, Eq a) => a -> t a -> Bool
+`elem` (String
+".-_" :: String)
+      value :: ParserT st r e Char
+value = (Char -> Bool) -> ParserT st r e Char
+forall (st :: ZeroBitType) r e.
+(Char -> Bool) -> ParserT st r e Char
+F.satisfyAscii
+        \Char
+c ->
+          Char -> Bool
+isAsciiLower Char
+c
+            Bool -> Bool -> Bool
+|| Char -> Bool
+isDigit Char
+c
+            Bool -> Bool -> Bool
+|| Char
+c Char -> String -> Bool
+forall a. Eq a => a -> [a] -> Bool
+forall (t :: * -> *) a. (Foldable t, Eq a) => a -> t a -> Bool
+`elem` (String
+"._-/" :: String)
+      colon :: ParserT st r e Char
+colon = (Char -> Bool) -> ParserT st r e Char
+forall (st :: ZeroBitType) r e.
+(Char -> Bool) -> ParserT st r e Char
+F.satisfyAscii (Char -> Char -> Bool
+forall a. Eq a => a -> a -> Bool
+== Char
+':')
+      cvt :: String -> Identifier
+cvt = Text -> Identifier
+Identifier (Text -> Identifier) -> (String -> Text) -> String -> Identifier
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. String -> Text
+T.pack
+      cmb :: (String, Char) -> String -> Identifier
+cmb (String
+ns, Char
+v) String
+w = String -> Identifier
+cvt (String -> Identifier) -> String -> Identifier
+forall a b. (a -> b) -> a -> b
+$ [String] -> String
+forall a. Monoid a => [a] -> a
+mconcat [String
+Item [String]
+ns, [Char
+Item String
+v], String
+Item [String]
+w]
+   in (String -> Identifier)
+-> ParserT st r ParseError String
+-> ParserT st r ParseError Identifier
+forall a b.
+(a -> b) -> ParserT st r ParseError a -> ParserT st r ParseError b
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+fmap String -> Identifier
+cvt (ParserT st r ParseError Char -> ParserT st r ParseError String
+forall a. ParserT st r ParseError a -> ParserT st r ParseError [a]
+forall (f :: * -> *) a. Alternative f => f a -> f [a]
+some ParserT st r ParseError Char
+forall {st :: ZeroBitType} {r} {e}. ParserT st r e Char
+value ParserT st r ParseError String
+-> ParserT st r ParseError () -> ParserT st r ParseError String
+forall a b.
+ParserT st r ParseError a
+-> ParserT st r ParseError b -> ParserT st r ParseError a
+forall (f :: * -> *) a b. Applicative f => f a -> f b -> f a
+<* ParserT st r ParseError ()
+forall (st :: ZeroBitType) r e. ParserT st r e ()
+F.eof)
+        ParserT st r ParseError Identifier
+-> ParserT st r ParseError Identifier
+-> ParserT st r ParseError Identifier
+forall a.
+ParserT st r ParseError a
+-> ParserT st r ParseError a -> ParserT st r ParseError a
+forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
+<|> ((String, Char) -> String -> Identifier)
+-> ParserT st r ParseError (String, Char)
+-> ParserT st r ParseError String
+-> ParserT st r ParseError Identifier
+forall a b c.
+(a -> b -> c)
+-> ParserT st r ParseError a
+-> ParserT st r ParseError b
+-> ParserT st r ParseError c
+forall (f :: * -> *) a b c.
+Applicative f =>
+(a -> b -> c) -> f a -> f b -> f c
+liftA2 (String, Char) -> String -> Identifier
+cmb (ParserT st r ParseError Char
+-> ParserT st r ParseError Char
+-> ParserT st r ParseError (String, Char)
+forall (m :: * -> *) a end.
+Alternative m =>
+m a -> m end -> m ([a], end)
+manyTill_ ParserT st r ParseError Char
+forall {st :: ZeroBitType} {r} {e}. ParserT st r e Char
+name ParserT st r ParseError Char
+forall {st :: ZeroBitType} {r} {e}. ParserT st r e Char
+colon) (ParserT st r ParseError Char -> ParserT st r ParseError String
+forall a. ParserT st r ParseError a -> ParserT st r ParseError [a]
+forall (f :: * -> *) a. Alternative f => f a -> f [a]
+some ParserT st r ParseError Char
+forall {st :: ZeroBitType} {r} {e}. ParserT st r e Char
+value ParserT st r ParseError String
+-> ParserT st r ParseError () -> ParserT st r ParseError String
+forall a b.
+ParserT st r ParseError a
+-> ParserT st r ParseError b -> ParserT st r ParseError a
+forall (f :: * -> *) a b. Applicative f => f a -> f b -> f a
+<* ParserT st r ParseError ()
+forall (st :: ZeroBitType) r e. ParserT st r e ()
+F.eof)
+        ParserT st r ParseError Identifier
+-> ParserT st r ParseError Identifier
+-> ParserT st r ParseError Identifier
+forall a.
+ParserT st r ParseError a
+-> ParserT st r ParseError a -> ParserT st r ParseError a
+forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
+<|> ParseError -> ParserT st r ParseError Identifier
+forall e (st :: ZeroBitType) r a. e -> ParserT st r e a
+F.err ParseError
+"unpack Identifier: invalid or empty identifier"
+
+-- | unresolved value; either an ID or an inline value
+newtype IDorX a = IDorX
+  { -- | VarInt ID (NOT +1) or inline value
+    forall a. IDorX a -> Either Int32 a
+idorvalue :: Either Int32 a
+  }
+  deriving stock ((forall x. IDorX a -> Rep (IDorX a) x)
+-> (forall x. Rep (IDorX a) x -> IDorX a) -> Generic (IDorX a)
+forall x. Rep (IDorX a) x -> IDorX a
+forall x. IDorX a -> Rep (IDorX a) x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+forall a x. Rep (IDorX a) x -> IDorX a
+forall a x. IDorX a -> Rep (IDorX a) x
+$cfrom :: forall a x. IDorX a -> Rep (IDorX a) x
+from :: forall x. IDorX a -> Rep (IDorX a) x
+$cto :: forall a x. Rep (IDorX a) x -> IDorX a
+to :: forall x. Rep (IDorX a) x -> IDorX a
+Generic, Typeable, Typeable (IDorX a)
+Typeable (IDorX a) =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> IDorX a -> c (IDorX a))
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c (IDorX a))
+-> (IDorX a -> Constr)
+-> (IDorX a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c (IDorX a)))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (IDorX a)))
+-> ((forall b. Data b => b -> b) -> IDorX a -> IDorX a)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> IDorX a -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> IDorX a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> IDorX a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> IDorX a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> IDorX a -> m (IDorX a))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> IDorX a -> m (IDorX a))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> IDorX a -> m (IDorX a))
+-> Data (IDorX a)
+IDorX a -> Constr
+IDorX a -> DataType
+(forall b. Data b => b -> b) -> IDorX a -> IDorX a
+forall a. Data a => Typeable (IDorX a)
+forall a. Data a => IDorX a -> Constr
+forall a. Data a => IDorX a -> DataType
+forall a.
+Data a =>
+(forall b. Data b => b -> b) -> IDorX a -> IDorX a
+forall a u.
+Data a =>
+Int -> (forall d. Data d => d -> u) -> IDorX a -> u
+forall a u.
+Data a =>
+(forall d. Data d => d -> u) -> IDorX a -> [u]
+forall a r r'.
+Data a =>
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> IDorX a -> r
+forall a r r'.
+Data a =>
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> IDorX a -> r
+forall a (m :: * -> *).
+(Data a, Monad m) =>
+(forall d. Data d => d -> m d) -> IDorX a -> m (IDorX a)
+forall a (m :: * -> *).
+(Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d) -> IDorX a -> m (IDorX a)
+forall a (c :: * -> *).
+Data a =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (IDorX a)
+forall a (c :: * -> *).
+Data a =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> IDorX a -> c (IDorX a)
+forall a (t :: * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (IDorX a))
+forall a (t :: * -> * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (IDorX a))
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> IDorX a -> u
+forall u. (forall d. Data d => d -> u) -> IDorX a -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> IDorX a -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> IDorX a -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> IDorX a -> m (IDorX a)
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> IDorX a -> m (IDorX a)
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (IDorX a)
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> IDorX a -> c (IDorX a)
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (IDorX a))
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (IDorX a))
+$cgfoldl :: forall a (c :: * -> *).
+Data a =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> IDorX a -> c (IDorX a)
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> IDorX a -> c (IDorX a)
+$cgunfold :: forall a (c :: * -> *).
+Data a =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (IDorX a)
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (IDorX a)
+$ctoConstr :: forall a. Data a => IDorX a -> Constr
+toConstr :: IDorX a -> Constr
+$cdataTypeOf :: forall a. Data a => IDorX a -> DataType
+dataTypeOf :: IDorX a -> DataType
+$cdataCast1 :: forall a (t :: * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (IDorX a))
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (IDorX a))
+$cdataCast2 :: forall a (t :: * -> * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (IDorX a))
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (IDorX a))
+$cgmapT :: forall a.
+Data a =>
+(forall b. Data b => b -> b) -> IDorX a -> IDorX a
+gmapT :: (forall b. Data b => b -> b) -> IDorX a -> IDorX a
+$cgmapQl :: forall a r r'.
+Data a =>
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> IDorX a -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> IDorX a -> r
+$cgmapQr :: forall a r r'.
+Data a =>
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> IDorX a -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> IDorX a -> r
+$cgmapQ :: forall a u.
+Data a =>
+(forall d. Data d => d -> u) -> IDorX a -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> IDorX a -> [u]
+$cgmapQi :: forall a u.
+Data a =>
+Int -> (forall d. Data d => d -> u) -> IDorX a -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> IDorX a -> u
+$cgmapM :: forall a (m :: * -> *).
+(Data a, Monad m) =>
+(forall d. Data d => d -> m d) -> IDorX a -> m (IDorX a)
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> IDorX a -> m (IDorX a)
+$cgmapMp :: forall a (m :: * -> *).
+(Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d) -> IDorX a -> m (IDorX a)
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> IDorX a -> m (IDorX a)
+$cgmapMo :: forall a (m :: * -> *).
+(Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d) -> IDorX a -> m (IDorX a)
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> IDorX a -> m (IDorX a)
+Data, (forall (m :: * -> *). Quote m => IDorX a -> m Exp)
+-> (forall (m :: * -> *). Quote m => IDorX a -> Code m (IDorX a))
+-> Lift (IDorX a)
+forall a (m :: * -> *). (Lift a, Quote m) => IDorX a -> m Exp
+forall a (m :: * -> *).
+(Lift a, Quote m) =>
+IDorX a -> Code m (IDorX a)
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => IDorX a -> m Exp
+forall (m :: * -> *). Quote m => IDorX a -> Code m (IDorX a)
+$clift :: forall a (m :: * -> *). (Lift a, Quote m) => IDorX a -> m Exp
+lift :: forall (m :: * -> *). Quote m => IDorX a -> m Exp
+$cliftTyped :: forall a (m :: * -> *).
+(Lift a, Quote m) =>
+IDorX a -> Code m (IDorX a)
+liftTyped :: forall (m :: * -> *). Quote m => IDorX a -> Code m (IDorX a)
+Lift)
+  deriving newtype (IDorX a -> IDorX a -> Bool
+(IDorX a -> IDorX a -> Bool)
+-> (IDorX a -> IDorX a -> Bool) -> Eq (IDorX a)
+forall a. Eq a => IDorX a -> IDorX a -> Bool
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: forall a. Eq a => IDorX a -> IDorX a -> Bool
+== :: IDorX a -> IDorX a -> Bool
+$c/= :: forall a. Eq a => IDorX a -> IDorX a -> Bool
+/= :: IDorX a -> IDorX a -> Bool
+Eq, Eq (IDorX a)
+Eq (IDorX a) =>
+(IDorX a -> IDorX a -> Ordering)
+-> (IDorX a -> IDorX a -> Bool)
+-> (IDorX a -> IDorX a -> Bool)
+-> (IDorX a -> IDorX a -> Bool)
+-> (IDorX a -> IDorX a -> Bool)
+-> (IDorX a -> IDorX a -> IDorX a)
+-> (IDorX a -> IDorX a -> IDorX a)
+-> Ord (IDorX a)
+IDorX a -> IDorX a -> Bool
+IDorX a -> IDorX a -> Ordering
+IDorX a -> IDorX a -> IDorX a
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+forall a. Ord a => Eq (IDorX a)
+forall a. Ord a => IDorX a -> IDorX a -> Bool
+forall a. Ord a => IDorX a -> IDorX a -> Ordering
+forall a. Ord a => IDorX a -> IDorX a -> IDorX a
+$ccompare :: forall a. Ord a => IDorX a -> IDorX a -> Ordering
+compare :: IDorX a -> IDorX a -> Ordering
+$c< :: forall a. Ord a => IDorX a -> IDorX a -> Bool
+< :: IDorX a -> IDorX a -> Bool
+$c<= :: forall a. Ord a => IDorX a -> IDorX a -> Bool
+<= :: IDorX a -> IDorX a -> Bool
+$c> :: forall a. Ord a => IDorX a -> IDorX a -> Bool
+> :: IDorX a -> IDorX a -> Bool
+$c>= :: forall a. Ord a => IDorX a -> IDorX a -> Bool
+>= :: IDorX a -> IDorX a -> Bool
+$cmax :: forall a. Ord a => IDorX a -> IDorX a -> IDorX a
+max :: IDorX a -> IDorX a -> IDorX a
+$cmin :: forall a. Ord a => IDorX a -> IDorX a -> IDorX a
+min :: IDorX a -> IDorX a -> IDorX a
+Ord, Int -> IDorX a -> ShowS
+[IDorX a] -> ShowS
+IDorX a -> String
+(Int -> IDorX a -> ShowS)
+-> (IDorX a -> String) -> ([IDorX a] -> ShowS) -> Show (IDorX a)
+forall a. Show a => Int -> IDorX a -> ShowS
+forall a. Show a => [IDorX a] -> ShowS
+forall a. Show a => IDorX a -> String
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: forall a. Show a => Int -> IDorX a -> ShowS
+showsPrec :: Int -> IDorX a -> ShowS
+$cshow :: forall a. Show a => IDorX a -> String
+show :: IDorX a -> String
+$cshowList :: forall a. Show a => [IDorX a] -> ShowS
+showList :: [IDorX a] -> ShowS
+Show, ReadPrec [IDorX a]
+ReadPrec (IDorX a)
+Int -> ReadS (IDorX a)
+ReadS [IDorX a]
+(Int -> ReadS (IDorX a))
+-> ReadS [IDorX a]
+-> ReadPrec (IDorX a)
+-> ReadPrec [IDorX a]
+-> Read (IDorX a)
+forall a. Read a => ReadPrec [IDorX a]
+forall a. Read a => ReadPrec (IDorX a)
+forall a. Read a => Int -> ReadS (IDorX a)
+forall a. Read a => ReadS [IDorX a]
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: forall a. Read a => Int -> ReadS (IDorX a)
+readsPrec :: Int -> ReadS (IDorX a)
+$creadList :: forall a. Read a => ReadS [IDorX a]
+readList :: ReadS [IDorX a]
+$creadPrec :: forall a. Read a => ReadPrec (IDorX a)
+readPrec :: ReadPrec (IDorX a)
+$creadListPrec :: forall a. Read a => ReadPrec [IDorX a]
+readListPrec :: ReadPrec [IDorX a]
+Read, Eq (IDorX a)
+Eq (IDorX a) =>
+(Int -> IDorX a -> Int) -> (IDorX a -> Int) -> Hashable (IDorX a)
+Int -> IDorX a -> Int
+IDorX a -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+forall a. Hashable a => Eq (IDorX a)
+forall a. Hashable a => Int -> IDorX a -> Int
+forall a. Hashable a => IDorX a -> Int
+$chashWithSalt :: forall a. Hashable a => Int -> IDorX a -> Int
+hashWithSalt :: Int -> IDorX a -> Int
+$chash :: forall a. Hashable a => IDorX a -> Int
+hash :: IDorX a -> Int
+Hashable, IDorX a -> ()
+(IDorX a -> ()) -> NFData (IDorX a)
+forall a. NFData a => IDorX a -> ()
+forall a. (a -> ()) -> NFData a
+$crnf :: forall a. NFData a => IDorX a -> ()
+rnf :: IDorX a -> ()
+NFData, (forall a b. (a -> b) -> IDorX a -> IDorX b)
+-> (forall a b. a -> IDorX b -> IDorX a) -> Functor IDorX
+forall a b. a -> IDorX b -> IDorX a
+forall a b. (a -> b) -> IDorX a -> IDorX b
+forall (f :: * -> *).
+(forall a b. (a -> b) -> f a -> f b)
+-> (forall a b. a -> f b -> f a) -> Functor f
+$cfmap :: forall a b. (a -> b) -> IDorX a -> IDorX b
+fmap :: forall a b. (a -> b) -> IDorX a -> IDorX b
+$c<$ :: forall a b. a -> IDorX b -> IDorX a
+<$ :: forall a b. a -> IDorX b -> IDorX a
+Functor)
+  deriving newtype (Functor IDorX
+Functor IDorX =>
+(forall a. a -> IDorX a)
+-> (forall a b. IDorX (a -> b) -> IDorX a -> IDorX b)
+-> (forall a b c. (a -> b -> c) -> IDorX a -> IDorX b -> IDorX c)
+-> (forall a b. IDorX a -> IDorX b -> IDorX b)
+-> (forall a b. IDorX a -> IDorX b -> IDorX a)
+-> Applicative IDorX
+forall a. a -> IDorX a
+forall a b. IDorX a -> IDorX b -> IDorX a
+forall a b. IDorX a -> IDorX b -> IDorX b
+forall a b. IDorX (a -> b) -> IDorX a -> IDorX b
+forall a b c. (a -> b -> c) -> IDorX a -> IDorX b -> IDorX c
+forall (f :: * -> *).
+Functor f =>
+(forall a. a -> f a)
+-> (forall a b. f (a -> b) -> f a -> f b)
+-> (forall a b c. (a -> b -> c) -> f a -> f b -> f c)
+-> (forall a b. f a -> f b -> f b)
+-> (forall a b. f a -> f b -> f a)
+-> Applicative f
+$cpure :: forall a. a -> IDorX a
+pure :: forall a. a -> IDorX a
+$c<*> :: forall a b. IDorX (a -> b) -> IDorX a -> IDorX b
+<*> :: forall a b. IDorX (a -> b) -> IDorX a -> IDorX b
+$cliftA2 :: forall a b c. (a -> b -> c) -> IDorX a -> IDorX b -> IDorX c
+liftA2 :: forall a b c. (a -> b -> c) -> IDorX a -> IDorX b -> IDorX c
+$c*> :: forall a b. IDorX a -> IDorX b -> IDorX b
+*> :: forall a b. IDorX a -> IDorX b -> IDorX b
+$c<* :: forall a b. IDorX a -> IDorX b -> IDorX a
+<* :: forall a b. IDorX a -> IDorX b -> IDorX a
+Applicative, Applicative IDorX
+Applicative IDorX =>
+(forall a b. IDorX a -> (a -> IDorX b) -> IDorX b)
+-> (forall a b. IDorX a -> IDorX b -> IDorX b)
+-> (forall a. a -> IDorX a)
+-> Monad IDorX
+forall a. a -> IDorX a
+forall a b. IDorX a -> IDorX b -> IDorX b
+forall a b. IDorX a -> (a -> IDorX b) -> IDorX b
+forall (m :: * -> *).
+Applicative m =>
+(forall a b. m a -> (a -> m b) -> m b)
+-> (forall a b. m a -> m b -> m b)
+-> (forall a. a -> m a)
+-> Monad m
+$c>>= :: forall a b. IDorX a -> (a -> IDorX b) -> IDorX b
+>>= :: forall a b. IDorX a -> (a -> IDorX b) -> IDorX b
+$c>> :: forall a b. IDorX a -> IDorX b -> IDorX b
+>> :: forall a b. IDorX a -> IDorX b -> IDorX b
+$creturn :: forall a. a -> IDorX a
+return :: forall a. a -> IDorX a
+Monad, (forall m. Monoid m => IDorX m -> m)
+-> (forall m a. Monoid m => (a -> m) -> IDorX a -> m)
+-> (forall m a. Monoid m => (a -> m) -> IDorX a -> m)
+-> (forall a b. (a -> b -> b) -> b -> IDorX a -> b)
+-> (forall a b. (a -> b -> b) -> b -> IDorX a -> b)
+-> (forall b a. (b -> a -> b) -> b -> IDorX a -> b)
+-> (forall b a. (b -> a -> b) -> b -> IDorX a -> b)
+-> (forall a. (a -> a -> a) -> IDorX a -> a)
+-> (forall a. (a -> a -> a) -> IDorX a -> a)
+-> (forall a. IDorX a -> [a])
+-> (forall a. IDorX a -> Bool)
+-> (forall a. IDorX a -> Int)
+-> (forall a. Eq a => a -> IDorX a -> Bool)
+-> (forall a. Ord a => IDorX a -> a)
+-> (forall a. Ord a => IDorX a -> a)
+-> (forall a. Num a => IDorX a -> a)
+-> (forall a. Num a => IDorX a -> a)
+-> Foldable IDorX
+forall a. Eq a => a -> IDorX a -> Bool
+forall a. Num a => IDorX a -> a
+forall a. Ord a => IDorX a -> a
+forall m. Monoid m => IDorX m -> m
+forall a. IDorX a -> Bool
+forall a. IDorX a -> Int
+forall a. IDorX a -> [a]
+forall a. (a -> a -> a) -> IDorX a -> a
+forall m a. Monoid m => (a -> m) -> IDorX a -> m
+forall b a. (b -> a -> b) -> b -> IDorX a -> b
+forall a b. (a -> b -> b) -> b -> IDorX a -> b
+forall (t :: * -> *).
+(forall m. Monoid m => t m -> m)
+-> (forall m a. Monoid m => (a -> m) -> t a -> m)
+-> (forall m a. Monoid m => (a -> m) -> t a -> m)
+-> (forall a b. (a -> b -> b) -> b -> t a -> b)
+-> (forall a b. (a -> b -> b) -> b -> t a -> b)
+-> (forall b a. (b -> a -> b) -> b -> t a -> b)
+-> (forall b a. (b -> a -> b) -> b -> t a -> b)
+-> (forall a. (a -> a -> a) -> t a -> a)
+-> (forall a. (a -> a -> a) -> t a -> a)
+-> (forall a. t a -> [a])
+-> (forall a. t a -> Bool)
+-> (forall a. t a -> Int)
+-> (forall a. Eq a => a -> t a -> Bool)
+-> (forall a. Ord a => t a -> a)
+-> (forall a. Ord a => t a -> a)
+-> (forall a. Num a => t a -> a)
+-> (forall a. Num a => t a -> a)
+-> Foldable t
+$cfold :: forall m. Monoid m => IDorX m -> m
+fold :: forall m. Monoid m => IDorX m -> m
+$cfoldMap :: forall m a. Monoid m => (a -> m) -> IDorX a -> m
+foldMap :: forall m a. Monoid m => (a -> m) -> IDorX a -> m
+$cfoldMap' :: forall m a. Monoid m => (a -> m) -> IDorX a -> m
+foldMap' :: forall m a. Monoid m => (a -> m) -> IDorX a -> m
+$cfoldr :: forall a b. (a -> b -> b) -> b -> IDorX a -> b
+foldr :: forall a b. (a -> b -> b) -> b -> IDorX a -> b
+$cfoldr' :: forall a b. (a -> b -> b) -> b -> IDorX a -> b
+foldr' :: forall a b. (a -> b -> b) -> b -> IDorX a -> b
+$cfoldl :: forall b a. (b -> a -> b) -> b -> IDorX a -> b
+foldl :: forall b a. (b -> a -> b) -> b -> IDorX a -> b
+$cfoldl' :: forall b a. (b -> a -> b) -> b -> IDorX a -> b
+foldl' :: forall b a. (b -> a -> b) -> b -> IDorX a -> b
+$cfoldr1 :: forall a. (a -> a -> a) -> IDorX a -> a
+foldr1 :: forall a. (a -> a -> a) -> IDorX a -> a
+$cfoldl1 :: forall a. (a -> a -> a) -> IDorX a -> a
+foldl1 :: forall a. (a -> a -> a) -> IDorX a -> a
+$ctoList :: forall a. IDorX a -> [a]
+toList :: forall a. IDorX a -> [a]
+$cnull :: forall a. IDorX a -> Bool
+null :: forall a. IDorX a -> Bool
+$clength :: forall a. IDorX a -> Int
+length :: forall a. IDorX a -> Int
+$celem :: forall a. Eq a => a -> IDorX a -> Bool
+elem :: forall a. Eq a => a -> IDorX a -> Bool
+$cmaximum :: forall a. Ord a => IDorX a -> a
+maximum :: forall a. Ord a => IDorX a -> a
+$cminimum :: forall a. Ord a => IDorX a -> a
+minimum :: forall a. Ord a => IDorX a -> a
+$csum :: forall a. Num a => IDorX a -> a
+sum :: forall a. Num a => IDorX a -> a
+$cproduct :: forall a. Num a => IDorX a -> a
+product :: forall a. Num a => IDorX a -> a
+Foldable, NonEmpty (IDorX a) -> IDorX a
+IDorX a -> IDorX a -> IDorX a
+(IDorX a -> IDorX a -> IDorX a)
+-> (NonEmpty (IDorX a) -> IDorX a)
+-> (forall b. Integral b => b -> IDorX a -> IDorX a)
+-> Semigroup (IDorX a)
+forall b. Integral b => b -> IDorX a -> IDorX a
+forall a. NonEmpty (IDorX a) -> IDorX a
+forall a. IDorX a -> IDorX a -> IDorX a
+forall a.
+(a -> a -> a)
+-> (NonEmpty a -> a)
+-> (forall b. Integral b => b -> a -> a)
+-> Semigroup a
+forall a b. Integral b => b -> IDorX a -> IDorX a
+$c<> :: forall a. IDorX a -> IDorX a -> IDorX a
+<> :: IDorX a -> IDorX a -> IDorX a
+$csconcat :: forall a. NonEmpty (IDorX a) -> IDorX a
+sconcat :: NonEmpty (IDorX a) -> IDorX a
+$cstimes :: forall a b. Integral b => b -> IDorX a -> IDorX a
+stimes :: forall b. Integral b => b -> IDorX a -> IDorX a
+Semigroup)
+
+instance (Pack a) => Pack (IDorX a) where
+  pack :: IDorX a -> Builder
+pack = \case
+    IDorX (Left Int32
+regid) -> Int32 -> Builder
+forall a. Integral a => a -> Builder
+packleb32 (Int32
+regid Int32 -> Int32 -> Int32
+forall a. Num a => a -> a -> a
++ Int32
+1) -- Registry ID + 1
+    IDorX (Right a
+val) -> LEB Int32 -> Builder
+forall a. Pack a => a -> Builder
+pack (LEB Int32
+0 :: LEB Int32) Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> a -> Builder
+forall a. Pack a => a -> Builder
+pack a
+val -- Inline value
+
+instance (Unpack a) => Unpack (IDorX a) where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r (IDorX a)
+unpack = do
+    Int32
+i <- Parser st r Int32
+forall a (st :: ZeroBitType) r. Integral a => Parser st r a
+unpackleb32 Parser st r Int32
+-> (Int32 -> Parser st r Int32) -> Parser st r Int32
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= String -> Int32 -> Parser st r Int32
+forall a (st :: ZeroBitType) r.
+(Num a, Ord a, Show a) =>
+String -> a -> Parser st r a
+guardnat String
+"IDorX.n"
+    if Int32
+i Int32 -> Int32 -> Bool
+forall a. Eq a => a -> a -> Bool
+== Int32
+0
+      then Either Int32 a -> IDorX a
+forall a. Either Int32 a -> IDorX a
+IDorX (Either Int32 a -> IDorX a)
+-> (a -> Either Int32 a) -> a -> IDorX a
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. a -> Either Int32 a
+forall a b. b -> Either a b
+Right (a -> IDorX a)
+-> ParserT st r ParseError a -> Parser st r (IDorX a)
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ParserT st r ParseError a
+forall (st :: ZeroBitType) r. Parser st r a
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack
+      else IDorX a -> Parser st r (IDorX a)
+forall a. a -> ParserT st r ParseError a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure (IDorX a -> Parser st r (IDorX a))
+-> IDorX a -> Parser st r (IDorX a)
+forall a b. (a -> b) -> a -> b
+$ Either Int32 a -> IDorX a
+forall a. Either Int32 a -> IDorX a
+IDorX (Either Int32 a -> IDorX a) -> Either Int32 a -> IDorX a
+forall a b. (a -> b) -> a -> b
+$ Int32 -> Either Int32 a
+forall a b. a -> Either a b
+Left (Int32
+i Int32 -> Int32 -> Int32
+forall a. Num a => a -> a -> a
+- Int32
+1)
+
+-- | potentially unresolved ID set; either an identifier for its location or
+-- an inline set of IDs
+newtype IDSet = IDSet
+  { -- | name of ID set or inline set
+    IDSet -> Either Text (Vector Int32)
+setnameorids :: Either Text (V.Vector Int32)
+  }
+  deriving stock ((forall x. IDSet -> Rep IDSet x)
+-> (forall x. Rep IDSet x -> IDSet) -> Generic IDSet
+forall x. Rep IDSet x -> IDSet
+forall x. IDSet -> Rep IDSet x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. IDSet -> Rep IDSet x
+from :: forall x. IDSet -> Rep IDSet x
+$cto :: forall x. Rep IDSet x -> IDSet
+to :: forall x. Rep IDSet x -> IDSet
+Generic, Typeable, Typeable IDSet
+Typeable IDSet =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> IDSet -> c IDSet)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c IDSet)
+-> (IDSet -> Constr)
+-> (IDSet -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c IDSet))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IDSet))
+-> ((forall b. Data b => b -> b) -> IDSet -> IDSet)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IDSet -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IDSet -> r)
+-> (forall u. (forall d. Data d => d -> u) -> IDSet -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> IDSet -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> IDSet -> m IDSet)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> IDSet -> m IDSet)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> IDSet -> m IDSet)
+-> Data IDSet
+IDSet -> Constr
+IDSet -> DataType
+(forall b. Data b => b -> b) -> IDSet -> IDSet
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> IDSet -> u
+forall u. (forall d. Data d => d -> u) -> IDSet -> [u]
+forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IDSet -> r
+forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IDSet -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> IDSet -> m IDSet
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> IDSet -> m IDSet
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c IDSet
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> IDSet -> c IDSet
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c IDSet)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IDSet)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> IDSet -> c IDSet
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> IDSet -> c IDSet
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c IDSet
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c IDSet
+$ctoConstr :: IDSet -> Constr
+toConstr :: IDSet -> Constr
+$cdataTypeOf :: IDSet -> DataType
+dataTypeOf :: IDSet -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c IDSet)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c IDSet)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IDSet)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IDSet)
+$cgmapT :: (forall b. Data b => b -> b) -> IDSet -> IDSet
+gmapT :: (forall b. Data b => b -> b) -> IDSet -> IDSet
+$cgmapQl :: forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IDSet -> r
+gmapQl :: forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IDSet -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IDSet -> r
+gmapQr :: forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IDSet -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> IDSet -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> IDSet -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> IDSet -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> IDSet -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> IDSet -> m IDSet
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> IDSet -> m IDSet
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> IDSet -> m IDSet
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> IDSet -> m IDSet
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> IDSet -> m IDSet
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> IDSet -> m IDSet
+Data)
+  deriving newtype (IDSet -> IDSet -> Bool
+(IDSet -> IDSet -> Bool) -> (IDSet -> IDSet -> Bool) -> Eq IDSet
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: IDSet -> IDSet -> Bool
+== :: IDSet -> IDSet -> Bool
+$c/= :: IDSet -> IDSet -> Bool
+/= :: IDSet -> IDSet -> Bool
+Eq, Eq IDSet
+Eq IDSet =>
+(IDSet -> IDSet -> Ordering)
+-> (IDSet -> IDSet -> Bool)
+-> (IDSet -> IDSet -> Bool)
+-> (IDSet -> IDSet -> Bool)
+-> (IDSet -> IDSet -> Bool)
+-> (IDSet -> IDSet -> IDSet)
+-> (IDSet -> IDSet -> IDSet)
+-> Ord IDSet
+IDSet -> IDSet -> Bool
+IDSet -> IDSet -> Ordering
+IDSet -> IDSet -> IDSet
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: IDSet -> IDSet -> Ordering
+compare :: IDSet -> IDSet -> Ordering
+$c< :: IDSet -> IDSet -> Bool
+< :: IDSet -> IDSet -> Bool
+$c<= :: IDSet -> IDSet -> Bool
+<= :: IDSet -> IDSet -> Bool
+$c> :: IDSet -> IDSet -> Bool
+> :: IDSet -> IDSet -> Bool
+$c>= :: IDSet -> IDSet -> Bool
+>= :: IDSet -> IDSet -> Bool
+$cmax :: IDSet -> IDSet -> IDSet
+max :: IDSet -> IDSet -> IDSet
+$cmin :: IDSet -> IDSet -> IDSet
+min :: IDSet -> IDSet -> IDSet
+Ord, Int -> IDSet -> ShowS
+[IDSet] -> ShowS
+IDSet -> String
+(Int -> IDSet -> ShowS)
+-> (IDSet -> String) -> ([IDSet] -> ShowS) -> Show IDSet
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> IDSet -> ShowS
+showsPrec :: Int -> IDSet -> ShowS
+$cshow :: IDSet -> String
+show :: IDSet -> String
+$cshowList :: [IDSet] -> ShowS
+showList :: [IDSet] -> ShowS
+Show, ReadPrec [IDSet]
+ReadPrec IDSet
+Int -> ReadS IDSet
+ReadS [IDSet]
+(Int -> ReadS IDSet)
+-> ReadS [IDSet]
+-> ReadPrec IDSet
+-> ReadPrec [IDSet]
+-> Read IDSet
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS IDSet
+readsPrec :: Int -> ReadS IDSet
+$creadList :: ReadS [IDSet]
+readList :: ReadS [IDSet]
+$creadPrec :: ReadPrec IDSet
+readPrec :: ReadPrec IDSet
+$creadListPrec :: ReadPrec [IDSet]
+readListPrec :: ReadPrec [IDSet]
+Read, IDSet -> ()
+(IDSet -> ()) -> NFData IDSet
+forall a. (a -> ()) -> NFData a
+$crnf :: IDSet -> ()
+rnf :: IDSet -> ()
+NFData, NonEmpty IDSet -> IDSet
+IDSet -> IDSet -> IDSet
+(IDSet -> IDSet -> IDSet)
+-> (NonEmpty IDSet -> IDSet)
+-> (forall b. Integral b => b -> IDSet -> IDSet)
+-> Semigroup IDSet
+forall b. Integral b => b -> IDSet -> IDSet
+forall a.
+(a -> a -> a)
+-> (NonEmpty a -> a)
+-> (forall b. Integral b => b -> a -> a)
+-> Semigroup a
+$c<> :: IDSet -> IDSet -> IDSet
+<> :: IDSet -> IDSet -> IDSet
+$csconcat :: NonEmpty IDSet -> IDSet
+sconcat :: NonEmpty IDSet -> IDSet
+$cstimes :: forall b. Integral b => b -> IDSet -> IDSet
+stimes :: forall b. Integral b => b -> IDSet -> IDSet
+Semigroup)
+
+instance Pack IDSet where
+  pack :: IDSet -> Builder
+pack (IDSet (Left Text
+setname)) = Builder
+"\0" Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> Text -> Builder
+forall a. Pack a => a -> Builder
+pack Text
+setname
+  pack (IDSet (Right Vector Int32
+ids)) = Int -> Builder
+forall a. Integral a => a -> Builder
+packleb32 (Vector Int32 -> Int
+forall a. Vector a -> Int
+V.length Vector Int32
+ids Int -> Int -> Int
+forall a. Num a => a -> a -> a
++ Int
+1) Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> (Int32 -> Builder) -> Vector Int32 -> Builder
+forall m a. Monoid m => (a -> m) -> Vector a -> m
+V.foldMap' Int32 -> Builder
+forall a. Pack a => a -> Builder
+pack Vector Int32
+ids
+
+instance Unpack IDSet where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r IDSet
+unpack =
+    Parser st r Int
+forall a (st :: ZeroBitType) r. Integral a => Parser st r a
+unpackleb32 Parser st r Int -> (Int -> Parser st r Int) -> Parser st r Int
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= String -> Int -> Parser st r Int
+forall a (st :: ZeroBitType) r.
+(Num a, Ord a, Show a) =>
+String -> a -> Parser st r a
+guardnat String
+"IDSet.n" Parser st r Int
+-> (Int -> ParserT st r ParseError IDSet)
+-> ParserT st r ParseError IDSet
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= \case
+      Int
+0 -> Either Text (Vector Int32) -> IDSet
+IDSet (Either Text (Vector Int32) -> IDSet)
+-> (Identifier -> Either Text (Vector Int32))
+-> Identifier
+-> IDSet
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Text -> Either Text (Vector Int32)
+forall a b. a -> Either a b
+Left (Text -> Either Text (Vector Int32))
+-> (Identifier -> Text) -> Identifier -> Either Text (Vector Int32)
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Identifier -> Text
+identifier (Identifier -> IDSet)
+-> ParserT st r ParseError Identifier
+-> ParserT st r ParseError IDSet
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ParserT st r ParseError Identifier
+forall (st :: ZeroBitType) r. Parser st r Identifier
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack
+      Int
+n -> Either Text (Vector Int32) -> IDSet
+IDSet (Either Text (Vector Int32) -> IDSet)
+-> (Vector Int32 -> Either Text (Vector Int32))
+-> Vector Int32
+-> IDSet
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Vector Int32 -> Either Text (Vector Int32)
+forall a b. b -> Either a b
+Right (Vector Int32 -> IDSet)
+-> ParserT st r ParseError (Vector Int32)
+-> ParserT st r ParseError IDSet
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> Int
+-> ParserT st r ParseError Int32
+-> ParserT st r ParseError (Vector Int32)
+forall (m :: * -> *) a. Monad m => Int -> m a -> m (Vector a)
+V.replicateM (Int
+n Int -> Int -> Int
+forall a. Num a => a -> a -> a
+- Int
+1) ParserT st r ParseError Int32
+forall a (st :: ZeroBitType) r. Integral a => Parser st r a
+unpackleb32
+
+-- | a newtype wrapper over 'ByteString'; not length-prefixed
+newtype TakeRest = TakeRest {TakeRest -> ByteString
+gettakerest :: ByteString}
+  deriving stock ((forall x. TakeRest -> Rep TakeRest x)
+-> (forall x. Rep TakeRest x -> TakeRest) -> Generic TakeRest
+forall x. Rep TakeRest x -> TakeRest
+forall x. TakeRest -> Rep TakeRest x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. TakeRest -> Rep TakeRest x
+from :: forall x. TakeRest -> Rep TakeRest x
+$cto :: forall x. Rep TakeRest x -> TakeRest
+to :: forall x. Rep TakeRest x -> TakeRest
+Generic, Typeable, Typeable TakeRest
+Typeable TakeRest =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> TakeRest -> c TakeRest)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c TakeRest)
+-> (TakeRest -> Constr)
+-> (TakeRest -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c TakeRest))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TakeRest))
+-> ((forall b. Data b => b -> b) -> TakeRest -> TakeRest)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> TakeRest -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> TakeRest -> r)
+-> (forall u. (forall d. Data d => d -> u) -> TakeRest -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> TakeRest -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> TakeRest -> m TakeRest)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> TakeRest -> m TakeRest)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> TakeRest -> m TakeRest)
+-> Data TakeRest
+TakeRest -> Constr
+TakeRest -> DataType
+(forall b. Data b => b -> b) -> TakeRest -> TakeRest
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> TakeRest -> u
+forall u. (forall d. Data d => d -> u) -> TakeRest -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> TakeRest -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> TakeRest -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> TakeRest -> m TakeRest
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> TakeRest -> m TakeRest
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c TakeRest
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> TakeRest -> c TakeRest
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c TakeRest)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TakeRest)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> TakeRest -> c TakeRest
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> TakeRest -> c TakeRest
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c TakeRest
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c TakeRest
+$ctoConstr :: TakeRest -> Constr
+toConstr :: TakeRest -> Constr
+$cdataTypeOf :: TakeRest -> DataType
+dataTypeOf :: TakeRest -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c TakeRest)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c TakeRest)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TakeRest)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TakeRest)
+$cgmapT :: (forall b. Data b => b -> b) -> TakeRest -> TakeRest
+gmapT :: (forall b. Data b => b -> b) -> TakeRest -> TakeRest
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> TakeRest -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> TakeRest -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> TakeRest -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> TakeRest -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> TakeRest -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> TakeRest -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> TakeRest -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> TakeRest -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> TakeRest -> m TakeRest
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> TakeRest -> m TakeRest
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> TakeRest -> m TakeRest
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> TakeRest -> m TakeRest
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> TakeRest -> m TakeRest
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> TakeRest -> m TakeRest
+Data, (forall (m :: * -> *). Quote m => TakeRest -> m Exp)
+-> (forall (m :: * -> *). Quote m => TakeRest -> Code m TakeRest)
+-> Lift TakeRest
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => TakeRest -> m Exp
+forall (m :: * -> *). Quote m => TakeRest -> Code m TakeRest
+$clift :: forall (m :: * -> *). Quote m => TakeRest -> m Exp
+lift :: forall (m :: * -> *). Quote m => TakeRest -> m Exp
+$cliftTyped :: forall (m :: * -> *). Quote m => TakeRest -> Code m TakeRest
+liftTyped :: forall (m :: * -> *). Quote m => TakeRest -> Code m TakeRest
+Lift)
+  deriving newtype (Int -> TakeRest -> ShowS
+[TakeRest] -> ShowS
+TakeRest -> String
+(Int -> TakeRest -> ShowS)
+-> (TakeRest -> String) -> ([TakeRest] -> ShowS) -> Show TakeRest
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> TakeRest -> ShowS
+showsPrec :: Int -> TakeRest -> ShowS
+$cshow :: TakeRest -> String
+show :: TakeRest -> String
+$cshowList :: [TakeRest] -> ShowS
+showList :: [TakeRest] -> ShowS
+Show, ReadPrec [TakeRest]
+ReadPrec TakeRest
+Int -> ReadS TakeRest
+ReadS [TakeRest]
+(Int -> ReadS TakeRest)
+-> ReadS [TakeRest]
+-> ReadPrec TakeRest
+-> ReadPrec [TakeRest]
+-> Read TakeRest
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS TakeRest
+readsPrec :: Int -> ReadS TakeRest
+$creadList :: ReadS [TakeRest]
+readList :: ReadS [TakeRest]
+$creadPrec :: ReadPrec TakeRest
+readPrec :: ReadPrec TakeRest
+$creadListPrec :: ReadPrec [TakeRest]
+readListPrec :: ReadPrec [TakeRest]
+Read, TakeRest -> TakeRest -> Bool
+(TakeRest -> TakeRest -> Bool)
+-> (TakeRest -> TakeRest -> Bool) -> Eq TakeRest
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: TakeRest -> TakeRest -> Bool
+== :: TakeRest -> TakeRest -> Bool
+$c/= :: TakeRest -> TakeRest -> Bool
+/= :: TakeRest -> TakeRest -> Bool
+Eq, Eq TakeRest
+Eq TakeRest =>
+(TakeRest -> TakeRest -> Ordering)
+-> (TakeRest -> TakeRest -> Bool)
+-> (TakeRest -> TakeRest -> Bool)
+-> (TakeRest -> TakeRest -> Bool)
+-> (TakeRest -> TakeRest -> Bool)
+-> (TakeRest -> TakeRest -> TakeRest)
+-> (TakeRest -> TakeRest -> TakeRest)
+-> Ord TakeRest
+TakeRest -> TakeRest -> Bool
+TakeRest -> TakeRest -> Ordering
+TakeRest -> TakeRest -> TakeRest
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: TakeRest -> TakeRest -> Ordering
+compare :: TakeRest -> TakeRest -> Ordering
+$c< :: TakeRest -> TakeRest -> Bool
+< :: TakeRest -> TakeRest -> Bool
+$c<= :: TakeRest -> TakeRest -> Bool
+<= :: TakeRest -> TakeRest -> Bool
+$c> :: TakeRest -> TakeRest -> Bool
+> :: TakeRest -> TakeRest -> Bool
+$c>= :: TakeRest -> TakeRest -> Bool
+>= :: TakeRest -> TakeRest -> Bool
+$cmax :: TakeRest -> TakeRest -> TakeRest
+max :: TakeRest -> TakeRest -> TakeRest
+$cmin :: TakeRest -> TakeRest -> TakeRest
+min :: TakeRest -> TakeRest -> TakeRest
+Ord, Eq TakeRest
+Eq TakeRest =>
+(Int -> TakeRest -> Int) -> (TakeRest -> Int) -> Hashable TakeRest
+Int -> TakeRest -> Int
+TakeRest -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+$chashWithSalt :: Int -> TakeRest -> Int
+hashWithSalt :: Int -> TakeRest -> Int
+$chash :: TakeRest -> Int
+hash :: TakeRest -> Int
+Hashable, TakeRest -> ()
+(TakeRest -> ()) -> NFData TakeRest
+forall a. (a -> ()) -> NFData a
+$crnf :: TakeRest -> ()
+rnf :: TakeRest -> ()
+NFData, NonEmpty TakeRest -> TakeRest
+TakeRest -> TakeRest -> TakeRest
+(TakeRest -> TakeRest -> TakeRest)
+-> (NonEmpty TakeRest -> TakeRest)
+-> (forall b. Integral b => b -> TakeRest -> TakeRest)
+-> Semigroup TakeRest
+forall b. Integral b => b -> TakeRest -> TakeRest
+forall a.
+(a -> a -> a)
+-> (NonEmpty a -> a)
+-> (forall b. Integral b => b -> a -> a)
+-> Semigroup a
+$c<> :: TakeRest -> TakeRest -> TakeRest
+<> :: TakeRest -> TakeRest -> TakeRest
+$csconcat :: NonEmpty TakeRest -> TakeRest
+sconcat :: NonEmpty TakeRest -> TakeRest
+$cstimes :: forall b. Integral b => b -> TakeRest -> TakeRest
+stimes :: forall b. Integral b => b -> TakeRest -> TakeRest
+Semigroup, Semigroup TakeRest
+TakeRest
+Semigroup TakeRest =>
+TakeRest
+-> (TakeRest -> TakeRest -> TakeRest)
+-> ([TakeRest] -> TakeRest)
+-> Monoid TakeRest
+[TakeRest] -> TakeRest
+TakeRest -> TakeRest -> TakeRest
+forall a.
+Semigroup a =>
+a -> (a -> a -> a) -> ([a] -> a) -> Monoid a
+$cmempty :: TakeRest
+mempty :: TakeRest
+$cmappend :: TakeRest -> TakeRest -> TakeRest
+mappend :: TakeRest -> TakeRest -> TakeRest
+$cmconcat :: [TakeRest] -> TakeRest
+mconcat :: [TakeRest] -> TakeRest
+Monoid)
+
+-- | 'TakeRest' is serialized as-is
+instance Pack TakeRest where
+  pack :: TakeRest -> Builder
+pack = ByteString -> Builder
+BB.byteString (ByteString -> Builder)
+-> (TakeRest -> ByteString) -> TakeRest -> Builder
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. TakeRest -> ByteString
+gettakerest
+  {-# INLINE pack #-}
+
+-- | 'TakeRest' is deserialized as-is and reads the rest of the input
+instance Unpack TakeRest where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r TakeRest
+unpack = ByteString -> TakeRest
+TakeRest (ByteString -> TakeRest)
+-> ParserT st r ParseError ByteString
+-> ParserT st r ParseError TakeRest
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ParserT st r ParseError ByteString
+forall (st :: ZeroBitType) r e. ParserT st r e ByteString
+F.takeRest
+  {-# INLINE unpack #-}
+
+-- | General 'Pack' instance provider for 'Foldable's
+--
+-- length-prefixed ('VarInt'), strict left fold
+newtype PackFoldableVI f a = PackFoldableVI {forall {k} (f :: k -> *) (a :: k). PackFoldableVI f a -> f a
+getpackfoldablevi :: f a}
+  deriving stock ((forall x. PackFoldableVI f a -> Rep (PackFoldableVI f a) x)
+-> (forall x. Rep (PackFoldableVI f a) x -> PackFoldableVI f a)
+-> Generic (PackFoldableVI f a)
+forall x. Rep (PackFoldableVI f a) x -> PackFoldableVI f a
+forall x. PackFoldableVI f a -> Rep (PackFoldableVI f a) x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+forall k (f :: k -> *) (a :: k) x.
+Rep (PackFoldableVI f a) x -> PackFoldableVI f a
+forall k (f :: k -> *) (a :: k) x.
+PackFoldableVI f a -> Rep (PackFoldableVI f a) x
+$cfrom :: forall k (f :: k -> *) (a :: k) x.
+PackFoldableVI f a -> Rep (PackFoldableVI f a) x
+from :: forall x. PackFoldableVI f a -> Rep (PackFoldableVI f a) x
+$cto :: forall k (f :: k -> *) (a :: k) x.
+Rep (PackFoldableVI f a) x -> PackFoldableVI f a
+to :: forall x. Rep (PackFoldableVI f a) x -> PackFoldableVI f a
+Generic, (forall (a :: k). PackFoldableVI f a -> Rep1 (PackFoldableVI f) a)
+-> (forall (a :: k).
+    Rep1 (PackFoldableVI f) a -> PackFoldableVI f a)
+-> Generic1 (PackFoldableVI f)
+forall (a :: k). Rep1 (PackFoldableVI f) a -> PackFoldableVI f a
+forall (a :: k). PackFoldableVI f a -> Rep1 (PackFoldableVI f) a
+forall k (f :: k -> *).
+(forall (a :: k). f a -> Rep1 f a)
+-> (forall (a :: k). Rep1 f a -> f a) -> Generic1 f
+forall k (f :: k -> *) (a :: k).
+Rep1 (PackFoldableVI f) a -> PackFoldableVI f a
+forall k (f :: k -> *) (a :: k).
+PackFoldableVI f a -> Rep1 (PackFoldableVI f) a
+$cfrom1 :: forall k (f :: k -> *) (a :: k).
+PackFoldableVI f a -> Rep1 (PackFoldableVI f) a
+from1 :: forall (a :: k). PackFoldableVI f a -> Rep1 (PackFoldableVI f) a
+$cto1 :: forall k (f :: k -> *) (a :: k).
+Rep1 (PackFoldableVI f) a -> PackFoldableVI f a
+to1 :: forall (a :: k). Rep1 (PackFoldableVI f) a -> PackFoldableVI f a
+Generic1, Typeable, Typeable (PackFoldableVI f a)
+Typeable (PackFoldableVI f a) =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g)
+ -> PackFoldableVI f a
+ -> c (PackFoldableVI f a))
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c (PackFoldableVI f a))
+-> (PackFoldableVI f a -> Constr)
+-> (PackFoldableVI f a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c (PackFoldableVI f a)))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c (PackFoldableVI f a)))
+-> ((forall b. Data b => b -> b)
+    -> PackFoldableVI f a -> PackFoldableVI f a)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> PackFoldableVI f a -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> PackFoldableVI f a -> r)
+-> (forall u.
+    (forall d. Data d => d -> u) -> PackFoldableVI f a -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> PackFoldableVI f a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d)
+    -> PackFoldableVI f a -> m (PackFoldableVI f a))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d)
+    -> PackFoldableVI f a -> m (PackFoldableVI f a))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d)
+    -> PackFoldableVI f a -> m (PackFoldableVI f a))
+-> Data (PackFoldableVI f a)
+PackFoldableVI f a -> Constr
+PackFoldableVI f a -> DataType
+(forall b. Data b => b -> b)
+-> PackFoldableVI f a -> PackFoldableVI f a
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u.
+Int -> (forall d. Data d => d -> u) -> PackFoldableVI f a -> u
+forall u. (forall d. Data d => d -> u) -> PackFoldableVI f a -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> PackFoldableVI f a -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> PackFoldableVI f a -> r
+forall k (f :: k -> *) (a :: k).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+Typeable (PackFoldableVI f a)
+forall k (f :: k -> *) (a :: k).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+PackFoldableVI f a -> Constr
+forall k (f :: k -> *) (a :: k).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+PackFoldableVI f a -> DataType
+forall k (f :: k -> *) (a :: k).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(forall b. Data b => b -> b)
+-> PackFoldableVI f a -> PackFoldableVI f a
+forall k (f :: k -> *) (a :: k) u.
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+Int -> (forall d. Data d => d -> u) -> PackFoldableVI f a -> u
+forall k (f :: k -> *) (a :: k) u.
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(forall d. Data d => d -> u) -> PackFoldableVI f a -> [u]
+forall k (f :: k -> *) (a :: k) r r'.
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> PackFoldableVI f a -> r
+forall k (f :: k -> *) (a :: k) r r'.
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> PackFoldableVI f a -> r
+forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), Monad m) =>
+(forall d. Data d => d -> m d)
+-> PackFoldableVI f a -> m (PackFoldableVI f a)
+forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), MonadPlus m) =>
+(forall d. Data d => d -> m d)
+-> PackFoldableVI f a -> m (PackFoldableVI f a)
+forall k (f :: k -> *) (a :: k) (c :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (PackFoldableVI f a)
+forall k (f :: k -> *) (a :: k) (c :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g)
+-> PackFoldableVI f a
+-> c (PackFoldableVI f a)
+forall k (f :: k -> *) (a :: k) (t :: * -> *) (c :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (PackFoldableVI f a))
+forall k (f :: k -> *) (a :: k) (t :: * -> * -> *) (c :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (PackFoldableVI f a))
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d)
+-> PackFoldableVI f a -> m (PackFoldableVI f a)
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> PackFoldableVI f a -> m (PackFoldableVI f a)
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (PackFoldableVI f a)
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g)
+-> PackFoldableVI f a
+-> c (PackFoldableVI f a)
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (PackFoldableVI f a))
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (PackFoldableVI f a))
+$cgfoldl :: forall k (f :: k -> *) (a :: k) (c :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g)
+-> PackFoldableVI f a
+-> c (PackFoldableVI f a)
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g)
+-> PackFoldableVI f a
+-> c (PackFoldableVI f a)
+$cgunfold :: forall k (f :: k -> *) (a :: k) (c :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (PackFoldableVI f a)
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (PackFoldableVI f a)
+$ctoConstr :: forall k (f :: k -> *) (a :: k).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+PackFoldableVI f a -> Constr
+toConstr :: PackFoldableVI f a -> Constr
+$cdataTypeOf :: forall k (f :: k -> *) (a :: k).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+PackFoldableVI f a -> DataType
+dataTypeOf :: PackFoldableVI f a -> DataType
+$cdataCast1 :: forall k (f :: k -> *) (a :: k) (t :: * -> *) (c :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (PackFoldableVI f a))
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (PackFoldableVI f a))
+$cdataCast2 :: forall k (f :: k -> *) (a :: k) (t :: * -> * -> *) (c :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (PackFoldableVI f a))
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (PackFoldableVI f a))
+$cgmapT :: forall k (f :: k -> *) (a :: k).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(forall b. Data b => b -> b)
+-> PackFoldableVI f a -> PackFoldableVI f a
+gmapT :: (forall b. Data b => b -> b)
+-> PackFoldableVI f a -> PackFoldableVI f a
+$cgmapQl :: forall k (f :: k -> *) (a :: k) r r'.
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> PackFoldableVI f a -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> PackFoldableVI f a -> r
+$cgmapQr :: forall k (f :: k -> *) (a :: k) r r'.
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> PackFoldableVI f a -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> PackFoldableVI f a -> r
+$cgmapQ :: forall k (f :: k -> *) (a :: k) u.
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(forall d. Data d => d -> u) -> PackFoldableVI f a -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> PackFoldableVI f a -> [u]
+$cgmapQi :: forall k (f :: k -> *) (a :: k) u.
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+Int -> (forall d. Data d => d -> u) -> PackFoldableVI f a -> u
+gmapQi :: forall u.
+Int -> (forall d. Data d => d -> u) -> PackFoldableVI f a -> u
+$cgmapM :: forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), Monad m) =>
+(forall d. Data d => d -> m d)
+-> PackFoldableVI f a -> m (PackFoldableVI f a)
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d)
+-> PackFoldableVI f a -> m (PackFoldableVI f a)
+$cgmapMp :: forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), MonadPlus m) =>
+(forall d. Data d => d -> m d)
+-> PackFoldableVI f a -> m (PackFoldableVI f a)
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> PackFoldableVI f a -> m (PackFoldableVI f a)
+$cgmapMo :: forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), MonadPlus m) =>
+(forall d. Data d => d -> m d)
+-> PackFoldableVI f a -> m (PackFoldableVI f a)
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> PackFoldableVI f a -> m (PackFoldableVI f a)
+Data, (forall (m :: * -> *). Quote m => PackFoldableVI f a -> m Exp)
+-> (forall (m :: * -> *).
+    Quote m =>
+    PackFoldableVI f a -> Code m (PackFoldableVI f a))
+-> Lift (PackFoldableVI f a)
+forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Lift (f a), Quote m) =>
+PackFoldableVI f a -> m Exp
+forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Lift (f a), Quote m) =>
+PackFoldableVI f a -> Code m (PackFoldableVI f a)
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => PackFoldableVI f a -> m Exp
+forall (m :: * -> *).
+Quote m =>
+PackFoldableVI f a -> Code m (PackFoldableVI f a)
+$clift :: forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Lift (f a), Quote m) =>
+PackFoldableVI f a -> m Exp
+lift :: forall (m :: * -> *). Quote m => PackFoldableVI f a -> m Exp
+$cliftTyped :: forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Lift (f a), Quote m) =>
+PackFoldableVI f a -> Code m (PackFoldableVI f a)
+liftTyped :: forall (m :: * -> *).
+Quote m =>
+PackFoldableVI f a -> Code m (PackFoldableVI f a)
+Lift)
+  deriving newtype (PackFoldableVI f a -> PackFoldableVI f a -> Bool
+(PackFoldableVI f a -> PackFoldableVI f a -> Bool)
+-> (PackFoldableVI f a -> PackFoldableVI f a -> Bool)
+-> Eq (PackFoldableVI f a)
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+forall k (f :: k -> *) (a :: k).
+Eq (f a) =>
+PackFoldableVI f a -> PackFoldableVI f a -> Bool
+$c== :: forall k (f :: k -> *) (a :: k).
+Eq (f a) =>
+PackFoldableVI f a -> PackFoldableVI f a -> Bool
+== :: PackFoldableVI f a -> PackFoldableVI f a -> Bool
+$c/= :: forall k (f :: k -> *) (a :: k).
+Eq (f a) =>
+PackFoldableVI f a -> PackFoldableVI f a -> Bool
+/= :: PackFoldableVI f a -> PackFoldableVI f a -> Bool
+Eq, Eq (PackFoldableVI f a)
+Eq (PackFoldableVI f a) =>
+(PackFoldableVI f a -> PackFoldableVI f a -> Ordering)
+-> (PackFoldableVI f a -> PackFoldableVI f a -> Bool)
+-> (PackFoldableVI f a -> PackFoldableVI f a -> Bool)
+-> (PackFoldableVI f a -> PackFoldableVI f a -> Bool)
+-> (PackFoldableVI f a -> PackFoldableVI f a -> Bool)
+-> (PackFoldableVI f a -> PackFoldableVI f a -> PackFoldableVI f a)
+-> (PackFoldableVI f a -> PackFoldableVI f a -> PackFoldableVI f a)
+-> Ord (PackFoldableVI f a)
+PackFoldableVI f a -> PackFoldableVI f a -> Bool
+PackFoldableVI f a -> PackFoldableVI f a -> Ordering
+PackFoldableVI f a -> PackFoldableVI f a -> PackFoldableVI f a
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+Eq (PackFoldableVI f a)
+forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+PackFoldableVI f a -> PackFoldableVI f a -> Bool
+forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+PackFoldableVI f a -> PackFoldableVI f a -> Ordering
+forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+PackFoldableVI f a -> PackFoldableVI f a -> PackFoldableVI f a
+$ccompare :: forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+PackFoldableVI f a -> PackFoldableVI f a -> Ordering
+compare :: PackFoldableVI f a -> PackFoldableVI f a -> Ordering
+$c< :: forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+PackFoldableVI f a -> PackFoldableVI f a -> Bool
+< :: PackFoldableVI f a -> PackFoldableVI f a -> Bool
+$c<= :: forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+PackFoldableVI f a -> PackFoldableVI f a -> Bool
+<= :: PackFoldableVI f a -> PackFoldableVI f a -> Bool
+$c> :: forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+PackFoldableVI f a -> PackFoldableVI f a -> Bool
+> :: PackFoldableVI f a -> PackFoldableVI f a -> Bool
+$c>= :: forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+PackFoldableVI f a -> PackFoldableVI f a -> Bool
+>= :: PackFoldableVI f a -> PackFoldableVI f a -> Bool
+$cmax :: forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+PackFoldableVI f a -> PackFoldableVI f a -> PackFoldableVI f a
+max :: PackFoldableVI f a -> PackFoldableVI f a -> PackFoldableVI f a
+$cmin :: forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+PackFoldableVI f a -> PackFoldableVI f a -> PackFoldableVI f a
+min :: PackFoldableVI f a -> PackFoldableVI f a -> PackFoldableVI f a
+Ord, Int -> PackFoldableVI f a -> ShowS
+[PackFoldableVI f a] -> ShowS
+PackFoldableVI f a -> String
+(Int -> PackFoldableVI f a -> ShowS)
+-> (PackFoldableVI f a -> String)
+-> ([PackFoldableVI f a] -> ShowS)
+-> Show (PackFoldableVI f a)
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+forall k (f :: k -> *) (a :: k).
+Show (f a) =>
+Int -> PackFoldableVI f a -> ShowS
+forall k (f :: k -> *) (a :: k).
+Show (f a) =>
+[PackFoldableVI f a] -> ShowS
+forall k (f :: k -> *) (a :: k).
+Show (f a) =>
+PackFoldableVI f a -> String
+$cshowsPrec :: forall k (f :: k -> *) (a :: k).
+Show (f a) =>
+Int -> PackFoldableVI f a -> ShowS
+showsPrec :: Int -> PackFoldableVI f a -> ShowS
+$cshow :: forall k (f :: k -> *) (a :: k).
+Show (f a) =>
+PackFoldableVI f a -> String
+show :: PackFoldableVI f a -> String
+$cshowList :: forall k (f :: k -> *) (a :: k).
+Show (f a) =>
+[PackFoldableVI f a] -> ShowS
+showList :: [PackFoldableVI f a] -> ShowS
+Show, ReadPrec [PackFoldableVI f a]
+ReadPrec (PackFoldableVI f a)
+Int -> ReadS (PackFoldableVI f a)
+ReadS [PackFoldableVI f a]
+(Int -> ReadS (PackFoldableVI f a))
+-> ReadS [PackFoldableVI f a]
+-> ReadPrec (PackFoldableVI f a)
+-> ReadPrec [PackFoldableVI f a]
+-> Read (PackFoldableVI f a)
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+forall k (f :: k -> *) (a :: k).
+Read (f a) =>
+ReadPrec [PackFoldableVI f a]
+forall k (f :: k -> *) (a :: k).
+Read (f a) =>
+ReadPrec (PackFoldableVI f a)
+forall k (f :: k -> *) (a :: k).
+Read (f a) =>
+Int -> ReadS (PackFoldableVI f a)
+forall k (f :: k -> *) (a :: k).
+Read (f a) =>
+ReadS [PackFoldableVI f a]
+$creadsPrec :: forall k (f :: k -> *) (a :: k).
+Read (f a) =>
+Int -> ReadS (PackFoldableVI f a)
+readsPrec :: Int -> ReadS (PackFoldableVI f a)
+$creadList :: forall k (f :: k -> *) (a :: k).
+Read (f a) =>
+ReadS [PackFoldableVI f a]
+readList :: ReadS [PackFoldableVI f a]
+$creadPrec :: forall k (f :: k -> *) (a :: k).
+Read (f a) =>
+ReadPrec (PackFoldableVI f a)
+readPrec :: ReadPrec (PackFoldableVI f a)
+$creadListPrec :: forall k (f :: k -> *) (a :: k).
+Read (f a) =>
+ReadPrec [PackFoldableVI f a]
+readListPrec :: ReadPrec [PackFoldableVI f a]
+Read, Eq (PackFoldableVI f a)
+Eq (PackFoldableVI f a) =>
+(Int -> PackFoldableVI f a -> Int)
+-> (PackFoldableVI f a -> Int) -> Hashable (PackFoldableVI f a)
+Int -> PackFoldableVI f a -> Int
+PackFoldableVI f a -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+forall k (f :: k -> *) (a :: k).
+Hashable (f a) =>
+Eq (PackFoldableVI f a)
+forall k (f :: k -> *) (a :: k).
+Hashable (f a) =>
+Int -> PackFoldableVI f a -> Int
+forall k (f :: k -> *) (a :: k).
+Hashable (f a) =>
+PackFoldableVI f a -> Int
+$chashWithSalt :: forall k (f :: k -> *) (a :: k).
+Hashable (f a) =>
+Int -> PackFoldableVI f a -> Int
+hashWithSalt :: Int -> PackFoldableVI f a -> Int
+$chash :: forall k (f :: k -> *) (a :: k).
+Hashable (f a) =>
+PackFoldableVI f a -> Int
+hash :: PackFoldableVI f a -> Int
+Hashable, PackFoldableVI f a -> ()
+(PackFoldableVI f a -> ()) -> NFData (PackFoldableVI f a)
+forall a. (a -> ()) -> NFData a
+forall k (f :: k -> *) (a :: k).
+NFData (f a) =>
+PackFoldableVI f a -> ()
+$crnf :: forall k (f :: k -> *) (a :: k).
+NFData (f a) =>
+PackFoldableVI f a -> ()
+rnf :: PackFoldableVI f a -> ()
+NFData, (forall a b. (a -> b) -> PackFoldableVI f a -> PackFoldableVI f b)
+-> (forall a b. a -> PackFoldableVI f b -> PackFoldableVI f a)
+-> Functor (PackFoldableVI f)
+forall a b. a -> PackFoldableVI f b -> PackFoldableVI f a
+forall a b. (a -> b) -> PackFoldableVI f a -> PackFoldableVI f b
+forall (f :: * -> *) a b.
+Functor f =>
+a -> PackFoldableVI f b -> PackFoldableVI f a
+forall (f :: * -> *) a b.
+Functor f =>
+(a -> b) -> PackFoldableVI f a -> PackFoldableVI f b
+forall (f :: * -> *).
+(forall a b. (a -> b) -> f a -> f b)
+-> (forall a b. a -> f b -> f a) -> Functor f
+$cfmap :: forall (f :: * -> *) a b.
+Functor f =>
+(a -> b) -> PackFoldableVI f a -> PackFoldableVI f b
+fmap :: forall a b. (a -> b) -> PackFoldableVI f a -> PackFoldableVI f b
+$c<$ :: forall (f :: * -> *) a b.
+Functor f =>
+a -> PackFoldableVI f b -> PackFoldableVI f a
+<$ :: forall a b. a -> PackFoldableVI f b -> PackFoldableVI f a
+Functor)
+  deriving newtype ((forall a. Eq a => Eq (PackFoldableVI f a)) =>
+(forall a b.
+ (a -> b -> Bool)
+ -> PackFoldableVI f a -> PackFoldableVI f b -> Bool)
+-> Eq1 (PackFoldableVI f)
+forall a. Eq a => Eq (PackFoldableVI f a)
+forall a b.
+(a -> b -> Bool)
+-> PackFoldableVI f a -> PackFoldableVI f b -> Bool
+forall (f :: * -> *) a. (Eq1 f, Eq a) => Eq (PackFoldableVI f a)
+forall (f :: * -> *) a b.
+Eq1 f =>
+(a -> b -> Bool)
+-> PackFoldableVI f a -> PackFoldableVI f b -> Bool
+forall (f :: * -> *).
+(forall a. Eq a => Eq (f a)) =>
+(forall a b. (a -> b -> Bool) -> f a -> f b -> Bool) -> Eq1 f
+$cliftEq :: forall (f :: * -> *) a b.
+Eq1 f =>
+(a -> b -> Bool)
+-> PackFoldableVI f a -> PackFoldableVI f b -> Bool
+liftEq :: forall a b.
+(a -> b -> Bool)
+-> PackFoldableVI f a -> PackFoldableVI f b -> Bool
+Eq1, Eq1 (PackFoldableVI f)
+(Eq1 (PackFoldableVI f),
+ forall a. Ord a => Ord (PackFoldableVI f a)) =>
+(forall a b.
+ (a -> b -> Ordering)
+ -> PackFoldableVI f a -> PackFoldableVI f b -> Ordering)
+-> Ord1 (PackFoldableVI f)
+forall a. Ord a => Ord (PackFoldableVI f a)
+forall a b.
+(a -> b -> Ordering)
+-> PackFoldableVI f a -> PackFoldableVI f b -> Ordering
+forall (f :: * -> *). Ord1 f => Eq1 (PackFoldableVI f)
+forall (f :: * -> *) a. (Ord1 f, Ord a) => Ord (PackFoldableVI f a)
+forall (f :: * -> *) a b.
+Ord1 f =>
+(a -> b -> Ordering)
+-> PackFoldableVI f a -> PackFoldableVI f b -> Ordering
+forall (f :: * -> *).
+(Eq1 f, forall a. Ord a => Ord (f a)) =>
+(forall a b. (a -> b -> Ordering) -> f a -> f b -> Ordering)
+-> Ord1 f
+$cliftCompare :: forall (f :: * -> *) a b.
+Ord1 f =>
+(a -> b -> Ordering)
+-> PackFoldableVI f a -> PackFoldableVI f b -> Ordering
+liftCompare :: forall a b.
+(a -> b -> Ordering)
+-> PackFoldableVI f a -> PackFoldableVI f b -> Ordering
+Ord1, (forall a. Show a => Show (PackFoldableVI f a)) =>
+(forall a.
+ (Int -> a -> ShowS)
+ -> ([a] -> ShowS) -> Int -> PackFoldableVI f a -> ShowS)
+-> (forall a.
+    (Int -> a -> ShowS)
+    -> ([a] -> ShowS) -> [PackFoldableVI f a] -> ShowS)
+-> Show1 (PackFoldableVI f)
+forall a. Show a => Show (PackFoldableVI f a)
+forall a.
+(Int -> a -> ShowS)
+-> ([a] -> ShowS) -> Int -> PackFoldableVI f a -> ShowS
+forall a.
+(Int -> a -> ShowS)
+-> ([a] -> ShowS) -> [PackFoldableVI f a] -> ShowS
+forall (f :: * -> *) a.
+(Show1 f, Show a) =>
+Show (PackFoldableVI f a)
+forall (f :: * -> *) a.
+Show1 f =>
+(Int -> a -> ShowS)
+-> ([a] -> ShowS) -> Int -> PackFoldableVI f a -> ShowS
+forall (f :: * -> *) a.
+Show1 f =>
+(Int -> a -> ShowS)
+-> ([a] -> ShowS) -> [PackFoldableVI f a] -> ShowS
+forall (f :: * -> *).
+(forall a. Show a => Show (f a)) =>
+(forall a.
+ (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> f a -> ShowS)
+-> (forall a.
+    (Int -> a -> ShowS) -> ([a] -> ShowS) -> [f a] -> ShowS)
+-> Show1 f
+$cliftShowsPrec :: forall (f :: * -> *) a.
+Show1 f =>
+(Int -> a -> ShowS)
+-> ([a] -> ShowS) -> Int -> PackFoldableVI f a -> ShowS
+liftShowsPrec :: forall a.
+(Int -> a -> ShowS)
+-> ([a] -> ShowS) -> Int -> PackFoldableVI f a -> ShowS
+$cliftShowList :: forall (f :: * -> *) a.
+Show1 f =>
+(Int -> a -> ShowS)
+-> ([a] -> ShowS) -> [PackFoldableVI f a] -> ShowS
+liftShowList :: forall a.
+(Int -> a -> ShowS)
+-> ([a] -> ShowS) -> [PackFoldableVI f a] -> ShowS
+Show1, (forall a. Read a => Read (PackFoldableVI f a)) =>
+(forall a.
+ (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (PackFoldableVI f a))
+-> (forall a.
+    (Int -> ReadS a) -> ReadS [a] -> ReadS [PackFoldableVI f a])
+-> (forall a.
+    ReadPrec a -> ReadPrec [a] -> ReadPrec (PackFoldableVI f a))
+-> (forall a.
+    ReadPrec a -> ReadPrec [a] -> ReadPrec [PackFoldableVI f a])
+-> Read1 (PackFoldableVI f)
+forall a. Read a => Read (PackFoldableVI f a)
+forall a.
+ReadPrec a -> ReadPrec [a] -> ReadPrec [PackFoldableVI f a]
+forall a.
+ReadPrec a -> ReadPrec [a] -> ReadPrec (PackFoldableVI f a)
+forall a.
+(Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (PackFoldableVI f a)
+forall a.
+(Int -> ReadS a) -> ReadS [a] -> ReadS [PackFoldableVI f a]
+forall (f :: * -> *) a.
+(Read1 f, Read a) =>
+Read (PackFoldableVI f a)
+forall (f :: * -> *) a.
+Read1 f =>
+ReadPrec a -> ReadPrec [a] -> ReadPrec [PackFoldableVI f a]
+forall (f :: * -> *) a.
+Read1 f =>
+ReadPrec a -> ReadPrec [a] -> ReadPrec (PackFoldableVI f a)
+forall (f :: * -> *) a.
+Read1 f =>
+(Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (PackFoldableVI f a)
+forall (f :: * -> *) a.
+Read1 f =>
+(Int -> ReadS a) -> ReadS [a] -> ReadS [PackFoldableVI f a]
+forall (f :: * -> *).
+(forall a. Read a => Read (f a)) =>
+(forall a. (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (f a))
+-> (forall a. (Int -> ReadS a) -> ReadS [a] -> ReadS [f a])
+-> (forall a. ReadPrec a -> ReadPrec [a] -> ReadPrec (f a))
+-> (forall a. ReadPrec a -> ReadPrec [a] -> ReadPrec [f a])
+-> Read1 f
+$cliftReadsPrec :: forall (f :: * -> *) a.
+Read1 f =>
+(Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (PackFoldableVI f a)
+liftReadsPrec :: forall a.
+(Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (PackFoldableVI f a)
+$cliftReadList :: forall (f :: * -> *) a.
+Read1 f =>
+(Int -> ReadS a) -> ReadS [a] -> ReadS [PackFoldableVI f a]
+liftReadList :: forall a.
+(Int -> ReadS a) -> ReadS [a] -> ReadS [PackFoldableVI f a]
+$cliftReadPrec :: forall (f :: * -> *) a.
+Read1 f =>
+ReadPrec a -> ReadPrec [a] -> ReadPrec (PackFoldableVI f a)
+liftReadPrec :: forall a.
+ReadPrec a -> ReadPrec [a] -> ReadPrec (PackFoldableVI f a)
+$cliftReadListPrec :: forall (f :: * -> *) a.
+Read1 f =>
+ReadPrec a -> ReadPrec [a] -> ReadPrec [PackFoldableVI f a]
+liftReadListPrec :: forall a.
+ReadPrec a -> ReadPrec [a] -> ReadPrec [PackFoldableVI f a]
+Read1, NonEmpty (PackFoldableVI f a) -> PackFoldableVI f a
+PackFoldableVI f a -> PackFoldableVI f a -> PackFoldableVI f a
+(PackFoldableVI f a -> PackFoldableVI f a -> PackFoldableVI f a)
+-> (NonEmpty (PackFoldableVI f a) -> PackFoldableVI f a)
+-> (forall b.
+    Integral b =>
+    b -> PackFoldableVI f a -> PackFoldableVI f a)
+-> Semigroup (PackFoldableVI f a)
+forall b.
+Integral b =>
+b -> PackFoldableVI f a -> PackFoldableVI f a
+forall a.
+(a -> a -> a)
+-> (NonEmpty a -> a)
+-> (forall b. Integral b => b -> a -> a)
+-> Semigroup a
+forall k (f :: k -> *) (a :: k).
+Semigroup (f a) =>
+NonEmpty (PackFoldableVI f a) -> PackFoldableVI f a
+forall k (f :: k -> *) (a :: k).
+Semigroup (f a) =>
+PackFoldableVI f a -> PackFoldableVI f a -> PackFoldableVI f a
+forall k (f :: k -> *) (a :: k) b.
+(Semigroup (f a), Integral b) =>
+b -> PackFoldableVI f a -> PackFoldableVI f a
+$c<> :: forall k (f :: k -> *) (a :: k).
+Semigroup (f a) =>
+PackFoldableVI f a -> PackFoldableVI f a -> PackFoldableVI f a
+<> :: PackFoldableVI f a -> PackFoldableVI f a -> PackFoldableVI f a
+$csconcat :: forall k (f :: k -> *) (a :: k).
+Semigroup (f a) =>
+NonEmpty (PackFoldableVI f a) -> PackFoldableVI f a
+sconcat :: NonEmpty (PackFoldableVI f a) -> PackFoldableVI f a
+$cstimes :: forall k (f :: k -> *) (a :: k) b.
+(Semigroup (f a), Integral b) =>
+b -> PackFoldableVI f a -> PackFoldableVI f a
+stimes :: forall b.
+Integral b =>
+b -> PackFoldableVI f a -> PackFoldableVI f a
+Semigroup, Semigroup (PackFoldableVI f a)
+PackFoldableVI f a
+Semigroup (PackFoldableVI f a) =>
+PackFoldableVI f a
+-> (PackFoldableVI f a -> PackFoldableVI f a -> PackFoldableVI f a)
+-> ([PackFoldableVI f a] -> PackFoldableVI f a)
+-> Monoid (PackFoldableVI f a)
+[PackFoldableVI f a] -> PackFoldableVI f a
+PackFoldableVI f a -> PackFoldableVI f a -> PackFoldableVI f a
+forall a.
+Semigroup a =>
+a -> (a -> a -> a) -> ([a] -> a) -> Monoid a
+forall k (f :: k -> *) (a :: k).
+Monoid (f a) =>
+Semigroup (PackFoldableVI f a)
+forall k (f :: k -> *) (a :: k). Monoid (f a) => PackFoldableVI f a
+forall k (f :: k -> *) (a :: k).
+Monoid (f a) =>
+[PackFoldableVI f a] -> PackFoldableVI f a
+forall k (f :: k -> *) (a :: k).
+Monoid (f a) =>
+PackFoldableVI f a -> PackFoldableVI f a -> PackFoldableVI f a
+$cmempty :: forall k (f :: k -> *) (a :: k). Monoid (f a) => PackFoldableVI f a
+mempty :: PackFoldableVI f a
+$cmappend :: forall k (f :: k -> *) (a :: k).
+Monoid (f a) =>
+PackFoldableVI f a -> PackFoldableVI f a -> PackFoldableVI f a
+mappend :: PackFoldableVI f a -> PackFoldableVI f a -> PackFoldableVI f a
+$cmconcat :: forall k (f :: k -> *) (a :: k).
+Monoid (f a) =>
+[PackFoldableVI f a] -> PackFoldableVI f a
+mconcat :: [PackFoldableVI f a] -> PackFoldableVI f a
+Monoid)
+  deriving newtype ((forall m. Monoid m => PackFoldableVI f m -> m)
+-> (forall m a. Monoid m => (a -> m) -> PackFoldableVI f a -> m)
+-> (forall m a. Monoid m => (a -> m) -> PackFoldableVI f a -> m)
+-> (forall a b. (a -> b -> b) -> b -> PackFoldableVI f a -> b)
+-> (forall a b. (a -> b -> b) -> b -> PackFoldableVI f a -> b)
+-> (forall b a. (b -> a -> b) -> b -> PackFoldableVI f a -> b)
+-> (forall b a. (b -> a -> b) -> b -> PackFoldableVI f a -> b)
+-> (forall a. (a -> a -> a) -> PackFoldableVI f a -> a)
+-> (forall a. (a -> a -> a) -> PackFoldableVI f a -> a)
+-> (forall a. PackFoldableVI f a -> [a])
+-> (forall a. PackFoldableVI f a -> Bool)
+-> (forall a. PackFoldableVI f a -> Int)
+-> (forall a. Eq a => a -> PackFoldableVI f a -> Bool)
+-> (forall a. Ord a => PackFoldableVI f a -> a)
+-> (forall a. Ord a => PackFoldableVI f a -> a)
+-> (forall a. Num a => PackFoldableVI f a -> a)
+-> (forall a. Num a => PackFoldableVI f a -> a)
+-> Foldable (PackFoldableVI f)
+forall a. Eq a => a -> PackFoldableVI f a -> Bool
+forall a. Num a => PackFoldableVI f a -> a
+forall a. Ord a => PackFoldableVI f a -> a
+forall m. Monoid m => PackFoldableVI f m -> m
+forall a. PackFoldableVI f a -> Bool
+forall a. PackFoldableVI f a -> Int
+forall a. PackFoldableVI f a -> [a]
+forall a. (a -> a -> a) -> PackFoldableVI f a -> a
+forall m a. Monoid m => (a -> m) -> PackFoldableVI f a -> m
+forall b a. (b -> a -> b) -> b -> PackFoldableVI f a -> b
+forall a b. (a -> b -> b) -> b -> PackFoldableVI f a -> b
+forall (f :: * -> *) a.
+(Foldable f, Eq a) =>
+a -> PackFoldableVI f a -> Bool
+forall (f :: * -> *) a.
+(Foldable f, Num a) =>
+PackFoldableVI f a -> a
+forall (f :: * -> *) a.
+(Foldable f, Ord a) =>
+PackFoldableVI f a -> a
+forall (f :: * -> *) m.
+(Foldable f, Monoid m) =>
+PackFoldableVI f m -> m
+forall (f :: * -> *) a. Foldable f => PackFoldableVI f a -> Bool
+forall (f :: * -> *) a. Foldable f => PackFoldableVI f a -> Int
+forall (f :: * -> *) a. Foldable f => PackFoldableVI f a -> [a]
+forall (f :: * -> *) a.
+Foldable f =>
+(a -> a -> a) -> PackFoldableVI f a -> a
+forall (f :: * -> *) m a.
+(Foldable f, Monoid m) =>
+(a -> m) -> PackFoldableVI f a -> m
+forall (f :: * -> *) b a.
+Foldable f =>
+(b -> a -> b) -> b -> PackFoldableVI f a -> b
+forall (f :: * -> *) a b.
+Foldable f =>
+(a -> b -> b) -> b -> PackFoldableVI f a -> b
+forall (t :: * -> *).
+(forall m. Monoid m => t m -> m)
+-> (forall m a. Monoid m => (a -> m) -> t a -> m)
+-> (forall m a. Monoid m => (a -> m) -> t a -> m)
+-> (forall a b. (a -> b -> b) -> b -> t a -> b)
+-> (forall a b. (a -> b -> b) -> b -> t a -> b)
+-> (forall b a. (b -> a -> b) -> b -> t a -> b)
+-> (forall b a. (b -> a -> b) -> b -> t a -> b)
+-> (forall a. (a -> a -> a) -> t a -> a)
+-> (forall a. (a -> a -> a) -> t a -> a)
+-> (forall a. t a -> [a])
+-> (forall a. t a -> Bool)
+-> (forall a. t a -> Int)
+-> (forall a. Eq a => a -> t a -> Bool)
+-> (forall a. Ord a => t a -> a)
+-> (forall a. Ord a => t a -> a)
+-> (forall a. Num a => t a -> a)
+-> (forall a. Num a => t a -> a)
+-> Foldable t
+$cfold :: forall (f :: * -> *) m.
+(Foldable f, Monoid m) =>
+PackFoldableVI f m -> m
+fold :: forall m. Monoid m => PackFoldableVI f m -> m
+$cfoldMap :: forall (f :: * -> *) m a.
+(Foldable f, Monoid m) =>
+(a -> m) -> PackFoldableVI f a -> m
+foldMap :: forall m a. Monoid m => (a -> m) -> PackFoldableVI f a -> m
+$cfoldMap' :: forall (f :: * -> *) m a.
+(Foldable f, Monoid m) =>
+(a -> m) -> PackFoldableVI f a -> m
+foldMap' :: forall m a. Monoid m => (a -> m) -> PackFoldableVI f a -> m
+$cfoldr :: forall (f :: * -> *) a b.
+Foldable f =>
+(a -> b -> b) -> b -> PackFoldableVI f a -> b
+foldr :: forall a b. (a -> b -> b) -> b -> PackFoldableVI f a -> b
+$cfoldr' :: forall (f :: * -> *) a b.
+Foldable f =>
+(a -> b -> b) -> b -> PackFoldableVI f a -> b
+foldr' :: forall a b. (a -> b -> b) -> b -> PackFoldableVI f a -> b
+$cfoldl :: forall (f :: * -> *) b a.
+Foldable f =>
+(b -> a -> b) -> b -> PackFoldableVI f a -> b
+foldl :: forall b a. (b -> a -> b) -> b -> PackFoldableVI f a -> b
+$cfoldl' :: forall (f :: * -> *) b a.
+Foldable f =>
+(b -> a -> b) -> b -> PackFoldableVI f a -> b
+foldl' :: forall b a. (b -> a -> b) -> b -> PackFoldableVI f a -> b
+$cfoldr1 :: forall (f :: * -> *) a.
+Foldable f =>
+(a -> a -> a) -> PackFoldableVI f a -> a
+foldr1 :: forall a. (a -> a -> a) -> PackFoldableVI f a -> a
+$cfoldl1 :: forall (f :: * -> *) a.
+Foldable f =>
+(a -> a -> a) -> PackFoldableVI f a -> a
+foldl1 :: forall a. (a -> a -> a) -> PackFoldableVI f a -> a
+$ctoList :: forall (f :: * -> *) a. Foldable f => PackFoldableVI f a -> [a]
+toList :: forall a. PackFoldableVI f a -> [a]
+$cnull :: forall (f :: * -> *) a. Foldable f => PackFoldableVI f a -> Bool
+null :: forall a. PackFoldableVI f a -> Bool
+$clength :: forall (f :: * -> *) a. Foldable f => PackFoldableVI f a -> Int
+length :: forall a. PackFoldableVI f a -> Int
+$celem :: forall (f :: * -> *) a.
+(Foldable f, Eq a) =>
+a -> PackFoldableVI f a -> Bool
+elem :: forall a. Eq a => a -> PackFoldableVI f a -> Bool
+$cmaximum :: forall (f :: * -> *) a.
+(Foldable f, Ord a) =>
+PackFoldableVI f a -> a
+maximum :: forall a. Ord a => PackFoldableVI f a -> a
+$cminimum :: forall (f :: * -> *) a.
+(Foldable f, Ord a) =>
+PackFoldableVI f a -> a
+minimum :: forall a. Ord a => PackFoldableVI f a -> a
+$csum :: forall (f :: * -> *) a.
+(Foldable f, Num a) =>
+PackFoldableVI f a -> a
+sum :: forall a. Num a => PackFoldableVI f a -> a
+$cproduct :: forall (f :: * -> *) a.
+(Foldable f, Num a) =>
+PackFoldableVI f a -> a
+product :: forall a. Num a => PackFoldableVI f a -> a
+Foldable, Foldable (PackFoldableVI f)
+Foldable (PackFoldableVI f) =>
+(forall m. Semigroup m => PackFoldableVI f m -> m)
+-> (forall m a. Semigroup m => (a -> m) -> PackFoldableVI f a -> m)
+-> (forall m a. Semigroup m => (a -> m) -> PackFoldableVI f a -> m)
+-> (forall a. PackFoldableVI f a -> NonEmpty a)
+-> (forall a. Ord a => PackFoldableVI f a -> a)
+-> (forall a. Ord a => PackFoldableVI f a -> a)
+-> (forall a. PackFoldableVI f a -> a)
+-> (forall a. PackFoldableVI f a -> a)
+-> (forall a b.
+    (a -> b) -> (a -> b -> b) -> PackFoldableVI f a -> b)
+-> (forall a b.
+    (a -> b) -> (b -> a -> b) -> PackFoldableVI f a -> b)
+-> (forall a b.
+    (a -> b) -> (b -> a -> b) -> PackFoldableVI f a -> b)
+-> (forall a b.
+    (a -> b) -> (a -> b -> b) -> PackFoldableVI f a -> b)
+-> Foldable1 (PackFoldableVI f)
+forall a. Ord a => PackFoldableVI f a -> a
+forall m. Semigroup m => PackFoldableVI f m -> m
+forall a. PackFoldableVI f a -> a
+forall a. PackFoldableVI f a -> NonEmpty a
+forall m a. Semigroup m => (a -> m) -> PackFoldableVI f a -> m
+forall a b. (a -> b) -> (a -> b -> b) -> PackFoldableVI f a -> b
+forall a b. (a -> b) -> (b -> a -> b) -> PackFoldableVI f a -> b
+forall (t :: * -> *).
+Foldable t =>
+(forall m. Semigroup m => t m -> m)
+-> (forall m a. Semigroup m => (a -> m) -> t a -> m)
+-> (forall m a. Semigroup m => (a -> m) -> t a -> m)
+-> (forall a. t a -> NonEmpty a)
+-> (forall a. Ord a => t a -> a)
+-> (forall a. Ord a => t a -> a)
+-> (forall a. t a -> a)
+-> (forall a. t a -> a)
+-> (forall a b. (a -> b) -> (a -> b -> b) -> t a -> b)
+-> (forall a b. (a -> b) -> (b -> a -> b) -> t a -> b)
+-> (forall a b. (a -> b) -> (b -> a -> b) -> t a -> b)
+-> (forall a b. (a -> b) -> (a -> b -> b) -> t a -> b)
+-> Foldable1 t
+forall (f :: * -> *). Foldable1 f => Foldable (PackFoldableVI f)
+forall (f :: * -> *) a.
+(Foldable1 f, Ord a) =>
+PackFoldableVI f a -> a
+forall (f :: * -> *) m.
+(Foldable1 f, Semigroup m) =>
+PackFoldableVI f m -> m
+forall (f :: * -> *) a. Foldable1 f => PackFoldableVI f a -> a
+forall (f :: * -> *) a.
+Foldable1 f =>
+PackFoldableVI f a -> NonEmpty a
+forall (f :: * -> *) m a.
+(Foldable1 f, Semigroup m) =>
+(a -> m) -> PackFoldableVI f a -> m
+forall (f :: * -> *) a b.
+Foldable1 f =>
+(a -> b) -> (a -> b -> b) -> PackFoldableVI f a -> b
+forall (f :: * -> *) a b.
+Foldable1 f =>
+(a -> b) -> (b -> a -> b) -> PackFoldableVI f a -> b
+$cfold1 :: forall (f :: * -> *) m.
+(Foldable1 f, Semigroup m) =>
+PackFoldableVI f m -> m
+fold1 :: forall m. Semigroup m => PackFoldableVI f m -> m
+$cfoldMap1 :: forall (f :: * -> *) m a.
+(Foldable1 f, Semigroup m) =>
+(a -> m) -> PackFoldableVI f a -> m
+foldMap1 :: forall m a. Semigroup m => (a -> m) -> PackFoldableVI f a -> m
+$cfoldMap1' :: forall (f :: * -> *) m a.
+(Foldable1 f, Semigroup m) =>
+(a -> m) -> PackFoldableVI f a -> m
+foldMap1' :: forall m a. Semigroup m => (a -> m) -> PackFoldableVI f a -> m
+$ctoNonEmpty :: forall (f :: * -> *) a.
+Foldable1 f =>
+PackFoldableVI f a -> NonEmpty a
+toNonEmpty :: forall a. PackFoldableVI f a -> NonEmpty a
+$cmaximum :: forall (f :: * -> *) a.
+(Foldable1 f, Ord a) =>
+PackFoldableVI f a -> a
+maximum :: forall a. Ord a => PackFoldableVI f a -> a
+$cminimum :: forall (f :: * -> *) a.
+(Foldable1 f, Ord a) =>
+PackFoldableVI f a -> a
+minimum :: forall a. Ord a => PackFoldableVI f a -> a
+$chead :: forall (f :: * -> *) a. Foldable1 f => PackFoldableVI f a -> a
+head :: forall a. PackFoldableVI f a -> a
+$clast :: forall (f :: * -> *) a. Foldable1 f => PackFoldableVI f a -> a
+last :: forall a. PackFoldableVI f a -> a
+$cfoldrMap1 :: forall (f :: * -> *) a b.
+Foldable1 f =>
+(a -> b) -> (a -> b -> b) -> PackFoldableVI f a -> b
+foldrMap1 :: forall a b. (a -> b) -> (a -> b -> b) -> PackFoldableVI f a -> b
+$cfoldlMap1' :: forall (f :: * -> *) a b.
+Foldable1 f =>
+(a -> b) -> (b -> a -> b) -> PackFoldableVI f a -> b
+foldlMap1' :: forall a b. (a -> b) -> (b -> a -> b) -> PackFoldableVI f a -> b
+$cfoldlMap1 :: forall (f :: * -> *) a b.
+Foldable1 f =>
+(a -> b) -> (b -> a -> b) -> PackFoldableVI f a -> b
+foldlMap1 :: forall a b. (a -> b) -> (b -> a -> b) -> PackFoldableVI f a -> b
+$cfoldrMap1' :: forall (f :: * -> *) a b.
+Foldable1 f =>
+(a -> b) -> (a -> b -> b) -> PackFoldableVI f a -> b
+foldrMap1' :: forall a b. (a -> b) -> (a -> b -> b) -> PackFoldableVI f a -> b
+Foldable1, Functor (PackFoldableVI f)
+Functor (PackFoldableVI f) =>
+(forall a. a -> PackFoldableVI f a)
+-> (forall a b.
+    PackFoldableVI f (a -> b)
+    -> PackFoldableVI f a -> PackFoldableVI f b)
+-> (forall a b c.
+    (a -> b -> c)
+    -> PackFoldableVI f a -> PackFoldableVI f b -> PackFoldableVI f c)
+-> (forall a b.
+    PackFoldableVI f a -> PackFoldableVI f b -> PackFoldableVI f b)
+-> (forall a b.
+    PackFoldableVI f a -> PackFoldableVI f b -> PackFoldableVI f a)
+-> Applicative (PackFoldableVI f)
+forall a. a -> PackFoldableVI f a
+forall a b.
+PackFoldableVI f a -> PackFoldableVI f b -> PackFoldableVI f a
+forall a b.
+PackFoldableVI f a -> PackFoldableVI f b -> PackFoldableVI f b
+forall a b.
+PackFoldableVI f (a -> b)
+-> PackFoldableVI f a -> PackFoldableVI f b
+forall a b c.
+(a -> b -> c)
+-> PackFoldableVI f a -> PackFoldableVI f b -> PackFoldableVI f c
+forall (f :: * -> *).
+Functor f =>
+(forall a. a -> f a)
+-> (forall a b. f (a -> b) -> f a -> f b)
+-> (forall a b c. (a -> b -> c) -> f a -> f b -> f c)
+-> (forall a b. f a -> f b -> f b)
+-> (forall a b. f a -> f b -> f a)
+-> Applicative f
+forall (f :: * -> *). Applicative f => Functor (PackFoldableVI f)
+forall (f :: * -> *) a. Applicative f => a -> PackFoldableVI f a
+forall (f :: * -> *) a b.
+Applicative f =>
+PackFoldableVI f a -> PackFoldableVI f b -> PackFoldableVI f a
+forall (f :: * -> *) a b.
+Applicative f =>
+PackFoldableVI f a -> PackFoldableVI f b -> PackFoldableVI f b
+forall (f :: * -> *) a b.
+Applicative f =>
+PackFoldableVI f (a -> b)
+-> PackFoldableVI f a -> PackFoldableVI f b
+forall (f :: * -> *) a b c.
+Applicative f =>
+(a -> b -> c)
+-> PackFoldableVI f a -> PackFoldableVI f b -> PackFoldableVI f c
+$cpure :: forall (f :: * -> *) a. Applicative f => a -> PackFoldableVI f a
+pure :: forall a. a -> PackFoldableVI f a
+$c<*> :: forall (f :: * -> *) a b.
+Applicative f =>
+PackFoldableVI f (a -> b)
+-> PackFoldableVI f a -> PackFoldableVI f b
+<*> :: forall a b.
+PackFoldableVI f (a -> b)
+-> PackFoldableVI f a -> PackFoldableVI f b
+$cliftA2 :: forall (f :: * -> *) a b c.
+Applicative f =>
+(a -> b -> c)
+-> PackFoldableVI f a -> PackFoldableVI f b -> PackFoldableVI f c
+liftA2 :: forall a b c.
+(a -> b -> c)
+-> PackFoldableVI f a -> PackFoldableVI f b -> PackFoldableVI f c
+$c*> :: forall (f :: * -> *) a b.
+Applicative f =>
+PackFoldableVI f a -> PackFoldableVI f b -> PackFoldableVI f b
+*> :: forall a b.
+PackFoldableVI f a -> PackFoldableVI f b -> PackFoldableVI f b
+$c<* :: forall (f :: * -> *) a b.
+Applicative f =>
+PackFoldableVI f a -> PackFoldableVI f b -> PackFoldableVI f a
+<* :: forall a b.
+PackFoldableVI f a -> PackFoldableVI f b -> PackFoldableVI f a
+Applicative, Applicative (PackFoldableVI f)
+Applicative (PackFoldableVI f) =>
+(forall a b.
+ PackFoldableVI f a
+ -> (a -> PackFoldableVI f b) -> PackFoldableVI f b)
+-> (forall a b.
+    PackFoldableVI f a -> PackFoldableVI f b -> PackFoldableVI f b)
+-> (forall a. a -> PackFoldableVI f a)
+-> Monad (PackFoldableVI f)
+forall a. a -> PackFoldableVI f a
+forall a b.
+PackFoldableVI f a -> PackFoldableVI f b -> PackFoldableVI f b
+forall a b.
+PackFoldableVI f a
+-> (a -> PackFoldableVI f b) -> PackFoldableVI f b
+forall (f :: * -> *). Monad f => Applicative (PackFoldableVI f)
+forall (f :: * -> *) a. Monad f => a -> PackFoldableVI f a
+forall (f :: * -> *) a b.
+Monad f =>
+PackFoldableVI f a -> PackFoldableVI f b -> PackFoldableVI f b
+forall (f :: * -> *) a b.
+Monad f =>
+PackFoldableVI f a
+-> (a -> PackFoldableVI f b) -> PackFoldableVI f b
+forall (m :: * -> *).
+Applicative m =>
+(forall a b. m a -> (a -> m b) -> m b)
+-> (forall a b. m a -> m b -> m b)
+-> (forall a. a -> m a)
+-> Monad m
+$c>>= :: forall (f :: * -> *) a b.
+Monad f =>
+PackFoldableVI f a
+-> (a -> PackFoldableVI f b) -> PackFoldableVI f b
+>>= :: forall a b.
+PackFoldableVI f a
+-> (a -> PackFoldableVI f b) -> PackFoldableVI f b
+$c>> :: forall (f :: * -> *) a b.
+Monad f =>
+PackFoldableVI f a -> PackFoldableVI f b -> PackFoldableVI f b
+>> :: forall a b.
+PackFoldableVI f a -> PackFoldableVI f b -> PackFoldableVI f b
+$creturn :: forall (f :: * -> *) a. Monad f => a -> PackFoldableVI f a
+return :: forall a. a -> PackFoldableVI f a
+Monad)
+
+instance (Pack a, Foldable f) => Pack (PackFoldableVI f a) where
+  pack :: PackFoldableVI f a -> Builder
+pack =
+    Int -> Builder
+forall a. Integral a => a -> Builder
+packleb32 (Int -> Builder)
+-> (PackFoldableVI f a -> Int) -> PackFoldableVI f a -> Builder
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. f a -> Int
+forall a. f a -> Int
+forall (t :: * -> *) a. Foldable t => t a -> Int
+length (f a -> Int)
+-> (PackFoldableVI f a -> f a) -> PackFoldableVI f a -> Int
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. PackFoldableVI f a -> f a
+forall {k} (f :: k -> *) (a :: k). PackFoldableVI f a -> f a
+getpackfoldablevi
+      (PackFoldableVI f a -> Builder)
+-> (PackFoldableVI f a -> Builder) -> PackFoldableVI f a -> Builder
+forall a. Semigroup a => a -> a -> a
+<> (a -> Builder) -> f a -> Builder
+forall m a. Monoid m => (a -> m) -> f a -> m
+forall (t :: * -> *) m a.
+(Foldable t, Monoid m) =>
+(a -> m) -> t a -> m
+foldMap' a -> Builder
+forall a. Pack a => a -> Builder
+pack (f a -> Builder)
+-> (PackFoldableVI f a -> f a) -> PackFoldableVI f a -> Builder
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. PackFoldableVI f a -> f a
+forall {k} (f :: k -> *) (a :: k). PackFoldableVI f a -> f a
+getpackfoldablevi
+  {-# INLINEABLE pack #-}
+
+-- | General 'Pack' instance provider for 'Foldable's
+--
+-- no length prefix, strict left fold
+newtype PackFoldable0 f a = PackFoldable0 {forall {k} (f :: k -> *) (a :: k). PackFoldable0 f a -> f a
+getpackfoldable0 :: f a}
+  deriving stock ((forall x. PackFoldable0 f a -> Rep (PackFoldable0 f a) x)
+-> (forall x. Rep (PackFoldable0 f a) x -> PackFoldable0 f a)
+-> Generic (PackFoldable0 f a)
+forall x. Rep (PackFoldable0 f a) x -> PackFoldable0 f a
+forall x. PackFoldable0 f a -> Rep (PackFoldable0 f a) x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+forall k (f :: k -> *) (a :: k) x.
+Rep (PackFoldable0 f a) x -> PackFoldable0 f a
+forall k (f :: k -> *) (a :: k) x.
+PackFoldable0 f a -> Rep (PackFoldable0 f a) x
+$cfrom :: forall k (f :: k -> *) (a :: k) x.
+PackFoldable0 f a -> Rep (PackFoldable0 f a) x
+from :: forall x. PackFoldable0 f a -> Rep (PackFoldable0 f a) x
+$cto :: forall k (f :: k -> *) (a :: k) x.
+Rep (PackFoldable0 f a) x -> PackFoldable0 f a
+to :: forall x. Rep (PackFoldable0 f a) x -> PackFoldable0 f a
+Generic, (forall (a :: k). PackFoldable0 f a -> Rep1 (PackFoldable0 f) a)
+-> (forall (a :: k). Rep1 (PackFoldable0 f) a -> PackFoldable0 f a)
+-> Generic1 (PackFoldable0 f)
+forall (a :: k). Rep1 (PackFoldable0 f) a -> PackFoldable0 f a
+forall (a :: k). PackFoldable0 f a -> Rep1 (PackFoldable0 f) a
+forall k (f :: k -> *).
+(forall (a :: k). f a -> Rep1 f a)
+-> (forall (a :: k). Rep1 f a -> f a) -> Generic1 f
+forall k (f :: k -> *) (a :: k).
+Rep1 (PackFoldable0 f) a -> PackFoldable0 f a
+forall k (f :: k -> *) (a :: k).
+PackFoldable0 f a -> Rep1 (PackFoldable0 f) a
+$cfrom1 :: forall k (f :: k -> *) (a :: k).
+PackFoldable0 f a -> Rep1 (PackFoldable0 f) a
+from1 :: forall (a :: k). PackFoldable0 f a -> Rep1 (PackFoldable0 f) a
+$cto1 :: forall k (f :: k -> *) (a :: k).
+Rep1 (PackFoldable0 f) a -> PackFoldable0 f a
+to1 :: forall (a :: k). Rep1 (PackFoldable0 f) a -> PackFoldable0 f a
+Generic1, Typeable, Typeable (PackFoldable0 f a)
+Typeable (PackFoldable0 f a) =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g)
+ -> PackFoldable0 f a
+ -> c (PackFoldable0 f a))
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c (PackFoldable0 f a))
+-> (PackFoldable0 f a -> Constr)
+-> (PackFoldable0 f a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c (PackFoldable0 f a)))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c (PackFoldable0 f a)))
+-> ((forall b. Data b => b -> b)
+    -> PackFoldable0 f a -> PackFoldable0 f a)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> PackFoldable0 f a -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> PackFoldable0 f a -> r)
+-> (forall u.
+    (forall d. Data d => d -> u) -> PackFoldable0 f a -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> PackFoldable0 f a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d)
+    -> PackFoldable0 f a -> m (PackFoldable0 f a))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d)
+    -> PackFoldable0 f a -> m (PackFoldable0 f a))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d)
+    -> PackFoldable0 f a -> m (PackFoldable0 f a))
+-> Data (PackFoldable0 f a)
+PackFoldable0 f a -> Constr
+PackFoldable0 f a -> DataType
+(forall b. Data b => b -> b)
+-> PackFoldable0 f a -> PackFoldable0 f a
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u.
+Int -> (forall d. Data d => d -> u) -> PackFoldable0 f a -> u
+forall u. (forall d. Data d => d -> u) -> PackFoldable0 f a -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> PackFoldable0 f a -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> PackFoldable0 f a -> r
+forall k (f :: k -> *) (a :: k).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+Typeable (PackFoldable0 f a)
+forall k (f :: k -> *) (a :: k).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+PackFoldable0 f a -> Constr
+forall k (f :: k -> *) (a :: k).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+PackFoldable0 f a -> DataType
+forall k (f :: k -> *) (a :: k).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(forall b. Data b => b -> b)
+-> PackFoldable0 f a -> PackFoldable0 f a
+forall k (f :: k -> *) (a :: k) u.
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+Int -> (forall d. Data d => d -> u) -> PackFoldable0 f a -> u
+forall k (f :: k -> *) (a :: k) u.
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(forall d. Data d => d -> u) -> PackFoldable0 f a -> [u]
+forall k (f :: k -> *) (a :: k) r r'.
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> PackFoldable0 f a -> r
+forall k (f :: k -> *) (a :: k) r r'.
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> PackFoldable0 f a -> r
+forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), Monad m) =>
+(forall d. Data d => d -> m d)
+-> PackFoldable0 f a -> m (PackFoldable0 f a)
+forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), MonadPlus m) =>
+(forall d. Data d => d -> m d)
+-> PackFoldable0 f a -> m (PackFoldable0 f a)
+forall k (f :: k -> *) (a :: k) (c :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (PackFoldable0 f a)
+forall k (f :: k -> *) (a :: k) (c :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g)
+-> PackFoldable0 f a
+-> c (PackFoldable0 f a)
+forall k (f :: k -> *) (a :: k) (t :: * -> *) (c :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (PackFoldable0 f a))
+forall k (f :: k -> *) (a :: k) (t :: * -> * -> *) (c :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (PackFoldable0 f a))
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d)
+-> PackFoldable0 f a -> m (PackFoldable0 f a)
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> PackFoldable0 f a -> m (PackFoldable0 f a)
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (PackFoldable0 f a)
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g)
+-> PackFoldable0 f a
+-> c (PackFoldable0 f a)
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (PackFoldable0 f a))
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (PackFoldable0 f a))
+$cgfoldl :: forall k (f :: k -> *) (a :: k) (c :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g)
+-> PackFoldable0 f a
+-> c (PackFoldable0 f a)
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g)
+-> PackFoldable0 f a
+-> c (PackFoldable0 f a)
+$cgunfold :: forall k (f :: k -> *) (a :: k) (c :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (PackFoldable0 f a)
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (PackFoldable0 f a)
+$ctoConstr :: forall k (f :: k -> *) (a :: k).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+PackFoldable0 f a -> Constr
+toConstr :: PackFoldable0 f a -> Constr
+$cdataTypeOf :: forall k (f :: k -> *) (a :: k).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+PackFoldable0 f a -> DataType
+dataTypeOf :: PackFoldable0 f a -> DataType
+$cdataCast1 :: forall k (f :: k -> *) (a :: k) (t :: * -> *) (c :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (PackFoldable0 f a))
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (PackFoldable0 f a))
+$cdataCast2 :: forall k (f :: k -> *) (a :: k) (t :: * -> * -> *) (c :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (PackFoldable0 f a))
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (PackFoldable0 f a))
+$cgmapT :: forall k (f :: k -> *) (a :: k).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(forall b. Data b => b -> b)
+-> PackFoldable0 f a -> PackFoldable0 f a
+gmapT :: (forall b. Data b => b -> b)
+-> PackFoldable0 f a -> PackFoldable0 f a
+$cgmapQl :: forall k (f :: k -> *) (a :: k) r r'.
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> PackFoldable0 f a -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> PackFoldable0 f a -> r
+$cgmapQr :: forall k (f :: k -> *) (a :: k) r r'.
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> PackFoldable0 f a -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> PackFoldable0 f a -> r
+$cgmapQ :: forall k (f :: k -> *) (a :: k) u.
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(forall d. Data d => d -> u) -> PackFoldable0 f a -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> PackFoldable0 f a -> [u]
+$cgmapQi :: forall k (f :: k -> *) (a :: k) u.
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+Int -> (forall d. Data d => d -> u) -> PackFoldable0 f a -> u
+gmapQi :: forall u.
+Int -> (forall d. Data d => d -> u) -> PackFoldable0 f a -> u
+$cgmapM :: forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), Monad m) =>
+(forall d. Data d => d -> m d)
+-> PackFoldable0 f a -> m (PackFoldable0 f a)
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d)
+-> PackFoldable0 f a -> m (PackFoldable0 f a)
+$cgmapMp :: forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), MonadPlus m) =>
+(forall d. Data d => d -> m d)
+-> PackFoldable0 f a -> m (PackFoldable0 f a)
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> PackFoldable0 f a -> m (PackFoldable0 f a)
+$cgmapMo :: forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), MonadPlus m) =>
+(forall d. Data d => d -> m d)
+-> PackFoldable0 f a -> m (PackFoldable0 f a)
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> PackFoldable0 f a -> m (PackFoldable0 f a)
+Data, (forall (m :: * -> *). Quote m => PackFoldable0 f a -> m Exp)
+-> (forall (m :: * -> *).
+    Quote m =>
+    PackFoldable0 f a -> Code m (PackFoldable0 f a))
+-> Lift (PackFoldable0 f a)
+forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Lift (f a), Quote m) =>
+PackFoldable0 f a -> m Exp
+forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Lift (f a), Quote m) =>
+PackFoldable0 f a -> Code m (PackFoldable0 f a)
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => PackFoldable0 f a -> m Exp
+forall (m :: * -> *).
+Quote m =>
+PackFoldable0 f a -> Code m (PackFoldable0 f a)
+$clift :: forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Lift (f a), Quote m) =>
+PackFoldable0 f a -> m Exp
+lift :: forall (m :: * -> *). Quote m => PackFoldable0 f a -> m Exp
+$cliftTyped :: forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Lift (f a), Quote m) =>
+PackFoldable0 f a -> Code m (PackFoldable0 f a)
+liftTyped :: forall (m :: * -> *).
+Quote m =>
+PackFoldable0 f a -> Code m (PackFoldable0 f a)
+Lift)
+  deriving newtype (PackFoldable0 f a -> PackFoldable0 f a -> Bool
+(PackFoldable0 f a -> PackFoldable0 f a -> Bool)
+-> (PackFoldable0 f a -> PackFoldable0 f a -> Bool)
+-> Eq (PackFoldable0 f a)
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+forall k (f :: k -> *) (a :: k).
+Eq (f a) =>
+PackFoldable0 f a -> PackFoldable0 f a -> Bool
+$c== :: forall k (f :: k -> *) (a :: k).
+Eq (f a) =>
+PackFoldable0 f a -> PackFoldable0 f a -> Bool
+== :: PackFoldable0 f a -> PackFoldable0 f a -> Bool
+$c/= :: forall k (f :: k -> *) (a :: k).
+Eq (f a) =>
+PackFoldable0 f a -> PackFoldable0 f a -> Bool
+/= :: PackFoldable0 f a -> PackFoldable0 f a -> Bool
+Eq, Eq (PackFoldable0 f a)
+Eq (PackFoldable0 f a) =>
+(PackFoldable0 f a -> PackFoldable0 f a -> Ordering)
+-> (PackFoldable0 f a -> PackFoldable0 f a -> Bool)
+-> (PackFoldable0 f a -> PackFoldable0 f a -> Bool)
+-> (PackFoldable0 f a -> PackFoldable0 f a -> Bool)
+-> (PackFoldable0 f a -> PackFoldable0 f a -> Bool)
+-> (PackFoldable0 f a -> PackFoldable0 f a -> PackFoldable0 f a)
+-> (PackFoldable0 f a -> PackFoldable0 f a -> PackFoldable0 f a)
+-> Ord (PackFoldable0 f a)
+PackFoldable0 f a -> PackFoldable0 f a -> Bool
+PackFoldable0 f a -> PackFoldable0 f a -> Ordering
+PackFoldable0 f a -> PackFoldable0 f a -> PackFoldable0 f a
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+Eq (PackFoldable0 f a)
+forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+PackFoldable0 f a -> PackFoldable0 f a -> Bool
+forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+PackFoldable0 f a -> PackFoldable0 f a -> Ordering
+forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+PackFoldable0 f a -> PackFoldable0 f a -> PackFoldable0 f a
+$ccompare :: forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+PackFoldable0 f a -> PackFoldable0 f a -> Ordering
+compare :: PackFoldable0 f a -> PackFoldable0 f a -> Ordering
+$c< :: forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+PackFoldable0 f a -> PackFoldable0 f a -> Bool
+< :: PackFoldable0 f a -> PackFoldable0 f a -> Bool
+$c<= :: forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+PackFoldable0 f a -> PackFoldable0 f a -> Bool
+<= :: PackFoldable0 f a -> PackFoldable0 f a -> Bool
+$c> :: forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+PackFoldable0 f a -> PackFoldable0 f a -> Bool
+> :: PackFoldable0 f a -> PackFoldable0 f a -> Bool
+$c>= :: forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+PackFoldable0 f a -> PackFoldable0 f a -> Bool
+>= :: PackFoldable0 f a -> PackFoldable0 f a -> Bool
+$cmax :: forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+PackFoldable0 f a -> PackFoldable0 f a -> PackFoldable0 f a
+max :: PackFoldable0 f a -> PackFoldable0 f a -> PackFoldable0 f a
+$cmin :: forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+PackFoldable0 f a -> PackFoldable0 f a -> PackFoldable0 f a
+min :: PackFoldable0 f a -> PackFoldable0 f a -> PackFoldable0 f a
+Ord, Int -> PackFoldable0 f a -> ShowS
+[PackFoldable0 f a] -> ShowS
+PackFoldable0 f a -> String
+(Int -> PackFoldable0 f a -> ShowS)
+-> (PackFoldable0 f a -> String)
+-> ([PackFoldable0 f a] -> ShowS)
+-> Show (PackFoldable0 f a)
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+forall k (f :: k -> *) (a :: k).
+Show (f a) =>
+Int -> PackFoldable0 f a -> ShowS
+forall k (f :: k -> *) (a :: k).
+Show (f a) =>
+[PackFoldable0 f a] -> ShowS
+forall k (f :: k -> *) (a :: k).
+Show (f a) =>
+PackFoldable0 f a -> String
+$cshowsPrec :: forall k (f :: k -> *) (a :: k).
+Show (f a) =>
+Int -> PackFoldable0 f a -> ShowS
+showsPrec :: Int -> PackFoldable0 f a -> ShowS
+$cshow :: forall k (f :: k -> *) (a :: k).
+Show (f a) =>
+PackFoldable0 f a -> String
+show :: PackFoldable0 f a -> String
+$cshowList :: forall k (f :: k -> *) (a :: k).
+Show (f a) =>
+[PackFoldable0 f a] -> ShowS
+showList :: [PackFoldable0 f a] -> ShowS
+Show, ReadPrec [PackFoldable0 f a]
+ReadPrec (PackFoldable0 f a)
+Int -> ReadS (PackFoldable0 f a)
+ReadS [PackFoldable0 f a]
+(Int -> ReadS (PackFoldable0 f a))
+-> ReadS [PackFoldable0 f a]
+-> ReadPrec (PackFoldable0 f a)
+-> ReadPrec [PackFoldable0 f a]
+-> Read (PackFoldable0 f a)
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+forall k (f :: k -> *) (a :: k).
+Read (f a) =>
+ReadPrec [PackFoldable0 f a]
+forall k (f :: k -> *) (a :: k).
+Read (f a) =>
+ReadPrec (PackFoldable0 f a)
+forall k (f :: k -> *) (a :: k).
+Read (f a) =>
+Int -> ReadS (PackFoldable0 f a)
+forall k (f :: k -> *) (a :: k).
+Read (f a) =>
+ReadS [PackFoldable0 f a]
+$creadsPrec :: forall k (f :: k -> *) (a :: k).
+Read (f a) =>
+Int -> ReadS (PackFoldable0 f a)
+readsPrec :: Int -> ReadS (PackFoldable0 f a)
+$creadList :: forall k (f :: k -> *) (a :: k).
+Read (f a) =>
+ReadS [PackFoldable0 f a]
+readList :: ReadS [PackFoldable0 f a]
+$creadPrec :: forall k (f :: k -> *) (a :: k).
+Read (f a) =>
+ReadPrec (PackFoldable0 f a)
+readPrec :: ReadPrec (PackFoldable0 f a)
+$creadListPrec :: forall k (f :: k -> *) (a :: k).
+Read (f a) =>
+ReadPrec [PackFoldable0 f a]
+readListPrec :: ReadPrec [PackFoldable0 f a]
+Read, Eq (PackFoldable0 f a)
+Eq (PackFoldable0 f a) =>
+(Int -> PackFoldable0 f a -> Int)
+-> (PackFoldable0 f a -> Int) -> Hashable (PackFoldable0 f a)
+Int -> PackFoldable0 f a -> Int
+PackFoldable0 f a -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+forall k (f :: k -> *) (a :: k).
+Hashable (f a) =>
+Eq (PackFoldable0 f a)
+forall k (f :: k -> *) (a :: k).
+Hashable (f a) =>
+Int -> PackFoldable0 f a -> Int
+forall k (f :: k -> *) (a :: k).
+Hashable (f a) =>
+PackFoldable0 f a -> Int
+$chashWithSalt :: forall k (f :: k -> *) (a :: k).
+Hashable (f a) =>
+Int -> PackFoldable0 f a -> Int
+hashWithSalt :: Int -> PackFoldable0 f a -> Int
+$chash :: forall k (f :: k -> *) (a :: k).
+Hashable (f a) =>
+PackFoldable0 f a -> Int
+hash :: PackFoldable0 f a -> Int
+Hashable, PackFoldable0 f a -> ()
+(PackFoldable0 f a -> ()) -> NFData (PackFoldable0 f a)
+forall a. (a -> ()) -> NFData a
+forall k (f :: k -> *) (a :: k).
+NFData (f a) =>
+PackFoldable0 f a -> ()
+$crnf :: forall k (f :: k -> *) (a :: k).
+NFData (f a) =>
+PackFoldable0 f a -> ()
+rnf :: PackFoldable0 f a -> ()
+NFData, (forall a b. (a -> b) -> PackFoldable0 f a -> PackFoldable0 f b)
+-> (forall a b. a -> PackFoldable0 f b -> PackFoldable0 f a)
+-> Functor (PackFoldable0 f)
+forall a b. a -> PackFoldable0 f b -> PackFoldable0 f a
+forall a b. (a -> b) -> PackFoldable0 f a -> PackFoldable0 f b
+forall (f :: * -> *) a b.
+Functor f =>
+a -> PackFoldable0 f b -> PackFoldable0 f a
+forall (f :: * -> *) a b.
+Functor f =>
+(a -> b) -> PackFoldable0 f a -> PackFoldable0 f b
+forall (f :: * -> *).
+(forall a b. (a -> b) -> f a -> f b)
+-> (forall a b. a -> f b -> f a) -> Functor f
+$cfmap :: forall (f :: * -> *) a b.
+Functor f =>
+(a -> b) -> PackFoldable0 f a -> PackFoldable0 f b
+fmap :: forall a b. (a -> b) -> PackFoldable0 f a -> PackFoldable0 f b
+$c<$ :: forall (f :: * -> *) a b.
+Functor f =>
+a -> PackFoldable0 f b -> PackFoldable0 f a
+<$ :: forall a b. a -> PackFoldable0 f b -> PackFoldable0 f a
+Functor)
+  deriving newtype ((forall a. Eq a => Eq (PackFoldable0 f a)) =>
+(forall a b.
+ (a -> b -> Bool) -> PackFoldable0 f a -> PackFoldable0 f b -> Bool)
+-> Eq1 (PackFoldable0 f)
+forall a. Eq a => Eq (PackFoldable0 f a)
+forall a b.
+(a -> b -> Bool) -> PackFoldable0 f a -> PackFoldable0 f b -> Bool
+forall (f :: * -> *) a. (Eq1 f, Eq a) => Eq (PackFoldable0 f a)
+forall (f :: * -> *) a b.
+Eq1 f =>
+(a -> b -> Bool) -> PackFoldable0 f a -> PackFoldable0 f b -> Bool
+forall (f :: * -> *).
+(forall a. Eq a => Eq (f a)) =>
+(forall a b. (a -> b -> Bool) -> f a -> f b -> Bool) -> Eq1 f
+$cliftEq :: forall (f :: * -> *) a b.
+Eq1 f =>
+(a -> b -> Bool) -> PackFoldable0 f a -> PackFoldable0 f b -> Bool
+liftEq :: forall a b.
+(a -> b -> Bool) -> PackFoldable0 f a -> PackFoldable0 f b -> Bool
+Eq1, Eq1 (PackFoldable0 f)
+(Eq1 (PackFoldable0 f),
+ forall a. Ord a => Ord (PackFoldable0 f a)) =>
+(forall a b.
+ (a -> b -> Ordering)
+ -> PackFoldable0 f a -> PackFoldable0 f b -> Ordering)
+-> Ord1 (PackFoldable0 f)
+forall a. Ord a => Ord (PackFoldable0 f a)
+forall a b.
+(a -> b -> Ordering)
+-> PackFoldable0 f a -> PackFoldable0 f b -> Ordering
+forall (f :: * -> *). Ord1 f => Eq1 (PackFoldable0 f)
+forall (f :: * -> *) a. (Ord1 f, Ord a) => Ord (PackFoldable0 f a)
+forall (f :: * -> *) a b.
+Ord1 f =>
+(a -> b -> Ordering)
+-> PackFoldable0 f a -> PackFoldable0 f b -> Ordering
+forall (f :: * -> *).
+(Eq1 f, forall a. Ord a => Ord (f a)) =>
+(forall a b. (a -> b -> Ordering) -> f a -> f b -> Ordering)
+-> Ord1 f
+$cliftCompare :: forall (f :: * -> *) a b.
+Ord1 f =>
+(a -> b -> Ordering)
+-> PackFoldable0 f a -> PackFoldable0 f b -> Ordering
+liftCompare :: forall a b.
+(a -> b -> Ordering)
+-> PackFoldable0 f a -> PackFoldable0 f b -> Ordering
+Ord1, (forall a. Show a => Show (PackFoldable0 f a)) =>
+(forall a.
+ (Int -> a -> ShowS)
+ -> ([a] -> ShowS) -> Int -> PackFoldable0 f a -> ShowS)
+-> (forall a.
+    (Int -> a -> ShowS)
+    -> ([a] -> ShowS) -> [PackFoldable0 f a] -> ShowS)
+-> Show1 (PackFoldable0 f)
+forall a. Show a => Show (PackFoldable0 f a)
+forall a.
+(Int -> a -> ShowS)
+-> ([a] -> ShowS) -> Int -> PackFoldable0 f a -> ShowS
+forall a.
+(Int -> a -> ShowS)
+-> ([a] -> ShowS) -> [PackFoldable0 f a] -> ShowS
+forall (f :: * -> *) a.
+(Show1 f, Show a) =>
+Show (PackFoldable0 f a)
+forall (f :: * -> *) a.
+Show1 f =>
+(Int -> a -> ShowS)
+-> ([a] -> ShowS) -> Int -> PackFoldable0 f a -> ShowS
+forall (f :: * -> *) a.
+Show1 f =>
+(Int -> a -> ShowS)
+-> ([a] -> ShowS) -> [PackFoldable0 f a] -> ShowS
+forall (f :: * -> *).
+(forall a. Show a => Show (f a)) =>
+(forall a.
+ (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> f a -> ShowS)
+-> (forall a.
+    (Int -> a -> ShowS) -> ([a] -> ShowS) -> [f a] -> ShowS)
+-> Show1 f
+$cliftShowsPrec :: forall (f :: * -> *) a.
+Show1 f =>
+(Int -> a -> ShowS)
+-> ([a] -> ShowS) -> Int -> PackFoldable0 f a -> ShowS
+liftShowsPrec :: forall a.
+(Int -> a -> ShowS)
+-> ([a] -> ShowS) -> Int -> PackFoldable0 f a -> ShowS
+$cliftShowList :: forall (f :: * -> *) a.
+Show1 f =>
+(Int -> a -> ShowS)
+-> ([a] -> ShowS) -> [PackFoldable0 f a] -> ShowS
+liftShowList :: forall a.
+(Int -> a -> ShowS)
+-> ([a] -> ShowS) -> [PackFoldable0 f a] -> ShowS
+Show1, (forall a. Read a => Read (PackFoldable0 f a)) =>
+(forall a.
+ (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (PackFoldable0 f a))
+-> (forall a.
+    (Int -> ReadS a) -> ReadS [a] -> ReadS [PackFoldable0 f a])
+-> (forall a.
+    ReadPrec a -> ReadPrec [a] -> ReadPrec (PackFoldable0 f a))
+-> (forall a.
+    ReadPrec a -> ReadPrec [a] -> ReadPrec [PackFoldable0 f a])
+-> Read1 (PackFoldable0 f)
+forall a. Read a => Read (PackFoldable0 f a)
+forall a.
+ReadPrec a -> ReadPrec [a] -> ReadPrec [PackFoldable0 f a]
+forall a.
+ReadPrec a -> ReadPrec [a] -> ReadPrec (PackFoldable0 f a)
+forall a.
+(Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (PackFoldable0 f a)
+forall a.
+(Int -> ReadS a) -> ReadS [a] -> ReadS [PackFoldable0 f a]
+forall (f :: * -> *) a.
+(Read1 f, Read a) =>
+Read (PackFoldable0 f a)
+forall (f :: * -> *) a.
+Read1 f =>
+ReadPrec a -> ReadPrec [a] -> ReadPrec [PackFoldable0 f a]
+forall (f :: * -> *) a.
+Read1 f =>
+ReadPrec a -> ReadPrec [a] -> ReadPrec (PackFoldable0 f a)
+forall (f :: * -> *) a.
+Read1 f =>
+(Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (PackFoldable0 f a)
+forall (f :: * -> *) a.
+Read1 f =>
+(Int -> ReadS a) -> ReadS [a] -> ReadS [PackFoldable0 f a]
+forall (f :: * -> *).
+(forall a. Read a => Read (f a)) =>
+(forall a. (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (f a))
+-> (forall a. (Int -> ReadS a) -> ReadS [a] -> ReadS [f a])
+-> (forall a. ReadPrec a -> ReadPrec [a] -> ReadPrec (f a))
+-> (forall a. ReadPrec a -> ReadPrec [a] -> ReadPrec [f a])
+-> Read1 f
+$cliftReadsPrec :: forall (f :: * -> *) a.
+Read1 f =>
+(Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (PackFoldable0 f a)
+liftReadsPrec :: forall a.
+(Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (PackFoldable0 f a)
+$cliftReadList :: forall (f :: * -> *) a.
+Read1 f =>
+(Int -> ReadS a) -> ReadS [a] -> ReadS [PackFoldable0 f a]
+liftReadList :: forall a.
+(Int -> ReadS a) -> ReadS [a] -> ReadS [PackFoldable0 f a]
+$cliftReadPrec :: forall (f :: * -> *) a.
+Read1 f =>
+ReadPrec a -> ReadPrec [a] -> ReadPrec (PackFoldable0 f a)
+liftReadPrec :: forall a.
+ReadPrec a -> ReadPrec [a] -> ReadPrec (PackFoldable0 f a)
+$cliftReadListPrec :: forall (f :: * -> *) a.
+Read1 f =>
+ReadPrec a -> ReadPrec [a] -> ReadPrec [PackFoldable0 f a]
+liftReadListPrec :: forall a.
+ReadPrec a -> ReadPrec [a] -> ReadPrec [PackFoldable0 f a]
+Read1, NonEmpty (PackFoldable0 f a) -> PackFoldable0 f a
+PackFoldable0 f a -> PackFoldable0 f a -> PackFoldable0 f a
+(PackFoldable0 f a -> PackFoldable0 f a -> PackFoldable0 f a)
+-> (NonEmpty (PackFoldable0 f a) -> PackFoldable0 f a)
+-> (forall b.
+    Integral b =>
+    b -> PackFoldable0 f a -> PackFoldable0 f a)
+-> Semigroup (PackFoldable0 f a)
+forall b. Integral b => b -> PackFoldable0 f a -> PackFoldable0 f a
+forall a.
+(a -> a -> a)
+-> (NonEmpty a -> a)
+-> (forall b. Integral b => b -> a -> a)
+-> Semigroup a
+forall k (f :: k -> *) (a :: k).
+Semigroup (f a) =>
+NonEmpty (PackFoldable0 f a) -> PackFoldable0 f a
+forall k (f :: k -> *) (a :: k).
+Semigroup (f a) =>
+PackFoldable0 f a -> PackFoldable0 f a -> PackFoldable0 f a
+forall k (f :: k -> *) (a :: k) b.
+(Semigroup (f a), Integral b) =>
+b -> PackFoldable0 f a -> PackFoldable0 f a
+$c<> :: forall k (f :: k -> *) (a :: k).
+Semigroup (f a) =>
+PackFoldable0 f a -> PackFoldable0 f a -> PackFoldable0 f a
+<> :: PackFoldable0 f a -> PackFoldable0 f a -> PackFoldable0 f a
+$csconcat :: forall k (f :: k -> *) (a :: k).
+Semigroup (f a) =>
+NonEmpty (PackFoldable0 f a) -> PackFoldable0 f a
+sconcat :: NonEmpty (PackFoldable0 f a) -> PackFoldable0 f a
+$cstimes :: forall k (f :: k -> *) (a :: k) b.
+(Semigroup (f a), Integral b) =>
+b -> PackFoldable0 f a -> PackFoldable0 f a
+stimes :: forall b. Integral b => b -> PackFoldable0 f a -> PackFoldable0 f a
+Semigroup, Semigroup (PackFoldable0 f a)
+PackFoldable0 f a
+Semigroup (PackFoldable0 f a) =>
+PackFoldable0 f a
+-> (PackFoldable0 f a -> PackFoldable0 f a -> PackFoldable0 f a)
+-> ([PackFoldable0 f a] -> PackFoldable0 f a)
+-> Monoid (PackFoldable0 f a)
+[PackFoldable0 f a] -> PackFoldable0 f a
+PackFoldable0 f a -> PackFoldable0 f a -> PackFoldable0 f a
+forall a.
+Semigroup a =>
+a -> (a -> a -> a) -> ([a] -> a) -> Monoid a
+forall k (f :: k -> *) (a :: k).
+Monoid (f a) =>
+Semigroup (PackFoldable0 f a)
+forall k (f :: k -> *) (a :: k). Monoid (f a) => PackFoldable0 f a
+forall k (f :: k -> *) (a :: k).
+Monoid (f a) =>
+[PackFoldable0 f a] -> PackFoldable0 f a
+forall k (f :: k -> *) (a :: k).
+Monoid (f a) =>
+PackFoldable0 f a -> PackFoldable0 f a -> PackFoldable0 f a
+$cmempty :: forall k (f :: k -> *) (a :: k). Monoid (f a) => PackFoldable0 f a
+mempty :: PackFoldable0 f a
+$cmappend :: forall k (f :: k -> *) (a :: k).
+Monoid (f a) =>
+PackFoldable0 f a -> PackFoldable0 f a -> PackFoldable0 f a
+mappend :: PackFoldable0 f a -> PackFoldable0 f a -> PackFoldable0 f a
+$cmconcat :: forall k (f :: k -> *) (a :: k).
+Monoid (f a) =>
+[PackFoldable0 f a] -> PackFoldable0 f a
+mconcat :: [PackFoldable0 f a] -> PackFoldable0 f a
+Monoid)
+  deriving newtype ((forall m. Monoid m => PackFoldable0 f m -> m)
+-> (forall m a. Monoid m => (a -> m) -> PackFoldable0 f a -> m)
+-> (forall m a. Monoid m => (a -> m) -> PackFoldable0 f a -> m)
+-> (forall a b. (a -> b -> b) -> b -> PackFoldable0 f a -> b)
+-> (forall a b. (a -> b -> b) -> b -> PackFoldable0 f a -> b)
+-> (forall b a. (b -> a -> b) -> b -> PackFoldable0 f a -> b)
+-> (forall b a. (b -> a -> b) -> b -> PackFoldable0 f a -> b)
+-> (forall a. (a -> a -> a) -> PackFoldable0 f a -> a)
+-> (forall a. (a -> a -> a) -> PackFoldable0 f a -> a)
+-> (forall a. PackFoldable0 f a -> [a])
+-> (forall a. PackFoldable0 f a -> Bool)
+-> (forall a. PackFoldable0 f a -> Int)
+-> (forall a. Eq a => a -> PackFoldable0 f a -> Bool)
+-> (forall a. Ord a => PackFoldable0 f a -> a)
+-> (forall a. Ord a => PackFoldable0 f a -> a)
+-> (forall a. Num a => PackFoldable0 f a -> a)
+-> (forall a. Num a => PackFoldable0 f a -> a)
+-> Foldable (PackFoldable0 f)
+forall a. Eq a => a -> PackFoldable0 f a -> Bool
+forall a. Num a => PackFoldable0 f a -> a
+forall a. Ord a => PackFoldable0 f a -> a
+forall m. Monoid m => PackFoldable0 f m -> m
+forall a. PackFoldable0 f a -> Bool
+forall a. PackFoldable0 f a -> Int
+forall a. PackFoldable0 f a -> [a]
+forall a. (a -> a -> a) -> PackFoldable0 f a -> a
+forall m a. Monoid m => (a -> m) -> PackFoldable0 f a -> m
+forall b a. (b -> a -> b) -> b -> PackFoldable0 f a -> b
+forall a b. (a -> b -> b) -> b -> PackFoldable0 f a -> b
+forall (f :: * -> *) a.
+(Foldable f, Eq a) =>
+a -> PackFoldable0 f a -> Bool
+forall (f :: * -> *) a.
+(Foldable f, Num a) =>
+PackFoldable0 f a -> a
+forall (f :: * -> *) a.
+(Foldable f, Ord a) =>
+PackFoldable0 f a -> a
+forall (f :: * -> *) m.
+(Foldable f, Monoid m) =>
+PackFoldable0 f m -> m
+forall (f :: * -> *) a. Foldable f => PackFoldable0 f a -> Bool
+forall (f :: * -> *) a. Foldable f => PackFoldable0 f a -> Int
+forall (f :: * -> *) a. Foldable f => PackFoldable0 f a -> [a]
+forall (f :: * -> *) a.
+Foldable f =>
+(a -> a -> a) -> PackFoldable0 f a -> a
+forall (f :: * -> *) m a.
+(Foldable f, Monoid m) =>
+(a -> m) -> PackFoldable0 f a -> m
+forall (f :: * -> *) b a.
+Foldable f =>
+(b -> a -> b) -> b -> PackFoldable0 f a -> b
+forall (f :: * -> *) a b.
+Foldable f =>
+(a -> b -> b) -> b -> PackFoldable0 f a -> b
+forall (t :: * -> *).
+(forall m. Monoid m => t m -> m)
+-> (forall m a. Monoid m => (a -> m) -> t a -> m)
+-> (forall m a. Monoid m => (a -> m) -> t a -> m)
+-> (forall a b. (a -> b -> b) -> b -> t a -> b)
+-> (forall a b. (a -> b -> b) -> b -> t a -> b)
+-> (forall b a. (b -> a -> b) -> b -> t a -> b)
+-> (forall b a. (b -> a -> b) -> b -> t a -> b)
+-> (forall a. (a -> a -> a) -> t a -> a)
+-> (forall a. (a -> a -> a) -> t a -> a)
+-> (forall a. t a -> [a])
+-> (forall a. t a -> Bool)
+-> (forall a. t a -> Int)
+-> (forall a. Eq a => a -> t a -> Bool)
+-> (forall a. Ord a => t a -> a)
+-> (forall a. Ord a => t a -> a)
+-> (forall a. Num a => t a -> a)
+-> (forall a. Num a => t a -> a)
+-> Foldable t
+$cfold :: forall (f :: * -> *) m.
+(Foldable f, Monoid m) =>
+PackFoldable0 f m -> m
+fold :: forall m. Monoid m => PackFoldable0 f m -> m
+$cfoldMap :: forall (f :: * -> *) m a.
+(Foldable f, Monoid m) =>
+(a -> m) -> PackFoldable0 f a -> m
+foldMap :: forall m a. Monoid m => (a -> m) -> PackFoldable0 f a -> m
+$cfoldMap' :: forall (f :: * -> *) m a.
+(Foldable f, Monoid m) =>
+(a -> m) -> PackFoldable0 f a -> m
+foldMap' :: forall m a. Monoid m => (a -> m) -> PackFoldable0 f a -> m
+$cfoldr :: forall (f :: * -> *) a b.
+Foldable f =>
+(a -> b -> b) -> b -> PackFoldable0 f a -> b
+foldr :: forall a b. (a -> b -> b) -> b -> PackFoldable0 f a -> b
+$cfoldr' :: forall (f :: * -> *) a b.
+Foldable f =>
+(a -> b -> b) -> b -> PackFoldable0 f a -> b
+foldr' :: forall a b. (a -> b -> b) -> b -> PackFoldable0 f a -> b
+$cfoldl :: forall (f :: * -> *) b a.
+Foldable f =>
+(b -> a -> b) -> b -> PackFoldable0 f a -> b
+foldl :: forall b a. (b -> a -> b) -> b -> PackFoldable0 f a -> b
+$cfoldl' :: forall (f :: * -> *) b a.
+Foldable f =>
+(b -> a -> b) -> b -> PackFoldable0 f a -> b
+foldl' :: forall b a. (b -> a -> b) -> b -> PackFoldable0 f a -> b
+$cfoldr1 :: forall (f :: * -> *) a.
+Foldable f =>
+(a -> a -> a) -> PackFoldable0 f a -> a
+foldr1 :: forall a. (a -> a -> a) -> PackFoldable0 f a -> a
+$cfoldl1 :: forall (f :: * -> *) a.
+Foldable f =>
+(a -> a -> a) -> PackFoldable0 f a -> a
+foldl1 :: forall a. (a -> a -> a) -> PackFoldable0 f a -> a
+$ctoList :: forall (f :: * -> *) a. Foldable f => PackFoldable0 f a -> [a]
+toList :: forall a. PackFoldable0 f a -> [a]
+$cnull :: forall (f :: * -> *) a. Foldable f => PackFoldable0 f a -> Bool
+null :: forall a. PackFoldable0 f a -> Bool
+$clength :: forall (f :: * -> *) a. Foldable f => PackFoldable0 f a -> Int
+length :: forall a. PackFoldable0 f a -> Int
+$celem :: forall (f :: * -> *) a.
+(Foldable f, Eq a) =>
+a -> PackFoldable0 f a -> Bool
+elem :: forall a. Eq a => a -> PackFoldable0 f a -> Bool
+$cmaximum :: forall (f :: * -> *) a.
+(Foldable f, Ord a) =>
+PackFoldable0 f a -> a
+maximum :: forall a. Ord a => PackFoldable0 f a -> a
+$cminimum :: forall (f :: * -> *) a.
+(Foldable f, Ord a) =>
+PackFoldable0 f a -> a
+minimum :: forall a. Ord a => PackFoldable0 f a -> a
+$csum :: forall (f :: * -> *) a.
+(Foldable f, Num a) =>
+PackFoldable0 f a -> a
+sum :: forall a. Num a => PackFoldable0 f a -> a
+$cproduct :: forall (f :: * -> *) a.
+(Foldable f, Num a) =>
+PackFoldable0 f a -> a
+product :: forall a. Num a => PackFoldable0 f a -> a
+Foldable, Foldable (PackFoldable0 f)
+Foldable (PackFoldable0 f) =>
+(forall m. Semigroup m => PackFoldable0 f m -> m)
+-> (forall m a. Semigroup m => (a -> m) -> PackFoldable0 f a -> m)
+-> (forall m a. Semigroup m => (a -> m) -> PackFoldable0 f a -> m)
+-> (forall a. PackFoldable0 f a -> NonEmpty a)
+-> (forall a. Ord a => PackFoldable0 f a -> a)
+-> (forall a. Ord a => PackFoldable0 f a -> a)
+-> (forall a. PackFoldable0 f a -> a)
+-> (forall a. PackFoldable0 f a -> a)
+-> (forall a b.
+    (a -> b) -> (a -> b -> b) -> PackFoldable0 f a -> b)
+-> (forall a b.
+    (a -> b) -> (b -> a -> b) -> PackFoldable0 f a -> b)
+-> (forall a b.
+    (a -> b) -> (b -> a -> b) -> PackFoldable0 f a -> b)
+-> (forall a b.
+    (a -> b) -> (a -> b -> b) -> PackFoldable0 f a -> b)
+-> Foldable1 (PackFoldable0 f)
+forall a. Ord a => PackFoldable0 f a -> a
+forall m. Semigroup m => PackFoldable0 f m -> m
+forall a. PackFoldable0 f a -> a
+forall a. PackFoldable0 f a -> NonEmpty a
+forall m a. Semigroup m => (a -> m) -> PackFoldable0 f a -> m
+forall a b. (a -> b) -> (a -> b -> b) -> PackFoldable0 f a -> b
+forall a b. (a -> b) -> (b -> a -> b) -> PackFoldable0 f a -> b
+forall (t :: * -> *).
+Foldable t =>
+(forall m. Semigroup m => t m -> m)
+-> (forall m a. Semigroup m => (a -> m) -> t a -> m)
+-> (forall m a. Semigroup m => (a -> m) -> t a -> m)
+-> (forall a. t a -> NonEmpty a)
+-> (forall a. Ord a => t a -> a)
+-> (forall a. Ord a => t a -> a)
+-> (forall a. t a -> a)
+-> (forall a. t a -> a)
+-> (forall a b. (a -> b) -> (a -> b -> b) -> t a -> b)
+-> (forall a b. (a -> b) -> (b -> a -> b) -> t a -> b)
+-> (forall a b. (a -> b) -> (b -> a -> b) -> t a -> b)
+-> (forall a b. (a -> b) -> (a -> b -> b) -> t a -> b)
+-> Foldable1 t
+forall (f :: * -> *). Foldable1 f => Foldable (PackFoldable0 f)
+forall (f :: * -> *) a.
+(Foldable1 f, Ord a) =>
+PackFoldable0 f a -> a
+forall (f :: * -> *) m.
+(Foldable1 f, Semigroup m) =>
+PackFoldable0 f m -> m
+forall (f :: * -> *) a. Foldable1 f => PackFoldable0 f a -> a
+forall (f :: * -> *) a.
+Foldable1 f =>
+PackFoldable0 f a -> NonEmpty a
+forall (f :: * -> *) m a.
+(Foldable1 f, Semigroup m) =>
+(a -> m) -> PackFoldable0 f a -> m
+forall (f :: * -> *) a b.
+Foldable1 f =>
+(a -> b) -> (a -> b -> b) -> PackFoldable0 f a -> b
+forall (f :: * -> *) a b.
+Foldable1 f =>
+(a -> b) -> (b -> a -> b) -> PackFoldable0 f a -> b
+$cfold1 :: forall (f :: * -> *) m.
+(Foldable1 f, Semigroup m) =>
+PackFoldable0 f m -> m
+fold1 :: forall m. Semigroup m => PackFoldable0 f m -> m
+$cfoldMap1 :: forall (f :: * -> *) m a.
+(Foldable1 f, Semigroup m) =>
+(a -> m) -> PackFoldable0 f a -> m
+foldMap1 :: forall m a. Semigroup m => (a -> m) -> PackFoldable0 f a -> m
+$cfoldMap1' :: forall (f :: * -> *) m a.
+(Foldable1 f, Semigroup m) =>
+(a -> m) -> PackFoldable0 f a -> m
+foldMap1' :: forall m a. Semigroup m => (a -> m) -> PackFoldable0 f a -> m
+$ctoNonEmpty :: forall (f :: * -> *) a.
+Foldable1 f =>
+PackFoldable0 f a -> NonEmpty a
+toNonEmpty :: forall a. PackFoldable0 f a -> NonEmpty a
+$cmaximum :: forall (f :: * -> *) a.
+(Foldable1 f, Ord a) =>
+PackFoldable0 f a -> a
+maximum :: forall a. Ord a => PackFoldable0 f a -> a
+$cminimum :: forall (f :: * -> *) a.
+(Foldable1 f, Ord a) =>
+PackFoldable0 f a -> a
+minimum :: forall a. Ord a => PackFoldable0 f a -> a
+$chead :: forall (f :: * -> *) a. Foldable1 f => PackFoldable0 f a -> a
+head :: forall a. PackFoldable0 f a -> a
+$clast :: forall (f :: * -> *) a. Foldable1 f => PackFoldable0 f a -> a
+last :: forall a. PackFoldable0 f a -> a
+$cfoldrMap1 :: forall (f :: * -> *) a b.
+Foldable1 f =>
+(a -> b) -> (a -> b -> b) -> PackFoldable0 f a -> b
+foldrMap1 :: forall a b. (a -> b) -> (a -> b -> b) -> PackFoldable0 f a -> b
+$cfoldlMap1' :: forall (f :: * -> *) a b.
+Foldable1 f =>
+(a -> b) -> (b -> a -> b) -> PackFoldable0 f a -> b
+foldlMap1' :: forall a b. (a -> b) -> (b -> a -> b) -> PackFoldable0 f a -> b
+$cfoldlMap1 :: forall (f :: * -> *) a b.
+Foldable1 f =>
+(a -> b) -> (b -> a -> b) -> PackFoldable0 f a -> b
+foldlMap1 :: forall a b. (a -> b) -> (b -> a -> b) -> PackFoldable0 f a -> b
+$cfoldrMap1' :: forall (f :: * -> *) a b.
+Foldable1 f =>
+(a -> b) -> (a -> b -> b) -> PackFoldable0 f a -> b
+foldrMap1' :: forall a b. (a -> b) -> (a -> b -> b) -> PackFoldable0 f a -> b
+Foldable1, Functor (PackFoldable0 f)
+Functor (PackFoldable0 f) =>
+(forall a. a -> PackFoldable0 f a)
+-> (forall a b.
+    PackFoldable0 f (a -> b) -> PackFoldable0 f a -> PackFoldable0 f b)
+-> (forall a b c.
+    (a -> b -> c)
+    -> PackFoldable0 f a -> PackFoldable0 f b -> PackFoldable0 f c)
+-> (forall a b.
+    PackFoldable0 f a -> PackFoldable0 f b -> PackFoldable0 f b)
+-> (forall a b.
+    PackFoldable0 f a -> PackFoldable0 f b -> PackFoldable0 f a)
+-> Applicative (PackFoldable0 f)
+forall a. a -> PackFoldable0 f a
+forall a b.
+PackFoldable0 f a -> PackFoldable0 f b -> PackFoldable0 f a
+forall a b.
+PackFoldable0 f a -> PackFoldable0 f b -> PackFoldable0 f b
+forall a b.
+PackFoldable0 f (a -> b) -> PackFoldable0 f a -> PackFoldable0 f b
+forall a b c.
+(a -> b -> c)
+-> PackFoldable0 f a -> PackFoldable0 f b -> PackFoldable0 f c
+forall (f :: * -> *).
+Functor f =>
+(forall a. a -> f a)
+-> (forall a b. f (a -> b) -> f a -> f b)
+-> (forall a b c. (a -> b -> c) -> f a -> f b -> f c)
+-> (forall a b. f a -> f b -> f b)
+-> (forall a b. f a -> f b -> f a)
+-> Applicative f
+forall (f :: * -> *). Applicative f => Functor (PackFoldable0 f)
+forall (f :: * -> *) a. Applicative f => a -> PackFoldable0 f a
+forall (f :: * -> *) a b.
+Applicative f =>
+PackFoldable0 f a -> PackFoldable0 f b -> PackFoldable0 f a
+forall (f :: * -> *) a b.
+Applicative f =>
+PackFoldable0 f a -> PackFoldable0 f b -> PackFoldable0 f b
+forall (f :: * -> *) a b.
+Applicative f =>
+PackFoldable0 f (a -> b) -> PackFoldable0 f a -> PackFoldable0 f b
+forall (f :: * -> *) a b c.
+Applicative f =>
+(a -> b -> c)
+-> PackFoldable0 f a -> PackFoldable0 f b -> PackFoldable0 f c
+$cpure :: forall (f :: * -> *) a. Applicative f => a -> PackFoldable0 f a
+pure :: forall a. a -> PackFoldable0 f a
+$c<*> :: forall (f :: * -> *) a b.
+Applicative f =>
+PackFoldable0 f (a -> b) -> PackFoldable0 f a -> PackFoldable0 f b
+<*> :: forall a b.
+PackFoldable0 f (a -> b) -> PackFoldable0 f a -> PackFoldable0 f b
+$cliftA2 :: forall (f :: * -> *) a b c.
+Applicative f =>
+(a -> b -> c)
+-> PackFoldable0 f a -> PackFoldable0 f b -> PackFoldable0 f c
+liftA2 :: forall a b c.
+(a -> b -> c)
+-> PackFoldable0 f a -> PackFoldable0 f b -> PackFoldable0 f c
+$c*> :: forall (f :: * -> *) a b.
+Applicative f =>
+PackFoldable0 f a -> PackFoldable0 f b -> PackFoldable0 f b
+*> :: forall a b.
+PackFoldable0 f a -> PackFoldable0 f b -> PackFoldable0 f b
+$c<* :: forall (f :: * -> *) a b.
+Applicative f =>
+PackFoldable0 f a -> PackFoldable0 f b -> PackFoldable0 f a
+<* :: forall a b.
+PackFoldable0 f a -> PackFoldable0 f b -> PackFoldable0 f a
+Applicative, Applicative (PackFoldable0 f)
+Applicative (PackFoldable0 f) =>
+(forall a b.
+ PackFoldable0 f a -> (a -> PackFoldable0 f b) -> PackFoldable0 f b)
+-> (forall a b.
+    PackFoldable0 f a -> PackFoldable0 f b -> PackFoldable0 f b)
+-> (forall a. a -> PackFoldable0 f a)
+-> Monad (PackFoldable0 f)
+forall a. a -> PackFoldable0 f a
+forall a b.
+PackFoldable0 f a -> PackFoldable0 f b -> PackFoldable0 f b
+forall a b.
+PackFoldable0 f a -> (a -> PackFoldable0 f b) -> PackFoldable0 f b
+forall (f :: * -> *). Monad f => Applicative (PackFoldable0 f)
+forall (f :: * -> *) a. Monad f => a -> PackFoldable0 f a
+forall (f :: * -> *) a b.
+Monad f =>
+PackFoldable0 f a -> PackFoldable0 f b -> PackFoldable0 f b
+forall (f :: * -> *) a b.
+Monad f =>
+PackFoldable0 f a -> (a -> PackFoldable0 f b) -> PackFoldable0 f b
+forall (m :: * -> *).
+Applicative m =>
+(forall a b. m a -> (a -> m b) -> m b)
+-> (forall a b. m a -> m b -> m b)
+-> (forall a. a -> m a)
+-> Monad m
+$c>>= :: forall (f :: * -> *) a b.
+Monad f =>
+PackFoldable0 f a -> (a -> PackFoldable0 f b) -> PackFoldable0 f b
+>>= :: forall a b.
+PackFoldable0 f a -> (a -> PackFoldable0 f b) -> PackFoldable0 f b
+$c>> :: forall (f :: * -> *) a b.
+Monad f =>
+PackFoldable0 f a -> PackFoldable0 f b -> PackFoldable0 f b
+>> :: forall a b.
+PackFoldable0 f a -> PackFoldable0 f b -> PackFoldable0 f b
+$creturn :: forall (f :: * -> *) a. Monad f => a -> PackFoldable0 f a
+return :: forall a. a -> PackFoldable0 f a
+Monad)
+
+-- | @'foldMap' 'pack'@
+instance (Pack a, Foldable f) => Pack (PackFoldable0 f a) where
+  pack :: PackFoldable0 f a -> Builder
+pack = (a -> Builder) -> f a -> Builder
+forall m a. Monoid m => (a -> m) -> f a -> m
+forall (t :: * -> *) m a.
+(Foldable t, Monoid m) =>
+(a -> m) -> t a -> m
+foldMap' a -> Builder
+forall a. Pack a => a -> Builder
+pack (f a -> Builder)
+-> (PackFoldable0 f a -> f a) -> PackFoldable0 f a -> Builder
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. PackFoldable0 f a -> f a
+forall {k} (f :: k -> *) (a :: k). PackFoldable0 f a -> f a
+getpackfoldable0
+  {-# INLINEABLE pack #-}
+
+-- | General 'Unpack' instance provider for 'Representable's that are also
+-- 'Traversable'
+newtype UnpackRepresentable0 f a = UnpackRepresentable0
+  {forall {k} (f :: k -> *) (a :: k). UnpackRepresentable0 f a -> f a
+getunpackrepresentable0 :: f a}
+  deriving stock ((forall x.
+ UnpackRepresentable0 f a -> Rep (UnpackRepresentable0 f a) x)
+-> (forall x.
+    Rep (UnpackRepresentable0 f a) x -> UnpackRepresentable0 f a)
+-> Generic (UnpackRepresentable0 f a)
+forall x.
+Rep (UnpackRepresentable0 f a) x -> UnpackRepresentable0 f a
+forall x.
+UnpackRepresentable0 f a -> Rep (UnpackRepresentable0 f a) x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+forall k (f :: k -> *) (a :: k) x.
+Rep (UnpackRepresentable0 f a) x -> UnpackRepresentable0 f a
+forall k (f :: k -> *) (a :: k) x.
+UnpackRepresentable0 f a -> Rep (UnpackRepresentable0 f a) x
+$cfrom :: forall k (f :: k -> *) (a :: k) x.
+UnpackRepresentable0 f a -> Rep (UnpackRepresentable0 f a) x
+from :: forall x.
+UnpackRepresentable0 f a -> Rep (UnpackRepresentable0 f a) x
+$cto :: forall k (f :: k -> *) (a :: k) x.
+Rep (UnpackRepresentable0 f a) x -> UnpackRepresentable0 f a
+to :: forall x.
+Rep (UnpackRepresentable0 f a) x -> UnpackRepresentable0 f a
+Generic, (forall (a :: k).
+ UnpackRepresentable0 f a -> Rep1 (UnpackRepresentable0 f) a)
+-> (forall (a :: k).
+    Rep1 (UnpackRepresentable0 f) a -> UnpackRepresentable0 f a)
+-> Generic1 (UnpackRepresentable0 f)
+forall (a :: k).
+Rep1 (UnpackRepresentable0 f) a -> UnpackRepresentable0 f a
+forall (a :: k).
+UnpackRepresentable0 f a -> Rep1 (UnpackRepresentable0 f) a
+forall k (f :: k -> *).
+(forall (a :: k). f a -> Rep1 f a)
+-> (forall (a :: k). Rep1 f a -> f a) -> Generic1 f
+forall k (f :: k -> *) (a :: k).
+Rep1 (UnpackRepresentable0 f) a -> UnpackRepresentable0 f a
+forall k (f :: k -> *) (a :: k).
+UnpackRepresentable0 f a -> Rep1 (UnpackRepresentable0 f) a
+$cfrom1 :: forall k (f :: k -> *) (a :: k).
+UnpackRepresentable0 f a -> Rep1 (UnpackRepresentable0 f) a
+from1 :: forall (a :: k).
+UnpackRepresentable0 f a -> Rep1 (UnpackRepresentable0 f) a
+$cto1 :: forall k (f :: k -> *) (a :: k).
+Rep1 (UnpackRepresentable0 f) a -> UnpackRepresentable0 f a
+to1 :: forall (a :: k).
+Rep1 (UnpackRepresentable0 f) a -> UnpackRepresentable0 f a
+Generic1, Typeable, Typeable (UnpackRepresentable0 f a)
+Typeable (UnpackRepresentable0 f a) =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g)
+ -> UnpackRepresentable0 f a
+ -> c (UnpackRepresentable0 f a))
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c (UnpackRepresentable0 f a))
+-> (UnpackRepresentable0 f a -> Constr)
+-> (UnpackRepresentable0 f a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d))
+    -> Maybe (c (UnpackRepresentable0 f a)))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c (UnpackRepresentable0 f a)))
+-> ((forall b. Data b => b -> b)
+    -> UnpackRepresentable0 f a -> UnpackRepresentable0 f a)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r
+    -> (forall d. Data d => d -> r')
+    -> UnpackRepresentable0 f a
+    -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r
+    -> (forall d. Data d => d -> r')
+    -> UnpackRepresentable0 f a
+    -> r)
+-> (forall u.
+    (forall d. Data d => d -> u) -> UnpackRepresentable0 f a -> [u])
+-> (forall u.
+    Int
+    -> (forall d. Data d => d -> u) -> UnpackRepresentable0 f a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d)
+    -> UnpackRepresentable0 f a -> m (UnpackRepresentable0 f a))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d)
+    -> UnpackRepresentable0 f a -> m (UnpackRepresentable0 f a))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d)
+    -> UnpackRepresentable0 f a -> m (UnpackRepresentable0 f a))
+-> Data (UnpackRepresentable0 f a)
+UnpackRepresentable0 f a -> Constr
+UnpackRepresentable0 f a -> DataType
+(forall b. Data b => b -> b)
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f a
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u.
+Int
+-> (forall d. Data d => d -> u) -> UnpackRepresentable0 f a -> u
+forall u.
+(forall d. Data d => d -> u) -> UnpackRepresentable0 f a -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r
+-> (forall d. Data d => d -> r')
+-> UnpackRepresentable0 f a
+-> r
+forall r r'.
+(r' -> r -> r)
+-> r
+-> (forall d. Data d => d -> r')
+-> UnpackRepresentable0 f a
+-> r
+forall k (f :: k -> *) (a :: k).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+Typeable (UnpackRepresentable0 f a)
+forall k (f :: k -> *) (a :: k).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+UnpackRepresentable0 f a -> Constr
+forall k (f :: k -> *) (a :: k).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+UnpackRepresentable0 f a -> DataType
+forall k (f :: k -> *) (a :: k).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(forall b. Data b => b -> b)
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f a
+forall k (f :: k -> *) (a :: k) u.
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+Int
+-> (forall d. Data d => d -> u) -> UnpackRepresentable0 f a -> u
+forall k (f :: k -> *) (a :: k) u.
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(forall d. Data d => d -> u) -> UnpackRepresentable0 f a -> [u]
+forall k (f :: k -> *) (a :: k) r r'.
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(r -> r' -> r)
+-> r
+-> (forall d. Data d => d -> r')
+-> UnpackRepresentable0 f a
+-> r
+forall k (f :: k -> *) (a :: k) r r'.
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(r' -> r -> r)
+-> r
+-> (forall d. Data d => d -> r')
+-> UnpackRepresentable0 f a
+-> r
+forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), Monad m) =>
+(forall d. Data d => d -> m d)
+-> UnpackRepresentable0 f a -> m (UnpackRepresentable0 f a)
+forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), MonadPlus m) =>
+(forall d. Data d => d -> m d)
+-> UnpackRepresentable0 f a -> m (UnpackRepresentable0 f a)
+forall k (f :: k -> *) (a :: k) (c :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (UnpackRepresentable0 f a)
+forall k (f :: k -> *) (a :: k) (c :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g)
+-> UnpackRepresentable0 f a
+-> c (UnpackRepresentable0 f a)
+forall k (f :: k -> *) (a :: k) (t :: * -> *) (c :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), Typeable t) =>
+(forall d. Data d => c (t d))
+-> Maybe (c (UnpackRepresentable0 f a))
+forall k (f :: k -> *) (a :: k) (t :: * -> * -> *) (c :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (UnpackRepresentable0 f a))
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d)
+-> UnpackRepresentable0 f a -> m (UnpackRepresentable0 f a)
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> UnpackRepresentable0 f a -> m (UnpackRepresentable0 f a)
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (UnpackRepresentable0 f a)
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g)
+-> UnpackRepresentable0 f a
+-> c (UnpackRepresentable0 f a)
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d))
+-> Maybe (c (UnpackRepresentable0 f a))
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (UnpackRepresentable0 f a))
+$cgfoldl :: forall k (f :: k -> *) (a :: k) (c :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g)
+-> UnpackRepresentable0 f a
+-> c (UnpackRepresentable0 f a)
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g)
+-> UnpackRepresentable0 f a
+-> c (UnpackRepresentable0 f a)
+$cgunfold :: forall k (f :: k -> *) (a :: k) (c :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (UnpackRepresentable0 f a)
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (UnpackRepresentable0 f a)
+$ctoConstr :: forall k (f :: k -> *) (a :: k).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+UnpackRepresentable0 f a -> Constr
+toConstr :: UnpackRepresentable0 f a -> Constr
+$cdataTypeOf :: forall k (f :: k -> *) (a :: k).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+UnpackRepresentable0 f a -> DataType
+dataTypeOf :: UnpackRepresentable0 f a -> DataType
+$cdataCast1 :: forall k (f :: k -> *) (a :: k) (t :: * -> *) (c :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), Typeable t) =>
+(forall d. Data d => c (t d))
+-> Maybe (c (UnpackRepresentable0 f a))
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d))
+-> Maybe (c (UnpackRepresentable0 f a))
+$cdataCast2 :: forall k (f :: k -> *) (a :: k) (t :: * -> * -> *) (c :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (UnpackRepresentable0 f a))
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (UnpackRepresentable0 f a))
+$cgmapT :: forall k (f :: k -> *) (a :: k).
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(forall b. Data b => b -> b)
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f a
+gmapT :: (forall b. Data b => b -> b)
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f a
+$cgmapQl :: forall k (f :: k -> *) (a :: k) r r'.
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(r -> r' -> r)
+-> r
+-> (forall d. Data d => d -> r')
+-> UnpackRepresentable0 f a
+-> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r
+-> (forall d. Data d => d -> r')
+-> UnpackRepresentable0 f a
+-> r
+$cgmapQr :: forall k (f :: k -> *) (a :: k) r r'.
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(r' -> r -> r)
+-> r
+-> (forall d. Data d => d -> r')
+-> UnpackRepresentable0 f a
+-> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r
+-> (forall d. Data d => d -> r')
+-> UnpackRepresentable0 f a
+-> r
+$cgmapQ :: forall k (f :: k -> *) (a :: k) u.
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+(forall d. Data d => d -> u) -> UnpackRepresentable0 f a -> [u]
+gmapQ :: forall u.
+(forall d. Data d => d -> u) -> UnpackRepresentable0 f a -> [u]
+$cgmapQi :: forall k (f :: k -> *) (a :: k) u.
+(Typeable a, Typeable f, Typeable k, Data (f a)) =>
+Int
+-> (forall d. Data d => d -> u) -> UnpackRepresentable0 f a -> u
+gmapQi :: forall u.
+Int
+-> (forall d. Data d => d -> u) -> UnpackRepresentable0 f a -> u
+$cgmapM :: forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), Monad m) =>
+(forall d. Data d => d -> m d)
+-> UnpackRepresentable0 f a -> m (UnpackRepresentable0 f a)
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d)
+-> UnpackRepresentable0 f a -> m (UnpackRepresentable0 f a)
+$cgmapMp :: forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), MonadPlus m) =>
+(forall d. Data d => d -> m d)
+-> UnpackRepresentable0 f a -> m (UnpackRepresentable0 f a)
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> UnpackRepresentable0 f a -> m (UnpackRepresentable0 f a)
+$cgmapMo :: forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Typeable a, Typeable f, Typeable k, Data (f a), MonadPlus m) =>
+(forall d. Data d => d -> m d)
+-> UnpackRepresentable0 f a -> m (UnpackRepresentable0 f a)
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> UnpackRepresentable0 f a -> m (UnpackRepresentable0 f a)
+Data, (forall (m :: * -> *).
+ Quote m =>
+ UnpackRepresentable0 f a -> m Exp)
+-> (forall (m :: * -> *).
+    Quote m =>
+    UnpackRepresentable0 f a -> Code m (UnpackRepresentable0 f a))
+-> Lift (UnpackRepresentable0 f a)
+forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Lift (f a), Quote m) =>
+UnpackRepresentable0 f a -> m Exp
+forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Lift (f a), Quote m) =>
+UnpackRepresentable0 f a -> Code m (UnpackRepresentable0 f a)
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => UnpackRepresentable0 f a -> m Exp
+forall (m :: * -> *).
+Quote m =>
+UnpackRepresentable0 f a -> Code m (UnpackRepresentable0 f a)
+$clift :: forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Lift (f a), Quote m) =>
+UnpackRepresentable0 f a -> m Exp
+lift :: forall (m :: * -> *). Quote m => UnpackRepresentable0 f a -> m Exp
+$cliftTyped :: forall k (f :: k -> *) (a :: k) (m :: * -> *).
+(Lift (f a), Quote m) =>
+UnpackRepresentable0 f a -> Code m (UnpackRepresentable0 f a)
+liftTyped :: forall (m :: * -> *).
+Quote m =>
+UnpackRepresentable0 f a -> Code m (UnpackRepresentable0 f a)
+Lift)
+  deriving newtype (UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Bool
+(UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Bool)
+-> (UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Bool)
+-> Eq (UnpackRepresentable0 f a)
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+forall k (f :: k -> *) (a :: k).
+Eq (f a) =>
+UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Bool
+$c== :: forall k (f :: k -> *) (a :: k).
+Eq (f a) =>
+UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Bool
+== :: UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Bool
+$c/= :: forall k (f :: k -> *) (a :: k).
+Eq (f a) =>
+UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Bool
+/= :: UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Bool
+Eq, Eq (UnpackRepresentable0 f a)
+Eq (UnpackRepresentable0 f a) =>
+(UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Ordering)
+-> (UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Bool)
+-> (UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Bool)
+-> (UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Bool)
+-> (UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Bool)
+-> (UnpackRepresentable0 f a
+    -> UnpackRepresentable0 f a -> UnpackRepresentable0 f a)
+-> (UnpackRepresentable0 f a
+    -> UnpackRepresentable0 f a -> UnpackRepresentable0 f a)
+-> Ord (UnpackRepresentable0 f a)
+UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Bool
+UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Ordering
+UnpackRepresentable0 f a
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f a
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+Eq (UnpackRepresentable0 f a)
+forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Bool
+forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Ordering
+forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+UnpackRepresentable0 f a
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f a
+$ccompare :: forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Ordering
+compare :: UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Ordering
+$c< :: forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Bool
+< :: UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Bool
+$c<= :: forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Bool
+<= :: UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Bool
+$c> :: forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Bool
+> :: UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Bool
+$c>= :: forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Bool
+>= :: UnpackRepresentable0 f a -> UnpackRepresentable0 f a -> Bool
+$cmax :: forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+UnpackRepresentable0 f a
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f a
+max :: UnpackRepresentable0 f a
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f a
+$cmin :: forall k (f :: k -> *) (a :: k).
+Ord (f a) =>
+UnpackRepresentable0 f a
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f a
+min :: UnpackRepresentable0 f a
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f a
+Ord, Int -> UnpackRepresentable0 f a -> ShowS
+[UnpackRepresentable0 f a] -> ShowS
+UnpackRepresentable0 f a -> String
+(Int -> UnpackRepresentable0 f a -> ShowS)
+-> (UnpackRepresentable0 f a -> String)
+-> ([UnpackRepresentable0 f a] -> ShowS)
+-> Show (UnpackRepresentable0 f a)
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+forall k (f :: k -> *) (a :: k).
+Show (f a) =>
+Int -> UnpackRepresentable0 f a -> ShowS
+forall k (f :: k -> *) (a :: k).
+Show (f a) =>
+[UnpackRepresentable0 f a] -> ShowS
+forall k (f :: k -> *) (a :: k).
+Show (f a) =>
+UnpackRepresentable0 f a -> String
+$cshowsPrec :: forall k (f :: k -> *) (a :: k).
+Show (f a) =>
+Int -> UnpackRepresentable0 f a -> ShowS
+showsPrec :: Int -> UnpackRepresentable0 f a -> ShowS
+$cshow :: forall k (f :: k -> *) (a :: k).
+Show (f a) =>
+UnpackRepresentable0 f a -> String
+show :: UnpackRepresentable0 f a -> String
+$cshowList :: forall k (f :: k -> *) (a :: k).
+Show (f a) =>
+[UnpackRepresentable0 f a] -> ShowS
+showList :: [UnpackRepresentable0 f a] -> ShowS
+Show, ReadPrec [UnpackRepresentable0 f a]
+ReadPrec (UnpackRepresentable0 f a)
+Int -> ReadS (UnpackRepresentable0 f a)
+ReadS [UnpackRepresentable0 f a]
+(Int -> ReadS (UnpackRepresentable0 f a))
+-> ReadS [UnpackRepresentable0 f a]
+-> ReadPrec (UnpackRepresentable0 f a)
+-> ReadPrec [UnpackRepresentable0 f a]
+-> Read (UnpackRepresentable0 f a)
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+forall k (f :: k -> *) (a :: k).
+Read (f a) =>
+ReadPrec [UnpackRepresentable0 f a]
+forall k (f :: k -> *) (a :: k).
+Read (f a) =>
+ReadPrec (UnpackRepresentable0 f a)
+forall k (f :: k -> *) (a :: k).
+Read (f a) =>
+Int -> ReadS (UnpackRepresentable0 f a)
+forall k (f :: k -> *) (a :: k).
+Read (f a) =>
+ReadS [UnpackRepresentable0 f a]
+$creadsPrec :: forall k (f :: k -> *) (a :: k).
+Read (f a) =>
+Int -> ReadS (UnpackRepresentable0 f a)
+readsPrec :: Int -> ReadS (UnpackRepresentable0 f a)
+$creadList :: forall k (f :: k -> *) (a :: k).
+Read (f a) =>
+ReadS [UnpackRepresentable0 f a]
+readList :: ReadS [UnpackRepresentable0 f a]
+$creadPrec :: forall k (f :: k -> *) (a :: k).
+Read (f a) =>
+ReadPrec (UnpackRepresentable0 f a)
+readPrec :: ReadPrec (UnpackRepresentable0 f a)
+$creadListPrec :: forall k (f :: k -> *) (a :: k).
+Read (f a) =>
+ReadPrec [UnpackRepresentable0 f a]
+readListPrec :: ReadPrec [UnpackRepresentable0 f a]
+Read, Eq (UnpackRepresentable0 f a)
+Eq (UnpackRepresentable0 f a) =>
+(Int -> UnpackRepresentable0 f a -> Int)
+-> (UnpackRepresentable0 f a -> Int)
+-> Hashable (UnpackRepresentable0 f a)
+Int -> UnpackRepresentable0 f a -> Int
+UnpackRepresentable0 f a -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+forall k (f :: k -> *) (a :: k).
+Hashable (f a) =>
+Eq (UnpackRepresentable0 f a)
+forall k (f :: k -> *) (a :: k).
+Hashable (f a) =>
+Int -> UnpackRepresentable0 f a -> Int
+forall k (f :: k -> *) (a :: k).
+Hashable (f a) =>
+UnpackRepresentable0 f a -> Int
+$chashWithSalt :: forall k (f :: k -> *) (a :: k).
+Hashable (f a) =>
+Int -> UnpackRepresentable0 f a -> Int
+hashWithSalt :: Int -> UnpackRepresentable0 f a -> Int
+$chash :: forall k (f :: k -> *) (a :: k).
+Hashable (f a) =>
+UnpackRepresentable0 f a -> Int
+hash :: UnpackRepresentable0 f a -> Int
+Hashable, UnpackRepresentable0 f a -> ()
+(UnpackRepresentable0 f a -> ())
+-> NFData (UnpackRepresentable0 f a)
+forall a. (a -> ()) -> NFData a
+forall k (f :: k -> *) (a :: k).
+NFData (f a) =>
+UnpackRepresentable0 f a -> ()
+$crnf :: forall k (f :: k -> *) (a :: k).
+NFData (f a) =>
+UnpackRepresentable0 f a -> ()
+rnf :: UnpackRepresentable0 f a -> ()
+NFData, (forall a b.
+ (a -> b) -> UnpackRepresentable0 f a -> UnpackRepresentable0 f b)
+-> (forall a b.
+    a -> UnpackRepresentable0 f b -> UnpackRepresentable0 f a)
+-> Functor (UnpackRepresentable0 f)
+forall a b.
+a -> UnpackRepresentable0 f b -> UnpackRepresentable0 f a
+forall a b.
+(a -> b) -> UnpackRepresentable0 f a -> UnpackRepresentable0 f b
+forall (f :: * -> *) a b.
+Functor f =>
+a -> UnpackRepresentable0 f b -> UnpackRepresentable0 f a
+forall (f :: * -> *) a b.
+Functor f =>
+(a -> b) -> UnpackRepresentable0 f a -> UnpackRepresentable0 f b
+forall (f :: * -> *).
+(forall a b. (a -> b) -> f a -> f b)
+-> (forall a b. a -> f b -> f a) -> Functor f
+$cfmap :: forall (f :: * -> *) a b.
+Functor f =>
+(a -> b) -> UnpackRepresentable0 f a -> UnpackRepresentable0 f b
+fmap :: forall a b.
+(a -> b) -> UnpackRepresentable0 f a -> UnpackRepresentable0 f b
+$c<$ :: forall (f :: * -> *) a b.
+Functor f =>
+a -> UnpackRepresentable0 f b -> UnpackRepresentable0 f a
+<$ :: forall a b.
+a -> UnpackRepresentable0 f b -> UnpackRepresentable0 f a
+Functor)
+  deriving newtype ((forall a. Eq a => Eq (UnpackRepresentable0 f a)) =>
+(forall a b.
+ (a -> b -> Bool)
+ -> UnpackRepresentable0 f a -> UnpackRepresentable0 f b -> Bool)
+-> Eq1 (UnpackRepresentable0 f)
+forall a. Eq a => Eq (UnpackRepresentable0 f a)
+forall a b.
+(a -> b -> Bool)
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f b -> Bool
+forall (f :: * -> *) a.
+(Eq1 f, Eq a) =>
+Eq (UnpackRepresentable0 f a)
+forall (f :: * -> *) a b.
+Eq1 f =>
+(a -> b -> Bool)
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f b -> Bool
+forall (f :: * -> *).
+(forall a. Eq a => Eq (f a)) =>
+(forall a b. (a -> b -> Bool) -> f a -> f b -> Bool) -> Eq1 f
+$cliftEq :: forall (f :: * -> *) a b.
+Eq1 f =>
+(a -> b -> Bool)
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f b -> Bool
+liftEq :: forall a b.
+(a -> b -> Bool)
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f b -> Bool
+Eq1, Eq1 (UnpackRepresentable0 f)
+(Eq1 (UnpackRepresentable0 f),
+ forall a. Ord a => Ord (UnpackRepresentable0 f a)) =>
+(forall a b.
+ (a -> b -> Ordering)
+ -> UnpackRepresentable0 f a
+ -> UnpackRepresentable0 f b
+ -> Ordering)
+-> Ord1 (UnpackRepresentable0 f)
+forall a. Ord a => Ord (UnpackRepresentable0 f a)
+forall a b.
+(a -> b -> Ordering)
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f b -> Ordering
+forall (f :: * -> *). Ord1 f => Eq1 (UnpackRepresentable0 f)
+forall (f :: * -> *) a.
+(Ord1 f, Ord a) =>
+Ord (UnpackRepresentable0 f a)
+forall (f :: * -> *) a b.
+Ord1 f =>
+(a -> b -> Ordering)
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f b -> Ordering
+forall (f :: * -> *).
+(Eq1 f, forall a. Ord a => Ord (f a)) =>
+(forall a b. (a -> b -> Ordering) -> f a -> f b -> Ordering)
+-> Ord1 f
+$cliftCompare :: forall (f :: * -> *) a b.
+Ord1 f =>
+(a -> b -> Ordering)
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f b -> Ordering
+liftCompare :: forall a b.
+(a -> b -> Ordering)
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f b -> Ordering
+Ord1, (forall a. Show a => Show (UnpackRepresentable0 f a)) =>
+(forall a.
+ (Int -> a -> ShowS)
+ -> ([a] -> ShowS) -> Int -> UnpackRepresentable0 f a -> ShowS)
+-> (forall a.
+    (Int -> a -> ShowS)
+    -> ([a] -> ShowS) -> [UnpackRepresentable0 f a] -> ShowS)
+-> Show1 (UnpackRepresentable0 f)
+forall a. Show a => Show (UnpackRepresentable0 f a)
+forall a.
+(Int -> a -> ShowS)
+-> ([a] -> ShowS) -> Int -> UnpackRepresentable0 f a -> ShowS
+forall a.
+(Int -> a -> ShowS)
+-> ([a] -> ShowS) -> [UnpackRepresentable0 f a] -> ShowS
+forall (f :: * -> *) a.
+(Show1 f, Show a) =>
+Show (UnpackRepresentable0 f a)
+forall (f :: * -> *) a.
+Show1 f =>
+(Int -> a -> ShowS)
+-> ([a] -> ShowS) -> Int -> UnpackRepresentable0 f a -> ShowS
+forall (f :: * -> *) a.
+Show1 f =>
+(Int -> a -> ShowS)
+-> ([a] -> ShowS) -> [UnpackRepresentable0 f a] -> ShowS
+forall (f :: * -> *).
+(forall a. Show a => Show (f a)) =>
+(forall a.
+ (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> f a -> ShowS)
+-> (forall a.
+    (Int -> a -> ShowS) -> ([a] -> ShowS) -> [f a] -> ShowS)
+-> Show1 f
+$cliftShowsPrec :: forall (f :: * -> *) a.
+Show1 f =>
+(Int -> a -> ShowS)
+-> ([a] -> ShowS) -> Int -> UnpackRepresentable0 f a -> ShowS
+liftShowsPrec :: forall a.
+(Int -> a -> ShowS)
+-> ([a] -> ShowS) -> Int -> UnpackRepresentable0 f a -> ShowS
+$cliftShowList :: forall (f :: * -> *) a.
+Show1 f =>
+(Int -> a -> ShowS)
+-> ([a] -> ShowS) -> [UnpackRepresentable0 f a] -> ShowS
+liftShowList :: forall a.
+(Int -> a -> ShowS)
+-> ([a] -> ShowS) -> [UnpackRepresentable0 f a] -> ShowS
+Show1, (forall a. Read a => Read (UnpackRepresentable0 f a)) =>
+(forall a.
+ (Int -> ReadS a)
+ -> ReadS [a] -> Int -> ReadS (UnpackRepresentable0 f a))
+-> (forall a.
+    (Int -> ReadS a) -> ReadS [a] -> ReadS [UnpackRepresentable0 f a])
+-> (forall a.
+    ReadPrec a -> ReadPrec [a] -> ReadPrec (UnpackRepresentable0 f a))
+-> (forall a.
+    ReadPrec a -> ReadPrec [a] -> ReadPrec [UnpackRepresentable0 f a])
+-> Read1 (UnpackRepresentable0 f)
+forall a. Read a => Read (UnpackRepresentable0 f a)
+forall a.
+ReadPrec a -> ReadPrec [a] -> ReadPrec [UnpackRepresentable0 f a]
+forall a.
+ReadPrec a -> ReadPrec [a] -> ReadPrec (UnpackRepresentable0 f a)
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> Int -> ReadS (UnpackRepresentable0 f a)
+forall a.
+(Int -> ReadS a) -> ReadS [a] -> ReadS [UnpackRepresentable0 f a]
+forall (f :: * -> *) a.
+(Read1 f, Read a) =>
+Read (UnpackRepresentable0 f a)
+forall (f :: * -> *) a.
+Read1 f =>
+ReadPrec a -> ReadPrec [a] -> ReadPrec [UnpackRepresentable0 f a]
+forall (f :: * -> *) a.
+Read1 f =>
+ReadPrec a -> ReadPrec [a] -> ReadPrec (UnpackRepresentable0 f a)
+forall (f :: * -> *) a.
+Read1 f =>
+(Int -> ReadS a)
+-> ReadS [a] -> Int -> ReadS (UnpackRepresentable0 f a)
+forall (f :: * -> *) a.
+Read1 f =>
+(Int -> ReadS a) -> ReadS [a] -> ReadS [UnpackRepresentable0 f a]
+forall (f :: * -> *).
+(forall a. Read a => Read (f a)) =>
+(forall a. (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (f a))
+-> (forall a. (Int -> ReadS a) -> ReadS [a] -> ReadS [f a])
+-> (forall a. ReadPrec a -> ReadPrec [a] -> ReadPrec (f a))
+-> (forall a. ReadPrec a -> ReadPrec [a] -> ReadPrec [f a])
+-> Read1 f
+$cliftReadsPrec :: forall (f :: * -> *) a.
+Read1 f =>
+(Int -> ReadS a)
+-> ReadS [a] -> Int -> ReadS (UnpackRepresentable0 f a)
+liftReadsPrec :: forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> Int -> ReadS (UnpackRepresentable0 f a)
+$cliftReadList :: forall (f :: * -> *) a.
+Read1 f =>
+(Int -> ReadS a) -> ReadS [a] -> ReadS [UnpackRepresentable0 f a]
+liftReadList :: forall a.
+(Int -> ReadS a) -> ReadS [a] -> ReadS [UnpackRepresentable0 f a]
+$cliftReadPrec :: forall (f :: * -> *) a.
+Read1 f =>
+ReadPrec a -> ReadPrec [a] -> ReadPrec (UnpackRepresentable0 f a)
+liftReadPrec :: forall a.
+ReadPrec a -> ReadPrec [a] -> ReadPrec (UnpackRepresentable0 f a)
+$cliftReadListPrec :: forall (f :: * -> *) a.
+Read1 f =>
+ReadPrec a -> ReadPrec [a] -> ReadPrec [UnpackRepresentable0 f a]
+liftReadListPrec :: forall a.
+ReadPrec a -> ReadPrec [a] -> ReadPrec [UnpackRepresentable0 f a]
+Read1, NonEmpty (UnpackRepresentable0 f a) -> UnpackRepresentable0 f a
+UnpackRepresentable0 f a
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f a
+(UnpackRepresentable0 f a
+ -> UnpackRepresentable0 f a -> UnpackRepresentable0 f a)
+-> (NonEmpty (UnpackRepresentable0 f a)
+    -> UnpackRepresentable0 f a)
+-> (forall b.
+    Integral b =>
+    b -> UnpackRepresentable0 f a -> UnpackRepresentable0 f a)
+-> Semigroup (UnpackRepresentable0 f a)
+forall b.
+Integral b =>
+b -> UnpackRepresentable0 f a -> UnpackRepresentable0 f a
+forall a.
+(a -> a -> a)
+-> (NonEmpty a -> a)
+-> (forall b. Integral b => b -> a -> a)
+-> Semigroup a
+forall k (f :: k -> *) (a :: k).
+Semigroup (f a) =>
+NonEmpty (UnpackRepresentable0 f a) -> UnpackRepresentable0 f a
+forall k (f :: k -> *) (a :: k).
+Semigroup (f a) =>
+UnpackRepresentable0 f a
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f a
+forall k (f :: k -> *) (a :: k) b.
+(Semigroup (f a), Integral b) =>
+b -> UnpackRepresentable0 f a -> UnpackRepresentable0 f a
+$c<> :: forall k (f :: k -> *) (a :: k).
+Semigroup (f a) =>
+UnpackRepresentable0 f a
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f a
+<> :: UnpackRepresentable0 f a
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f a
+$csconcat :: forall k (f :: k -> *) (a :: k).
+Semigroup (f a) =>
+NonEmpty (UnpackRepresentable0 f a) -> UnpackRepresentable0 f a
+sconcat :: NonEmpty (UnpackRepresentable0 f a) -> UnpackRepresentable0 f a
+$cstimes :: forall k (f :: k -> *) (a :: k) b.
+(Semigroup (f a), Integral b) =>
+b -> UnpackRepresentable0 f a -> UnpackRepresentable0 f a
+stimes :: forall b.
+Integral b =>
+b -> UnpackRepresentable0 f a -> UnpackRepresentable0 f a
+Semigroup, Semigroup (UnpackRepresentable0 f a)
+UnpackRepresentable0 f a
+Semigroup (UnpackRepresentable0 f a) =>
+UnpackRepresentable0 f a
+-> (UnpackRepresentable0 f a
+    -> UnpackRepresentable0 f a -> UnpackRepresentable0 f a)
+-> ([UnpackRepresentable0 f a] -> UnpackRepresentable0 f a)
+-> Monoid (UnpackRepresentable0 f a)
+[UnpackRepresentable0 f a] -> UnpackRepresentable0 f a
+UnpackRepresentable0 f a
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f a
+forall a.
+Semigroup a =>
+a -> (a -> a -> a) -> ([a] -> a) -> Monoid a
+forall k (f :: k -> *) (a :: k).
+Monoid (f a) =>
+Semigroup (UnpackRepresentable0 f a)
+forall k (f :: k -> *) (a :: k).
+Monoid (f a) =>
+UnpackRepresentable0 f a
+forall k (f :: k -> *) (a :: k).
+Monoid (f a) =>
+[UnpackRepresentable0 f a] -> UnpackRepresentable0 f a
+forall k (f :: k -> *) (a :: k).
+Monoid (f a) =>
+UnpackRepresentable0 f a
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f a
+$cmempty :: forall k (f :: k -> *) (a :: k).
+Monoid (f a) =>
+UnpackRepresentable0 f a
+mempty :: UnpackRepresentable0 f a
+$cmappend :: forall k (f :: k -> *) (a :: k).
+Monoid (f a) =>
+UnpackRepresentable0 f a
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f a
+mappend :: UnpackRepresentable0 f a
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f a
+$cmconcat :: forall k (f :: k -> *) (a :: k).
+Monoid (f a) =>
+[UnpackRepresentable0 f a] -> UnpackRepresentable0 f a
+mconcat :: [UnpackRepresentable0 f a] -> UnpackRepresentable0 f a
+Monoid)
+  deriving newtype ((forall m. Monoid m => UnpackRepresentable0 f m -> m)
+-> (forall m a.
+    Monoid m =>
+    (a -> m) -> UnpackRepresentable0 f a -> m)
+-> (forall m a.
+    Monoid m =>
+    (a -> m) -> UnpackRepresentable0 f a -> m)
+-> (forall a b.
+    (a -> b -> b) -> b -> UnpackRepresentable0 f a -> b)
+-> (forall a b.
+    (a -> b -> b) -> b -> UnpackRepresentable0 f a -> b)
+-> (forall b a.
+    (b -> a -> b) -> b -> UnpackRepresentable0 f a -> b)
+-> (forall b a.
+    (b -> a -> b) -> b -> UnpackRepresentable0 f a -> b)
+-> (forall a. (a -> a -> a) -> UnpackRepresentable0 f a -> a)
+-> (forall a. (a -> a -> a) -> UnpackRepresentable0 f a -> a)
+-> (forall a. UnpackRepresentable0 f a -> [a])
+-> (forall a. UnpackRepresentable0 f a -> Bool)
+-> (forall a. UnpackRepresentable0 f a -> Int)
+-> (forall a. Eq a => a -> UnpackRepresentable0 f a -> Bool)
+-> (forall a. Ord a => UnpackRepresentable0 f a -> a)
+-> (forall a. Ord a => UnpackRepresentable0 f a -> a)
+-> (forall a. Num a => UnpackRepresentable0 f a -> a)
+-> (forall a. Num a => UnpackRepresentable0 f a -> a)
+-> Foldable (UnpackRepresentable0 f)
+forall a. Eq a => a -> UnpackRepresentable0 f a -> Bool
+forall a. Num a => UnpackRepresentable0 f a -> a
+forall a. Ord a => UnpackRepresentable0 f a -> a
+forall m. Monoid m => UnpackRepresentable0 f m -> m
+forall a. UnpackRepresentable0 f a -> Bool
+forall a. UnpackRepresentable0 f a -> Int
+forall a. UnpackRepresentable0 f a -> [a]
+forall a. (a -> a -> a) -> UnpackRepresentable0 f a -> a
+forall m a. Monoid m => (a -> m) -> UnpackRepresentable0 f a -> m
+forall b a. (b -> a -> b) -> b -> UnpackRepresentable0 f a -> b
+forall a b. (a -> b -> b) -> b -> UnpackRepresentable0 f a -> b
+forall (f :: * -> *) a.
+(Foldable f, Eq a) =>
+a -> UnpackRepresentable0 f a -> Bool
+forall (f :: * -> *) a.
+(Foldable f, Num a) =>
+UnpackRepresentable0 f a -> a
+forall (f :: * -> *) a.
+(Foldable f, Ord a) =>
+UnpackRepresentable0 f a -> a
+forall (f :: * -> *) m.
+(Foldable f, Monoid m) =>
+UnpackRepresentable0 f m -> m
+forall (f :: * -> *) a.
+Foldable f =>
+UnpackRepresentable0 f a -> Bool
+forall (f :: * -> *) a.
+Foldable f =>
+UnpackRepresentable0 f a -> Int
+forall (f :: * -> *) a.
+Foldable f =>
+UnpackRepresentable0 f a -> [a]
+forall (f :: * -> *) a.
+Foldable f =>
+(a -> a -> a) -> UnpackRepresentable0 f a -> a
+forall (f :: * -> *) m a.
+(Foldable f, Monoid m) =>
+(a -> m) -> UnpackRepresentable0 f a -> m
+forall (f :: * -> *) b a.
+Foldable f =>
+(b -> a -> b) -> b -> UnpackRepresentable0 f a -> b
+forall (f :: * -> *) a b.
+Foldable f =>
+(a -> b -> b) -> b -> UnpackRepresentable0 f a -> b
+forall (t :: * -> *).
+(forall m. Monoid m => t m -> m)
+-> (forall m a. Monoid m => (a -> m) -> t a -> m)
+-> (forall m a. Monoid m => (a -> m) -> t a -> m)
+-> (forall a b. (a -> b -> b) -> b -> t a -> b)
+-> (forall a b. (a -> b -> b) -> b -> t a -> b)
+-> (forall b a. (b -> a -> b) -> b -> t a -> b)
+-> (forall b a. (b -> a -> b) -> b -> t a -> b)
+-> (forall a. (a -> a -> a) -> t a -> a)
+-> (forall a. (a -> a -> a) -> t a -> a)
+-> (forall a. t a -> [a])
+-> (forall a. t a -> Bool)
+-> (forall a. t a -> Int)
+-> (forall a. Eq a => a -> t a -> Bool)
+-> (forall a. Ord a => t a -> a)
+-> (forall a. Ord a => t a -> a)
+-> (forall a. Num a => t a -> a)
+-> (forall a. Num a => t a -> a)
+-> Foldable t
+$cfold :: forall (f :: * -> *) m.
+(Foldable f, Monoid m) =>
+UnpackRepresentable0 f m -> m
+fold :: forall m. Monoid m => UnpackRepresentable0 f m -> m
+$cfoldMap :: forall (f :: * -> *) m a.
+(Foldable f, Monoid m) =>
+(a -> m) -> UnpackRepresentable0 f a -> m
+foldMap :: forall m a. Monoid m => (a -> m) -> UnpackRepresentable0 f a -> m
+$cfoldMap' :: forall (f :: * -> *) m a.
+(Foldable f, Monoid m) =>
+(a -> m) -> UnpackRepresentable0 f a -> m
+foldMap' :: forall m a. Monoid m => (a -> m) -> UnpackRepresentable0 f a -> m
+$cfoldr :: forall (f :: * -> *) a b.
+Foldable f =>
+(a -> b -> b) -> b -> UnpackRepresentable0 f a -> b
+foldr :: forall a b. (a -> b -> b) -> b -> UnpackRepresentable0 f a -> b
+$cfoldr' :: forall (f :: * -> *) a b.
+Foldable f =>
+(a -> b -> b) -> b -> UnpackRepresentable0 f a -> b
+foldr' :: forall a b. (a -> b -> b) -> b -> UnpackRepresentable0 f a -> b
+$cfoldl :: forall (f :: * -> *) b a.
+Foldable f =>
+(b -> a -> b) -> b -> UnpackRepresentable0 f a -> b
+foldl :: forall b a. (b -> a -> b) -> b -> UnpackRepresentable0 f a -> b
+$cfoldl' :: forall (f :: * -> *) b a.
+Foldable f =>
+(b -> a -> b) -> b -> UnpackRepresentable0 f a -> b
+foldl' :: forall b a. (b -> a -> b) -> b -> UnpackRepresentable0 f a -> b
+$cfoldr1 :: forall (f :: * -> *) a.
+Foldable f =>
+(a -> a -> a) -> UnpackRepresentable0 f a -> a
+foldr1 :: forall a. (a -> a -> a) -> UnpackRepresentable0 f a -> a
+$cfoldl1 :: forall (f :: * -> *) a.
+Foldable f =>
+(a -> a -> a) -> UnpackRepresentable0 f a -> a
+foldl1 :: forall a. (a -> a -> a) -> UnpackRepresentable0 f a -> a
+$ctoList :: forall (f :: * -> *) a.
+Foldable f =>
+UnpackRepresentable0 f a -> [a]
+toList :: forall a. UnpackRepresentable0 f a -> [a]
+$cnull :: forall (f :: * -> *) a.
+Foldable f =>
+UnpackRepresentable0 f a -> Bool
+null :: forall a. UnpackRepresentable0 f a -> Bool
+$clength :: forall (f :: * -> *) a.
+Foldable f =>
+UnpackRepresentable0 f a -> Int
+length :: forall a. UnpackRepresentable0 f a -> Int
+$celem :: forall (f :: * -> *) a.
+(Foldable f, Eq a) =>
+a -> UnpackRepresentable0 f a -> Bool
+elem :: forall a. Eq a => a -> UnpackRepresentable0 f a -> Bool
+$cmaximum :: forall (f :: * -> *) a.
+(Foldable f, Ord a) =>
+UnpackRepresentable0 f a -> a
+maximum :: forall a. Ord a => UnpackRepresentable0 f a -> a
+$cminimum :: forall (f :: * -> *) a.
+(Foldable f, Ord a) =>
+UnpackRepresentable0 f a -> a
+minimum :: forall a. Ord a => UnpackRepresentable0 f a -> a
+$csum :: forall (f :: * -> *) a.
+(Foldable f, Num a) =>
+UnpackRepresentable0 f a -> a
+sum :: forall a. Num a => UnpackRepresentable0 f a -> a
+$cproduct :: forall (f :: * -> *) a.
+(Foldable f, Num a) =>
+UnpackRepresentable0 f a -> a
+product :: forall a. Num a => UnpackRepresentable0 f a -> a
+Foldable, Foldable (UnpackRepresentable0 f)
+Foldable (UnpackRepresentable0 f) =>
+(forall m. Semigroup m => UnpackRepresentable0 f m -> m)
+-> (forall m a.
+    Semigroup m =>
+    (a -> m) -> UnpackRepresentable0 f a -> m)
+-> (forall m a.
+    Semigroup m =>
+    (a -> m) -> UnpackRepresentable0 f a -> m)
+-> (forall a. UnpackRepresentable0 f a -> NonEmpty a)
+-> (forall a. Ord a => UnpackRepresentable0 f a -> a)
+-> (forall a. Ord a => UnpackRepresentable0 f a -> a)
+-> (forall a. UnpackRepresentable0 f a -> a)
+-> (forall a. UnpackRepresentable0 f a -> a)
+-> (forall a b.
+    (a -> b) -> (a -> b -> b) -> UnpackRepresentable0 f a -> b)
+-> (forall a b.
+    (a -> b) -> (b -> a -> b) -> UnpackRepresentable0 f a -> b)
+-> (forall a b.
+    (a -> b) -> (b -> a -> b) -> UnpackRepresentable0 f a -> b)
+-> (forall a b.
+    (a -> b) -> (a -> b -> b) -> UnpackRepresentable0 f a -> b)
+-> Foldable1 (UnpackRepresentable0 f)
+forall a. Ord a => UnpackRepresentable0 f a -> a
+forall m. Semigroup m => UnpackRepresentable0 f m -> m
+forall a. UnpackRepresentable0 f a -> a
+forall a. UnpackRepresentable0 f a -> NonEmpty a
+forall m a.
+Semigroup m =>
+(a -> m) -> UnpackRepresentable0 f a -> m
+forall a b.
+(a -> b) -> (a -> b -> b) -> UnpackRepresentable0 f a -> b
+forall a b.
+(a -> b) -> (b -> a -> b) -> UnpackRepresentable0 f a -> b
+forall (t :: * -> *).
+Foldable t =>
+(forall m. Semigroup m => t m -> m)
+-> (forall m a. Semigroup m => (a -> m) -> t a -> m)
+-> (forall m a. Semigroup m => (a -> m) -> t a -> m)
+-> (forall a. t a -> NonEmpty a)
+-> (forall a. Ord a => t a -> a)
+-> (forall a. Ord a => t a -> a)
+-> (forall a. t a -> a)
+-> (forall a. t a -> a)
+-> (forall a b. (a -> b) -> (a -> b -> b) -> t a -> b)
+-> (forall a b. (a -> b) -> (b -> a -> b) -> t a -> b)
+-> (forall a b. (a -> b) -> (b -> a -> b) -> t a -> b)
+-> (forall a b. (a -> b) -> (a -> b -> b) -> t a -> b)
+-> Foldable1 t
+forall (f :: * -> *).
+Foldable1 f =>
+Foldable (UnpackRepresentable0 f)
+forall (f :: * -> *) a.
+(Foldable1 f, Ord a) =>
+UnpackRepresentable0 f a -> a
+forall (f :: * -> *) m.
+(Foldable1 f, Semigroup m) =>
+UnpackRepresentable0 f m -> m
+forall (f :: * -> *) a.
+Foldable1 f =>
+UnpackRepresentable0 f a -> a
+forall (f :: * -> *) a.
+Foldable1 f =>
+UnpackRepresentable0 f a -> NonEmpty a
+forall (f :: * -> *) m a.
+(Foldable1 f, Semigroup m) =>
+(a -> m) -> UnpackRepresentable0 f a -> m
+forall (f :: * -> *) a b.
+Foldable1 f =>
+(a -> b) -> (a -> b -> b) -> UnpackRepresentable0 f a -> b
+forall (f :: * -> *) a b.
+Foldable1 f =>
+(a -> b) -> (b -> a -> b) -> UnpackRepresentable0 f a -> b
+$cfold1 :: forall (f :: * -> *) m.
+(Foldable1 f, Semigroup m) =>
+UnpackRepresentable0 f m -> m
+fold1 :: forall m. Semigroup m => UnpackRepresentable0 f m -> m
+$cfoldMap1 :: forall (f :: * -> *) m a.
+(Foldable1 f, Semigroup m) =>
+(a -> m) -> UnpackRepresentable0 f a -> m
+foldMap1 :: forall m a.
+Semigroup m =>
+(a -> m) -> UnpackRepresentable0 f a -> m
+$cfoldMap1' :: forall (f :: * -> *) m a.
+(Foldable1 f, Semigroup m) =>
+(a -> m) -> UnpackRepresentable0 f a -> m
+foldMap1' :: forall m a.
+Semigroup m =>
+(a -> m) -> UnpackRepresentable0 f a -> m
+$ctoNonEmpty :: forall (f :: * -> *) a.
+Foldable1 f =>
+UnpackRepresentable0 f a -> NonEmpty a
+toNonEmpty :: forall a. UnpackRepresentable0 f a -> NonEmpty a
+$cmaximum :: forall (f :: * -> *) a.
+(Foldable1 f, Ord a) =>
+UnpackRepresentable0 f a -> a
+maximum :: forall a. Ord a => UnpackRepresentable0 f a -> a
+$cminimum :: forall (f :: * -> *) a.
+(Foldable1 f, Ord a) =>
+UnpackRepresentable0 f a -> a
+minimum :: forall a. Ord a => UnpackRepresentable0 f a -> a
+$chead :: forall (f :: * -> *) a.
+Foldable1 f =>
+UnpackRepresentable0 f a -> a
+head :: forall a. UnpackRepresentable0 f a -> a
+$clast :: forall (f :: * -> *) a.
+Foldable1 f =>
+UnpackRepresentable0 f a -> a
+last :: forall a. UnpackRepresentable0 f a -> a
+$cfoldrMap1 :: forall (f :: * -> *) a b.
+Foldable1 f =>
+(a -> b) -> (a -> b -> b) -> UnpackRepresentable0 f a -> b
+foldrMap1 :: forall a b.
+(a -> b) -> (a -> b -> b) -> UnpackRepresentable0 f a -> b
+$cfoldlMap1' :: forall (f :: * -> *) a b.
+Foldable1 f =>
+(a -> b) -> (b -> a -> b) -> UnpackRepresentable0 f a -> b
+foldlMap1' :: forall a b.
+(a -> b) -> (b -> a -> b) -> UnpackRepresentable0 f a -> b
+$cfoldlMap1 :: forall (f :: * -> *) a b.
+Foldable1 f =>
+(a -> b) -> (b -> a -> b) -> UnpackRepresentable0 f a -> b
+foldlMap1 :: forall a b.
+(a -> b) -> (b -> a -> b) -> UnpackRepresentable0 f a -> b
+$cfoldrMap1' :: forall (f :: * -> *) a b.
+Foldable1 f =>
+(a -> b) -> (a -> b -> b) -> UnpackRepresentable0 f a -> b
+foldrMap1' :: forall a b.
+(a -> b) -> (a -> b -> b) -> UnpackRepresentable0 f a -> b
+Foldable1, Functor (UnpackRepresentable0 f)
+Functor (UnpackRepresentable0 f) =>
+(forall a. a -> UnpackRepresentable0 f a)
+-> (forall a b.
+    UnpackRepresentable0 f (a -> b)
+    -> UnpackRepresentable0 f a -> UnpackRepresentable0 f b)
+-> (forall a b c.
+    (a -> b -> c)
+    -> UnpackRepresentable0 f a
+    -> UnpackRepresentable0 f b
+    -> UnpackRepresentable0 f c)
+-> (forall a b.
+    UnpackRepresentable0 f a
+    -> UnpackRepresentable0 f b -> UnpackRepresentable0 f b)
+-> (forall a b.
+    UnpackRepresentable0 f a
+    -> UnpackRepresentable0 f b -> UnpackRepresentable0 f a)
+-> Applicative (UnpackRepresentable0 f)
+forall a. a -> UnpackRepresentable0 f a
+forall a b.
+UnpackRepresentable0 f a
+-> UnpackRepresentable0 f b -> UnpackRepresentable0 f a
+forall a b.
+UnpackRepresentable0 f a
+-> UnpackRepresentable0 f b -> UnpackRepresentable0 f b
+forall a b.
+UnpackRepresentable0 f (a -> b)
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f b
+forall a b c.
+(a -> b -> c)
+-> UnpackRepresentable0 f a
+-> UnpackRepresentable0 f b
+-> UnpackRepresentable0 f c
+forall (f :: * -> *).
+Functor f =>
+(forall a. a -> f a)
+-> (forall a b. f (a -> b) -> f a -> f b)
+-> (forall a b c. (a -> b -> c) -> f a -> f b -> f c)
+-> (forall a b. f a -> f b -> f b)
+-> (forall a b. f a -> f b -> f a)
+-> Applicative f
+forall (f :: * -> *).
+Applicative f =>
+Functor (UnpackRepresentable0 f)
+forall (f :: * -> *) a.
+Applicative f =>
+a -> UnpackRepresentable0 f a
+forall (f :: * -> *) a b.
+Applicative f =>
+UnpackRepresentable0 f a
+-> UnpackRepresentable0 f b -> UnpackRepresentable0 f a
+forall (f :: * -> *) a b.
+Applicative f =>
+UnpackRepresentable0 f a
+-> UnpackRepresentable0 f b -> UnpackRepresentable0 f b
+forall (f :: * -> *) a b.
+Applicative f =>
+UnpackRepresentable0 f (a -> b)
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f b
+forall (f :: * -> *) a b c.
+Applicative f =>
+(a -> b -> c)
+-> UnpackRepresentable0 f a
+-> UnpackRepresentable0 f b
+-> UnpackRepresentable0 f c
+$cpure :: forall (f :: * -> *) a.
+Applicative f =>
+a -> UnpackRepresentable0 f a
+pure :: forall a. a -> UnpackRepresentable0 f a
+$c<*> :: forall (f :: * -> *) a b.
+Applicative f =>
+UnpackRepresentable0 f (a -> b)
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f b
+<*> :: forall a b.
+UnpackRepresentable0 f (a -> b)
+-> UnpackRepresentable0 f a -> UnpackRepresentable0 f b
+$cliftA2 :: forall (f :: * -> *) a b c.
+Applicative f =>
+(a -> b -> c)
+-> UnpackRepresentable0 f a
+-> UnpackRepresentable0 f b
+-> UnpackRepresentable0 f c
+liftA2 :: forall a b c.
+(a -> b -> c)
+-> UnpackRepresentable0 f a
+-> UnpackRepresentable0 f b
+-> UnpackRepresentable0 f c
+$c*> :: forall (f :: * -> *) a b.
+Applicative f =>
+UnpackRepresentable0 f a
+-> UnpackRepresentable0 f b -> UnpackRepresentable0 f b
+*> :: forall a b.
+UnpackRepresentable0 f a
+-> UnpackRepresentable0 f b -> UnpackRepresentable0 f b
+$c<* :: forall (f :: * -> *) a b.
+Applicative f =>
+UnpackRepresentable0 f a
+-> UnpackRepresentable0 f b -> UnpackRepresentable0 f a
+<* :: forall a b.
+UnpackRepresentable0 f a
+-> UnpackRepresentable0 f b -> UnpackRepresentable0 f a
+Applicative, Applicative (UnpackRepresentable0 f)
+Applicative (UnpackRepresentable0 f) =>
+(forall a b.
+ UnpackRepresentable0 f a
+ -> (a -> UnpackRepresentable0 f b) -> UnpackRepresentable0 f b)
+-> (forall a b.
+    UnpackRepresentable0 f a
+    -> UnpackRepresentable0 f b -> UnpackRepresentable0 f b)
+-> (forall a. a -> UnpackRepresentable0 f a)
+-> Monad (UnpackRepresentable0 f)
+forall a. a -> UnpackRepresentable0 f a
+forall a b.
+UnpackRepresentable0 f a
+-> UnpackRepresentable0 f b -> UnpackRepresentable0 f b
+forall a b.
+UnpackRepresentable0 f a
+-> (a -> UnpackRepresentable0 f b) -> UnpackRepresentable0 f b
+forall (f :: * -> *).
+Monad f =>
+Applicative (UnpackRepresentable0 f)
+forall (f :: * -> *) a. Monad f => a -> UnpackRepresentable0 f a
+forall (f :: * -> *) a b.
+Monad f =>
+UnpackRepresentable0 f a
+-> UnpackRepresentable0 f b -> UnpackRepresentable0 f b
+forall (f :: * -> *) a b.
+Monad f =>
+UnpackRepresentable0 f a
+-> (a -> UnpackRepresentable0 f b) -> UnpackRepresentable0 f b
+forall (m :: * -> *).
+Applicative m =>
+(forall a b. m a -> (a -> m b) -> m b)
+-> (forall a b. m a -> m b -> m b)
+-> (forall a. a -> m a)
+-> Monad m
+$c>>= :: forall (f :: * -> *) a b.
+Monad f =>
+UnpackRepresentable0 f a
+-> (a -> UnpackRepresentable0 f b) -> UnpackRepresentable0 f b
+>>= :: forall a b.
+UnpackRepresentable0 f a
+-> (a -> UnpackRepresentable0 f b) -> UnpackRepresentable0 f b
+$c>> :: forall (f :: * -> *) a b.
+Monad f =>
+UnpackRepresentable0 f a
+-> UnpackRepresentable0 f b -> UnpackRepresentable0 f b
+>> :: forall a b.
+UnpackRepresentable0 f a
+-> UnpackRepresentable0 f b -> UnpackRepresentable0 f b
+$creturn :: forall (f :: * -> *) a. Monad f => a -> UnpackRepresentable0 f a
+return :: forall a. a -> UnpackRepresentable0 f a
+Monad)
+
+-- | @'sequenceA' ('tabulate' ('const' 'unpack'))@
+instance
+  (Unpack a, Representable f, Traversable f) =>
+  Unpack (UnpackRepresentable0 f a)
+  where
+  unpack :: forall (st :: ZeroBitType) r.
+Parser st r (UnpackRepresentable0 f a)
+unpack = f a -> UnpackRepresentable0 f a
+forall {k} (f :: k -> *) (a :: k). f a -> UnpackRepresentable0 f a
+UnpackRepresentable0 (f a -> UnpackRepresentable0 f a)
+-> ParserT st r ParseError (f a)
+-> ParserT st r ParseError (UnpackRepresentable0 f a)
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> f (ParserT st r ParseError a) -> ParserT st r ParseError (f a)
+forall (t :: * -> *) (f :: * -> *) a.
+(Traversable t, Applicative f) =>
+t (f a) -> f (t a)
+forall (f :: * -> *) a. Applicative f => f (f a) -> f (f a)
+sequenceA ((Rep f -> ParserT st r ParseError a)
+-> f (ParserT st r ParseError a)
+forall a. (Rep f -> a) -> f a
+forall (f :: * -> *) a. Representable f => (Rep f -> a) -> f a
+tabulate (ParserT st r ParseError a -> Rep f -> ParserT st r ParseError a
+forall a b. a -> b -> a
+const ParserT st r ParseError a
+forall (st :: ZeroBitType) r. Parser st r a
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack))
+  {-# INLINEABLE unpack #-}
+
\ No newline at end of file diff --git a/src/M.Pack.Internal.Num.html b/src/M.Pack.Internal.Num.html new file mode 100644 index 0000000..25dcb9d --- /dev/null +++ b/src/M.Pack.Internal.Num.html @@ -0,0 +1,330 @@ +
{-# OPTIONS_GHC -Wno-orphans #-}
+
+-- |
+-- Module: M.Pack.Internal.Num
+-- Description: Numeric type serialization
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Implements Pack and Unpack instances for numeric types and Bool,
+-- including integral types, floating point numbers, and LEB128 encoding.
+module M.Pack.Internal.Num
+  ( packleb32,
+    unpackleb32,
+    packfi,
+    unpackfi,
+    guardnat,
+  )
+where
+
+import Data.Bits
+import Data.ByteString.Builder
+import Data.Coerce
+import Data.Int
+import Data.Word
+import FlatParse.Stateful qualified as F
+import GHC.Float
+import M.LEB
+import M.Pack.Internal.FromIntegral
+import M.Pack.Internal.Types
+
+instance Pack Int8 where
+  pack :: Int8 -> Builder
+pack = Int8 -> Builder
+int8
+  {-# INLINE pack #-}
+
+instance Unpack Int8 where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r Int8
+unpack = ParserT st r ParseError Int8
+forall (st :: ZeroBitType) r e. ParserT st r e Int8
+F.anyInt8
+  {-# INLINE unpack #-}
+
+instance Pack Word8 where
+  pack :: Word8 -> Builder
+pack = Word8 -> Builder
+word8
+  {-# INLINE pack #-}
+
+instance Unpack Word8 where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r Word8
+unpack = ParserT st r ParseError Word8
+forall (st :: ZeroBitType) r e. ParserT st r e Word8
+F.anyWord8
+  {-# INLINE unpack #-}
+
+instance Pack Int16 where
+  pack :: Int16 -> Builder
+pack = Int16 -> Builder
+int16BE
+  {-# INLINE pack #-}
+
+instance Unpack Int16 where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r Int16
+unpack = ParserT st r ParseError Int16
+forall (st :: ZeroBitType) r e. ParserT st r e Int16
+F.anyInt16be
+  {-# INLINE unpack #-}
+
+instance Pack Word16 where
+  pack :: Word16 -> Builder
+pack = Word16 -> Builder
+word16BE
+  {-# INLINE pack #-}
+
+instance Unpack Word16 where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r Word16
+unpack = ParserT st r ParseError Word16
+forall (st :: ZeroBitType) r e. ParserT st r e Word16
+F.anyWord16be
+  {-# INLINE unpack #-}
+
+instance Pack Int32 where
+  pack :: Int32 -> Builder
+pack = Int32 -> Builder
+int32BE
+  {-# INLINE pack #-}
+
+instance Unpack Int32 where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r Int32
+unpack = ParserT st r ParseError Int32
+forall (st :: ZeroBitType) r e. ParserT st r e Int32
+F.anyInt32be
+  {-# INLINE unpack #-}
+
+instance Pack Word32 where
+  pack :: Word32 -> Builder
+pack = Word32 -> Builder
+word32BE
+  {-# INLINE pack #-}
+
+instance Unpack Word32 where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r Word32
+unpack = ParserT st r ParseError Word32
+forall (st :: ZeroBitType) r e. ParserT st r e Word32
+F.anyWord32be
+  {-# INLINE unpack #-}
+
+instance Pack Int64 where
+  pack :: Int64 -> Builder
+pack = Int64 -> Builder
+int64BE
+  {-# INLINE pack #-}
+
+instance Unpack Int64 where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r Int64
+unpack = ParserT st r ParseError Int64
+forall (st :: ZeroBitType) r e. ParserT st r e Int64
+F.anyInt64be
+  {-# INLINE unpack #-}
+
+instance Pack Word64 where
+  pack :: Word64 -> Builder
+pack = Word64 -> Builder
+word64BE
+  {-# INLINE pack #-}
+
+instance Unpack Word64 where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r Word64
+unpack = ParserT st r ParseError Word64
+forall (st :: ZeroBitType) r e. ParserT st r e Word64
+F.anyWord64be
+  {-# INLINE unpack #-}
+
+instance Pack Float where
+  pack :: Float -> Builder
+pack = Float -> Builder
+floatBE
+  {-# INLINE pack #-}
+
+instance Unpack Float where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r Float
+unpack = Word32 -> Float
+castWord32ToFloat (Word32 -> Float)
+-> ParserT st r ParseError Word32 -> ParserT st r ParseError Float
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ParserT st r ParseError Word32
+forall (st :: ZeroBitType) r e. ParserT st r e Word32
+F.anyWord32be
+  {-# INLINE unpack #-}
+
+instance Pack Double where
+  pack :: Double -> Builder
+pack = Double -> Builder
+doubleBE
+  {-# INLINE pack #-}
+
+instance Unpack Double where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r Double
+unpack = Word64 -> Double
+castWord64ToDouble (Word64 -> Double)
+-> ParserT st r ParseError Word64 -> ParserT st r ParseError Double
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ParserT st r ParseError Word64
+forall (st :: ZeroBitType) r e. ParserT st r e Word64
+F.anyWord64be
+  {-# INLINE unpack #-}
+
+instance Pack Bool where
+  pack :: Bool -> Builder
+pack = Word8 -> Builder
+word8 (Word8 -> Builder) -> (Bool -> Word8) -> Bool -> Builder
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Int -> Word8
+forall a b. (Integral a, Num b) => a -> b
+fi (Int -> Word8) -> (Bool -> Int) -> Bool -> Word8
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Bool -> Int
+forall a. Enum a => a -> Int
+fromEnum
+  {-# INLINEABLE pack #-}
+
+instance Unpack Bool where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r Bool
+unpack =
+    ParserT st r ParseError Word8
+forall (st :: ZeroBitType) r e. ParserT st r e Word8
+F.anyWord8 ParserT st r ParseError Word8
+-> (Word8 -> ParserT st r ParseError Bool)
+-> ParserT st r ParseError Bool
+forall a b.
+ParserT st r ParseError a
+-> (a -> ParserT st r ParseError b) -> ParserT st r ParseError b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= \case
+      Word8
+0 -> Bool -> ParserT st r ParseError Bool
+forall a. a -> ParserT st r ParseError a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure Bool
+False
+      Word8
+1 -> Bool -> ParserT st r ParseError Bool
+forall a. a -> ParserT st r ParseError a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure Bool
+True
+      Word8
+n -> ParseError -> ParserT st r ParseError Bool
+forall e (st :: ZeroBitType) r a. e -> ParserT st r e a
+F.err (ParseError -> ParserT st r ParseError Bool)
+-> ParseError -> ParserT st r ParseError Bool
+forall a b. (a -> b) -> a -> b
+$ String -> ParseError
+forall a b. Coercible a b => a -> b
+coerce (String -> ParseError) -> String -> ParseError
+forall a b. (a -> b) -> a -> b
+$ String
+"illegal Bool representation: " String -> String -> String
+forall a. Semigroup a => a -> a -> a
+<> Word8 -> String
+forall a. Show a => a -> String
+show Word8
+n
+  {-# INLINEABLE unpack #-}
+
+instance (FiniteBits a, Integral a) => Pack (LEB a) where
+  pack :: LEB a -> Builder
+pack = LEB a -> Builder
+forall a. (FiniteBits a, Integral a) => LEB a -> Builder
+encodeleb
+  {-# INLINE pack #-}
+
+instance (FiniteBits a, Num a) => Unpack (LEB a) where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r (LEB a)
+unpack = ParserT st r ParseError Word8 -> ParserT st r ParseError (LEB a)
+forall (m :: * -> *) a.
+(Monad m, FiniteBits a, Num a) =>
+m Word8 -> m (LEB a)
+decodeleb ParserT st r ParseError Word8
+forall (st :: ZeroBitType) r e. ParserT st r e Word8
+F.anyWord8
+  {-# INLINE unpack #-}
+
+-- pack as leb encoded integers
+
+-- | pack as an LEB128-encoded 'Int32'
+packleb32 :: (Integral a) => a -> Builder
+packleb32 :: forall a. Integral a => a -> Builder
+packleb32 = forall a. Pack a => a -> Builder
+pack @(LEB Int32) (LEB Int32 -> Builder) -> (a -> LEB Int32) -> a -> Builder
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. a -> LEB Int32
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral
+{-# INLINE packleb32 #-}
+
+-- | unpack from an LEB128-encoded 'Int32'
+unpackleb32 :: (Integral a) => Parser st r a
+unpackleb32 :: forall a (st :: ZeroBitType) r. Integral a => Parser st r a
+unpackleb32 = LEB Int32 -> a
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral (LEB Int32 -> a)
+-> ParserT st r ParseError (LEB Int32) -> ParserT st r ParseError a
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack @(LEB Int32)
+{-# INLINE unpackleb32 #-}
+
+-- pack with fromIntegral
+
+-- | pack @b@ in the format of @a@
+packfi :: forall a b. (Integral a, Pack a, Integral b) => b -> Builder
+packfi :: forall a b. (Integral a, Pack a, Integral b) => b -> Builder
+packfi = forall a. Pack a => a -> Builder
+pack @a (a -> Builder) -> (b -> a) -> b -> Builder
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. b -> a
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral
+
+-- | unpack @b@ from a number in the format of @a@
+unpackfi :: forall a b st r. (Integral a, Unpack a, Integral b) => Parser st r b
+unpackfi :: forall a b (st :: ZeroBitType) r.
+(Integral a, Unpack a, Integral b) =>
+Parser st r b
+unpackfi = a -> b
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral (a -> b) -> ParserT st r ParseError a -> ParserT st r ParseError b
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack @a
+
+-- | ensure the number is non-negative
+guardnat :: (Num a, Ord a, Show a) => String -> a -> Parser st r a
+guardnat :: forall a (st :: ZeroBitType) r.
+(Num a, Ord a, Show a) =>
+String -> a -> Parser st r a
+guardnat String
+na a
+nu
+  | a
+nu a -> a -> Bool
+forall a. Ord a => a -> a -> Bool
+< a
+0 = ParseError -> ParserT st r ParseError a
+forall e (st :: ZeroBitType) r a. e -> ParserT st r e a
+F.err (ParseError -> ParserT st r ParseError a)
+-> ParseError -> ParserT st r ParseError a
+forall a b. (a -> b) -> a -> b
+$ String -> ParseError
+ParseError (String -> ParseError) -> String -> ParseError
+forall a b. (a -> b) -> a -> b
+$ String
+na String -> String -> String
+forall a. [a] -> [a] -> [a]
+++ String
+": negative: " String -> String -> String
+forall a. [a] -> [a] -> [a]
+++ a -> String
+forall a. Show a => a -> String
+show a
+nu
+  | Bool
+otherwise = a -> ParserT st r ParseError a
+forall a. a -> ParserT st r ParseError a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure a
+nu
+
\ No newline at end of file diff --git a/src/M.Pack.Internal.TH.html b/src/M.Pack.Internal.TH.html new file mode 100644 index 0000000..1e743b6 --- /dev/null +++ b/src/M.Pack.Internal.TH.html @@ -0,0 +1,80 @@ +
-- |
+-- Module: M.Pack.Internal.TH
+-- Description: Template Haskell serialization utilities
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Provides Template Haskell machinery for automatically deriving Pack and
+-- Unpack instances, including support for shadowing and proper derivation.
+module M.Pack.Internal.TH
+  ( borrowderivepackunpack,
+    properderivepackunpack,
+    borrowderivenothing,
+  )
+where
+
+import Data.Functor
+import Data.Serde.QQ
+import Language.Haskell.TH
+import M.Pack.Internal.Types
+
+-- | shadow-derive 'Pack' and 'Unpack' instances for a type
+borrowderivepackunpack :: RunUserCoercion -> Q [Dec]
+borrowderivepackunpack :: RunUserCoercion -> Q [Dec]
+borrowderivepackunpack RunUserCoercion {Q Exp
+Q Pat
+Q Type
+patnormal :: Q Pat
+patshadow :: Q Pat
+appnormal :: Q Exp
+appshadow :: Q Exp
+datatyp :: Q Type
+shadowdatatyp :: Q Type
+appnormal :: RunUserCoercion -> Q Exp
+appshadow :: RunUserCoercion -> Q Exp
+datatyp :: RunUserCoercion -> Q Type
+patnormal :: RunUserCoercion -> Q Pat
+patshadow :: RunUserCoercion -> Q Pat
+shadowdatatyp :: RunUserCoercion -> Q Type
+..} = do
+  [d|
+    instance Pack $Q Type
+datatyp where
+      pack $Q Pat
+patnormal = pack $Q Exp
+appshadow
+      {-# INLINEABLE pack #-}
+
+    instance Unpack $Q Type
+datatyp where
+      unpack = unpack <&> \($Q Pat
+patshadow) -> $Q Exp
+appnormal
+      {-# INLINEABLE unpack #-}
+    |]
+
+properderivepackunpack :: Name -> Q [Dec]
+properderivepackunpack :: Name -> Q [Dec]
+properderivepackunpack Name
+n = do
+  [d|
+    instance Pack $(Name -> Q Type
+forall (m :: * -> *). Quote m => Name -> m Type
+conT Name
+n)
+
+    instance Unpack $(Name -> Q Type
+forall (m :: * -> *). Quote m => Name -> m Type
+conT Name
+n)
+    |]
+
+-- | literally do nothing
+borrowderivenothing :: RunUserCoercion -> Q [Dec]
+borrowderivenothing :: RunUserCoercion -> Q [Dec]
+borrowderivenothing RunUserCoercion
+_ = [Dec] -> Q [Dec]
+forall a. a -> Q a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure []
+
\ No newline at end of file diff --git a/src/M.Pack.Internal.Types.html b/src/M.Pack.Internal.Types.html new file mode 100644 index 0000000..aff2d11 --- /dev/null +++ b/src/M.Pack.Internal.Types.html @@ -0,0 +1,881 @@ +
-- |
+-- Module: M.Pack.Internal.Types
+-- Description: Core serialization type system
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Defines the core type system for binary serialization and deserialization,
+-- including Pack and Unpack typeclasses and related utilities.
+module M.Pack.Internal.Types
+  ( Pack (..),
+    SomePack (..),
+    Unpack (..),
+    SomeUnpack (..),
+    Parser,
+    Result,
+    ParseError (..),
+    parsepure,
+    parsepure0,
+    castsomepack,
+    castsomeunpack,
+    unpacksome,
+  )
+where
+
+import Control.Applicative
+import Control.Exception
+import Control.Monad.ST.Strict
+import Data.ByteString (ByteString)
+import Data.ByteString.Builder (Builder)
+import Data.Data
+import Data.String
+import Data.Void
+import FlatParse.Stateful qualified as F
+import GHC.Generics
+import Language.Haskell.TH.Syntax (Lift)
+
+-- | our parser type
+type Parser st r = F.ParserT st r ParseError
+
+-- | our parse result
+type Result = F.Result ParseError
+
+-- | our parser error type
+newtype ParseError = ParseError {ParseError -> String
+showparseerror :: String} -- generic message
+  deriving newtype (ParseError -> ParseError -> Bool
+(ParseError -> ParseError -> Bool)
+-> (ParseError -> ParseError -> Bool) -> Eq ParseError
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: ParseError -> ParseError -> Bool
+== :: ParseError -> ParseError -> Bool
+$c/= :: ParseError -> ParseError -> Bool
+/= :: ParseError -> ParseError -> Bool
+Eq, Eq ParseError
+Eq ParseError =>
+(ParseError -> ParseError -> Ordering)
+-> (ParseError -> ParseError -> Bool)
+-> (ParseError -> ParseError -> Bool)
+-> (ParseError -> ParseError -> Bool)
+-> (ParseError -> ParseError -> Bool)
+-> (ParseError -> ParseError -> ParseError)
+-> (ParseError -> ParseError -> ParseError)
+-> Ord ParseError
+ParseError -> ParseError -> Bool
+ParseError -> ParseError -> Ordering
+ParseError -> ParseError -> ParseError
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: ParseError -> ParseError -> Ordering
+compare :: ParseError -> ParseError -> Ordering
+$c< :: ParseError -> ParseError -> Bool
+< :: ParseError -> ParseError -> Bool
+$c<= :: ParseError -> ParseError -> Bool
+<= :: ParseError -> ParseError -> Bool
+$c> :: ParseError -> ParseError -> Bool
+> :: ParseError -> ParseError -> Bool
+$c>= :: ParseError -> ParseError -> Bool
+>= :: ParseError -> ParseError -> Bool
+$cmax :: ParseError -> ParseError -> ParseError
+max :: ParseError -> ParseError -> ParseError
+$cmin :: ParseError -> ParseError -> ParseError
+min :: ParseError -> ParseError -> ParseError
+Ord, Int -> ParseError -> String -> String
+[ParseError] -> String -> String
+ParseError -> String
+(Int -> ParseError -> String -> String)
+-> (ParseError -> String)
+-> ([ParseError] -> String -> String)
+-> Show ParseError
+forall a.
+(Int -> a -> String -> String)
+-> (a -> String) -> ([a] -> String -> String) -> Show a
+$cshowsPrec :: Int -> ParseError -> String -> String
+showsPrec :: Int -> ParseError -> String -> String
+$cshow :: ParseError -> String
+show :: ParseError -> String
+$cshowList :: [ParseError] -> String -> String
+showList :: [ParseError] -> String -> String
+Show, String -> ParseError
+(String -> ParseError) -> IsString ParseError
+forall a. (String -> a) -> IsString a
+$cfromString :: String -> ParseError
+fromString :: String -> ParseError
+IsString)
+  deriving stock (Typeable, Typeable ParseError
+Typeable ParseError =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> ParseError -> c ParseError)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c ParseError)
+-> (ParseError -> Constr)
+-> (ParseError -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c ParseError))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c ParseError))
+-> ((forall b. Data b => b -> b) -> ParseError -> ParseError)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> ParseError -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> ParseError -> r)
+-> (forall u. (forall d. Data d => d -> u) -> ParseError -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> ParseError -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> ParseError -> m ParseError)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> ParseError -> m ParseError)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> ParseError -> m ParseError)
+-> Data ParseError
+ParseError -> Constr
+ParseError -> DataType
+(forall b. Data b => b -> b) -> ParseError -> ParseError
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> ParseError -> u
+forall u. (forall d. Data d => d -> u) -> ParseError -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ParseError -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ParseError -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> ParseError -> m ParseError
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> ParseError -> m ParseError
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c ParseError
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> ParseError -> c ParseError
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c ParseError)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ParseError)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> ParseError -> c ParseError
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> ParseError -> c ParseError
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c ParseError
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c ParseError
+$ctoConstr :: ParseError -> Constr
+toConstr :: ParseError -> Constr
+$cdataTypeOf :: ParseError -> DataType
+dataTypeOf :: ParseError -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c ParseError)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c ParseError)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ParseError)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ParseError)
+$cgmapT :: (forall b. Data b => b -> b) -> ParseError -> ParseError
+gmapT :: (forall b. Data b => b -> b) -> ParseError -> ParseError
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ParseError -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ParseError -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ParseError -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ParseError -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> ParseError -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> ParseError -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> ParseError -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> ParseError -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> ParseError -> m ParseError
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> ParseError -> m ParseError
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> ParseError -> m ParseError
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> ParseError -> m ParseError
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> ParseError -> m ParseError
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> ParseError -> m ParseError
+Data, (forall x. ParseError -> Rep ParseError x)
+-> (forall x. Rep ParseError x -> ParseError) -> Generic ParseError
+forall x. Rep ParseError x -> ParseError
+forall x. ParseError -> Rep ParseError x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. ParseError -> Rep ParseError x
+from :: forall x. ParseError -> Rep ParseError x
+$cto :: forall x. Rep ParseError x -> ParseError
+to :: forall x. Rep ParseError x -> ParseError
+Generic, (forall (m :: * -> *). Quote m => ParseError -> m Exp)
+-> (forall (m :: * -> *).
+    Quote m =>
+    ParseError -> Code m ParseError)
+-> Lift ParseError
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => ParseError -> m Exp
+forall (m :: * -> *). Quote m => ParseError -> Code m ParseError
+$clift :: forall (m :: * -> *). Quote m => ParseError -> m Exp
+lift :: forall (m :: * -> *). Quote m => ParseError -> m Exp
+$cliftTyped :: forall (m :: * -> *). Quote m => ParseError -> Code m ParseError
+liftTyped :: forall (m :: * -> *). Quote m => ParseError -> Code m ParseError
+Lift)
+  deriving anyclass (Show ParseError
+Typeable ParseError
+(Typeable ParseError, Show ParseError) =>
+(ParseError -> SomeException)
+-> (SomeException -> Maybe ParseError)
+-> (ParseError -> String)
+-> Exception ParseError
+SomeException -> Maybe ParseError
+ParseError -> String
+ParseError -> SomeException
+forall e.
+(Typeable e, Show e) =>
+(e -> SomeException)
+-> (SomeException -> Maybe e) -> (e -> String) -> Exception e
+$ctoException :: ParseError -> SomeException
+toException :: ParseError -> SomeException
+$cfromException :: SomeException -> Maybe ParseError
+fromException :: SomeException -> Maybe ParseError
+$cdisplayException :: ParseError -> String
+displayException :: ParseError -> String
+Exception)
+
+-- | run a pure parser efficiently (by inlining)
+parsepure :: (forall st. Parser st r a) -> r -> Int -> ByteString -> Result a
+parsepure :: forall r a.
+(forall (st :: ZeroBitType). Parser st r a)
+-> r -> Int -> ByteString -> Result a
+parsepure forall (st :: ZeroBitType). Parser st r a
+p r
+r Int
+i ByteString
+b = (forall s. ST s (Result a)) -> Result a
+forall a. (forall s. ST s a) -> a
+runST (ParserST s r ParseError a
+-> r -> Int -> ByteString -> ST s (Result a)
+forall s r e a.
+ParserST s r e a -> r -> Int -> ByteString -> ST s (Result e a)
+F.runParserST ParserST s r ParseError a
+forall (st :: ZeroBitType). Parser st r a
+p r
+r Int
+i ByteString
+b)
+{-# INLINE parsepure #-}
+
+-- | run a pure parser with no state efficiently (by inlining)
+parsepure0 :: (forall st. Parser st () a) -> ByteString -> Result a
+parsepure0 :: forall a.
+(forall (st :: ZeroBitType). Parser st () a)
+-> ByteString -> Result a
+parsepure0 forall (st :: ZeroBitType). Parser st () a
+p = (forall (st :: ZeroBitType). Parser st () a)
+-> () -> Int -> ByteString -> Result a
+forall r a.
+(forall (st :: ZeroBitType). Parser st r a)
+-> r -> Int -> ByteString -> Result a
+parsepure Parser st () a
+forall (st :: ZeroBitType). Parser st () a
+p () Int
+0
+{-# INLINE parsepure0 #-}
+
+-- | produce a 'Builder' from a value
+class Pack a where
+  -- | produce a 'Builder' from a value
+  pack :: a -> Builder
+  default pack :: (Generic a, GPack (Rep a)) => a -> Builder
+  pack = Rep a Any -> Builder
+forall a. Rep a a -> Builder
+forall {k} (f :: k -> *) (a :: k). GPack f => f a -> Builder
+gpack (Rep a Any -> Builder) -> (a -> Rep a Any) -> a -> Builder
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. a -> Rep a Any
+forall x. a -> Rep a x
+forall a x. Generic a => a -> Rep a x
+from
+  {-# INLINE pack #-}
+
+-- | existential 'Pack' container
+data SomePack = forall a. (Typeable a, Pack a, Show a) => SomePack a
+  deriving stock (Typeable)
+
+instance Pack SomePack where
+  pack :: SomePack -> Builder
+pack (SomePack a
+x) = a -> Builder
+forall a. Pack a => a -> Builder
+pack a
+x
+  {-# INLINE pack #-}
+
+instance Show SomePack where
+  show :: SomePack -> String
+show (SomePack a
+x) = a -> String
+forall a. Show a => a -> String
+show a
+x
+  {-# INLINE show #-}
+
+-- | cast a 'SomePack' to a type
+castsomepack :: (Typeable a) => SomePack -> Maybe a
+castsomepack :: forall a. Typeable a => SomePack -> Maybe a
+castsomepack = SomePack -> Maybe a
+forall a b. (Typeable a, Typeable b) => a -> Maybe b
+cast
+{-# INLINE castsomepack #-}
+
+-- | retrieve a 'Parser' for a type
+class Unpack a where
+  -- | retrieve a 'Parser' for a type
+  unpack :: Parser st r a
+  default unpack :: (Generic a, GUnpack (Rep a)) => Parser st r a
+  unpack = Rep a Any -> a
+forall a x. Generic a => Rep a x -> a
+forall x. Rep a x -> a
+to (Rep a Any -> a)
+-> ParserT st r ParseError (Rep a Any) -> ParserT st r ParseError a
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ParserT st r ParseError (Rep a Any)
+forall (st :: ZeroBitType) r a. Parser st r (Rep a a)
+forall {k} (f :: k -> *) (st :: ZeroBitType) r (a :: k).
+GUnpack f =>
+Parser st r (f a)
+gunpack
+  {-# INLINE unpack #-}
+
+-- | existential 'Unpack' container
+--
+-- to 'unpack' this, try using 'unpacksome' with a type application
+data SomeUnpack = forall a. (Typeable a, Unpack a, Show a) => SomeUnpack a
+  deriving stock (Typeable)
+
+instance Show SomeUnpack where
+  show :: SomeUnpack -> String
+show (SomeUnpack a
+x) = a -> String
+forall a. Show a => a -> String
+show a
+x
+  {-# INLINE show #-}
+
+-- | use a type application to retrieve a 'SomeUnpack'
+unpacksome ::
+  forall a st r.
+  (Typeable a, Unpack a, Show a) =>
+  Parser st r SomeUnpack
+unpacksome :: forall a (st :: ZeroBitType) r.
+(Typeable a, Unpack a, Show a) =>
+Parser st r SomeUnpack
+unpacksome = a -> SomeUnpack
+forall a. (Typeable a, Unpack a, Show a) => a -> SomeUnpack
+SomeUnpack (a -> SomeUnpack)
+-> ParserT st r ParseError a -> ParserT st r ParseError SomeUnpack
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack @a
+{-# INLINE unpacksome #-}
+
+-- | cast a 'SomeUnpack' to a type
+castsomeunpack :: (Typeable a) => SomeUnpack -> Maybe a
+castsomeunpack :: forall a. Typeable a => SomeUnpack -> Maybe a
+castsomeunpack = SomeUnpack -> Maybe a
+forall a b. (Typeable a, Typeable b) => a -> Maybe b
+cast
+{-# INLINE castsomeunpack #-}
+
+-- | generic implementor of 'Pack'
+class GPack f where
+  -- | implement 'pack'
+  gpack :: f a -> Builder
+
+-- GPack is implemented for most type combos, except sum types
+-- where programmer's attention is required
+
+instance GPack V1 where
+  gpack :: forall (a :: k). V1 a -> Builder
+gpack V1 a
+v = case V1 a
+v of {}
+  {-# INLINE gpack #-}
+
+instance GPack U1 where
+  gpack :: forall (a :: k). U1 a -> Builder
+gpack U1 a
+_ = Builder
+forall a. Monoid a => a
+mempty
+  {-# INLINE gpack #-}
+
+instance (Pack a) => GPack (K1 i a) where
+  gpack :: forall (a :: k). K1 i a a -> Builder
+gpack (K1 a
+x) = a -> Builder
+forall a. Pack a => a -> Builder
+pack a
+x
+  {-# INLINE gpack #-}
+
+instance (GPack f) => GPack (M1 i c f) where
+  gpack :: forall (a :: k). M1 i c f a -> Builder
+gpack (M1 f a
+x) = f a -> Builder
+forall (a :: k). f a -> Builder
+forall {k} (f :: k -> *) (a :: k). GPack f => f a -> Builder
+gpack f a
+x
+  {-# INLINE gpack #-}
+
+instance (GPack f, GPack g) => GPack (f :*: g) where
+  gpack :: forall (a :: k). (:*:) f g a -> Builder
+gpack (f a
+x :*: g a
+y) = f a -> Builder
+forall (a :: k). f a -> Builder
+forall {k} (f :: k -> *) (a :: k). GPack f => f a -> Builder
+gpack f a
+x Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> g a -> Builder
+forall (a :: k). g a -> Builder
+forall {k} (f :: k -> *) (a :: k). GPack f => f a -> Builder
+gpack g a
+y
+  {-# INLINE gpack #-}
+
+-- | generic implementor of 'Unpack'
+class GUnpack f where
+  -- | implement 'unpack'
+  gunpack :: Parser st r (f a)
+
+instance GUnpack V1 where
+  gunpack :: forall (st :: ZeroBitType) r (a :: k). Parser st r (V1 a)
+gunpack = ParseError -> ParserT st r ParseError (V1 a)
+forall e (st :: ZeroBitType) r a. e -> ParserT st r e a
+F.err ParseError
+"impossible (GUnpack V1)"
+  {-# INLINE gunpack #-}
+
+instance GUnpack U1 where
+  gunpack :: forall (st :: ZeroBitType) r (a :: k). Parser st r (U1 a)
+gunpack = U1 a -> ParserT st r ParseError (U1 a)
+forall a. a -> ParserT st r ParseError a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure U1 a
+forall k (p :: k). U1 p
+U1
+  {-# INLINE gunpack #-}
+
+instance (Unpack a) => GUnpack (K1 i a) where
+  gunpack :: forall (st :: ZeroBitType) r (a :: k). Parser st r (K1 i a a)
+gunpack = a -> K1 i a a
+forall k i c (p :: k). c -> K1 i c p
+K1 (a -> K1 i a a)
+-> ParserT st r ParseError a -> ParserT st r ParseError (K1 i a a)
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ParserT st r ParseError a
+forall (st :: ZeroBitType) r. Parser st r a
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack
+  {-# INLINE gunpack #-}
+
+instance (GUnpack f) => GUnpack (M1 i c f) where
+  gunpack :: forall (st :: ZeroBitType) r (a :: k). Parser st r (M1 i c f a)
+gunpack = f a -> M1 i c f a
+forall k i (c :: Meta) (f :: k -> *) (p :: k). f p -> M1 i c f p
+M1 (f a -> M1 i c f a)
+-> ParserT st r ParseError (f a)
+-> ParserT st r ParseError (M1 i c f a)
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ParserT st r ParseError (f a)
+forall (st :: ZeroBitType) r (a :: k). Parser st r (f a)
+forall {k} (f :: k -> *) (st :: ZeroBitType) r (a :: k).
+GUnpack f =>
+Parser st r (f a)
+gunpack
+  {-# INLINE gunpack #-}
+
+instance (GUnpack f, GUnpack g) => GUnpack (f :*: g) where
+  gunpack :: forall (st :: ZeroBitType) r (a :: k). Parser st r ((:*:) f g a)
+gunpack = (f a -> g a -> (:*:) f g a)
+-> ParserT st r ParseError (f a)
+-> ParserT st r ParseError (g a)
+-> ParserT st r ParseError ((:*:) f g a)
+forall a b c.
+(a -> b -> c)
+-> ParserT st r ParseError a
+-> ParserT st r ParseError b
+-> ParserT st r ParseError c
+forall (f :: * -> *) a b c.
+Applicative f =>
+(a -> b -> c) -> f a -> f b -> f c
+liftA2 f a -> g a -> (:*:) f g a
+forall k (f :: k -> *) (g :: k -> *) (p :: k).
+f p -> g p -> (:*:) f g p
+(:*:) ParserT st r ParseError (f a)
+forall (st :: ZeroBitType) r (a :: k). Parser st r (f a)
+forall {k} (f :: k -> *) (st :: ZeroBitType) r (a :: k).
+GUnpack f =>
+Parser st r (f a)
+gunpack ParserT st r ParseError (g a)
+forall (st :: ZeroBitType) r (a :: k). Parser st r (g a)
+forall {k} (f :: k -> *) (st :: ZeroBitType) r (a :: k).
+GUnpack f =>
+Parser st r (f a)
+gunpack
+  {-# INLINE gunpack #-}
+
+-- some very basic instances
+
+instance Pack Void where
+  pack :: Void -> Builder
+pack = Void -> Builder
+forall a. Void -> a
+absurd
+  {-# INLINE pack #-}
+
+instance Unpack Void where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r Void
+unpack = ParseError -> ParserT st r ParseError Void
+forall e (st :: ZeroBitType) r a. e -> ParserT st r e a
+F.err ParseError
+"impossible (Unpack Void)"
+  {-# INLINE unpack #-}
+
+instance Pack () where
+  pack :: () -> Builder
+pack ()
+_ = Builder
+forall a. Monoid a => a
+mempty
+  {-# INLINE pack #-}
+
+instance Unpack () where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r ()
+unpack = () -> ParserT st r ParseError ()
+forall a. a -> ParserT st r ParseError a
+forall (f :: * -> *) a. Applicative f => a -> f a
+pure ()
+  {-# INLINE unpack #-}
+
+-- tuples up to five
+
+instance (Pack a, Pack b) => Pack (a, b) where
+  pack :: (a, b) -> Builder
+pack (a
+a, b
+b) = a -> Builder
+forall a. Pack a => a -> Builder
+pack a
+a Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> b -> Builder
+forall a. Pack a => a -> Builder
+pack b
+b
+  {-# INLINE pack #-}
+
+instance (Unpack a, Unpack b) => Unpack (a, b) where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r (a, b)
+unpack = (a -> b -> (a, b))
+-> ParserT st r ParseError a
+-> ParserT st r ParseError b
+-> ParserT st r ParseError (a, b)
+forall a b c.
+(a -> b -> c)
+-> ParserT st r ParseError a
+-> ParserT st r ParseError b
+-> ParserT st r ParseError c
+forall (f :: * -> *) a b c.
+Applicative f =>
+(a -> b -> c) -> f a -> f b -> f c
+liftA2 (,) ParserT st r ParseError a
+forall (st :: ZeroBitType) r. Parser st r a
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack ParserT st r ParseError b
+forall (st :: ZeroBitType) r. Parser st r b
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack
+  {-# INLINE unpack #-}
+
+instance (Pack a, Pack b, Pack c) => Pack (a, b, c) where
+  pack :: (a, b, c) -> Builder
+pack (a
+a, b
+b, c
+c) = a -> Builder
+forall a. Pack a => a -> Builder
+pack a
+a Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> b -> Builder
+forall a. Pack a => a -> Builder
+pack b
+b Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> c -> Builder
+forall a. Pack a => a -> Builder
+pack c
+c
+  {-# INLINE pack #-}
+
+instance (Unpack a, Unpack b, Unpack c) => Unpack (a, b, c) where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r (a, b, c)
+unpack = (a -> b -> c -> (a, b, c))
+-> ParserT st r ParseError a
+-> ParserT st r ParseError b
+-> ParserT st r ParseError c
+-> ParserT st r ParseError (a, b, c)
+forall (f :: * -> *) a b c d.
+Applicative f =>
+(a -> b -> c -> d) -> f a -> f b -> f c -> f d
+liftA3 (,,) ParserT st r ParseError a
+forall (st :: ZeroBitType) r. Parser st r a
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack ParserT st r ParseError b
+forall (st :: ZeroBitType) r. Parser st r b
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack ParserT st r ParseError c
+forall (st :: ZeroBitType) r. Parser st r c
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack
+  {-# INLINE unpack #-}
+
+instance (Pack a, Pack b, Pack c, Pack d) => Pack (a, b, c, d) where
+  pack :: (a, b, c, d) -> Builder
+pack (a
+a, b
+b, c
+c, d
+d) = a -> Builder
+forall a. Pack a => a -> Builder
+pack a
+a Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> b -> Builder
+forall a. Pack a => a -> Builder
+pack b
+b Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> c -> Builder
+forall a. Pack a => a -> Builder
+pack c
+c Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> d -> Builder
+forall a. Pack a => a -> Builder
+pack d
+d
+  {-# INLINE pack #-}
+
+instance (Unpack a, Unpack b, Unpack c, Unpack d) => Unpack (a, b, c, d) where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r (a, b, c, d)
+unpack = (,,,) (a -> b -> c -> d -> (a, b, c, d))
+-> ParserT st r ParseError a
+-> ParserT st r ParseError (b -> c -> d -> (a, b, c, d))
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ParserT st r ParseError a
+forall (st :: ZeroBitType) r. Parser st r a
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack ParserT st r ParseError (b -> c -> d -> (a, b, c, d))
+-> ParserT st r ParseError b
+-> ParserT st r ParseError (c -> d -> (a, b, c, d))
+forall a b.
+ParserT st r ParseError (a -> b)
+-> ParserT st r ParseError a -> ParserT st r ParseError b
+forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
+<*> ParserT st r ParseError b
+forall (st :: ZeroBitType) r. Parser st r b
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack ParserT st r ParseError (c -> d -> (a, b, c, d))
+-> ParserT st r ParseError c
+-> ParserT st r ParseError (d -> (a, b, c, d))
+forall a b.
+ParserT st r ParseError (a -> b)
+-> ParserT st r ParseError a -> ParserT st r ParseError b
+forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
+<*> ParserT st r ParseError c
+forall (st :: ZeroBitType) r. Parser st r c
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack ParserT st r ParseError (d -> (a, b, c, d))
+-> ParserT st r ParseError d
+-> ParserT st r ParseError (a, b, c, d)
+forall a b.
+ParserT st r ParseError (a -> b)
+-> ParserT st r ParseError a -> ParserT st r ParseError b
+forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
+<*> ParserT st r ParseError d
+forall (st :: ZeroBitType) r. Parser st r d
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack
+  {-# INLINE unpack #-}
+
+instance (Pack a, Pack b, Pack c, Pack d, Pack e) => Pack (a, b, c, d, e) where
+  pack :: (a, b, c, d, e) -> Builder
+pack (a
+a, b
+b, c
+c, d
+d, e
+e) = a -> Builder
+forall a. Pack a => a -> Builder
+pack a
+a Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> b -> Builder
+forall a. Pack a => a -> Builder
+pack b
+b Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> c -> Builder
+forall a. Pack a => a -> Builder
+pack c
+c Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> d -> Builder
+forall a. Pack a => a -> Builder
+pack d
+d Builder -> Builder -> Builder
+forall a. Semigroup a => a -> a -> a
+<> e -> Builder
+forall a. Pack a => a -> Builder
+pack e
+e
+  {-# INLINE pack #-}
+
+instance
+  (Unpack a, Unpack b, Unpack c, Unpack d, Unpack e) =>
+  Unpack (a, b, c, d, e)
+  where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r (a, b, c, d, e)
+unpack = (,,,,) (a -> b -> c -> d -> e -> (a, b, c, d, e))
+-> ParserT st r ParseError a
+-> ParserT st r ParseError (b -> c -> d -> e -> (a, b, c, d, e))
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> ParserT st r ParseError a
+forall (st :: ZeroBitType) r. Parser st r a
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack ParserT st r ParseError (b -> c -> d -> e -> (a, b, c, d, e))
+-> ParserT st r ParseError b
+-> ParserT st r ParseError (c -> d -> e -> (a, b, c, d, e))
+forall a b.
+ParserT st r ParseError (a -> b)
+-> ParserT st r ParseError a -> ParserT st r ParseError b
+forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
+<*> ParserT st r ParseError b
+forall (st :: ZeroBitType) r. Parser st r b
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack ParserT st r ParseError (c -> d -> e -> (a, b, c, d, e))
+-> ParserT st r ParseError c
+-> ParserT st r ParseError (d -> e -> (a, b, c, d, e))
+forall a b.
+ParserT st r ParseError (a -> b)
+-> ParserT st r ParseError a -> ParserT st r ParseError b
+forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
+<*> ParserT st r ParseError c
+forall (st :: ZeroBitType) r. Parser st r c
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack ParserT st r ParseError (d -> e -> (a, b, c, d, e))
+-> ParserT st r ParseError d
+-> ParserT st r ParseError (e -> (a, b, c, d, e))
+forall a b.
+ParserT st r ParseError (a -> b)
+-> ParserT st r ParseError a -> ParserT st r ParseError b
+forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
+<*> ParserT st r ParseError d
+forall (st :: ZeroBitType) r. Parser st r d
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack ParserT st r ParseError (e -> (a, b, c, d, e))
+-> ParserT st r ParseError e
+-> ParserT st r ParseError (a, b, c, d, e)
+forall a b.
+ParserT st r ParseError (a -> b)
+-> ParserT st r ParseError a -> ParserT st r ParseError b
+forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
+<*> ParserT st r ParseError e
+forall (st :: ZeroBitType) r. Parser st r e
+forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack
+  {-# INLINE unpack #-}
+
\ No newline at end of file diff --git a/src/M.Pack.html b/src/M.Pack.html new file mode 100644 index 0000000..14bfe22 --- /dev/null +++ b/src/M.Pack.html @@ -0,0 +1,33 @@ +
-- |
+-- Module: M.Pack
+-- Description: Core serialization framework
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Provides the core serialization framework including Pack and Unpack typeclasses,
+-- along with utilities for numeric types, newtypes, bit operations, and Template
+-- Haskell support for automated instance derivation.
+module M.Pack
+  ( -- | 'Pack' and 'Unpack' classes for serializing/deserializing data
+    module M.Pack.Internal.Types,
+    -- | instances for numbers; utilities for packing and unpacking numbers
+    -- in specific formats; instances for 'Bool'
+    module M.Pack.Internal.Num,
+    -- | newtypes for modulating serialization behavior
+    module M.Pack.Internal.Newtypes,
+    -- | bit-fiddling: bitsets, bitflags, etc.
+    module M.Pack.Internal.Bit,
+    -- | template Haskell utilities for use with "th-serde"
+    -- to help derive 'Pack' and 'Unpack' instances
+    module M.Pack.Internal.TH,
+  )
+where
+
+import M.Pack.Internal.Bit
+import M.Pack.Internal.Etc ()
+import M.Pack.Internal.Linear ()
+import M.Pack.Internal.Newtypes
+import M.Pack.Internal.Num
+import M.Pack.Internal.TH
+import M.Pack.Internal.Types
+
\ No newline at end of file diff --git a/src/M.Position.html b/src/M.Position.html new file mode 100644 index 0000000..ce1f9a5 --- /dev/null +++ b/src/M.Position.html @@ -0,0 +1,490 @@ +
-- |
+-- Module: M.Position
+-- Description: Minecraft position encoding
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Implements the packed integer Position format used by Minecraft Java Edition,
+-- including encoding and decoding of 3D coordinates into a compact Int64
+-- representation.
+module M.Position
+  ( Position (..),
+    encodeposition,
+    decodeposition,
+    posapply,
+    posapplyv,
+  )
+where
+
+import Control.DeepSeq
+import Data.Bits
+import Data.Data
+import Data.Hashable
+import Data.Int
+import GHC.Generics
+import Language.Haskell.TH.Syntax (Lift)
+import Linear
+import M.Pack
+
+-- | Deserialized position representation
+newtype Position = Position {Position -> V3 Int32
+getposition :: V3 Int32}
+  deriving stock ((forall x. Position -> Rep Position x)
+-> (forall x. Rep Position x -> Position) -> Generic Position
+forall x. Rep Position x -> Position
+forall x. Position -> Rep Position x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. Position -> Rep Position x
+from :: forall x. Position -> Rep Position x
+$cto :: forall x. Rep Position x -> Position
+to :: forall x. Rep Position x -> Position
+Generic, Typeable, Typeable Position
+Typeable Position =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> Position -> c Position)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c Position)
+-> (Position -> Constr)
+-> (Position -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c Position))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Position))
+-> ((forall b. Data b => b -> b) -> Position -> Position)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> Position -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> Position -> r)
+-> (forall u. (forall d. Data d => d -> u) -> Position -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> Position -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> Position -> m Position)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Position -> m Position)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Position -> m Position)
+-> Data Position
+Position -> Constr
+Position -> DataType
+(forall b. Data b => b -> b) -> Position -> Position
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> Position -> u
+forall u. (forall d. Data d => d -> u) -> Position -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Position -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Position -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Position -> m Position
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Position -> m Position
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Position
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Position -> c Position
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Position)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Position)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Position -> c Position
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Position -> c Position
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Position
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Position
+$ctoConstr :: Position -> Constr
+toConstr :: Position -> Constr
+$cdataTypeOf :: Position -> DataType
+dataTypeOf :: Position -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Position)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Position)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Position)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Position)
+$cgmapT :: (forall b. Data b => b -> b) -> Position -> Position
+gmapT :: (forall b. Data b => b -> b) -> Position -> Position
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Position -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> Position -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Position -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> Position -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> Position -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> Position -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Position -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Position -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Position -> m Position
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Position -> m Position
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Position -> m Position
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Position -> m Position
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Position -> m Position
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Position -> m Position
+Data, (forall (m :: * -> *). Quote m => Position -> m Exp)
+-> (forall (m :: * -> *). Quote m => Position -> Code m Position)
+-> Lift Position
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => Position -> m Exp
+forall (m :: * -> *). Quote m => Position -> Code m Position
+$clift :: forall (m :: * -> *). Quote m => Position -> m Exp
+lift :: forall (m :: * -> *). Quote m => Position -> m Exp
+$cliftTyped :: forall (m :: * -> *). Quote m => Position -> Code m Position
+liftTyped :: forall (m :: * -> *). Quote m => Position -> Code m Position
+Lift)
+  deriving anyclass (Eq Position
+Eq Position =>
+(Int -> Position -> Int) -> (Position -> Int) -> Hashable Position
+Int -> Position -> Int
+Position -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+$chashWithSalt :: Int -> Position -> Int
+hashWithSalt :: Int -> Position -> Int
+$chash :: Position -> Int
+hash :: Position -> Int
+Hashable, Position -> ()
+(Position -> ()) -> NFData Position
+forall a. (a -> ()) -> NFData a
+$crnf :: Position -> ()
+rnf :: Position -> ()
+NFData)
+  deriving newtype (Position -> Position -> Bool
+(Position -> Position -> Bool)
+-> (Position -> Position -> Bool) -> Eq Position
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: Position -> Position -> Bool
+== :: Position -> Position -> Bool
+$c/= :: Position -> Position -> Bool
+/= :: Position -> Position -> Bool
+Eq, Eq Position
+Eq Position =>
+(Position -> Position -> Ordering)
+-> (Position -> Position -> Bool)
+-> (Position -> Position -> Bool)
+-> (Position -> Position -> Bool)
+-> (Position -> Position -> Bool)
+-> (Position -> Position -> Position)
+-> (Position -> Position -> Position)
+-> Ord Position
+Position -> Position -> Bool
+Position -> Position -> Ordering
+Position -> Position -> Position
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: Position -> Position -> Ordering
+compare :: Position -> Position -> Ordering
+$c< :: Position -> Position -> Bool
+< :: Position -> Position -> Bool
+$c<= :: Position -> Position -> Bool
+<= :: Position -> Position -> Bool
+$c> :: Position -> Position -> Bool
+> :: Position -> Position -> Bool
+$c>= :: Position -> Position -> Bool
+>= :: Position -> Position -> Bool
+$cmax :: Position -> Position -> Position
+max :: Position -> Position -> Position
+$cmin :: Position -> Position -> Position
+min :: Position -> Position -> Position
+Ord, Int -> Position -> ShowS
+[Position] -> ShowS
+Position -> String
+(Int -> Position -> ShowS)
+-> (Position -> String) -> ([Position] -> ShowS) -> Show Position
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> Position -> ShowS
+showsPrec :: Int -> Position -> ShowS
+$cshow :: Position -> String
+show :: Position -> String
+$cshowList :: [Position] -> ShowS
+showList :: [Position] -> ShowS
+Show, ReadPrec [Position]
+ReadPrec Position
+Int -> ReadS Position
+ReadS [Position]
+(Int -> ReadS Position)
+-> ReadS [Position]
+-> ReadPrec Position
+-> ReadPrec [Position]
+-> Read Position
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS Position
+readsPrec :: Int -> ReadS Position
+$creadList :: ReadS [Position]
+readList :: ReadS [Position]
+$creadPrec :: ReadPrec Position
+readPrec :: ReadPrec Position
+$creadListPrec :: ReadPrec [Position]
+readListPrec :: ReadPrec [Position]
+Read)
+
+fi :: (Integral a, Num b) => a -> b
+fi :: forall a b. (Integral a, Num b) => a -> b
+fi = a -> b
+forall a b. (Integral a, Num b) => a -> b
+fromIntegral
+{-# INLINE fi #-}
+
+-- | encode a 'Position' into a packed Int64
+encodeposition :: Position -> Int64
+encodeposition :: Position -> Int64
+encodeposition (Position (V3 Int32
+x Int32
+y Int32
+z))
+  | Int32
+x Int32 -> Int32 -> Bool
+forall a. Ord a => a -> a -> Bool
+> Int32
+0x1FFFFF = String -> Int64
+forall a. HasCallStack => String -> a
+error String
+"Position: X out of bounds"
+  | Int32
+y Int32 -> Int32 -> Bool
+forall a. Ord a => a -> a -> Bool
+> Int32
+0xFFF = String -> Int64
+forall a. HasCallStack => String -> a
+error String
+"Position: Y out of bounds"
+  | Int32
+z Int32 -> Int32 -> Bool
+forall a. Ord a => a -> a -> Bool
+> Int32
+0x1FFFFF = String -> Int64
+forall a. HasCallStack => String -> a
+error String
+"Position: Z out of bounds"
+  | Bool
+otherwise =
+      ((Int32 -> Int64
+forall a b. (Integral a, Num b) => a -> b
+fi Int32
+x Int64 -> Int64 -> Int64
+forall a. Bits a => a -> a -> a
+.&. Int64
+0x3FFFFFF) Int64 -> Int -> Int64
+forall a. Bits a => a -> Int -> a
+.<<. Int
+38)
+        Int64 -> Int64 -> Int64
+forall a. Bits a => a -> a -> a
+.|. ((Int32 -> Int64
+forall a b. (Integral a, Num b) => a -> b
+fi Int32
+z Int64 -> Int64 -> Int64
+forall a. Bits a => a -> a -> a
+.&. Int64
+0x3FFFFFF) Int64 -> Int -> Int64
+forall a. Bits a => a -> Int -> a
+.<<. Int
+12)
+        Int64 -> Int64 -> Int64
+forall a. Bits a => a -> a -> a
+.|. (Int32 -> Int64
+forall a b. (Integral a, Num b) => a -> b
+fi Int32
+y Int64 -> Int64 -> Int64
+forall a. Bits a => a -> a -> a
+.&. Int64
+0xFFF)
+{-# INLINEABLE encodeposition #-}
+
+-- | decode a packed Int64 into a 'Position'
+decodeposition :: Int64 -> Position
+decodeposition :: Int64 -> Position
+decodeposition Int64
+n = V3 Int32 -> Position
+Position (Int32 -> Int32 -> Int32 -> V3 Int32
+forall a. a -> a -> a -> V3 a
+V3 Int32
+x Int32
+y Int32
+z)
+  where
+    x :: Int32
+x = Int64 -> Int32
+forall a b. (Integral a, Num b) => a -> b
+fi (Int64 -> Int32) -> Int64 -> Int32
+forall a b. (a -> b) -> a -> b
+$ Int64
+n Int64 -> Int -> Int64
+forall a. Bits a => a -> Int -> a
+.>>. Int
+38
+    y :: Int32
+y = Int64 -> Int32
+forall a b. (Integral a, Num b) => a -> b
+fi (Int64 -> Int32) -> Int64 -> Int32
+forall a b. (a -> b) -> a -> b
+$ (Int64
+n Int64 -> Int -> Int64
+forall a. Bits a => a -> Int -> a
+.<<. Int
+52) Int64 -> Int -> Int64
+forall a. Bits a => a -> Int -> a
+.>>. Int
+52
+    z :: Int32
+z = Int64 -> Int32
+forall a b. (Integral a, Num b) => a -> b
+fi (Int64 -> Int32) -> Int64 -> Int32
+forall a b. (a -> b) -> a -> b
+$ (Int64
+n Int64 -> Int -> Int64
+forall a. Bits a => a -> Int -> a
+.<<. Int
+26) Int64 -> Int -> Int64
+forall a. Bits a => a -> Int -> a
+.>>. Int
+38
+{-# INLINEABLE decodeposition #-}
+
+-- Instances for Pack and Unpack
+instance Pack Position where
+  pack :: Position -> Builder
+pack = Int64 -> Builder
+forall a. Pack a => a -> Builder
+pack (Int64 -> Builder) -> (Position -> Int64) -> Position -> Builder
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Position -> Int64
+encodeposition
+  {-# INLINE pack #-}
+
+instance Unpack Position where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r Position
+unpack = Int64 -> Position
+decodeposition (Int64 -> Position) -> (Int64 -> Int64) -> Int64 -> Position
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. Int64 -> Int64
+forall a b. (Integral a, Num b) => a -> b
+fi (Int64 -> Position)
+-> ParserT st r ParseError Int64
+-> ParserT st r ParseError Position
+forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
+<$> forall a (st :: ZeroBitType) r. Unpack a => Parser st r a
+unpack @Int64
+  {-# INLINE unpack #-}
+
+-- | apply a function to the x, y, and z components of a 'Position'
+posapply :: (Int32 -> Int32) -> Position -> Position
+posapply :: (Int32 -> Int32) -> Position -> Position
+posapply Int32 -> Int32
+f (Position (V3 Int32
+x Int32
+y Int32
+z)) = V3 Int32 -> Position
+Position (Int32 -> Int32 -> Int32 -> V3 Int32
+forall a. a -> a -> a -> V3 a
+V3 (Int32 -> Int32
+f Int32
+x) (Int32 -> Int32
+f Int32
+y) (Int32 -> Int32
+f Int32
+z))
+{-# INLINE posapply #-}
+
+-- | apply a function to the x, y, and z components of a 'Position'
+posapplyv :: (V3 Int32 -> V3 Int32) -> Position -> Position
+posapplyv :: (V3 Int32 -> V3 Int32) -> Position -> Position
+posapplyv V3 Int32 -> V3 Int32
+f (Position V3 Int32
+v) = V3 Int32 -> Position
+Position (V3 Int32 -> V3 Int32
+f V3 Int32
+v)
+{-# INLINE posapplyv #-}
+
\ No newline at end of file diff --git a/src/M.Reg.html b/src/M.Reg.html new file mode 100644 index 0000000..c549530 --- /dev/null +++ b/src/M.Reg.html @@ -0,0 +1,598 @@ +
-- |
+-- Module: M.Reg
+-- Description: Generic dynamic registry type: {code, identifier, object}.
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- A generic registry that maintains a three-way mapping between:
+--
+-- * Numeric codes ('Int')
+-- * Text identifiers ('Text')
+-- * Objects (generic type a)
+--
+-- This is useful for Minecraft's registry system where objects like blocks
+-- and items are identified both by numeric IDs and string identifiers.
+--
+-- == Usage
+--
+-- Create a registry:
+--
+-- @
+-- -- imagine tr :: 'Data.Typeable.TypeRep' exists.
+-- let items = [("minecraft:stone", tr @Stone), ("minecraft:dirt", tr @Dirt)]
+-- case 'mkreg0' items of
+--   'Just' reg -> -- Use registry
+--   'Nothing' -> -- Handle duplicate keys
+-- @
+--
+-- Look up objects:
+--
+-- @
+-- -- By numeric code
+-- case 'lkobjbycode' 0 reg of
+--   'Just' obj -> -- Found
+--   'Nothing' -> -- Not found
+--
+-- -- By string identifier
+-- case 'lkcodebyid' "minecraft:stone" reg of
+--   'Just' code -> -- Found
+--   'Nothing' -> -- Not found
+-- @
+module M.Reg (Reg, mkreg0, mkreg1, lkcodebyid, lkobjbycode, lkobjbyid) where
+
+import Data.Bifunctor
+import Data.Data
+import Data.HashMap.Strict (HashMap)
+import Data.HashMap.Strict qualified as H
+import Data.IntMap.Lazy (IntMap)
+import Data.IntMap.Lazy qualified as I
+import Data.List (intercalate)
+import Data.Text (Text)
+import GHC.Generics
+import Text.Printf
+
+-- | A \"registry\" type maintaining a triple link between codes, identifiers and objects.
+--
+-- The registry is immutable after creation and provides efficient lookups in both directions:
+--
+-- * From numeric code to object (using 'IntMap')
+-- * From text identifier to numeric code (using 'HashMap')
+--
+-- == Implementation Notes
+--
+-- * code -> object mapping uses lazy 'IntMap' since object types may be large
+-- * identifier -> code mapping uses strict 'HashMap' for text lookups
+-- * Registry cannot be modified after creation (updates planned for future)
+data Reg a = Reg
+  { -- | Maps numeric codes to objects. Lazy evaluation used since @a@ could be large.
+    forall a. Reg a -> IntMap a
+regca :: IntMap a,
+    -- | Maps string identifiers to numeric codes. Strict evaluation for text lookups.
+    forall a. Reg a -> HashMap Text Int
+regic :: HashMap Text Int
+  }
+  deriving (Reg a -> Reg a -> Bool
+(Reg a -> Reg a -> Bool) -> (Reg a -> Reg a -> Bool) -> Eq (Reg a)
+forall a. Eq a => Reg a -> Reg a -> Bool
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: forall a. Eq a => Reg a -> Reg a -> Bool
+== :: Reg a -> Reg a -> Bool
+$c/= :: forall a. Eq a => Reg a -> Reg a -> Bool
+/= :: Reg a -> Reg a -> Bool
+Eq, Eq (Reg a)
+Eq (Reg a) =>
+(Reg a -> Reg a -> Ordering)
+-> (Reg a -> Reg a -> Bool)
+-> (Reg a -> Reg a -> Bool)
+-> (Reg a -> Reg a -> Bool)
+-> (Reg a -> Reg a -> Bool)
+-> (Reg a -> Reg a -> Reg a)
+-> (Reg a -> Reg a -> Reg a)
+-> Ord (Reg a)
+Reg a -> Reg a -> Bool
+Reg a -> Reg a -> Ordering
+Reg a -> Reg a -> Reg a
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+forall a. Ord a => Eq (Reg a)
+forall a. Ord a => Reg a -> Reg a -> Bool
+forall a. Ord a => Reg a -> Reg a -> Ordering
+forall a. Ord a => Reg a -> Reg a -> Reg a
+$ccompare :: forall a. Ord a => Reg a -> Reg a -> Ordering
+compare :: Reg a -> Reg a -> Ordering
+$c< :: forall a. Ord a => Reg a -> Reg a -> Bool
+< :: Reg a -> Reg a -> Bool
+$c<= :: forall a. Ord a => Reg a -> Reg a -> Bool
+<= :: Reg a -> Reg a -> Bool
+$c> :: forall a. Ord a => Reg a -> Reg a -> Bool
+> :: Reg a -> Reg a -> Bool
+$c>= :: forall a. Ord a => Reg a -> Reg a -> Bool
+>= :: Reg a -> Reg a -> Bool
+$cmax :: forall a. Ord a => Reg a -> Reg a -> Reg a
+max :: Reg a -> Reg a -> Reg a
+$cmin :: forall a. Ord a => Reg a -> Reg a -> Reg a
+min :: Reg a -> Reg a -> Reg a
+Ord, (forall x. Reg a -> Rep (Reg a) x)
+-> (forall x. Rep (Reg a) x -> Reg a) -> Generic (Reg a)
+forall x. Rep (Reg a) x -> Reg a
+forall x. Reg a -> Rep (Reg a) x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+forall a x. Rep (Reg a) x -> Reg a
+forall a x. Reg a -> Rep (Reg a) x
+$cfrom :: forall a x. Reg a -> Rep (Reg a) x
+from :: forall x. Reg a -> Rep (Reg a) x
+$cto :: forall a x. Rep (Reg a) x -> Reg a
+to :: forall x. Rep (Reg a) x -> Reg a
+Generic, Typeable, Typeable (Reg a)
+Typeable (Reg a) =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> Reg a -> c (Reg a))
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c (Reg a))
+-> (Reg a -> Constr)
+-> (Reg a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c (Reg a)))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Reg a)))
+-> ((forall b. Data b => b -> b) -> Reg a -> Reg a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Reg a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Reg a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> Reg a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> Reg a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> Reg a -> m (Reg a))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Reg a -> m (Reg a))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Reg a -> m (Reg a))
+-> Data (Reg a)
+Reg a -> Constr
+Reg a -> DataType
+(forall b. Data b => b -> b) -> Reg a -> Reg a
+forall a. Data a => Typeable (Reg a)
+forall a. Data a => Reg a -> Constr
+forall a. Data a => Reg a -> DataType
+forall a. Data a => (forall b. Data b => b -> b) -> Reg a -> Reg a
+forall a u.
+Data a =>
+Int -> (forall d. Data d => d -> u) -> Reg a -> u
+forall a u. Data a => (forall d. Data d => d -> u) -> Reg a -> [u]
+forall a r r'.
+Data a =>
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Reg a -> r
+forall a r r'.
+Data a =>
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Reg a -> r
+forall a (m :: * -> *).
+(Data a, Monad m) =>
+(forall d. Data d => d -> m d) -> Reg a -> m (Reg a)
+forall a (m :: * -> *).
+(Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d) -> Reg a -> m (Reg a)
+forall a (c :: * -> *).
+Data a =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (Reg a)
+forall a (c :: * -> *).
+Data a =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Reg a -> c (Reg a)
+forall a (t :: * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (Reg a))
+forall a (t :: * -> * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Reg a))
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> Reg a -> u
+forall u. (forall d. Data d => d -> u) -> Reg a -> [u]
+forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Reg a -> r
+forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Reg a -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Reg a -> m (Reg a)
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Reg a -> m (Reg a)
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (Reg a)
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Reg a -> c (Reg a)
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (Reg a))
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Reg a))
+$cgfoldl :: forall a (c :: * -> *).
+Data a =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Reg a -> c (Reg a)
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Reg a -> c (Reg a)
+$cgunfold :: forall a (c :: * -> *).
+Data a =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (Reg a)
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (Reg a)
+$ctoConstr :: forall a. Data a => Reg a -> Constr
+toConstr :: Reg a -> Constr
+$cdataTypeOf :: forall a. Data a => Reg a -> DataType
+dataTypeOf :: Reg a -> DataType
+$cdataCast1 :: forall a (t :: * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (Reg a))
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (Reg a))
+$cdataCast2 :: forall a (t :: * -> * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Reg a))
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Reg a))
+$cgmapT :: forall a. Data a => (forall b. Data b => b -> b) -> Reg a -> Reg a
+gmapT :: (forall b. Data b => b -> b) -> Reg a -> Reg a
+$cgmapQl :: forall a r r'.
+Data a =>
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Reg a -> r
+gmapQl :: forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Reg a -> r
+$cgmapQr :: forall a r r'.
+Data a =>
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Reg a -> r
+gmapQr :: forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Reg a -> r
+$cgmapQ :: forall a u. Data a => (forall d. Data d => d -> u) -> Reg a -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> Reg a -> [u]
+$cgmapQi :: forall a u.
+Data a =>
+Int -> (forall d. Data d => d -> u) -> Reg a -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Reg a -> u
+$cgmapM :: forall a (m :: * -> *).
+(Data a, Monad m) =>
+(forall d. Data d => d -> m d) -> Reg a -> m (Reg a)
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Reg a -> m (Reg a)
+$cgmapMp :: forall a (m :: * -> *).
+(Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d) -> Reg a -> m (Reg a)
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Reg a -> m (Reg a)
+$cgmapMo :: forall a (m :: * -> *).
+(Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d) -> Reg a -> m (Reg a)
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Reg a -> m (Reg a)
+Data, (forall a b. (a -> b) -> Reg a -> Reg b)
+-> (forall a b. a -> Reg b -> Reg a) -> Functor Reg
+forall a b. a -> Reg b -> Reg a
+forall a b. (a -> b) -> Reg a -> Reg b
+forall (f :: * -> *).
+(forall a b. (a -> b) -> f a -> f b)
+-> (forall a b. a -> f b -> f a) -> Functor f
+$cfmap :: forall a b. (a -> b) -> Reg a -> Reg b
+fmap :: forall a b. (a -> b) -> Reg a -> Reg b
+$c<$ :: forall a b. a -> Reg b -> Reg a
+<$ :: forall a b. a -> Reg b -> Reg a
+Functor)
+
+-- | @[(0, blah:bloh/blee; 42), ..., (\<code\>, \<id\>; \<object\>)]@
+instance (Show a) => Show (Reg a) where
+  show :: Reg a -> String
+show Reg {IntMap a
+HashMap Text Int
+regca :: forall a. Reg a -> IntMap a
+regic :: forall a. Reg a -> HashMap Text Int
+regca :: IntMap a
+regic :: HashMap Text Int
+..} =
+    String
+"["
+      String -> ShowS
+forall a. [a] -> [a] -> [a]
+++ String -> [String] -> String
+forall a. [a] -> [[a]] -> [a]
+intercalate String
+", " ((((Int, a), (Text, Int)) -> String)
+-> [((Int, a), (Text, Int))] -> [String]
+forall a b. (a -> b) -> [a] -> [b]
+map ((Int, a), (Text, Int)) -> String
+forall {t} {t} {t} {a} {b}.
+(PrintfArg t, PrintfArg t, PrintfType t, Show a) =>
+((t, a), (t, b)) -> t
+s ([(Int, a)] -> [(Text, Int)] -> [((Int, a), (Text, Int))]
+forall a b. [a] -> [b] -> [(a, b)]
+zip (IntMap a -> [(Int, a)]
+forall a. IntMap a -> [(Int, a)]
+I.toList IntMap a
+regca) (HashMap Text Int -> [(Text, Int)]
+forall k v. HashMap k v -> [(k, v)]
+H.toList HashMap Text Int
+regic)))
+      String -> ShowS
+forall a. [a] -> [a] -> [a]
+++ String
+"]"
+    where
+      s :: ((t, a), (t, b)) -> t
+s ((t
+c, a
+a), (t
+i, b
+_)) = String -> t -> t -> String -> t
+forall r. PrintfType r => String -> r
+printf String
+"(%d, %s; %s)" t
+c t
+i (a -> String
+forall a. Show a => a -> String
+show a
+a)
+
+-- | Create a simple registry from identifier-object pairs.
+-- Numeric codes are assigned sequentially starting from 0.
+--
+-- Returns Nothing if there are duplicate identifiers.
+--
+-- == Usage
+-- @
+-- let reg = mkreg0 [("minecraft:stone", Stone), ("minecraft:dirt", Dirt)]
+-- @
+mkreg0 :: [(Text, a)] -> Maybe (Reg a)
+mkreg0 :: forall a. [(Text, a)] -> Maybe (Reg a)
+mkreg0 = (a -> a) -> [(Text, a)] -> Maybe (Reg a)
+forall b a. (b -> a) -> [(Text, b)] -> Maybe (Reg a)
+mkreg1 a -> a
+forall a. a -> a
+id
+{-# INLINE mkreg0 #-}
+
+-- | Create a registry with a transformation function applied to values.
+--
+-- Like 'mkreg0' but applies a function to transform the values before storing.
+-- Returns Nothing if there are duplicate identifiers.
+--
+-- == Usage
+-- @
+-- let reg = mkreg1 Block [("stone", StoneData), ("dirt", DirtData)]
+-- -- Creates registry with Block StoneData, Block DirtData
+-- @
+mkreg1 :: (b -> a) -> [(Text, b)] -> Maybe (Reg a)
+mkreg1 :: forall b a. (b -> a) -> [(Text, b)] -> Maybe (Reg a)
+mkreg1 b -> a
+f =
+  Reg a -> Maybe (Reg a)
+forall {a}. Reg a -> Maybe (Reg a)
+check
+    (Reg a -> Maybe (Reg a))
+-> ([(Text, b)] -> Reg a) -> [(Text, b)] -> Maybe (Reg a)
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. (IntMap a -> HashMap Text Int -> Reg a)
+-> (IntMap a, HashMap Text Int) -> Reg a
+forall a b c. (a -> b -> c) -> (a, b) -> c
+uncurry IntMap a -> HashMap Text Int -> Reg a
+forall a. IntMap a -> HashMap Text Int -> Reg a
+Reg
+    ((IntMap a, HashMap Text Int) -> Reg a)
+-> ([(Text, b)] -> (IntMap a, HashMap Text Int))
+-> [(Text, b)]
+-> Reg a
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. ([(Int, a)] -> IntMap a)
+-> ([(Text, Int)] -> HashMap Text Int)
+-> ([(Int, a)], [(Text, Int)])
+-> (IntMap a, HashMap Text Int)
+forall a b c d. (a -> b) -> (c -> d) -> (a, c) -> (b, d)
+forall (p :: * -> * -> *) a b c d.
+Bifunctor p =>
+(a -> b) -> (c -> d) -> p a c -> p b d
+bimap [(Int, a)] -> IntMap a
+forall a. [(Int, a)] -> IntMap a
+I.fromAscList [(Text, Int)] -> HashMap Text Int
+forall k v. (Eq k, Hashable k) => [(k, v)] -> HashMap k v
+H.fromList
+    (([(Int, a)], [(Text, Int)]) -> (IntMap a, HashMap Text Int))
+-> ([(Text, b)] -> ([(Int, a)], [(Text, Int)]))
+-> [(Text, b)]
+-> (IntMap a, HashMap Text Int)
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. [(Int, (Text, b))] -> ([(Int, a)], [(Text, Int)])
+unzip'
+    ([(Int, (Text, b))] -> ([(Int, a)], [(Text, Int)]))
+-> ([(Text, b)] -> [(Int, (Text, b))])
+-> [(Text, b)]
+-> ([(Int, a)], [(Text, Int)])
+forall b c a. (b -> c) -> (a -> b) -> a -> c
+. [Int] -> [(Text, b)] -> [(Int, (Text, b))]
+forall a b. [a] -> [b] -> [(a, b)]
+zip [Int
+Item [Int]
+0 ..]
+  where
+    unzip' :: [(Int, (Text, b))] -> ([(Int, a)], [(Text, Int)])
+unzip' =
+      ((Int, (Text, b))
+ -> ([(Int, a)], [(Text, Int)]) -> ([(Int, a)], [(Text, Int)]))
+-> ([(Int, a)], [(Text, Int)])
+-> [(Int, (Text, b))]
+-> ([(Int, a)], [(Text, Int)])
+forall a b. (a -> b -> b) -> b -> [a] -> b
+forall (t :: * -> *) a b.
+Foldable t =>
+(a -> b -> b) -> b -> t a -> b
+foldr
+        (\(Int
+c, (Text
+i, b
+a)) ~([(Int, a)]
+p0, [(Text, Int)]
+p1) -> ((Int
+c, b -> a
+f b
+a) (Int, a) -> [(Int, a)] -> [(Int, a)]
+forall a. a -> [a] -> [a]
+: [(Int, a)]
+p0, (Text
+i, Int
+c) (Text, Int) -> [(Text, Int)] -> [(Text, Int)]
+forall a. a -> [a] -> [a]
+: [(Text, Int)]
+p1))
+        ([], [])
+    check :: Reg a -> Maybe (Reg a)
+check r :: Reg a
+r@Reg {IntMap a
+HashMap Text Int
+regca :: forall a. Reg a -> IntMap a
+regic :: forall a. Reg a -> HashMap Text Int
+regca :: IntMap a
+regic :: HashMap Text Int
+..}
+      | IntMap a -> Int
+forall a. IntMap a -> Int
+I.size IntMap a
+regca Int -> Int -> Bool
+forall a. Eq a => a -> a -> Bool
+== HashMap Text Int -> Int
+forall k v. HashMap k v -> Int
+H.size HashMap Text Int
+regic = Reg a -> Maybe (Reg a)
+forall a. a -> Maybe a
+Just Reg a
+r
+      | Bool
+otherwise = Maybe (Reg a)
+forall a. Maybe a
+Nothing -- duplicated keys
+
+-- | Look up an object by its numeric code.
+--
+-- == Usage
+-- @
+-- case 'lkobjbycode' 0 registry of
+--   Just obj -> -- Found object at code 0
+--   Nothing -> -- No object at code 0
+-- @
+lkobjbycode :: Int -> Reg a -> Maybe a
+lkobjbycode :: forall a. Int -> Reg a -> Maybe a
+lkobjbycode Int
+c Reg {IntMap a
+regca :: forall a. Reg a -> IntMap a
+regca :: IntMap a
+regca} = Int -> IntMap a -> Maybe a
+forall a. Int -> IntMap a -> Maybe a
+I.lookup Int
+c IntMap a
+regca
+{-# INLINE lkobjbycode #-}
+
+-- | Look up a numeric code by its string identifier.
+--
+-- == Usage
+-- @
+-- case 'lkcodebyid' "minecraft:stone" registry of
+--   Just code -> -- Found code for identifier
+--   Nothing -> -- No such identifier
+-- @
+lkcodebyid :: Text -> Reg a -> Maybe Int
+lkcodebyid :: forall a. Text -> Reg a -> Maybe Int
+lkcodebyid Text
+i Reg {HashMap Text Int
+regic :: forall a. Reg a -> HashMap Text Int
+regic :: HashMap Text Int
+regic} = Text -> HashMap Text Int -> Maybe Int
+forall k v. (Eq k, Hashable k) => k -> HashMap k v -> Maybe v
+H.lookup Text
+i HashMap Text Int
+regic
+{-# INLINE lkcodebyid #-}
+
+-- | Look up an object by its string identifier.
+--
+-- Combines 'lkcodebyid' and 'lkobjbycode' for direct identifier to object lookup.
+--
+-- == Usage
+-- @
+-- case 'lkobjbyid' "minecraft:stone" registry of
+--   Just obj -> -- Found object for identifier
+--   Nothing -> -- No such identifier
+-- @
+lkobjbyid :: Text -> Reg a -> Maybe a
+lkobjbyid :: forall a. Text -> Reg a -> Maybe a
+lkobjbyid Text
+i Reg a
+r = Text -> Reg a -> Maybe Int
+forall a. Text -> Reg a -> Maybe Int
+lkcodebyid Text
+i Reg a
+r Maybe Int -> (Int -> Maybe a) -> Maybe a
+forall a b. Maybe a -> (a -> Maybe b) -> Maybe b
+forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
+>>= (Int -> Reg a -> Maybe a
+forall a. Int -> Reg a -> Maybe a
+`lkobjbycode` Reg a
+r)
+{-# INLINE lkobjbyid #-}
+
\ No newline at end of file diff --git a/src/M.TODO.html b/src/M.TODO.html new file mode 100644 index 0000000..ff5f854 --- /dev/null +++ b/src/M.TODO.html @@ -0,0 +1,2508 @@ +
-- |
+-- Module: M.TODO
+-- Description: Placeholder types for unimplemented features
+-- License: BSD-3-Clause
+module M.TODO
+  ( Slot,
+    BossBarAction,
+    CommandNode,
+    ParticleData,
+    TextComponent,
+    MapIcon,
+    MerchantOffer,
+  )
+where
+
+import Control.DeepSeq
+import Data.Data
+import Data.Hashable
+import GHC.Generics
+import Language.Haskell.TH.Syntax (Lift)
+import M.Pack
+import Text.Printf
+
+-- | internal helper type for types that are not implemented yet
+newtype ErrorOnPackUnpack a = ErrorOnPackUnpack a
+  deriving newtype (ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Bool
+(ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Bool)
+-> (ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Bool)
+-> Eq (ErrorOnPackUnpack a)
+forall a.
+Eq a =>
+ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Bool
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: forall a.
+Eq a =>
+ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Bool
+== :: ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Bool
+$c/= :: forall a.
+Eq a =>
+ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Bool
+/= :: ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Bool
+Eq, Eq (ErrorOnPackUnpack a)
+Eq (ErrorOnPackUnpack a) =>
+(ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Ordering)
+-> (ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Bool)
+-> (ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Bool)
+-> (ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Bool)
+-> (ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Bool)
+-> (ErrorOnPackUnpack a
+    -> ErrorOnPackUnpack a -> ErrorOnPackUnpack a)
+-> (ErrorOnPackUnpack a
+    -> ErrorOnPackUnpack a -> ErrorOnPackUnpack a)
+-> Ord (ErrorOnPackUnpack a)
+ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Bool
+ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Ordering
+ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> ErrorOnPackUnpack a
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+forall a. Ord a => Eq (ErrorOnPackUnpack a)
+forall a.
+Ord a =>
+ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Bool
+forall a.
+Ord a =>
+ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Ordering
+forall a.
+Ord a =>
+ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> ErrorOnPackUnpack a
+$ccompare :: forall a.
+Ord a =>
+ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Ordering
+compare :: ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Ordering
+$c< :: forall a.
+Ord a =>
+ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Bool
+< :: ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Bool
+$c<= :: forall a.
+Ord a =>
+ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Bool
+<= :: ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Bool
+$c> :: forall a.
+Ord a =>
+ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Bool
+> :: ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Bool
+$c>= :: forall a.
+Ord a =>
+ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Bool
+>= :: ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> Bool
+$cmax :: forall a.
+Ord a =>
+ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> ErrorOnPackUnpack a
+max :: ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> ErrorOnPackUnpack a
+$cmin :: forall a.
+Ord a =>
+ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> ErrorOnPackUnpack a
+min :: ErrorOnPackUnpack a -> ErrorOnPackUnpack a -> ErrorOnPackUnpack a
+Ord, Int -> ErrorOnPackUnpack a -> ShowS
+[ErrorOnPackUnpack a] -> ShowS
+ErrorOnPackUnpack a -> String
+(Int -> ErrorOnPackUnpack a -> ShowS)
+-> (ErrorOnPackUnpack a -> String)
+-> ([ErrorOnPackUnpack a] -> ShowS)
+-> Show (ErrorOnPackUnpack a)
+forall a. Show a => Int -> ErrorOnPackUnpack a -> ShowS
+forall a. Show a => [ErrorOnPackUnpack a] -> ShowS
+forall a. Show a => ErrorOnPackUnpack a -> String
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: forall a. Show a => Int -> ErrorOnPackUnpack a -> ShowS
+showsPrec :: Int -> ErrorOnPackUnpack a -> ShowS
+$cshow :: forall a. Show a => ErrorOnPackUnpack a -> String
+show :: ErrorOnPackUnpack a -> String
+$cshowList :: forall a. Show a => [ErrorOnPackUnpack a] -> ShowS
+showList :: [ErrorOnPackUnpack a] -> ShowS
+Show, ReadPrec [ErrorOnPackUnpack a]
+ReadPrec (ErrorOnPackUnpack a)
+Int -> ReadS (ErrorOnPackUnpack a)
+ReadS [ErrorOnPackUnpack a]
+(Int -> ReadS (ErrorOnPackUnpack a))
+-> ReadS [ErrorOnPackUnpack a]
+-> ReadPrec (ErrorOnPackUnpack a)
+-> ReadPrec [ErrorOnPackUnpack a]
+-> Read (ErrorOnPackUnpack a)
+forall a. Read a => ReadPrec [ErrorOnPackUnpack a]
+forall a. Read a => ReadPrec (ErrorOnPackUnpack a)
+forall a. Read a => Int -> ReadS (ErrorOnPackUnpack a)
+forall a. Read a => ReadS [ErrorOnPackUnpack a]
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: forall a. Read a => Int -> ReadS (ErrorOnPackUnpack a)
+readsPrec :: Int -> ReadS (ErrorOnPackUnpack a)
+$creadList :: forall a. Read a => ReadS [ErrorOnPackUnpack a]
+readList :: ReadS [ErrorOnPackUnpack a]
+$creadPrec :: forall a. Read a => ReadPrec (ErrorOnPackUnpack a)
+readPrec :: ReadPrec (ErrorOnPackUnpack a)
+$creadListPrec :: forall a. Read a => ReadPrec [ErrorOnPackUnpack a]
+readListPrec :: ReadPrec [ErrorOnPackUnpack a]
+Read)
+  deriving stock ((forall x. ErrorOnPackUnpack a -> Rep (ErrorOnPackUnpack a) x)
+-> (forall x. Rep (ErrorOnPackUnpack a) x -> ErrorOnPackUnpack a)
+-> Generic (ErrorOnPackUnpack a)
+forall x. Rep (ErrorOnPackUnpack a) x -> ErrorOnPackUnpack a
+forall x. ErrorOnPackUnpack a -> Rep (ErrorOnPackUnpack a) x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+forall a x. Rep (ErrorOnPackUnpack a) x -> ErrorOnPackUnpack a
+forall a x. ErrorOnPackUnpack a -> Rep (ErrorOnPackUnpack a) x
+$cfrom :: forall a x. ErrorOnPackUnpack a -> Rep (ErrorOnPackUnpack a) x
+from :: forall x. ErrorOnPackUnpack a -> Rep (ErrorOnPackUnpack a) x
+$cto :: forall a x. Rep (ErrorOnPackUnpack a) x -> ErrorOnPackUnpack a
+to :: forall x. Rep (ErrorOnPackUnpack a) x -> ErrorOnPackUnpack a
+Generic, Typeable, Typeable (ErrorOnPackUnpack a)
+Typeable (ErrorOnPackUnpack a) =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g)
+ -> ErrorOnPackUnpack a
+ -> c (ErrorOnPackUnpack a))
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c (ErrorOnPackUnpack a))
+-> (ErrorOnPackUnpack a -> Constr)
+-> (ErrorOnPackUnpack a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c (ErrorOnPackUnpack a)))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c (ErrorOnPackUnpack a)))
+-> ((forall b. Data b => b -> b)
+    -> ErrorOnPackUnpack a -> ErrorOnPackUnpack a)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> ErrorOnPackUnpack a -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> ErrorOnPackUnpack a -> r)
+-> (forall u.
+    (forall d. Data d => d -> u) -> ErrorOnPackUnpack a -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> ErrorOnPackUnpack a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d)
+    -> ErrorOnPackUnpack a -> m (ErrorOnPackUnpack a))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d)
+    -> ErrorOnPackUnpack a -> m (ErrorOnPackUnpack a))
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d)
+    -> ErrorOnPackUnpack a -> m (ErrorOnPackUnpack a))
+-> Data (ErrorOnPackUnpack a)
+ErrorOnPackUnpack a -> Constr
+ErrorOnPackUnpack a -> DataType
+(forall b. Data b => b -> b)
+-> ErrorOnPackUnpack a -> ErrorOnPackUnpack a
+forall a. Data a => Typeable (ErrorOnPackUnpack a)
+forall a. Data a => ErrorOnPackUnpack a -> Constr
+forall a. Data a => ErrorOnPackUnpack a -> DataType
+forall a.
+Data a =>
+(forall b. Data b => b -> b)
+-> ErrorOnPackUnpack a -> ErrorOnPackUnpack a
+forall a u.
+Data a =>
+Int -> (forall d. Data d => d -> u) -> ErrorOnPackUnpack a -> u
+forall a u.
+Data a =>
+(forall d. Data d => d -> u) -> ErrorOnPackUnpack a -> [u]
+forall a r r'.
+Data a =>
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ErrorOnPackUnpack a -> r
+forall a r r'.
+Data a =>
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ErrorOnPackUnpack a -> r
+forall a (m :: * -> *).
+(Data a, Monad m) =>
+(forall d. Data d => d -> m d)
+-> ErrorOnPackUnpack a -> m (ErrorOnPackUnpack a)
+forall a (m :: * -> *).
+(Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d)
+-> ErrorOnPackUnpack a -> m (ErrorOnPackUnpack a)
+forall a (c :: * -> *).
+Data a =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (ErrorOnPackUnpack a)
+forall a (c :: * -> *).
+Data a =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g)
+-> ErrorOnPackUnpack a
+-> c (ErrorOnPackUnpack a)
+forall a (t :: * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (ErrorOnPackUnpack a))
+forall a (t :: * -> * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (ErrorOnPackUnpack a))
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u.
+Int -> (forall d. Data d => d -> u) -> ErrorOnPackUnpack a -> u
+forall u.
+(forall d. Data d => d -> u) -> ErrorOnPackUnpack a -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ErrorOnPackUnpack a -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ErrorOnPackUnpack a -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d)
+-> ErrorOnPackUnpack a -> m (ErrorOnPackUnpack a)
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> ErrorOnPackUnpack a -> m (ErrorOnPackUnpack a)
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (ErrorOnPackUnpack a)
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g)
+-> ErrorOnPackUnpack a
+-> c (ErrorOnPackUnpack a)
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (ErrorOnPackUnpack a))
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (ErrorOnPackUnpack a))
+$cgfoldl :: forall a (c :: * -> *).
+Data a =>
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g)
+-> ErrorOnPackUnpack a
+-> c (ErrorOnPackUnpack a)
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g)
+-> ErrorOnPackUnpack a
+-> c (ErrorOnPackUnpack a)
+$cgunfold :: forall a (c :: * -> *).
+Data a =>
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (ErrorOnPackUnpack a)
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c (ErrorOnPackUnpack a)
+$ctoConstr :: forall a. Data a => ErrorOnPackUnpack a -> Constr
+toConstr :: ErrorOnPackUnpack a -> Constr
+$cdataTypeOf :: forall a. Data a => ErrorOnPackUnpack a -> DataType
+dataTypeOf :: ErrorOnPackUnpack a -> DataType
+$cdataCast1 :: forall a (t :: * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d. Data d => c (t d)) -> Maybe (c (ErrorOnPackUnpack a))
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c (ErrorOnPackUnpack a))
+$cdataCast2 :: forall a (t :: * -> * -> *) (c :: * -> *).
+(Data a, Typeable t) =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (ErrorOnPackUnpack a))
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c (ErrorOnPackUnpack a))
+$cgmapT :: forall a.
+Data a =>
+(forall b. Data b => b -> b)
+-> ErrorOnPackUnpack a -> ErrorOnPackUnpack a
+gmapT :: (forall b. Data b => b -> b)
+-> ErrorOnPackUnpack a -> ErrorOnPackUnpack a
+$cgmapQl :: forall a r r'.
+Data a =>
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ErrorOnPackUnpack a -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ErrorOnPackUnpack a -> r
+$cgmapQr :: forall a r r'.
+Data a =>
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ErrorOnPackUnpack a -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ErrorOnPackUnpack a -> r
+$cgmapQ :: forall a u.
+Data a =>
+(forall d. Data d => d -> u) -> ErrorOnPackUnpack a -> [u]
+gmapQ :: forall u.
+(forall d. Data d => d -> u) -> ErrorOnPackUnpack a -> [u]
+$cgmapQi :: forall a u.
+Data a =>
+Int -> (forall d. Data d => d -> u) -> ErrorOnPackUnpack a -> u
+gmapQi :: forall u.
+Int -> (forall d. Data d => d -> u) -> ErrorOnPackUnpack a -> u
+$cgmapM :: forall a (m :: * -> *).
+(Data a, Monad m) =>
+(forall d. Data d => d -> m d)
+-> ErrorOnPackUnpack a -> m (ErrorOnPackUnpack a)
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d)
+-> ErrorOnPackUnpack a -> m (ErrorOnPackUnpack a)
+$cgmapMp :: forall a (m :: * -> *).
+(Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d)
+-> ErrorOnPackUnpack a -> m (ErrorOnPackUnpack a)
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> ErrorOnPackUnpack a -> m (ErrorOnPackUnpack a)
+$cgmapMo :: forall a (m :: * -> *).
+(Data a, MonadPlus m) =>
+(forall d. Data d => d -> m d)
+-> ErrorOnPackUnpack a -> m (ErrorOnPackUnpack a)
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> ErrorOnPackUnpack a -> m (ErrorOnPackUnpack a)
+Data, (forall (m :: * -> *). Quote m => ErrorOnPackUnpack a -> m Exp)
+-> (forall (m :: * -> *).
+    Quote m =>
+    ErrorOnPackUnpack a -> Code m (ErrorOnPackUnpack a))
+-> Lift (ErrorOnPackUnpack a)
+forall a (m :: * -> *).
+(Lift a, Quote m) =>
+ErrorOnPackUnpack a -> m Exp
+forall a (m :: * -> *).
+(Lift a, Quote m) =>
+ErrorOnPackUnpack a -> Code m (ErrorOnPackUnpack a)
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => ErrorOnPackUnpack a -> m Exp
+forall (m :: * -> *).
+Quote m =>
+ErrorOnPackUnpack a -> Code m (ErrorOnPackUnpack a)
+$clift :: forall a (m :: * -> *).
+(Lift a, Quote m) =>
+ErrorOnPackUnpack a -> m Exp
+lift :: forall (m :: * -> *). Quote m => ErrorOnPackUnpack a -> m Exp
+$cliftTyped :: forall a (m :: * -> *).
+(Lift a, Quote m) =>
+ErrorOnPackUnpack a -> Code m (ErrorOnPackUnpack a)
+liftTyped :: forall (m :: * -> *).
+Quote m =>
+ErrorOnPackUnpack a -> Code m (ErrorOnPackUnpack a)
+Lift)
+  deriving anyclass (ErrorOnPackUnpack a -> ()
+(ErrorOnPackUnpack a -> ()) -> NFData (ErrorOnPackUnpack a)
+forall a. NFData a => ErrorOnPackUnpack a -> ()
+forall a. (a -> ()) -> NFData a
+$crnf :: forall a. NFData a => ErrorOnPackUnpack a -> ()
+rnf :: ErrorOnPackUnpack a -> ()
+NFData, Eq (ErrorOnPackUnpack a)
+Eq (ErrorOnPackUnpack a) =>
+(Int -> ErrorOnPackUnpack a -> Int)
+-> (ErrorOnPackUnpack a -> Int) -> Hashable (ErrorOnPackUnpack a)
+Int -> ErrorOnPackUnpack a -> Int
+ErrorOnPackUnpack a -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+forall a. Hashable a => Eq (ErrorOnPackUnpack a)
+forall a. Hashable a => Int -> ErrorOnPackUnpack a -> Int
+forall a. Hashable a => ErrorOnPackUnpack a -> Int
+$chashWithSalt :: forall a. Hashable a => Int -> ErrorOnPackUnpack a -> Int
+hashWithSalt :: Int -> ErrorOnPackUnpack a -> Int
+$chash :: forall a. Hashable a => ErrorOnPackUnpack a -> Int
+hash :: ErrorOnPackUnpack a -> Int
+Hashable)
+
+-- | throws an error saying that the type is not implemented yet
+instance (Typeable a) => Pack (ErrorOnPackUnpack a) where
+  pack :: ErrorOnPackUnpack a -> Builder
+pack ErrorOnPackUnpack a
+_ =
+    String -> Builder
+forall a. HasCallStack => String -> a
+error (String -> Builder) -> String -> Builder
+forall a b. (a -> b) -> a -> b
+$
+      String -> ShowS
+forall r. PrintfType r => String -> r
+printf
+        String
+"pack: not implemented for type %s"
+        (TypeRep -> String
+forall a. Show a => a -> String
+show (TypeRep -> String) -> TypeRep -> String
+forall a b. (a -> b) -> a -> b
+$ Proxy a -> TypeRep
+forall {k} (proxy :: k -> *) (a :: k).
+Typeable a =>
+proxy a -> TypeRep
+typeRep (forall t. Proxy t
+forall {k} (t :: k). Proxy t
+Proxy @a))
+  {-# INLINE pack #-}
+
+-- | throws an error saying that the type is not implemented yet
+instance (Typeable a) => Unpack (ErrorOnPackUnpack a) where
+  unpack :: forall (st :: ZeroBitType) r. Parser st r (ErrorOnPackUnpack a)
+unpack =
+    String -> Parser st r (ErrorOnPackUnpack a)
+forall a. HasCallStack => String -> a
+error (String -> Parser st r (ErrorOnPackUnpack a))
+-> String -> Parser st r (ErrorOnPackUnpack a)
+forall a b. (a -> b) -> a -> b
+$
+      String -> ShowS
+forall r. PrintfType r => String -> r
+printf
+        String
+"unpack: not implemented for type %s"
+        (TypeRep -> String
+forall a. Show a => a -> String
+show (TypeRep -> String) -> TypeRep -> String
+forall a b. (a -> b) -> a -> b
+$ Proxy a -> TypeRep
+forall {k} (proxy :: k -> *) (a :: k).
+Typeable a =>
+proxy a -> TypeRep
+typeRep (forall t. Proxy t
+forall {k} (t :: k). Proxy t
+Proxy @a))
+  {-# INLINE unpack #-}
+
+data BossBarAction
+  deriving stock (BossBarAction -> BossBarAction -> Bool
+(BossBarAction -> BossBarAction -> Bool)
+-> (BossBarAction -> BossBarAction -> Bool) -> Eq BossBarAction
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: BossBarAction -> BossBarAction -> Bool
+== :: BossBarAction -> BossBarAction -> Bool
+$c/= :: BossBarAction -> BossBarAction -> Bool
+/= :: BossBarAction -> BossBarAction -> Bool
+Eq, Eq BossBarAction
+Eq BossBarAction =>
+(BossBarAction -> BossBarAction -> Ordering)
+-> (BossBarAction -> BossBarAction -> Bool)
+-> (BossBarAction -> BossBarAction -> Bool)
+-> (BossBarAction -> BossBarAction -> Bool)
+-> (BossBarAction -> BossBarAction -> Bool)
+-> (BossBarAction -> BossBarAction -> BossBarAction)
+-> (BossBarAction -> BossBarAction -> BossBarAction)
+-> Ord BossBarAction
+BossBarAction -> BossBarAction -> Bool
+BossBarAction -> BossBarAction -> Ordering
+BossBarAction -> BossBarAction -> BossBarAction
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: BossBarAction -> BossBarAction -> Ordering
+compare :: BossBarAction -> BossBarAction -> Ordering
+$c< :: BossBarAction -> BossBarAction -> Bool
+< :: BossBarAction -> BossBarAction -> Bool
+$c<= :: BossBarAction -> BossBarAction -> Bool
+<= :: BossBarAction -> BossBarAction -> Bool
+$c> :: BossBarAction -> BossBarAction -> Bool
+> :: BossBarAction -> BossBarAction -> Bool
+$c>= :: BossBarAction -> BossBarAction -> Bool
+>= :: BossBarAction -> BossBarAction -> Bool
+$cmax :: BossBarAction -> BossBarAction -> BossBarAction
+max :: BossBarAction -> BossBarAction -> BossBarAction
+$cmin :: BossBarAction -> BossBarAction -> BossBarAction
+min :: BossBarAction -> BossBarAction -> BossBarAction
+Ord, Int -> BossBarAction -> ShowS
+[BossBarAction] -> ShowS
+BossBarAction -> String
+(Int -> BossBarAction -> ShowS)
+-> (BossBarAction -> String)
+-> ([BossBarAction] -> ShowS)
+-> Show BossBarAction
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> BossBarAction -> ShowS
+showsPrec :: Int -> BossBarAction -> ShowS
+$cshow :: BossBarAction -> String
+show :: BossBarAction -> String
+$cshowList :: [BossBarAction] -> ShowS
+showList :: [BossBarAction] -> ShowS
+Show, ReadPrec [BossBarAction]
+ReadPrec BossBarAction
+Int -> ReadS BossBarAction
+ReadS [BossBarAction]
+(Int -> ReadS BossBarAction)
+-> ReadS [BossBarAction]
+-> ReadPrec BossBarAction
+-> ReadPrec [BossBarAction]
+-> Read BossBarAction
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS BossBarAction
+readsPrec :: Int -> ReadS BossBarAction
+$creadList :: ReadS [BossBarAction]
+readList :: ReadS [BossBarAction]
+$creadPrec :: ReadPrec BossBarAction
+readPrec :: ReadPrec BossBarAction
+$creadListPrec :: ReadPrec [BossBarAction]
+readListPrec :: ReadPrec [BossBarAction]
+Read, (forall x. BossBarAction -> Rep BossBarAction x)
+-> (forall x. Rep BossBarAction x -> BossBarAction)
+-> Generic BossBarAction
+forall x. Rep BossBarAction x -> BossBarAction
+forall x. BossBarAction -> Rep BossBarAction x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. BossBarAction -> Rep BossBarAction x
+from :: forall x. BossBarAction -> Rep BossBarAction x
+$cto :: forall x. Rep BossBarAction x -> BossBarAction
+to :: forall x. Rep BossBarAction x -> BossBarAction
+Generic, Typeable, Typeable BossBarAction
+Typeable BossBarAction =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> BossBarAction -> c BossBarAction)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c BossBarAction)
+-> (BossBarAction -> Constr)
+-> (BossBarAction -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c BossBarAction))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c BossBarAction))
+-> ((forall b. Data b => b -> b) -> BossBarAction -> BossBarAction)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> BossBarAction -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> BossBarAction -> r)
+-> (forall u. (forall d. Data d => d -> u) -> BossBarAction -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> BossBarAction -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> BossBarAction -> m BossBarAction)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> BossBarAction -> m BossBarAction)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> BossBarAction -> m BossBarAction)
+-> Data BossBarAction
+BossBarAction -> Constr
+BossBarAction -> DataType
+(forall b. Data b => b -> b) -> BossBarAction -> BossBarAction
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> BossBarAction -> u
+forall u. (forall d. Data d => d -> u) -> BossBarAction -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> BossBarAction -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> BossBarAction -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> BossBarAction -> m BossBarAction
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> BossBarAction -> m BossBarAction
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c BossBarAction
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> BossBarAction -> c BossBarAction
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c BossBarAction)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c BossBarAction)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> BossBarAction -> c BossBarAction
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> BossBarAction -> c BossBarAction
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c BossBarAction
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c BossBarAction
+$ctoConstr :: BossBarAction -> Constr
+toConstr :: BossBarAction -> Constr
+$cdataTypeOf :: BossBarAction -> DataType
+dataTypeOf :: BossBarAction -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c BossBarAction)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c BossBarAction)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c BossBarAction)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c BossBarAction)
+$cgmapT :: (forall b. Data b => b -> b) -> BossBarAction -> BossBarAction
+gmapT :: (forall b. Data b => b -> b) -> BossBarAction -> BossBarAction
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> BossBarAction -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> BossBarAction -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> BossBarAction -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> BossBarAction -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> BossBarAction -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> BossBarAction -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> BossBarAction -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> BossBarAction -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> BossBarAction -> m BossBarAction
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> BossBarAction -> m BossBarAction
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> BossBarAction -> m BossBarAction
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> BossBarAction -> m BossBarAction
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> BossBarAction -> m BossBarAction
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> BossBarAction -> m BossBarAction
+Data)
+  deriving anyclass (BossBarAction -> ()
+(BossBarAction -> ()) -> NFData BossBarAction
+forall a. (a -> ()) -> NFData a
+$crnf :: BossBarAction -> ()
+rnf :: BossBarAction -> ()
+NFData, Eq BossBarAction
+Eq BossBarAction =>
+(Int -> BossBarAction -> Int)
+-> (BossBarAction -> Int) -> Hashable BossBarAction
+Int -> BossBarAction -> Int
+BossBarAction -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+$chashWithSalt :: Int -> BossBarAction -> Int
+hashWithSalt :: Int -> BossBarAction -> Int
+$chash :: BossBarAction -> Int
+hash :: BossBarAction -> Int
+Hashable)
+  deriving (BossBarAction -> Builder
+(BossBarAction -> Builder) -> Pack BossBarAction
+forall a. (a -> Builder) -> Pack a
+$cpack :: BossBarAction -> Builder
+pack :: BossBarAction -> Builder
+Pack, (forall (st :: ZeroBitType) r. Parser st r BossBarAction)
+-> Unpack BossBarAction
+forall (st :: ZeroBitType) r. Parser st r BossBarAction
+forall a. (forall (st :: ZeroBitType) r. Parser st r a) -> Unpack a
+$cunpack :: forall (st :: ZeroBitType) r. Parser st r BossBarAction
+unpack :: forall (st :: ZeroBitType) r. Parser st r BossBarAction
+Unpack) via ErrorOnPackUnpack BossBarAction
+
+data CommandNode
+  deriving stock (CommandNode -> CommandNode -> Bool
+(CommandNode -> CommandNode -> Bool)
+-> (CommandNode -> CommandNode -> Bool) -> Eq CommandNode
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: CommandNode -> CommandNode -> Bool
+== :: CommandNode -> CommandNode -> Bool
+$c/= :: CommandNode -> CommandNode -> Bool
+/= :: CommandNode -> CommandNode -> Bool
+Eq, Eq CommandNode
+Eq CommandNode =>
+(CommandNode -> CommandNode -> Ordering)
+-> (CommandNode -> CommandNode -> Bool)
+-> (CommandNode -> CommandNode -> Bool)
+-> (CommandNode -> CommandNode -> Bool)
+-> (CommandNode -> CommandNode -> Bool)
+-> (CommandNode -> CommandNode -> CommandNode)
+-> (CommandNode -> CommandNode -> CommandNode)
+-> Ord CommandNode
+CommandNode -> CommandNode -> Bool
+CommandNode -> CommandNode -> Ordering
+CommandNode -> CommandNode -> CommandNode
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: CommandNode -> CommandNode -> Ordering
+compare :: CommandNode -> CommandNode -> Ordering
+$c< :: CommandNode -> CommandNode -> Bool
+< :: CommandNode -> CommandNode -> Bool
+$c<= :: CommandNode -> CommandNode -> Bool
+<= :: CommandNode -> CommandNode -> Bool
+$c> :: CommandNode -> CommandNode -> Bool
+> :: CommandNode -> CommandNode -> Bool
+$c>= :: CommandNode -> CommandNode -> Bool
+>= :: CommandNode -> CommandNode -> Bool
+$cmax :: CommandNode -> CommandNode -> CommandNode
+max :: CommandNode -> CommandNode -> CommandNode
+$cmin :: CommandNode -> CommandNode -> CommandNode
+min :: CommandNode -> CommandNode -> CommandNode
+Ord, Int -> CommandNode -> ShowS
+[CommandNode] -> ShowS
+CommandNode -> String
+(Int -> CommandNode -> ShowS)
+-> (CommandNode -> String)
+-> ([CommandNode] -> ShowS)
+-> Show CommandNode
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> CommandNode -> ShowS
+showsPrec :: Int -> CommandNode -> ShowS
+$cshow :: CommandNode -> String
+show :: CommandNode -> String
+$cshowList :: [CommandNode] -> ShowS
+showList :: [CommandNode] -> ShowS
+Show, ReadPrec [CommandNode]
+ReadPrec CommandNode
+Int -> ReadS CommandNode
+ReadS [CommandNode]
+(Int -> ReadS CommandNode)
+-> ReadS [CommandNode]
+-> ReadPrec CommandNode
+-> ReadPrec [CommandNode]
+-> Read CommandNode
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS CommandNode
+readsPrec :: Int -> ReadS CommandNode
+$creadList :: ReadS [CommandNode]
+readList :: ReadS [CommandNode]
+$creadPrec :: ReadPrec CommandNode
+readPrec :: ReadPrec CommandNode
+$creadListPrec :: ReadPrec [CommandNode]
+readListPrec :: ReadPrec [CommandNode]
+Read, (forall x. CommandNode -> Rep CommandNode x)
+-> (forall x. Rep CommandNode x -> CommandNode)
+-> Generic CommandNode
+forall x. Rep CommandNode x -> CommandNode
+forall x. CommandNode -> Rep CommandNode x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. CommandNode -> Rep CommandNode x
+from :: forall x. CommandNode -> Rep CommandNode x
+$cto :: forall x. Rep CommandNode x -> CommandNode
+to :: forall x. Rep CommandNode x -> CommandNode
+Generic, Typeable, Typeable CommandNode
+Typeable CommandNode =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> CommandNode -> c CommandNode)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c CommandNode)
+-> (CommandNode -> Constr)
+-> (CommandNode -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c CommandNode))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c CommandNode))
+-> ((forall b. Data b => b -> b) -> CommandNode -> CommandNode)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> CommandNode -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> CommandNode -> r)
+-> (forall u. (forall d. Data d => d -> u) -> CommandNode -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> CommandNode -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> CommandNode -> m CommandNode)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> CommandNode -> m CommandNode)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> CommandNode -> m CommandNode)
+-> Data CommandNode
+CommandNode -> Constr
+CommandNode -> DataType
+(forall b. Data b => b -> b) -> CommandNode -> CommandNode
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> CommandNode -> u
+forall u. (forall d. Data d => d -> u) -> CommandNode -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> CommandNode -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> CommandNode -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> CommandNode -> m CommandNode
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> CommandNode -> m CommandNode
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c CommandNode
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> CommandNode -> c CommandNode
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c CommandNode)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c CommandNode)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> CommandNode -> c CommandNode
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> CommandNode -> c CommandNode
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c CommandNode
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c CommandNode
+$ctoConstr :: CommandNode -> Constr
+toConstr :: CommandNode -> Constr
+$cdataTypeOf :: CommandNode -> DataType
+dataTypeOf :: CommandNode -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c CommandNode)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c CommandNode)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c CommandNode)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c CommandNode)
+$cgmapT :: (forall b. Data b => b -> b) -> CommandNode -> CommandNode
+gmapT :: (forall b. Data b => b -> b) -> CommandNode -> CommandNode
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> CommandNode -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> CommandNode -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> CommandNode -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> CommandNode -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> CommandNode -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> CommandNode -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> CommandNode -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> CommandNode -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> CommandNode -> m CommandNode
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> CommandNode -> m CommandNode
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> CommandNode -> m CommandNode
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> CommandNode -> m CommandNode
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> CommandNode -> m CommandNode
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> CommandNode -> m CommandNode
+Data)
+  deriving anyclass (CommandNode -> ()
+(CommandNode -> ()) -> NFData CommandNode
+forall a. (a -> ()) -> NFData a
+$crnf :: CommandNode -> ()
+rnf :: CommandNode -> ()
+NFData, Eq CommandNode
+Eq CommandNode =>
+(Int -> CommandNode -> Int)
+-> (CommandNode -> Int) -> Hashable CommandNode
+Int -> CommandNode -> Int
+CommandNode -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+$chashWithSalt :: Int -> CommandNode -> Int
+hashWithSalt :: Int -> CommandNode -> Int
+$chash :: CommandNode -> Int
+hash :: CommandNode -> Int
+Hashable)
+  deriving (CommandNode -> Builder
+(CommandNode -> Builder) -> Pack CommandNode
+forall a. (a -> Builder) -> Pack a
+$cpack :: CommandNode -> Builder
+pack :: CommandNode -> Builder
+Pack, (forall (st :: ZeroBitType) r. Parser st r CommandNode)
+-> Unpack CommandNode
+forall (st :: ZeroBitType) r. Parser st r CommandNode
+forall a. (forall (st :: ZeroBitType) r. Parser st r a) -> Unpack a
+$cunpack :: forall (st :: ZeroBitType) r. Parser st r CommandNode
+unpack :: forall (st :: ZeroBitType) r. Parser st r CommandNode
+Unpack) via ErrorOnPackUnpack CommandNode
+
+data Slot
+  deriving stock (Slot -> Slot -> Bool
+(Slot -> Slot -> Bool) -> (Slot -> Slot -> Bool) -> Eq Slot
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: Slot -> Slot -> Bool
+== :: Slot -> Slot -> Bool
+$c/= :: Slot -> Slot -> Bool
+/= :: Slot -> Slot -> Bool
+Eq, Eq Slot
+Eq Slot =>
+(Slot -> Slot -> Ordering)
+-> (Slot -> Slot -> Bool)
+-> (Slot -> Slot -> Bool)
+-> (Slot -> Slot -> Bool)
+-> (Slot -> Slot -> Bool)
+-> (Slot -> Slot -> Slot)
+-> (Slot -> Slot -> Slot)
+-> Ord Slot
+Slot -> Slot -> Bool
+Slot -> Slot -> Ordering
+Slot -> Slot -> Slot
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: Slot -> Slot -> Ordering
+compare :: Slot -> Slot -> Ordering
+$c< :: Slot -> Slot -> Bool
+< :: Slot -> Slot -> Bool
+$c<= :: Slot -> Slot -> Bool
+<= :: Slot -> Slot -> Bool
+$c> :: Slot -> Slot -> Bool
+> :: Slot -> Slot -> Bool
+$c>= :: Slot -> Slot -> Bool
+>= :: Slot -> Slot -> Bool
+$cmax :: Slot -> Slot -> Slot
+max :: Slot -> Slot -> Slot
+$cmin :: Slot -> Slot -> Slot
+min :: Slot -> Slot -> Slot
+Ord, Int -> Slot -> ShowS
+[Slot] -> ShowS
+Slot -> String
+(Int -> Slot -> ShowS)
+-> (Slot -> String) -> ([Slot] -> ShowS) -> Show Slot
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> Slot -> ShowS
+showsPrec :: Int -> Slot -> ShowS
+$cshow :: Slot -> String
+show :: Slot -> String
+$cshowList :: [Slot] -> ShowS
+showList :: [Slot] -> ShowS
+Show, ReadPrec [Slot]
+ReadPrec Slot
+Int -> ReadS Slot
+ReadS [Slot]
+(Int -> ReadS Slot)
+-> ReadS [Slot] -> ReadPrec Slot -> ReadPrec [Slot] -> Read Slot
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS Slot
+readsPrec :: Int -> ReadS Slot
+$creadList :: ReadS [Slot]
+readList :: ReadS [Slot]
+$creadPrec :: ReadPrec Slot
+readPrec :: ReadPrec Slot
+$creadListPrec :: ReadPrec [Slot]
+readListPrec :: ReadPrec [Slot]
+Read, (forall x. Slot -> Rep Slot x)
+-> (forall x. Rep Slot x -> Slot) -> Generic Slot
+forall x. Rep Slot x -> Slot
+forall x. Slot -> Rep Slot x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. Slot -> Rep Slot x
+from :: forall x. Slot -> Rep Slot x
+$cto :: forall x. Rep Slot x -> Slot
+to :: forall x. Rep Slot x -> Slot
+Generic, Typeable, Typeable Slot
+Typeable Slot =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> Slot -> c Slot)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c Slot)
+-> (Slot -> Constr)
+-> (Slot -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c Slot))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Slot))
+-> ((forall b. Data b => b -> b) -> Slot -> Slot)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Slot -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Slot -> r)
+-> (forall u. (forall d. Data d => d -> u) -> Slot -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> Slot -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> Slot -> m Slot)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Slot -> m Slot)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Slot -> m Slot)
+-> Data Slot
+Slot -> Constr
+Slot -> DataType
+(forall b. Data b => b -> b) -> Slot -> Slot
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> Slot -> u
+forall u. (forall d. Data d => d -> u) -> Slot -> [u]
+forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Slot -> r
+forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Slot -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Slot -> m Slot
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Slot -> m Slot
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Slot
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Slot -> c Slot
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Slot)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Slot)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Slot -> c Slot
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Slot -> c Slot
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Slot
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Slot
+$ctoConstr :: Slot -> Constr
+toConstr :: Slot -> Constr
+$cdataTypeOf :: Slot -> DataType
+dataTypeOf :: Slot -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Slot)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Slot)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Slot)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Slot)
+$cgmapT :: (forall b. Data b => b -> b) -> Slot -> Slot
+gmapT :: (forall b. Data b => b -> b) -> Slot -> Slot
+$cgmapQl :: forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Slot -> r
+gmapQl :: forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Slot -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Slot -> r
+gmapQr :: forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Slot -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> Slot -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> Slot -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Slot -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Slot -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Slot -> m Slot
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Slot -> m Slot
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Slot -> m Slot
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Slot -> m Slot
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Slot -> m Slot
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Slot -> m Slot
+Data)
+  deriving anyclass (Slot -> ()
+(Slot -> ()) -> NFData Slot
+forall a. (a -> ()) -> NFData a
+$crnf :: Slot -> ()
+rnf :: Slot -> ()
+NFData, Eq Slot
+Eq Slot => (Int -> Slot -> Int) -> (Slot -> Int) -> Hashable Slot
+Int -> Slot -> Int
+Slot -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+$chashWithSalt :: Int -> Slot -> Int
+hashWithSalt :: Int -> Slot -> Int
+$chash :: Slot -> Int
+hash :: Slot -> Int
+Hashable)
+  deriving (Slot -> Builder
+(Slot -> Builder) -> Pack Slot
+forall a. (a -> Builder) -> Pack a
+$cpack :: Slot -> Builder
+pack :: Slot -> Builder
+Pack, (forall (st :: ZeroBitType) r. Parser st r Slot) -> Unpack Slot
+forall (st :: ZeroBitType) r. Parser st r Slot
+forall a. (forall (st :: ZeroBitType) r. Parser st r a) -> Unpack a
+$cunpack :: forall (st :: ZeroBitType) r. Parser st r Slot
+unpack :: forall (st :: ZeroBitType) r. Parser st r Slot
+Unpack) via ErrorOnPackUnpack Slot
+
+data ParticleData
+  deriving stock (ParticleData -> ParticleData -> Bool
+(ParticleData -> ParticleData -> Bool)
+-> (ParticleData -> ParticleData -> Bool) -> Eq ParticleData
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: ParticleData -> ParticleData -> Bool
+== :: ParticleData -> ParticleData -> Bool
+$c/= :: ParticleData -> ParticleData -> Bool
+/= :: ParticleData -> ParticleData -> Bool
+Eq, Eq ParticleData
+Eq ParticleData =>
+(ParticleData -> ParticleData -> Ordering)
+-> (ParticleData -> ParticleData -> Bool)
+-> (ParticleData -> ParticleData -> Bool)
+-> (ParticleData -> ParticleData -> Bool)
+-> (ParticleData -> ParticleData -> Bool)
+-> (ParticleData -> ParticleData -> ParticleData)
+-> (ParticleData -> ParticleData -> ParticleData)
+-> Ord ParticleData
+ParticleData -> ParticleData -> Bool
+ParticleData -> ParticleData -> Ordering
+ParticleData -> ParticleData -> ParticleData
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: ParticleData -> ParticleData -> Ordering
+compare :: ParticleData -> ParticleData -> Ordering
+$c< :: ParticleData -> ParticleData -> Bool
+< :: ParticleData -> ParticleData -> Bool
+$c<= :: ParticleData -> ParticleData -> Bool
+<= :: ParticleData -> ParticleData -> Bool
+$c> :: ParticleData -> ParticleData -> Bool
+> :: ParticleData -> ParticleData -> Bool
+$c>= :: ParticleData -> ParticleData -> Bool
+>= :: ParticleData -> ParticleData -> Bool
+$cmax :: ParticleData -> ParticleData -> ParticleData
+max :: ParticleData -> ParticleData -> ParticleData
+$cmin :: ParticleData -> ParticleData -> ParticleData
+min :: ParticleData -> ParticleData -> ParticleData
+Ord, Int -> ParticleData -> ShowS
+[ParticleData] -> ShowS
+ParticleData -> String
+(Int -> ParticleData -> ShowS)
+-> (ParticleData -> String)
+-> ([ParticleData] -> ShowS)
+-> Show ParticleData
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> ParticleData -> ShowS
+showsPrec :: Int -> ParticleData -> ShowS
+$cshow :: ParticleData -> String
+show :: ParticleData -> String
+$cshowList :: [ParticleData] -> ShowS
+showList :: [ParticleData] -> ShowS
+Show, ReadPrec [ParticleData]
+ReadPrec ParticleData
+Int -> ReadS ParticleData
+ReadS [ParticleData]
+(Int -> ReadS ParticleData)
+-> ReadS [ParticleData]
+-> ReadPrec ParticleData
+-> ReadPrec [ParticleData]
+-> Read ParticleData
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS ParticleData
+readsPrec :: Int -> ReadS ParticleData
+$creadList :: ReadS [ParticleData]
+readList :: ReadS [ParticleData]
+$creadPrec :: ReadPrec ParticleData
+readPrec :: ReadPrec ParticleData
+$creadListPrec :: ReadPrec [ParticleData]
+readListPrec :: ReadPrec [ParticleData]
+Read, (forall x. ParticleData -> Rep ParticleData x)
+-> (forall x. Rep ParticleData x -> ParticleData)
+-> Generic ParticleData
+forall x. Rep ParticleData x -> ParticleData
+forall x. ParticleData -> Rep ParticleData x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. ParticleData -> Rep ParticleData x
+from :: forall x. ParticleData -> Rep ParticleData x
+$cto :: forall x. Rep ParticleData x -> ParticleData
+to :: forall x. Rep ParticleData x -> ParticleData
+Generic, Typeable, Typeable ParticleData
+Typeable ParticleData =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> ParticleData -> c ParticleData)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c ParticleData)
+-> (ParticleData -> Constr)
+-> (ParticleData -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c ParticleData))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c ParticleData))
+-> ((forall b. Data b => b -> b) -> ParticleData -> ParticleData)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> ParticleData -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> ParticleData -> r)
+-> (forall u. (forall d. Data d => d -> u) -> ParticleData -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> ParticleData -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> ParticleData -> m ParticleData)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> ParticleData -> m ParticleData)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> ParticleData -> m ParticleData)
+-> Data ParticleData
+ParticleData -> Constr
+ParticleData -> DataType
+(forall b. Data b => b -> b) -> ParticleData -> ParticleData
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> ParticleData -> u
+forall u. (forall d. Data d => d -> u) -> ParticleData -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ParticleData -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ParticleData -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> ParticleData -> m ParticleData
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> ParticleData -> m ParticleData
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c ParticleData
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> ParticleData -> c ParticleData
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c ParticleData)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c ParticleData)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> ParticleData -> c ParticleData
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> ParticleData -> c ParticleData
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c ParticleData
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c ParticleData
+$ctoConstr :: ParticleData -> Constr
+toConstr :: ParticleData -> Constr
+$cdataTypeOf :: ParticleData -> DataType
+dataTypeOf :: ParticleData -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c ParticleData)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c ParticleData)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c ParticleData)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c ParticleData)
+$cgmapT :: (forall b. Data b => b -> b) -> ParticleData -> ParticleData
+gmapT :: (forall b. Data b => b -> b) -> ParticleData -> ParticleData
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ParticleData -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ParticleData -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ParticleData -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ParticleData -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> ParticleData -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> ParticleData -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> ParticleData -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> ParticleData -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> ParticleData -> m ParticleData
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> ParticleData -> m ParticleData
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> ParticleData -> m ParticleData
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> ParticleData -> m ParticleData
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> ParticleData -> m ParticleData
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> ParticleData -> m ParticleData
+Data)
+  deriving anyclass (ParticleData -> ()
+(ParticleData -> ()) -> NFData ParticleData
+forall a. (a -> ()) -> NFData a
+$crnf :: ParticleData -> ()
+rnf :: ParticleData -> ()
+NFData, Eq ParticleData
+Eq ParticleData =>
+(Int -> ParticleData -> Int)
+-> (ParticleData -> Int) -> Hashable ParticleData
+Int -> ParticleData -> Int
+ParticleData -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+$chashWithSalt :: Int -> ParticleData -> Int
+hashWithSalt :: Int -> ParticleData -> Int
+$chash :: ParticleData -> Int
+hash :: ParticleData -> Int
+Hashable)
+  deriving (ParticleData -> Builder
+(ParticleData -> Builder) -> Pack ParticleData
+forall a. (a -> Builder) -> Pack a
+$cpack :: ParticleData -> Builder
+pack :: ParticleData -> Builder
+Pack, (forall (st :: ZeroBitType) r. Parser st r ParticleData)
+-> Unpack ParticleData
+forall (st :: ZeroBitType) r. Parser st r ParticleData
+forall a. (forall (st :: ZeroBitType) r. Parser st r a) -> Unpack a
+$cunpack :: forall (st :: ZeroBitType) r. Parser st r ParticleData
+unpack :: forall (st :: ZeroBitType) r. Parser st r ParticleData
+Unpack) via ErrorOnPackUnpack ParticleData
+
+data TextComponent
+  deriving stock (TextComponent -> TextComponent -> Bool
+(TextComponent -> TextComponent -> Bool)
+-> (TextComponent -> TextComponent -> Bool) -> Eq TextComponent
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: TextComponent -> TextComponent -> Bool
+== :: TextComponent -> TextComponent -> Bool
+$c/= :: TextComponent -> TextComponent -> Bool
+/= :: TextComponent -> TextComponent -> Bool
+Eq, Eq TextComponent
+Eq TextComponent =>
+(TextComponent -> TextComponent -> Ordering)
+-> (TextComponent -> TextComponent -> Bool)
+-> (TextComponent -> TextComponent -> Bool)
+-> (TextComponent -> TextComponent -> Bool)
+-> (TextComponent -> TextComponent -> Bool)
+-> (TextComponent -> TextComponent -> TextComponent)
+-> (TextComponent -> TextComponent -> TextComponent)
+-> Ord TextComponent
+TextComponent -> TextComponent -> Bool
+TextComponent -> TextComponent -> Ordering
+TextComponent -> TextComponent -> TextComponent
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: TextComponent -> TextComponent -> Ordering
+compare :: TextComponent -> TextComponent -> Ordering
+$c< :: TextComponent -> TextComponent -> Bool
+< :: TextComponent -> TextComponent -> Bool
+$c<= :: TextComponent -> TextComponent -> Bool
+<= :: TextComponent -> TextComponent -> Bool
+$c> :: TextComponent -> TextComponent -> Bool
+> :: TextComponent -> TextComponent -> Bool
+$c>= :: TextComponent -> TextComponent -> Bool
+>= :: TextComponent -> TextComponent -> Bool
+$cmax :: TextComponent -> TextComponent -> TextComponent
+max :: TextComponent -> TextComponent -> TextComponent
+$cmin :: TextComponent -> TextComponent -> TextComponent
+min :: TextComponent -> TextComponent -> TextComponent
+Ord, Int -> TextComponent -> ShowS
+[TextComponent] -> ShowS
+TextComponent -> String
+(Int -> TextComponent -> ShowS)
+-> (TextComponent -> String)
+-> ([TextComponent] -> ShowS)
+-> Show TextComponent
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> TextComponent -> ShowS
+showsPrec :: Int -> TextComponent -> ShowS
+$cshow :: TextComponent -> String
+show :: TextComponent -> String
+$cshowList :: [TextComponent] -> ShowS
+showList :: [TextComponent] -> ShowS
+Show, ReadPrec [TextComponent]
+ReadPrec TextComponent
+Int -> ReadS TextComponent
+ReadS [TextComponent]
+(Int -> ReadS TextComponent)
+-> ReadS [TextComponent]
+-> ReadPrec TextComponent
+-> ReadPrec [TextComponent]
+-> Read TextComponent
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS TextComponent
+readsPrec :: Int -> ReadS TextComponent
+$creadList :: ReadS [TextComponent]
+readList :: ReadS [TextComponent]
+$creadPrec :: ReadPrec TextComponent
+readPrec :: ReadPrec TextComponent
+$creadListPrec :: ReadPrec [TextComponent]
+readListPrec :: ReadPrec [TextComponent]
+Read, (forall x. TextComponent -> Rep TextComponent x)
+-> (forall x. Rep TextComponent x -> TextComponent)
+-> Generic TextComponent
+forall x. Rep TextComponent x -> TextComponent
+forall x. TextComponent -> Rep TextComponent x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. TextComponent -> Rep TextComponent x
+from :: forall x. TextComponent -> Rep TextComponent x
+$cto :: forall x. Rep TextComponent x -> TextComponent
+to :: forall x. Rep TextComponent x -> TextComponent
+Generic, Typeable, Typeable TextComponent
+Typeable TextComponent =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> TextComponent -> c TextComponent)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c TextComponent)
+-> (TextComponent -> Constr)
+-> (TextComponent -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c TextComponent))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c TextComponent))
+-> ((forall b. Data b => b -> b) -> TextComponent -> TextComponent)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> TextComponent -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> TextComponent -> r)
+-> (forall u. (forall d. Data d => d -> u) -> TextComponent -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> TextComponent -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> TextComponent -> m TextComponent)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> TextComponent -> m TextComponent)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> TextComponent -> m TextComponent)
+-> Data TextComponent
+TextComponent -> Constr
+TextComponent -> DataType
+(forall b. Data b => b -> b) -> TextComponent -> TextComponent
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> TextComponent -> u
+forall u. (forall d. Data d => d -> u) -> TextComponent -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> TextComponent -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> TextComponent -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> TextComponent -> m TextComponent
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> TextComponent -> m TextComponent
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c TextComponent
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> TextComponent -> c TextComponent
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c TextComponent)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c TextComponent)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> TextComponent -> c TextComponent
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> TextComponent -> c TextComponent
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c TextComponent
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c TextComponent
+$ctoConstr :: TextComponent -> Constr
+toConstr :: TextComponent -> Constr
+$cdataTypeOf :: TextComponent -> DataType
+dataTypeOf :: TextComponent -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c TextComponent)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c TextComponent)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c TextComponent)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c TextComponent)
+$cgmapT :: (forall b. Data b => b -> b) -> TextComponent -> TextComponent
+gmapT :: (forall b. Data b => b -> b) -> TextComponent -> TextComponent
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> TextComponent -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> TextComponent -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> TextComponent -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> TextComponent -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> TextComponent -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> TextComponent -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> TextComponent -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> TextComponent -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> TextComponent -> m TextComponent
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> TextComponent -> m TextComponent
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> TextComponent -> m TextComponent
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> TextComponent -> m TextComponent
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> TextComponent -> m TextComponent
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> TextComponent -> m TextComponent
+Data)
+  deriving anyclass (TextComponent -> ()
+(TextComponent -> ()) -> NFData TextComponent
+forall a. (a -> ()) -> NFData a
+$crnf :: TextComponent -> ()
+rnf :: TextComponent -> ()
+NFData, Eq TextComponent
+Eq TextComponent =>
+(Int -> TextComponent -> Int)
+-> (TextComponent -> Int) -> Hashable TextComponent
+Int -> TextComponent -> Int
+TextComponent -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+$chashWithSalt :: Int -> TextComponent -> Int
+hashWithSalt :: Int -> TextComponent -> Int
+$chash :: TextComponent -> Int
+hash :: TextComponent -> Int
+Hashable)
+  deriving (TextComponent -> Builder
+(TextComponent -> Builder) -> Pack TextComponent
+forall a. (a -> Builder) -> Pack a
+$cpack :: TextComponent -> Builder
+pack :: TextComponent -> Builder
+Pack, (forall (st :: ZeroBitType) r. Parser st r TextComponent)
+-> Unpack TextComponent
+forall (st :: ZeroBitType) r. Parser st r TextComponent
+forall a. (forall (st :: ZeroBitType) r. Parser st r a) -> Unpack a
+$cunpack :: forall (st :: ZeroBitType) r. Parser st r TextComponent
+unpack :: forall (st :: ZeroBitType) r. Parser st r TextComponent
+Unpack) via ErrorOnPackUnpack TextComponent
+
+data MapIcon
+  deriving stock (MapIcon -> MapIcon -> Bool
+(MapIcon -> MapIcon -> Bool)
+-> (MapIcon -> MapIcon -> Bool) -> Eq MapIcon
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: MapIcon -> MapIcon -> Bool
+== :: MapIcon -> MapIcon -> Bool
+$c/= :: MapIcon -> MapIcon -> Bool
+/= :: MapIcon -> MapIcon -> Bool
+Eq, Eq MapIcon
+Eq MapIcon =>
+(MapIcon -> MapIcon -> Ordering)
+-> (MapIcon -> MapIcon -> Bool)
+-> (MapIcon -> MapIcon -> Bool)
+-> (MapIcon -> MapIcon -> Bool)
+-> (MapIcon -> MapIcon -> Bool)
+-> (MapIcon -> MapIcon -> MapIcon)
+-> (MapIcon -> MapIcon -> MapIcon)
+-> Ord MapIcon
+MapIcon -> MapIcon -> Bool
+MapIcon -> MapIcon -> Ordering
+MapIcon -> MapIcon -> MapIcon
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: MapIcon -> MapIcon -> Ordering
+compare :: MapIcon -> MapIcon -> Ordering
+$c< :: MapIcon -> MapIcon -> Bool
+< :: MapIcon -> MapIcon -> Bool
+$c<= :: MapIcon -> MapIcon -> Bool
+<= :: MapIcon -> MapIcon -> Bool
+$c> :: MapIcon -> MapIcon -> Bool
+> :: MapIcon -> MapIcon -> Bool
+$c>= :: MapIcon -> MapIcon -> Bool
+>= :: MapIcon -> MapIcon -> Bool
+$cmax :: MapIcon -> MapIcon -> MapIcon
+max :: MapIcon -> MapIcon -> MapIcon
+$cmin :: MapIcon -> MapIcon -> MapIcon
+min :: MapIcon -> MapIcon -> MapIcon
+Ord, Int -> MapIcon -> ShowS
+[MapIcon] -> ShowS
+MapIcon -> String
+(Int -> MapIcon -> ShowS)
+-> (MapIcon -> String) -> ([MapIcon] -> ShowS) -> Show MapIcon
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> MapIcon -> ShowS
+showsPrec :: Int -> MapIcon -> ShowS
+$cshow :: MapIcon -> String
+show :: MapIcon -> String
+$cshowList :: [MapIcon] -> ShowS
+showList :: [MapIcon] -> ShowS
+Show, ReadPrec [MapIcon]
+ReadPrec MapIcon
+Int -> ReadS MapIcon
+ReadS [MapIcon]
+(Int -> ReadS MapIcon)
+-> ReadS [MapIcon]
+-> ReadPrec MapIcon
+-> ReadPrec [MapIcon]
+-> Read MapIcon
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS MapIcon
+readsPrec :: Int -> ReadS MapIcon
+$creadList :: ReadS [MapIcon]
+readList :: ReadS [MapIcon]
+$creadPrec :: ReadPrec MapIcon
+readPrec :: ReadPrec MapIcon
+$creadListPrec :: ReadPrec [MapIcon]
+readListPrec :: ReadPrec [MapIcon]
+Read, (forall x. MapIcon -> Rep MapIcon x)
+-> (forall x. Rep MapIcon x -> MapIcon) -> Generic MapIcon
+forall x. Rep MapIcon x -> MapIcon
+forall x. MapIcon -> Rep MapIcon x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. MapIcon -> Rep MapIcon x
+from :: forall x. MapIcon -> Rep MapIcon x
+$cto :: forall x. Rep MapIcon x -> MapIcon
+to :: forall x. Rep MapIcon x -> MapIcon
+Generic, Typeable, Typeable MapIcon
+Typeable MapIcon =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> MapIcon -> c MapIcon)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c MapIcon)
+-> (MapIcon -> Constr)
+-> (MapIcon -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c MapIcon))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MapIcon))
+-> ((forall b. Data b => b -> b) -> MapIcon -> MapIcon)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> MapIcon -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> MapIcon -> r)
+-> (forall u. (forall d. Data d => d -> u) -> MapIcon -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> MapIcon -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> MapIcon -> m MapIcon)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> MapIcon -> m MapIcon)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> MapIcon -> m MapIcon)
+-> Data MapIcon
+MapIcon -> Constr
+MapIcon -> DataType
+(forall b. Data b => b -> b) -> MapIcon -> MapIcon
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> MapIcon -> u
+forall u. (forall d. Data d => d -> u) -> MapIcon -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> MapIcon -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> MapIcon -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> MapIcon -> m MapIcon
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> MapIcon -> m MapIcon
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c MapIcon
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> MapIcon -> c MapIcon
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c MapIcon)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MapIcon)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> MapIcon -> c MapIcon
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> MapIcon -> c MapIcon
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c MapIcon
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c MapIcon
+$ctoConstr :: MapIcon -> Constr
+toConstr :: MapIcon -> Constr
+$cdataTypeOf :: MapIcon -> DataType
+dataTypeOf :: MapIcon -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c MapIcon)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c MapIcon)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MapIcon)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MapIcon)
+$cgmapT :: (forall b. Data b => b -> b) -> MapIcon -> MapIcon
+gmapT :: (forall b. Data b => b -> b) -> MapIcon -> MapIcon
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> MapIcon -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> MapIcon -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> MapIcon -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> MapIcon -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> MapIcon -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> MapIcon -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> MapIcon -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> MapIcon -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> MapIcon -> m MapIcon
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> MapIcon -> m MapIcon
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> MapIcon -> m MapIcon
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> MapIcon -> m MapIcon
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> MapIcon -> m MapIcon
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> MapIcon -> m MapIcon
+Data)
+  deriving anyclass (MapIcon -> ()
+(MapIcon -> ()) -> NFData MapIcon
+forall a. (a -> ()) -> NFData a
+$crnf :: MapIcon -> ()
+rnf :: MapIcon -> ()
+NFData, Eq MapIcon
+Eq MapIcon =>
+(Int -> MapIcon -> Int) -> (MapIcon -> Int) -> Hashable MapIcon
+Int -> MapIcon -> Int
+MapIcon -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+$chashWithSalt :: Int -> MapIcon -> Int
+hashWithSalt :: Int -> MapIcon -> Int
+$chash :: MapIcon -> Int
+hash :: MapIcon -> Int
+Hashable)
+  deriving (MapIcon -> Builder
+(MapIcon -> Builder) -> Pack MapIcon
+forall a. (a -> Builder) -> Pack a
+$cpack :: MapIcon -> Builder
+pack :: MapIcon -> Builder
+Pack, (forall (st :: ZeroBitType) r. Parser st r MapIcon)
+-> Unpack MapIcon
+forall (st :: ZeroBitType) r. Parser st r MapIcon
+forall a. (forall (st :: ZeroBitType) r. Parser st r a) -> Unpack a
+$cunpack :: forall (st :: ZeroBitType) r. Parser st r MapIcon
+unpack :: forall (st :: ZeroBitType) r. Parser st r MapIcon
+Unpack) via ErrorOnPackUnpack MapIcon
+
+data MerchantOffer
+  deriving stock (MerchantOffer -> MerchantOffer -> Bool
+(MerchantOffer -> MerchantOffer -> Bool)
+-> (MerchantOffer -> MerchantOffer -> Bool) -> Eq MerchantOffer
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: MerchantOffer -> MerchantOffer -> Bool
+== :: MerchantOffer -> MerchantOffer -> Bool
+$c/= :: MerchantOffer -> MerchantOffer -> Bool
+/= :: MerchantOffer -> MerchantOffer -> Bool
+Eq, Eq MerchantOffer
+Eq MerchantOffer =>
+(MerchantOffer -> MerchantOffer -> Ordering)
+-> (MerchantOffer -> MerchantOffer -> Bool)
+-> (MerchantOffer -> MerchantOffer -> Bool)
+-> (MerchantOffer -> MerchantOffer -> Bool)
+-> (MerchantOffer -> MerchantOffer -> Bool)
+-> (MerchantOffer -> MerchantOffer -> MerchantOffer)
+-> (MerchantOffer -> MerchantOffer -> MerchantOffer)
+-> Ord MerchantOffer
+MerchantOffer -> MerchantOffer -> Bool
+MerchantOffer -> MerchantOffer -> Ordering
+MerchantOffer -> MerchantOffer -> MerchantOffer
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: MerchantOffer -> MerchantOffer -> Ordering
+compare :: MerchantOffer -> MerchantOffer -> Ordering
+$c< :: MerchantOffer -> MerchantOffer -> Bool
+< :: MerchantOffer -> MerchantOffer -> Bool
+$c<= :: MerchantOffer -> MerchantOffer -> Bool
+<= :: MerchantOffer -> MerchantOffer -> Bool
+$c> :: MerchantOffer -> MerchantOffer -> Bool
+> :: MerchantOffer -> MerchantOffer -> Bool
+$c>= :: MerchantOffer -> MerchantOffer -> Bool
+>= :: MerchantOffer -> MerchantOffer -> Bool
+$cmax :: MerchantOffer -> MerchantOffer -> MerchantOffer
+max :: MerchantOffer -> MerchantOffer -> MerchantOffer
+$cmin :: MerchantOffer -> MerchantOffer -> MerchantOffer
+min :: MerchantOffer -> MerchantOffer -> MerchantOffer
+Ord, Int -> MerchantOffer -> ShowS
+[MerchantOffer] -> ShowS
+MerchantOffer -> String
+(Int -> MerchantOffer -> ShowS)
+-> (MerchantOffer -> String)
+-> ([MerchantOffer] -> ShowS)
+-> Show MerchantOffer
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> MerchantOffer -> ShowS
+showsPrec :: Int -> MerchantOffer -> ShowS
+$cshow :: MerchantOffer -> String
+show :: MerchantOffer -> String
+$cshowList :: [MerchantOffer] -> ShowS
+showList :: [MerchantOffer] -> ShowS
+Show, ReadPrec [MerchantOffer]
+ReadPrec MerchantOffer
+Int -> ReadS MerchantOffer
+ReadS [MerchantOffer]
+(Int -> ReadS MerchantOffer)
+-> ReadS [MerchantOffer]
+-> ReadPrec MerchantOffer
+-> ReadPrec [MerchantOffer]
+-> Read MerchantOffer
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS MerchantOffer
+readsPrec :: Int -> ReadS MerchantOffer
+$creadList :: ReadS [MerchantOffer]
+readList :: ReadS [MerchantOffer]
+$creadPrec :: ReadPrec MerchantOffer
+readPrec :: ReadPrec MerchantOffer
+$creadListPrec :: ReadPrec [MerchantOffer]
+readListPrec :: ReadPrec [MerchantOffer]
+Read, (forall x. MerchantOffer -> Rep MerchantOffer x)
+-> (forall x. Rep MerchantOffer x -> MerchantOffer)
+-> Generic MerchantOffer
+forall x. Rep MerchantOffer x -> MerchantOffer
+forall x. MerchantOffer -> Rep MerchantOffer x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. MerchantOffer -> Rep MerchantOffer x
+from :: forall x. MerchantOffer -> Rep MerchantOffer x
+$cto :: forall x. Rep MerchantOffer x -> MerchantOffer
+to :: forall x. Rep MerchantOffer x -> MerchantOffer
+Generic, Typeable, Typeable MerchantOffer
+Typeable MerchantOffer =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> MerchantOffer -> c MerchantOffer)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c MerchantOffer)
+-> (MerchantOffer -> Constr)
+-> (MerchantOffer -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c MerchantOffer))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c MerchantOffer))
+-> ((forall b. Data b => b -> b) -> MerchantOffer -> MerchantOffer)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> MerchantOffer -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> MerchantOffer -> r)
+-> (forall u. (forall d. Data d => d -> u) -> MerchantOffer -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> MerchantOffer -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> MerchantOffer -> m MerchantOffer)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> MerchantOffer -> m MerchantOffer)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> MerchantOffer -> m MerchantOffer)
+-> Data MerchantOffer
+MerchantOffer -> Constr
+MerchantOffer -> DataType
+(forall b. Data b => b -> b) -> MerchantOffer -> MerchantOffer
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> MerchantOffer -> u
+forall u. (forall d. Data d => d -> u) -> MerchantOffer -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> MerchantOffer -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> MerchantOffer -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> MerchantOffer -> m MerchantOffer
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> MerchantOffer -> m MerchantOffer
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c MerchantOffer
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> MerchantOffer -> c MerchantOffer
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c MerchantOffer)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c MerchantOffer)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> MerchantOffer -> c MerchantOffer
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> MerchantOffer -> c MerchantOffer
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c MerchantOffer
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c MerchantOffer
+$ctoConstr :: MerchantOffer -> Constr
+toConstr :: MerchantOffer -> Constr
+$cdataTypeOf :: MerchantOffer -> DataType
+dataTypeOf :: MerchantOffer -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c MerchantOffer)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c MerchantOffer)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c MerchantOffer)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c MerchantOffer)
+$cgmapT :: (forall b. Data b => b -> b) -> MerchantOffer -> MerchantOffer
+gmapT :: (forall b. Data b => b -> b) -> MerchantOffer -> MerchantOffer
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> MerchantOffer -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> MerchantOffer -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> MerchantOffer -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> MerchantOffer -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> MerchantOffer -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> MerchantOffer -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> MerchantOffer -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> MerchantOffer -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> MerchantOffer -> m MerchantOffer
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> MerchantOffer -> m MerchantOffer
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> MerchantOffer -> m MerchantOffer
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> MerchantOffer -> m MerchantOffer
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> MerchantOffer -> m MerchantOffer
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> MerchantOffer -> m MerchantOffer
+Data)
+  deriving anyclass (MerchantOffer -> ()
+(MerchantOffer -> ()) -> NFData MerchantOffer
+forall a. (a -> ()) -> NFData a
+$crnf :: MerchantOffer -> ()
+rnf :: MerchantOffer -> ()
+NFData, Eq MerchantOffer
+Eq MerchantOffer =>
+(Int -> MerchantOffer -> Int)
+-> (MerchantOffer -> Int) -> Hashable MerchantOffer
+Int -> MerchantOffer -> Int
+MerchantOffer -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+$chashWithSalt :: Int -> MerchantOffer -> Int
+hashWithSalt :: Int -> MerchantOffer -> Int
+$chash :: MerchantOffer -> Int
+hash :: MerchantOffer -> Int
+Hashable)
+  deriving (MerchantOffer -> Builder
+(MerchantOffer -> Builder) -> Pack MerchantOffer
+forall a. (a -> Builder) -> Pack a
+$cpack :: MerchantOffer -> Builder
+pack :: MerchantOffer -> Builder
+Pack, (forall (st :: ZeroBitType) r. Parser st r MerchantOffer)
+-> Unpack MerchantOffer
+forall (st :: ZeroBitType) r. Parser st r MerchantOffer
+forall a. (forall (st :: ZeroBitType) r. Parser st r a) -> Unpack a
+$cunpack :: forall (st :: ZeroBitType) r. Parser st r MerchantOffer
+unpack :: forall (st :: ZeroBitType) r. Parser st r MerchantOffer
+Unpack) via ErrorOnPackUnpack MerchantOffer
+
\ No newline at end of file diff --git a/src/M.V769.C.html b/src/M.V769.C.html new file mode 100644 index 0000000..217590a --- /dev/null +++ b/src/M.V769.C.html @@ -0,0 +1,107 @@ +
{-# OPTIONS_GHC -Wno-missing-export-lists #-}
+
+-- |
+-- Module: M.V769.C
+-- Description: Protocol configuration state packets (AI-generated)
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Defines packet structures for the configuration state of protocol version 769,
+-- including client and server capabilities negotiation, resource pack management,
+-- and server feature flags.
+module M.V769.C where
+
+import Control.DeepSeq
+import Data.ByteString (ByteString)
+import Data.Data
+import Data.Int
+import Data.Serde.QQ
+import Data.Text (Text)
+import Data.Vector qualified as V
+import Data.Word
+import GHC.Generics
+import M.LEB
+import M.Pack
+import M.V769.I
+import Prelude hiding (id)
+
+[serde|
+.derive
+  Show Read Data Typeable
+
+-- Clientbound packets
+data CookieRequest
+  key :: Text
+
+data Disconnect
+  reason :: Text
+
+data FinishConfiguration -- Empty packet
+
+data ResetChat -- Empty packet
+
+data RegistryData
+  data_ :: ByteString
+
+data RemoveResourcePack -- Empty packet
+
+data StoreCookie
+  key :: Text
+  value :: Text
+
+data Transfer
+  serveraddress :: Text
+  serverport :: Word16
+
+data FeatureFlags
+  flags :: V.Vector Text via V.Vector Identifier
+
+data UpdateTags
+  tags :: ByteString via TakeRest
+
+data KnownPacks
+  packs :: ByteString via TakeRest
+
+data CustomReportDetails
+  details :: ByteString via TakeRest
+
+data ServerLinks
+  links :: V.Vector Text via V.Vector Identifier
+
+-- Serverbound packets
+data ClientInformationConfiguration
+  locale :: Text
+  viewdistance :: Int8
+  chatmode :: ChatMode via EnumIndex VarInt ChatMode
+  chatcolors :: Bool
+  displayedskinparts :: DisplayedSkinParts via Bitwise Word8 DisplayedSkinParts
+  mainhandright :: Bool
+  enabletextfiltering :: Bool
+  allowserverlistings :: Bool
+  particlestatus :: ParticleStatus via EnumIndex VarInt ParticleStatus
+
+data CookieResponse
+  key :: Text
+  value :: Text
+
+data AcknowledgeFinishConfiguration -- Empty packet
+
+data Pong
+  id :: Int64
+
+data ResourcePackResponse
+  status :: VarInt
+  |]
+
+-- provided by "th-serde": Data.Serde.QQ
+runusercoercion
+  -- provided by M.Pack
+  borrowderivepackunpack
+  properderivepackunpack
+  -- preparations for shadow types
+  [ ''Generic,
+    ''NFData,
+    ''Eq,
+    ''Ord
+  ]
+
\ No newline at end of file diff --git a/src/M.V769.H.html b/src/M.V769.H.html new file mode 100644 index 0000000..a0004d0 --- /dev/null +++ b/src/M.V769.H.html @@ -0,0 +1,45 @@ +
{-# OPTIONS_GHC -Wno-missing-export-lists #-}
+
+-- |
+-- Module: M.V769.H
+-- Description: Protocol handshake packets (AI-generated)
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Implements packet structures for the initial handshake phase of protocol
+-- version 769, where clients establish basic connection parameters including
+-- protocol version and intended next state.
+module M.V769.H where
+
+import Control.DeepSeq
+import Data.Data
+import Data.Int
+import Data.Serde.QQ
+import Data.Text (Text)
+import Data.Word
+import GHC.Generics
+import M.LEB
+import M.Pack
+
+[serde|
+.derive
+  Show Read Data Typeable
+
+-- Handshaking
+data HandshakePacket
+  protocolversion :: Int32 via VarInt
+  serveraddress :: Text 
+  serverport :: Word16
+  nextstate :: Int32 via VarInt
+ |]
+
+runusercoercion
+  borrowderivepackunpack
+  properderivepackunpack
+  -- preparations for shadow types
+  [ ''Generic,
+    ''NFData,
+    ''Eq,
+    ''Ord
+  ]
+
\ No newline at end of file diff --git a/src/M.V769.I.html b/src/M.V769.I.html new file mode 100644 index 0000000..b416f0b --- /dev/null +++ b/src/M.V769.I.html @@ -0,0 +1,2548 @@ +
{-# OPTIONS_GHC -Wno-missing-export-lists #-}
+
+-- |
+-- Module: M.V769.I
+-- Description: Internal protocol types and utilities (AI-generated)
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Provides internal type definitions and utilities for protocol version 769,
+-- including game-specific enumerations, resolution specifications, and
+-- display configuration types used across different protocol states.
+module M.V769.I where
+
+import Control.DeepSeq
+import Data.Bits
+import Data.ByteString (ByteString)
+import Data.Data
+import Data.Fixed
+import Data.Hashable
+import Data.Int
+import Data.Serde.QQ
+import Data.Text (Text)
+import GHC.Generics
+import Language.Haskell.TH.Syntax (Lift)
+import M.Pack
+
+-- | given in 1/8000 resolution
+data SetEntityVelocityRes
+
+-- | given in 1/8000 resolution
+instance HasResolution SetEntityVelocityRes where
+  resolution :: forall (p :: * -> *). p SetEntityVelocityRes -> Integer
+resolution p SetEntityVelocityRes
+_ = Integer
+8000
+
+data ChatMode = CMEnabled | CMCommandsOnly | CMHidden
+  deriving stock (ChatMode -> ChatMode -> Bool
+(ChatMode -> ChatMode -> Bool)
+-> (ChatMode -> ChatMode -> Bool) -> Eq ChatMode
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: ChatMode -> ChatMode -> Bool
+== :: ChatMode -> ChatMode -> Bool
+$c/= :: ChatMode -> ChatMode -> Bool
+/= :: ChatMode -> ChatMode -> Bool
+Eq, Eq ChatMode
+Eq ChatMode =>
+(ChatMode -> ChatMode -> Ordering)
+-> (ChatMode -> ChatMode -> Bool)
+-> (ChatMode -> ChatMode -> Bool)
+-> (ChatMode -> ChatMode -> Bool)
+-> (ChatMode -> ChatMode -> Bool)
+-> (ChatMode -> ChatMode -> ChatMode)
+-> (ChatMode -> ChatMode -> ChatMode)
+-> Ord ChatMode
+ChatMode -> ChatMode -> Bool
+ChatMode -> ChatMode -> Ordering
+ChatMode -> ChatMode -> ChatMode
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: ChatMode -> ChatMode -> Ordering
+compare :: ChatMode -> ChatMode -> Ordering
+$c< :: ChatMode -> ChatMode -> Bool
+< :: ChatMode -> ChatMode -> Bool
+$c<= :: ChatMode -> ChatMode -> Bool
+<= :: ChatMode -> ChatMode -> Bool
+$c> :: ChatMode -> ChatMode -> Bool
+> :: ChatMode -> ChatMode -> Bool
+$c>= :: ChatMode -> ChatMode -> Bool
+>= :: ChatMode -> ChatMode -> Bool
+$cmax :: ChatMode -> ChatMode -> ChatMode
+max :: ChatMode -> ChatMode -> ChatMode
+$cmin :: ChatMode -> ChatMode -> ChatMode
+min :: ChatMode -> ChatMode -> ChatMode
+Ord, Int -> ChatMode -> ShowS
+[ChatMode] -> ShowS
+ChatMode -> String
+(Int -> ChatMode -> ShowS)
+-> (ChatMode -> String) -> ([ChatMode] -> ShowS) -> Show ChatMode
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> ChatMode -> ShowS
+showsPrec :: Int -> ChatMode -> ShowS
+$cshow :: ChatMode -> String
+show :: ChatMode -> String
+$cshowList :: [ChatMode] -> ShowS
+showList :: [ChatMode] -> ShowS
+Show, ReadPrec [ChatMode]
+ReadPrec ChatMode
+Int -> ReadS ChatMode
+ReadS [ChatMode]
+(Int -> ReadS ChatMode)
+-> ReadS [ChatMode]
+-> ReadPrec ChatMode
+-> ReadPrec [ChatMode]
+-> Read ChatMode
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS ChatMode
+readsPrec :: Int -> ReadS ChatMode
+$creadList :: ReadS [ChatMode]
+readList :: ReadS [ChatMode]
+$creadPrec :: ReadPrec ChatMode
+readPrec :: ReadPrec ChatMode
+$creadListPrec :: ReadPrec [ChatMode]
+readListPrec :: ReadPrec [ChatMode]
+Read)
+  deriving stock (Int -> ChatMode
+ChatMode -> Int
+ChatMode -> [ChatMode]
+ChatMode -> ChatMode
+ChatMode -> ChatMode -> [ChatMode]
+ChatMode -> ChatMode -> ChatMode -> [ChatMode]
+(ChatMode -> ChatMode)
+-> (ChatMode -> ChatMode)
+-> (Int -> ChatMode)
+-> (ChatMode -> Int)
+-> (ChatMode -> [ChatMode])
+-> (ChatMode -> ChatMode -> [ChatMode])
+-> (ChatMode -> ChatMode -> [ChatMode])
+-> (ChatMode -> ChatMode -> ChatMode -> [ChatMode])
+-> Enum ChatMode
+forall a.
+(a -> a)
+-> (a -> a)
+-> (Int -> a)
+-> (a -> Int)
+-> (a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> a -> [a])
+-> Enum a
+$csucc :: ChatMode -> ChatMode
+succ :: ChatMode -> ChatMode
+$cpred :: ChatMode -> ChatMode
+pred :: ChatMode -> ChatMode
+$ctoEnum :: Int -> ChatMode
+toEnum :: Int -> ChatMode
+$cfromEnum :: ChatMode -> Int
+fromEnum :: ChatMode -> Int
+$cenumFrom :: ChatMode -> [ChatMode]
+enumFrom :: ChatMode -> [ChatMode]
+$cenumFromThen :: ChatMode -> ChatMode -> [ChatMode]
+enumFromThen :: ChatMode -> ChatMode -> [ChatMode]
+$cenumFromTo :: ChatMode -> ChatMode -> [ChatMode]
+enumFromTo :: ChatMode -> ChatMode -> [ChatMode]
+$cenumFromThenTo :: ChatMode -> ChatMode -> ChatMode -> [ChatMode]
+enumFromThenTo :: ChatMode -> ChatMode -> ChatMode -> [ChatMode]
+Enum, ChatMode
+ChatMode -> ChatMode -> Bounded ChatMode
+forall a. a -> a -> Bounded a
+$cminBound :: ChatMode
+minBound :: ChatMode
+$cmaxBound :: ChatMode
+maxBound :: ChatMode
+Bounded, (forall x. ChatMode -> Rep ChatMode x)
+-> (forall x. Rep ChatMode x -> ChatMode) -> Generic ChatMode
+forall x. Rep ChatMode x -> ChatMode
+forall x. ChatMode -> Rep ChatMode x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. ChatMode -> Rep ChatMode x
+from :: forall x. ChatMode -> Rep ChatMode x
+$cto :: forall x. Rep ChatMode x -> ChatMode
+to :: forall x. Rep ChatMode x -> ChatMode
+Generic, Typeable ChatMode
+Typeable ChatMode =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> ChatMode -> c ChatMode)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c ChatMode)
+-> (ChatMode -> Constr)
+-> (ChatMode -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c ChatMode))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ChatMode))
+-> ((forall b. Data b => b -> b) -> ChatMode -> ChatMode)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> ChatMode -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> ChatMode -> r)
+-> (forall u. (forall d. Data d => d -> u) -> ChatMode -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> ChatMode -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> ChatMode -> m ChatMode)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> ChatMode -> m ChatMode)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> ChatMode -> m ChatMode)
+-> Data ChatMode
+ChatMode -> Constr
+ChatMode -> DataType
+(forall b. Data b => b -> b) -> ChatMode -> ChatMode
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> ChatMode -> u
+forall u. (forall d. Data d => d -> u) -> ChatMode -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ChatMode -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ChatMode -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> ChatMode -> m ChatMode
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> ChatMode -> m ChatMode
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c ChatMode
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> ChatMode -> c ChatMode
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c ChatMode)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ChatMode)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> ChatMode -> c ChatMode
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> ChatMode -> c ChatMode
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c ChatMode
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c ChatMode
+$ctoConstr :: ChatMode -> Constr
+toConstr :: ChatMode -> Constr
+$cdataTypeOf :: ChatMode -> DataType
+dataTypeOf :: ChatMode -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c ChatMode)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c ChatMode)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ChatMode)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ChatMode)
+$cgmapT :: (forall b. Data b => b -> b) -> ChatMode -> ChatMode
+gmapT :: (forall b. Data b => b -> b) -> ChatMode -> ChatMode
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ChatMode -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ChatMode -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ChatMode -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ChatMode -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> ChatMode -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> ChatMode -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> ChatMode -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> ChatMode -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> ChatMode -> m ChatMode
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> ChatMode -> m ChatMode
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> ChatMode -> m ChatMode
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> ChatMode -> m ChatMode
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> ChatMode -> m ChatMode
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> ChatMode -> m ChatMode
+Data, Typeable, (forall (m :: * -> *). Quote m => ChatMode -> m Exp)
+-> (forall (m :: * -> *). Quote m => ChatMode -> Code m ChatMode)
+-> Lift ChatMode
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => ChatMode -> m Exp
+forall (m :: * -> *). Quote m => ChatMode -> Code m ChatMode
+$clift :: forall (m :: * -> *). Quote m => ChatMode -> m Exp
+lift :: forall (m :: * -> *). Quote m => ChatMode -> m Exp
+$cliftTyped :: forall (m :: * -> *). Quote m => ChatMode -> Code m ChatMode
+liftTyped :: forall (m :: * -> *). Quote m => ChatMode -> Code m ChatMode
+Lift)
+  deriving anyclass (ChatMode -> ()
+(ChatMode -> ()) -> NFData ChatMode
+forall a. (a -> ()) -> NFData a
+$crnf :: ChatMode -> ()
+rnf :: ChatMode -> ()
+NFData, Eq ChatMode
+Eq ChatMode =>
+(Int -> ChatMode -> Int) -> (ChatMode -> Int) -> Hashable ChatMode
+Int -> ChatMode -> Int
+ChatMode -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+$chashWithSalt :: Int -> ChatMode -> Int
+hashWithSalt :: Int -> ChatMode -> Int
+$chash :: ChatMode -> Int
+hash :: ChatMode -> Int
+Hashable)
+
+data ParticleStatus = PSAll | PSDecreased | PSMinimal
+  deriving stock (ParticleStatus -> ParticleStatus -> Bool
+(ParticleStatus -> ParticleStatus -> Bool)
+-> (ParticleStatus -> ParticleStatus -> Bool) -> Eq ParticleStatus
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: ParticleStatus -> ParticleStatus -> Bool
+== :: ParticleStatus -> ParticleStatus -> Bool
+$c/= :: ParticleStatus -> ParticleStatus -> Bool
+/= :: ParticleStatus -> ParticleStatus -> Bool
+Eq, Eq ParticleStatus
+Eq ParticleStatus =>
+(ParticleStatus -> ParticleStatus -> Ordering)
+-> (ParticleStatus -> ParticleStatus -> Bool)
+-> (ParticleStatus -> ParticleStatus -> Bool)
+-> (ParticleStatus -> ParticleStatus -> Bool)
+-> (ParticleStatus -> ParticleStatus -> Bool)
+-> (ParticleStatus -> ParticleStatus -> ParticleStatus)
+-> (ParticleStatus -> ParticleStatus -> ParticleStatus)
+-> Ord ParticleStatus
+ParticleStatus -> ParticleStatus -> Bool
+ParticleStatus -> ParticleStatus -> Ordering
+ParticleStatus -> ParticleStatus -> ParticleStatus
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: ParticleStatus -> ParticleStatus -> Ordering
+compare :: ParticleStatus -> ParticleStatus -> Ordering
+$c< :: ParticleStatus -> ParticleStatus -> Bool
+< :: ParticleStatus -> ParticleStatus -> Bool
+$c<= :: ParticleStatus -> ParticleStatus -> Bool
+<= :: ParticleStatus -> ParticleStatus -> Bool
+$c> :: ParticleStatus -> ParticleStatus -> Bool
+> :: ParticleStatus -> ParticleStatus -> Bool
+$c>= :: ParticleStatus -> ParticleStatus -> Bool
+>= :: ParticleStatus -> ParticleStatus -> Bool
+$cmax :: ParticleStatus -> ParticleStatus -> ParticleStatus
+max :: ParticleStatus -> ParticleStatus -> ParticleStatus
+$cmin :: ParticleStatus -> ParticleStatus -> ParticleStatus
+min :: ParticleStatus -> ParticleStatus -> ParticleStatus
+Ord, Int -> ParticleStatus -> ShowS
+[ParticleStatus] -> ShowS
+ParticleStatus -> String
+(Int -> ParticleStatus -> ShowS)
+-> (ParticleStatus -> String)
+-> ([ParticleStatus] -> ShowS)
+-> Show ParticleStatus
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> ParticleStatus -> ShowS
+showsPrec :: Int -> ParticleStatus -> ShowS
+$cshow :: ParticleStatus -> String
+show :: ParticleStatus -> String
+$cshowList :: [ParticleStatus] -> ShowS
+showList :: [ParticleStatus] -> ShowS
+Show, ReadPrec [ParticleStatus]
+ReadPrec ParticleStatus
+Int -> ReadS ParticleStatus
+ReadS [ParticleStatus]
+(Int -> ReadS ParticleStatus)
+-> ReadS [ParticleStatus]
+-> ReadPrec ParticleStatus
+-> ReadPrec [ParticleStatus]
+-> Read ParticleStatus
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS ParticleStatus
+readsPrec :: Int -> ReadS ParticleStatus
+$creadList :: ReadS [ParticleStatus]
+readList :: ReadS [ParticleStatus]
+$creadPrec :: ReadPrec ParticleStatus
+readPrec :: ReadPrec ParticleStatus
+$creadListPrec :: ReadPrec [ParticleStatus]
+readListPrec :: ReadPrec [ParticleStatus]
+Read)
+  deriving stock (Int -> ParticleStatus
+ParticleStatus -> Int
+ParticleStatus -> [ParticleStatus]
+ParticleStatus -> ParticleStatus
+ParticleStatus -> ParticleStatus -> [ParticleStatus]
+ParticleStatus
+-> ParticleStatus -> ParticleStatus -> [ParticleStatus]
+(ParticleStatus -> ParticleStatus)
+-> (ParticleStatus -> ParticleStatus)
+-> (Int -> ParticleStatus)
+-> (ParticleStatus -> Int)
+-> (ParticleStatus -> [ParticleStatus])
+-> (ParticleStatus -> ParticleStatus -> [ParticleStatus])
+-> (ParticleStatus -> ParticleStatus -> [ParticleStatus])
+-> (ParticleStatus
+    -> ParticleStatus -> ParticleStatus -> [ParticleStatus])
+-> Enum ParticleStatus
+forall a.
+(a -> a)
+-> (a -> a)
+-> (Int -> a)
+-> (a -> Int)
+-> (a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> a -> [a])
+-> Enum a
+$csucc :: ParticleStatus -> ParticleStatus
+succ :: ParticleStatus -> ParticleStatus
+$cpred :: ParticleStatus -> ParticleStatus
+pred :: ParticleStatus -> ParticleStatus
+$ctoEnum :: Int -> ParticleStatus
+toEnum :: Int -> ParticleStatus
+$cfromEnum :: ParticleStatus -> Int
+fromEnum :: ParticleStatus -> Int
+$cenumFrom :: ParticleStatus -> [ParticleStatus]
+enumFrom :: ParticleStatus -> [ParticleStatus]
+$cenumFromThen :: ParticleStatus -> ParticleStatus -> [ParticleStatus]
+enumFromThen :: ParticleStatus -> ParticleStatus -> [ParticleStatus]
+$cenumFromTo :: ParticleStatus -> ParticleStatus -> [ParticleStatus]
+enumFromTo :: ParticleStatus -> ParticleStatus -> [ParticleStatus]
+$cenumFromThenTo :: ParticleStatus
+-> ParticleStatus -> ParticleStatus -> [ParticleStatus]
+enumFromThenTo :: ParticleStatus
+-> ParticleStatus -> ParticleStatus -> [ParticleStatus]
+Enum, ParticleStatus
+ParticleStatus -> ParticleStatus -> Bounded ParticleStatus
+forall a. a -> a -> Bounded a
+$cminBound :: ParticleStatus
+minBound :: ParticleStatus
+$cmaxBound :: ParticleStatus
+maxBound :: ParticleStatus
+Bounded, (forall x. ParticleStatus -> Rep ParticleStatus x)
+-> (forall x. Rep ParticleStatus x -> ParticleStatus)
+-> Generic ParticleStatus
+forall x. Rep ParticleStatus x -> ParticleStatus
+forall x. ParticleStatus -> Rep ParticleStatus x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. ParticleStatus -> Rep ParticleStatus x
+from :: forall x. ParticleStatus -> Rep ParticleStatus x
+$cto :: forall x. Rep ParticleStatus x -> ParticleStatus
+to :: forall x. Rep ParticleStatus x -> ParticleStatus
+Generic, Typeable ParticleStatus
+Typeable ParticleStatus =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> ParticleStatus -> c ParticleStatus)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c ParticleStatus)
+-> (ParticleStatus -> Constr)
+-> (ParticleStatus -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c ParticleStatus))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c ParticleStatus))
+-> ((forall b. Data b => b -> b)
+    -> ParticleStatus -> ParticleStatus)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> ParticleStatus -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> ParticleStatus -> r)
+-> (forall u.
+    (forall d. Data d => d -> u) -> ParticleStatus -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> ParticleStatus -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d)
+    -> ParticleStatus -> m ParticleStatus)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d)
+    -> ParticleStatus -> m ParticleStatus)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d)
+    -> ParticleStatus -> m ParticleStatus)
+-> Data ParticleStatus
+ParticleStatus -> Constr
+ParticleStatus -> DataType
+(forall b. Data b => b -> b) -> ParticleStatus -> ParticleStatus
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u.
+Int -> (forall d. Data d => d -> u) -> ParticleStatus -> u
+forall u. (forall d. Data d => d -> u) -> ParticleStatus -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ParticleStatus -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ParticleStatus -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d)
+-> ParticleStatus -> m ParticleStatus
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> ParticleStatus -> m ParticleStatus
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c ParticleStatus
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> ParticleStatus -> c ParticleStatus
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c ParticleStatus)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c ParticleStatus)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> ParticleStatus -> c ParticleStatus
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> ParticleStatus -> c ParticleStatus
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c ParticleStatus
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c ParticleStatus
+$ctoConstr :: ParticleStatus -> Constr
+toConstr :: ParticleStatus -> Constr
+$cdataTypeOf :: ParticleStatus -> DataType
+dataTypeOf :: ParticleStatus -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c ParticleStatus)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c ParticleStatus)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c ParticleStatus)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c ParticleStatus)
+$cgmapT :: (forall b. Data b => b -> b) -> ParticleStatus -> ParticleStatus
+gmapT :: (forall b. Data b => b -> b) -> ParticleStatus -> ParticleStatus
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ParticleStatus -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ParticleStatus -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ParticleStatus -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ParticleStatus -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> ParticleStatus -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> ParticleStatus -> [u]
+$cgmapQi :: forall u.
+Int -> (forall d. Data d => d -> u) -> ParticleStatus -> u
+gmapQi :: forall u.
+Int -> (forall d. Data d => d -> u) -> ParticleStatus -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d)
+-> ParticleStatus -> m ParticleStatus
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d)
+-> ParticleStatus -> m ParticleStatus
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> ParticleStatus -> m ParticleStatus
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> ParticleStatus -> m ParticleStatus
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> ParticleStatus -> m ParticleStatus
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d)
+-> ParticleStatus -> m ParticleStatus
+Data, Typeable, (forall (m :: * -> *). Quote m => ParticleStatus -> m Exp)
+-> (forall (m :: * -> *).
+    Quote m =>
+    ParticleStatus -> Code m ParticleStatus)
+-> Lift ParticleStatus
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => ParticleStatus -> m Exp
+forall (m :: * -> *).
+Quote m =>
+ParticleStatus -> Code m ParticleStatus
+$clift :: forall (m :: * -> *). Quote m => ParticleStatus -> m Exp
+lift :: forall (m :: * -> *). Quote m => ParticleStatus -> m Exp
+$cliftTyped :: forall (m :: * -> *).
+Quote m =>
+ParticleStatus -> Code m ParticleStatus
+liftTyped :: forall (m :: * -> *).
+Quote m =>
+ParticleStatus -> Code m ParticleStatus
+Lift)
+  deriving anyclass (ParticleStatus -> ()
+(ParticleStatus -> ()) -> NFData ParticleStatus
+forall a. (a -> ()) -> NFData a
+$crnf :: ParticleStatus -> ()
+rnf :: ParticleStatus -> ()
+NFData, Eq ParticleStatus
+Eq ParticleStatus =>
+(Int -> ParticleStatus -> Int)
+-> (ParticleStatus -> Int) -> Hashable ParticleStatus
+Int -> ParticleStatus -> Int
+ParticleStatus -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+$chashWithSalt :: Int -> ParticleStatus -> Int
+hashWithSalt :: Int -> ParticleStatus -> Int
+$chash :: ParticleStatus -> Int
+hash :: ParticleStatus -> Int
+Hashable)
+
+data FilterType = PassThrough | FullyFiltered | PartiallyFiltered
+  deriving stock (FilterType -> FilterType -> Bool
+(FilterType -> FilterType -> Bool)
+-> (FilterType -> FilterType -> Bool) -> Eq FilterType
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: FilterType -> FilterType -> Bool
+== :: FilterType -> FilterType -> Bool
+$c/= :: FilterType -> FilterType -> Bool
+/= :: FilterType -> FilterType -> Bool
+Eq, Eq FilterType
+Eq FilterType =>
+(FilterType -> FilterType -> Ordering)
+-> (FilterType -> FilterType -> Bool)
+-> (FilterType -> FilterType -> Bool)
+-> (FilterType -> FilterType -> Bool)
+-> (FilterType -> FilterType -> Bool)
+-> (FilterType -> FilterType -> FilterType)
+-> (FilterType -> FilterType -> FilterType)
+-> Ord FilterType
+FilterType -> FilterType -> Bool
+FilterType -> FilterType -> Ordering
+FilterType -> FilterType -> FilterType
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: FilterType -> FilterType -> Ordering
+compare :: FilterType -> FilterType -> Ordering
+$c< :: FilterType -> FilterType -> Bool
+< :: FilterType -> FilterType -> Bool
+$c<= :: FilterType -> FilterType -> Bool
+<= :: FilterType -> FilterType -> Bool
+$c> :: FilterType -> FilterType -> Bool
+> :: FilterType -> FilterType -> Bool
+$c>= :: FilterType -> FilterType -> Bool
+>= :: FilterType -> FilterType -> Bool
+$cmax :: FilterType -> FilterType -> FilterType
+max :: FilterType -> FilterType -> FilterType
+$cmin :: FilterType -> FilterType -> FilterType
+min :: FilterType -> FilterType -> FilterType
+Ord, Int -> FilterType -> ShowS
+[FilterType] -> ShowS
+FilterType -> String
+(Int -> FilterType -> ShowS)
+-> (FilterType -> String)
+-> ([FilterType] -> ShowS)
+-> Show FilterType
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> FilterType -> ShowS
+showsPrec :: Int -> FilterType -> ShowS
+$cshow :: FilterType -> String
+show :: FilterType -> String
+$cshowList :: [FilterType] -> ShowS
+showList :: [FilterType] -> ShowS
+Show, ReadPrec [FilterType]
+ReadPrec FilterType
+Int -> ReadS FilterType
+ReadS [FilterType]
+(Int -> ReadS FilterType)
+-> ReadS [FilterType]
+-> ReadPrec FilterType
+-> ReadPrec [FilterType]
+-> Read FilterType
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS FilterType
+readsPrec :: Int -> ReadS FilterType
+$creadList :: ReadS [FilterType]
+readList :: ReadS [FilterType]
+$creadPrec :: ReadPrec FilterType
+readPrec :: ReadPrec FilterType
+$creadListPrec :: ReadPrec [FilterType]
+readListPrec :: ReadPrec [FilterType]
+Read)
+  deriving stock (Int -> FilterType
+FilterType -> Int
+FilterType -> [FilterType]
+FilterType -> FilterType
+FilterType -> FilterType -> [FilterType]
+FilterType -> FilterType -> FilterType -> [FilterType]
+(FilterType -> FilterType)
+-> (FilterType -> FilterType)
+-> (Int -> FilterType)
+-> (FilterType -> Int)
+-> (FilterType -> [FilterType])
+-> (FilterType -> FilterType -> [FilterType])
+-> (FilterType -> FilterType -> [FilterType])
+-> (FilterType -> FilterType -> FilterType -> [FilterType])
+-> Enum FilterType
+forall a.
+(a -> a)
+-> (a -> a)
+-> (Int -> a)
+-> (a -> Int)
+-> (a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> a -> [a])
+-> Enum a
+$csucc :: FilterType -> FilterType
+succ :: FilterType -> FilterType
+$cpred :: FilterType -> FilterType
+pred :: FilterType -> FilterType
+$ctoEnum :: Int -> FilterType
+toEnum :: Int -> FilterType
+$cfromEnum :: FilterType -> Int
+fromEnum :: FilterType -> Int
+$cenumFrom :: FilterType -> [FilterType]
+enumFrom :: FilterType -> [FilterType]
+$cenumFromThen :: FilterType -> FilterType -> [FilterType]
+enumFromThen :: FilterType -> FilterType -> [FilterType]
+$cenumFromTo :: FilterType -> FilterType -> [FilterType]
+enumFromTo :: FilterType -> FilterType -> [FilterType]
+$cenumFromThenTo :: FilterType -> FilterType -> FilterType -> [FilterType]
+enumFromThenTo :: FilterType -> FilterType -> FilterType -> [FilterType]
+Enum, FilterType
+FilterType -> FilterType -> Bounded FilterType
+forall a. a -> a -> Bounded a
+$cminBound :: FilterType
+minBound :: FilterType
+$cmaxBound :: FilterType
+maxBound :: FilterType
+Bounded, (forall x. FilterType -> Rep FilterType x)
+-> (forall x. Rep FilterType x -> FilterType) -> Generic FilterType
+forall x. Rep FilterType x -> FilterType
+forall x. FilterType -> Rep FilterType x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. FilterType -> Rep FilterType x
+from :: forall x. FilterType -> Rep FilterType x
+$cto :: forall x. Rep FilterType x -> FilterType
+to :: forall x. Rep FilterType x -> FilterType
+Generic, Typeable FilterType
+Typeable FilterType =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> FilterType -> c FilterType)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c FilterType)
+-> (FilterType -> Constr)
+-> (FilterType -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c FilterType))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c FilterType))
+-> ((forall b. Data b => b -> b) -> FilterType -> FilterType)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> FilterType -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> FilterType -> r)
+-> (forall u. (forall d. Data d => d -> u) -> FilterType -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> FilterType -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> FilterType -> m FilterType)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> FilterType -> m FilterType)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> FilterType -> m FilterType)
+-> Data FilterType
+FilterType -> Constr
+FilterType -> DataType
+(forall b. Data b => b -> b) -> FilterType -> FilterType
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> FilterType -> u
+forall u. (forall d. Data d => d -> u) -> FilterType -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> FilterType -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> FilterType -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> FilterType -> m FilterType
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> FilterType -> m FilterType
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c FilterType
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> FilterType -> c FilterType
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c FilterType)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FilterType)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> FilterType -> c FilterType
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> FilterType -> c FilterType
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c FilterType
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c FilterType
+$ctoConstr :: FilterType -> Constr
+toConstr :: FilterType -> Constr
+$cdataTypeOf :: FilterType -> DataType
+dataTypeOf :: FilterType -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c FilterType)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c FilterType)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FilterType)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FilterType)
+$cgmapT :: (forall b. Data b => b -> b) -> FilterType -> FilterType
+gmapT :: (forall b. Data b => b -> b) -> FilterType -> FilterType
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> FilterType -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> FilterType -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> FilterType -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> FilterType -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> FilterType -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> FilterType -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> FilterType -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> FilterType -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> FilterType -> m FilterType
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> FilterType -> m FilterType
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> FilterType -> m FilterType
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> FilterType -> m FilterType
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> FilterType -> m FilterType
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> FilterType -> m FilterType
+Data, Typeable, (forall (m :: * -> *). Quote m => FilterType -> m Exp)
+-> (forall (m :: * -> *).
+    Quote m =>
+    FilterType -> Code m FilterType)
+-> Lift FilterType
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => FilterType -> m Exp
+forall (m :: * -> *). Quote m => FilterType -> Code m FilterType
+$clift :: forall (m :: * -> *). Quote m => FilterType -> m Exp
+lift :: forall (m :: * -> *). Quote m => FilterType -> m Exp
+$cliftTyped :: forall (m :: * -> *). Quote m => FilterType -> Code m FilterType
+liftTyped :: forall (m :: * -> *). Quote m => FilterType -> Code m FilterType
+Lift)
+  deriving anyclass (FilterType -> ()
+(FilterType -> ()) -> NFData FilterType
+forall a. (a -> ()) -> NFData a
+$crnf :: FilterType -> ()
+rnf :: FilterType -> ()
+NFData, Eq FilterType
+Eq FilterType =>
+(Int -> FilterType -> Int)
+-> (FilterType -> Int) -> Hashable FilterType
+Int -> FilterType -> Int
+FilterType -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+$chashWithSalt :: Int -> FilterType -> Int
+hashWithSalt :: Int -> FilterType -> Int
+$chash :: FilterType -> Int
+hash :: FilterType -> Int
+Hashable)
+
+data BossBarColor
+  = BCPink
+  | BCBlue
+  | BCRed
+  | BCGreen
+  | BCYellow
+  | BCPurple
+  | BCWhite
+  deriving stock (BossBarColor -> BossBarColor -> Bool
+(BossBarColor -> BossBarColor -> Bool)
+-> (BossBarColor -> BossBarColor -> Bool) -> Eq BossBarColor
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: BossBarColor -> BossBarColor -> Bool
+== :: BossBarColor -> BossBarColor -> Bool
+$c/= :: BossBarColor -> BossBarColor -> Bool
+/= :: BossBarColor -> BossBarColor -> Bool
+Eq, Eq BossBarColor
+Eq BossBarColor =>
+(BossBarColor -> BossBarColor -> Ordering)
+-> (BossBarColor -> BossBarColor -> Bool)
+-> (BossBarColor -> BossBarColor -> Bool)
+-> (BossBarColor -> BossBarColor -> Bool)
+-> (BossBarColor -> BossBarColor -> Bool)
+-> (BossBarColor -> BossBarColor -> BossBarColor)
+-> (BossBarColor -> BossBarColor -> BossBarColor)
+-> Ord BossBarColor
+BossBarColor -> BossBarColor -> Bool
+BossBarColor -> BossBarColor -> Ordering
+BossBarColor -> BossBarColor -> BossBarColor
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: BossBarColor -> BossBarColor -> Ordering
+compare :: BossBarColor -> BossBarColor -> Ordering
+$c< :: BossBarColor -> BossBarColor -> Bool
+< :: BossBarColor -> BossBarColor -> Bool
+$c<= :: BossBarColor -> BossBarColor -> Bool
+<= :: BossBarColor -> BossBarColor -> Bool
+$c> :: BossBarColor -> BossBarColor -> Bool
+> :: BossBarColor -> BossBarColor -> Bool
+$c>= :: BossBarColor -> BossBarColor -> Bool
+>= :: BossBarColor -> BossBarColor -> Bool
+$cmax :: BossBarColor -> BossBarColor -> BossBarColor
+max :: BossBarColor -> BossBarColor -> BossBarColor
+$cmin :: BossBarColor -> BossBarColor -> BossBarColor
+min :: BossBarColor -> BossBarColor -> BossBarColor
+Ord, Int -> BossBarColor -> ShowS
+[BossBarColor] -> ShowS
+BossBarColor -> String
+(Int -> BossBarColor -> ShowS)
+-> (BossBarColor -> String)
+-> ([BossBarColor] -> ShowS)
+-> Show BossBarColor
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> BossBarColor -> ShowS
+showsPrec :: Int -> BossBarColor -> ShowS
+$cshow :: BossBarColor -> String
+show :: BossBarColor -> String
+$cshowList :: [BossBarColor] -> ShowS
+showList :: [BossBarColor] -> ShowS
+Show, ReadPrec [BossBarColor]
+ReadPrec BossBarColor
+Int -> ReadS BossBarColor
+ReadS [BossBarColor]
+(Int -> ReadS BossBarColor)
+-> ReadS [BossBarColor]
+-> ReadPrec BossBarColor
+-> ReadPrec [BossBarColor]
+-> Read BossBarColor
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS BossBarColor
+readsPrec :: Int -> ReadS BossBarColor
+$creadList :: ReadS [BossBarColor]
+readList :: ReadS [BossBarColor]
+$creadPrec :: ReadPrec BossBarColor
+readPrec :: ReadPrec BossBarColor
+$creadListPrec :: ReadPrec [BossBarColor]
+readListPrec :: ReadPrec [BossBarColor]
+Read)
+  deriving stock (Int -> BossBarColor
+BossBarColor -> Int
+BossBarColor -> [BossBarColor]
+BossBarColor -> BossBarColor
+BossBarColor -> BossBarColor -> [BossBarColor]
+BossBarColor -> BossBarColor -> BossBarColor -> [BossBarColor]
+(BossBarColor -> BossBarColor)
+-> (BossBarColor -> BossBarColor)
+-> (Int -> BossBarColor)
+-> (BossBarColor -> Int)
+-> (BossBarColor -> [BossBarColor])
+-> (BossBarColor -> BossBarColor -> [BossBarColor])
+-> (BossBarColor -> BossBarColor -> [BossBarColor])
+-> (BossBarColor -> BossBarColor -> BossBarColor -> [BossBarColor])
+-> Enum BossBarColor
+forall a.
+(a -> a)
+-> (a -> a)
+-> (Int -> a)
+-> (a -> Int)
+-> (a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> [a])
+-> (a -> a -> a -> [a])
+-> Enum a
+$csucc :: BossBarColor -> BossBarColor
+succ :: BossBarColor -> BossBarColor
+$cpred :: BossBarColor -> BossBarColor
+pred :: BossBarColor -> BossBarColor
+$ctoEnum :: Int -> BossBarColor
+toEnum :: Int -> BossBarColor
+$cfromEnum :: BossBarColor -> Int
+fromEnum :: BossBarColor -> Int
+$cenumFrom :: BossBarColor -> [BossBarColor]
+enumFrom :: BossBarColor -> [BossBarColor]
+$cenumFromThen :: BossBarColor -> BossBarColor -> [BossBarColor]
+enumFromThen :: BossBarColor -> BossBarColor -> [BossBarColor]
+$cenumFromTo :: BossBarColor -> BossBarColor -> [BossBarColor]
+enumFromTo :: BossBarColor -> BossBarColor -> [BossBarColor]
+$cenumFromThenTo :: BossBarColor -> BossBarColor -> BossBarColor -> [BossBarColor]
+enumFromThenTo :: BossBarColor -> BossBarColor -> BossBarColor -> [BossBarColor]
+Enum, BossBarColor
+BossBarColor -> BossBarColor -> Bounded BossBarColor
+forall a. a -> a -> Bounded a
+$cminBound :: BossBarColor
+minBound :: BossBarColor
+$cmaxBound :: BossBarColor
+maxBound :: BossBarColor
+Bounded, (forall x. BossBarColor -> Rep BossBarColor x)
+-> (forall x. Rep BossBarColor x -> BossBarColor)
+-> Generic BossBarColor
+forall x. Rep BossBarColor x -> BossBarColor
+forall x. BossBarColor -> Rep BossBarColor x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. BossBarColor -> Rep BossBarColor x
+from :: forall x. BossBarColor -> Rep BossBarColor x
+$cto :: forall x. Rep BossBarColor x -> BossBarColor
+to :: forall x. Rep BossBarColor x -> BossBarColor
+Generic, Typeable BossBarColor
+Typeable BossBarColor =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> BossBarColor -> c BossBarColor)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c BossBarColor)
+-> (BossBarColor -> Constr)
+-> (BossBarColor -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c BossBarColor))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c BossBarColor))
+-> ((forall b. Data b => b -> b) -> BossBarColor -> BossBarColor)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> BossBarColor -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> BossBarColor -> r)
+-> (forall u. (forall d. Data d => d -> u) -> BossBarColor -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> BossBarColor -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> BossBarColor -> m BossBarColor)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> BossBarColor -> m BossBarColor)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> BossBarColor -> m BossBarColor)
+-> Data BossBarColor
+BossBarColor -> Constr
+BossBarColor -> DataType
+(forall b. Data b => b -> b) -> BossBarColor -> BossBarColor
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> BossBarColor -> u
+forall u. (forall d. Data d => d -> u) -> BossBarColor -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> BossBarColor -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> BossBarColor -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> BossBarColor -> m BossBarColor
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> BossBarColor -> m BossBarColor
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c BossBarColor
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> BossBarColor -> c BossBarColor
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c BossBarColor)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c BossBarColor)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> BossBarColor -> c BossBarColor
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> BossBarColor -> c BossBarColor
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c BossBarColor
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c BossBarColor
+$ctoConstr :: BossBarColor -> Constr
+toConstr :: BossBarColor -> Constr
+$cdataTypeOf :: BossBarColor -> DataType
+dataTypeOf :: BossBarColor -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c BossBarColor)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c BossBarColor)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c BossBarColor)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c BossBarColor)
+$cgmapT :: (forall b. Data b => b -> b) -> BossBarColor -> BossBarColor
+gmapT :: (forall b. Data b => b -> b) -> BossBarColor -> BossBarColor
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> BossBarColor -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> BossBarColor -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> BossBarColor -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> BossBarColor -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> BossBarColor -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> BossBarColor -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> BossBarColor -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> BossBarColor -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> BossBarColor -> m BossBarColor
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> BossBarColor -> m BossBarColor
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> BossBarColor -> m BossBarColor
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> BossBarColor -> m BossBarColor
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> BossBarColor -> m BossBarColor
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> BossBarColor -> m BossBarColor
+Data, Typeable, (forall (m :: * -> *). Quote m => BossBarColor -> m Exp)
+-> (forall (m :: * -> *).
+    Quote m =>
+    BossBarColor -> Code m BossBarColor)
+-> Lift BossBarColor
+forall t.
+(forall (m :: * -> *). Quote m => t -> m Exp)
+-> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t
+forall (m :: * -> *). Quote m => BossBarColor -> m Exp
+forall (m :: * -> *).
+Quote m =>
+BossBarColor -> Code m BossBarColor
+$clift :: forall (m :: * -> *). Quote m => BossBarColor -> m Exp
+lift :: forall (m :: * -> *). Quote m => BossBarColor -> m Exp
+$cliftTyped :: forall (m :: * -> *).
+Quote m =>
+BossBarColor -> Code m BossBarColor
+liftTyped :: forall (m :: * -> *).
+Quote m =>
+BossBarColor -> Code m BossBarColor
+Lift)
+  deriving anyclass (BossBarColor -> ()
+(BossBarColor -> ()) -> NFData BossBarColor
+forall a. (a -> ()) -> NFData a
+$crnf :: BossBarColor -> ()
+rnf :: BossBarColor -> ()
+NFData, Eq BossBarColor
+Eq BossBarColor =>
+(Int -> BossBarColor -> Int)
+-> (BossBarColor -> Int) -> Hashable BossBarColor
+Int -> BossBarColor -> Int
+BossBarColor -> Int
+forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
+$chashWithSalt :: Int -> BossBarColor -> Int
+hashWithSalt :: Int -> BossBarColor -> Int
+$chash :: BossBarColor -> Int
+hash :: BossBarColor -> Int
+Hashable)
+
+-- Shared packet types between states
+newtype KeepAlive = KeepAlive
+  {KeepAlive -> Int64
+id :: Int64}
+  deriving newtype (Int -> KeepAlive -> ShowS
+[KeepAlive] -> ShowS
+KeepAlive -> String
+(Int -> KeepAlive -> ShowS)
+-> (KeepAlive -> String)
+-> ([KeepAlive] -> ShowS)
+-> Show KeepAlive
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> KeepAlive -> ShowS
+showsPrec :: Int -> KeepAlive -> ShowS
+$cshow :: KeepAlive -> String
+show :: KeepAlive -> String
+$cshowList :: [KeepAlive] -> ShowS
+showList :: [KeepAlive] -> ShowS
+Show, ReadPrec [KeepAlive]
+ReadPrec KeepAlive
+Int -> ReadS KeepAlive
+ReadS [KeepAlive]
+(Int -> ReadS KeepAlive)
+-> ReadS [KeepAlive]
+-> ReadPrec KeepAlive
+-> ReadPrec [KeepAlive]
+-> Read KeepAlive
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS KeepAlive
+readsPrec :: Int -> ReadS KeepAlive
+$creadList :: ReadS [KeepAlive]
+readList :: ReadS [KeepAlive]
+$creadPrec :: ReadPrec KeepAlive
+readPrec :: ReadPrec KeepAlive
+$creadListPrec :: ReadPrec [KeepAlive]
+readListPrec :: ReadPrec [KeepAlive]
+Read, KeepAlive -> ()
+(KeepAlive -> ()) -> NFData KeepAlive
+forall a. (a -> ()) -> NFData a
+$crnf :: KeepAlive -> ()
+rnf :: KeepAlive -> ()
+NFData, KeepAlive -> KeepAlive -> Bool
+(KeepAlive -> KeepAlive -> Bool)
+-> (KeepAlive -> KeepAlive -> Bool) -> Eq KeepAlive
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: KeepAlive -> KeepAlive -> Bool
+== :: KeepAlive -> KeepAlive -> Bool
+$c/= :: KeepAlive -> KeepAlive -> Bool
+/= :: KeepAlive -> KeepAlive -> Bool
+Eq, Eq KeepAlive
+Eq KeepAlive =>
+(KeepAlive -> KeepAlive -> Ordering)
+-> (KeepAlive -> KeepAlive -> Bool)
+-> (KeepAlive -> KeepAlive -> Bool)
+-> (KeepAlive -> KeepAlive -> Bool)
+-> (KeepAlive -> KeepAlive -> Bool)
+-> (KeepAlive -> KeepAlive -> KeepAlive)
+-> (KeepAlive -> KeepAlive -> KeepAlive)
+-> Ord KeepAlive
+KeepAlive -> KeepAlive -> Bool
+KeepAlive -> KeepAlive -> Ordering
+KeepAlive -> KeepAlive -> KeepAlive
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: KeepAlive -> KeepAlive -> Ordering
+compare :: KeepAlive -> KeepAlive -> Ordering
+$c< :: KeepAlive -> KeepAlive -> Bool
+< :: KeepAlive -> KeepAlive -> Bool
+$c<= :: KeepAlive -> KeepAlive -> Bool
+<= :: KeepAlive -> KeepAlive -> Bool
+$c> :: KeepAlive -> KeepAlive -> Bool
+> :: KeepAlive -> KeepAlive -> Bool
+$c>= :: KeepAlive -> KeepAlive -> Bool
+>= :: KeepAlive -> KeepAlive -> Bool
+$cmax :: KeepAlive -> KeepAlive -> KeepAlive
+max :: KeepAlive -> KeepAlive -> KeepAlive
+$cmin :: KeepAlive -> KeepAlive -> KeepAlive
+min :: KeepAlive -> KeepAlive -> KeepAlive
+Ord, KeepAlive -> Builder
+(KeepAlive -> Builder) -> Pack KeepAlive
+forall a. (a -> Builder) -> Pack a
+$cpack :: KeepAlive -> Builder
+pack :: KeepAlive -> Builder
+Pack, (forall (st :: ZeroBitType) r. Parser st r KeepAlive)
+-> Unpack KeepAlive
+forall (st :: ZeroBitType) r. Parser st r KeepAlive
+forall a. (forall (st :: ZeroBitType) r. Parser st r a) -> Unpack a
+$cunpack :: forall (st :: ZeroBitType) r. Parser st r KeepAlive
+unpack :: forall (st :: ZeroBitType) r. Parser st r KeepAlive
+Unpack)
+  deriving stock (Typeable KeepAlive
+Typeable KeepAlive =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> KeepAlive -> c KeepAlive)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c KeepAlive)
+-> (KeepAlive -> Constr)
+-> (KeepAlive -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c KeepAlive))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c KeepAlive))
+-> ((forall b. Data b => b -> b) -> KeepAlive -> KeepAlive)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> KeepAlive -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> KeepAlive -> r)
+-> (forall u. (forall d. Data d => d -> u) -> KeepAlive -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> KeepAlive -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> KeepAlive -> m KeepAlive)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> KeepAlive -> m KeepAlive)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> KeepAlive -> m KeepAlive)
+-> Data KeepAlive
+KeepAlive -> Constr
+KeepAlive -> DataType
+(forall b. Data b => b -> b) -> KeepAlive -> KeepAlive
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> KeepAlive -> u
+forall u. (forall d. Data d => d -> u) -> KeepAlive -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> KeepAlive -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> KeepAlive -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> KeepAlive -> m KeepAlive
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> KeepAlive -> m KeepAlive
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c KeepAlive
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> KeepAlive -> c KeepAlive
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c KeepAlive)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c KeepAlive)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> KeepAlive -> c KeepAlive
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> KeepAlive -> c KeepAlive
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c KeepAlive
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c KeepAlive
+$ctoConstr :: KeepAlive -> Constr
+toConstr :: KeepAlive -> Constr
+$cdataTypeOf :: KeepAlive -> DataType
+dataTypeOf :: KeepAlive -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c KeepAlive)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c KeepAlive)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c KeepAlive)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c KeepAlive)
+$cgmapT :: (forall b. Data b => b -> b) -> KeepAlive -> KeepAlive
+gmapT :: (forall b. Data b => b -> b) -> KeepAlive -> KeepAlive
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> KeepAlive -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> KeepAlive -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> KeepAlive -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> KeepAlive -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> KeepAlive -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> KeepAlive -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> KeepAlive -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> KeepAlive -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> KeepAlive -> m KeepAlive
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> KeepAlive -> m KeepAlive
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> KeepAlive -> m KeepAlive
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> KeepAlive -> m KeepAlive
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> KeepAlive -> m KeepAlive
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> KeepAlive -> m KeepAlive
+Data, Typeable, (forall x. KeepAlive -> Rep KeepAlive x)
+-> (forall x. Rep KeepAlive x -> KeepAlive) -> Generic KeepAlive
+forall x. Rep KeepAlive x -> KeepAlive
+forall x. KeepAlive -> Rep KeepAlive x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. KeepAlive -> Rep KeepAlive x
+from :: forall x. KeepAlive -> Rep KeepAlive x
+$cto :: forall x. Rep KeepAlive x -> KeepAlive
+to :: forall x. Rep KeepAlive x -> KeepAlive
+Generic)
+
+data PluginMessage = PluginMessage
+  { PluginMessage -> Text
+channel :: Text,
+    PluginMessage -> ByteString
+data_ :: ByteString
+  }
+  deriving (Int -> PluginMessage -> ShowS
+[PluginMessage] -> ShowS
+PluginMessage -> String
+(Int -> PluginMessage -> ShowS)
+-> (PluginMessage -> String)
+-> ([PluginMessage] -> ShowS)
+-> Show PluginMessage
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> PluginMessage -> ShowS
+showsPrec :: Int -> PluginMessage -> ShowS
+$cshow :: PluginMessage -> String
+show :: PluginMessage -> String
+$cshowList :: [PluginMessage] -> ShowS
+showList :: [PluginMessage] -> ShowS
+Show, ReadPrec [PluginMessage]
+ReadPrec PluginMessage
+Int -> ReadS PluginMessage
+ReadS [PluginMessage]
+(Int -> ReadS PluginMessage)
+-> ReadS [PluginMessage]
+-> ReadPrec PluginMessage
+-> ReadPrec [PluginMessage]
+-> Read PluginMessage
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS PluginMessage
+readsPrec :: Int -> ReadS PluginMessage
+$creadList :: ReadS [PluginMessage]
+readList :: ReadS [PluginMessage]
+$creadPrec :: ReadPrec PluginMessage
+readPrec :: ReadPrec PluginMessage
+$creadListPrec :: ReadPrec [PluginMessage]
+readListPrec :: ReadPrec [PluginMessage]
+Read, Typeable PluginMessage
+Typeable PluginMessage =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> PluginMessage -> c PluginMessage)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c PluginMessage)
+-> (PluginMessage -> Constr)
+-> (PluginMessage -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c PluginMessage))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c PluginMessage))
+-> ((forall b. Data b => b -> b) -> PluginMessage -> PluginMessage)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> PluginMessage -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> PluginMessage -> r)
+-> (forall u. (forall d. Data d => d -> u) -> PluginMessage -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> PluginMessage -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> PluginMessage -> m PluginMessage)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> PluginMessage -> m PluginMessage)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> PluginMessage -> m PluginMessage)
+-> Data PluginMessage
+PluginMessage -> Constr
+PluginMessage -> DataType
+(forall b. Data b => b -> b) -> PluginMessage -> PluginMessage
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> PluginMessage -> u
+forall u. (forall d. Data d => d -> u) -> PluginMessage -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> PluginMessage -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> PluginMessage -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> PluginMessage -> m PluginMessage
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> PluginMessage -> m PluginMessage
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c PluginMessage
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> PluginMessage -> c PluginMessage
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c PluginMessage)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c PluginMessage)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> PluginMessage -> c PluginMessage
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> PluginMessage -> c PluginMessage
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c PluginMessage
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c PluginMessage
+$ctoConstr :: PluginMessage -> Constr
+toConstr :: PluginMessage -> Constr
+$cdataTypeOf :: PluginMessage -> DataType
+dataTypeOf :: PluginMessage -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c PluginMessage)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c PluginMessage)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c PluginMessage)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c PluginMessage)
+$cgmapT :: (forall b. Data b => b -> b) -> PluginMessage -> PluginMessage
+gmapT :: (forall b. Data b => b -> b) -> PluginMessage -> PluginMessage
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> PluginMessage -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> PluginMessage -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> PluginMessage -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> PluginMessage -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> PluginMessage -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> PluginMessage -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> PluginMessage -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> PluginMessage -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> PluginMessage -> m PluginMessage
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> PluginMessage -> m PluginMessage
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> PluginMessage -> m PluginMessage
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> PluginMessage -> m PluginMessage
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> PluginMessage -> m PluginMessage
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> PluginMessage -> m PluginMessage
+Data, Typeable, (forall x. PluginMessage -> Rep PluginMessage x)
+-> (forall x. Rep PluginMessage x -> PluginMessage)
+-> Generic PluginMessage
+forall x. Rep PluginMessage x -> PluginMessage
+forall x. PluginMessage -> Rep PluginMessage x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. PluginMessage -> Rep PluginMessage x
+from :: forall x. PluginMessage -> Rep PluginMessage x
+$cto :: forall x. Rep PluginMessage x -> PluginMessage
+to :: forall x. Rep PluginMessage x -> PluginMessage
+Generic, PluginMessage -> ()
+(PluginMessage -> ()) -> NFData PluginMessage
+forall a. (a -> ()) -> NFData a
+$crnf :: PluginMessage -> ()
+rnf :: PluginMessage -> ()
+NFData, PluginMessage -> PluginMessage -> Bool
+(PluginMessage -> PluginMessage -> Bool)
+-> (PluginMessage -> PluginMessage -> Bool) -> Eq PluginMessage
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: PluginMessage -> PluginMessage -> Bool
+== :: PluginMessage -> PluginMessage -> Bool
+$c/= :: PluginMessage -> PluginMessage -> Bool
+/= :: PluginMessage -> PluginMessage -> Bool
+Eq, Eq PluginMessage
+Eq PluginMessage =>
+(PluginMessage -> PluginMessage -> Ordering)
+-> (PluginMessage -> PluginMessage -> Bool)
+-> (PluginMessage -> PluginMessage -> Bool)
+-> (PluginMessage -> PluginMessage -> Bool)
+-> (PluginMessage -> PluginMessage -> Bool)
+-> (PluginMessage -> PluginMessage -> PluginMessage)
+-> (PluginMessage -> PluginMessage -> PluginMessage)
+-> Ord PluginMessage
+PluginMessage -> PluginMessage -> Bool
+PluginMessage -> PluginMessage -> Ordering
+PluginMessage -> PluginMessage -> PluginMessage
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: PluginMessage -> PluginMessage -> Ordering
+compare :: PluginMessage -> PluginMessage -> Ordering
+$c< :: PluginMessage -> PluginMessage -> Bool
+< :: PluginMessage -> PluginMessage -> Bool
+$c<= :: PluginMessage -> PluginMessage -> Bool
+<= :: PluginMessage -> PluginMessage -> Bool
+$c> :: PluginMessage -> PluginMessage -> Bool
+> :: PluginMessage -> PluginMessage -> Bool
+$c>= :: PluginMessage -> PluginMessage -> Bool
+>= :: PluginMessage -> PluginMessage -> Bool
+$cmax :: PluginMessage -> PluginMessage -> PluginMessage
+max :: PluginMessage -> PluginMessage -> PluginMessage
+$cmin :: PluginMessage -> PluginMessage -> PluginMessage
+min :: PluginMessage -> PluginMessage -> PluginMessage
+Ord)
+  deriving (PluginMessage -> Builder
+(PluginMessage -> Builder) -> Pack PluginMessage
+forall a. (a -> Builder) -> Pack a
+$cpack :: PluginMessage -> Builder
+pack :: PluginMessage -> Builder
+Pack, (forall (st :: ZeroBitType) r. Parser st r PluginMessage)
+-> Unpack PluginMessage
+forall (st :: ZeroBitType) r. Parser st r PluginMessage
+forall a. (forall (st :: ZeroBitType) r. Parser st r a) -> Unpack a
+$cunpack :: forall (st :: ZeroBitType) r. Parser st r PluginMessage
+unpack :: forall (st :: ZeroBitType) r. Parser st r PluginMessage
+Unpack)
+
+data ResourcePack = ResourcePack
+  { ResourcePack -> Text
+url :: Text,
+    ResourcePack -> Text
+hash :: Text
+  }
+  deriving (Int -> ResourcePack -> ShowS
+[ResourcePack] -> ShowS
+ResourcePack -> String
+(Int -> ResourcePack -> ShowS)
+-> (ResourcePack -> String)
+-> ([ResourcePack] -> ShowS)
+-> Show ResourcePack
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> ResourcePack -> ShowS
+showsPrec :: Int -> ResourcePack -> ShowS
+$cshow :: ResourcePack -> String
+show :: ResourcePack -> String
+$cshowList :: [ResourcePack] -> ShowS
+showList :: [ResourcePack] -> ShowS
+Show, ReadPrec [ResourcePack]
+ReadPrec ResourcePack
+Int -> ReadS ResourcePack
+ReadS [ResourcePack]
+(Int -> ReadS ResourcePack)
+-> ReadS [ResourcePack]
+-> ReadPrec ResourcePack
+-> ReadPrec [ResourcePack]
+-> Read ResourcePack
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS ResourcePack
+readsPrec :: Int -> ReadS ResourcePack
+$creadList :: ReadS [ResourcePack]
+readList :: ReadS [ResourcePack]
+$creadPrec :: ReadPrec ResourcePack
+readPrec :: ReadPrec ResourcePack
+$creadListPrec :: ReadPrec [ResourcePack]
+readListPrec :: ReadPrec [ResourcePack]
+Read, Typeable ResourcePack
+Typeable ResourcePack =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> ResourcePack -> c ResourcePack)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c ResourcePack)
+-> (ResourcePack -> Constr)
+-> (ResourcePack -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c ResourcePack))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e))
+    -> Maybe (c ResourcePack))
+-> ((forall b. Data b => b -> b) -> ResourcePack -> ResourcePack)
+-> (forall r r'.
+    (r -> r' -> r)
+    -> r -> (forall d. Data d => d -> r') -> ResourcePack -> r)
+-> (forall r r'.
+    (r' -> r -> r)
+    -> r -> (forall d. Data d => d -> r') -> ResourcePack -> r)
+-> (forall u. (forall d. Data d => d -> u) -> ResourcePack -> [u])
+-> (forall u.
+    Int -> (forall d. Data d => d -> u) -> ResourcePack -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> ResourcePack -> m ResourcePack)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> ResourcePack -> m ResourcePack)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> ResourcePack -> m ResourcePack)
+-> Data ResourcePack
+ResourcePack -> Constr
+ResourcePack -> DataType
+(forall b. Data b => b -> b) -> ResourcePack -> ResourcePack
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> ResourcePack -> u
+forall u. (forall d. Data d => d -> u) -> ResourcePack -> [u]
+forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ResourcePack -> r
+forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ResourcePack -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> ResourcePack -> m ResourcePack
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> ResourcePack -> m ResourcePack
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c ResourcePack
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> ResourcePack -> c ResourcePack
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c ResourcePack)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c ResourcePack)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> ResourcePack -> c ResourcePack
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> ResourcePack -> c ResourcePack
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c ResourcePack
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c ResourcePack
+$ctoConstr :: ResourcePack -> Constr
+toConstr :: ResourcePack -> Constr
+$cdataTypeOf :: ResourcePack -> DataType
+dataTypeOf :: ResourcePack -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c ResourcePack)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c ResourcePack)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c ResourcePack)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e))
+-> Maybe (c ResourcePack)
+$cgmapT :: (forall b. Data b => b -> b) -> ResourcePack -> ResourcePack
+gmapT :: (forall b. Data b => b -> b) -> ResourcePack -> ResourcePack
+$cgmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ResourcePack -> r
+gmapQl :: forall r r'.
+(r -> r' -> r)
+-> r -> (forall d. Data d => d -> r') -> ResourcePack -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ResourcePack -> r
+gmapQr :: forall r r'.
+(r' -> r -> r)
+-> r -> (forall d. Data d => d -> r') -> ResourcePack -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> ResourcePack -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> ResourcePack -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> ResourcePack -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> ResourcePack -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> ResourcePack -> m ResourcePack
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> ResourcePack -> m ResourcePack
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> ResourcePack -> m ResourcePack
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> ResourcePack -> m ResourcePack
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> ResourcePack -> m ResourcePack
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> ResourcePack -> m ResourcePack
+Data, Typeable, (forall x. ResourcePack -> Rep ResourcePack x)
+-> (forall x. Rep ResourcePack x -> ResourcePack)
+-> Generic ResourcePack
+forall x. Rep ResourcePack x -> ResourcePack
+forall x. ResourcePack -> Rep ResourcePack x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. ResourcePack -> Rep ResourcePack x
+from :: forall x. ResourcePack -> Rep ResourcePack x
+$cto :: forall x. Rep ResourcePack x -> ResourcePack
+to :: forall x. Rep ResourcePack x -> ResourcePack
+Generic, ResourcePack -> ()
+(ResourcePack -> ()) -> NFData ResourcePack
+forall a. (a -> ()) -> NFData a
+$crnf :: ResourcePack -> ()
+rnf :: ResourcePack -> ()
+NFData, ResourcePack -> ResourcePack -> Bool
+(ResourcePack -> ResourcePack -> Bool)
+-> (ResourcePack -> ResourcePack -> Bool) -> Eq ResourcePack
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: ResourcePack -> ResourcePack -> Bool
+== :: ResourcePack -> ResourcePack -> Bool
+$c/= :: ResourcePack -> ResourcePack -> Bool
+/= :: ResourcePack -> ResourcePack -> Bool
+Eq, Eq ResourcePack
+Eq ResourcePack =>
+(ResourcePack -> ResourcePack -> Ordering)
+-> (ResourcePack -> ResourcePack -> Bool)
+-> (ResourcePack -> ResourcePack -> Bool)
+-> (ResourcePack -> ResourcePack -> Bool)
+-> (ResourcePack -> ResourcePack -> Bool)
+-> (ResourcePack -> ResourcePack -> ResourcePack)
+-> (ResourcePack -> ResourcePack -> ResourcePack)
+-> Ord ResourcePack
+ResourcePack -> ResourcePack -> Bool
+ResourcePack -> ResourcePack -> Ordering
+ResourcePack -> ResourcePack -> ResourcePack
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: ResourcePack -> ResourcePack -> Ordering
+compare :: ResourcePack -> ResourcePack -> Ordering
+$c< :: ResourcePack -> ResourcePack -> Bool
+< :: ResourcePack -> ResourcePack -> Bool
+$c<= :: ResourcePack -> ResourcePack -> Bool
+<= :: ResourcePack -> ResourcePack -> Bool
+$c> :: ResourcePack -> ResourcePack -> Bool
+> :: ResourcePack -> ResourcePack -> Bool
+$c>= :: ResourcePack -> ResourcePack -> Bool
+>= :: ResourcePack -> ResourcePack -> Bool
+$cmax :: ResourcePack -> ResourcePack -> ResourcePack
+max :: ResourcePack -> ResourcePack -> ResourcePack
+$cmin :: ResourcePack -> ResourcePack -> ResourcePack
+min :: ResourcePack -> ResourcePack -> ResourcePack
+Ord)
+  deriving (ResourcePack -> Builder
+(ResourcePack -> Builder) -> Pack ResourcePack
+forall a. (a -> Builder) -> Pack a
+$cpack :: ResourcePack -> Builder
+pack :: ResourcePack -> Builder
+Pack, (forall (st :: ZeroBitType) r. Parser st r ResourcePack)
+-> Unpack ResourcePack
+forall (st :: ZeroBitType) r. Parser st r ResourcePack
+forall a. (forall (st :: ZeroBitType) r. Parser st r a) -> Unpack a
+$cunpack :: forall (st :: ZeroBitType) r. Parser st r ResourcePack
+unpack :: forall (st :: ZeroBitType) r. Parser st r ResourcePack
+Unpack)
+
+newtype Ping = Ping
+  {Ping -> Int32
+id :: Int32}
+  deriving newtype (Int -> Ping -> ShowS
+[Ping] -> ShowS
+Ping -> String
+(Int -> Ping -> ShowS)
+-> (Ping -> String) -> ([Ping] -> ShowS) -> Show Ping
+forall a.
+(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
+$cshowsPrec :: Int -> Ping -> ShowS
+showsPrec :: Int -> Ping -> ShowS
+$cshow :: Ping -> String
+show :: Ping -> String
+$cshowList :: [Ping] -> ShowS
+showList :: [Ping] -> ShowS
+Show, ReadPrec [Ping]
+ReadPrec Ping
+Int -> ReadS Ping
+ReadS [Ping]
+(Int -> ReadS Ping)
+-> ReadS [Ping] -> ReadPrec Ping -> ReadPrec [Ping] -> Read Ping
+forall a.
+(Int -> ReadS a)
+-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
+$creadsPrec :: Int -> ReadS Ping
+readsPrec :: Int -> ReadS Ping
+$creadList :: ReadS [Ping]
+readList :: ReadS [Ping]
+$creadPrec :: ReadPrec Ping
+readPrec :: ReadPrec Ping
+$creadListPrec :: ReadPrec [Ping]
+readListPrec :: ReadPrec [Ping]
+Read, Ping -> ()
+(Ping -> ()) -> NFData Ping
+forall a. (a -> ()) -> NFData a
+$crnf :: Ping -> ()
+rnf :: Ping -> ()
+NFData, Ping -> Ping -> Bool
+(Ping -> Ping -> Bool) -> (Ping -> Ping -> Bool) -> Eq Ping
+forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
+$c== :: Ping -> Ping -> Bool
+== :: Ping -> Ping -> Bool
+$c/= :: Ping -> Ping -> Bool
+/= :: Ping -> Ping -> Bool
+Eq, Eq Ping
+Eq Ping =>
+(Ping -> Ping -> Ordering)
+-> (Ping -> Ping -> Bool)
+-> (Ping -> Ping -> Bool)
+-> (Ping -> Ping -> Bool)
+-> (Ping -> Ping -> Bool)
+-> (Ping -> Ping -> Ping)
+-> (Ping -> Ping -> Ping)
+-> Ord Ping
+Ping -> Ping -> Bool
+Ping -> Ping -> Ordering
+Ping -> Ping -> Ping
+forall a.
+Eq a =>
+(a -> a -> Ordering)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> Bool)
+-> (a -> a -> a)
+-> (a -> a -> a)
+-> Ord a
+$ccompare :: Ping -> Ping -> Ordering
+compare :: Ping -> Ping -> Ordering
+$c< :: Ping -> Ping -> Bool
+< :: Ping -> Ping -> Bool
+$c<= :: Ping -> Ping -> Bool
+<= :: Ping -> Ping -> Bool
+$c> :: Ping -> Ping -> Bool
+> :: Ping -> Ping -> Bool
+$c>= :: Ping -> Ping -> Bool
+>= :: Ping -> Ping -> Bool
+$cmax :: Ping -> Ping -> Ping
+max :: Ping -> Ping -> Ping
+$cmin :: Ping -> Ping -> Ping
+min :: Ping -> Ping -> Ping
+Ord, Ping -> Builder
+(Ping -> Builder) -> Pack Ping
+forall a. (a -> Builder) -> Pack a
+$cpack :: Ping -> Builder
+pack :: Ping -> Builder
+Pack, (forall (st :: ZeroBitType) r. Parser st r Ping) -> Unpack Ping
+forall (st :: ZeroBitType) r. Parser st r Ping
+forall a. (forall (st :: ZeroBitType) r. Parser st r a) -> Unpack a
+$cunpack :: forall (st :: ZeroBitType) r. Parser st r Ping
+unpack :: forall (st :: ZeroBitType) r. Parser st r Ping
+Unpack)
+  deriving stock (Typeable Ping
+Typeable Ping =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> Ping -> c Ping)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c Ping)
+-> (Ping -> Constr)
+-> (Ping -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c Ping))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Ping))
+-> ((forall b. Data b => b -> b) -> Ping -> Ping)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ping -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ping -> r)
+-> (forall u. (forall d. Data d => d -> u) -> Ping -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> Ping -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> Ping -> m Ping)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Ping -> m Ping)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> Ping -> m Ping)
+-> Data Ping
+Ping -> Constr
+Ping -> DataType
+(forall b. Data b => b -> b) -> Ping -> Ping
+forall a.
+Typeable a =>
+(forall (c :: * -> *).
+ (forall d b. Data d => c (d -> b) -> d -> c b)
+ -> (forall g. g -> c g) -> a -> c a)
+-> (forall (c :: * -> *).
+    (forall b r. Data b => c (b -> r) -> c r)
+    -> (forall r. r -> c r) -> Constr -> c a)
+-> (a -> Constr)
+-> (a -> DataType)
+-> (forall (t :: * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d. Data d => c (t d)) -> Maybe (c a))
+-> (forall (t :: * -> * -> *) (c :: * -> *).
+    Typeable t =>
+    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
+-> ((forall b. Data b => b -> b) -> a -> a)
+-> (forall r r'.
+    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall r r'.
+    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
+-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
+-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
+-> (forall (m :: * -> *).
+    Monad m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> (forall (m :: * -> *).
+    MonadPlus m =>
+    (forall d. Data d => d -> m d) -> a -> m a)
+-> Data a
+forall u. Int -> (forall d. Data d => d -> u) -> Ping -> u
+forall u. (forall d. Data d => d -> u) -> Ping -> [u]
+forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ping -> r
+forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ping -> r
+forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Ping -> m Ping
+forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Ping -> m Ping
+forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Ping
+forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Ping -> c Ping
+forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Ping)
+forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Ping)
+$cgfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Ping -> c Ping
+gfoldl :: forall (c :: * -> *).
+(forall d b. Data d => c (d -> b) -> d -> c b)
+-> (forall g. g -> c g) -> Ping -> c Ping
+$cgunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Ping
+gunfold :: forall (c :: * -> *).
+(forall b r. Data b => c (b -> r) -> c r)
+-> (forall r. r -> c r) -> Constr -> c Ping
+$ctoConstr :: Ping -> Constr
+toConstr :: Ping -> Constr
+$cdataTypeOf :: Ping -> DataType
+dataTypeOf :: Ping -> DataType
+$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Ping)
+dataCast1 :: forall (t :: * -> *) (c :: * -> *).
+Typeable t =>
+(forall d. Data d => c (t d)) -> Maybe (c Ping)
+$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Ping)
+dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
+Typeable t =>
+(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Ping)
+$cgmapT :: (forall b. Data b => b -> b) -> Ping -> Ping
+gmapT :: (forall b. Data b => b -> b) -> Ping -> Ping
+$cgmapQl :: forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ping -> r
+gmapQl :: forall r r'.
+(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ping -> r
+$cgmapQr :: forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ping -> r
+gmapQr :: forall r r'.
+(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ping -> r
+$cgmapQ :: forall u. (forall d. Data d => d -> u) -> Ping -> [u]
+gmapQ :: forall u. (forall d. Data d => d -> u) -> Ping -> [u]
+$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Ping -> u
+gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Ping -> u
+$cgmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Ping -> m Ping
+gmapM :: forall (m :: * -> *).
+Monad m =>
+(forall d. Data d => d -> m d) -> Ping -> m Ping
+$cgmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Ping -> m Ping
+gmapMp :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Ping -> m Ping
+$cgmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Ping -> m Ping
+gmapMo :: forall (m :: * -> *).
+MonadPlus m =>
+(forall d. Data d => d -> m d) -> Ping -> m Ping
+Data, Typeable, (forall x. Ping -> Rep Ping x)
+-> (forall x. Rep Ping x -> Ping) -> Generic Ping
+forall x. Rep Ping x -> Ping
+forall x. Ping -> Rep Ping x
+forall a.
+(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
+$cfrom :: forall x. Ping -> Rep Ping x
+from :: forall x. Ping -> Rep Ping x
+$cto :: forall x. Rep Ping x -> Ping
+to :: forall x. Rep Ping x -> Ping
+Generic)
+
+[serde|
+.derive
+  Show Read Data Typeable
+
+-- Common/Shared types first
+data DisplayedSkinParts
+  cape :: Bool
+  jacket :: Bool
+  leftsleeve :: Bool
+  rightsleeve :: Bool
+  leftpants :: Bool
+  rightpants :: Bool
+  hat :: Bool
+|]
+
+-- provided by "th-serde": Data.Serde.QQ
+runusercoercion
+  -- provided by M.Pack
+  borrowderivepackunpack
+  properderivepackunpack
+  -- preparations for shadow types
+  [ ''Generic,
+    ''NFData,
+    ''Eq,
+    ''Ord
+  ]
+
+instance
+  (Bits i, Integral i, Pack i, Unpack i) =>
+  Bitreppable i DisplayedSkinParts
+
\ No newline at end of file diff --git a/src/M.V769.L.html b/src/M.V769.L.html new file mode 100644 index 0000000..7049b68 --- /dev/null +++ b/src/M.V769.L.html @@ -0,0 +1,82 @@ +
{-# OPTIONS_GHC -Wno-missing-export-lists #-}
+
+-- |
+-- Module: M.V769.L
+-- Description: Protocol login state packets (AI-generated)
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Defines packet structures for the login phase of protocol version 769,
+-- handling authentication, encryption setup, and session establishment
+-- between client and server.
+module M.V769.L where
+
+import Control.DeepSeq
+import Data.ByteString (ByteString)
+import Data.Data
+import Data.Int
+import Data.Serde.QQ
+import Data.Text (Text)
+import Data.UUID.Types (UUID)
+import Data.Vector qualified as V
+import GHC.Generics
+import M.LEB
+import M.Pack
+import M.TODO
+
+[serde|
+.derive
+  Show Read Data Typeable
+
+data LoginDisconnect
+  reason :: TextComponent
+
+data EncryptionRequest
+  serverid :: Text
+  publickey :: ByteString
+  verifytoken :: ByteString
+  shouldauthenticate :: Bool
+
+data LoginSuccess
+  uuid :: UUID
+  username :: Text
+  properties :: V.Vector LoginSuccess_Property
+
+data LoginSuccess_Property
+  name :: Text
+  value :: Text
+  signature :: Maybe Text
+
+data LoginPluginRequest
+  messageid :: Int32 via LEB Int32
+  channel :: Text
+  data_ :: ByteString via TakeRest -- if Coercible, ok
+
+data LoginPluginResponse
+  messageid :: Int32 via VarInt
+  successful :: Bool
+  data_ :: Maybe ByteString
+
+data LoginStart
+  name :: Text
+  uuid :: UUID
+
+data LoginAcknowledged
+
+data EncryptionResponse
+  sharedsecret :: ByteString
+  verifytoken :: ByteString
+  |]
+
+-- provided by "th-serde": Data.Serde.QQ
+runusercoercion
+  -- provided by M.Pack
+  borrowderivepackunpack
+  properderivepackunpack
+  -- preparations for shadow types
+  [ ''Generic,
+    ''NFData,
+    ''Eq,
+    ''Ord
+  ]
+
\ No newline at end of file diff --git a/src/M.V769.P.html b/src/M.V769.P.html new file mode 100644 index 0000000..d6c95fe --- /dev/null +++ b/src/M.V769.P.html @@ -0,0 +1,871 @@ +
{-# OPTIONS_GHC -Wno-missing-export-lists #-}
+
+-- |
+-- Module: M.V769.P
+-- Description: Protocol play state packets (AI-generated)
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Implements the extensive set of packet structures for the play state
+-- of protocol version 769, including entity management, world interaction,
+-- inventory handling, and all other gameplay-related communication.
+module M.V769.P where
+
+import Control.DeepSeq
+import Data.ByteString (ByteString)
+import Data.Data
+import Data.Int
+import Data.Serde.QQ
+import Data.Text (Text)
+import Data.UUID.Types (UUID)
+import Data.Vector qualified as V
+import Data.Word
+import GHC.Generics
+import Linear (V2, V3)
+import M.Chunk.Net
+import M.LEB
+import M.NBT (Tg)
+import M.Pack
+import M.Position (Position)
+import M.TODO
+import M.V769.I
+import Prelude hiding (id, length, sequence)
+
+[serde|
+.derive
+  Show Read Data Typeable
+
+-- Clientbound packets
+data BundleDelimiter -- Empty packet
+
+data SpawnEntity
+  entityid :: Int32 via VarInt
+  entityuuid :: UUID
+  type_ :: Int32 via VarInt
+  position :: V3 Double
+  rotation :: V2 Int8 via V2 Int8Angle
+  data_ :: Int32 via VarInt
+  velocity :: V3 Double via V3 (Fixed' Int16 SetEntityVelocityRes Double)
+
+data SpawnExperienceOrb
+  entityid :: Int32 via VarInt
+  position :: V3 Double
+  count :: Int16
+
+data EntityAnimation
+  entityid :: Int32 via VarInt
+  animation :: Word8
+
+data AwardStatistics
+  stats :: V.Vector AwardStatistics_Entry
+
+data AwardStatistics_Entry
+  categoryid :: Int32 via VarInt
+  statisticid :: Int32 via VarInt
+  value :: Int32 via VarInt
+
+data AcknowledgeBlockChange
+  sequence :: Int32 via VarInt
+
+data SetBlockDestroyStage
+  entityid :: Int32 via VarInt
+  location :: Position
+  destroystage :: Word8
+
+data BlockEntityData
+  location :: Position
+  type_ :: Int32 via VarInt
+  data_ :: Tg
+
+data BlockAction
+  location :: Position
+  actionid :: Word8
+  actionparam :: Word8
+  blocktype :: Int32 via VarInt
+
+data BlockUpdate
+  location :: Position
+  blockid :: Int32 via VarInt
+
+data BossBar
+  uuid :: UUID
+  action :: BossBarAction
+
+data ChangeDifficulty
+  difficulty :: Word8
+  locked :: Bool
+
+data ChunkBatchFinished
+  batchsize :: Int32 via VarInt
+
+data ChunkBatchStarted -- Empty packet
+
+data ChunkBiomes
+  x :: Int32
+  z :: Int32
+  data_ :: ChunkData
+
+data ClearTitles
+  reset :: Bool
+
+data CommandSuggestionsResponse
+  id :: Int32 via VarInt
+  start :: Int32 via VarInt
+  length :: Int32 via VarInt
+  matches :: V.Vector CommandMatch
+
+data CommandMatch
+  match :: Text
+  tooltip :: Maybe TextComponent
+
+data Commands
+  nodes :: V.Vector CommandNode
+  rootindex :: Int32 via VarInt
+
+data CloseContainer
+  windowid :: Int32 via VarInt
+
+data SetContainerContent
+  windowid :: Int32 via VarInt
+  stateid :: Int32 via VarInt
+  slots :: V.Vector Slot
+  carrieditem :: Slot
+
+data SetContainerProperty
+  windowid :: Int32 via VarInt
+  property :: Int16
+  value :: Int16
+
+data SetContainerSlot
+  windowid :: Int32 via VarInt
+  stateid :: Int32 via VarInt
+  slot :: Int16
+  data_ :: Slot
+
+data CookieRequest
+  key :: Text
+
+data SetCooldown
+  itemid :: Int32 via VarInt
+  cooldown :: Int32 via VarInt
+
+data ChatSuggestions
+  id :: Int32 via VarInt
+  suggestions :: V.Vector Text
+
+data DamageEvent
+  entityid :: Int32 via VarInt
+  sourceid :: Int32 via VarInt
+  type_ :: Int32 via VarInt
+  amount :: Float
+
+data DebugSample
+  data_ :: ByteString via TakeRest
+
+data DeleteMessage
+  messageid :: UUID
+
+data Disconnect
+  reason :: Text
+
+data DisguisedChatMessage
+  message :: TextComponent
+  chattype :: Int32 via VarInt
+  sendername :: TextComponent
+  targetname :: Maybe TextComponent
+
+data EntityEvent
+  entityid :: Int32 via VarInt
+  event :: Word8
+
+data TeleportEntity
+  entityid :: Int32 via VarInt
+  position :: V3 Double
+  rotation :: V2 Int8 via V2 Int8Angle
+  onground :: Bool
+
+data Explosion
+  position :: V3 Float
+  radius :: Float
+  affectedblocks :: V.Vector Position
+  playermotion :: V3 Float
+
+data UnloadChunk
+  chunkx :: Int32
+  chunkz :: Int32
+
+data GameEvent
+  event :: Int32 via VarInt
+  data_ :: Float
+
+data OpenHorseScreen
+  windowid :: Word8
+  slotcount :: Int32 via VarInt
+  entityid :: Int32
+
+data HurtAnimation
+  entityid :: Int32 via VarInt
+  damagedirection :: Float
+
+data InitializeWorldBorder
+  x :: Double
+  z :: Double
+  oldradius :: Double
+  newradius :: Double
+  speed :: Int64 via VarLong
+  portalteleportboundary :: Int32 via VarInt
+  warningtime :: Int32 via VarInt
+  warningblocks :: Int32 via VarInt
+
+data ChunkDataAndUpdateLight
+  chunkx :: Int32
+  chunkz :: Int32
+  data_ :: ChunkData
+  lightdata_ :: LightData
+
+data WorldEvent  
+  event :: Int32
+  location :: Position
+  data_ :: Int32
+  disablerelativevolume :: Bool
+
+data ParticleEffect
+  particleid :: Int32 via VarInt
+  longdistance :: Bool
+  position :: V3 Double
+  offset :: V3 Float
+  maxspeed :: Float
+  count :: Int32
+  data_ :: ParticleData
+
+data UpdateLight
+  chunkx :: Int32 via VarInt
+  chunkz :: Int32 via VarInt
+  data_ :: LightData
+
+data Login
+  entityid :: Int32
+  ishardcore :: Bool
+  gamemode :: Word8
+  previousgamemode :: Int8
+  worldnames :: V.Vector Text
+  dimensioncodec :: Tg
+  dimension :: Tg
+  worldname :: Text
+  hashedseed :: Int64
+  maxplayers :: Int32 via VarInt
+  viewdistance :: Int32 via VarInt
+  simulationdistance :: Int32 via VarInt
+  reduceddebuginfo :: Bool
+  enablerespawnscreen :: Bool
+  isdebug :: Bool
+  isflat :: Bool
+
+data MapData
+  mapid :: Int32 via VarInt
+  scale :: Int8
+  trackingposition :: Bool
+  locked :: Bool
+  icons :: V.Vector MapIcon
+  columns :: Int8
+  rows :: Int8
+  x :: Int8
+  z :: Int8
+  data_ :: ByteString
+
+data MerchantOffers
+  windowid :: Word8
+  offers :: V.Vector MerchantOffer
+  villagerlevel :: Int32 via VarInt
+  experience :: Int32 via VarInt
+  isregularvillager :: Bool
+  canrestock :: Bool
+
+data UpdateEntityPosition
+  entityid :: Int32 via VarInt
+  deltax :: Int16
+  deltay :: Int16
+  deltaz :: Int16
+  onground :: Bool
+
+data UpdateEntityPositionAndRotation
+  entityid :: Int32 via VarInt
+  deltax :: Int16
+  deltay :: Int16
+  deltaz :: Int16
+  rotation :: V2 Int8 via V2 Int8Angle
+  onground :: Bool
+
+data MoveMinecartAlongTrack
+  entityid :: Int32 via VarInt
+  location :: Position
+
+data UpdateEntityRotation
+  entityid :: Int32 via VarInt
+  rotation :: V2 Int8 via V2 Int8Angle
+  onground :: Bool
+
+data MoveVehicle
+  position :: V3 Double
+  rotation :: V2 Float
+
+data OpenBook
+  hand :: Int32 via VarInt
+
+data OpenScreen
+  windowid :: Int32 via VarInt
+  type_ :: Text
+  title :: TextComponent
+
+data OpenSignEditor
+  location :: Position
+
+data PlayPing
+  id :: Int64
+
+data PlayPingResponse
+  id :: Int64
+
+data PlaceGhostRecipe
+  windowid :: Word8
+  recipe :: Text
+
+data ClientboundPlayerAbilities
+  flags :: Word8
+  flyingspeed :: Float
+  walkingspeed :: Float
+
+data PlayerChatMessage
+  sender :: UUID
+  message :: Text
+  timestamp :: Int64
+  salt :: Int64
+  signature :: ByteString
+  signedpreview :: Bool
+  lastseenmessages :: V.Vector UUID
+
+data EndCombat
+  duration :: Int32 via VarInt
+  entityid :: Int32
+
+data EnterCombat -- Empty packet
+
+data CombatDeath
+  playerid :: Int32 via VarInt
+  entityid :: Int32 via VarInt
+  message :: Text
+
+data PlayerInfoRemove
+  players :: V.Vector UUID
+
+data PlayerInfoUpdate
+  action :: Int32 via VarInt -- incorrect, but we don't know the correct type
+  data_ :: ByteString via TakeRest
+
+data LookAt
+  target :: Int32 via VarInt
+  position :: V3 Double
+  isentity :: Bool
+
+data SynchronizePlayerPosition
+  position :: V3 Double
+  rotation :: V2 Float
+  flags :: Word8
+  teleportid :: Int32 via VarInt
+
+data PlayerRotation
+  rotation :: V2 Float
+  onground :: Bool
+
+data RecipeBookAdd
+  recipe :: Text
+
+data RecipeBookRemove
+  recipe :: Text
+
+data RecipeBookSettings
+  bookid :: Int32 via VarInt
+  bookopen :: Bool
+  filteractive :: Bool
+
+data RemoveEntities
+  entityids :: V.Vector Int32 via V.Vector VarInt
+
+data RemoveEntityEffect
+  entityid :: Int32 via VarInt
+  effectid :: Word8
+
+data ResetScore
+  objectivename :: Text
+  playername :: Text
+  action :: Word8
+
+data RemoveResourcePack -- Empty packet
+
+data AddResourcePack
+  url :: Text
+  hash :: Text
+
+data Respawn
+  dimension :: Tg
+  worldname :: Text
+  hashedseed :: Int64
+  gamemode :: Word8
+  previousgamemode :: Int8
+  isdebug :: Bool
+  isflat :: Bool
+  copymetadata_ :: Bool
+
+data SetHeadRotation
+  entityid :: Int32 via VarInt
+  headyaw :: Int8 via Int8Angle
+
+data UpdateSectionBlocks
+  sectionposition :: Int64
+  trustedges :: Bool
+  blocks :: V.Vector Int64 via V.Vector VarLong
+
+data SelectAdvancementsTab
+  identifier :: Text
+
+data ServerData
+  motd :: TextComponent
+  icon :: Text
+  enforcesecurechat :: Bool
+
+data SetActionBarText
+  text :: TextComponent
+
+data SetBorderCenter
+  x :: Double
+  z :: Double
+
+data SetBorderLerpSize
+  oldsize :: Double
+  newsize :: Double
+  speed :: Int64 via VarLong
+
+data SetBorderSize
+  size :: Double
+
+data SetBorderWarningDelay
+  warningtime :: Int32 via VarInt
+
+data SetBorderWarningDistance
+  warningblocks :: Int32 via VarInt
+
+data SetCamera
+  cameraid :: Int32 via VarInt
+
+data SetCenterChunk
+  chunkx :: Int32 via VarInt
+  chunkz :: Int32 via VarInt
+
+data SetRenderDistance
+  viewdistance :: Int32 via VarInt
+
+data SetCursorItem
+  slotdata_ :: Slot
+
+data SetDefaultSpawnPosition
+  location :: Position
+  angle :: Float
+
+data DisplayObjective
+  position :: Word8
+  name :: Text
+
+data SetEntityMetadata
+  entityid :: Int32 via VarInt
+  metadata_ :: ByteString via TakeRest
+
+data LinkEntities
+  vehicleid :: Int32 via VarInt
+  passengerids :: V.Vector Int32 via V.Vector VarInt
+
+data SetEntityVelocity
+  entityid :: Int32 via VarInt
+  velocity :: V3 Int16
+
+data SetEquipment
+  entityid :: Int32 via VarInt
+  equipment :: V.Vector Slot
+
+data SetExperience
+  experiencebar :: Float
+  level :: Int32 via VarInt
+  totalexperience :: Int32 via VarInt
+
+data SetHealth
+  health :: Float
+  food :: Int32 via VarInt
+  foodsaturation :: Float
+
+data SetHeldItem
+  slot :: Word8
+
+data UpdateObjectives
+  name :: Text
+  mode :: Word8
+  displayname :: Text
+  type_ :: Int32 via VarInt
+
+data SetPassengers
+  entityid :: Int32 via VarInt
+  passengerids :: V.Vector Int32 via V.Vector VarInt
+
+data SetPlayerInventorySlot
+  slot :: Int16
+  slotdata_ :: Slot
+
+data UpdateTeams
+  teamname :: Text
+  mode :: Word8
+  displayname :: Text
+  prefix :: Text
+  suffix :: Text
+  flags :: Word8
+  nametagvisibility :: Text
+  collisionrule :: Text
+  color :: Int32 via VarInt
+  players :: V.Vector Text
+
+data UpdateScore
+  entityname :: Text
+  action :: Word8
+  objectivename :: Text
+  value :: Int32 via VarInt
+
+data SetSimulationDistance
+  simulationdistance :: Int32 via VarInt
+
+data SetSubtitleText
+  text :: TextComponent
+
+data UpdateTime
+  worldage :: Int64
+  timeofday :: Int64
+
+data SetTitleText
+  text :: TextComponent
+
+data SetTitleAnimationTimes
+  fadein :: Int32
+  stay :: Int32
+  fadeout :: Int32
+
+data EntitySoundEffect
+  soundid :: Int32 via VarInt
+  soundcategory :: Int32 via VarInt
+  entityid :: Int32 via VarInt
+  volume :: Float
+  pitch :: Float
+
+data SoundEffect
+  soundid :: Int32 via VarInt
+  soundcategory :: Int32 via VarInt
+  position :: V3 Int32
+  volume :: Float
+  pitch :: Float
+
+data StartConfiguration -- Empty packet
+
+data StopSound
+  flags :: Word8
+  source :: Int32 via VarInt
+  sound :: Int32 via VarInt
+
+data StoreCookie
+  key :: Text
+  value :: Text
+
+data SetTabListHeaderAndFooter
+  header :: TextComponent
+  footer :: TextComponent
+
+-- Serverbound
+
+data ConfirmTeleportation
+  teleportid :: Int32 via VarInt
+
+data QueryBlockEntityTag
+  transactionid :: Int32 via VarInt
+  location :: Position
+
+data BundleItemSelected
+  slot :: Int32 via VarInt
+
+data ServerboundChangeDifficulty
+  difficulty :: Word8 -- UByte
+
+data AcknowledgeMessage
+  messageid :: UUID
+
+data ServerboundChatCommand
+  command :: Text
+  timestamp :: Int64
+  salt :: Int64
+  argumentsignatures :: ByteString
+  signedpreview :: Bool
+  lastseenmessages :: V.Vector UUID
+
+data SignedChatCommand
+  command :: Text
+  timestamp :: Int64
+  salt :: Int64
+  argumentsignatures :: ByteString
+  signedpreview :: Bool
+  lastseenmessages :: V.Vector UUID
+
+data ChatMessage
+  message :: Text
+  timestamp :: Int64
+  salt :: Int64
+  signature :: ByteString
+  signedpreview :: Bool
+  lastseenmessages :: V.Vector UUID
+
+data PlayerSession
+  sessionid :: UUID
+  publickey :: ByteString
+  signature :: ByteString
+
+data ChunkBatchReceived -- Empty packet
+
+data ClientStatus
+  actionid :: Int32 via VarInt
+
+data ClientTickEnd -- Empty packet
+
+data ClientInformationPlay
+  locale :: Text
+  viewdistance :: Int8
+  chatmode :: Int32 via VarInt 
+  chatcolors :: Bool
+  displayedskinparts :: Word8
+  mainhand :: Int32 via VarInt
+  enabletextfiltering :: Bool
+  allowserverlistings :: Bool
+
+data CommandSuggestionsRequest
+  id :: Int32 via VarInt
+  text :: Text
+
+data AcknowledgeConfiguration -- Empty packet
+
+data ClickContainerButton
+  windowid :: Word8
+  buttonid :: Word8
+
+data ClickContainer
+  windowid :: Word8
+  stateid :: Int32 via VarInt
+  slot :: Int16
+  button :: Int8
+  mode :: Int32 via VarInt
+  slots :: V.Vector Slot
+
+data CloseContainerServerbound
+  windowid :: Word8
+
+data ChangeContainerSlotState
+  windowid :: Word8
+  slot :: Int16
+  state :: Int8
+
+data CookieResponsePlay
+  key :: Text
+  value :: Text
+
+data DebugSampleSubscription
+  data_ :: ByteString via TakeRest
+
+data EditBook
+  hand :: Int32 via VarInt
+  pages :: V.Vector Text
+  title :: Text
+
+data QueryEntityTag
+  transactionid :: Int32 via VarInt
+  entityid :: Int32 via VarInt
+
+data Interact
+  entityid :: Int32 via VarInt
+  type_ :: Int32 via VarInt
+  target :: V3 Float
+  hand :: Int32 via VarInt
+  sneaking :: Bool
+
+data JigsawGenerate
+  location :: Position
+  levels :: Int32 via VarInt
+  keepjigsaws :: Bool
+
+data LockDifficulty
+  locked :: Bool
+
+data SetPlayerPosition
+  position :: V3 Double
+  rotation :: V2 Float
+  flags :: Word8
+  teleportid :: Int32 via VarInt
+
+data SetPlayerPositionAndRotation
+  position :: V3 Double
+  rotation :: V2 Float
+  flags :: Word8
+  teleportid :: Int32 via VarInt
+
+data SetPlayerRotation
+  rotation :: V2 Float
+  onground :: Bool
+
+data SetPlayerMovementFlags
+  flags :: Word8
+
+data MoveVehicleServerbound
+  position :: V3 Double
+  rotation :: V2 Float
+
+data PaddleBoat
+  leftpaddleturning :: Bool
+  rightpaddleturning :: Bool
+
+data PickItemFromBlock
+  location :: Position
+
+data PickItemFromEntity
+  entityid :: Int32 via VarInt
+
+data PingRequestPlay
+  id :: Int64
+
+data PlaceRecipe
+  windowid :: Word8
+  recipe :: Text
+  makeall :: Bool
+
+data ServerboundPlayerAbilities
+  flags :: Word8
+
+data PlayerAction
+  actionid :: Int32 via VarInt
+  location :: Position
+  face :: Int8
+  sequence :: Int32 via VarInt
+
+data PlayerCommand
+  entityid :: Int32 via VarInt
+  actionid :: Int32 via VarInt
+  data_ :: Int32
+
+data PlayerInput
+  sideways :: Float
+  forward :: Float
+  flags :: Word8
+
+data PlayerLoaded -- Empty packet
+
+data PongPlay
+  id :: Int64
+
+data ChangeRecipeBookSettings
+  bookid :: Int32 via VarInt
+  bookopen :: Bool
+  filteractive :: Bool
+
+data SetSeenRecipe
+  recipe :: Text
+
+data RenameItem
+  name :: Text
+
+data ResourcePackResponsePlay
+  status :: Int32 via VarInt
+
+data SeenAdvancements
+  action :: Int32 via VarInt
+  tabid :: Text
+
+data SelectTrade
+  slot :: Int32 via VarInt
+
+data SetBeaconEffect
+  primaryeffect :: Int32 via VarInt
+  secondaryeffect :: Int32 via VarInt
+
+data SetHeldItemServerbound
+  slot :: Word8
+
+data ProgramCommandBlock
+  location :: Position
+  command :: Text
+  mode :: Int32 via VarInt
+  flags :: Word8
+
+data ProgramCommandBlockMinecart
+  entityid :: Int32 via VarInt
+  command :: Text
+  trackoutput :: Bool
+
+data SetCreativeModeSlot
+  slot :: Int16
+  slotdata_ :: Slot
+
+data ProgramJigsawBlock
+  location :: Position
+  name :: Text
+  target :: Text
+  pool :: Text
+  finalstate :: Text
+  jointtype :: Text
+
+data ProgramStructureBlock
+  location :: Position
+  action :: Int32 via VarInt
+  mode :: Int32 via VarInt
+  name :: Text
+  offset :: V3 Int8
+  size :: V3 Int8
+  mirror :: Int32 via VarInt
+  rotation :: Int32 via VarInt
+  metadata_ :: Text
+  integrity :: Float
+  seed :: Int64 via VarLong
+  flags :: Word8
+
+data UpdateSign
+  location :: Position
+  isfronttext :: Bool
+  lines :: V.Vector Text
+
+data SwingArm
+  hand :: Int32 via VarInt
+
+data TeleportToEntity
+  targetentityid :: Int32 via VarInt
+
+data UseItemOn
+  hand :: Int32 via VarInt
+  location :: Position
+  face :: Int32 via VarInt
+  cursor :: V3 Float
+  insideblock :: Bool
+
+data UseItem
+  hand :: Int32 via VarInt
+  sequence :: Int32 via VarInt
+|]
+
+-- provided by "th-serde": Data.Serde.QQ
+runusercoercion
+  -- provided by M.Pack
+  borrowderivepackunpack
+  properderivepackunpack
+  -- preparations for shadow types
+  [ ''Generic,
+    ''NFData,
+    ''Eq,
+    ''Ord
+  ]
+
\ No newline at end of file diff --git a/src/M.V769.Reg.html b/src/M.V769.Reg.html new file mode 100644 index 0000000..cad9d5c --- /dev/null +++ b/src/M.V769.Reg.html @@ -0,0 +1,279 @@ +
-- |
+-- Module: M.V769.Reg
+-- Description: Protocol version 769 packet state registrations
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Defines packet state registrations for protocol version 769 using Template Haskell.
+-- This module maps packet types to their numeric codes for different connection states:
+-- 'handshake', 'status', 'login', 'configuration' and 'play'.
+--
+-- == States
+--
+-- * Handshake - Initial connection handshake
+-- * Status - Server status/ping
+-- * Login - Authentication and encryption
+-- * Configuration - Server/client capability exchange
+-- * Play - Main game state
+--
+-- Each state defines bidirectional packet mappings using the 'states' quasi-quoter.
+-- Packet definitions include receive (client->server) and send (server->client) codes.
+module M.V769.Reg
+  ( handshake,
+    status,
+    login,
+    configuration,
+    play,
+    ParserStates (..),
+  )
+where
+
+import M.IO.TH
+import M.V769.C qualified as C
+import M.V769.H qualified as H
+import M.V769.I qualified as I
+import M.V769.L qualified as L
+import M.V769.P qualified as P
+import M.V769.S qualified as S
+
+[states|
+  -- name
+  handshake
+  -- name:hex recv:hex send
+  H.HandshakePacket::0
+  |]
+
+[states|
+  -- name
+  status
+  -- name:hex recv:hex send
+  S.StatusRequest:0:
+  S.StatusResponse::0
+  I.KeepAlive::1  -- Now using shared KeepAlive type
+  |]
+
+[states|
+  -- name
+  login
+  -- name:hex recv:hex send
+  L.LoginStart:0:
+  L.LoginDisconnect::0
+  L.EncryptionRequest::1
+  L.LoginSuccess::2
+  L.LoginPluginRequest::3
+  L.LoginPluginResponse:2:
+  L.LoginAcknowledged:3:
+  L.EncryptionResponse:1:
+  |]
+
+[states|
+  -- name
+  configuration
+  -- name:hex recv:hex send
+  C.CookieRequest::0
+  I.PluginMessage:2:1
+  C.Disconnect::2
+  C.FinishConfiguration::3
+  I.KeepAlive:4:4  -- Using shared KeepAlive
+  I.Ping:5:5       -- Using shared Ping type
+  C.ResetChat::6
+  C.RegistryData::7
+  C.RemoveResourcePack::8
+  I.ResourcePack::9
+  C.StoreCookie::a
+  C.Transfer::b
+  C.FeatureFlags::c
+  C.UpdateTags::d
+  C.KnownPacks:7:e
+  C.CustomReportDetails::f
+  C.ServerLinks::10
+
+  C.ClientInformationConfiguration:0:
+  C.CookieResponse:1:
+  C.AcknowledgeFinishConfiguration:3:
+  C.ResourcePackResponse:6:
+  |]
+
+[states|
+  -- name
+  play
+  -- name:hex recv:hex send
+  P.BundleDelimiter::0
+  P.SpawnEntity::1
+  P.SpawnExperienceOrb::2
+  P.EntityAnimation::3
+  P.AwardStatistics::4
+  P.AcknowledgeBlockChange::5
+  P.SetBlockDestroyStage::6
+  P.BlockEntityData::7
+  P.BlockAction::8
+  P.BlockUpdate::9
+  P.BossBar::a
+  P.ChangeDifficulty::b
+  P.ChunkBatchFinished::c
+  P.ChunkBatchStarted::d
+  P.ChunkBiomes::e
+  P.ClearTitles::f
+  P.CommandSuggestionsResponse::10
+  P.Commands::11
+  P.CloseContainer::12
+  P.SetContainerContent::13
+  P.SetContainerProperty::14
+  P.SetContainerSlot::15
+  P.CookieRequest::16
+  P.SetCooldown::17
+  P.ChatSuggestions::18
+  I.PluginMessage:14:19
+  P.DamageEvent::1a
+  P.DebugSample::1b
+  P.DeleteMessage::1c
+  P.Disconnect::1d
+  P.DisguisedChatMessage::1e
+  P.EntityEvent::1f
+  P.TeleportEntity::20
+  P.Explosion::21
+  P.UnloadChunk::22
+  P.GameEvent::23
+  P.OpenHorseScreen::24
+  P.HurtAnimation::25
+  P.InitializeWorldBorder::26
+  I.KeepAlive:1a:27
+  P.ChunkDataAndUpdateLight::28
+  P.WorldEvent::29
+  P.ParticleEffect::2a
+  P.UpdateLight::2b
+  P.Login::2c
+  P.MapData::2d
+  P.MerchantOffers::2e
+  P.UpdateEntityPosition::2f
+  P.UpdateEntityPositionAndRotation::30
+  P.MoveMinecartAlongTrack::31
+  P.UpdateEntityRotation::32
+  P.MoveVehicle::33
+  P.OpenBook::34
+  P.OpenScreen::35
+  P.OpenSignEditor::36
+  P.PlayPing::37
+  P.PlayPingResponse::38
+  P.PlaceGhostRecipe::39
+  P.ClientboundPlayerAbilities::3a
+  P.PlayerChatMessage::3b
+  P.EndCombat::3c
+  P.EnterCombat::3d
+  P.CombatDeath::3e
+  P.PlayerInfoRemove::3f
+  P.PlayerInfoUpdate::40
+  P.LookAt::41
+  P.SynchronizePlayerPosition::42
+  P.PlayerRotation::43
+  P.RecipeBookAdd::44
+  P.RecipeBookRemove::45
+  P.RecipeBookSettings::46
+  P.RemoveEntities::47
+  P.RemoveEntityEffect::48
+  P.ResetScore::49
+  P.RemoveResourcePack::4a
+  P.AddResourcePack::4b
+  P.Respawn::4c
+  P.SetHeadRotation::4d
+  P.UpdateSectionBlocks::4e
+  P.SelectAdvancementsTab::4f
+  P.ServerData::50
+  P.SetActionBarText::51
+  P.SetBorderCenter::52
+  P.SetBorderLerpSize::53
+  P.SetBorderSize::54
+  P.SetBorderWarningDelay::55
+  P.SetBorderWarningDistance::56
+  P.SetCamera::57
+  P.SetCenterChunk::58
+  P.SetRenderDistance::59
+  P.SetCursorItem::5a
+  P.SetDefaultSpawnPosition::5b
+  P.DisplayObjective::5c
+  P.SetEntityMetadata::5d
+  P.LinkEntities::5e
+  P.SetEntityVelocity::5f
+  P.SetEquipment::60
+  P.SetExperience::61
+  P.SetHealth::62
+  P.SetHeldItem::63
+  P.UpdateObjectives::64
+  P.SetPassengers::65
+  P.SetPlayerInventorySlot::66
+  P.UpdateTeams::67
+  P.UpdateScore::68
+  P.SetSimulationDistance::69
+  P.SetSubtitleText::6a
+  P.UpdateTime::6b
+  P.SetTitleText::6c
+  P.SetTitleAnimationTimes::6d
+  P.EntitySoundEffect::6e
+  P.SoundEffect::6f
+  P.StartConfiguration::70
+  P.StopSound::71
+  P.StoreCookie::72
+  P.SetTabListHeaderAndFooter::73
+
+  P.ConfirmTeleportation:0:
+  P.QueryBlockEntityTag:1:
+  P.BundleItemSelected:2:
+  P.ServerboundChangeDifficulty:3:
+  P.AcknowledgeMessage:4:
+  P.ServerboundChatCommand:5:
+  P.SignedChatCommand:6:
+  P.ChatMessage:7:
+  P.PlayerSession:8:
+  P.ChunkBatchReceived:9:
+  P.ClientStatus:a:
+  P.ClientTickEnd:b:
+  P.ClientInformationPlay:c:
+  P.CommandSuggestionsRequest:d:
+  P.AcknowledgeConfiguration:e:
+  P.ClickContainerButton:f:
+  P.ClickContainer:10:
+  P.CloseContainerServerbound:11:
+  P.ChangeContainerSlotState:12:
+  P.CookieResponsePlay:13:
+  P.DebugSampleSubscription:15:
+  P.EditBook:16:
+  P.QueryEntityTag:17:
+  P.Interact:18:
+  P.JigsawGenerate:19:
+  P.LockDifficulty:1b:
+  P.SetPlayerPosition:1c:
+  P.SetPlayerPositionAndRotation:1d:
+  P.SetPlayerRotation:1e:
+  P.SetPlayerMovementFlags:1f:
+  P.MoveVehicleServerbound:20:
+  P.PaddleBoat:21:
+  P.PickItemFromBlock:22:
+  P.PickItemFromEntity:23:
+  P.PingRequestPlay:24:
+  P.PlaceRecipe:25:
+  P.ServerboundPlayerAbilities:26:
+  P.PlayerAction:27:
+  P.PlayerCommand:28:
+  P.PlayerInput:29:
+  P.PlayerLoaded:2a:
+  P.PongPlay:2b:
+  P.ChangeRecipeBookSettings:2c:
+  P.SetSeenRecipe:2d:
+  P.RenameItem:2e:
+  P.ResourcePackResponsePlay:2f:
+  P.SeenAdvancements:30:
+  P.SelectTrade:31:
+  P.SetBeaconEffect:32:
+  P.SetHeldItemServerbound:33:
+  P.ProgramCommandBlock:34:
+  P.ProgramCommandBlockMinecart:35:
+  P.SetCreativeModeSlot:36:
+  P.ProgramJigsawBlock:37:
+  P.ProgramStructureBlock:38:
+  P.UpdateSign:39:
+  P.SwingArm:3a:
+  P.TeleportToEntity:3b:
+  P.UseItemOn:3c:
+  P.UseItem:3d:
+  |]
+
\ No newline at end of file diff --git a/src/M.V769.S.html b/src/M.V769.S.html new file mode 100644 index 0000000..fbfb101 --- /dev/null +++ b/src/M.V769.S.html @@ -0,0 +1,46 @@ +
{-# OPTIONS_GHC -Wno-missing-export-lists #-}
+
+-- |
+-- Module: M.V769.S
+-- Description: Protocol status state packets (AI-generated)
+-- Copyright: (c) axionbuster, 2025
+-- License: BSD-3-Clause
+--
+-- Defines packet structures for the status state of protocol version 769,
+-- handling server list ping functionality including server status queries
+-- and latency checks.
+module M.V769.S where
+
+import Control.DeepSeq
+import Data.Data
+import Data.Int
+import Data.Serde.QQ
+import Data.Text (Text)
+import GHC.Generics
+import M.Pack
+
+[serde|
+.derive
+  Show Read Data Typeable
+
+data StatusResponse
+  jsonresponse :: Text
+
+data StatusRequest
+
+data PongResponse
+  payload :: Int64
+  |]
+
+-- provided by "th-serde": Data.Serde.QQ
+runusercoercion
+  -- provided by M.Pack
+  borrowderivepackunpack
+  properderivepackunpack
+  -- preparations for shadow types
+  [ ''Generic,
+    ''NFData,
+    ''Eq,
+    ''Ord
+  ]
+
\ No newline at end of file diff --git a/src/Paths_mmm.html b/src/Paths_mmm.html new file mode 100644 index 0000000..5786bdc --- /dev/null +++ b/src/Paths_mmm.html @@ -0,0 +1,209 @@ +
{-# LANGUAGE CPP #-}
+{-# LANGUAGE NoRebindableSyntax #-}
+#if __GLASGOW_HASKELL__ >= 810
+{-# OPTIONS_GHC -Wno-prepositive-qualified-module #-}
+#endif
+{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
+{-# OPTIONS_GHC -w #-}
+module Paths_mmm (
+    version,
+    getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir,
+    getDataFileName, getSysconfDir
+  ) where
+
+
+import qualified Control.Exception as Exception
+import qualified Data.List as List
+import Data.Version (Version(..))
+import System.Environment (getEnv)
+import Prelude
+
+
+#if defined(VERSION_base)
+
+#if MIN_VERSION_base(4,0,0)
+catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
+#else
+catchIO :: IO a -> (Exception.Exception -> IO a) -> IO a
+#endif
+
+#else
+catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
+#endif
+catchIO :: forall a. IO a -> (IOException -> IO a) -> IO a
+catchIO = IO a -> (IOException -> IO a) -> IO a
+forall e a. Exception e => IO a -> (e -> IO a) -> IO a
+Exception.catch
+
+version :: Version
+version :: Version
+version = [Int] -> [String] -> Version
+Version [Int
+Item [Int]
+0,Int
+Item [Int]
+1,Int
+Item [Int]
+0,Int
+Item [Int]
+0] []
+
+getDataFileName :: FilePath -> IO FilePath
+getDataFileName :: String -> IO String
+getDataFileName String
+name = do
+  String
+dir <- IO String
+getDataDir
+  String -> IO String
+forall a. a -> IO a
+forall (m :: * -> *) a. Monad m => a -> m a
+return (String
+dir String -> String -> String
+`joinFileName` String
+name)
+
+getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath
+
+
+
+
+bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath
+bindir :: String
+bindir     = String
+"/home/runner/work/mmm/mmm/.stack-work/install/x86_64-linux-tinfo6/a64643967f18cbb30039c0feb76653e878594b5d21fb8064c209667ac6ca425f/9.8.4/bin"
+libdir :: String
+libdir     = String
+"/home/runner/work/mmm/mmm/.stack-work/install/x86_64-linux-tinfo6/a64643967f18cbb30039c0feb76653e878594b5d21fb8064c209667ac6ca425f/9.8.4/lib/x86_64-linux-ghc-9.8.4/mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai"
+dynlibdir :: String
+dynlibdir  = String
+"/home/runner/work/mmm/mmm/.stack-work/install/x86_64-linux-tinfo6/a64643967f18cbb30039c0feb76653e878594b5d21fb8064c209667ac6ca425f/9.8.4/lib/x86_64-linux-ghc-9.8.4"
+datadir :: String
+datadir    = String
+"/home/runner/work/mmm/mmm/.stack-work/install/x86_64-linux-tinfo6/a64643967f18cbb30039c0feb76653e878594b5d21fb8064c209667ac6ca425f/9.8.4/share/x86_64-linux-ghc-9.8.4/mmm-0.1.0.0"
+libexecdir :: String
+libexecdir = String
+"/home/runner/work/mmm/mmm/.stack-work/install/x86_64-linux-tinfo6/a64643967f18cbb30039c0feb76653e878594b5d21fb8064c209667ac6ca425f/9.8.4/libexec/x86_64-linux-ghc-9.8.4/mmm-0.1.0.0"
+sysconfdir :: String
+sysconfdir = String
+"/home/runner/work/mmm/mmm/.stack-work/install/x86_64-linux-tinfo6/a64643967f18cbb30039c0feb76653e878594b5d21fb8064c209667ac6ca425f/9.8.4/etc"
+
+getBinDir :: IO String
+getBinDir     = IO String -> (IOException -> IO String) -> IO String
+forall a. IO a -> (IOException -> IO a) -> IO a
+catchIO (String -> IO String
+getEnv String
+"mmm_bindir")     (\IOException
+_ -> String -> IO String
+forall a. a -> IO a
+forall (m :: * -> *) a. Monad m => a -> m a
+return String
+bindir)
+getLibDir :: IO String
+getLibDir     = IO String -> (IOException -> IO String) -> IO String
+forall a. IO a -> (IOException -> IO a) -> IO a
+catchIO (String -> IO String
+getEnv String
+"mmm_libdir")     (\IOException
+_ -> String -> IO String
+forall a. a -> IO a
+forall (m :: * -> *) a. Monad m => a -> m a
+return String
+libdir)
+getDynLibDir :: IO String
+getDynLibDir  = IO String -> (IOException -> IO String) -> IO String
+forall a. IO a -> (IOException -> IO a) -> IO a
+catchIO (String -> IO String
+getEnv String
+"mmm_dynlibdir")  (\IOException
+_ -> String -> IO String
+forall a. a -> IO a
+forall (m :: * -> *) a. Monad m => a -> m a
+return String
+dynlibdir)
+getDataDir :: IO String
+getDataDir    = IO String -> (IOException -> IO String) -> IO String
+forall a. IO a -> (IOException -> IO a) -> IO a
+catchIO (String -> IO String
+getEnv String
+"mmm_datadir")    (\IOException
+_ -> String -> IO String
+forall a. a -> IO a
+forall (m :: * -> *) a. Monad m => a -> m a
+return String
+datadir)
+getLibexecDir :: IO String
+getLibexecDir = IO String -> (IOException -> IO String) -> IO String
+forall a. IO a -> (IOException -> IO a) -> IO a
+catchIO (String -> IO String
+getEnv String
+"mmm_libexecdir") (\IOException
+_ -> String -> IO String
+forall a. a -> IO a
+forall (m :: * -> *) a. Monad m => a -> m a
+return String
+libexecdir)
+getSysconfDir :: IO String
+getSysconfDir = IO String -> (IOException -> IO String) -> IO String
+forall a. IO a -> (IOException -> IO a) -> IO a
+catchIO (String -> IO String
+getEnv String
+"mmm_sysconfdir") (\IOException
+_ -> String -> IO String
+forall a. a -> IO a
+forall (m :: * -> *) a. Monad m => a -> m a
+return String
+sysconfdir)
+
+
+
+joinFileName :: String -> String -> FilePath
+joinFileName :: String -> String -> String
+joinFileName String
+""  String
+fname = String
+fname
+joinFileName String
+"." String
+fname = String
+fname
+joinFileName String
+dir String
+""    = String
+dir
+joinFileName String
+dir String
+fname
+  | Char -> Bool
+isPathSeparator (String -> Char
+forall a. HasCallStack => [a] -> a
+List.last String
+dir) = String
+dir String -> String -> String
+forall a. [a] -> [a] -> [a]
+++ String
+fname
+  | Bool
+otherwise                       = String
+dir String -> String -> String
+forall a. [a] -> [a] -> [a]
+++ Char
+pathSeparator Char -> String -> String
+forall a. a -> [a] -> [a]
+: String
+fname
+
+pathSeparator :: Char
+pathSeparator :: Char
+pathSeparator = Char
+'/'
+
+isPathSeparator :: Char -> Bool
+isPathSeparator :: Char -> Bool
+isPathSeparator Char
+c = Char
+c Char -> Char -> Bool
+forall a. Eq a => a -> a -> Bool
+== Char
+'/'
+
\ No newline at end of file diff --git a/src/highlight.js b/src/highlight.js new file mode 100644 index 0000000..1e903bd --- /dev/null +++ b/src/highlight.js @@ -0,0 +1,27 @@ + +var highlight = function (on) { + return function () { + var links = document.getElementsByTagName('a'); + for (var i = 0; i < links.length; i++) { + var that = links[i]; + + if (this.href != that.href) { + continue; + } + + if (on) { + that.classList.add("hover-highlight"); + } else { + that.classList.remove("hover-highlight"); + } + } + } +}; + +window.onload = function () { + var links = document.getElementsByTagName('a'); + for (var i = 0; i < links.length; i++) { + links[i].onmouseover = highlight(true); + links[i].onmouseout = highlight(false); + } +}; diff --git a/src/style.css b/src/style.css new file mode 100644 index 0000000..0146eed --- /dev/null +++ b/src/style.css @@ -0,0 +1,97 @@ +body { + background-color: #fdf6e3; +} + +.hs-identifier { + color: #073642; +} + +.hs-identifier.hs-var { +} + +.hs-identifier.hs-type { + color: #5f5faf; +} + +.hs-keyword { + color: #af005f; +} + +.hs-string, .hs-char { + color: #cb4b16; +} + +.hs-number { + color: #268bd2; +} + +.hs-operator { + color: #d33682; +} + +.hs-glyph, .hs-special { + color: #dc322f; +} + +.hs-comment { + color: #8a8a8a; +} + +.hs-pragma { + color: #2aa198; +} + +.hs-cpp { + color: #859900; +} + +a:link, a:visited { + text-decoration: none; + border-bottom: 1px solid #eee8d5; +} + +a:hover, a.hover-highlight { + background-color: #eee8d5; +} + +span.annot{ + position:relative; + color:#000; + text-decoration:none + } + +span.annot:hover{z-index:25; background-color:#ff0} + +span.annot span.annottext{ + display: none; + border-radius: 5px 5px; + + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 5px 5px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 5px 5px rgba(0, 0, 0, 0.1); + + position: absolute; + left: 1em; top: 2em; + z-index: 99; + margin-left: 5; + background: #FFFFAA; + border: 2px solid #FFAD33; + padding: 0.8em 1em; +} + +span.annot:hover span.annottext{ + display:block; +} + +/* This bridges the gap so you can mouse into the tooltip without it disappearing */ +span.annot span.annottext:before{ + content: ""; + position: absolute; + left: -1em; top: -1em; + background: #FFFFFF00; + z-index:-1; + padding: 2em 2em; +} diff --git a/synopsis.png b/synopsis.png new file mode 100644 index 0000000000000000000000000000000000000000..85fb86ec84907bcc86531dc82871948ff4d471fa GIT binary patch literal 11327 zcmV-FEWp!=P)4Tx0C)k_S!GyNTeqHT_l8Y(cXyX`gGi?cY`Qxn1VID|MJXwjPC)?)F$h6K zMMOd+6hs7sqbPzXbr*U(-*=zy-hcPcUC*=TdiNM(jyd-lv&OpsU|J&v2m2!^0SE{T z54F(O;E2!K(!rTCW z%wV;vdzf1QjBf#e&~gh74F>?Z4a=WLg$KhJ^$5nap>PLbJadS>e&h8+?D`9%QNL`g zEVKbYGXj7k5Q(8)0Fd#*a?VIMFW3*64geVHKzE-&0BG!BtmfuTbO(T`0Jaeg2nagF z{V*1E{Wm{e|AvV~*MEExiC+KU-~R=!2{)|c6Bg`GjQ;iG|FQ`1kAUCTuZtQk34#8{ z4r4(3g7#|{=Z@d+d#}7f!3C=>=26vx*jwA8>@MS>RG@Tt_zt3hie^T z_?0%9VUd=)Fos7I z^ghPh%Jy%YZ|)vCf6EaFPai$Q-!=$ppK!y&wrJs)bNdAuANB!m3n34Tfj{s75g-&U z1A!Pg3bcXF-=!Gv1VmU93G2duANT;{0JugFTqg*|oPXPC|A$2HS3NJd-hcPV3EW`Y zh=1Dr-5Mv{<{zIvz#Ybay&^Vcn^E_`qRfl{{bzYkp)4~$~NAx_VB;E z{?P)PU)DbV{Qi#~0H0@T9czDj06@6MNq8OrpdAz(9qQxd9nPr<&s+~tPQySqaZyfb zNh!%g_5YjeaLxMN*$sv_p;d%b#U$Wpz0Geb0U>E+EOsEQ;I!&= zNC6q(BFFWohy&t- zL?CHM5mJM6p`(xmWDmJOUQi$u0mVUQpbRJ*DuT+OI;a`C4fR4p&?xj8nuk`Puh35f z55*JWF{C0=8)=GkKzbrWk@3iMWInPS*@Wyu4kE{pbI3L14-^JPgW^Pq!Q<2bWsPz} zg`nb5nW!REEvg;Wj~YYGqt;RTXfiY_S_G|(HbmQ@z0gtU6m&ki8r_B-Ku@3-(OVb{ zh8`n;QNS2r>@mKWSWG773g!l;2Q!LUz-(f%SSG9pRuyZCC1S&|DcC~nb!<2G1$Gg; zjU&Zz;G}VSI0sxHE(w>9tH<5Py}&KucJP#VKD;vC6z`6Y#%JLx@m=^4{33pbgo;Ff zM3uyf#Fr$Iq=2M}WPoIbWP_BHl$%tE)ST3Z^fYM!=}po{r1PXd2-E~&f;PdC5J9*= zs3G(aUK2LR$jJD~G{_vt!pSa>)sa0QdqcKOPD3tEZbLrbsZB|wjHfK7yiNI%a+8XNN{Y&qDu61Js-9|yYMB~K%}=dM z?M|IcT|xbTdVvN>!$YG@<3@9arjllWW|0;{D?n>V>r0zK+erJ2cAbuzPL|Gw?j&6? z-95TFdL%tRy&=6neHMKS{UrTQ1~vvw1`mcbh9-s=4Br`97&RC@7}FVVFitT3Wa4Df zW%6UX#MHqw%Zy?cW;SPzV!p~ez`Vvn%c8>K#*)s`!ZO8*U=?PyV2x$1V13HE$;Qs6 z&lb#9$o7D3jh&udgWZ=sm;FBb3I`2`8ix-@E=M=VM@~9UO-_H#0?vNUbuLye1Fi_J zGOlM_JKO@?*4#+T3Fgmx>$N#hD=6JCPAiC=8LR|tcUDX*;jHjawc-Aa(!}p@(S{y z@=fw93cLy~3MC3J6=@aC6f+ecDWR3LloFKgD*aHFR}NQhQU0tVrsAhkud;kZ;E2bO z$|DP^+^R&?GSxXXPBj;`QnfjCE_I@Mx%xW|9u0SmYKzbdmB(*}d+O)oF zD{G(9?$JT&=D|u+DJZ zNWtioQNJ<4*wVPj_}x+AqoGH;Ob{kUCOIZE$M}u~9_ug#riP|Drn6=OW+7&G%rWL> z=Ede8ETk;rECwxUES)XuEw`++tg@`8tp%+ktov*zY#eRsY`)v-*k;?#*-6-)vU_6B zZ0}>=>40^xaj16KJg$2@@A#sloMVdPRon; zro?jMrmLZAiR-$Xw%cX5Rd)^dT=x|ZRgY|sB~Mk)Y|mvcRj(Yc6>oL#eD5_MZJ#2a zFTMu8*L=VGnflfE9r)Y&-w413xCGn|qz?28>kOxb4~I`91S8Hy%txw47DsMJ*+jLTq&gXR@@ceibXxRMj9yGtEGpJ5wl9t= zE-`NYl;)|jcqraAzAu3%Avt03wEpSZM3O|m#Ni~#r0k?`XKc@OC9@@;PF^^xf3_io zJS8;cWvWW*wR5O*KIfjL$)pvg?Wen^KhBWM$j{i#bjy5vUg~_o`GX6d7oKIwXI;IB zxfpnH@{;j<`HmaI~Pakhkz+;ck(4 z(L}LU@r@GJlC+ZVSKP0>xT6f*a^OxsWU@9UjK2+LN4pu2v z)m1ZBXH@Ui1lG*eTGaN}Db&@~v({%dAQ~bXR<1ijt)TYR@l+GyI++oAU8_Vo_$j=4_z&e7XOxBI$Oy4voD->JFFb+`B) z-My^)B=?i=A9TlbZ}tTDto3^JF7!F~O+T=EFy3$8|7^f`;L$_9hYtod2fH7sKDs-k zJaqf9;^U4d@=w~I$~|oxmK$z+CjYE`L}8@!xzh8l(IcbxU#P$69n%?mIBq!pWa8Mw z=%n@JtCx;1=U%zLT7K>S`pZ=0)Xwzj8T3s0Eahze8`d}FZ-w68n3JEoH?K4Q^qu9q z=>@li)%RiVcNddCkbTHs;#jI%mR`QQqPOz=CgGy+9whdp4g`BLCvp!8U&;uov(!a2t+bEnRv6HXyi9t`-YglcEo`$K zI8GTZXYLH1F5YE+b^&9-c%dfYc~N>X1MygiCdpZ8N*OKLV7W5+5rusvVP$KTgd_E; zV`@J%*flk^Jhjj1)aX9cTQC5ItVZ(2W=FkE;*aH-)|+*kk6SET?pjmWaNEk+>D${o z_#cmV%sNr-bj$gX%QW$m8{|&wA?SI;%go!uC))SCU%7vKz~jI-L0?1Ap^RZ7;i?hG zB3+__P9{WW#uUa@#oavB8Q+`m==5;nXwvwZiR6j1<0+%5!{;8Q^`_s>XwIxTUvlAM z)|rdpmprp=bM$iM@_6#8@((Vr7Q8HcP;{fXs3iGH;8nY8TBRaov}JqcixtC_ZBw07?YBCLI#1vB=rX<|d6)j~ z?!9;SA9XkN4rDD83J6N{$`!z{xG&lW}=KCd6md=WHe zF)la3F!5t@`sLkMS6?Sg5vR3gcxTbGOK%>(y*_twKH{Cjg64anMViI^4{J-a%g0=3|@n*5+(H4=G;Z`Bm z0XDw2UUnY#t`5ZG&WObDFO_)C zCe0{aEki1k_dNXt+=U-mA1_W_8p^(%Qj|@Mb z9sM+h7-yIepVWIvd=>Y)XzKR#)XeT1jH zI8-@&65hs?W6g0$Tn9b?K9MevmJ{6JljSOT6GbGYHWfM5G<6M41g#z&E8Qx6H$yI? z50eHn6Z1ODBi1suSavH8F-{EUJXaTYHjh8AJ|73)7XPq7gt>OirQ5IDz)!g7S$y<#pnvPn` zTCcP(>sag3>W=B<=vx}l7>pa{8`&AN7|$LpGx0noeC)GnyV)so9SefRgyl6WA8Q%w zeVfO&`F8I1(hk7k+3~B6fhW|RD4pIpx4EPekGo2^q1>k2n?25Xx_BviQ+coYJoGK~ zi}SY&kPV~?{2VkK+z^r;>Jw%VE)ao-y@)AN%A4?QY z!X(X~xtpASHaNvFl_z!g+(cSqdP;^mD`$^mG5`i zpn$&+Rk%>pUtCp^dd2Um*){o6wlZ|t=klqF!OHfk>gs};%-W>7nEHr@(CeX%5lwM7 zQg7xp*S7SwzHLLbOLn+*Uc0?`NAB*$d)wWCJsW)~{h|X4gV%@BpPU*_8L1qd8t0!( zdySmVd!st{bK%K{=9Rj&=Ffv)KX1|hFxkC)82{hg(&3(fkq6-NB>?O?0kGBtAd?QJ zm0$~|LIBLj0I*U5i1iA9XzK$|?dCuG2lOlFq=GX}9v}f{nuc(O=>uZH1yBw;!3bD_ zU{(i`gLA_m=mOLPjX+-zbO8W#QsA+O&>1m7Uxak_`<>>nu%o*kx!T2DqomQ{`*59GHMHWa@qZ7S~^!Kl)z@vEz7SZjuAWovinywxMoS2FN7 zEH|1t%4A}H?2754xrD_j%Moi{n>gE7_6iP##}7_;J59Lg5Ifz(-D^B~y{dc!eQ)?H z1`GsQ2d{)Cgfm98MOmHv9&;s5@6?xs(nO0hxa6LcxN|CLdl`M_GqP+i31t7w9nHU9 zkY40hVt!S*RG^%pl2DDR1@+)Ms)_U_Lks^c#r9*J-d)LeEAIFAEIl9{kQ}rbihXiz zxOZfJbZ?wtQtXx5l+ld&8>=~scSi5kK8P(dtn9DO{nh=s_)Emb(M`^+uiKA)7VrA) zEB#tO5ODlSVZM$P@WWh#2Fx+Iz|6u~m`%6|24UXdCqxG`1g0=2kOkd@#-Q&AR(P%P zMdTpvAy(jBM;jT2tUyk{D~~EF3{{U>K(nFk;T(JdLx-`&6l3PF0@xsI7Y>87!d2q7 z@J9GD{0|aKlAELyq`{in5#@A}YP&ZEYQ#XH-V)Gsvv6_^~14ao?j4lj=6k7|w9iW!UZJhhvUlPHq(FxfQ) zq?V>>q`%8dxgeZ1aw#H*HTOZjUjc35y<*QR6jwV-iRB~}tyPXS=-S45n}+?ysv9OZ zzqJ(K(rR1j$hs}xHG4PtzG(M&@2Lj@{VyISJQ5#z^W@U7{hV|l=i6Vte3RLV-yYuK+dKCw{z!laG%#N$3ABJM%p<0O zYA^skKqQbP%m$r-WBwLFh0ujLomRwONMWQ8vL5*f<`CmhgJ?Rm2f718hVj63W7)9r z*mpQXTq~XnpG|@xNg&xFjU_!Gq>|CVvs#J#1w}9=HDxE2J2egUAWZ`85!yYvKKcv> zJ4PYKJ*G+KW|m8=VQlv7TJY|}%00wyKDli~41a=UN19Bb{{JVSQ=?d&3H&&qviwE*<+| zre!9^?4cDF}{Txa*#Kx+jZQvyZXwvVVG@WYFu7)G)>HwaCho zPBE;pGpDX4cqED@Z6)`nTsY^LE}F4-ek7|Lj+#LpTmF}Vfuf?4z^j_2v}GSEI;v7@ ztn0YySFg7=Mcq_r{?^*qM(m*I?Cd&z=li|$-7G!jeOwO;25=992SX5MzsmCeV$vtN*Wk9q%cvGzm6 zlGZYQ`Nc~9M~79`)tR-DzwAEIeH!_EZe4SI`^$~5?i-97Prt=)N^Q<3ePg@o zht*Hi&(|HuI*eO3a z*sFk(4fq>KkN@xQ6^F(cm~$_2K14li9;XkV|9<@!M&f%8Nam8p00009a7bBm000XU z000XU0RWnu7ytkil}SWFRCodHT?u#;Rkr@KbUNvfeG_5`YY-wNfPp{+o{ADgGcxep z5O;8ydCWk3pWowCbe1RjK4lzy;4&jKqk}U-a1=+ud7z@;LLwlFC>S)v1jwFrI_XY2 zop;WyuIf%_F~x?x|CCgE~7q5lBOq0>MKUdH^|7ARquk zTn+*P5DlHMG@8ELxbaVWHf?&T znHpfF&E_pZ&^rD;1;7qozi0Q$(`V)7{8<+kI>wdbHk%E>!9AN2eO+^{$KB)hHtVU6 z4;0@%KYw`%{kM%aj|)L>`1``u*EM%B_Ep|f_7iHT~t6&rZsneaT;XVt##n z3*O&%0=#!k4Gq$@x_XoAC663)d$?Wm=UXTrha?_sgD)BZa!4dhf)W5g$)o+5f!@!6p= z7>#E6lGpa0z~7?)*juclePn!mT$U>W2F?VqT7?}(LqHHhL#3+DoNXk5_#Pb{(lwSP zZ<=X|iSbjYeFoatR`H}3=!RdX3qeSTbc>FTPC&5WKoW3vT<}n4p!jve)Qtntp05&Y$`N~L&mauhNrjZlt#E%Rdnz*4RdA(~WsS0P~4Cker*^h9K3rID79 zAhx!)2_f*-6tD+E@|~5o_HbR*DQEm#fix64W;xPOIEsuwz3>ej`Mg}wlx+M?%^s;7 zt7<_1|D+24j|zb6{d*Duo)R*nQ%A&N`m}UK6}Gim#oV|jr-^I5{&3u6Y!z0&JjK=N zf~iA{0UNr_&1RH*=FkdaRxmwXu@ih1pW6b!KwO1@&&hNBf0 z=VYU~zns|bF>|Ig{pE8Oi&e4q8Sf>;d>$HnJ*g4^2E{@!BWJXj|MK2>t{)#4iCiKM z_X3_Wd3!22SVWGECF_5t9Wx1ebdVe1IRabo*K&Me+mp(08G`jsI~A7O*rz=A?*I(Ym_y4*ZBHj<`2EIL z@XCfeuGtW8G6RGFlFM<@CjE-OtU#5a;0kB%yXw(N%<3n(~sBeG(H{~)Y9EAyo%kT#Rg2j zpdOnacnjrpoDswQL%S&=xD)LJZ^c?^7~tUKxVSW2U-+UJ`I8c2{Q|sd4FLUcTr-0M zaqMa26wFKpz7U~s3AlNV^qhrHMbm9<`9gTLcVV_VCkYcW$bp+1aV?*4j`n;5NQvl5P$NHC1)DVqF ze?14Uta}S5dTDmrRR#Fn;tPAZ>c6M&cw`%zt17X5(`x+mXPZPMYENh$xHA{IIn#Q& z^ zG}YF_5*3HIuofIEDMeLB1jc8M#;C+D(d52>)gx`#@~i9ZqkAV_+e~x*&R~QFvHtHw zX=O8P?QIyJ9Ss9*B|&g;0hMp z3Alm-uHb+xn7Ts16&!E{`__2XkJh+p1UhOAxPk+&;D9SQ;0g}7f`^~4p*Mp`Hum_uHM8Ep9TllPO>m-^Cs zpVwg1bK6i`-w1z*2vDs7WXVaJJHyU=rk@Vk3#W^iKzdl}7D4^3u#E2B8*>%rGlt8u z5=Bg)^vMF>N2OW-kTeo=C=#;#Uwg6hiz=At%UPznGuZL$9uX3jIcgXzEoL+}ne7De zePX!NLIZ__1sfvpaY5fTR( zUH5HKQ7-^w@TCk-ATqS$+;^2Y-9Yg{p~En8>~LcE&~OCN2SO-y!qgT7qsff0kWR!$ z^D81!lBm$TfXL;}=Y9YJK+SF{!{d*=}ZDsk}pA}{0WdF3_)n|T5 zFNK7P(SF;zrP#jx9qieE2>F-K@p;gyHGt(@rI_!hEt)McpP}lbFn3v=a0JCAI=-Ld z^HfmLKw}#PgVO)j-n&3BpR3@}{)WrPilHHGIK3w22T8R6=u<`rMwjnBh~jFy5zt}A zN81hv!KkMXNNPDnh1mq7H@>uwma1@k3;2!wtQCOj+9tn%uigkWBw{AL|5)BofhX2& zA+XZ302%fCsUzg9CimQPVv`f;C6O8|{n>ML#6sZcPqU_9DPe!$!>g7coyleK6R!5=0O9Kit+4(r(6 ziv6QJ8-P(X4Sa3SakRGjFIv?a0G4_jZD3}d!^RD-cH>&cq5?d2jrKkeAp_;!Ur#;& z9W7Y4e9epUX=T6m-g%gom8l&2YDT>Vpn#D2K2TLOYC9;D1)wkDRn>N#8T3J_^Lk0W z2GEDo5^3Wxdgdfd9w7&WOIUcVywJ$#^9sz{H)rNATQUdN%*}+3f?}K#TL)6Cfb&`3 z%&Qjw3IaWJ_$1z;4dDsM&%YQ~=42pUgopbkSWmW!9lu+5e2Bl(Hp~!=)psw#l#5d7 z<59t4!9`Er%bRtn7l4p3WRMY9&31sf7Q0{HC$^-K>G(;07G_Pk5PmWfQbk{$>nD;C z$aX+;iw(co_@<~Qn^p+B=a%_MiWA>XQ&sn1{z<(6(1#*dufHEF>#Fe8m!&8!F2%dw zHlg}-8UFYJZG<8tdn)d^eHPNC3G-m$^7_440RBMV3*u1l6Q_-MckXuK!rmQ$k)#dR$sG z@^U71!@qOSF|2)@pOpG;Qm+AE#NKTmpy<6aRJ-8I$ex7UR10>zRSMI&Dx4*+aC%oe z$>ksZdHCl3@33X-u5M#~!F>8s>bP;(@Z1iZ5DQ57E(pe>^RmdH=2Rkv1Y;;r0f4a|kUQI?AO7tZbEf zJ(*E203jiWBR5FKRnt*$=_L9l06hS)bRb+XpPQ(|6)W>G1u?i-W6WoCJgUlRkTWYJ9y;~2lKhQP~5|72z2_#^8q&npdI^OKWZnM4)jd~lxFIKK%PKOm(9u+`!IG4P>PAtq9@Rh0JE!{0DuH! zkK`y|6ZXDM&ju*fYcM2?dkd?0BQd?AvKl9=rI$l^%Bzo%82pwp_ z3!t@d`N^j}MPee&>2}gr!FRvB)4o^~UCPYDMfxiI>b@c+MsVI_ZG?n%#SdILF9)yD z8iBv~&32h6$j=)^`5;_--)1F7aK==Pycf`JwRRcIa&EjD`NGhX@h9M+TM4YCmA;oJ zrO3=nv3MeD1n(z%`&dZj&7(JU#eehVv~0XE^yJ%^arZ3+;^s6cinJi_LRv*8MlRsh z{Xp^er2%-zvwii|iPQND<~cxwB;)S&_u$&{D%8_7aQMh%>8YP30yAe!z=De>;j*0J zN>6b7(K|VAAJyy)=J$-BZpMp7n5{I{+sN@1<}jm{UYm<6az zC)2KLBDKeY!To$ha&qG2BZqfAotPNM^BbQ^H8u4$*;5z(vZ|_v=c1LgH4&aJ8cR)s zhZ25=_;#ffO9d0sLd30K^&jiDoI6+3R|Htse-FYDw`bL=buUu;*yY6jR@v$9iMtOO z{Jm)a77X@ba%$f%7edh>l!!{woQDqvAyLn?wOiY*$B%zo zv32X~pEWczvH$rLZ56cfy6vr`0a$epDA9d}4E`PkfT>4BU?%e$j!CrfB%e1P1~}M{ zuQ8DZRRHLI>|J6XE5CNbPoY`u^Tv~L_DESt0J@K9biv&;RPgs@1TwMtC4bqg&n_U& z^RqpU@fmCZV8(Krcxd8Db|Y=v9v+%_sqO*ye5%7a4GH|cY5=AL^#T?U?(IAraOf}Z znfd(s?_l?Sx}{(;kM%5!ES&ry9?r8?uz9NYQ(Ynr1^j&q08@d8z|&jaWMSaE-1`Sx z2*lKk?$1KN8*2mJGw(g3`l+riN$dE3Q~;P7LCd=wx?7hW&8J3pu z_e%g|LIn2Oqk!C_wTCQ#s9zKa2tdEcq}@UR0njdQ`-LnZ0R1A9b_)drK)bx{7qWl= z^ovZ|Eff#{?eex?$N~b;FEVMjP(T2*%iDe-`+v|7m{y$1dn*6{002ovPDHLkV1lnB B5rhB$ literal 0 HcmV?d00001