{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE MagicHash #-}
{-# LANGUAGE TypeApplications #-}
module Data.ByteString.Base64.Internal.Tables
( base64Table
, base64UrlTable
, decodeB64Table
, decodeB64UrlTable
) where
import Data.ByteString.Base64.Internal.Utils
import Foreign.ForeignPtr
import GHC.Word
base64UrlTable :: EncodingTable
base64UrlTable :: EncodingTable
base64UrlTable = Addr# -> EncodingTable
packTable Addr#
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"#
{-# NOINLINE base64UrlTable #-}
base64Table :: EncodingTable
base64Table :: EncodingTable
base64Table = Addr# -> EncodingTable
packTable Addr#
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"#
{-# NOINLINE base64Table #-}
decodeB64Table :: ForeignPtr Word8
decodeB64Table :: ForeignPtr Word8
decodeB64Table = Int -> [Word8] -> ForeignPtr Word8
forall a b. (Storable a, Storable b) => Int -> [a] -> ForeignPtr b
writeNPlainForeignPtrBytes @Word8 Int
256
[ Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff
, Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff
, Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0x3e,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0x3f
, Word8
0x34,Word8
0x35,Word8
0x36,Word8
0x37,Word8
0x38,Word8
0x39,Word8
0x3a,Word8
0x3b,Word8
0x3c,Word8
0x3d,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0x63,Word8
0xff,Word8
0xff
, Word8
0xff,Word8
0x00,Word8
0x01,Word8
0x02,Word8
0x03,Word8
0x04,Word8
0x05,Word8
0x06,Word8
0x07,Word8
0x08,Word8
0x09,Word8
0x0a,Word8
0x0b,Word8
0x0c,Word8
0x0d,Word8
0x0e
, Word8
0x0f,Word8
0x10,Word8
0x11,Word8
0x12,Word8
0x13,Word8
0x14,Word8
0x15,Word8
0x16,Word8
0x17,Word8
0x18,Word8
0x19,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff
, Word8
0xff,Word8
0x1a,Word8
0x1b,Word8
0x1c,Word8
0x1d,Word8
0x1e,Word8
0x1f,Word8
0x20,Word8
0x21,Word8
0x22,Word8
0x23,Word8
0x24,Word8
0x25,Word8
0x26,Word8
0x27,Word8
0x28
, Word8
0x29,Word8
0x2a,Word8
0x2b,Word8
0x2c,Word8
0x2d,Word8
0x2e,Word8
0x2f,Word8
0x30,Word8
0x31,Word8
0x32,Word8
0x33,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff
, Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff
, Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff
, Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff
, Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff
, Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff
, Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff
, Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff
, Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff
]
{-# NOINLINE decodeB64Table #-}
decodeB64UrlTable :: ForeignPtr Word8
decodeB64UrlTable :: ForeignPtr Word8
decodeB64UrlTable = Int -> [Word8] -> ForeignPtr Word8
forall a b. (Storable a, Storable b) => Int -> [a] -> ForeignPtr b
writeNPlainForeignPtrBytes @Word8 Int
256
[ Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff
, Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff
, Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0x3e,Word8
0xff,Word8
0xff
, Word8
0x34,Word8
0x35,Word8
0x36,Word8
0x37,Word8
0x38,Word8
0x39,Word8
0x3a,Word8
0x3b,Word8
0x3c,Word8
0x3d,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0x63,Word8
0xff,Word8
0xff
, Word8
0xff,Word8
0x00,Word8
0x01,Word8
0x02,Word8
0x03,Word8
0x04,Word8
0x05,Word8
0x06,Word8
0x07,Word8
0x08,Word8
0x09,Word8
0x0a,Word8
0x0b,Word8
0x0c,Word8
0x0d,Word8
0x0e
, Word8
0x0f,Word8
0x10,Word8
0x11,Word8
0x12,Word8
0x13,Word8
0x14,Word8
0x15,Word8
0x16,Word8
0x17,Word8
0x18,Word8
0x19,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0x3f
, Word8
0xff,Word8
0x1a,Word8
0x1b,Word8
0x1c,Word8
0x1d,Word8
0x1e,Word8
0x1f,Word8
0x20,Word8
0x21,Word8
0x22,Word8
0x23,Word8
0x24,Word8
0x25,Word8
0x26,Word8
0x27,Word8
0x28
, Word8
0x29,Word8
0x2a,Word8
0x2b,Word8
0x2c,Word8
0x2d,Word8
0x2e,Word8
0x2f,Word8
0x30,Word8
0x31,Word8
0x32,Word8
0x33,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff
, Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff
, Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff
, Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff
, Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff
, Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff
, Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff
, Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff
, Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff,Word8
0xff
]
{-# NOINLINE decodeB64UrlTable #-}