diff --git a/.envrc b/.envrc
new file mode 100644
index 000000000..8ebe67ac3
--- /dev/null
+++ b/.envrc
@@ -0,0 +1,2 @@
+use flake
+eval "$shellHook"
\ No newline at end of file
diff --git a/.github/workflows/ghcjs.yml b/.github/workflows/ghcjs.yml
index 2ab02e1e3..42d62dbd2 100644
--- a/.github/workflows/ghcjs.yml
+++ b/.github/workflows/ghcjs.yml
@@ -18,6 +18,12 @@ on:
workflow_dispatch: # allow triggering this workflow manually
+env:
+ store: /home/runner/nix
+
+permissions:
+ contents: write
+
jobs:
build-and-deploy:
runs-on: ubuntu-latest
@@ -25,17 +31,22 @@ jobs:
- name: 📥 Checkout repository
uses: actions/checkout@v3
- - name: 🧰 Setup nix (cache)
- uses: cachix/install-nix-action@v13
+ - name: 🧰 Setup nix
+ uses: cachix/install-nix-action@v20
with:
- nix_path: nixpkgs=channel:nixos-unstable
+ nix_path: nixpkgs=channel:nixpkgs-unstable
+ extra_nix_config: "store = ${{ env.store }}\nsubstituters = https://cache.nixos.org/ https://cache.iog.io https://nix-community.cachix.org https://miso-haskell.cachix.org \ntrusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= miso-haskell.cachix.org-1:6N2DooyFlZOHUfJtAx1Q09H0P5XXYzoxxQYiwn6W1e8="
# pinning Nix version
- install_url: https://releases.nixos.org/nix/nix-2.13.3/install
-
- - name: 💾 Setup cachix (miso-haskell)
- uses: cachix/cachix-action@v10
+ install_url: https://releases.nixos.org/nix/nix-2.14.1/install
+
+ - name: Restore and cache Nix store
+ uses: actions/cache@v3.3.0
with:
- name: miso-haskell
+ key: ${{ runner.os }}-nix-${{ hashfiles('./flake.nix', './flake.lock') }}
+ path: ${{ env.store }}
+ restore-keys: |
+ ${{ runner.os }}-nix-${{ hashfiles('./flake.nix', './flake.lock') }}
+ ${{ runner.os }}-nix-
- name: 🔨 Remove rzk.cabal, lexer and parser generator files
run: |
@@ -45,12 +56,12 @@ jobs:
- name: 🔨 Build GHCJS version with Nix
run: |
- nix-build try-rzk/
+ nix build .#try-rzk
- name: 🔨 Collect build artifacts
run: |
mkdir -p dist/result/bin
- cp -r ./result/bin/try-rzk.jsexe/ dist/result/bin/.
+ cp -r ${{ env.store }}$(realpath result)/bin/try-rzk.jsexe/ dist/result/bin/.
chmod -R +w dist/
cp try-rzk/playground.html dist/.
@@ -58,7 +69,7 @@ jobs:
if: ${{ github.ref_name != 'main' && github.event_name == 'push' }}
uses: JamesIves/github-pages-deploy-action@v4
with:
- github_token: ${{ secrets.GITHUB_TOKEN }}
+ token: ${{ secrets.GITHUB_TOKEN }}
folder: dist
target-folder: ${{ github.ref_name }}
clean: false
@@ -67,6 +78,6 @@ jobs:
if: ${{ github.ref_name == 'main' && github.event_name == 'push' }}
uses: JamesIves/github-pages-deploy-action@v4
with:
- github_token: ${{ secrets.GITHUB_TOKEN }}
+ token: ${{ secrets.GITHUB_TOKEN }}
folder: dist
clean: false
diff --git a/.gitignore b/.gitignore
index b1804eb3c..f61a4d7ed 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,3 +24,5 @@ cabal.project.local~
.HTF/
.ghc.environment.*
docs/site
+result
+.direnv
\ No newline at end of file
diff --git a/README.md b/README.md
index 9d15dee80..0b08f1484 100644
--- a/README.md
+++ b/README.md
@@ -132,7 +132,73 @@ nix-build
Now open `playground.html` to see the result. Note that if local GHCJS build is unavailable, `playground.html` will use the [JS file from GitHub Pages](https://fizruk.github.io/rzk/v0.1.0/result/bin/try-rzk.jsexe/all.js) as a fallback.
-# References
+##### Flake
+
+The flake in this repository allows to build `try-rzk` incrementally and reproducibly.
+
+1. Install `Nix` via single-user [installation](https://nixos.org/download.html#download-nix):
+
+ 1. Run script
+
+ ```sh
+ sh <(curl -L https://nixos.org/nix/install) --no-daemon
+ ```
+
+ 1. Permanently [enable](https://nixos.wiki/wiki/Flakes#Permanent) flakes
+
+1. Enter the `devShell` with `GHC` (not `GHCJS`). Answer `y` to `Nix` prompts to use binary caches.
+
+ ```sh
+ nix develop
+ ```
+
+1. The shell provides `ghc`, `haskell-language-server`, `cabal-install`, `hpack`.
+
+1. (Optionally) Install [direnv](https://direnv.net/) to start the `devShell` when you enter the repository directory.
+
+1. Build `rzk`.
+
+ ```sh
+ cabal build
+ ```
+
+1. Enter the `devShell` with `GHCJS`.
+
+ ```sh
+ nix develop .#ghcjs
+ ```
+
+1. Build `try-rzk`. This may require ~10 GB of RAM.
+
+ ```sh
+ cabal build --ghcjs
+ ```
+
+1. (Optionally) Build `rzk` via `Nix`. The resulting executable will be in `result/bin/rzk`.
+
+ ```sh
+ nix build .#rzk
+ ```
+
+1. (Optionally) Run `rzk` via `Nix`.
+
+ ```sh
+ nix run .#rzk
+ ```
+
+1. (Optionally) Build `try-rzk` via `Nix`. This may require ~10 GB of RAM. The resulting executable will be in `try-rzk/result/bin/try-rzk.jsexe`.
+
+ ```sh
+ nix build .#try-rzk --out-link try-rzk/result
+ ```
+
+1. Open the app in a browser.
+
+ ```sh
+ firefox try-rzk/playground.html
+ ```
+
+## References
1. Emily Riehl & Michael Shulman. A type theory for synthetic ∞-categories. Higher Structures 1(1), 147-224. 2017. https://arxiv.org/abs/1705.07442
2. Nikolai Kudasov. E-unification for Second-Order Abstract Syntax. 2023. https://arxiv.org/abs/2302.05815
diff --git a/cabal.project b/cabal.project
new file mode 100644
index 000000000..eee6158d6
--- /dev/null
+++ b/cabal.project
@@ -0,0 +1 @@
+packages: rzk try-rzk
\ No newline at end of file
diff --git a/docs/docs/rzk-1/recId.md b/docs/docs/rzk-1/recId.md
index bb92e903f..035126db7 100644
--- a/docs/docs/rzk-1/recId.md
+++ b/docs/docs/rzk-1/recId.md
@@ -84,12 +84,21 @@ The idea is straightforward. We ask for a proof that `a = b` for all points in `
First, we define how to restrict an extension type to a subshape:
```rzk
+#section construction-of-recId
+
+#variable r : relfunext2
+#variable I : CUBE
+#variables psi phi : I -> TOPE
+#variable A : {t : I | psi t \/ phi t} -> U
+
-- Restrict extension type to a subshape.
-#def restrict
- (I : CUBE)
- (psi : I -> TOPE)
- (phi : I -> TOPE)
- (A : {t : I | psi t \/ phi t} -> U)
+#def restrict_phi
+ (a : {t : I | phi t} -> A t)
+ : {t : I | psi t /\ phi t} -> A t
+ := \t -> a t
+
+-- Restrict extension type to a subshape.
+#def restrict_psi
(a : {t : I | psi t} -> A t)
: {t : I | psi t /\ phi t} -> A t
:= \t -> a t
@@ -99,13 +108,15 @@ Then, how to reformulate an `a` (or `b`) as an extension of its restriction:
```rzk
-- Reformulate extension type as an extension of a restriction.
-#def ext-of-restrict
- (I : CUBE)
- (psi : I -> TOPE)
- (phi : I -> TOPE)
- (A : {t : I | psi t \/ phi t} -> U)
+#def ext-of-restrict_psi
(a : {t : I | psi t} -> A t)
- : (t : psi) -> A t [ psi t /\ phi t |-> restrict I psi phi A a t ]
+ : (t : psi) -> A t [ psi t /\ phi t |-> restrict_psi a t ]
+ := a -- type is coerced automatically here
+
+-- Reformulate extension type as an extension of a restriction.
+#def ext-of-restrict_phi
+ (a : {t : I | phi t} -> A t)
+ : (t : phi) -> A t [ psi t /\ phi t |-> restrict_phi a t ]
:= a -- type is coerced automatically here
```
@@ -114,15 +125,10 @@ Now, assuming relative function extensionality, we construct a path between rest
```rzk
-- Transform extension of an identity into an identity of restrictions.
#def restricts-path
- (r : relfunext2)
- (I : CUBE)
- (psi : I -> TOPE)
- (phi : I -> TOPE)
- (A : {t : I | psi t \/ phi t} -> U)
(a_psi : (t : psi) -> A t)
(a_phi : (t : phi) -> A t)
(e : {t : I | psi t /\ phi t} -> a_psi t = a_phi t)
- : restrict I psi phi A a_psi = restrict I phi psi A a_phi
+ : restrict_psi a_psi = restrict_phi a_phi
:= (first (second (r I
(\t -> psi t /\ phi t)
(\t -> BOT)
@@ -138,12 +144,7 @@ Finally, we bring everything together into `recId`:
-- A weaker version of recOR, demanding only a path between a and b:
-- recOR(psi, phi, a, b) demands that for psi /\ phi we have a == b (definitionally)
-- (recId psi phi a b e) demands that e is the proof that a = b (intensionally) for psi /\ phi
-#def recId
- (r : relfunext2)
- (I : CUBE)
- (psi : I -> TOPE)
- (phi : I -> TOPE)
- (A : {t : I | psi t \/ phi t} -> U)
+#def recId uses (r) -- we declare that recId is using r on purpose
(a_psi : (t : psi) -> A t)
(a_phi : (t : phi) -> A t)
(e : {t : I | psi t /\ phi t} -> a_psi t = a_phi t)
@@ -152,13 +153,15 @@ Finally, we bring everything together into `recId`:
psi t |-> transport
({s : I | psi s /\ phi s} -> A s)
(\ra -> (s : psi) -> A s [ psi s /\ phi s |-> ra s ])
- (restrict I psi phi A a_psi)
- (restrict I phi psi A a_phi)
- (restricts-path r I psi phi A a_psi a_phi e)
- (ext-of-restrict I psi phi A a_psi)
+ (restrict_psi a_psi)
+ (restrict_phi a_phi)
+ (restricts-path a_psi a_phi e)
+ (ext-of-restrict_psi a_psi)
t,
- phi t |-> ext-of-restrict I phi psi A a_phi t
+ phi t |-> ext-of-restrict_phi a_phi t
)
+
+#end construction-of-recId
```
## Gluing extension types
diff --git a/docs/docs/rzk-1/sections.md b/docs/docs/rzk-1/sections.md
new file mode 100644
index 000000000..930796679
--- /dev/null
+++ b/docs/docs/rzk-1/sections.md
@@ -0,0 +1,126 @@
+# Sections and Variables
+
+Sections and variables allow to simplify definitions by factoring out common assumptions.
+
+!!! hint "Coq-style variables"
+ `rzk` implements variables similarly to
+ `Variable` command in Coq.
+ An important difference is that `rzk` does not allow definitions to use variables implicitly and adds `uses (...)` annotations to ensure such dependencies are not accidental.
+ This is, perhaps, somewhat related to this error message in Coq.
+
+This is a literate `rzk` file:
+
+```rzk
+#lang rzk-1
+```
+
+## Variables
+
+Consider the following definitions:
+
+```rzk
+#def compose₁
+ (A B C : U)
+ (g : B -> C)
+ (f : A -> B)
+ : A -> C
+ := \x -> g (f x)
+
+#def twice₁
+ (A : U)
+ (h : A -> A)
+ : A -> A
+ := \x -> h (h x)
+```
+
+Since it might be common to introduce types `A`, `B`, and `C`, we can declare these are variables:
+
+```rzk
+#variables A B C : U
+
+#def compose₂
+ (g : B -> C)
+ (f : A -> B)
+ : A -> C
+ := \x -> g (f x)
+
+#def twice₂
+ (h : A -> A)
+ : A -> A
+ := \x -> h (h x)
+```
+
+The `#variables` command here introduces assumptions, which can be used in the following definitions. Importantly, after checking a file (module), all definitions will have the assumptions used (explicitly or implicitly) attached as bound variables.
+
+### Implicitly used variables (and `uses`)
+
+We can try going even further and declare variables `f`, `g`, `h`, and `x`:
+
+```rzk
+#variable g : B -> C
+#variable f : A -> B
+#variable h : A -> A
+#variable x : A
+
+-- #def bad-compose₃ : C := g (f x) -- ERROR: implicit assumptions A and B
+#def twice₃ : A := h (h x)
+```
+
+Note how this definition of `bad-compose₃` is implicitly dependent on the types `A` and `B`, which is promptly noted by `rzk`, which issues an error (if we uncomment the corresponding line):
+
+```text
+implicit assumption
+ B : U
+used in definition of
+ bad-compose₃
+```
+
+To let `rzk` know that this is not accidental, we can add `uses (...)` annotation to specify a list of variables implicitly used in the definition:
+
+```rzk
+#def compose₃ uses (A B) : C := g (f x)
+```
+
+## Sections
+
+To introduce assumption variables temporarily inside of one file, you can use sections:
+
+```rzk
+#section example-1
+
+#variables X Y Z : U
+#variable k : X -> X
+#variable x' : X
+
+#def compose₄
+ (g : Y -> Z)
+ (f : X -> Y)
+ : X -> Z
+ := \x -> g (f x)
+
+#def twice₄ : X := k (k x')
+
+#end example-1
+```
+
+Now, once outside of the section, `compose₄` and `twice₄` obtain corresponding parameters
+(only those used, explicitly or implicitly):
+
+```rzk
+-- compose₄ : (X : U) -> (Y : U) -> (Z : U) -> (g : Y -> Z) -> (f : X -> Y) -> (X -> Z)
+-- twice₄ : (X : U) -> (k : X -> X) -> (x' : X) -> X
+
+#def twice₅
+ (T : U)
+ (e : T -> T)
+ : T -> T
+ := compose₄ T T T e e
+
+#def identity
+ (T : U)
+ : T -> T
+ := twice₄ T (\t -> t)
+```
+
+!!! warning "Lack of indentation"
+ `rzk` currently does not support indentation, so all definitions and commands inside a section (including nested sections) have to start at the beginning of a line.
\ No newline at end of file
diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml
index aa042002e..98c413bb0 100644
--- a/docs/mkdocs.yml
+++ b/docs/mkdocs.yml
@@ -4,6 +4,7 @@ nav:
- About: index.md
- rzk-1 Language:
- Introduction: rzk-1/introduction.md
+ - Sections and Variables: rzk-1/sections.md
- Rendering Diagrams: rzk-1/render.md
- Weak tope disjunction elimination: rzk-1/recId.md
- Tools:
diff --git a/flake.lock b/flake.lock
new file mode 100644
index 000000000..2170d390e
--- /dev/null
+++ b/flake.lock
@@ -0,0 +1,79 @@
+{
+ "nodes": {
+ "flake-utils": {
+ "inputs": {
+ "systems": "systems"
+ },
+ "locked": {
+ "lastModified": 1681202837,
+ "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "cfacdce06f30d2b68473a46042957675eebb3401",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "miso": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1675453995,
+ "narHash": "sha256-rvNgA1ptB8UTBZMn1pjk6nN0CSNekF7oKc00SlpHX4I=",
+ "owner": "dmjio",
+ "repo": "miso",
+ "rev": "5c66ed20818ce4aff81aaefbd5789007717923eb",
+ "type": "github"
+ },
+ "original": {
+ "owner": "dmjio",
+ "repo": "miso",
+ "rev": "5c66ed20818ce4aff81aaefbd5789007717923eb",
+ "type": "github"
+ }
+ },
+ "nixpkgs": {
+ "locked": {
+ "lastModified": 1684242266,
+ "narHash": "sha256-uaCQ2k1bmojHKjWQngvnnnxQJMY8zi1zq527HdWgQf8=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "7e0743a5aea1dc755d4b761daf75b20aa486fdad",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixpkgs-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "root": {
+ "inputs": {
+ "flake-utils": "flake-utils",
+ "miso": "miso",
+ "nixpkgs": "nixpkgs"
+ }
+ },
+ "systems": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ }
+ },
+ "root": "root",
+ "version": 7
+}
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 000000000..89ae38c2e
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,107 @@
+{
+ inputs = {
+ flake-utils.url = "github:numtide/flake-utils";
+ nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
+ miso = {
+ url = "github:dmjio/miso/5c66ed20818ce4aff81aaefbd5789007717923eb";
+ flake = false;
+ };
+ };
+ outputs = inputs: inputs.flake-utils.lib.eachDefaultSystem (system:
+ let
+ pkgs = inputs.nixpkgs.legacyPackages.${system};
+
+ rzk = "rzk";
+ try-rzk = "try-rzk";
+ ghcVersion = "ghc927";
+
+ # select a Haskell package set for a specified GHC version
+ hpkgs = pkgs.haskell.packages.${ghcVersion};
+
+ inherit (pkgs.haskell.lib) overrideCabal;
+
+ # Provide overrides
+ # https://nixos.wiki/wiki/Haskell#Overrides
+ # An override should include a local package into the Haskell package set
+ override = {
+ overrides = self: super: {
+ ${rzk} = overrideCabal (self.callCabal2nix rzk ./${rzk} { }) (x: {
+ librarySystemDepends = [ pkgs.alex pkgs.happy ] ++ (x.librarySystemDepends or [ ]);
+ });
+ ${try-rzk} = overrideCabal (self.callCabal2nix try-rzk ./${try-rzk} { }) (x: {
+ executableSystemDepends = [ self.ghcjs-prim self.ghcjs-base ] ++ (x.executableSystemDepends or [ ]);
+ });
+ };
+ };
+ hpkgs_ = hpkgs.override override;
+
+ # Get all dependencies of local Haskell packages excluding these local packages
+ # This approach is useful for cases when a local package A depends on a local package B
+ # In this case, package B won't be built by Nix as a dependency of A
+ getHaskellPackagesDeps = someHaskellPackages: let l = pkgs.lib.lists; in (l.subtractLists someHaskellPackages (l.concatLists (map (package: l.concatLists (__attrValues package.getCabalDeps)) someHaskellPackages)));
+
+ # build a GHC with the dependencies of local Haskell packages
+ ghcForPackages = localHaskellPackageNames: hpkgs_.ghcWithPackages (ps: (getHaskellPackagesDeps (map (x: ps.${x}) localHaskellPackageNames) ++ [ ps.haskell-language-server ])); # Why provide HLS here - https://github.com/NixOS/nixpkgs/issues/225895#issuecomment-1509991742
+
+ # GHC with dependencies of local Haskell packages
+ ghc = ghcForPackages [ rzk try-rzk ];
+
+ # tools that should be available in a development shell
+ tools = [
+ pkgs.cabal-install
+ pkgs.hpack
+ # haskell-language-server is already available as a GHC package
+ ghc
+ ];
+
+ misoNix = (import "${inputs.miso.outPath}/default.nix" { inherit system; });
+ pkgsMiso = misoNix.pkgs;
+
+ # TODO add jsaddle version of the app
+ # https://github.com/dmjio/miso/tree/master/sample-app-jsaddle
+ # try-rzk-dev =
+ # let
+ # pkgsDev = pkgsMiso.haskell.packages.ghc865;
+ # rzk = pkgsDev.callPackage rzk/rzk.nix { inherit (pkgs) hpack; };
+ # in
+ # pkgsDev.callCabal2nix try-rzk ./${try-rzk} { miso = misoNix.miso-jsaddle; rzk = rzk; };
+
+ try-rzk-exe =
+ let
+ pkgsRelease = pkgsMiso.haskell.packages.ghcjs;
+ rzk = pkgsRelease.callPackage rzk/rzk.nix { inherit (pkgs) hpack; };
+ in
+ pkgsRelease.callCabal2nix try-rzk ./${try-rzk} { rzk = rzk; };
+
+ packages = {
+ rzk = hpkgs_.${rzk};
+ try-rzk = try-rzk-exe;
+ };
+
+ devShells = {
+ default = pkgs.mkShell {
+ shellHook = "export LANG=C.utf8";
+ buildInputs = tools;
+ };
+ ghcjs = try-rzk-exe.env.overrideAttrs (old: {
+ buildInputs = old.buildInputs ++ [ pkgs.cabal-install pkgs.hpack ];
+ });
+ };
+ in
+ {
+ inherit packages devShells;
+ });
+
+ nixConfig = {
+ extra-substituters = [
+ "https://miso-haskell.cachix.org"
+ "https://nix-community.cachix.org"
+ "https://cache.iog.io"
+ ];
+ extra-trusted-public-keys = [
+ "miso-haskell.cachix.org-1:6N2DooyFlZOHUfJtAx1Q09H0P5XXYzoxxQYiwn6W1e8="
+ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
+ "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
+ ];
+ };
+}
diff --git a/rzk/ChangeLog.md b/rzk/ChangeLog.md
index 1f5efdf65..49e06a096 100644
--- a/rzk/ChangeLog.md
+++ b/rzk/ChangeLog.md
@@ -6,6 +6,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to the
[Haskell Package Versioning Policy](https://pvp.haskell.org/).
+## v0.4.0 — 2022-05-18
+
+This version introduces sections and variables. The feature is similar to `Variable` command in Coq. An important difference, however, is that `rzk` does not allow definitions to use variables implicitly and adds `uses (...)` annotations to ensure such dependencies are not accidental.
+
+- Variables and sections (Coq-style) (see [#38]( https://github.com/fizruk/rzk/pull/38 ));
+
+Minor improvements:
+
+- Add flake, set up nix and cabal builds, cache nix store on CI (see [#39]( https://github.com/fizruk/rzk/pull/39 ));
+- Apply stylish-haskell (see [7d42ef62]( https://github.com/fizruk/rzk/commit/7d42ef62 ));
+
## v0.3.0 — 2022-04-28
This version introduces an experimental feature for generating visualisations for simplicial terms in SVG.
diff --git a/rzk/package.yaml b/rzk/package.yaml
index 8ff8fef17..399e6c6b3 100644
--- a/rzk/package.yaml
+++ b/rzk/package.yaml
@@ -1,5 +1,5 @@
name: rzk
-version: 0.3.0
+version: 0.4.0
github: "fizruk/rzk"
license: BSD3
author: "Nikolai Kudasov"
diff --git a/rzk/rzk.cabal b/rzk/rzk.cabal
index 1f2905484..7ab52c146 100644
--- a/rzk/rzk.cabal
+++ b/rzk/rzk.cabal
@@ -1,13 +1,13 @@
cabal-version: 1.12
--- This file has been generated from package.yaml by hpack version 0.35.1.
+-- This file has been generated from package.yaml by hpack version 0.35.2.
--
-- see: https://github.com/sol/hpack
--
-- hash: 7855530fcdfd2a28c4ea3654677ed2d18f83d419f5d1c173f4bb44a915464c06
name: rzk
-version: 0.3.0
+version: 0.4.0
synopsis: An experimental proof assistant for synthetic ∞-categories
description: Please see the README on GitHub at
category: Dependent Types
diff --git a/rzk/rzk.nix b/rzk/rzk.nix
index 60d9d4513..201417ebe 100644
--- a/rzk/rzk.nix
+++ b/rzk/rzk.nix
@@ -1,5 +1,5 @@
{ mkDerivation, array, base, bifunctors, hpack, lib, mtl
-, template-haskell
+, template-haskell, alex, happy
}:
mkDerivation {
pname = "rzk";
@@ -8,7 +8,7 @@ mkDerivation {
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
- array base bifunctors mtl template-haskell
+ array base bifunctors mtl template-haskell alex happy
];
libraryToolDepends = [ hpack ];
executableHaskellDepends = [
diff --git a/rzk/src/Free/Scoped.hs b/rzk/src/Free/Scoped.hs
index e7ce15186..ee456e662 100644
--- a/rzk/src/Free/Scoped.hs
+++ b/rzk/src/Free/Scoped.hs
@@ -1,23 +1,23 @@
-{-# LANGUAGE DeriveFoldable #-}
-{-# LANGUAGE StandaloneDeriving #-}
-{-# LANGUAGE QuantifiedConstraints #-}
-{-# LANGUAGE UndecidableInstances #-}
-{-# LANGUAGE DeriveFunctor #-}
-{-# LANGUAGE DeriveGeneric #-}
-{-# LANGUAGE DeriveTraversable #-}
-{-# LANGUAGE LambdaCase #-}
-{-# LANGUAGE PatternSynonyms #-}
-{-# LANGUAGE RankNTypes #-}
-{-# LANGUAGE TemplateHaskell #-}
-{-# LANGUAGE TypeOperators #-}
+{-# LANGUAGE DeriveFoldable #-}
+{-# LANGUAGE DeriveFunctor #-}
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DeriveTraversable #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE QuantifiedConstraints #-}
+{-# LANGUAGE RankNTypes #-}
+{-# LANGUAGE StandaloneDeriving #-}
+{-# LANGUAGE TemplateHaskell #-}
+{-# LANGUAGE TypeOperators #-}
+{-# LANGUAGE UndecidableInstances #-}
module Free.Scoped where
import Control.Monad (ap)
-import Data.Function (on)
import Data.Bifoldable
import Data.Bifunctor
import Data.Bifunctor.TH
import Data.Bitraversable
+import Data.Function (on)
import qualified GHC.Generics as GHC
data Inc var = Z | S var
@@ -31,6 +31,12 @@ instantiate e f = f >>= g
g Z = e
g (S x) = return x
+abstract :: (Eq a, Functor f) => a -> f a -> f (Inc a)
+abstract x e = k <$> e
+ where
+ k y | x == y = Z
+ | otherwise = S y
+
data FS t a
= Pure a
| Free (t (Scope (FS t) a) (FS t a))
@@ -78,7 +84,7 @@ deriveBifoldable ''Empty
deriveBitraversable ''Empty
data AnnF ann term scope typedTerm = AnnF
- { annF :: ann typedTerm
+ { annF :: ann typedTerm
, termF :: term scope typedTerm
} deriving (Show, Functor)
@@ -113,5 +119,5 @@ pattern ExtE t = Free (InR t)
substitute :: Bifunctor t => FS t a -> Scope (FS t) a -> FS t a
substitute t = (>>= f)
where
- f Z = t
+ f Z = t
f (S y) = Pure y
diff --git a/rzk/src/Free/Scoped/TH.hs b/rzk/src/Free/Scoped/TH.hs
index ba7eacb75..563bbaa20 100644
--- a/rzk/src/Free/Scoped/TH.hs
+++ b/rzk/src/Free/Scoped/TH.hs
@@ -1,11 +1,11 @@
-{-# LANGUAGE CPP #-}
+{-# LANGUAGE CPP #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE TemplateHaskell #-}
module Free.Scoped.TH where
-import Control.Monad (replicateM)
-import Language.Haskell.TH
+import Control.Monad (replicateM)
import Free.Scoped
+import Language.Haskell.TH
mkConP :: Name -> [Pat] -> Pat
#if __GLASGOW_HASKELL__ >= 902
diff --git a/rzk/src/Language/Rzk/Free/Syntax.hs b/rzk/src/Language/Rzk/Free/Syntax.hs
index 7afa15a2b..9770eb1f2 100644
--- a/rzk/src/Language/Rzk/Free/Syntax.hs
+++ b/rzk/src/Language/Rzk/Free/Syntax.hs
@@ -1,23 +1,23 @@
{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures -fno-warn-missing-signatures -fno-warn-type-defaults #-}
-{-# LANGUAGE TemplateHaskell #-}
-{-# LANGUAGE LambdaCase #-}
-{-# LANGUAGE DeriveFunctor #-}
-{-# LANGUAGE DeriveFoldable #-}
-{-# LANGUAGE DeriveTraversable #-}
-{-# LANGUAGE RecordWildCards #-}
-{-# LANGUAGE PatternSynonyms #-}
-{-# LANGUAGE TypeSynonymInstances #-}
+{-# LANGUAGE DeriveFoldable #-}
+{-# LANGUAGE DeriveFunctor #-}
+{-# LANGUAGE DeriveTraversable #-}
{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TemplateHaskell #-}
+{-# LANGUAGE TypeSynonymInstances #-}
module Language.Rzk.Free.Syntax where
-import Data.String
-import Data.Char (chr, ord)
-import Data.Coerce
-import Data.List ((\\))
-import Data.Bifunctor.TH
+import Data.Bifunctor.TH
+import Data.Char (chr, ord)
+import Data.Coerce
+import Data.List (nub, (\\))
+import Data.String
-import Free.Scoped
-import Free.Scoped.TH
+import Free.Scoped
+import Free.Scoped.TH
import qualified Language.Rzk.Syntax as Rzk
@@ -94,6 +94,26 @@ type TermT' = TermT Rzk.VarIdent
freeVars :: Term a -> [a]
freeVars = foldMap pure
+-- FIXME: should be cached in TypeInfo?
+partialFreeVarsT :: TermT a -> [a]
+partialFreeVarsT (Pure x) = [x]
+partialFreeVarsT UniverseT{} = []
+partialFreeVarsT term@(Free (AnnF info _)) =
+ -- FIXME: check correctness (is it ok to use untyped here?)
+ foldMap (freeVars . untyped) [term, infoType info]
+
+-- FIXME: should be cached in TypeInfo?
+freeVarsT :: Eq a => (a -> TermT a) -> TermT a -> [a]
+freeVarsT typeOfVar t = go [] (partialFreeVarsT t)
+ where
+ go vars latest
+ | null new = vars
+ | otherwise =
+ go (new <> vars)
+ (foldMap (partialFreeVarsT . typeOfVar) new)
+ where
+ new = nub latest \\ vars
+
toTerm' :: Rzk.Term -> Term'
toTerm' = toTerm Pure
@@ -103,7 +123,7 @@ toScope x bvars = toTerm $ \z -> if x == z then Pure Z else S <$> bvars z
toScopePattern :: Rzk.Pattern -> (Rzk.VarIdent -> Term a) -> Rzk.Term -> Scope Term a
toScopePattern pat bvars = toTerm $ \z ->
case lookup z (bindings pat (Pure Z)) of
- Just t -> t
+ Just t -> t
Nothing -> S <$> bvars z
where
bindings (Rzk.PatternWildcard _loc) _ = []
@@ -176,7 +196,7 @@ toTerm bvars = go
patternVar (Rzk.PatternVar _loc x) = Just x
- patternVar _ = Nothing
+ patternVar _ = Nothing
fromTerm' :: Term' -> Rzk.Term
fromTerm' t = fromTermWith' vars (defaultVarIdents \\ vars) t
@@ -185,7 +205,7 @@ fromTerm' t = fromTermWith' vars (defaultVarIdents \\ vars) t
fromScope' :: Rzk.VarIdent -> [Rzk.VarIdent] -> [Rzk.VarIdent] -> Scope Term Rzk.VarIdent -> Rzk.Term
fromScope' x used xs = fromTermWith' (x : used) xs . (>>= f)
where
- f Z = Pure x
+ f Z = Pure x
f (S z) = Pure z
fromTermWith' :: [Rzk.VarIdent] -> [Rzk.VarIdent] -> Term' -> Rzk.Term
@@ -194,7 +214,7 @@ fromTermWith' used vars = go
withFresh Nothing f =
case vars of
x:xs -> f (x, xs)
- _ -> error "not enough fresh variables!"
+ _ -> error "not enough fresh variables!"
withFresh (Just z) f = f (z', filter (/= z') vars) -- FIXME: very inefficient filter
where
z' = refreshVar used z
@@ -290,7 +310,7 @@ instance IsString Term' where
fromString = toTerm' . fromRight . Rzk.parseTerm
where
fromRight (Left err) = error ("Parse error: " <> err)
- fromRight (Right t) = t
+ fromRight (Right t) = t
instance Show TermT' where
show var@Pure{} = Rzk.printTree (fromTerm' (untyped var))
diff --git a/rzk/src/Language/Rzk/Syntax.cf b/rzk/src/Language/Rzk/Syntax.cf
index bff6104bd..d4a5bd945 100644
--- a/rzk/src/Language/Rzk/Syntax.cf
+++ b/rzk/src/Language/Rzk/Syntax.cf
@@ -9,27 +9,48 @@ token HoleIdent '?' ;
Module. Module ::= LanguageDecl [Command] ;
+separator nonempty VarIdent "" ;
+
LanguageDecl. LanguageDecl ::= "#lang" Language ";" ;
Rzk1. Language ::= "rzk-1" ;
-CommandSetOption. Command ::= "#set-option" String "=" String ";" ;
-CommandUnsetOption. Command ::= "#unset-option" String ";" ;
-CommandCheck. Command ::= "#check" Term ":" Term ";" ;
-CommandCompute. Command ::= "#compute" Term ";" ;
-CommandComputeWHNF. Command ::= "#compute-whnf" Term ";" ;
-CommandComputeNF. Command ::= "#compute-nf" Term ";" ;
-CommandPostulate. Command ::= "#postulate" VarIdent [Param] ":" Term ";" ;
-commandPostulateNoParams. Command ::= "#postulate" VarIdent ":" Term ";" ;
-define commandPostulateNoParams x ty = CommandPostulate x [] ty ;
-CommandDefine. Command ::= "#define" VarIdent [Param] ":" Term ":=" Term ";" ;
-commandDefineNoParams. Command ::= "#define" VarIdent ":" Term ":=" Term ";" ;
-define commandDefineNoParams x ty term = CommandDefine x [] ty term ;
-commandDef. Command ::= "#def" VarIdent [Param] ":" Term ":=" Term ";" ;
-define commandDef x params ty term = CommandDefine x params ty term ;
-commandDefNoParams. Command ::= "#def" VarIdent ":" Term ":=" Term ";" ;
-define commandDefNoParams x ty term = CommandDefine x [] ty term ;
-separator Command "" ;
+CommandSetOption. Command ::= "#set-option" String "=" String ;
+CommandUnsetOption. Command ::= "#unset-option" String ;
+
+CommandCheck. Command ::= "#check" Term ":" Term ;
+
+CommandCompute. Command ::= "#compute" Term ;
+CommandComputeWHNF. Command ::= "#compute-whnf" Term ;
+CommandComputeNF. Command ::= "#compute-nf" Term ;
+
+CommandPostulate. Command ::= "#postulate" VarIdent DeclUsedVars [Param] ":" Term ;
+commandPostulateNoParams. Command ::= "#postulate" VarIdent DeclUsedVars ":" Term ;
+define commandPostulateNoParams x vars ty = CommandPostulate x vars [] ty ;
+
+CommandAssume. Command ::= "#assume" [VarIdent] ":" Term ;
+commandVariable. Command ::= "#variable" VarIdent ":" Term ;
+define commandVariable name term = CommandAssume [name] term ;
+commandVariables. Command ::= "#variables" [VarIdent] ":" Term ;
+define commandVariables names term = CommandAssume names term ;
+
+CommandSection. Command ::= "#section" SectionName ";" [Command] "#end" SectionName ;
+
+CommandDefine. Command ::= "#define" VarIdent DeclUsedVars [Param] ":" Term ":=" Term ;
+commandDefineNoParams. Command ::= "#define" VarIdent DeclUsedVars ":" Term ":=" Term ;
+define commandDefineNoParams x vars ty term = CommandDefine x vars [] ty term ;
+commandDef. Command ::= "#def" VarIdent DeclUsedVars [Param] ":" Term ":=" Term ;
+define commandDef x vars params ty term = CommandDefine x vars params ty term ;
+commandDefNoParams. Command ::= "#def" VarIdent DeclUsedVars ":" Term ":=" Term ;
+define commandDefNoParams x vars ty term = CommandDefine x vars [] ty term ;
+terminator Command ";" ;
+
+DeclUsedVars. DeclUsedVars ::= "uses" "(" [VarIdent] ")" ;
+noDeclUsedVars. DeclUsedVars ::= ;
+define noDeclUsedVars = DeclUsedVars [] ;
+
+NoSectionName. SectionName ::= ;
+SomeSectionName. SectionName ::= VarIdent ;
-- Patterns
PatternWildcard. Pattern ::= "_" ;
@@ -53,8 +74,6 @@ ParamVarShape. ParamDecl ::= "{" "(" Pattern ":" Term ")" "|" Term "}" ;
paramVarShape. ParamDecl ::= "{" Pattern ":" Term "|" Term "}" ;
define paramVarShape pat cube tope = ParamVarShape pat cube tope ;
--- (x, y :) -> z
-
Restriction. Restriction ::= Term "|->" Term ;
separator nonempty Restriction "," ;
diff --git a/rzk/src/Language/Rzk/Syntax.hs b/rzk/src/Language/Rzk/Syntax.hs
index dd0a647b9..723bf992c 100644
--- a/rzk/src/Language/Rzk/Syntax.hs
+++ b/rzk/src/Language/Rzk/Syntax.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
module Language.Rzk.Syntax (
module Language.Rzk.Syntax.Abs,
@@ -12,15 +12,15 @@ module Language.Rzk.Syntax (
extractMarkdownCodeBlocks,
) where
-import qualified Data.List as List
-import Data.Char (isSpace)
+import Data.Char (isSpace)
+import qualified Data.List as List
-import Language.Rzk.Syntax.Abs
-import Language.Rzk.Syntax.Print (printTree)
+import Language.Rzk.Syntax.Abs
+import Language.Rzk.Syntax.Print (printTree)
-import Language.Rzk.Syntax.Lex (tokens)
-import Language.Rzk.Syntax.Par (pModule, pTerm)
-import Language.Rzk.Syntax.Layout (resolveLayout)
+import Language.Rzk.Syntax.Layout (resolveLayout)
+import Language.Rzk.Syntax.Lex (tokens)
+import Language.Rzk.Syntax.Par (pModule, pTerm)
parseModule :: String -> Either String Module
parseModule = pModule . resolveLayout True . tokens . tryExtractMarkdownCodeBlocks "rzk"
diff --git a/rzk/src/Language/Rzk/Syntax/Abs.hs b/rzk/src/Language/Rzk/Syntax/Abs.hs
index c72fadd34..358c74a7f 100644
--- a/rzk/src/Language/Rzk/Syntax/Abs.hs
+++ b/rzk/src/Language/Rzk/Syntax/Abs.hs
@@ -43,8 +43,18 @@ data Command' a
| CommandCompute a (Term' a)
| CommandComputeWHNF a (Term' a)
| CommandComputeNF a (Term' a)
- | CommandPostulate a VarIdent [Param' a] (Term' a)
- | CommandDefine a VarIdent [Param' a] (Term' a) (Term' a)
+ | CommandPostulate a VarIdent (DeclUsedVars' a) [Param' a] (Term' a)
+ | CommandAssume a [VarIdent] (Term' a)
+ | CommandSection a (SectionName' a) [Command' a] (SectionName' a)
+ | CommandDefine a VarIdent (DeclUsedVars' a) [Param' a] (Term' a) (Term' a)
+ deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Typeable, C.Generic)
+
+type DeclUsedVars = DeclUsedVars' BNFC'Position
+data DeclUsedVars' a = DeclUsedVars a [VarIdent]
+ deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Typeable, C.Generic)
+
+type SectionName = SectionName' BNFC'Position
+data SectionName' a = NoSectionName a | SomeSectionName a VarIdent
deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Typeable, C.Generic)
type Pattern = Pattern' BNFC'Position
@@ -111,17 +121,26 @@ data Term' a
| TypeAsc a (Term' a) (Term' a)
deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Typeable, C.Generic)
-commandPostulateNoParams :: a -> VarIdent -> Term' a -> Command' a
-commandPostulateNoParams = \ _a x ty -> CommandPostulate _a x [] ty
+commandPostulateNoParams :: a -> VarIdent -> DeclUsedVars' a -> Term' a -> Command' a
+commandPostulateNoParams = \ _a x vars ty -> CommandPostulate _a x vars [] ty
+
+commandVariable :: a -> VarIdent -> Term' a -> Command' a
+commandVariable = \ _a name term -> CommandAssume _a [name] term
+
+commandVariables :: a -> [VarIdent] -> Term' a -> Command' a
+commandVariables = \ _a names term -> CommandAssume _a names term
-commandDefineNoParams :: a -> VarIdent -> Term' a -> Term' a -> Command' a
-commandDefineNoParams = \ _a x ty term -> CommandDefine _a x [] ty term
+commandDefineNoParams :: a -> VarIdent -> DeclUsedVars' a -> Term' a -> Term' a -> Command' a
+commandDefineNoParams = \ _a x vars ty term -> CommandDefine _a x vars [] ty term
-commandDef :: a -> VarIdent -> [Param' a] -> Term' a -> Term' a -> Command' a
-commandDef = \ _a x params ty term -> CommandDefine _a x params ty term
+commandDef :: a -> VarIdent -> DeclUsedVars' a -> [Param' a] -> Term' a -> Term' a -> Command' a
+commandDef = \ _a x vars params ty term -> CommandDefine _a x vars params ty term
-commandDefNoParams :: a -> VarIdent -> Term' a -> Term' a -> Command' a
-commandDefNoParams = \ _a x ty term -> CommandDefine _a x [] ty term
+commandDefNoParams :: a -> VarIdent -> DeclUsedVars' a -> Term' a -> Term' a -> Command' a
+commandDefNoParams = \ _a x vars ty term -> CommandDefine _a x vars [] ty term
+
+noDeclUsedVars :: a -> DeclUsedVars' a
+noDeclUsedVars = \ _a -> DeclUsedVars _a []
paramVarType :: a -> VarIdent -> Term' a -> ParamDecl' a
paramVarType = \ _a var cube -> ParamVarType _a (PatternVar _a var) cube
@@ -185,8 +204,19 @@ instance HasPosition Command where
CommandCompute p _ -> p
CommandComputeWHNF p _ -> p
CommandComputeNF p _ -> p
- CommandPostulate p _ _ _ -> p
- CommandDefine p _ _ _ _ -> p
+ CommandPostulate p _ _ _ _ -> p
+ CommandAssume p _ _ -> p
+ CommandSection p _ _ _ -> p
+ CommandDefine p _ _ _ _ _ -> p
+
+instance HasPosition DeclUsedVars where
+ hasPosition = \case
+ DeclUsedVars p _ -> p
+
+instance HasPosition SectionName where
+ hasPosition = \case
+ NoSectionName p -> p
+ SomeSectionName p _ -> p
instance HasPosition Pattern where
hasPosition = \case
diff --git a/rzk/src/Language/Rzk/Syntax/Doc.txt b/rzk/src/Language/Rzk/Syntax/Doc.txt
index 324ca236e..2beffebc9 100644
--- a/rzk/src/Language/Rzk/Syntax/Doc.txt
+++ b/rzk/src/Language/Rzk/Syntax/Doc.txt
@@ -35,20 +35,21 @@ The reserved words used in Syntax are the following:
| ``BOT`` | ``CUBE`` | ``Sigma`` | ``TOP``
| ``TOPE`` | ``U`` | ``as`` | ``first``
| ``idJ`` | ``recBOT`` | ``recOR`` | ``refl``
- | ``second`` | ``Σ`` | |
+ | ``second`` | ``uses`` | ``Σ`` |
The symbols used in Syntax are the following:
| #lang | ; | rzk-1 | #set-option
| = | #unset-option | #check | :
| #compute | #compute-whnf | #compute-nf | #postulate
- | #define | := | #def | _
- | ( | , | ) | {
- | | | } | |-> | 1
- | *_1 | 2 | 0_2 | 1_2
- | * | === | <= | /\
- | \/ | -> | =_{ | [
- | ] | < | > | \
- | refl_{ | → | ∑ |
+ | #assume | #variable | #variables | #section
+ | #end | #define | := | #def
+ | ( | ) | _ | ,
+ | { | | | } | |->
+ | 1 | *_1 | 2 | 0_2
+ | 1_2 | * | === | <=
+ | /\ | \/ | -> | =_{
+ | [ | ] | < | >
+ | \ | refl_{ | → | ∑
===Comments===
Single-line comments begin with --.Multiple-line comments are enclosed with {- and -}.
@@ -60,22 +61,32 @@ and **eps** (empty rule) belong to the BNF notation.
All other symbols are terminals.
| //Module// | -> | //LanguageDecl// //[Command]//
+ | //[VarIdent]// | -> | //VarIdent//
+ | | **|** | //VarIdent// //[VarIdent]//
| //LanguageDecl// | -> | ``#lang`` //Language// ``;``
| //Language// | -> | ``rzk-1``
- | //Command// | -> | ``#set-option`` //String// ``=`` //String// ``;``
- | | **|** | ``#unset-option`` //String// ``;``
- | | **|** | ``#check`` //Term// ``:`` //Term// ``;``
- | | **|** | ``#compute`` //Term// ``;``
- | | **|** | ``#compute-whnf`` //Term// ``;``
- | | **|** | ``#compute-nf`` //Term// ``;``
- | | **|** | ``#postulate`` //VarIdent// //[Param]// ``:`` //Term// ``;``
- | | **|** | ``#postulate`` //VarIdent// ``:`` //Term// ``;``
- | | **|** | ``#define`` //VarIdent// //[Param]// ``:`` //Term// ``:=`` //Term// ``;``
- | | **|** | ``#define`` //VarIdent// ``:`` //Term// ``:=`` //Term// ``;``
- | | **|** | ``#def`` //VarIdent// //[Param]// ``:`` //Term// ``:=`` //Term// ``;``
- | | **|** | ``#def`` //VarIdent// ``:`` //Term// ``:=`` //Term// ``;``
+ | //Command// | -> | ``#set-option`` //String// ``=`` //String//
+ | | **|** | ``#unset-option`` //String//
+ | | **|** | ``#check`` //Term// ``:`` //Term//
+ | | **|** | ``#compute`` //Term//
+ | | **|** | ``#compute-whnf`` //Term//
+ | | **|** | ``#compute-nf`` //Term//
+ | | **|** | ``#postulate`` //VarIdent// //DeclUsedVars// //[Param]// ``:`` //Term//
+ | | **|** | ``#postulate`` //VarIdent// //DeclUsedVars// ``:`` //Term//
+ | | **|** | ``#assume`` //[VarIdent]// ``:`` //Term//
+ | | **|** | ``#variable`` //VarIdent// ``:`` //Term//
+ | | **|** | ``#variables`` //[VarIdent]// ``:`` //Term//
+ | | **|** | ``#section`` //SectionName// ``;`` //[Command]// ``#end`` //SectionName//
+ | | **|** | ``#define`` //VarIdent// //DeclUsedVars// //[Param]// ``:`` //Term// ``:=`` //Term//
+ | | **|** | ``#define`` //VarIdent// //DeclUsedVars// ``:`` //Term// ``:=`` //Term//
+ | | **|** | ``#def`` //VarIdent// //DeclUsedVars// //[Param]// ``:`` //Term// ``:=`` //Term//
+ | | **|** | ``#def`` //VarIdent// //DeclUsedVars// ``:`` //Term// ``:=`` //Term//
| //[Command]// | -> | **eps**
- | | **|** | //Command// //[Command]//
+ | | **|** | //Command// ``;`` //[Command]//
+ | //DeclUsedVars// | -> | ``uses`` ``(`` //[VarIdent]// ``)``
+ | | **|** | **eps**
+ | //SectionName// | -> | **eps**
+ | | **|** | //VarIdent//
| //Pattern// | -> | ``_``
| | **|** | //VarIdent//
| | **|** | ``(`` //Pattern// ``,`` //Pattern// ``)``
diff --git a/rzk/src/Language/Rzk/Syntax/Layout.hs b/rzk/src/Language/Rzk/Syntax/Layout.hs
index 9f74dd78a..956008d03 100644
--- a/rzk/src/Language/Rzk/Syntax/Layout.hs
+++ b/rzk/src/Language/Rzk/Syntax/Layout.hs
@@ -37,16 +37,16 @@ layoutStopWords = []
layoutOpen, layoutClose, layoutSep :: [TokSymbol]
layoutOpen = List.nub $ mapMaybe (delimOpen . snd) layoutWords
layoutClose = List.nub $ mapMaybe (delimClose . snd) layoutWords
-layoutSep = List.nub $ TokSymbol ";" 24 : map (delimSep . snd) layoutWords
+layoutSep = List.nub $ TokSymbol ";" 29 : map (delimSep . snd) layoutWords
parenOpen, parenClose :: [TokSymbol]
parenOpen =
- [ TokSymbol "(" 11
- , TokSymbol "[" 37
+ [ TokSymbol "(" 16
+ , TokSymbol "[" 42
]
parenClose =
- [ TokSymbol ")" 12
- , TokSymbol "]" 40
+ [ TokSymbol ")" 17
+ , TokSymbol "]" 45
]
-- | Report an error during layout resolution.
@@ -74,7 +74,7 @@ resolveLayout topLayout =
res Nothing [if topLayout then Implicit topDelim Definitive 1 else Explicit]
where
topDelim :: LayoutDelimiters
- topDelim = LayoutDelimiters (TokSymbol ";" 24) Nothing Nothing
+ topDelim = LayoutDelimiters (TokSymbol ";" 29) Nothing Nothing
res :: Maybe Token -- ^ The previous token, if any.
-> [Block] -- ^ A stack of layout blocks.
diff --git a/rzk/src/Language/Rzk/Syntax/Lex.hs b/rzk/src/Language/Rzk/Syntax/Lex.hs
index 6769ac988..6f31c0ea9 100644
--- a/rzk/src/Language/Rzk/Syntax/Lex.hs
+++ b/rzk/src/Language/Rzk/Syntax/Lex.hs
@@ -35,21 +35,21 @@ alex_tab_size :: Int
alex_tab_size = 8
alex_base :: AlexAddr
alex_base = AlexA#
- "\xf8\xff\xff\xff\xc8\xff\xff\xff\x98\xff\xff\xff\x95\xff\xff\xff\x96\xff\xff\xff\x94\xff\xff\xff\x9f\xff\xff\xff\xab\xff\xff\xff\x99\xff\xff\xff\xdf\xff\xff\xff\xef\x00\x00\x00\xd2\xff\xff\xff\xa5\xff\xff\xff\xa8\xff\xff\xff\xac\xff\xff\xff\xae\xff\xff\xff\xcc\xff\xff\xff\xaf\xff\xff\xff\xad\xff\xff\xff\xb2\xff\xff\xff\xb4\xff\xff\xff\xe6\x01\x00\x00\xdd\x02\x00\x00\xd4\x03\x00\x00\xcb\x04\x00\x00\x00\x00\x00\x00\x85\xff\xff\xff\x7a\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x05\x00\x00\x7d\x05\x00\x00\xbd\x05\x00\x00\xa6\xff\xff\xff\x91\xff\xff\xff\xb4\x06\x00\x00\xab\x07\x00\x00\x2b\x08\x00\x00\xab\x08\x00\x00\xab\x09\x00\x00\x22\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x0a\x00\x00\xd4\x0a\x00\x00\x14\x0b\x00\x00\xdb\x00\x00\x00\x94\x0b\x00\x00\x14\x0c\x00\x00\x14\x0d\x00\x00\x8a\x0d\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\xbe\xff\xff\xff\x80\x0e\x00\x00\x80\x0f\x00\x00\x81\x0f\x00\x00\x01\x10\x00\x00\xcb\x0d\x00\x00\x42\x10\x00\x00\xb3\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x11\x00\x00\x59\x12\x00\x00\x59\x13\x00\x00\x5a\x13\x00\x00\xda\x13\x00\x00\xf4\x10\x00\x00\xc8\x11\x00\x00\x4b\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x15\x00\x00\x39\x16\x00\x00\x30\x17\x00\x00\x27\x18\x00\x00\x1e\x19\x00\x00\x15\x1a\x00\x00\x3a\x00\x00\x00\x0c\x00\x00\x00\x0c\x1b\x00\x00\x03\x1c\x00\x00\xfa\x1c\x00\x00\xf1\x1d\x00\x00\xbf\xff\xff\xff\xcb\xff\xff\xff\xd4\xff\xff\xff\xc7\xff\xff\xff\xce\xff\xff\xff\xd1\xff\xff\xff\x1b\x00\x00\x00\xd5\xff\xff\xff\xe5\xff\xff\xff\xd8\xff\xff\xff\xde\xff\xff\xff\x20\x00\x00\x00\xe0\xff\xff\xff\xe8\xff\xff\xff\xe2\xff\xff\xff\xf0\xff\xff\xff\xed\xff\xff\xff\xea\xff\xff\xff\xf2\xff\xff\xff\xf3\xff\xff\xff\xf1\xff\xff\xff\xe9\xff\xff\xff\xe7\xff\xff\xff\xee\xff\xff\xff\xe8\x1e\x00\x00\x32\x00\x00\x00"#
+ "\xf8\xff\xff\xff\x93\xff\xff\xff\x92\xff\xff\xff\x9b\xff\xff\xff\x9a\xff\xff\xff\x97\xff\xff\xff\x98\xff\xff\xff\x96\xff\xff\xff\xa1\xff\xff\xff\xad\xff\xff\xff\x9c\xff\xff\xff\xaa\xff\xff\xff\xb0\xff\xff\xff\xa0\xff\xff\xff\xab\xff\xff\xff\xb2\xff\xff\xff\xb3\xff\xff\xff\xb1\xff\xff\xff\xb7\xff\xff\xff\xb5\xff\xff\xff\xa9\xff\xff\xff\xb8\xff\xff\xff\xb9\xff\xff\xff\xc8\xff\xff\xff\xaf\xff\xff\xff\xc3\xff\xff\xff\x01\x00\x00\x00\xbf\xff\xff\xff\xc0\xff\xff\xff\xc2\xff\xff\xff\xef\x00\x00\x00\xe6\x01\x00\x00\xdd\x02\x00\x00\xd4\x03\x00\x00\x00\x00\x00\x00\xa7\xff\xff\xff\x8e\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x04\x00\x00\x86\x04\x00\x00\xc6\x04\x00\x00\xba\xff\xff\xff\xa8\xff\xff\xff\xbd\x05\x00\x00\xb4\x06\x00\x00\x34\x07\x00\x00\xb4\x07\x00\x00\xb4\x08\x00\x00\x2b\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x09\x00\x00\xdd\x09\x00\x00\x1d\x0a\x00\x00\xdb\x00\x00\x00\x9d\x0a\x00\x00\x1d\x0b\x00\x00\x1d\x0c\x00\x00\x93\x0c\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\xca\xff\xff\xff\x89\x0d\x00\x00\x89\x0e\x00\x00\x8a\x0e\x00\x00\x0a\x0f\x00\x00\xd4\x0c\x00\x00\x4b\x0f\x00\x00\xbc\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8f\x10\x00\x00\x62\x11\x00\x00\x62\x12\x00\x00\x63\x12\x00\x00\xe3\x12\x00\x00\xfd\x0f\x00\x00\xd1\x10\x00\x00\x54\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x14\x00\x00\x42\x15\x00\x00\x39\x16\x00\x00\x30\x17\x00\x00\x27\x18\x00\x00\x1e\x19\x00\x00\x3a\x00\x00\x00\x0e\x00\x00\x00\x15\x1a\x00\x00\x0c\x1b\x00\x00\x03\x1c\x00\x00\xfa\x1c\x00\x00\xcb\xff\xff\xff\xd4\xff\xff\xff\xde\xff\xff\xff\xe3\xff\xff\xff\xe1\xff\xff\xff\xfb\xff\xff\xff\xe5\xff\xff\xff\xe7\xff\xff\xff\xe6\xff\xff\xff\xdf\xff\xff\xff\xe2\xff\xff\xff\xe0\xff\xff\xff\x24\x00\x00\x00\xe4\xff\xff\xff\xf4\xff\xff\xff\xe8\xff\xff\xff\xef\xff\xff\xff\xfd\xff\xff\xff\xf5\xff\xff\xff\xf1\x1d\x00\x00\x26\x00\x00\x00\x35\x00\x00\x00\xf7\xff\xff\xff\xff\xff\xff\xff\x03\x00\x00\x00\x37\x00\x00\x00\xe8\x1e\x00\x00\x2f\x00\x00\x00\x08\x00\x00\x00\xfe\xff\xff\xff\xfa\xff\xff\xff\x06\x00\x00\x00\x0a\x00\x00\x00"#
alex_table :: AlexAddr
alex_table = AlexA#
- "\x00\x00\x55\x00\x55\x00\x54\x00\x54\x00\x55\x00\x19\x00\x03\x00\x04\x00\x06\x00\x05\x00\x07\x00\x08\x00\x6b\x00\x19\x00\x19\x00\x65\x00\x6e\x00\x13\x00\x0f\x00\x19\x00\x14\x00\x5a\x00\x12\x00\x55\x00\xff\xff\x35\x00\x10\x00\x0d\x00\x5a\x00\x38\x00\x19\x00\x19\x00\x19\x00\x59\x00\x5a\x00\x19\x00\x37\x00\xff\xff\x73\x00\x24\x00\x58\x00\x5a\x00\x72\x00\x23\x00\x19\x00\x1a\x00\x11\x00\x0e\x00\x39\x00\x57\x00\x19\x00\x0b\x00\x0a\x00\x19\x00\x2a\x00\x6a\x00\x45\x00\x5b\x00\x5d\x00\x02\x00\x5c\x00\x5e\x00\x63\x00\x5f\x00\x67\x00\x19\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x60\x00\x61\x00\x62\x00\x63\x00\x0f\x00\x0c\x00\x64\x00\x19\x00\x68\x00\x69\x00\x19\x00\x19\x00\x09\x00\x19\x00\x66\x00\x5a\x00\x6b\x00\x6d\x00\x55\x00\x6c\x00\x70\x00\x6f\x00\x71\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x00\x74\x00\x19\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1b\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x21\x00\x27\x00\x1d\x00\x22\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x20\x00\x26\x00\x1c\x00\x1c\x00\x1c\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x4f\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\xff\xff\xff\xff\xff\xff\x35\x00\x18\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x21\x00\x27\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x20\x00\x26\x00\x1c\x00\x1c\x00\x1c\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x21\x00\x27\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x20\x00\x26\x00\x1c\x00\x1c\x00\x1c\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x21\x00\x27\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x20\x00\x26\x00\x1c\x00\x1c\x00\x1c\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x21\x00\x27\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x20\x00\x26\x00\x1c\x00\x1c\x00\x1c\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x21\x00\x27\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x20\x00\x26\x00\x1c\x00\x1c\x00\x1c\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x21\x00\x27\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x20\x00\x26\x00\x1c\x00\x1c\x00\x1c\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x21\x00\x27\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x20\x00\x26\x00\x1c\x00\x1c\x00\x1c\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x28\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x21\x00\x27\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x20\x00\x26\x00\x1c\x00\x1c\x00\x1c\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x34\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x34\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x30\x00\x33\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2f\x00\x32\x00\x2b\x00\x2b\x00\x2b\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x3d\x00\x3b\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x3e\x00\x3c\x00\x42\x00\x42\x00\x42\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x3a\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x40\x00\x3b\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x3d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x46\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x49\x00\x47\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4a\x00\x48\x00\x4e\x00\x4e\x00\x4e\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x46\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x49\x00\x47\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4a\x00\x48\x00\x4e\x00\x4e\x00\x4e\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x46\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x4c\x00\x47\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x5a\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x21\x00\x27\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x20\x00\x26\x00\x1c\x00\x1c\x00\x1c\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x21\x00\x27\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x20\x00\x26\x00\x1c\x00\x1c\x00\x1c\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x21\x00\x27\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x20\x00\x26\x00\x1c\x00\x1c\x00\x1c\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x21\x00\x27\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x20\x00\x26\x00\x1c\x00\x1c\x00\x1c\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x21\x00\x27\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x20\x00\x26\x00\x1c\x00\x1c\x00\x1c\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x55\x00\x55\x00\x54\x00\x54\x00\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x21\x00\x27\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x20\x00\x26\x00\x1c\x00\x1c\x00\x1c\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x5a\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x21\x00\x27\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x20\x00\x26\x00\x1c\x00\x1c\x00\x1c\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x21\x00\x27\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x20\x00\x26\x00\x1c\x00\x1c\x00\x1c\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x21\x00\x27\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x20\x00\x26\x00\x1c\x00\x1c\x00\x1c\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x21\x00\x27\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x20\x00\x26\x00\x1c\x00\x1c\x00\x1c\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x19\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x21\x00\x27\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x20\x00\x26\x00\x1c\x00\x1c\x00\x1c\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
+ "\x00\x00\x5e\x00\x5e\x00\x5d\x00\x5d\x00\x5e\x00\x02\x00\x03\x00\x0b\x00\x05\x00\x06\x00\x08\x00\x07\x00\x09\x00\x0a\x00\x22\x00\x0b\x00\x0d\x00\x0e\x00\x10\x00\x0f\x00\x11\x00\x14\x00\x15\x00\x5e\x00\xff\xff\x3e\x00\x69\x00\x64\x00\x12\x00\x17\x00\x22\x00\x22\x00\x22\x00\x62\x00\x19\x00\x22\x00\x40\x00\xff\xff\x77\x00\x2d\x00\x61\x00\x63\x00\x18\x00\x1c\x00\x6a\x00\x6d\x00\x1d\x00\x22\x00\x63\x00\x60\x00\x22\x00\x7f\x00\x7e\x00\x22\x00\x33\x00\x63\x00\x42\x00\x63\x00\x4e\x00\x70\x00\x01\x00\x22\x00\x22\x00\x2c\x00\x65\x00\x23\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x66\x00\x67\x00\x22\x00\x22\x00\x7c\x00\x6a\x00\x1b\x00\x6e\x00\x84\x00\x6f\x00\x18\x00\x22\x00\x7d\x00\x22\x00\x6c\x00\x63\x00\x70\x00\x71\x00\x5e\x00\x72\x00\x41\x00\x73\x00\x68\x00\x6b\x00\x76\x00\x22\x00\x78\x00\x75\x00\x22\x00\x0b\x00\x22\x00\x13\x00\x7a\x00\x7b\x00\x5c\x00\x04\x00\x22\x00\x1a\x00\x16\x00\x81\x00\x74\x00\x0c\x00\x80\x00\x5f\x00\x79\x00\x22\x00\x82\x00\x83\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x24\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x2a\x00\x30\x00\x26\x00\x2b\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x29\x00\x2f\x00\x25\x00\x25\x00\x25\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x3e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\xff\xff\xff\xff\xff\xff\x3e\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x2a\x00\x30\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x29\x00\x2f\x00\x25\x00\x25\x00\x25\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x2a\x00\x30\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x29\x00\x2f\x00\x25\x00\x25\x00\x25\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x2a\x00\x30\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x29\x00\x2f\x00\x25\x00\x25\x00\x25\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x2a\x00\x30\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x29\x00\x2f\x00\x25\x00\x25\x00\x25\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x2a\x00\x30\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x29\x00\x2f\x00\x25\x00\x25\x00\x25\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x2a\x00\x30\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x29\x00\x2f\x00\x25\x00\x25\x00\x25\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x31\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x2a\x00\x30\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x29\x00\x2f\x00\x25\x00\x25\x00\x25\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3c\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x3d\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3d\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x39\x00\x3c\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x38\x00\x3b\x00\x34\x00\x34\x00\x34\x00\x37\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x46\x00\x44\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x47\x00\x45\x00\x4b\x00\x4b\x00\x4b\x00\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x43\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x49\x00\x44\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x52\x00\x50\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x53\x00\x51\x00\x57\x00\x57\x00\x57\x00\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x52\x00\x50\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x53\x00\x51\x00\x57\x00\x57\x00\x57\x00\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x4f\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x50\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x53\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x63\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x2a\x00\x30\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x29\x00\x2f\x00\x25\x00\x25\x00\x25\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x63\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x2a\x00\x30\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x29\x00\x2f\x00\x25\x00\x25\x00\x25\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x59\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x2a\x00\x30\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x29\x00\x2f\x00\x25\x00\x25\x00\x25\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x2a\x00\x30\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x29\x00\x2f\x00\x25\x00\x25\x00\x25\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x2a\x00\x30\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x29\x00\x2f\x00\x25\x00\x25\x00\x25\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5e\x00\x5e\x00\x5d\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x2a\x00\x30\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x29\x00\x2f\x00\x25\x00\x25\x00\x25\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x63\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x2a\x00\x30\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x29\x00\x2f\x00\x25\x00\x25\x00\x25\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x2a\x00\x30\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x29\x00\x2f\x00\x25\x00\x25\x00\x25\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x59\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x2a\x00\x30\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x29\x00\x2f\x00\x25\x00\x25\x00\x25\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x2a\x00\x30\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x29\x00\x2f\x00\x25\x00\x25\x00\x25\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x22\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x2a\x00\x30\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x29\x00\x2f\x00\x25\x00\x25\x00\x25\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x58\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x2a\x00\x30\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x29\x00\x2f\x00\x25\x00\x25\x00\x25\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
alex_check :: AlexAddr
alex_check = AlexA#
- "\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x3e\x00\x6f\x00\x73\x00\x75\x00\x74\x00\x6c\x00\x61\x00\x74\x00\x2f\x00\x3d\x00\x68\x00\x65\x00\x65\x00\x6e\x00\x66\x00\x63\x00\x91\x00\x68\x00\x20\x00\x21\x00\x22\x00\x23\x00\x77\x00\xa3\x00\x6f\x00\x6b\x00\x28\x00\x29\x00\x2a\x00\x92\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x6d\x00\x86\x00\x6e\x00\x88\x00\x63\x00\x64\x00\x2d\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x6c\x00\x2d\x00\x6f\x00\x74\x00\x70\x00\x69\x00\x70\x00\x73\x00\x6f\x00\x75\x00\x3e\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x2d\x00\x74\x00\x65\x00\x73\x00\x6e\x00\x2d\x00\x6e\x00\x67\x00\x6e\x00\x61\x00\x65\x00\x5b\x00\x5c\x00\x5d\x00\x65\x00\x5f\x00\x6e\x00\x66\x00\x20\x00\x69\x00\x75\x00\x74\x00\x70\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x5b\x00\x5c\x00\x5d\x00\x72\x00\x5f\x00\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x2d\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x2d\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00"#
+ "\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x73\x00\x75\x00\x6d\x00\x6f\x00\x73\x00\x75\x00\x74\x00\x6c\x00\x61\x00\x65\x00\x74\x00\x61\x00\x72\x00\x61\x00\x69\x00\x62\x00\x61\x00\x6e\x00\x20\x00\x21\x00\x22\x00\x23\x00\x65\x00\x6c\x00\x65\x00\x67\x00\x28\x00\x29\x00\x2a\x00\x74\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x63\x00\x69\x00\x6e\x00\x2d\x00\x6f\x00\x6e\x00\xa3\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x91\x00\x2d\x00\x92\x00\x2d\x00\x74\x00\x73\x00\x73\x00\x6b\x00\x86\x00\x63\x00\x88\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x65\x00\x68\x00\x3e\x00\x66\x00\x65\x00\x6e\x00\x68\x00\x6f\x00\x6f\x00\x2d\x00\x70\x00\x5b\x00\x5c\x00\x5d\x00\x77\x00\x5f\x00\x74\x00\x65\x00\x20\x00\x73\x00\x61\x00\x6e\x00\x63\x00\x64\x00\x65\x00\x64\x00\x2d\x00\x6e\x00\x3e\x00\x6e\x00\x2f\x00\x6c\x00\x69\x00\x66\x00\x72\x00\x70\x00\x3d\x00\x65\x00\x73\x00\x75\x00\x75\x00\x76\x00\x74\x00\x7b\x00\x7c\x00\x7d\x00\x70\x00\x6d\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x5b\x00\x5c\x00\x5d\x00\x72\x00\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x2d\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x2d\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00"#
alex_deflt :: AlexAddr
alex_deflt = AlexA#
- "\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\x29\x00\x29\x00\x29\x00\xff\xff\x29\x00\x29\x00\x1d\x00\x1e\x00\x29\x00\x1d\x00\x1e\x00\x29\x00\x1e\x00\x29\x00\x29\x00\x29\x00\xff\xff\xff\xff\x29\x00\x29\x00\xff\xff\x2c\x00\x2d\x00\x35\x00\x2c\x00\x2d\x00\x35\x00\xff\xff\xff\xff\xff\xff\x35\x00\x35\x00\xff\xff\xff\xff\xff\xff\x39\x00\x39\x00\xff\xff\xff\xff\x39\x00\x40\x00\x41\x00\x39\x00\x40\x00\x41\x00\xff\xff\x45\x00\x45\x00\x45\x00\xff\xff\xff\xff\x45\x00\x4c\x00\x4d\x00\x45\x00\x4c\x00\x4d\x00\x29\x00\x29\x00\x29\x00\x29\x00\x29\x00\x29\x00\xff\xff\xff\xff\x29\x00\x29\x00\x29\x00\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff"#
+ "\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x32\x00\x32\x00\x32\x00\xff\xff\x32\x00\x32\x00\x26\x00\x27\x00\x32\x00\x26\x00\x27\x00\x32\x00\x27\x00\x32\x00\x32\x00\x32\x00\xff\xff\xff\xff\x32\x00\x32\x00\xff\xff\x35\x00\x36\x00\x3e\x00\x35\x00\x36\x00\x3e\x00\xff\xff\xff\xff\xff\xff\x3e\x00\x3e\x00\xff\xff\xff\xff\xff\xff\x42\x00\x42\x00\xff\xff\xff\xff\x42\x00\x49\x00\x4a\x00\x42\x00\x49\x00\x4a\x00\xff\xff\x4e\x00\x4e\x00\x4e\x00\xff\xff\xff\xff\x4e\x00\x55\x00\x56\x00\x4e\x00\x55\x00\x56\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\x32\x00\xff\xff\xff\xff\x32\x00\x32\x00\x32\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
-alex_accept = listArray (0 :: Int, 116)
+alex_accept = listArray (0 :: Int, 132)
[ AlexAccNone
, AlexAccNone
, AlexAccNone
@@ -59,9 +59,6 @@ alex_accept = listArray (0 :: Int, 116)
, AlexAccNone
, AlexAccNone
, AlexAccNone
- , AlexAcc 26
- , AlexAcc 25
- , AlexAcc 24
, AlexAccNone
, AlexAccNone
, AlexAccNone
@@ -71,11 +68,23 @@ alex_accept = listArray (0 :: Int, 116)
, AlexAccNone
, AlexAccNone
, AlexAccNone
+ , AlexAccNone
+ , AlexAccNone
+ , AlexAccNone
+ , AlexAccNone
+ , AlexAccNone
+ , AlexAccNone
+ , AlexAccNone
+ , AlexAccNone
+ , AlexAcc 27
+ , AlexAccNone
+ , AlexAccNone
+ , AlexAccNone
+ , AlexAcc 26
+ , AlexAcc 25
+ , AlexAcc 24
, AlexAcc 23
, AlexAcc 22
- , AlexAcc 21
- , AlexAcc 20
- , AlexAcc 19
, AlexAccNone
, AlexAccNone
, AlexAccNone
@@ -86,13 +95,13 @@ alex_accept = listArray (0 :: Int, 116)
, AlexAccNone
, AlexAccNone
, AlexAccNone
- , AlexAcc 18
- , AlexAcc 17
+ , AlexAcc 21
+ , AlexAcc 20
, AlexAccNone
, AlexAccNone
, AlexAccNone
- , AlexAcc 16
- , AlexAcc 15
+ , AlexAcc 19
+ , AlexAcc 18
, AlexAccNone
, AlexAccNone
, AlexAccNone
@@ -104,7 +113,7 @@ alex_accept = listArray (0 :: Int, 116)
, AlexAccNone
, AlexAccNone
, AlexAccNone
- , AlexAcc 14
+ , AlexAcc 17
, AlexAccNone
, AlexAccNone
, AlexAccSkip
@@ -129,18 +138,19 @@ alex_accept = listArray (0 :: Int, 116)
, AlexAccNone
, AlexAccNone
, AlexAccNone
+ , AlexAcc 16
+ , AlexAcc 15
+ , AlexAcc 14
, AlexAcc 13
, AlexAcc 12
+ , AlexAccSkip
+ , AlexAccSkip
, AlexAcc 11
, AlexAcc 10
, AlexAcc 9
- , AlexAccSkip
- , AlexAccSkip
, AlexAcc 8
, AlexAcc 7
, AlexAcc 6
- , AlexAcc 5
- , AlexAcc 4
, AlexAccNone
, AlexAccNone
, AlexAccNone
@@ -152,50 +162,57 @@ alex_accept = listArray (0 :: Int, 116)
, AlexAccNone
, AlexAccNone
, AlexAccNone
- , AlexAcc 3
- , AlexAccNone
, AlexAccNone
, AlexAccNone
, AlexAccNone
, AlexAccNone
, AlexAccNone
- , AlexAcc 2
, AlexAccNone
, AlexAccNone
+ , AlexAcc 5
, AlexAccNone
+ , AlexAcc 4
, AlexAccNone
+ , AlexAcc 3
, AlexAccNone
+ , AlexAcc 2
, AlexAcc 1
, AlexAcc 0
+ , AlexAccNone
+ , AlexAccNone
+ , AlexAccNone
+ , AlexAccNone
+ , AlexAccNone
]
-alex_actions = array (0 :: Int, 27)
- [ (26,alex_action_3)
- , (25,alex_action_3)
- , (24,alex_action_3)
+alex_actions = array (0 :: Int, 28)
+ [ (27,alex_action_3)
+ , (26,alex_action_4)
+ , (25,alex_action_4)
+ , (24,alex_action_4)
, (23,alex_action_4)
- , (22,alex_action_4)
+ , (22,alex_action_3)
, (21,alex_action_4)
, (20,alex_action_4)
- , (19,alex_action_3)
- , (18,alex_action_4)
- , (17,alex_action_4)
+ , (19,alex_action_4)
+ , (18,alex_action_5)
+ , (17,alex_action_7)
, (16,alex_action_4)
- , (15,alex_action_5)
- , (14,alex_action_7)
+ , (15,alex_action_4)
+ , (14,alex_action_4)
, (13,alex_action_4)
, (12,alex_action_4)
- , (11,alex_action_4)
- , (10,alex_action_4)
- , (9,alex_action_4)
+ , (11,alex_action_3)
+ , (10,alex_action_3)
+ , (9,alex_action_3)
, (8,alex_action_3)
, (7,alex_action_3)
, (6,alex_action_3)
- , (5,alex_action_3)
+ , (5,alex_action_4)
, (4,alex_action_3)
, (3,alex_action_3)
, (2,alex_action_3)
- , (1,alex_action_4)
+ , (1,alex_action_3)
, (0,alex_action_3)
]
@@ -304,37 +321,38 @@ eitherResIdent tv s = treeFind resWords
-- | The keywords and symbols of the language organized as binary search tree.
resWords :: BTree
resWords =
- b "=_{" 29
- (b "," 15
- (b "#postulate" 8
- (b "#compute-whnf" 4
- (b "#compute" 2 (b "#check" 1 N N) (b "#compute-nf" 3 N N))
- (b "#define" 6 (b "#def" 5 N N) (b "#lang" 7 N N)))
- (b ")" 12
- (b "#unset-option" 10 (b "#set-option" 9 N N) (b "(" 11 N N))
- (b "*_1" 14 (b "*" 13 N N) N)))
- (b ":" 22
- (b "1" 19
- (b "/\\" 17 (b "->" 16 N N) (b "0_2" 18 N N))
- (b "2" 21 (b "1_2" 20 N N) N))
- (b "<=" 26
- (b ";" 24 (b ":=" 23 N N) (b "<" 25 N N))
- (b "===" 28 (b "=" 27 N N) N))))
- (b "idJ" 44
- (b "[" 37
- (b "Sigma" 33
- (b "BOT" 31 (b ">" 30 N N) (b "CUBE" 32 N N))
- (b "TOPE" 35 (b "TOP" 34 N N) (b "U" 36 N N)))
- (b "_" 41
- (b "\\/" 39 (b "\\" 38 N N) (b "]" 40 N N))
- (b "first" 43 (b "as" 42 N N) N)))
- (b "{" 51
- (b "refl_{" 48
- (b "recOR" 46 (b "recBOT" 45 N N) (b "refl" 47 N N))
- (b "second" 50 (b "rzk-1" 49 N N) N))
- (b "\931" 55
- (b "|->" 53 (b "|" 52 N N) (b "}" 54 N N))
- (b "\8721" 57 (b "\8594" 56 N N) N))))
+ b "=" 32
+ (b "(" 16
+ (b "#end" 8
+ (b "#compute-nf" 4
+ (b "#check" 2 (b "#assume" 1 N N) (b "#compute" 3 N N))
+ (b "#def" 6 (b "#compute-whnf" 5 N N) (b "#define" 7 N N)))
+ (b "#set-option" 12
+ (b "#postulate" 10 (b "#lang" 9 N N) (b "#section" 11 N N))
+ (b "#variable" 14
+ (b "#unset-option" 13 N N) (b "#variables" 15 N N))))
+ (b "1" 24
+ (b "," 20
+ (b "*" 18 (b ")" 17 N N) (b "*_1" 19 N N))
+ (b "/\\" 22 (b "->" 21 N N) (b "0_2" 23 N N)))
+ (b ":=" 28
+ (b "2" 26 (b "1_2" 25 N N) (b ":" 27 N N))
+ (b "<" 30 (b ";" 29 N N) (b "<=" 31 N N)))))
+ (b "first" 48
+ (b "TOPE" 40
+ (b "BOT" 36
+ (b "=_{" 34 (b "===" 33 N N) (b ">" 35 N N))
+ (b "Sigma" 38 (b "CUBE" 37 N N) (b "TOP" 39 N N)))
+ (b "\\/" 44
+ (b "[" 42 (b "U" 41 N N) (b "\\" 43 N N))
+ (b "_" 46 (b "]" 45 N N) (b "as" 47 N N))))
+ (b "uses" 56
+ (b "refl" 52
+ (b "recBOT" 50 (b "idJ" 49 N N) (b "recOR" 51 N N))
+ (b "rzk-1" 54 (b "refl_{" 53 N N) (b "second" 55 N N)))
+ (b "}" 60
+ (b "|" 58 (b "{" 57 N N) (b "|->" 59 N N))
+ (b "\8594" 62 (b "\931" 61 N N) (b "\8721" 63 N N)))))
where
b s n = B bs (TS bs n)
where
diff --git a/rzk/src/Language/Rzk/Syntax/Lex.x b/rzk/src/Language/Rzk/Syntax/Lex.x
index db35dd90c..0c2521c84 100644
--- a/rzk/src/Language/Rzk/Syntax/Lex.x
+++ b/rzk/src/Language/Rzk/Syntax/Lex.x
@@ -28,7 +28,7 @@ $u = [. \n] -- universal: any character
-- Symbols and non-identifier-like reserved words
-@rsyms = \Σ | \# "lang" | \; | "rzk" \- "1" | \# "set" \- "option" | \= | \# "unset" \- "option" | \# "check" | \: | \# "compute" | \# "compute" \- "whnf" | \# "compute" \- "nf" | \# "postulate" | \# "define" | \: \= | \# "def" | \_ | \( | \, | \) | \{ | \| | \} | \| \- \> | "1" | \* \_ "1" | "2" | "0" \_ "2" | "1" \_ "2" | \* | \= \= \= | \< \= | \/ \\ | \\ \/ | \- \> | \= \_ \{ | \[ | \] | \< | \> | \\ | "refl" \_ \{ | \→ | \∑
+@rsyms = \Σ | \# "lang" | \; | "rzk" \- "1" | \# "set" \- "option" | \= | \# "unset" \- "option" | \# "check" | \: | \# "compute" | \# "compute" \- "whnf" | \# "compute" \- "nf" | \# "postulate" | \# "assume" | \# "variable" | \# "variables" | \# "section" | \# "end" | \# "define" | \: \= | \# "def" | \( | \) | \_ | \, | \{ | \| | \} | \| \- \> | "1" | \* \_ "1" | "2" | "0" \_ "2" | "1" \_ "2" | \* | \= \= \= | \< \= | \/ \\ | \\ \/ | \- \> | \= \_ \{ | \[ | \] | \< | \> | \\ | "refl" \_ \{ | \→ | \∑
:-
@@ -166,37 +166,38 @@ eitherResIdent tv s = treeFind resWords
-- | The keywords and symbols of the language organized as binary search tree.
resWords :: BTree
resWords =
- b "=_{" 29
- (b "," 15
- (b "#postulate" 8
- (b "#compute-whnf" 4
- (b "#compute" 2 (b "#check" 1 N N) (b "#compute-nf" 3 N N))
- (b "#define" 6 (b "#def" 5 N N) (b "#lang" 7 N N)))
- (b ")" 12
- (b "#unset-option" 10 (b "#set-option" 9 N N) (b "(" 11 N N))
- (b "*_1" 14 (b "*" 13 N N) N)))
- (b ":" 22
- (b "1" 19
- (b "/\\" 17 (b "->" 16 N N) (b "0_2" 18 N N))
- (b "2" 21 (b "1_2" 20 N N) N))
- (b "<=" 26
- (b ";" 24 (b ":=" 23 N N) (b "<" 25 N N))
- (b "===" 28 (b "=" 27 N N) N))))
- (b "idJ" 44
- (b "[" 37
- (b "Sigma" 33
- (b "BOT" 31 (b ">" 30 N N) (b "CUBE" 32 N N))
- (b "TOPE" 35 (b "TOP" 34 N N) (b "U" 36 N N)))
- (b "_" 41
- (b "\\/" 39 (b "\\" 38 N N) (b "]" 40 N N))
- (b "first" 43 (b "as" 42 N N) N)))
- (b "{" 51
- (b "refl_{" 48
- (b "recOR" 46 (b "recBOT" 45 N N) (b "refl" 47 N N))
- (b "second" 50 (b "rzk-1" 49 N N) N))
- (b "\931" 55
- (b "|->" 53 (b "|" 52 N N) (b "}" 54 N N))
- (b "\8721" 57 (b "\8594" 56 N N) N))))
+ b "=" 32
+ (b "(" 16
+ (b "#end" 8
+ (b "#compute-nf" 4
+ (b "#check" 2 (b "#assume" 1 N N) (b "#compute" 3 N N))
+ (b "#def" 6 (b "#compute-whnf" 5 N N) (b "#define" 7 N N)))
+ (b "#set-option" 12
+ (b "#postulate" 10 (b "#lang" 9 N N) (b "#section" 11 N N))
+ (b "#variable" 14
+ (b "#unset-option" 13 N N) (b "#variables" 15 N N))))
+ (b "1" 24
+ (b "," 20
+ (b "*" 18 (b ")" 17 N N) (b "*_1" 19 N N))
+ (b "/\\" 22 (b "->" 21 N N) (b "0_2" 23 N N)))
+ (b ":=" 28
+ (b "2" 26 (b "1_2" 25 N N) (b ":" 27 N N))
+ (b "<" 30 (b ";" 29 N N) (b "<=" 31 N N)))))
+ (b "first" 48
+ (b "TOPE" 40
+ (b "BOT" 36
+ (b "=_{" 34 (b "===" 33 N N) (b ">" 35 N N))
+ (b "Sigma" 38 (b "CUBE" 37 N N) (b "TOP" 39 N N)))
+ (b "\\/" 44
+ (b "[" 42 (b "U" 41 N N) (b "\\" 43 N N))
+ (b "_" 46 (b "]" 45 N N) (b "as" 47 N N))))
+ (b "uses" 56
+ (b "refl" 52
+ (b "recBOT" 50 (b "idJ" 49 N N) (b "recOR" 51 N N))
+ (b "rzk-1" 54 (b "refl_{" 53 N N) (b "second" 55 N N)))
+ (b "}" 60
+ (b "|" 58 (b "{" 57 N N) (b "|->" 59 N N))
+ (b "\8594" 62 (b "\931" 61 N N) (b "\8721" 63 N N)))))
where
b s n = B bs (TS bs n)
where
diff --git a/rzk/src/Language/Rzk/Syntax/Par.hs b/rzk/src/Language/Rzk/Syntax/Par.hs
index 9dc639ae2..12c06d89e 100644
--- a/rzk/src/Language/Rzk/Syntax/Par.hs
+++ b/rzk/src/Language/Rzk/Syntax/Par.hs
@@ -10,10 +10,13 @@ module Language.Rzk.Syntax.Par
( happyError
, myLexer
, pModule
+ , pListVarIdent
, pLanguageDecl
, pLanguage
, pCommand
, pListCommand
+ , pDeclUsedVars
+ , pSectionName
, pPattern
, pListPattern
, pParam
@@ -50,148 +53,127 @@ type HappyAny = Happy_GHC_Exts.Any
#else
type HappyAny = forall a . a
#endif
-newtype HappyWrap24 = HappyWrap24 ((Language.Rzk.Syntax.Abs.BNFC'Position, String))
-happyIn24 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, String)) -> (HappyAbsSyn )
-happyIn24 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap24 x)
-{-# INLINE happyIn24 #-}
-happyOut24 :: (HappyAbsSyn ) -> HappyWrap24
-happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut24 #-}
-newtype HappyWrap25 = HappyWrap25 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.VarIdent))
-happyIn25 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.VarIdent)) -> (HappyAbsSyn )
-happyIn25 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap25 x)
-{-# INLINE happyIn25 #-}
-happyOut25 :: (HappyAbsSyn ) -> HappyWrap25
-happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut25 #-}
-newtype HappyWrap26 = HappyWrap26 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.HoleIdent))
-happyIn26 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.HoleIdent)) -> (HappyAbsSyn )
-happyIn26 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap26 x)
-{-# INLINE happyIn26 #-}
-happyOut26 :: (HappyAbsSyn ) -> HappyWrap26
-happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut26 #-}
-newtype HappyWrap27 = HappyWrap27 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Module))
-happyIn27 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Module)) -> (HappyAbsSyn )
+newtype HappyWrap27 = HappyWrap27 ((Language.Rzk.Syntax.Abs.BNFC'Position, String))
+happyIn27 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, String)) -> (HappyAbsSyn )
happyIn27 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap27 x)
{-# INLINE happyIn27 #-}
happyOut27 :: (HappyAbsSyn ) -> HappyWrap27
happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x
{-# INLINE happyOut27 #-}
-newtype HappyWrap28 = HappyWrap28 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.LanguageDecl))
-happyIn28 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.LanguageDecl)) -> (HappyAbsSyn )
+newtype HappyWrap28 = HappyWrap28 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.VarIdent))
+happyIn28 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.VarIdent)) -> (HappyAbsSyn )
happyIn28 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap28 x)
{-# INLINE happyIn28 #-}
happyOut28 :: (HappyAbsSyn ) -> HappyWrap28
happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x
{-# INLINE happyOut28 #-}
-newtype HappyWrap29 = HappyWrap29 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Language))
-happyIn29 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Language)) -> (HappyAbsSyn )
+newtype HappyWrap29 = HappyWrap29 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.HoleIdent))
+happyIn29 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.HoleIdent)) -> (HappyAbsSyn )
happyIn29 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap29 x)
{-# INLINE happyIn29 #-}
happyOut29 :: (HappyAbsSyn ) -> HappyWrap29
happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x
{-# INLINE happyOut29 #-}
-newtype HappyWrap30 = HappyWrap30 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Command))
-happyIn30 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Command)) -> (HappyAbsSyn )
+newtype HappyWrap30 = HappyWrap30 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Module))
+happyIn30 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Module)) -> (HappyAbsSyn )
happyIn30 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap30 x)
{-# INLINE happyIn30 #-}
happyOut30 :: (HappyAbsSyn ) -> HappyWrap30
happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x
{-# INLINE happyOut30 #-}
-newtype HappyWrap31 = HappyWrap31 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Command]))
-happyIn31 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Command])) -> (HappyAbsSyn )
+newtype HappyWrap31 = HappyWrap31 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.VarIdent]))
+happyIn31 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.VarIdent])) -> (HappyAbsSyn )
happyIn31 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap31 x)
{-# INLINE happyIn31 #-}
happyOut31 :: (HappyAbsSyn ) -> HappyWrap31
happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x
{-# INLINE happyOut31 #-}
-newtype HappyWrap32 = HappyWrap32 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Pattern))
-happyIn32 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Pattern)) -> (HappyAbsSyn )
+newtype HappyWrap32 = HappyWrap32 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.LanguageDecl))
+happyIn32 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.LanguageDecl)) -> (HappyAbsSyn )
happyIn32 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap32 x)
{-# INLINE happyIn32 #-}
happyOut32 :: (HappyAbsSyn ) -> HappyWrap32
happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x
{-# INLINE happyOut32 #-}
-newtype HappyWrap33 = HappyWrap33 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Pattern]))
-happyIn33 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Pattern])) -> (HappyAbsSyn )
+newtype HappyWrap33 = HappyWrap33 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Language))
+happyIn33 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Language)) -> (HappyAbsSyn )
happyIn33 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap33 x)
{-# INLINE happyIn33 #-}
happyOut33 :: (HappyAbsSyn ) -> HappyWrap33
happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x
{-# INLINE happyOut33 #-}
-newtype HappyWrap34 = HappyWrap34 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Param))
-happyIn34 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Param)) -> (HappyAbsSyn )
+newtype HappyWrap34 = HappyWrap34 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Command))
+happyIn34 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Command)) -> (HappyAbsSyn )
happyIn34 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap34 x)
{-# INLINE happyIn34 #-}
happyOut34 :: (HappyAbsSyn ) -> HappyWrap34
happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x
{-# INLINE happyOut34 #-}
-newtype HappyWrap35 = HappyWrap35 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Param]))
-happyIn35 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Param])) -> (HappyAbsSyn )
+newtype HappyWrap35 = HappyWrap35 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Command]))
+happyIn35 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Command])) -> (HappyAbsSyn )
happyIn35 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap35 x)
{-# INLINE happyIn35 #-}
happyOut35 :: (HappyAbsSyn ) -> HappyWrap35
happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x
{-# INLINE happyOut35 #-}
-newtype HappyWrap36 = HappyWrap36 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.ParamDecl))
-happyIn36 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.ParamDecl)) -> (HappyAbsSyn )
+newtype HappyWrap36 = HappyWrap36 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.DeclUsedVars))
+happyIn36 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.DeclUsedVars)) -> (HappyAbsSyn )
happyIn36 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap36 x)
{-# INLINE happyIn36 #-}
happyOut36 :: (HappyAbsSyn ) -> HappyWrap36
happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x
{-# INLINE happyOut36 #-}
-newtype HappyWrap37 = HappyWrap37 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Restriction))
-happyIn37 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Restriction)) -> (HappyAbsSyn )
+newtype HappyWrap37 = HappyWrap37 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.SectionName))
+happyIn37 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.SectionName)) -> (HappyAbsSyn )
happyIn37 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap37 x)
{-# INLINE happyIn37 #-}
happyOut37 :: (HappyAbsSyn ) -> HappyWrap37
happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x
{-# INLINE happyOut37 #-}
-newtype HappyWrap38 = HappyWrap38 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Restriction]))
-happyIn38 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Restriction])) -> (HappyAbsSyn )
+newtype HappyWrap38 = HappyWrap38 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Pattern))
+happyIn38 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Pattern)) -> (HappyAbsSyn )
happyIn38 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap38 x)
{-# INLINE happyIn38 #-}
happyOut38 :: (HappyAbsSyn ) -> HappyWrap38
happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x
{-# INLINE happyOut38 #-}
-newtype HappyWrap39 = HappyWrap39 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
-happyIn39 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
+newtype HappyWrap39 = HappyWrap39 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Pattern]))
+happyIn39 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Pattern])) -> (HappyAbsSyn )
happyIn39 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap39 x)
{-# INLINE happyIn39 #-}
happyOut39 :: (HappyAbsSyn ) -> HappyWrap39
happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x
{-# INLINE happyOut39 #-}
-newtype HappyWrap40 = HappyWrap40 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
-happyIn40 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
+newtype HappyWrap40 = HappyWrap40 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Param))
+happyIn40 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Param)) -> (HappyAbsSyn )
happyIn40 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap40 x)
{-# INLINE happyIn40 #-}
happyOut40 :: (HappyAbsSyn ) -> HappyWrap40
happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x
{-# INLINE happyOut40 #-}
-newtype HappyWrap41 = HappyWrap41 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
-happyIn41 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
+newtype HappyWrap41 = HappyWrap41 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Param]))
+happyIn41 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Param])) -> (HappyAbsSyn )
happyIn41 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap41 x)
{-# INLINE happyIn41 #-}
happyOut41 :: (HappyAbsSyn ) -> HappyWrap41
happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x
{-# INLINE happyOut41 #-}
-newtype HappyWrap42 = HappyWrap42 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
-happyIn42 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
+newtype HappyWrap42 = HappyWrap42 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.ParamDecl))
+happyIn42 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.ParamDecl)) -> (HappyAbsSyn )
happyIn42 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap42 x)
{-# INLINE happyIn42 #-}
happyOut42 :: (HappyAbsSyn ) -> HappyWrap42
happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x
{-# INLINE happyOut42 #-}
-newtype HappyWrap43 = HappyWrap43 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
-happyIn43 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
+newtype HappyWrap43 = HappyWrap43 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Restriction))
+happyIn43 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Restriction)) -> (HappyAbsSyn )
happyIn43 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap43 x)
{-# INLINE happyIn43 #-}
happyOut43 :: (HappyAbsSyn ) -> HappyWrap43
happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x
{-# INLINE happyOut43 #-}
-newtype HappyWrap44 = HappyWrap44 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
-happyIn44 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
+newtype HappyWrap44 = HappyWrap44 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Restriction]))
+happyIn44 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Restriction])) -> (HappyAbsSyn )
happyIn44 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap44 x)
{-# INLINE happyIn44 #-}
happyOut44 :: (HappyAbsSyn ) -> HappyWrap44
@@ -211,13 +193,55 @@ happyIn46 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap46 x)
happyOut46 :: (HappyAbsSyn ) -> HappyWrap46
happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x
{-# INLINE happyOut46 #-}
-newtype HappyWrap47 = HappyWrap47 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Term]))
-happyIn47 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Term])) -> (HappyAbsSyn )
+newtype HappyWrap47 = HappyWrap47 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
+happyIn47 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
happyIn47 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap47 x)
{-# INLINE happyIn47 #-}
happyOut47 :: (HappyAbsSyn ) -> HappyWrap47
happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x
{-# INLINE happyOut47 #-}
+newtype HappyWrap48 = HappyWrap48 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
+happyIn48 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
+happyIn48 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap48 x)
+{-# INLINE happyIn48 #-}
+happyOut48 :: (HappyAbsSyn ) -> HappyWrap48
+happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut48 #-}
+newtype HappyWrap49 = HappyWrap49 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
+happyIn49 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
+happyIn49 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap49 x)
+{-# INLINE happyIn49 #-}
+happyOut49 :: (HappyAbsSyn ) -> HappyWrap49
+happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut49 #-}
+newtype HappyWrap50 = HappyWrap50 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
+happyIn50 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
+happyIn50 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap50 x)
+{-# INLINE happyIn50 #-}
+happyOut50 :: (HappyAbsSyn ) -> HappyWrap50
+happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut50 #-}
+newtype HappyWrap51 = HappyWrap51 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
+happyIn51 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
+happyIn51 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap51 x)
+{-# INLINE happyIn51 #-}
+happyOut51 :: (HappyAbsSyn ) -> HappyWrap51
+happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut51 #-}
+newtype HappyWrap52 = HappyWrap52 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
+happyIn52 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
+happyIn52 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap52 x)
+{-# INLINE happyIn52 #-}
+happyOut52 :: (HappyAbsSyn ) -> HappyWrap52
+happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut52 #-}
+newtype HappyWrap53 = HappyWrap53 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Term]))
+happyIn53 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Term])) -> (HappyAbsSyn )
+happyIn53 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap53 x)
+{-# INLINE happyIn53 #-}
+happyOut53 :: (HappyAbsSyn ) -> HappyWrap53
+happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut53 #-}
happyInTok :: (Token) -> (HappyAbsSyn )
happyInTok x = Happy_GHC_Exts.unsafeCoerce# x
{-# INLINE happyInTok #-}
@@ -227,43 +251,40 @@ happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x
happyExpList :: HappyAddr
-happyExpList = HappyA# "\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\xf8\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xdf\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x08\x00\x20\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x80\x00\x00\x02\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x08\x20\x20\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x80\x00\x02\x02\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x76\xe0\x37\x60\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x12\x8f\x60\x07\x7c\x00\x06\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x76\xe0\x17\x60\x00\x00\x00\x00\x00\x00\x00\x12\x8f\x60\x07\x7e\x01\x06\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x76\xe0\x17\x60\x00\x00\x00\x00\x00\x00\x00\x12\x8f\x60\x07\x7e\x01\x06\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x12\x8f\x60\x07\x7e\x01\x06\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\x60\x0f\x7c\x00\x06\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe9\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x76\xe0\x37\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x80\x00\x02\x02\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x76\xc0\x07\x60\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x76\xc0\x07\x60\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x80\x00\x00\x02\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\x60\x0f\x7c\x00\x06\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xf1\x08\xf6\xc0\x07\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xf1\x08\xf6\xc0\x07\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x80\x00\x02\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x80\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x80\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x80\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x80\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xdf\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x10\x00\x80\x00\x02\x02\x00\x00\x00\x00\x00\x00\x20\x00\x01\x00\x08\x20\x20\x00\x00\x00\x00\x00\x00\x00\x02\x10\x00\x80\x00\x02\x02\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x02\x00\x00\x08\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x12\x8f\x60\x07\x7e\x01\x06\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x76\xe0\x17\x60\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x40\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x80\x00\x00\x02\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x08\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x08\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x80\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x12\x8f\x60\x07\x7e\x01\x06\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x76\xe0\x17\x60\x00\x00\x00\x00\x00\x00\x00\x12\x8f\x60\x07\x7e\x01\x06\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x76\xe0\x17\x60\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\x60\x0f\x7c\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x08\x00\x20\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\x60\x07\x7e\x01\x06\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x12\x8f\xe0\x17\x7e\xa3\x06\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xf1\x08\x7e\xe1\x37\x6a\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
+happyExpList = HappyA# "\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\xe0\xcf\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xcf\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x20\x20\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x20\x20\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x2b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xe0\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7b\xe0\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf4\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x2b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x20\x20\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xe0\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xe0\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7b\xe0\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7b\xe0\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7b\xe0\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x20\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xcf\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xcf\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x01\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7b\xe0\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x10\x80\x00\x00\x04\x20\x20\x00\x00\x00\x00\x00\x00\x00\x00\x10\x80\x00\x00\x04\x20\x20\x00\x00\x00\x00\x00\x00\x00\x00\x10\x80\x00\x00\x04\x20\x20\x00\x00\x00\x00\x00\x00\xe0\xcf\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x01\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
{-# NOINLINE happyExpListPerState #-}
happyExpListPerState st =
token_strs_expected
- where token_strs = ["error","%dummy","%start_pModule_internal","%start_pLanguageDecl_internal","%start_pLanguage_internal","%start_pCommand_internal","%start_pListCommand_internal","%start_pPattern_internal","%start_pListPattern_internal","%start_pParam_internal","%start_pListParam_internal","%start_pParamDecl_internal","%start_pRestriction_internal","%start_pListRestriction_internal","%start_pTerm7_internal","%start_pTerm5_internal","%start_pTerm4_internal","%start_pTerm3_internal","%start_pTerm2_internal","%start_pTerm1_internal","%start_pTerm6_internal","%start_pTerm_internal","%start_pListTerm_internal","String","VarIdent","HoleIdent","Module","LanguageDecl","Language","Command","ListCommand","Pattern","ListPattern","Param","ListParam","ParamDecl","Restriction","ListRestriction","Term7","Term5","Term4","Term3","Term2","Term1","Term6","Term","ListTerm","'#check'","'#compute'","'#compute-nf'","'#compute-whnf'","'#def'","'#define'","'#lang'","'#postulate'","'#set-option'","'#unset-option'","'('","')'","'*'","'*_1'","','","'->'","'/\\\\'","'0_2'","'1'","'1_2'","'2'","':'","':='","';'","'<'","'<='","'='","'==='","'=_{'","'>'","'BOT'","'CUBE'","'Sigma'","'TOP'","'TOPE'","'U'","'['","'\\\\'","'\\\\/'","']'","'_'","'as'","'first'","'idJ'","'recBOT'","'recOR'","'refl'","'refl_{'","'rzk-1'","'second'","'{'","'|'","'|->'","'}'","'\931'","'\8594'","'\8721'","L_quoted","L_VarIdent","L_HoleIdent","%eof"]
- bit_start = st Prelude.* 108
- bit_end = (st Prelude.+ 1) Prelude.* 108
+ where token_strs = ["error","%dummy","%start_pModule_internal","%start_pListVarIdent_internal","%start_pLanguageDecl_internal","%start_pLanguage_internal","%start_pCommand_internal","%start_pListCommand_internal","%start_pDeclUsedVars_internal","%start_pSectionName_internal","%start_pPattern_internal","%start_pListPattern_internal","%start_pParam_internal","%start_pListParam_internal","%start_pParamDecl_internal","%start_pRestriction_internal","%start_pListRestriction_internal","%start_pTerm7_internal","%start_pTerm5_internal","%start_pTerm4_internal","%start_pTerm3_internal","%start_pTerm2_internal","%start_pTerm1_internal","%start_pTerm6_internal","%start_pTerm_internal","%start_pListTerm_internal","String","VarIdent","HoleIdent","Module","ListVarIdent","LanguageDecl","Language","Command","ListCommand","DeclUsedVars","SectionName","Pattern","ListPattern","Param","ListParam","ParamDecl","Restriction","ListRestriction","Term7","Term5","Term4","Term3","Term2","Term1","Term6","Term","ListTerm","'#assume'","'#check'","'#compute'","'#compute-nf'","'#compute-whnf'","'#def'","'#define'","'#end'","'#lang'","'#postulate'","'#section'","'#set-option'","'#unset-option'","'#variable'","'#variables'","'('","')'","'*'","'*_1'","','","'->'","'/\\\\'","'0_2'","'1'","'1_2'","'2'","':'","':='","';'","'<'","'<='","'='","'==='","'=_{'","'>'","'BOT'","'CUBE'","'Sigma'","'TOP'","'TOPE'","'U'","'['","'\\\\'","'\\\\/'","']'","'_'","'as'","'first'","'idJ'","'recBOT'","'recOR'","'refl'","'refl_{'","'rzk-1'","'second'","'uses'","'{'","'|'","'|->'","'}'","'\931'","'\8594'","'\8721'","L_quoted","L_VarIdent","L_HoleIdent","%eof"]
+ bit_start = st Prelude.* 120
+ bit_end = (st Prelude.+ 1) Prelude.* 120
read_bit = readArrayBit happyExpList
bits = Prelude.map read_bit [bit_start..bit_end Prelude.- 1]
- bits_indexed = Prelude.zip bits [0..107]
+ bits_indexed = Prelude.zip bits [0..119]
token_strs_expected = Prelude.concatMap f bits_indexed
f (Prelude.False, _) = []
f (Prelude.True, nr) = [token_strs Prelude.!! nr]
happyActOffsets :: HappyAddr
-happyActOffsets = HappyA# "\xff\xff\xff\xff\xec\xff\xec\x04\xec\x04\x01\x00\x01\x00\x05\x00\x05\x00\x80\x00\x51\x00\x51\x00\x5b\x01\x05\x01\x05\x01\x05\x01\x05\x01\x51\x00\x05\x01\x51\x00\x51\x00\xe6\xff\x00\x00\x00\x00\x00\x00\xf7\xff\x00\x00\x3c\x00\x18\x00\x23\x00\xe8\xff\x00\x00\xaf\x00\x2a\x00\x1a\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x00\x00\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x05\x00\x5b\x01\x5c\x00\x00\x00\x6d\x00\x00\x00\x51\x00\x5b\x01\x03\x00\x6f\x00\x86\x00\x00\x00\x00\x00\x5d\x00\xf6\xff\x51\x00\x52\x00\x5d\x00\x5d\x00\x30\x01\x5d\x00\x5d\x00\x0a\x00\x5d\x00\x8d\x00\x78\x00\x81\x00\x7c\x00\x7c\x00\x30\x01\x00\x00\x00\x00\x05\x00\x7c\x00\x11\x00\x00\x00\x11\x00\x7c\x00\x11\x00\x7c\x00\x11\x00\x7c\x00\xec\x04\x7c\x00\x51\x00\x51\x00\x51\x00\x51\x00\x95\x00\x95\x00\x95\x00\x9e\x00\x9e\x00\x9c\x00\x9c\x00\x00\x00\x9c\x00\xb0\x00\xa7\x00\xec\x04\x00\x00\xce\x00\xd1\x00\xd9\x00\x8b\x00\x5d\x01\x66\x01\xdd\x00\xdf\x00\xeb\x00\xfb\x00\x00\x00\x0d\x01\x00\x00\x07\x01\x02\x00\x09\x01\x00\x00\x00\x00\x51\x00\x51\x00\x51\x00\x05\x01\x05\x01\x51\x00\x8f\x00\x11\x00\x11\x00\x0b\x01\x11\x00\x00\x00\x09\x00\x51\x00\x51\x00\x00\x00\x10\x01\x11\x00\x28\x01\x14\x01\x26\x01\x51\x00\x51\x00\x05\x01\x05\x01\x05\x01\x05\x01\x51\x00\x51\x00\x00\x00\x00\x00\x39\x01\x39\x01\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x51\x00\x51\x00\x27\x01\x51\x00\x38\x01\x3c\x01\xf3\xff\x51\x00\x00\x00\x44\x00\x51\x00\x34\x01\x35\x01\x00\x00\x51\x00\x16\x01\x00\x00\x30\x01\x00\x00\x00\x00\x32\x01\x51\x00\x11\x00\x51\x00\x51\x00\x00\x00\x00\x00\x00\x00\x4d\x01\x51\x00\x51\x01\x51\x00\x5c\x01\x51\x00\x3b\x01\x00\x00\x00\x00\x4a\x01\x5e\x01\x51\x00\x60\x01\x51\x00\x61\x01\x51\x00\x69\x01\x5a\x01\x79\x01\x85\x01\x00\x00\x05\x01\x86\x01\x51\x00\x51\x00\x53\x00\x51\x00\x4e\x01\x51\x00\x00\x00\x51\x00\x00\x00\x51\x00\x75\x01\xa3\x01\xa4\x01\x00\x00\x00\x00\x00\x00\xa5\x01\xc2\x01\xc3\x01\x00\x00\xa6\x01\x51\x00\x00\x00\xa7\x01\xc7\x01\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\xbd\x01\x51\x00\xbe\x01\x51\x00\xcd\x01\x00\x00\x00\x00\x00\x00\xd0\x01\x51\x00\xd1\x01\x51\x00\xb0\x01\xd8\x01\xdb\x01\xb5\x01\xb8\x01\x51\x00\x51\x00\xde\x01\x51\x00\xec\x01\xed\x01\x51\x00\x00\x00\x51\x00\x51\x00\x00\x00\xe5\x01\x00\x00\xe6\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc9\x01\x51\x00\x51\x00\x00\x00\xf1\x01\xf5\x01\x00\x00\x00\x00\x51\x00\xf3\x01\x51\x00\xf7\x01\x00\x00\x00\x00"#
+happyActOffsets = HappyA# "\xfa\xff\xd1\xff\x0a\x00\x60\x00\x26\x05\x26\x05\x6a\x00\x59\x00\x27\x00\x27\x00\x53\x00\x53\x00\x77\x00\x47\x00\x47\x00\x4b\x01\xff\x00\xff\x00\xff\x00\xff\x00\x47\x00\xff\x00\x47\x00\x47\x00\x66\x00\x00\x00\x00\x00\x00\x00\xed\xff\x00\x00\x52\x00\x97\x00\x9e\x00\x3b\x00\x00\x00\xa7\x00\xa0\x00\x8f\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd3\x00\x00\x00\x00\x00\xee\x00\x00\x00\x00\x00\x00\x00\x53\x00\x4b\x01\x01\x01\x00\x00\x0c\x01\x00\x00\x47\x00\x4b\x01\x34\x00\x12\x01\x15\x01\x00\x00\x00\x00\xbf\x00\xf1\xff\x47\x00\x31\x00\xbf\x00\xbf\x00\x25\x01\xbf\x00\xbf\x00\xf3\xff\xbf\x00\x30\x01\xf6\x00\x19\x01\x1c\x01\x1c\x01\x25\x01\x00\x00\x00\x00\x53\x00\x1c\x01\x57\x00\x00\x00\x57\x00\x1c\x01\x57\x00\x1c\x01\x57\x00\x1c\x01\x00\x00\x1c\x01\x1c\x01\x5a\x01\x58\x01\x44\x01\x7a\x01\x47\x00\x47\x00\x47\x00\x47\x00\x7a\x01\x7a\x01\x7a\x01\x7a\x01\x5b\x01\x5b\x01\x7b\x01\x7b\x01\x74\x01\x74\x01\x00\x00\x74\x01\x83\x01\x7c\x01\x77\x01\x77\x01\x26\x05\x00\x00\x00\x00\xa1\x01\xa4\x01\xc0\x01\x00\x00\xbc\x01\xc1\x01\xa5\x01\xa5\x01\xa5\x01\x00\x00\x00\x00\x00\x00\xc4\x01\xc5\x01\x26\x05\xa0\x01\xce\x01\x00\x00\xc8\x01\x0c\x00\xcb\x01\x00\x00\x00\x00\x47\x00\x47\x00\x47\x00\xff\x00\xff\x00\x47\x00\x18\x00\x57\x00\x57\x00\xd9\x01\x57\x00\x00\x00\xec\xff\x47\x00\x47\x00\x00\x00\xea\x01\x57\x00\xeb\x01\xe6\x01\xe7\x01\x47\x00\x47\x00\xff\x00\xff\x00\xff\x00\xff\x00\x47\x00\x47\x00\x00\x00\x00\x00\xf1\x01\xf1\x01\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x47\x00\x47\x00\xe9\x01\x47\x00\xf2\x01\xf4\x01\xf2\xff\x47\x00\x00\x00\x62\x00\x47\x00\xec\x01\xef\x01\x00\x00\x47\x00\xd0\x01\x00\x00\x25\x01\x00\x00\x00\x00\xe0\x01\x47\x00\x57\x00\x47\x00\x10\x02\x00\x00\x47\x00\x47\x00\x64\x00\x94\x00\x27\x01\x26\x05\xe4\x01\x47\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x02\x0c\x02\x47\x00\x20\x02\x47\x00\x23\x02\x47\x00\x00\x00\x00\x00\x00\x00\x06\x02\x44\x02\x47\x02\x00\x00\xff\x00\x49\x02\x47\x00\x47\x00\x0b\x01\x47\x00\x05\x02\x47\x00\x00\x00\x47\x00\x00\x00\x47\x00\x38\x02\x5e\x02\x61\x02\x00\x00\x00\x00\x00\x00\x63\x02\x75\x02\x78\x02\x00\x00\x7d\x02\x47\x00\x00\x00\x92\x02\x95\x02\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x59\x02\x47\x00\x73\x02\x47\x00\x00\x00\x47\x00\x67\x02\x00\x00\x00\x00\x8d\x02\x47\x00\xa1\x02\x47\x00\x84\x02\xae\x02\xaf\x02\x9b\x02\xa0\x02\x47\x00\x47\x00\xc8\x02\x47\x00\xc9\x02\xdd\x02\x47\x00\x00\x00\x47\x00\x47\x00\x00\x00\x00\x00\x47\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x02\x47\x00\x47\x00\x00\x00\xe2\x02\xfa\x02\x00\x00\x00\x00\x47\x00\xe3\x02\x47\x00\xfd\x02\x00\x00\x00\x00"#
happyGotoOffsets :: HappyAddr
-happyGotoOffsets = HappyA# "\x82\x00\x0d\x02\x0f\x02\x0c\x02\xa0\x00\x7a\x00\x1a\x01\xfa\x00\xbf\x00\x12\x00\x0e\x02\xb6\x01\x5f\x00\xff\x00\xe1\x00\xbe\x04\x8b\x01\x40\x04\xb6\x00\x24\x02\x93\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x30\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x02\x8e\x00\xa9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\x00\x48\x02\x00\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\xca\x04\x00\x00\x25\x01\x00\x00\xf7\x00\x00\x00\x50\x01\x00\x00\x0a\x01\x00\x00\xa2\x00\x00\x00\x54\x02\x60\x02\x6c\x02\x78\x02\x12\x02\x14\x02\x15\x02\x17\x02\x18\x02\x00\x00\x00\x00\x00\x00\x00\x00\x22\x02\x00\x00\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\x04\xdd\x04\xe1\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x01\x00\x00\x00\x00\x00\x00\xcc\x01\x84\x02\xe2\x01\x4c\x01\x9d\x04\x90\x02\x00\x00\x2e\x01\xac\x01\x00\x00\xad\x01\x00\x00\x00\x00\xf8\x01\x9c\x02\x00\x00\x00\x00\xce\x01\x00\x00\x00\x00\x00\x00\xaa\x01\x4c\x04\xa9\x04\xc7\x04\x2a\x01\x55\x01\x58\x04\x64\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x02\xb4\x02\xc0\x02\x00\x00\x70\x04\x00\x00\x00\x00\x00\x00\xcc\x02\x00\x00\x00\x00\xd8\x02\x00\x00\x00\x00\x00\x00\xe4\x02\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\xf0\x02\xcf\x01\xfc\x02\x08\x03\x00\x00\x00\x00\x00\x00\x00\x00\x14\x03\x00\x00\x20\x03\x00\x00\x2c\x03\x19\x02\x00\x00\x00\x00\x00\x00\x00\x00\x38\x03\x00\x00\x44\x03\x00\x00\x50\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb2\x04\x00\x00\x5c\x03\x68\x03\x00\x00\x74\x03\x00\x00\x80\x03\x00\x00\x8c\x03\x00\x00\x98\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x03\x00\x00\x00\x00\xbc\x03\x00\x00\xc8\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x03\x00\x00\xe0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\x03\xf8\x03\x00\x00\x7c\x04\x00\x00\x00\x00\x04\x04\x00\x00\x88\x04\x94\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x04\x1c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x04\x00\x00\x34\x04\x00\x00\x00\x00\x00\x00"#
+happyGotoOffsets = HappyA# "\x88\x00\x65\x00\x0c\x03\x0a\x03\x1e\x03\xd9\x00\x1f\x03\x0d\x00\x38\x00\x13\x00\x96\x00\xf2\x00\x39\x01\xe3\x01\x9b\x01\x0b\x00\xb1\x00\xdc\x00\x76\x01\xd0\x04\x6c\x04\x81\x00\xfc\x01\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x07\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xb4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x02\xd2\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd5\x00\x21\x02\x00\x00\x00\x00\x00\x00\xd5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd5\x00\x00\x00\x00\x00\x1e\x01\x00\x00\xbc\x00\x00\x00\xb0\x00\x00\x00\x0f\x01\x00\x00\x08\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x00\x30\x02\x3b\x02\x4a\x02\x55\x02\x29\x03\x2a\x03\x3e\x03\x37\x00\x42\x03\x44\x03\x58\x03\xf1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x03\xf5\x00\x00\x00\x00\x00\x26\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x03\x55\x03\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x01\x1d\x01\x00\x00\x00\x00\x00\x00\x0f\x01\x00\x00\x00\x00\x00\x00\xb4\x01\x64\x02\xbf\x01\xde\x04\xd9\x04\x6f\x02\x00\x00\x1f\x01\x6b\x01\x00\x00\x70\x01\x00\x00\x00\x00\xd8\x01\x7e\x02\x00\x00\x00\x00\x79\x01\x00\x00\x00\x00\x00\x00\x8f\x01\x76\x04\xe8\x04\x00\x05\x0c\x05\x0e\x05\x85\x04\x8f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x02\x98\x02\xa3\x02\x00\x00\x9e\x04\x00\x00\x00\x00\x00\x00\xb2\x02\x00\x00\x00\x00\xbd\x02\x00\x00\x00\x00\x00\x00\xcc\x02\x00\x00\x00\x00\xd5\x00\x00\x00\x00\x00\x00\x00\xd7\x02\xb7\x01\xe6\x02\x00\x00\x00\x00\xf1\x02\x00\x03\x45\x01\x60\x01\x78\x01\x98\x01\x5f\x03\x0b\x03\x1a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x03\x00\x00\x34\x03\x00\x00\x3f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x04\x00\x00\x4e\x03\x59\x03\x00\x00\x68\x03\x00\x00\x73\x03\x00\x00\x82\x03\x00\x00\x8d\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x03\x00\x00\xb6\x03\x00\x00\xc1\x03\x00\x00\xd0\x03\x45\x00\x00\x00\x00\x00\x00\x00\xdb\x03\x00\x00\xea\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\x03\x04\x04\x00\x00\xa8\x04\x00\x00\x00\x00\x0f\x04\x00\x00\xb7\x04\xc1\x04\x00\x00\x00\x00\x1e\x04\x00\x00\x29\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x04\x43\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x04\x00\x00\x5d\x04\x00\x00\x00\x00\x00\x00"#
happyAdjustOffset :: Happy_GHC_Exts.Int# -> Happy_GHC_Exts.Int#
happyAdjustOffset off = off
happyDefActions :: HappyAddr
-happyDefActions = HappyA# "\x00\x00\x00\x00\x00\x00\x00\x00\xd8\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xea\xff\xaf\xff\xb0\xff\x00\x00\x97\xff\xa9\xff\xa7\xff\xa5\xff\x9f\xff\x95\xff\xac\xff\x94\xff\x00\x00\x00\x00\xbf\xff\xbd\xff\xc0\xff\xbc\xff\xbe\xff\x00\x00\xba\xff\xc2\xff\x00\x00\xbb\xff\xc1\xff\xc3\xff\x00\x00\x00\x00\x00\x00\xb9\xff\x00\x00\xb4\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe9\xff\xe8\xff\x00\x00\x00\x00\x00\x00\x9f\xff\x00\x00\x00\x00\xac\xff\x00\x00\x00\x00\x00\x00\x00\x00\xc5\xff\x00\x00\x00\x00\x00\x00\x00\x00\xcc\xff\xd5\xff\xd1\xff\xce\xff\x00\x00\x00\x00\xd6\xff\x00\x00\x00\x00\xd3\xff\x00\x00\x00\x00\x00\x00\xd8\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe5\xff\x00\x00\x00\x00\x00\x00\xd8\xff\xe7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd7\xff\x00\x00\xd2\xff\x00\x00\xd3\xff\x00\x00\xcd\xff\x9a\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\xff\x00\x00\x00\x00\x00\x00\x99\xff\x00\x00\x00\x00\x00\x00\xaf\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\xff\xa4\xff\xab\xff\xaa\xff\xa8\xff\xa6\xff\x96\xff\x93\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\xff\x00\x00\x00\x00\x00\x00\x00\x00\xae\xff\x00\x00\x00\x00\xa1\xff\xad\xff\xc4\xff\xc6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\xff\xdf\xff\xe0\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe3\xff\xe6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\xff\x00\x00\xa0\xff\x00\x00\x00\x00\x00\x00\x00\x00\xcb\xff\xc9\xff\xb6\xff\x00\x00\x00\x00\x00\x00\xb2\xff\x00\x00\x00\x00\xca\xff\x00\x00\x00\x00\xb5\xff\xa2\xff\xd0\xff\xd4\xff\x00\x00\xe2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\xff\xe4\xff\xde\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\xff\x00\x00\x00\x00\xcf\xff\x00\x00\xd9\xff\x00\x00\xdb\xff\xdc\xff\xda\xff\x9c\xff\x9d\xff\x00\x00\x00\x00\x00\x00\xa3\xff\x00\x00\x00\x00\xc8\xff\xb7\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb1\xff"#
+happyDefActions = HappyA# "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcf\xff\xcc\xff\xcb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe7\xff\xa2\xff\xa3\xff\x00\x00\x8a\xff\x9c\xff\x9a\xff\x98\xff\x92\xff\x88\xff\x9f\xff\x87\xff\x00\x00\x00\x00\xb2\xff\xb0\xff\xb3\xff\xaf\xff\xb1\xff\x00\x00\xad\xff\xb5\xff\x00\x00\xae\xff\xb4\xff\xb6\xff\x00\x00\x00\x00\x00\x00\xac\xff\x00\x00\xa7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe6\xff\xe5\xff\x00\x00\x00\x00\x00\x00\x92\xff\x00\x00\x00\x00\x9f\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb8\xff\x00\x00\x00\x00\x00\x00\x00\x00\xbf\xff\xc8\xff\xc4\xff\xc1\xff\x00\x00\x00\x00\xc9\xff\x00\x00\x00\x00\xc6\xff\x00\x00\x00\x00\x00\x00\xca\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xff\x00\x00\x00\x00\xe3\xff\x00\x00\x00\x00\xcf\xff\xe4\xff\xe2\xff\x00\x00\x00\x00\x00\x00\xde\xff\x00\x00\x00\x00\xcc\xff\xcc\xff\xcc\xff\xdb\xff\xda\xff\xdc\xff\x00\x00\x00\x00\xcf\xff\x00\x00\x00\x00\xc5\xff\x00\x00\xc6\xff\x00\x00\xc0\xff\x8d\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\xff\x00\x00\x00\x00\x00\x00\x8c\xff\x00\x00\x00\x00\x00\x00\xa2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x91\xff\x97\xff\x9e\xff\x9d\xff\x9b\xff\x99\xff\x89\xff\x86\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\xff\x00\x00\x00\x00\x00\x00\x00\x00\xa1\xff\x00\x00\x00\x00\x94\xff\xa0\xff\xb7\xff\xb9\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xce\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcf\xff\x00\x00\x00\x00\x00\x00\xe1\xff\xd5\xff\xd6\xff\xdf\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\xff\xd7\xff\xcd\xff\x00\x00\x00\x00\x00\x00\x8e\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\xff\x00\x00\x93\xff\x00\x00\x00\x00\x00\x00\x00\x00\xbe\xff\xbc\xff\xa9\xff\x00\x00\x00\x00\x00\x00\xa5\xff\x00\x00\x00\x00\xbd\xff\x00\x00\x00\x00\xa8\xff\x95\xff\xc3\xff\xc7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd8\xff\x00\x00\xcb\xff\xd4\xff\xd9\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xba\xff\x00\x00\x00\x00\xc2\xff\xd0\xff\x00\x00\xd2\xff\x00\x00\xd3\xff\xd1\xff\x8f\xff\x90\xff\x00\x00\x00\x00\x00\x00\x96\xff\x00\x00\x00\x00\xbb\xff\xaa\xff\x00\x00\x00\x00\x00\x00\x00\x00\xa4\xff"#
happyCheck :: HappyAddr
-happyCheck = HappyA# "\xff\xff\x0b\x00\x0f\x00\x1b\x00\x0e\x00\x1d\x00\x07\x00\x10\x00\x12\x00\x13\x00\x14\x00\x15\x00\x0b\x00\x0b\x00\x0b\x00\x19\x00\x0b\x00\x0f\x00\x2a\x00\x01\x00\x02\x00\x1f\x00\x20\x00\x0d\x00\x22\x00\x23\x00\x24\x00\x25\x00\x0b\x00\x31\x00\x0c\x00\x16\x00\x3a\x00\x0f\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x15\x00\x35\x00\x11\x00\x29\x00\x29\x00\x29\x00\x0b\x00\x29\x00\x38\x00\x0e\x00\x3b\x00\x3c\x00\x3d\x00\x12\x00\x13\x00\x14\x00\x15\x00\x33\x00\x0f\x00\x29\x00\x19\x00\x3b\x00\x3b\x00\x3b\x00\x36\x00\x3b\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x3d\x00\x26\x00\x0d\x00\x27\x00\x29\x00\x3b\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x0f\x00\x32\x00\x33\x00\x1a\x00\x3d\x00\x1c\x00\x37\x00\x16\x00\x39\x00\x0b\x00\x3b\x00\x3c\x00\x0e\x00\x01\x00\x02\x00\x0b\x00\x12\x00\x13\x00\x14\x00\x15\x00\x0b\x00\x01\x00\x02\x00\x19\x00\x01\x00\x02\x00\x1b\x00\x0f\x00\x1d\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x0f\x00\x26\x00\x0b\x00\x0f\x00\x0b\x00\x01\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x08\x00\x32\x00\x33\x00\x03\x00\x04\x00\x34\x00\x37\x00\x36\x00\x39\x00\x0b\x00\x3b\x00\x3c\x00\x0e\x00\x01\x00\x02\x00\x0b\x00\x12\x00\x13\x00\x14\x00\x15\x00\x0b\x00\x01\x00\x02\x00\x19\x00\x3d\x00\x0c\x00\x0f\x00\x0f\x00\x0f\x00\x1f\x00\x20\x00\x16\x00\x22\x00\x23\x00\x24\x00\x0f\x00\x06\x00\x07\x00\x06\x00\x07\x00\x01\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x08\x00\x32\x00\x33\x00\x29\x00\x3d\x00\x35\x00\x01\x00\x02\x00\x3d\x00\x0b\x00\x3b\x00\x3c\x00\x0e\x00\x33\x00\x10\x00\x01\x00\x12\x00\x13\x00\x14\x00\x15\x00\x0f\x00\x3b\x00\x08\x00\x19\x00\x0a\x00\x0b\x00\x15\x00\x01\x00\x02\x00\x1f\x00\x20\x00\x3b\x00\x22\x00\x23\x00\x24\x00\x25\x00\x06\x00\x07\x00\x0c\x00\x3a\x00\x3d\x00\x0f\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x15\x00\x31\x00\x01\x00\x02\x00\x3d\x00\x0b\x00\x18\x00\x38\x00\x0e\x00\x18\x00\x3b\x00\x3c\x00\x12\x00\x13\x00\x14\x00\x15\x00\x0f\x00\x10\x00\x11\x00\x19\x00\x1b\x00\x18\x00\x15\x00\x18\x00\x01\x00\x1f\x00\x20\x00\x01\x00\x22\x00\x23\x00\x24\x00\x08\x00\x01\x00\x02\x00\x08\x00\x18\x00\x0a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x01\x00\x32\x00\x33\x00\x0f\x00\x10\x00\x0b\x00\x16\x00\x08\x00\x0e\x00\x15\x00\x3b\x00\x3c\x00\x12\x00\x13\x00\x14\x00\x15\x00\x01\x00\x0f\x00\x16\x00\x19\x00\x16\x00\x10\x00\x16\x00\x08\x00\x09\x00\x1f\x00\x20\x00\x01\x00\x22\x00\x23\x00\x24\x00\x16\x00\x01\x00\x02\x00\x08\x00\x09\x00\x01\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x08\x00\x32\x00\x10\x00\x0f\x00\x10\x00\x0b\x00\x16\x00\x16\x00\x0e\x00\x15\x00\x3b\x00\x3c\x00\x12\x00\x13\x00\x14\x00\x15\x00\x0d\x00\x0f\x00\x0c\x00\x19\x00\x16\x00\x16\x00\x36\x00\x01\x00\x02\x00\x1f\x00\x20\x00\x01\x00\x22\x00\x23\x00\x24\x00\x25\x00\x01\x00\x02\x00\x08\x00\x09\x00\x28\x00\x0f\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x15\x00\x18\x00\x16\x00\x0f\x00\x10\x00\x0b\x00\x16\x00\x0b\x00\x0e\x00\x15\x00\x3b\x00\x3c\x00\x12\x00\x13\x00\x14\x00\x15\x00\x0b\x00\x16\x00\x16\x00\x19\x00\x3a\x00\x18\x00\x17\x00\x17\x00\x01\x00\x1f\x00\x20\x00\x16\x00\x22\x00\x23\x00\x24\x00\x08\x00\x18\x00\x0a\x00\x0b\x00\x36\x00\x0c\x00\x29\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x01\x00\x02\x00\x34\x00\x29\x00\x33\x00\x0c\x00\x0c\x00\x1e\x00\x01\x00\x02\x00\x3b\x00\x3c\x00\x3b\x00\x33\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x0c\x00\x15\x00\x3b\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x01\x00\x02\x00\x01\x00\x01\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x08\x00\x08\x00\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x01\x00\x02\x00\x01\x00\x01\x00\x0f\x00\x0f\x00\x0c\x00\x17\x00\x17\x00\x08\x00\x08\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x01\x00\x02\x00\x18\x00\x36\x00\x0f\x00\x18\x00\x18\x00\x0f\x00\x36\x00\x34\x00\x0f\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x01\x00\x02\x00\x0f\x00\x0f\x00\x18\x00\x18\x00\x36\x00\x0f\x00\x0c\x00\x0f\x00\x0c\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x01\x00\x02\x00\x04\x00\x06\x00\x01\x00\x05\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x0d\x00\xff\xff\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x01\x00\x02\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xff\xff\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xff\xff\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xff\xff\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xff\xff\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xff\xff\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xff\xff\xff\xff\x0c\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x01\x00\x02\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\xff\xff\x15\x00\x01\x00\x02\x00\xff\xff\xff\xff\xff\xff\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\xff\xff\x15\x00\x01\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\xff\xff\x15\x00\x01\x00\x02\x00\xff\xff\x01\x00\xff\xff\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\x08\x00\x15\x00\x0a\x00\x0b\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x01\x00\xff\xff\x15\x00\xff\xff\x01\x00\xff\xff\xff\xff\x08\x00\x01\x00\x0a\x00\x0b\x00\x08\x00\xff\xff\x0a\x00\x0b\x00\x08\x00\xff\xff\x0a\x00\x0b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
+happyCheck = HappyA# "\xff\xff\x10\x00\x15\x00\x09\x00\x13\x00\x12\x00\x14\x00\x1b\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x02\x00\x01\x00\x1e\x00\x01\x00\x02\x00\x41\x00\x09\x00\x01\x00\x24\x00\x25\x00\x0a\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x10\x00\x12\x00\x0b\x00\x0c\x00\x14\x00\x12\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x10\x00\x3c\x00\x11\x00\x13\x00\x3e\x00\x14\x00\x3b\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x41\x00\x42\x00\x43\x00\x1e\x00\x43\x00\x10\x00\x01\x00\x01\x00\x2e\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x0a\x00\x2b\x00\x0b\x00\x10\x00\x2e\x00\x01\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x41\x00\x37\x00\x0a\x00\x39\x00\x20\x00\x01\x00\x22\x00\x3d\x00\x2e\x00\x3f\x00\x10\x00\x41\x00\x42\x00\x13\x00\x20\x00\x0b\x00\x22\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x2e\x00\x10\x00\x12\x00\x1e\x00\x01\x00\x10\x00\x41\x00\x04\x00\x2f\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x1f\x00\x2b\x00\x21\x00\x10\x00\x41\x00\x14\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x1b\x00\x37\x00\x1b\x00\x39\x00\x2e\x00\x01\x00\x02\x00\x3d\x00\x2e\x00\x3f\x00\x10\x00\x41\x00\x42\x00\x13\x00\x03\x00\x39\x00\x05\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x2e\x00\x12\x00\x41\x00\x1e\x00\x36\x00\x01\x00\x41\x00\x18\x00\x41\x00\x24\x00\x25\x00\x39\x00\x27\x00\x28\x00\x29\x00\x0b\x00\x38\x00\x0d\x00\x10\x00\x41\x00\x40\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x16\x00\x37\x00\x1b\x00\x39\x00\x01\x00\x01\x00\x02\x00\x14\x00\x01\x00\x02\x00\x10\x00\x41\x00\x42\x00\x13\x00\x0b\x00\x15\x00\x01\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x2e\x00\x12\x00\x13\x00\x1e\x00\x12\x00\x0b\x00\x0c\x00\x18\x00\x2c\x00\x24\x00\x25\x00\x39\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x43\x00\x01\x00\x02\x00\x41\x00\x01\x00\x02\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x01\x00\x02\x00\x01\x00\x07\x00\x08\x00\x04\x00\x10\x00\x12\x00\x3e\x00\x13\x00\x12\x00\x41\x00\x42\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x12\x00\x13\x00\x14\x00\x1e\x00\x01\x00\x01\x00\x18\x00\x04\x00\x01\x00\x24\x00\x25\x00\x04\x00\x27\x00\x28\x00\x29\x00\x0b\x00\x10\x00\x0d\x00\x0e\x00\x01\x00\x43\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x01\x00\x37\x00\x0b\x00\x39\x00\x0d\x00\x0e\x00\x10\x00\x01\x00\x10\x00\x13\x00\x0b\x00\x41\x00\x42\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x0b\x00\x0c\x00\x10\x00\x1e\x00\x01\x00\x01\x00\x01\x00\x04\x00\x10\x00\x24\x00\x25\x00\x10\x00\x27\x00\x28\x00\x29\x00\x0b\x00\x0b\x00\x0d\x00\x0e\x00\x07\x00\x08\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x10\x00\x37\x00\x10\x00\x13\x00\x43\x00\x01\x00\x02\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x41\x00\x42\x00\x1b\x00\x1e\x00\x14\x00\x3a\x00\x01\x00\x3c\x00\x0f\x00\x24\x00\x25\x00\x12\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x0b\x00\x18\x00\x0d\x00\x0e\x00\x3b\x00\x2e\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x10\x00\x07\x00\x08\x00\x13\x00\x43\x00\x39\x00\x01\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x41\x00\x42\x00\x41\x00\x1e\x00\x10\x00\x0b\x00\x01\x00\x0d\x00\x0e\x00\x24\x00\x25\x00\x01\x00\x27\x00\x28\x00\x29\x00\x1d\x00\x0b\x00\x01\x00\x02\x00\x01\x00\x01\x00\x0b\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x01\x00\x02\x00\x0b\x00\x0b\x00\x0d\x00\x0e\x00\x43\x00\x12\x00\x13\x00\x14\x00\x15\x00\x41\x00\x42\x00\x18\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x40\x00\x01\x00\x02\x00\x0f\x00\x07\x00\x08\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x01\x00\x02\x00\x43\x00\x01\x00\x36\x00\x43\x00\x41\x00\x41\x00\x41\x00\x1d\x00\x1b\x00\x01\x00\x02\x00\x0b\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x01\x00\x02\x00\x1b\x00\x20\x00\x38\x00\x1d\x00\x1b\x00\x1b\x00\x41\x00\x14\x00\x1b\x00\x01\x00\x02\x00\x1b\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x10\x00\x1b\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x01\x00\x02\x00\x15\x00\x15\x00\x1b\x00\x1b\x00\x12\x00\x1b\x00\x11\x00\x14\x00\x1b\x00\x01\x00\x02\x00\x1b\x00\x0f\x00\x3c\x00\x2d\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x11\x00\x01\x00\x02\x00\x40\x00\x0f\x00\x08\x00\x1b\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1b\x00\x01\x00\x02\x00\x1b\x00\x0f\x00\x3a\x00\x3c\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x11\x00\x01\x00\x02\x00\x11\x00\x0f\x00\x11\x00\x23\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x11\x00\x01\x00\x02\x00\x11\x00\x0f\x00\x11\x00\x1c\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x14\x00\x01\x00\x02\x00\x14\x00\x0f\x00\x11\x00\x1c\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x11\x00\x01\x00\x02\x00\x11\x00\x0f\x00\x41\x00\x1c\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1c\x00\x01\x00\x02\x00\x3c\x00\x0f\x00\x14\x00\x14\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x3c\x00\x01\x00\x02\x00\x3a\x00\x0f\x00\x14\x00\x14\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x14\x00\x01\x00\x02\x00\x3c\x00\x0f\x00\x14\x00\x14\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x11\x00\x01\x00\x02\x00\x11\x00\x0f\x00\x06\x00\x05\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x07\x00\x01\x00\x02\x00\x09\x00\x0f\x00\x01\x00\x01\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x01\x00\x01\x00\x02\x00\x00\x00\x0f\x00\x00\x00\x09\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x01\x00\x01\x00\x02\x00\x06\x00\x0f\x00\x09\x00\x00\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x09\x00\x01\x00\x02\x00\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\x01\x00\x02\x00\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\x01\x00\x02\x00\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\x01\x00\x02\x00\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\x01\x00\x02\x00\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\x01\x00\x02\x00\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\x01\x00\x02\x00\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\x01\x00\x02\x00\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\x01\x00\x02\x00\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\x01\x00\x02\x00\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x01\x00\x02\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x01\x00\x02\x00\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x12\x00\x18\x00\x01\x00\x02\x00\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x01\x00\x02\x00\x01\x00\x02\x00\x01\x00\x02\x00\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\xff\xff\xff\xff\x18\x00\x0f\x00\xff\xff\xff\xff\x12\x00\xff\xff\x12\x00\x13\x00\x12\x00\x13\x00\x18\x00\xff\xff\x18\x00\xff\xff\x18\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
happyTable :: HappyAddr
-happyTable = HappyA# "\x00\x00\x40\x00\xde\x00\x84\x00\x25\x00\x85\x00\x6a\x00\x9b\x00\x26\x00\x27\x00\x28\x00\x29\x00\x59\x00\x59\x00\x8a\x00\x2a\x00\x53\x00\xbc\x00\x96\x00\x17\x00\x18\x00\x2b\x00\x2c\x00\x83\x00\x2e\x00\x2f\x00\x30\x00\x80\x00\x59\x00\x68\x00\x4c\x00\xad\x00\x17\x00\x1a\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x4d\x00\x81\x00\x98\x00\x54\x00\x54\x00\x54\x00\x24\x00\x54\x00\x9c\x00\x25\x00\x3c\x00\x3d\x00\xff\xff\x26\x00\x27\x00\x28\x00\x29\x00\x55\x00\x95\x00\x54\x00\x2a\x00\x3c\x00\x3c\x00\x3c\x00\xae\x00\x3c\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xff\xff\x31\x00\x83\x00\x97\x00\x94\x00\x3c\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\xbc\x00\x38\x00\x39\x00\x99\x00\xff\xff\x9a\x00\x3a\x00\xdc\x00\x3b\x00\x24\x00\x3c\x00\x3d\x00\x25\x00\x17\x00\x18\x00\x91\x00\x26\x00\x27\x00\x28\x00\x29\x00\x8e\x00\x17\x00\x18\x00\x2a\x00\x17\x00\x18\x00\x84\x00\x47\x00\x85\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x7e\x00\x31\x00\x8d\x00\x8e\x00\x88\x00\x4e\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x59\x00\x38\x00\x39\x00\x6a\x00\x6b\x00\xee\x00\x3a\x00\xef\x00\x3b\x00\x24\x00\x3c\x00\x3d\x00\x25\x00\x17\x00\x18\x00\x87\x00\x26\x00\x27\x00\x28\x00\x29\x00\x53\x00\x17\x00\x18\x00\x2a\x00\xff\xff\xb3\x00\x82\x00\x8a\x00\xb4\x00\x2b\x00\x2c\x00\xc7\x00\x2e\x00\x2f\x00\x30\x00\x7e\x00\x5a\x00\x5b\x00\x5a\x00\x77\x00\x4e\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x88\x00\x38\x00\x39\x00\x54\x00\xff\xff\x81\x00\x17\x00\x18\x00\xff\xff\x40\x00\x3c\x00\x3d\x00\x25\x00\x55\x00\xcc\xff\x4e\x00\x26\x00\x27\x00\x28\x00\x29\x00\x1a\x00\x3c\x00\x4f\x00\x2a\x00\x50\x00\x51\x00\x3e\x00\x17\x00\x18\x00\x2b\x00\x2c\x00\x3c\x00\x2e\x00\x2f\x00\x30\x00\x80\x00\x5a\x00\x6c\x00\x91\x00\x17\x00\xff\xff\x1a\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x4d\x00\x68\x00\x17\x00\x18\x00\xff\xff\x24\x00\xca\x00\xcc\xff\x25\x00\xc9\x00\x3c\x00\x3d\x00\x26\x00\x27\x00\x28\x00\x29\x00\x1a\x00\x1b\x00\x45\x00\x2a\x00\xc8\x00\xc1\x00\x43\x00\xc0\x00\x4e\x00\x2b\x00\x2c\x00\x4e\x00\x2e\x00\x2f\x00\x30\x00\x7a\x00\x17\x00\x18\x00\x4f\x00\xbf\x00\x55\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x4e\x00\x38\x00\x39\x00\x1a\x00\x46\x00\x40\x00\xbe\x00\x78\x00\x25\x00\x43\x00\x3c\x00\x3d\x00\x26\x00\x27\x00\x28\x00\x29\x00\x4e\x00\xbc\x00\xbd\x00\x2a\x00\xbb\x00\xa9\x00\xb0\x00\x56\x00\x57\x00\x2b\x00\x2c\x00\x4e\x00\x2e\x00\x2f\x00\x30\x00\xa6\x00\x17\x00\x18\x00\x7b\x00\x7c\x00\x4e\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\xb1\x00\x38\x00\xa7\x00\x1a\x00\x9f\x00\x40\x00\xa5\x00\xe2\x00\x25\x00\x43\x00\x3c\x00\x3d\x00\x26\x00\x27\x00\x28\x00\x29\x00\x83\x00\xe0\x00\xdf\x00\x2a\x00\xda\x00\xd9\x00\xd7\x00\x17\x00\x18\x00\x2b\x00\x2c\x00\x4e\x00\x2e\x00\x2f\x00\x30\x00\x80\x00\x17\x00\x18\x00\x56\x00\x79\x00\xd6\x00\x1a\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\xb6\x00\xfe\x00\xd1\x00\x1a\x00\x9e\x00\x40\x00\xcf\x00\x53\x00\x25\x00\x43\x00\x3c\x00\x3d\x00\x26\x00\x27\x00\x28\x00\x29\x00\x53\x00\xcd\x00\xc5\x00\x2a\x00\x17\x00\xfd\x00\xfb\x00\xf9\x00\x4e\x00\x2b\x00\x2c\x00\xc3\x00\x2e\x00\x2f\x00\x30\x00\x4f\x00\xf7\x00\x50\x00\x8f\x00\xec\x00\xf5\x00\x54\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x17\x00\x18\x00\xf6\x00\x54\x00\x55\x00\xf4\x00\xf2\x00\xe8\x00\x17\x00\x18\x00\x3c\x00\x3d\x00\x3c\x00\x55\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x42\x00\x19\x00\x43\x00\x3c\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x17\x00\x18\x00\x4e\x00\x4e\x00\xe7\x00\xe6\x00\x0b\x01\x08\x01\x06\x01\xb0\x00\xae\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\xa3\x00\x19\x00\x48\x00\x49\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x4a\x00\x17\x00\x18\x00\x4e\x00\x4e\x00\x0a\x01\x09\x01\x05\x01\x03\x01\x01\x01\xa7\x00\xd3\x00\x19\x00\x48\x00\xb9\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x4a\x00\x17\x00\x18\x00\xff\x00\x13\x01\x12\x01\x17\x01\x15\x01\x11\x01\x10\x01\x0f\x01\x0c\x01\x19\x00\x48\x00\xb7\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x4a\x00\x17\x00\x18\x00\x1e\x01\x1d\x01\x19\x01\x18\x01\x22\x01\x24\x01\x23\x01\x26\x01\x28\x01\x19\x00\x48\x00\xaa\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xab\x00\x17\x00\x18\x00\x68\x00\x65\x00\x72\x00\x66\x00\x71\x00\x70\x00\x6f\x00\x6e\x00\xca\x00\x19\x00\x4b\x00\x00\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x4a\x00\x17\x00\x18\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x92\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x3d\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x85\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x8b\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x85\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x76\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x75\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x74\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x73\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xb8\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xb4\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xa9\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xe4\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xe3\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xe2\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xdc\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xda\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xd7\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xd4\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xd2\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xd1\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xcf\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xcd\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xcb\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xfb\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xf9\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xf7\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xf0\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xef\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xec\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xea\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xe9\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xe8\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x06\x01\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x03\x01\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x01\x01\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xff\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x15\x01\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x13\x01\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x0d\x01\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x0c\x01\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x1b\x01\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x20\x01\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x1f\x01\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x24\x01\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x26\x01\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x40\x00\x41\x00\x20\x00\x00\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x40\x00\xa2\x00\x20\x00\x00\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x40\x00\x9d\x00\x20\x00\x00\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x40\x00\x9c\x00\x20\x00\x00\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x40\x00\xe0\x00\x20\x00\x00\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x40\x00\x1e\x01\x20\x00\x00\x00\x00\x00\x19\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x40\x00\x1a\x01\x20\x00\x17\x00\x18\x00\x19\x00\x00\x00\x00\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x40\x00\x19\x01\x20\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xb5\x00\x00\x00\x43\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xa1\x00\x00\x00\x43\x00\x17\x00\x18\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xf2\x00\x00\x00\x43\x00\x17\x00\x18\x00\x00\x00\x4e\x00\x00\x00\x1a\x00\x1b\x00\x1c\x00\x44\x00\x00\x00\x4f\x00\x43\x00\x50\x00\x7d\x00\x1a\x00\x1b\x00\x1c\x00\xa0\x00\x4e\x00\x00\x00\x43\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x4e\x00\x50\x00\xc5\x00\x4f\x00\x00\x00\x50\x00\xc3\x00\x4f\x00\x00\x00\x50\x00\xc1\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x00\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
+happyTable = HappyA# "\x00\x00\x43\x00\xae\x00\x75\x00\x28\x00\x96\x00\xf5\x00\xc0\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x1a\x00\x1b\x00\x5d\x00\x2d\x00\x1a\x00\x1b\x00\x3f\x00\x75\x00\x51\x00\x2e\x00\x2f\x00\x5e\x00\x31\x00\x32\x00\x33\x00\x93\x00\x5c\x00\x4a\x00\x59\x00\x5a\x00\xcf\x00\x91\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x27\x00\xc1\x00\xc6\x00\x28\x00\xaf\x00\xc7\x00\x94\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x3f\x00\x40\x00\xff\xff\x2d\x00\xff\xff\x5c\x00\x5d\x00\x51\x00\x57\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x80\x00\x34\x00\x5c\x00\x9d\x00\xa7\x00\x5d\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3f\x00\x3b\x00\x14\x01\x3c\x00\x97\x00\x51\x00\x98\x00\x3d\x00\x57\x00\x3e\x00\x27\x00\x3f\x00\x40\x00\x28\x00\x97\x00\x9b\x00\x98\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x57\x00\x56\x00\x96\x00\x2d\x00\x75\x00\x5c\x00\x3f\x00\x76\x00\xa9\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\xac\x00\x34\x00\xad\x00\x56\x00\x3f\x00\xcf\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xf3\x00\x3b\x00\xe6\x00\x3c\x00\x57\x00\x1a\x00\x1b\x00\x3d\x00\x57\x00\x3e\x00\x27\x00\x3f\x00\x40\x00\x28\x00\x77\x00\x58\x00\x78\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x57\x00\x1d\x00\x3f\x00\x2d\x00\x73\x00\x51\x00\x3f\x00\x41\x00\x3f\x00\x2e\x00\x2f\x00\x58\x00\x31\x00\x32\x00\x33\x00\x52\x00\x61\x00\x58\x00\x56\x00\x3f\x00\x1a\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xab\x00\x3b\x00\xe4\x00\x3c\x00\x51\x00\x1a\x00\x1b\x00\xa8\x00\x1a\x00\x1b\x00\x43\x00\x3f\x00\x40\x00\x28\x00\x8d\x00\xbf\xff\x51\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x57\x00\x1d\x00\x49\x00\x2d\x00\xa1\x00\x8e\x00\x8f\x00\x46\x00\xaa\x00\x2e\x00\x2f\x00\x58\x00\x31\x00\x32\x00\x33\x00\x93\x00\xff\xff\x1a\x00\x1b\x00\x3f\x00\x1a\x00\x1b\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x1a\x00\x1b\x00\x75\x00\x61\x00\x62\x00\x88\x00\x27\x00\x9d\x00\xbf\xff\x28\x00\x91\x00\x3f\x00\x40\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x1d\x00\x1e\x00\x48\x00\x2d\x00\x75\x00\x51\x00\x46\x00\x7c\x00\x75\x00\x2e\x00\x2f\x00\x7a\x00\x31\x00\x32\x00\x33\x00\x52\x00\xa4\x00\x53\x00\x54\x00\x51\x00\xff\xff\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x51\x00\x3b\x00\x52\x00\x3c\x00\x53\x00\xa2\x00\x43\x00\x51\x00\xa1\x00\x28\x00\x8b\x00\x3f\x00\x40\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x59\x00\x8c\x00\xa0\x00\x2d\x00\x75\x00\x51\x00\x51\x00\xd0\x00\x9b\x00\x2e\x00\x2f\x00\x9a\x00\x31\x00\x32\x00\x33\x00\x52\x00\xc4\x00\x53\x00\x90\x00\x61\x00\x79\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x43\x00\x3b\x00\x56\x00\x28\x00\xff\xff\x1a\x00\x1b\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x3f\x00\x40\x00\xe2\x00\x2d\x00\x95\x00\x05\x01\x51\x00\x06\x01\x4f\x00\x2e\x00\x2f\x00\x1d\x00\x31\x00\x32\x00\x33\x00\x93\x00\x52\x00\x50\x00\x53\x00\xe4\x00\x94\x00\x57\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x43\x00\x61\x00\xd1\x00\x28\x00\xff\xff\x58\x00\x51\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x3f\x00\x40\x00\x3f\x00\x2d\x00\x8b\x00\x52\x00\x51\x00\x53\x00\xe2\x00\x2e\x00\x2f\x00\x51\x00\x31\x00\x32\x00\x33\x00\x8a\x00\xc3\x00\x1a\x00\x1b\x00\x51\x00\x51\x00\xc1\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x1a\x00\x1b\x00\x52\x00\xba\x00\x53\x00\xe0\x00\xff\xff\x1d\x00\x1e\x00\x1f\x00\x47\x00\x3f\x00\x40\x00\x46\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1a\x00\x1a\x00\x1b\x00\x1c\x00\x61\x00\xdf\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\xb6\x00\x1c\x00\x4b\x00\x4c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x4d\x00\x1a\x00\x1b\x00\xff\xff\x51\x00\x73\x00\xff\xff\x3f\x00\x3f\x00\x3f\x00\xdc\x00\xdb\x00\x1a\x00\x1b\x00\xea\x00\x1c\x00\x4b\x00\xcc\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x4d\x00\x1c\x00\x4b\x00\xca\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x4d\x00\x1a\x00\x1b\x00\xda\x00\xd9\x00\x61\x00\xd8\x00\xd4\x00\xd3\x00\x3f\x00\xcf\x00\xd0\x00\x1a\x00\x1b\x00\xce\x00\x1c\x00\x4b\x00\xbd\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xbe\x00\x1c\x00\x4e\x00\xc3\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x4d\x00\x1a\x00\x1b\x00\xbc\x00\xba\x00\xb9\x00\xb8\x00\x96\x00\xf9\x00\xf6\x00\xf7\x00\xf1\x00\xa5\x00\x1b\x00\xf0\x00\x1c\x00\xee\x00\xed\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x40\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x98\x00\xe9\x00\x1a\x00\x1b\x00\x1a\x00\x1c\x00\x14\x01\x13\x01\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x9e\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x98\x00\x11\x01\x1a\x00\x1b\x00\x0f\x01\x1c\x00\x0d\x01\x03\x01\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x87\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x86\x00\x0c\x01\x1a\x00\x1b\x00\x0b\x01\x1c\x00\x09\x01\xff\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x85\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x84\x00\xfe\x00\x1a\x00\x1b\x00\xfd\x00\x1c\x00\x22\x01\x1a\x01\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xcb\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xc7\x00\x21\x01\x1a\x00\x1b\x00\x20\x01\x1c\x00\x1f\x01\x18\x01\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xbc\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xfb\x00\x1d\x01\x1a\x00\x1b\x00\x1c\x01\x1c\x00\x3f\x00\x2e\x01\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xfa\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xf9\x00\x2c\x01\x1a\x00\x1b\x00\x2a\x01\x1c\x00\x29\x01\x28\x01\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xf3\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xf1\x00\x27\x01\x1a\x00\x1b\x00\x26\x01\x1c\x00\x23\x01\x35\x01\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xee\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xeb\x00\x34\x01\x1a\x00\x1b\x00\x39\x01\x1c\x00\x3b\x01\x3d\x01\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xe9\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xe7\x00\x3a\x01\x1a\x00\x1b\x00\x3f\x01\x1c\x00\x71\x00\x73\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xe6\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xdd\x00\x70\x00\x1a\x00\x1b\x00\x5f\x00\x1c\x00\x83\x00\x82\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xdc\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x11\x01\x81\x00\x1a\x00\x1b\x00\x7f\x00\x1c\x00\x7e\x00\xd6\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x01\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0d\x01\x7d\x00\x1a\x00\x1b\x00\x7b\x00\x1c\x00\xd5\x00\xde\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x07\x01\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x06\x01\xd4\x00\x1a\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x03\x01\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x01\x01\x00\x00\x1a\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x00\x01\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\x00\x00\x00\x1a\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x1d\x01\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x1a\x01\x00\x00\x1a\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x18\x01\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x16\x01\x00\x00\x1a\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x15\x01\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x2c\x01\x00\x00\x1a\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x2a\x01\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x01\x00\x00\x1a\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x23\x01\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x32\x01\x00\x00\x1a\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x2f\x01\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x2e\x01\x00\x00\x1a\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x37\x01\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x36\x01\x00\x00\x1a\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x3b\x01\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x3d\x01\x1a\x00\x1b\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x43\x00\x44\x00\x23\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x43\x00\xb5\x00\x23\x00\x00\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x43\x00\xb0\x00\x23\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x43\x00\xaf\x00\x23\x00\x00\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x43\x00\xf7\x00\x23\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x43\x00\x35\x01\x23\x00\x00\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x43\x00\x31\x01\x23\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x43\x00\x30\x01\x23\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x1b\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x45\x00\x00\x00\x46\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xc8\x00\x1d\x00\x46\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\xc9\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xb4\x00\x00\x00\x46\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x09\x01\x00\x00\x46\x00\x00\x00\x1a\x00\x1b\x00\x1a\x00\x1b\x00\x1a\x00\x1b\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\xb3\x00\x00\x00\x00\x00\x46\x00\xa4\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x1d\x00\xb2\x00\x1d\x00\xb1\x00\x50\x00\x00\x00\x46\x00\x00\x00\x46\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
-happyReduceArr = Happy_Data_Array.array (21, 108) [
- (21 , happyReduce_21),
- (22 , happyReduce_22),
- (23 , happyReduce_23),
+happyReduceArr = Happy_Data_Array.array (24, 121) [
(24 , happyReduce_24),
(25 , happyReduce_25),
(26 , happyReduce_26),
@@ -348,129 +369,152 @@ happyReduceArr = Happy_Data_Array.array (21, 108) [
(105 , happyReduce_105),
(106 , happyReduce_106),
(107 , happyReduce_107),
- (108 , happyReduce_108)
+ (108 , happyReduce_108),
+ (109 , happyReduce_109),
+ (110 , happyReduce_110),
+ (111 , happyReduce_111),
+ (112 , happyReduce_112),
+ (113 , happyReduce_113),
+ (114 , happyReduce_114),
+ (115 , happyReduce_115),
+ (116 , happyReduce_116),
+ (117 , happyReduce_117),
+ (118 , happyReduce_118),
+ (119 , happyReduce_119),
+ (120 , happyReduce_120),
+ (121 , happyReduce_121)
]
-happy_n_terms = 62 :: Prelude.Int
-happy_n_nonterms = 24 :: Prelude.Int
+happy_n_terms = 68 :: Prelude.Int
+happy_n_nonterms = 27 :: Prelude.Int
-happyReduce_21 = happySpecReduce_1 0# happyReduction_21
-happyReduction_21 happy_x_1
+happyReduce_24 = happySpecReduce_1 0# happyReduction_24
+happyReduction_24 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- happyIn24
+ happyIn27
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), ((\(PT _ (TL s)) -> s) happy_var_1))
)}
-happyReduce_22 = happySpecReduce_1 1# happyReduction_22
-happyReduction_22 happy_x_1
+happyReduce_25 = happySpecReduce_1 1# happyReduction_25
+happyReduction_25 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- happyIn25
+ happyIn28
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.VarIdent (tokenText happy_var_1))
)}
-happyReduce_23 = happySpecReduce_1 2# happyReduction_23
-happyReduction_23 happy_x_1
+happyReduce_26 = happySpecReduce_1 2# happyReduction_26
+happyReduction_26 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- happyIn26
+ happyIn29
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.HoleIdent (tokenText happy_var_1))
)}
-happyReduce_24 = happySpecReduce_2 3# happyReduction_24
-happyReduction_24 happy_x_2
+happyReduce_27 = happySpecReduce_2 3# happyReduction_27
+happyReduction_27 happy_x_2
+ happy_x_1
+ = case happyOut32 happy_x_1 of { (HappyWrap32 happy_var_1) ->
+ case happyOut35 happy_x_2 of { (HappyWrap35 happy_var_2) ->
+ happyIn30
+ ((fst happy_var_1, Language.Rzk.Syntax.Abs.Module (fst happy_var_1) (snd happy_var_1) (snd happy_var_2))
+ )}}
+
+happyReduce_28 = happySpecReduce_1 4# happyReduction_28
+happyReduction_28 happy_x_1
+ = case happyOut28 happy_x_1 of { (HappyWrap28 happy_var_1) ->
+ happyIn31
+ ((fst happy_var_1, (:[]) (snd happy_var_1))
+ )}
+
+happyReduce_29 = happySpecReduce_2 4# happyReduction_29
+happyReduction_29 happy_x_2
happy_x_1
= case happyOut28 happy_x_1 of { (HappyWrap28 happy_var_1) ->
case happyOut31 happy_x_2 of { (HappyWrap31 happy_var_2) ->
- happyIn27
- ((fst happy_var_1, Language.Rzk.Syntax.Abs.Module (fst happy_var_1) (snd happy_var_1) (snd happy_var_2))
+ happyIn31
+ ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_2))
)}}
-happyReduce_25 = happySpecReduce_3 4# happyReduction_25
-happyReduction_25 happy_x_3
+happyReduce_30 = happySpecReduce_3 5# happyReduction_30
+happyReduction_30 happy_x_3
happy_x_2
happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut29 happy_x_2 of { (HappyWrap29 happy_var_2) ->
- happyIn28
+ case happyOut33 happy_x_2 of { (HappyWrap33 happy_var_2) ->
+ happyIn32
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.LanguageDecl (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
)}}
-happyReduce_26 = happySpecReduce_1 5# happyReduction_26
-happyReduction_26 happy_x_1
+happyReduce_31 = happySpecReduce_1 6# happyReduction_31
+happyReduction_31 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- happyIn29
+ happyIn33
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Rzk1 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
-happyReduce_27 = happyReduce 5# 6# happyReduction_27
-happyReduction_27 (happy_x_5 `HappyStk`
- happy_x_4 `HappyStk`
+happyReduce_32 = happyReduce 4# 7# happyReduction_32
+happyReduction_32 (happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut24 happy_x_2 of { (HappyWrap24 happy_var_2) ->
- case happyOut24 happy_x_4 of { (HappyWrap24 happy_var_4) ->
- happyIn30
+ case happyOut27 happy_x_2 of { (HappyWrap27 happy_var_2) ->
+ case happyOut27 happy_x_4 of { (HappyWrap27 happy_var_4) ->
+ happyIn34
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandSetOption (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_28 = happySpecReduce_3 6# happyReduction_28
-happyReduction_28 happy_x_3
- happy_x_2
+happyReduce_33 = happySpecReduce_2 7# happyReduction_33
+happyReduction_33 happy_x_2
happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut24 happy_x_2 of { (HappyWrap24 happy_var_2) ->
- happyIn30
+ case happyOut27 happy_x_2 of { (HappyWrap27 happy_var_2) ->
+ happyIn34
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandUnsetOption (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
)}}
-happyReduce_29 = happyReduce 5# 6# happyReduction_29
-happyReduction_29 (happy_x_5 `HappyStk`
- happy_x_4 `HappyStk`
+happyReduce_34 = happyReduce 4# 7# happyReduction_34
+happyReduction_34 (happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut46 happy_x_2 of { (HappyWrap46 happy_var_2) ->
- case happyOut46 happy_x_4 of { (HappyWrap46 happy_var_4) ->
- happyIn30
+ case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) ->
+ case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) ->
+ happyIn34
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandCheck (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_30 = happySpecReduce_3 6# happyReduction_30
-happyReduction_30 happy_x_3
- happy_x_2
+happyReduce_35 = happySpecReduce_2 7# happyReduction_35
+happyReduction_35 happy_x_2
happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut46 happy_x_2 of { (HappyWrap46 happy_var_2) ->
- happyIn30
+ case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) ->
+ happyIn34
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandCompute (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
)}}
-happyReduce_31 = happySpecReduce_3 6# happyReduction_31
-happyReduction_31 happy_x_3
- happy_x_2
+happyReduce_36 = happySpecReduce_2 7# happyReduction_36
+happyReduction_36 happy_x_2
happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut46 happy_x_2 of { (HappyWrap46 happy_var_2) ->
- happyIn30
+ case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) ->
+ happyIn34
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandComputeWHNF (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
)}}
-happyReduce_32 = happySpecReduce_3 6# happyReduction_32
-happyReduction_32 happy_x_3
- happy_x_2
+happyReduce_37 = happySpecReduce_2 7# happyReduction_37
+happyReduction_37 happy_x_2
happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut46 happy_x_2 of { (HappyWrap46 happy_var_2) ->
- happyIn30
+ case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) ->
+ happyIn34
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandComputeNF (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
)}}
-happyReduce_33 = happyReduce 6# 6# happyReduction_33
-happyReduction_33 (happy_x_6 `HappyStk`
+happyReduce_38 = happyReduce 6# 7# happyReduction_38
+happyReduction_38 (happy_x_6 `HappyStk`
happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
@@ -478,29 +522,86 @@ happyReduction_33 (happy_x_6 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut25 happy_x_2 of { (HappyWrap25 happy_var_2) ->
- case happyOut35 happy_x_3 of { (HappyWrap35 happy_var_3) ->
- case happyOut46 happy_x_5 of { (HappyWrap46 happy_var_5) ->
- happyIn30
- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandPostulate (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_5))
- ) `HappyStk` happyRest}}}}
+ case happyOut28 happy_x_2 of { (HappyWrap28 happy_var_2) ->
+ case happyOut36 happy_x_3 of { (HappyWrap36 happy_var_3) ->
+ case happyOut41 happy_x_4 of { (HappyWrap41 happy_var_4) ->
+ case happyOut52 happy_x_6 of { (HappyWrap52 happy_var_6) ->
+ happyIn34
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandPostulate (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4) (snd happy_var_6))
+ ) `HappyStk` happyRest}}}}}
-happyReduce_34 = happyReduce 5# 6# happyReduction_34
-happyReduction_34 (happy_x_5 `HappyStk`
+happyReduce_39 = happyReduce 5# 7# happyReduction_39
+happyReduction_39 (happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut25 happy_x_2 of { (HappyWrap25 happy_var_2) ->
- case happyOut46 happy_x_4 of { (HappyWrap46 happy_var_4) ->
- happyIn30
- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandPostulateNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
+ case happyOut28 happy_x_2 of { (HappyWrap28 happy_var_2) ->
+ case happyOut36 happy_x_3 of { (HappyWrap36 happy_var_3) ->
+ case happyOut52 happy_x_5 of { (HappyWrap52 happy_var_5) ->
+ happyIn34
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandPostulateNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_5))
+ ) `HappyStk` happyRest}}}}
+
+happyReduce_40 = happyReduce 4# 7# happyReduction_40
+happyReduction_40 (happy_x_4 `HappyStk`
+ happy_x_3 `HappyStk`
+ happy_x_2 `HappyStk`
+ happy_x_1 `HappyStk`
+ happyRest)
+ = case happyOutTok happy_x_1 of { happy_var_1 ->
+ case happyOut31 happy_x_2 of { (HappyWrap31 happy_var_2) ->
+ case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) ->
+ happyIn34
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandAssume (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
+ ) `HappyStk` happyRest}}}
+
+happyReduce_41 = happyReduce 4# 7# happyReduction_41
+happyReduction_41 (happy_x_4 `HappyStk`
+ happy_x_3 `HappyStk`
+ happy_x_2 `HappyStk`
+ happy_x_1 `HappyStk`
+ happyRest)
+ = case happyOutTok happy_x_1 of { happy_var_1 ->
+ case happyOut28 happy_x_2 of { (HappyWrap28 happy_var_2) ->
+ case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) ->
+ happyIn34
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandVariable (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_35 = happyReduce 8# 6# happyReduction_35
-happyReduction_35 (happy_x_8 `HappyStk`
+happyReduce_42 = happyReduce 4# 7# happyReduction_42
+happyReduction_42 (happy_x_4 `HappyStk`
+ happy_x_3 `HappyStk`
+ happy_x_2 `HappyStk`
+ happy_x_1 `HappyStk`
+ happyRest)
+ = case happyOutTok happy_x_1 of { happy_var_1 ->
+ case happyOut31 happy_x_2 of { (HappyWrap31 happy_var_2) ->
+ case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) ->
+ happyIn34
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandVariables (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
+ ) `HappyStk` happyRest}}}
+
+happyReduce_43 = happyReduce 6# 7# happyReduction_43
+happyReduction_43 (happy_x_6 `HappyStk`
+ happy_x_5 `HappyStk`
+ happy_x_4 `HappyStk`
+ happy_x_3 `HappyStk`
+ happy_x_2 `HappyStk`
+ happy_x_1 `HappyStk`
+ happyRest)
+ = case happyOutTok happy_x_1 of { happy_var_1 ->
+ case happyOut37 happy_x_2 of { (HappyWrap37 happy_var_2) ->
+ case happyOut35 happy_x_4 of { (HappyWrap35 happy_var_4) ->
+ case happyOut37 happy_x_6 of { (HappyWrap37 happy_var_6) ->
+ happyIn34
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandSection (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))
+ ) `HappyStk` happyRest}}}}
+
+happyReduce_44 = happyReduce 8# 7# happyReduction_44
+happyReduction_44 (happy_x_8 `HappyStk`
happy_x_7 `HappyStk`
happy_x_6 `HappyStk`
happy_x_5 `HappyStk`
@@ -510,16 +611,17 @@ happyReduction_35 (happy_x_8 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut25 happy_x_2 of { (HappyWrap25 happy_var_2) ->
- case happyOut35 happy_x_3 of { (HappyWrap35 happy_var_3) ->
- case happyOut46 happy_x_5 of { (HappyWrap46 happy_var_5) ->
- case happyOut46 happy_x_7 of { (HappyWrap46 happy_var_7) ->
- happyIn30
- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandDefine (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7))
- ) `HappyStk` happyRest}}}}}
+ case happyOut28 happy_x_2 of { (HappyWrap28 happy_var_2) ->
+ case happyOut36 happy_x_3 of { (HappyWrap36 happy_var_3) ->
+ case happyOut41 happy_x_4 of { (HappyWrap41 happy_var_4) ->
+ case happyOut52 happy_x_6 of { (HappyWrap52 happy_var_6) ->
+ case happyOut52 happy_x_8 of { (HappyWrap52 happy_var_8) ->
+ happyIn34
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandDefine (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4) (snd happy_var_6) (snd happy_var_8))
+ ) `HappyStk` happyRest}}}}}}
-happyReduce_36 = happyReduce 7# 6# happyReduction_36
-happyReduction_36 (happy_x_7 `HappyStk`
+happyReduce_45 = happyReduce 7# 7# happyReduction_45
+happyReduction_45 (happy_x_7 `HappyStk`
happy_x_6 `HappyStk`
happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
@@ -528,15 +630,16 @@ happyReduction_36 (happy_x_7 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut25 happy_x_2 of { (HappyWrap25 happy_var_2) ->
- case happyOut46 happy_x_4 of { (HappyWrap46 happy_var_4) ->
- case happyOut46 happy_x_6 of { (HappyWrap46 happy_var_6) ->
- happyIn30
- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandDefineNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))
- ) `HappyStk` happyRest}}}}
+ case happyOut28 happy_x_2 of { (HappyWrap28 happy_var_2) ->
+ case happyOut36 happy_x_3 of { (HappyWrap36 happy_var_3) ->
+ case happyOut52 happy_x_5 of { (HappyWrap52 happy_var_5) ->
+ case happyOut52 happy_x_7 of { (HappyWrap52 happy_var_7) ->
+ happyIn34
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandDefineNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7))
+ ) `HappyStk` happyRest}}}}}
-happyReduce_37 = happyReduce 8# 6# happyReduction_37
-happyReduction_37 (happy_x_8 `HappyStk`
+happyReduce_46 = happyReduce 8# 7# happyReduction_46
+happyReduction_46 (happy_x_8 `HappyStk`
happy_x_7 `HappyStk`
happy_x_6 `HappyStk`
happy_x_5 `HappyStk`
@@ -546,16 +649,17 @@ happyReduction_37 (happy_x_8 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut25 happy_x_2 of { (HappyWrap25 happy_var_2) ->
- case happyOut35 happy_x_3 of { (HappyWrap35 happy_var_3) ->
- case happyOut46 happy_x_5 of { (HappyWrap46 happy_var_5) ->
- case happyOut46 happy_x_7 of { (HappyWrap46 happy_var_7) ->
- happyIn30
- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandDef (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7))
- ) `HappyStk` happyRest}}}}}
+ case happyOut28 happy_x_2 of { (HappyWrap28 happy_var_2) ->
+ case happyOut36 happy_x_3 of { (HappyWrap36 happy_var_3) ->
+ case happyOut41 happy_x_4 of { (HappyWrap41 happy_var_4) ->
+ case happyOut52 happy_x_6 of { (HappyWrap52 happy_var_6) ->
+ case happyOut52 happy_x_8 of { (HappyWrap52 happy_var_8) ->
+ happyIn34
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandDef (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4) (snd happy_var_6) (snd happy_var_8))
+ ) `HappyStk` happyRest}}}}}}
-happyReduce_38 = happyReduce 7# 6# happyReduction_38
-happyReduction_38 (happy_x_7 `HappyStk`
+happyReduce_47 = happyReduce 7# 7# happyReduction_47
+happyReduction_47 (happy_x_7 `HappyStk`
happy_x_6 `HappyStk`
happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
@@ -564,94 +668,125 @@ happyReduction_38 (happy_x_7 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut25 happy_x_2 of { (HappyWrap25 happy_var_2) ->
- case happyOut46 happy_x_4 of { (HappyWrap46 happy_var_4) ->
- case happyOut46 happy_x_6 of { (HappyWrap46 happy_var_6) ->
- happyIn30
- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandDefNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))
- ) `HappyStk` happyRest}}}}
+ case happyOut28 happy_x_2 of { (HappyWrap28 happy_var_2) ->
+ case happyOut36 happy_x_3 of { (HappyWrap36 happy_var_3) ->
+ case happyOut52 happy_x_5 of { (HappyWrap52 happy_var_5) ->
+ case happyOut52 happy_x_7 of { (HappyWrap52 happy_var_7) ->
+ happyIn34
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandDefNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7))
+ ) `HappyStk` happyRest}}}}}
-happyReduce_39 = happySpecReduce_0 7# happyReduction_39
-happyReduction_39 = happyIn31
+happyReduce_48 = happySpecReduce_0 8# happyReduction_48
+happyReduction_48 = happyIn35
((Language.Rzk.Syntax.Abs.BNFC'NoPosition, [])
)
-happyReduce_40 = happySpecReduce_2 7# happyReduction_40
-happyReduction_40 happy_x_2
+happyReduce_49 = happySpecReduce_3 8# happyReduction_49
+happyReduction_49 happy_x_3
+ happy_x_2
happy_x_1
- = case happyOut30 happy_x_1 of { (HappyWrap30 happy_var_1) ->
- case happyOut31 happy_x_2 of { (HappyWrap31 happy_var_2) ->
- happyIn31
- ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_2))
+ = case happyOut34 happy_x_1 of { (HappyWrap34 happy_var_1) ->
+ case happyOut35 happy_x_3 of { (HappyWrap35 happy_var_3) ->
+ happyIn35
+ ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_41 = happySpecReduce_1 8# happyReduction_41
-happyReduction_41 happy_x_1
+happyReduce_50 = happyReduce 4# 9# happyReduction_50
+happyReduction_50 (happy_x_4 `HappyStk`
+ happy_x_3 `HappyStk`
+ happy_x_2 `HappyStk`
+ happy_x_1 `HappyStk`
+ happyRest)
+ = case happyOutTok happy_x_1 of { happy_var_1 ->
+ case happyOut31 happy_x_3 of { (HappyWrap31 happy_var_3) ->
+ happyIn36
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.DeclUsedVars (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3))
+ ) `HappyStk` happyRest}}
+
+happyReduce_51 = happySpecReduce_0 9# happyReduction_51
+happyReduction_51 = happyIn36
+ ((Language.Rzk.Syntax.Abs.BNFC'NoPosition, Language.Rzk.Syntax.Abs.noDeclUsedVars Language.Rzk.Syntax.Abs.BNFC'NoPosition)
+ )
+
+happyReduce_52 = happySpecReduce_0 10# happyReduction_52
+happyReduction_52 = happyIn37
+ ((Language.Rzk.Syntax.Abs.BNFC'NoPosition, Language.Rzk.Syntax.Abs.NoSectionName Language.Rzk.Syntax.Abs.BNFC'NoPosition)
+ )
+
+happyReduce_53 = happySpecReduce_1 10# happyReduction_53
+happyReduction_53 happy_x_1
+ = case happyOut28 happy_x_1 of { (HappyWrap28 happy_var_1) ->
+ happyIn37
+ ((fst happy_var_1, Language.Rzk.Syntax.Abs.SomeSectionName (fst happy_var_1) (snd happy_var_1))
+ )}
+
+happyReduce_54 = happySpecReduce_1 11# happyReduction_54
+happyReduction_54 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- happyIn32
+ happyIn38
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.PatternWildcard (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
-happyReduce_42 = happySpecReduce_1 8# happyReduction_42
-happyReduction_42 happy_x_1
- = case happyOut25 happy_x_1 of { (HappyWrap25 happy_var_1) ->
- happyIn32
+happyReduce_55 = happySpecReduce_1 11# happyReduction_55
+happyReduction_55 happy_x_1
+ = case happyOut28 happy_x_1 of { (HappyWrap28 happy_var_1) ->
+ happyIn38
((fst happy_var_1, Language.Rzk.Syntax.Abs.PatternVar (fst happy_var_1) (snd happy_var_1))
)}
-happyReduce_43 = happyReduce 5# 8# happyReduction_43
-happyReduction_43 (happy_x_5 `HappyStk`
+happyReduce_56 = happyReduce 5# 11# happyReduction_56
+happyReduction_56 (happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut32 happy_x_2 of { (HappyWrap32 happy_var_2) ->
- case happyOut32 happy_x_4 of { (HappyWrap32 happy_var_4) ->
- happyIn32
+ case happyOut38 happy_x_2 of { (HappyWrap38 happy_var_2) ->
+ case happyOut38 happy_x_4 of { (HappyWrap38 happy_var_4) ->
+ happyIn38
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.PatternPair (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_44 = happySpecReduce_1 9# happyReduction_44
-happyReduction_44 happy_x_1
- = case happyOut32 happy_x_1 of { (HappyWrap32 happy_var_1) ->
- happyIn33
+happyReduce_57 = happySpecReduce_1 12# happyReduction_57
+happyReduction_57 happy_x_1
+ = case happyOut38 happy_x_1 of { (HappyWrap38 happy_var_1) ->
+ happyIn39
((fst happy_var_1, (:[]) (snd happy_var_1))
)}
-happyReduce_45 = happySpecReduce_2 9# happyReduction_45
-happyReduction_45 happy_x_2
+happyReduce_58 = happySpecReduce_2 12# happyReduction_58
+happyReduction_58 happy_x_2
happy_x_1
- = case happyOut32 happy_x_1 of { (HappyWrap32 happy_var_1) ->
- case happyOut33 happy_x_2 of { (HappyWrap33 happy_var_2) ->
- happyIn33
+ = case happyOut38 happy_x_1 of { (HappyWrap38 happy_var_1) ->
+ case happyOut39 happy_x_2 of { (HappyWrap39 happy_var_2) ->
+ happyIn39
((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_2))
)}}
-happyReduce_46 = happySpecReduce_1 10# happyReduction_46
-happyReduction_46 happy_x_1
- = case happyOut32 happy_x_1 of { (HappyWrap32 happy_var_1) ->
- happyIn34
+happyReduce_59 = happySpecReduce_1 13# happyReduction_59
+happyReduction_59 happy_x_1
+ = case happyOut38 happy_x_1 of { (HappyWrap38 happy_var_1) ->
+ happyIn40
((fst happy_var_1, Language.Rzk.Syntax.Abs.ParamPattern (fst happy_var_1) (snd happy_var_1))
)}
-happyReduce_47 = happyReduce 5# 10# happyReduction_47
-happyReduction_47 (happy_x_5 `HappyStk`
+happyReduce_60 = happyReduce 5# 13# happyReduction_60
+happyReduction_60 (happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut33 happy_x_2 of { (HappyWrap33 happy_var_2) ->
- case happyOut46 happy_x_4 of { (HappyWrap46 happy_var_4) ->
- happyIn34
+ case happyOut39 happy_x_2 of { (HappyWrap39 happy_var_2) ->
+ case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) ->
+ happyIn40
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamPatternType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_48 = happyReduce 7# 10# happyReduction_48
-happyReduction_48 (happy_x_7 `HappyStk`
+happyReduce_61 = happyReduce 7# 13# happyReduction_61
+happyReduction_61 (happy_x_7 `HappyStk`
happy_x_6 `HappyStk`
happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
@@ -660,79 +795,79 @@ happyReduction_48 (happy_x_7 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut32 happy_x_2 of { (HappyWrap32 happy_var_2) ->
- case happyOut46 happy_x_4 of { (HappyWrap46 happy_var_4) ->
- case happyOut46 happy_x_6 of { (HappyWrap46 happy_var_6) ->
- happyIn34
+ case happyOut38 happy_x_2 of { (HappyWrap38 happy_var_2) ->
+ case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) ->
+ case happyOut52 happy_x_6 of { (HappyWrap52 happy_var_6) ->
+ happyIn40
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamPatternShape (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))
) `HappyStk` happyRest}}}}
-happyReduce_49 = happySpecReduce_1 11# happyReduction_49
-happyReduction_49 happy_x_1
- = case happyOut34 happy_x_1 of { (HappyWrap34 happy_var_1) ->
- happyIn35
+happyReduce_62 = happySpecReduce_1 14# happyReduction_62
+happyReduction_62 happy_x_1
+ = case happyOut40 happy_x_1 of { (HappyWrap40 happy_var_1) ->
+ happyIn41
((fst happy_var_1, (:[]) (snd happy_var_1))
)}
-happyReduce_50 = happySpecReduce_2 11# happyReduction_50
-happyReduction_50 happy_x_2
+happyReduce_63 = happySpecReduce_2 14# happyReduction_63
+happyReduction_63 happy_x_2
happy_x_1
- = case happyOut34 happy_x_1 of { (HappyWrap34 happy_var_1) ->
- case happyOut35 happy_x_2 of { (HappyWrap35 happy_var_2) ->
- happyIn35
+ = case happyOut40 happy_x_1 of { (HappyWrap40 happy_var_1) ->
+ case happyOut41 happy_x_2 of { (HappyWrap41 happy_var_2) ->
+ happyIn41
((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_2))
)}}
-happyReduce_51 = happySpecReduce_1 12# happyReduction_51
-happyReduction_51 happy_x_1
- = case happyOut45 happy_x_1 of { (HappyWrap45 happy_var_1) ->
- happyIn36
+happyReduce_64 = happySpecReduce_1 15# happyReduction_64
+happyReduction_64 happy_x_1
+ = case happyOut51 happy_x_1 of { (HappyWrap51 happy_var_1) ->
+ happyIn42
((fst happy_var_1, Language.Rzk.Syntax.Abs.ParamType (fst happy_var_1) (snd happy_var_1))
)}
-happyReduce_52 = happyReduce 5# 12# happyReduction_52
-happyReduction_52 (happy_x_5 `HappyStk`
+happyReduce_65 = happyReduce 5# 15# happyReduction_65
+happyReduction_65 (happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut46 happy_x_4 of { (HappyWrap46 happy_var_4) ->
- happyIn36
+ case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) ->
+ happyIn42
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamWildcardType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_4))
) `HappyStk` happyRest}}
-happyReduce_53 = happyReduce 5# 12# happyReduction_53
-happyReduction_53 (happy_x_5 `HappyStk`
+happyReduce_66 = happyReduce 5# 15# happyReduction_66
+happyReduction_66 (happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut32 happy_x_2 of { (HappyWrap32 happy_var_2) ->
- case happyOut46 happy_x_4 of { (HappyWrap46 happy_var_4) ->
- happyIn36
+ case happyOut38 happy_x_2 of { (HappyWrap38 happy_var_2) ->
+ case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) ->
+ happyIn42
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamVarType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_54 = happyReduce 5# 12# happyReduction_54
-happyReduction_54 (happy_x_5 `HappyStk`
+happyReduce_67 = happyReduce 5# 15# happyReduction_67
+happyReduction_67 (happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut25 happy_x_2 of { (HappyWrap25 happy_var_2) ->
- case happyOut46 happy_x_4 of { (HappyWrap46 happy_var_4) ->
- happyIn36
+ case happyOut28 happy_x_2 of { (HappyWrap28 happy_var_2) ->
+ case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) ->
+ happyIn42
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.paramVarType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_55 = happyReduce 9# 12# happyReduction_55
-happyReduction_55 (happy_x_9 `HappyStk`
+happyReduce_68 = happyReduce 9# 15# happyReduction_68
+happyReduction_68 (happy_x_9 `HappyStk`
happy_x_8 `HappyStk`
happy_x_7 `HappyStk`
happy_x_6 `HappyStk`
@@ -743,15 +878,15 @@ happyReduction_55 (happy_x_9 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut32 happy_x_3 of { (HappyWrap32 happy_var_3) ->
- case happyOut46 happy_x_5 of { (HappyWrap46 happy_var_5) ->
- case happyOut46 happy_x_8 of { (HappyWrap46 happy_var_8) ->
- happyIn36
+ case happyOut38 happy_x_3 of { (HappyWrap38 happy_var_3) ->
+ case happyOut52 happy_x_5 of { (HappyWrap52 happy_var_5) ->
+ case happyOut52 happy_x_8 of { (HappyWrap52 happy_var_8) ->
+ happyIn42
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamVarShape (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))
) `HappyStk` happyRest}}}}
-happyReduce_56 = happyReduce 7# 12# happyReduction_56
-happyReduction_56 (happy_x_7 `HappyStk`
+happyReduce_69 = happyReduce 7# 15# happyReduction_69
+happyReduction_69 (happy_x_7 `HappyStk`
happy_x_6 `HappyStk`
happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
@@ -760,131 +895,131 @@ happyReduction_56 (happy_x_7 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut32 happy_x_2 of { (HappyWrap32 happy_var_2) ->
- case happyOut46 happy_x_4 of { (HappyWrap46 happy_var_4) ->
- case happyOut46 happy_x_6 of { (HappyWrap46 happy_var_6) ->
- happyIn36
+ case happyOut38 happy_x_2 of { (HappyWrap38 happy_var_2) ->
+ case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) ->
+ case happyOut52 happy_x_6 of { (HappyWrap52 happy_var_6) ->
+ happyIn42
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.paramVarShape (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))
) `HappyStk` happyRest}}}}
-happyReduce_57 = happySpecReduce_3 13# happyReduction_57
-happyReduction_57 happy_x_3
+happyReduce_70 = happySpecReduce_3 16# happyReduction_70
+happyReduction_70 happy_x_3
happy_x_2
happy_x_1
- = case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) ->
- case happyOut46 happy_x_3 of { (HappyWrap46 happy_var_3) ->
- happyIn37
+ = case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) ->
+ case happyOut52 happy_x_3 of { (HappyWrap52 happy_var_3) ->
+ happyIn43
((fst happy_var_1, Language.Rzk.Syntax.Abs.Restriction (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_58 = happySpecReduce_1 14# happyReduction_58
-happyReduction_58 happy_x_1
- = case happyOut37 happy_x_1 of { (HappyWrap37 happy_var_1) ->
- happyIn38
+happyReduce_71 = happySpecReduce_1 17# happyReduction_71
+happyReduction_71 happy_x_1
+ = case happyOut43 happy_x_1 of { (HappyWrap43 happy_var_1) ->
+ happyIn44
((fst happy_var_1, (:[]) (snd happy_var_1))
)}
-happyReduce_59 = happySpecReduce_3 14# happyReduction_59
-happyReduction_59 happy_x_3
+happyReduce_72 = happySpecReduce_3 17# happyReduction_72
+happyReduction_72 happy_x_3
happy_x_2
happy_x_1
- = case happyOut37 happy_x_1 of { (HappyWrap37 happy_var_1) ->
- case happyOut38 happy_x_3 of { (HappyWrap38 happy_var_3) ->
- happyIn38
+ = case happyOut43 happy_x_1 of { (HappyWrap43 happy_var_1) ->
+ case happyOut44 happy_x_3 of { (HappyWrap44 happy_var_3) ->
+ happyIn44
((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_60 = happySpecReduce_1 15# happyReduction_60
-happyReduction_60 happy_x_1
+happyReduce_73 = happySpecReduce_1 18# happyReduction_73
+happyReduction_73 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- happyIn39
+ happyIn45
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Universe (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
-happyReduce_61 = happySpecReduce_1 15# happyReduction_61
-happyReduction_61 happy_x_1
+happyReduce_74 = happySpecReduce_1 18# happyReduction_74
+happyReduction_74 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- happyIn39
+ happyIn45
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.UniverseCube (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
-happyReduce_62 = happySpecReduce_1 15# happyReduction_62
-happyReduction_62 happy_x_1
+happyReduce_75 = happySpecReduce_1 18# happyReduction_75
+happyReduction_75 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- happyIn39
+ happyIn45
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.UniverseTope (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
-happyReduce_63 = happySpecReduce_1 15# happyReduction_63
-happyReduction_63 happy_x_1
+happyReduce_76 = happySpecReduce_1 18# happyReduction_76
+happyReduction_76 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- happyIn39
+ happyIn45
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeUnit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
-happyReduce_64 = happySpecReduce_1 15# happyReduction_64
-happyReduction_64 happy_x_1
+happyReduce_77 = happySpecReduce_1 18# happyReduction_77
+happyReduction_77 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- happyIn39
+ happyIn45
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeUnitStar (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
-happyReduce_65 = happySpecReduce_1 15# happyReduction_65
-happyReduction_65 happy_x_1
+happyReduce_78 = happySpecReduce_1 18# happyReduction_78
+happyReduction_78 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- happyIn39
+ happyIn45
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
-happyReduce_66 = happySpecReduce_1 15# happyReduction_66
-happyReduction_66 happy_x_1
+happyReduce_79 = happySpecReduce_1 18# happyReduction_79
+happyReduction_79 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- happyIn39
+ happyIn45
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2_0 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
-happyReduce_67 = happySpecReduce_1 15# happyReduction_67
-happyReduction_67 happy_x_1
+happyReduce_80 = happySpecReduce_1 18# happyReduction_80
+happyReduction_80 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- happyIn39
+ happyIn45
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2_1 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
-happyReduce_68 = happySpecReduce_1 15# happyReduction_68
-happyReduction_68 happy_x_1
+happyReduce_81 = happySpecReduce_1 18# happyReduction_81
+happyReduction_81 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- happyIn39
+ happyIn45
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TopeTop (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
-happyReduce_69 = happySpecReduce_1 15# happyReduction_69
-happyReduction_69 happy_x_1
+happyReduce_82 = happySpecReduce_1 18# happyReduction_82
+happyReduction_82 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- happyIn39
+ happyIn45
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TopeBottom (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
-happyReduce_70 = happySpecReduce_1 15# happyReduction_70
-happyReduction_70 happy_x_1
+happyReduce_83 = happySpecReduce_1 18# happyReduction_83
+happyReduction_83 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- happyIn39
+ happyIn45
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.RecBottom (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
-happyReduce_71 = happyReduce 4# 15# happyReduction_71
-happyReduction_71 (happy_x_4 `HappyStk`
+happyReduce_84 = happyReduce 4# 18# happyReduction_84
+happyReduction_84 (happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut38 happy_x_3 of { (HappyWrap38 happy_var_3) ->
- happyIn39
+ case happyOut44 happy_x_3 of { (HappyWrap44 happy_var_3) ->
+ happyIn45
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.RecOr (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3))
) `HappyStk` happyRest}}
-happyReduce_72 = happyReduce 10# 15# happyReduction_72
-happyReduction_72 (happy_x_10 `HappyStk`
+happyReduce_85 = happyReduce 10# 18# happyReduction_85
+happyReduction_85 (happy_x_10 `HappyStk`
happy_x_9 `HappyStk`
happy_x_8 `HappyStk`
happy_x_7 `HappyStk`
@@ -896,75 +1031,75 @@ happyReduction_72 (happy_x_10 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut46 happy_x_3 of { (HappyWrap46 happy_var_3) ->
- case happyOut46 happy_x_5 of { (HappyWrap46 happy_var_5) ->
- case happyOut46 happy_x_7 of { (HappyWrap46 happy_var_7) ->
- case happyOut46 happy_x_9 of { (HappyWrap46 happy_var_9) ->
- happyIn39
+ case happyOut52 happy_x_3 of { (HappyWrap52 happy_var_3) ->
+ case happyOut52 happy_x_5 of { (HappyWrap52 happy_var_5) ->
+ case happyOut52 happy_x_7 of { (HappyWrap52 happy_var_7) ->
+ case happyOut52 happy_x_9 of { (HappyWrap52 happy_var_9) ->
+ happyIn45
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.recOr (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7) (snd happy_var_9))
) `HappyStk` happyRest}}}}}
-happyReduce_73 = happyReduce 5# 15# happyReduction_73
-happyReduction_73 (happy_x_5 `HappyStk`
+happyReduce_86 = happyReduce 5# 18# happyReduction_86
+happyReduction_86 (happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut36 happy_x_2 of { (HappyWrap36 happy_var_2) ->
- case happyOut46 happy_x_4 of { (HappyWrap46 happy_var_4) ->
- happyIn39
+ case happyOut42 happy_x_2 of { (HappyWrap42 happy_var_2) ->
+ case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) ->
+ happyIn45
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.typeExtension (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_74 = happyReduce 5# 15# happyReduction_74
-happyReduction_74 (happy_x_5 `HappyStk`
+happyReduce_87 = happyReduce 5# 18# happyReduction_87
+happyReduction_87 (happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut46 happy_x_2 of { (HappyWrap46 happy_var_2) ->
- case happyOut46 happy_x_4 of { (HappyWrap46 happy_var_4) ->
- happyIn39
+ case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) ->
+ case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) ->
+ happyIn45
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Pair (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_75 = happySpecReduce_1 15# happyReduction_75
-happyReduction_75 happy_x_1
+happyReduce_88 = happySpecReduce_1 18# happyReduction_88
+happyReduction_88 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- happyIn39
+ happyIn45
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Refl (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
-happyReduce_76 = happySpecReduce_3 15# happyReduction_76
-happyReduction_76 happy_x_3
+happyReduce_89 = happySpecReduce_3 18# happyReduction_89
+happyReduction_89 happy_x_3
happy_x_2
happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut46 happy_x_2 of { (HappyWrap46 happy_var_2) ->
- happyIn39
+ case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) ->
+ happyIn45
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ReflTerm (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
)}}
-happyReduce_77 = happyReduce 5# 15# happyReduction_77
-happyReduction_77 (happy_x_5 `HappyStk`
+happyReduce_90 = happyReduce 5# 18# happyReduction_90
+happyReduction_90 (happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut46 happy_x_2 of { (HappyWrap46 happy_var_2) ->
- case happyOut46 happy_x_4 of { (HappyWrap46 happy_var_4) ->
- happyIn39
+ case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) ->
+ case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) ->
+ happyIn45
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ReflTermType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_78 = happyReduce 14# 15# happyReduction_78
-happyReduction_78 (happy_x_14 `HappyStk`
+happyReduce_91 = happyReduce 14# 18# happyReduction_91
+happyReduction_91 (happy_x_14 `HappyStk`
happy_x_13 `HappyStk`
happy_x_12 `HappyStk`
happy_x_11 `HappyStk`
@@ -980,130 +1115,130 @@ happyReduction_78 (happy_x_14 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut46 happy_x_3 of { (HappyWrap46 happy_var_3) ->
- case happyOut46 happy_x_5 of { (HappyWrap46 happy_var_5) ->
- case happyOut46 happy_x_7 of { (HappyWrap46 happy_var_7) ->
- case happyOut46 happy_x_9 of { (HappyWrap46 happy_var_9) ->
- case happyOut46 happy_x_11 of { (HappyWrap46 happy_var_11) ->
- case happyOut46 happy_x_13 of { (HappyWrap46 happy_var_13) ->
- happyIn39
+ case happyOut52 happy_x_3 of { (HappyWrap52 happy_var_3) ->
+ case happyOut52 happy_x_5 of { (HappyWrap52 happy_var_5) ->
+ case happyOut52 happy_x_7 of { (HappyWrap52 happy_var_7) ->
+ case happyOut52 happy_x_9 of { (HappyWrap52 happy_var_9) ->
+ case happyOut52 happy_x_11 of { (HappyWrap52 happy_var_11) ->
+ case happyOut52 happy_x_13 of { (HappyWrap52 happy_var_13) ->
+ happyIn45
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.IdJ (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7) (snd happy_var_9) (snd happy_var_11) (snd happy_var_13))
) `HappyStk` happyRest}}}}}}}
-happyReduce_79 = happySpecReduce_1 15# happyReduction_79
-happyReduction_79 happy_x_1
- = case happyOut26 happy_x_1 of { (HappyWrap26 happy_var_1) ->
- happyIn39
+happyReduce_92 = happySpecReduce_1 18# happyReduction_92
+happyReduction_92 happy_x_1
+ = case happyOut29 happy_x_1 of { (HappyWrap29 happy_var_1) ->
+ happyIn45
((fst happy_var_1, Language.Rzk.Syntax.Abs.Hole (fst happy_var_1) (snd happy_var_1))
)}
-happyReduce_80 = happySpecReduce_1 15# happyReduction_80
-happyReduction_80 happy_x_1
- = case happyOut25 happy_x_1 of { (HappyWrap25 happy_var_1) ->
- happyIn39
+happyReduce_93 = happySpecReduce_1 18# happyReduction_93
+happyReduction_93 happy_x_1
+ = case happyOut28 happy_x_1 of { (HappyWrap28 happy_var_1) ->
+ happyIn45
((fst happy_var_1, Language.Rzk.Syntax.Abs.Var (fst happy_var_1) (snd happy_var_1))
)}
-happyReduce_81 = happySpecReduce_3 15# happyReduction_81
-happyReduction_81 happy_x_3
+happyReduce_94 = happySpecReduce_3 18# happyReduction_94
+happyReduction_94 happy_x_3
happy_x_2
happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut46 happy_x_2 of { (HappyWrap46 happy_var_2) ->
- happyIn39
+ case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) ->
+ happyIn45
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), (snd happy_var_2))
)}}
-happyReduce_82 = happySpecReduce_3 16# happyReduction_82
-happyReduction_82 happy_x_3
+happyReduce_95 = happySpecReduce_3 19# happyReduction_95
+happyReduction_95 happy_x_3
happy_x_2
happy_x_1
- = case happyOut40 happy_x_1 of { (HappyWrap40 happy_var_1) ->
- case happyOut45 happy_x_3 of { (HappyWrap45 happy_var_3) ->
- happyIn40
+ = case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) ->
+ case happyOut51 happy_x_3 of { (HappyWrap51 happy_var_3) ->
+ happyIn46
((fst happy_var_1, Language.Rzk.Syntax.Abs.CubeProduct (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_83 = happySpecReduce_1 16# happyReduction_83
-happyReduction_83 happy_x_1
- = case happyOut45 happy_x_1 of { (HappyWrap45 happy_var_1) ->
- happyIn40
+happyReduce_96 = happySpecReduce_1 19# happyReduction_96
+happyReduction_96 happy_x_1
+ = case happyOut51 happy_x_1 of { (HappyWrap51 happy_var_1) ->
+ happyIn46
((fst happy_var_1, (snd happy_var_1))
)}
-happyReduce_84 = happySpecReduce_3 17# happyReduction_84
-happyReduction_84 happy_x_3
+happyReduce_97 = happySpecReduce_3 20# happyReduction_97
+happyReduction_97 happy_x_3
happy_x_2
happy_x_1
- = case happyOut40 happy_x_1 of { (HappyWrap40 happy_var_1) ->
- case happyOut40 happy_x_3 of { (HappyWrap40 happy_var_3) ->
- happyIn41
+ = case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) ->
+ case happyOut46 happy_x_3 of { (HappyWrap46 happy_var_3) ->
+ happyIn47
((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeEQ (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_85 = happySpecReduce_3 17# happyReduction_85
-happyReduction_85 happy_x_3
+happyReduce_98 = happySpecReduce_3 20# happyReduction_98
+happyReduction_98 happy_x_3
happy_x_2
happy_x_1
- = case happyOut40 happy_x_1 of { (HappyWrap40 happy_var_1) ->
- case happyOut40 happy_x_3 of { (HappyWrap40 happy_var_3) ->
- happyIn41
+ = case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) ->
+ case happyOut46 happy_x_3 of { (HappyWrap46 happy_var_3) ->
+ happyIn47
((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeLEQ (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_86 = happySpecReduce_1 17# happyReduction_86
-happyReduction_86 happy_x_1
- = case happyOut40 happy_x_1 of { (HappyWrap40 happy_var_1) ->
- happyIn41
+happyReduce_99 = happySpecReduce_1 20# happyReduction_99
+happyReduction_99 happy_x_1
+ = case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) ->
+ happyIn47
((fst happy_var_1, (snd happy_var_1))
)}
-happyReduce_87 = happySpecReduce_3 18# happyReduction_87
-happyReduction_87 happy_x_3
+happyReduce_100 = happySpecReduce_3 21# happyReduction_100
+happyReduction_100 happy_x_3
happy_x_2
happy_x_1
- = case happyOut41 happy_x_1 of { (HappyWrap41 happy_var_1) ->
- case happyOut42 happy_x_3 of { (HappyWrap42 happy_var_3) ->
- happyIn42
+ = case happyOut47 happy_x_1 of { (HappyWrap47 happy_var_1) ->
+ case happyOut48 happy_x_3 of { (HappyWrap48 happy_var_3) ->
+ happyIn48
((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeAnd (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_88 = happySpecReduce_1 18# happyReduction_88
-happyReduction_88 happy_x_1
- = case happyOut41 happy_x_1 of { (HappyWrap41 happy_var_1) ->
- happyIn42
+happyReduce_101 = happySpecReduce_1 21# happyReduction_101
+happyReduction_101 happy_x_1
+ = case happyOut47 happy_x_1 of { (HappyWrap47 happy_var_1) ->
+ happyIn48
((fst happy_var_1, (snd happy_var_1))
)}
-happyReduce_89 = happySpecReduce_3 19# happyReduction_89
-happyReduction_89 happy_x_3
+happyReduce_102 = happySpecReduce_3 22# happyReduction_102
+happyReduction_102 happy_x_3
happy_x_2
happy_x_1
- = case happyOut42 happy_x_1 of { (HappyWrap42 happy_var_1) ->
- case happyOut43 happy_x_3 of { (HappyWrap43 happy_var_3) ->
- happyIn43
+ = case happyOut48 happy_x_1 of { (HappyWrap48 happy_var_1) ->
+ case happyOut49 happy_x_3 of { (HappyWrap49 happy_var_3) ->
+ happyIn49
((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeOr (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_90 = happySpecReduce_1 19# happyReduction_90
-happyReduction_90 happy_x_1
- = case happyOut42 happy_x_1 of { (HappyWrap42 happy_var_1) ->
- happyIn43
+happyReduce_103 = happySpecReduce_1 22# happyReduction_103
+happyReduction_103 happy_x_1
+ = case happyOut48 happy_x_1 of { (HappyWrap48 happy_var_1) ->
+ happyIn49
((fst happy_var_1, (snd happy_var_1))
)}
-happyReduce_91 = happySpecReduce_3 20# happyReduction_91
-happyReduction_91 happy_x_3
+happyReduce_104 = happySpecReduce_3 23# happyReduction_104
+happyReduction_104 happy_x_3
happy_x_2
happy_x_1
- = case happyOut36 happy_x_1 of { (HappyWrap36 happy_var_1) ->
- case happyOut44 happy_x_3 of { (HappyWrap44 happy_var_3) ->
- happyIn44
+ = case happyOut42 happy_x_1 of { (HappyWrap42 happy_var_1) ->
+ case happyOut50 happy_x_3 of { (HappyWrap50 happy_var_3) ->
+ happyIn50
((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeFun (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_92 = happyReduce 8# 20# happyReduction_92
-happyReduction_92 (happy_x_8 `HappyStk`
+happyReduce_105 = happyReduce 8# 23# happyReduction_105
+happyReduction_105 (happy_x_8 `HappyStk`
happy_x_7 `HappyStk`
happy_x_6 `HappyStk`
happy_x_5 `HappyStk`
@@ -1113,69 +1248,69 @@ happyReduction_92 (happy_x_8 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut32 happy_x_3 of { (HappyWrap32 happy_var_3) ->
- case happyOut46 happy_x_5 of { (HappyWrap46 happy_var_5) ->
- case happyOut44 happy_x_8 of { (HappyWrap44 happy_var_8) ->
- happyIn44
+ case happyOut38 happy_x_3 of { (HappyWrap38 happy_var_3) ->
+ case happyOut52 happy_x_5 of { (HappyWrap52 happy_var_5) ->
+ case happyOut50 happy_x_8 of { (HappyWrap50 happy_var_8) ->
+ happyIn50
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TypeSigma (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))
) `HappyStk` happyRest}}}}
-happyReduce_93 = happyReduce 5# 20# happyReduction_93
-happyReduction_93 (happy_x_5 `HappyStk`
+happyReduce_106 = happyReduce 5# 23# happyReduction_106
+happyReduction_106 (happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
- = case happyOut43 happy_x_1 of { (HappyWrap43 happy_var_1) ->
- case happyOut46 happy_x_3 of { (HappyWrap46 happy_var_3) ->
- case happyOut43 happy_x_5 of { (HappyWrap43 happy_var_5) ->
- happyIn44
+ = case happyOut49 happy_x_1 of { (HappyWrap49 happy_var_1) ->
+ case happyOut52 happy_x_3 of { (HappyWrap52 happy_var_3) ->
+ case happyOut49 happy_x_5 of { (HappyWrap49 happy_var_5) ->
+ happyIn50
((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeId (fst happy_var_1) (snd happy_var_1) (snd happy_var_3) (snd happy_var_5))
) `HappyStk` happyRest}}}
-happyReduce_94 = happySpecReduce_3 20# happyReduction_94
-happyReduction_94 happy_x_3
+happyReduce_107 = happySpecReduce_3 23# happyReduction_107
+happyReduction_107 happy_x_3
happy_x_2
happy_x_1
- = case happyOut43 happy_x_1 of { (HappyWrap43 happy_var_1) ->
- case happyOut43 happy_x_3 of { (HappyWrap43 happy_var_3) ->
- happyIn44
+ = case happyOut49 happy_x_1 of { (HappyWrap49 happy_var_1) ->
+ case happyOut49 happy_x_3 of { (HappyWrap49 happy_var_3) ->
+ happyIn50
((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeIdSimple (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_95 = happyReduce 4# 20# happyReduction_95
-happyReduction_95 (happy_x_4 `HappyStk`
+happyReduce_108 = happyReduce 4# 23# happyReduction_108
+happyReduction_108 (happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut35 happy_x_2 of { (HappyWrap35 happy_var_2) ->
- case happyOut44 happy_x_4 of { (HappyWrap44 happy_var_4) ->
- happyIn44
+ case happyOut41 happy_x_2 of { (HappyWrap41 happy_var_2) ->
+ case happyOut50 happy_x_4 of { (HappyWrap50 happy_var_4) ->
+ happyIn50
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Lambda (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_96 = happySpecReduce_1 20# happyReduction_96
-happyReduction_96 happy_x_1
- = case happyOut43 happy_x_1 of { (HappyWrap43 happy_var_1) ->
- happyIn44
+happyReduce_109 = happySpecReduce_1 23# happyReduction_109
+happyReduction_109 happy_x_1
+ = case happyOut49 happy_x_1 of { (HappyWrap49 happy_var_1) ->
+ happyIn50
((fst happy_var_1, (snd happy_var_1))
)}
-happyReduce_97 = happySpecReduce_3 20# happyReduction_97
-happyReduction_97 happy_x_3
+happyReduce_110 = happySpecReduce_3 23# happyReduction_110
+happyReduction_110 happy_x_3
happy_x_2
happy_x_1
- = case happyOut36 happy_x_1 of { (HappyWrap36 happy_var_1) ->
- case happyOut44 happy_x_3 of { (HappyWrap44 happy_var_3) ->
- happyIn44
+ = case happyOut42 happy_x_1 of { (HappyWrap42 happy_var_1) ->
+ case happyOut50 happy_x_3 of { (HappyWrap50 happy_var_3) ->
+ happyIn50
((fst happy_var_1, Language.Rzk.Syntax.Abs.unicode_TypeFun (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_98 = happyReduce 8# 20# happyReduction_98
-happyReduction_98 (happy_x_8 `HappyStk`
+happyReduce_111 = happyReduce 8# 23# happyReduction_111
+happyReduction_111 (happy_x_8 `HappyStk`
happy_x_7 `HappyStk`
happy_x_6 `HappyStk`
happy_x_5 `HappyStk`
@@ -1185,15 +1320,15 @@ happyReduction_98 (happy_x_8 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut32 happy_x_3 of { (HappyWrap32 happy_var_3) ->
- case happyOut46 happy_x_5 of { (HappyWrap46 happy_var_5) ->
- case happyOut44 happy_x_8 of { (HappyWrap44 happy_var_8) ->
- happyIn44
+ case happyOut38 happy_x_3 of { (HappyWrap38 happy_var_3) ->
+ case happyOut52 happy_x_5 of { (HappyWrap52 happy_var_5) ->
+ case happyOut50 happy_x_8 of { (HappyWrap50 happy_var_8) ->
+ happyIn50
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.unicode_TypeSigma (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))
) `HappyStk` happyRest}}}}
-happyReduce_99 = happyReduce 8# 20# happyReduction_99
-happyReduction_99 (happy_x_8 `HappyStk`
+happyReduce_112 = happyReduce 8# 23# happyReduction_112
+happyReduction_112 (happy_x_8 `HappyStk`
happy_x_7 `HappyStk`
happy_x_6 `HappyStk`
happy_x_5 `HappyStk`
@@ -1203,95 +1338,95 @@ happyReduction_99 (happy_x_8 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut32 happy_x_3 of { (HappyWrap32 happy_var_3) ->
- case happyOut46 happy_x_5 of { (HappyWrap46 happy_var_5) ->
- case happyOut44 happy_x_8 of { (HappyWrap44 happy_var_8) ->
- happyIn44
+ case happyOut38 happy_x_3 of { (HappyWrap38 happy_var_3) ->
+ case happyOut52 happy_x_5 of { (HappyWrap52 happy_var_5) ->
+ case happyOut50 happy_x_8 of { (HappyWrap50 happy_var_8) ->
+ happyIn50
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.unicode_TypeSigmaAlt (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))
) `HappyStk` happyRest}}}}
-happyReduce_100 = happyReduce 4# 21# happyReduction_100
-happyReduction_100 (happy_x_4 `HappyStk`
+happyReduce_113 = happyReduce 4# 24# happyReduction_113
+happyReduction_113 (happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
happyRest)
- = case happyOut45 happy_x_1 of { (HappyWrap45 happy_var_1) ->
- case happyOut38 happy_x_3 of { (HappyWrap38 happy_var_3) ->
- happyIn45
+ = case happyOut51 happy_x_1 of { (HappyWrap51 happy_var_1) ->
+ case happyOut44 happy_x_3 of { (HappyWrap44 happy_var_3) ->
+ happyIn51
((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeRestricted (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
) `HappyStk` happyRest}}
-happyReduce_101 = happySpecReduce_2 21# happyReduction_101
-happyReduction_101 happy_x_2
+happyReduce_114 = happySpecReduce_2 24# happyReduction_114
+happyReduction_114 happy_x_2
happy_x_1
- = case happyOut45 happy_x_1 of { (HappyWrap45 happy_var_1) ->
- case happyOut39 happy_x_2 of { (HappyWrap39 happy_var_2) ->
- happyIn45
+ = case happyOut51 happy_x_1 of { (HappyWrap51 happy_var_1) ->
+ case happyOut45 happy_x_2 of { (HappyWrap45 happy_var_2) ->
+ happyIn51
((fst happy_var_1, Language.Rzk.Syntax.Abs.App (fst happy_var_1) (snd happy_var_1) (snd happy_var_2))
)}}
-happyReduce_102 = happySpecReduce_2 21# happyReduction_102
-happyReduction_102 happy_x_2
+happyReduce_115 = happySpecReduce_2 24# happyReduction_115
+happyReduction_115 happy_x_2
happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut39 happy_x_2 of { (HappyWrap39 happy_var_2) ->
- happyIn45
+ case happyOut45 happy_x_2 of { (HappyWrap45 happy_var_2) ->
+ happyIn51
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.First (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
)}}
-happyReduce_103 = happySpecReduce_2 21# happyReduction_103
-happyReduction_103 happy_x_2
+happyReduce_116 = happySpecReduce_2 24# happyReduction_116
+happyReduction_116 happy_x_2
happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
- case happyOut39 happy_x_2 of { (HappyWrap39 happy_var_2) ->
- happyIn45
+ case happyOut45 happy_x_2 of { (HappyWrap45 happy_var_2) ->
+ happyIn51
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Second (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
)}}
-happyReduce_104 = happySpecReduce_1 21# happyReduction_104
-happyReduction_104 happy_x_1
- = case happyOut39 happy_x_1 of { (HappyWrap39 happy_var_1) ->
- happyIn45
+happyReduce_117 = happySpecReduce_1 24# happyReduction_117
+happyReduction_117 happy_x_1
+ = case happyOut45 happy_x_1 of { (HappyWrap45 happy_var_1) ->
+ happyIn51
((fst happy_var_1, (snd happy_var_1))
)}
-happyReduce_105 = happySpecReduce_3 22# happyReduction_105
-happyReduction_105 happy_x_3
+happyReduce_118 = happySpecReduce_3 25# happyReduction_118
+happyReduction_118 happy_x_3
happy_x_2
happy_x_1
- = case happyOut43 happy_x_1 of { (HappyWrap43 happy_var_1) ->
- case happyOut44 happy_x_3 of { (HappyWrap44 happy_var_3) ->
- happyIn46
+ = case happyOut49 happy_x_1 of { (HappyWrap49 happy_var_1) ->
+ case happyOut50 happy_x_3 of { (HappyWrap50 happy_var_3) ->
+ happyIn52
((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeAsc (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_106 = happySpecReduce_1 22# happyReduction_106
-happyReduction_106 happy_x_1
- = case happyOut44 happy_x_1 of { (HappyWrap44 happy_var_1) ->
- happyIn46
+happyReduce_119 = happySpecReduce_1 25# happyReduction_119
+happyReduction_119 happy_x_1
+ = case happyOut50 happy_x_1 of { (HappyWrap50 happy_var_1) ->
+ happyIn52
((fst happy_var_1, (snd happy_var_1))
)}
-happyReduce_107 = happySpecReduce_1 23# happyReduction_107
-happyReduction_107 happy_x_1
- = case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) ->
- happyIn47
+happyReduce_120 = happySpecReduce_1 26# happyReduction_120
+happyReduction_120 happy_x_1
+ = case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) ->
+ happyIn53
((fst happy_var_1, (:[]) (snd happy_var_1))
)}
-happyReduce_108 = happySpecReduce_3 23# happyReduction_108
-happyReduction_108 happy_x_3
+happyReduce_121 = happySpecReduce_3 26# happyReduction_121
+happyReduction_121 happy_x_3
happy_x_2
happy_x_1
- = case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) ->
- case happyOut47 happy_x_3 of { (HappyWrap47 happy_var_3) ->
- happyIn47
+ = case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) ->
+ case happyOut53 happy_x_3 of { (HappyWrap53 happy_var_3) ->
+ happyIn53
((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_3))
)}}
happyNewToken action sts stk [] =
- happyDoAction 61# notHappyAtAll action sts stk []
+ happyDoAction 67# notHappyAtAll action sts stk []
happyNewToken action sts stk (tk:tks) =
let cont i = happyDoAction i tk action sts stk tks in
@@ -1353,13 +1488,19 @@ happyNewToken action sts stk (tk:tks) =
PT _ (TS _ 55) -> cont 55#;
PT _ (TS _ 56) -> cont 56#;
PT _ (TS _ 57) -> cont 57#;
- PT _ (TL _) -> cont 58#;
- PT _ (T_VarIdent _) -> cont 59#;
- PT _ (T_HoleIdent _) -> cont 60#;
+ PT _ (TS _ 58) -> cont 58#;
+ PT _ (TS _ 59) -> cont 59#;
+ PT _ (TS _ 60) -> cont 60#;
+ PT _ (TS _ 61) -> cont 61#;
+ PT _ (TS _ 62) -> cont 62#;
+ PT _ (TS _ 63) -> cont 63#;
+ PT _ (TL _) -> cont 64#;
+ PT _ (T_VarIdent _) -> cont 65#;
+ PT _ (T_HoleIdent _) -> cont 66#;
_ -> happyError' ((tk:tks), [])
}
-happyError_ explist 61# tk tks = happyError' (tks, explist)
+happyError_ explist 67# tk tks = happyError' (tks, explist)
happyError_ explist _ tk tks = happyError' ((tk:tks), explist)
happyThen :: () => Err a -> (a -> Err b) -> Err b
@@ -1372,67 +1513,76 @@ happyReturn1 = \a tks -> (return) a
happyError' :: () => ([(Token)], [Prelude.String]) -> Err a
happyError' = (\(tokens, _) -> happyError tokens)
pModule_internal tks = happySomeParser where
- happySomeParser = happyThen (happyParse 0# tks) (\x -> happyReturn (let {(HappyWrap27 x') = happyOut27 x} in x'))
+ happySomeParser = happyThen (happyParse 0# tks) (\x -> happyReturn (let {(HappyWrap30 x') = happyOut30 x} in x'))
+
+pListVarIdent_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyParse 1# tks) (\x -> happyReturn (let {(HappyWrap31 x') = happyOut31 x} in x'))
pLanguageDecl_internal tks = happySomeParser where
- happySomeParser = happyThen (happyParse 1# tks) (\x -> happyReturn (let {(HappyWrap28 x') = happyOut28 x} in x'))
+ happySomeParser = happyThen (happyParse 2# tks) (\x -> happyReturn (let {(HappyWrap32 x') = happyOut32 x} in x'))
pLanguage_internal tks = happySomeParser where
- happySomeParser = happyThen (happyParse 2# tks) (\x -> happyReturn (let {(HappyWrap29 x') = happyOut29 x} in x'))
+ happySomeParser = happyThen (happyParse 3# tks) (\x -> happyReturn (let {(HappyWrap33 x') = happyOut33 x} in x'))
pCommand_internal tks = happySomeParser where
- happySomeParser = happyThen (happyParse 3# tks) (\x -> happyReturn (let {(HappyWrap30 x') = happyOut30 x} in x'))
+ happySomeParser = happyThen (happyParse 4# tks) (\x -> happyReturn (let {(HappyWrap34 x') = happyOut34 x} in x'))
pListCommand_internal tks = happySomeParser where
- happySomeParser = happyThen (happyParse 4# tks) (\x -> happyReturn (let {(HappyWrap31 x') = happyOut31 x} in x'))
+ happySomeParser = happyThen (happyParse 5# tks) (\x -> happyReturn (let {(HappyWrap35 x') = happyOut35 x} in x'))
+
+pDeclUsedVars_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyParse 6# tks) (\x -> happyReturn (let {(HappyWrap36 x') = happyOut36 x} in x'))
+
+pSectionName_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyParse 7# tks) (\x -> happyReturn (let {(HappyWrap37 x') = happyOut37 x} in x'))
pPattern_internal tks = happySomeParser where
- happySomeParser = happyThen (happyParse 5# tks) (\x -> happyReturn (let {(HappyWrap32 x') = happyOut32 x} in x'))
+ happySomeParser = happyThen (happyParse 8# tks) (\x -> happyReturn (let {(HappyWrap38 x') = happyOut38 x} in x'))
pListPattern_internal tks = happySomeParser where
- happySomeParser = happyThen (happyParse 6# tks) (\x -> happyReturn (let {(HappyWrap33 x') = happyOut33 x} in x'))
+ happySomeParser = happyThen (happyParse 9# tks) (\x -> happyReturn (let {(HappyWrap39 x') = happyOut39 x} in x'))
pParam_internal tks = happySomeParser where
- happySomeParser = happyThen (happyParse 7# tks) (\x -> happyReturn (let {(HappyWrap34 x') = happyOut34 x} in x'))
+ happySomeParser = happyThen (happyParse 10# tks) (\x -> happyReturn (let {(HappyWrap40 x') = happyOut40 x} in x'))
pListParam_internal tks = happySomeParser where
- happySomeParser = happyThen (happyParse 8# tks) (\x -> happyReturn (let {(HappyWrap35 x') = happyOut35 x} in x'))
+ happySomeParser = happyThen (happyParse 11# tks) (\x -> happyReturn (let {(HappyWrap41 x') = happyOut41 x} in x'))
pParamDecl_internal tks = happySomeParser where
- happySomeParser = happyThen (happyParse 9# tks) (\x -> happyReturn (let {(HappyWrap36 x') = happyOut36 x} in x'))
+ happySomeParser = happyThen (happyParse 12# tks) (\x -> happyReturn (let {(HappyWrap42 x') = happyOut42 x} in x'))
pRestriction_internal tks = happySomeParser where
- happySomeParser = happyThen (happyParse 10# tks) (\x -> happyReturn (let {(HappyWrap37 x') = happyOut37 x} in x'))
+ happySomeParser = happyThen (happyParse 13# tks) (\x -> happyReturn (let {(HappyWrap43 x') = happyOut43 x} in x'))
pListRestriction_internal tks = happySomeParser where
- happySomeParser = happyThen (happyParse 11# tks) (\x -> happyReturn (let {(HappyWrap38 x') = happyOut38 x} in x'))
+ happySomeParser = happyThen (happyParse 14# tks) (\x -> happyReturn (let {(HappyWrap44 x') = happyOut44 x} in x'))
pTerm7_internal tks = happySomeParser where
- happySomeParser = happyThen (happyParse 12# tks) (\x -> happyReturn (let {(HappyWrap39 x') = happyOut39 x} in x'))
+ happySomeParser = happyThen (happyParse 15# tks) (\x -> happyReturn (let {(HappyWrap45 x') = happyOut45 x} in x'))
pTerm5_internal tks = happySomeParser where
- happySomeParser = happyThen (happyParse 13# tks) (\x -> happyReturn (let {(HappyWrap40 x') = happyOut40 x} in x'))
+ happySomeParser = happyThen (happyParse 16# tks) (\x -> happyReturn (let {(HappyWrap46 x') = happyOut46 x} in x'))
pTerm4_internal tks = happySomeParser where
- happySomeParser = happyThen (happyParse 14# tks) (\x -> happyReturn (let {(HappyWrap41 x') = happyOut41 x} in x'))
+ happySomeParser = happyThen (happyParse 17# tks) (\x -> happyReturn (let {(HappyWrap47 x') = happyOut47 x} in x'))
pTerm3_internal tks = happySomeParser where
- happySomeParser = happyThen (happyParse 15# tks) (\x -> happyReturn (let {(HappyWrap42 x') = happyOut42 x} in x'))
+ happySomeParser = happyThen (happyParse 18# tks) (\x -> happyReturn (let {(HappyWrap48 x') = happyOut48 x} in x'))
pTerm2_internal tks = happySomeParser where
- happySomeParser = happyThen (happyParse 16# tks) (\x -> happyReturn (let {(HappyWrap43 x') = happyOut43 x} in x'))
+ happySomeParser = happyThen (happyParse 19# tks) (\x -> happyReturn (let {(HappyWrap49 x') = happyOut49 x} in x'))
pTerm1_internal tks = happySomeParser where
- happySomeParser = happyThen (happyParse 17# tks) (\x -> happyReturn (let {(HappyWrap44 x') = happyOut44 x} in x'))
+ happySomeParser = happyThen (happyParse 20# tks) (\x -> happyReturn (let {(HappyWrap50 x') = happyOut50 x} in x'))
pTerm6_internal tks = happySomeParser where
- happySomeParser = happyThen (happyParse 18# tks) (\x -> happyReturn (let {(HappyWrap45 x') = happyOut45 x} in x'))
+ happySomeParser = happyThen (happyParse 21# tks) (\x -> happyReturn (let {(HappyWrap51 x') = happyOut51 x} in x'))
pTerm_internal tks = happySomeParser where
- happySomeParser = happyThen (happyParse 19# tks) (\x -> happyReturn (let {(HappyWrap46 x') = happyOut46 x} in x'))
+ happySomeParser = happyThen (happyParse 22# tks) (\x -> happyReturn (let {(HappyWrap52 x') = happyOut52 x} in x'))
pListTerm_internal tks = happySomeParser where
- happySomeParser = happyThen (happyParse 20# tks) (\x -> happyReturn (let {(HappyWrap47 x') = happyOut47 x} in x'))
+ happySomeParser = happyThen (happyParse 23# tks) (\x -> happyReturn (let {(HappyWrap53 x') = happyOut53 x} in x'))
happySeq = happyDontSeq
@@ -1455,6 +1605,9 @@ myLexer = tokens
pModule :: [Token] -> Err Language.Rzk.Syntax.Abs.Module
pModule = fmap snd . pModule_internal
+pListVarIdent :: [Token] -> Err [Language.Rzk.Syntax.Abs.VarIdent]
+pListVarIdent = fmap snd . pListVarIdent_internal
+
pLanguageDecl :: [Token] -> Err Language.Rzk.Syntax.Abs.LanguageDecl
pLanguageDecl = fmap snd . pLanguageDecl_internal
@@ -1467,6 +1620,12 @@ pCommand = fmap snd . pCommand_internal
pListCommand :: [Token] -> Err [Language.Rzk.Syntax.Abs.Command]
pListCommand = fmap snd . pListCommand_internal
+pDeclUsedVars :: [Token] -> Err Language.Rzk.Syntax.Abs.DeclUsedVars
+pDeclUsedVars = fmap snd . pDeclUsedVars_internal
+
+pSectionName :: [Token] -> Err Language.Rzk.Syntax.Abs.SectionName
+pSectionName = fmap snd . pSectionName_internal
+
pPattern :: [Token] -> Err Language.Rzk.Syntax.Abs.Pattern
pPattern = fmap snd . pPattern_internal
diff --git a/rzk/src/Language/Rzk/Syntax/Par.info b/rzk/src/Language/Rzk/Syntax/Par.info
index eb7ab83a6..f8f3de205 100644
--- a/rzk/src/Language/Rzk/Syntax/Par.info
+++ b/rzk/src/Language/Rzk/Syntax/Par.info
@@ -7,175 +7,194 @@ Info file generated by Happy Version 1.20.1.1 from Language/Rzk/Syntax/Par.y
Grammar
-----------------------------------------------------------------------------
%start_pModule_internal -> Module (0)
- %start_pLanguageDecl_internal -> LanguageDecl (1)
- %start_pLanguage_internal -> Language (2)
- %start_pCommand_internal -> Command (3)
- %start_pListCommand_internal -> ListCommand (4)
- %start_pPattern_internal -> Pattern (5)
- %start_pListPattern_internal -> ListPattern (6)
- %start_pParam_internal -> Param (7)
- %start_pListParam_internal -> ListParam (8)
- %start_pParamDecl_internal -> ParamDecl (9)
- %start_pRestriction_internal -> Restriction (10)
- %start_pListRestriction_internal -> ListRestriction (11)
- %start_pTerm7_internal -> Term7 (12)
- %start_pTerm5_internal -> Term5 (13)
- %start_pTerm4_internal -> Term4 (14)
- %start_pTerm3_internal -> Term3 (15)
- %start_pTerm2_internal -> Term2 (16)
- %start_pTerm1_internal -> Term1 (17)
- %start_pTerm6_internal -> Term6 (18)
- %start_pTerm_internal -> Term (19)
- %start_pListTerm_internal -> ListTerm (20)
- String -> L_quoted (21)
- VarIdent -> L_VarIdent (22)
- HoleIdent -> L_HoleIdent (23)
- Module -> LanguageDecl ListCommand (24)
- LanguageDecl -> '#lang' Language ';' (25)
- Language -> 'rzk-1' (26)
- Command -> '#set-option' String '=' String ';' (27)
- Command -> '#unset-option' String ';' (28)
- Command -> '#check' Term ':' Term ';' (29)
- Command -> '#compute' Term ';' (30)
- Command -> '#compute-whnf' Term ';' (31)
- Command -> '#compute-nf' Term ';' (32)
- Command -> '#postulate' VarIdent ListParam ':' Term ';' (33)
- Command -> '#postulate' VarIdent ':' Term ';' (34)
- Command -> '#define' VarIdent ListParam ':' Term ':=' Term ';' (35)
- Command -> '#define' VarIdent ':' Term ':=' Term ';' (36)
- Command -> '#def' VarIdent ListParam ':' Term ':=' Term ';' (37)
- Command -> '#def' VarIdent ':' Term ':=' Term ';' (38)
- ListCommand -> (39)
- ListCommand -> Command ListCommand (40)
- Pattern -> '_' (41)
- Pattern -> VarIdent (42)
- Pattern -> '(' Pattern ',' Pattern ')' (43)
- ListPattern -> Pattern (44)
- ListPattern -> Pattern ListPattern (45)
- Param -> Pattern (46)
- Param -> '(' ListPattern ':' Term ')' (47)
- Param -> '{' Pattern ':' Term '|' Term '}' (48)
- ListParam -> Param (49)
- ListParam -> Param ListParam (50)
- ParamDecl -> Term6 (51)
- ParamDecl -> '(' '_' ':' Term ')' (52)
- ParamDecl -> '{' Pattern ':' Term '}' (53)
- ParamDecl -> '(' VarIdent ':' Term ')' (54)
- ParamDecl -> '{' '(' Pattern ':' Term ')' '|' Term '}' (55)
- ParamDecl -> '{' Pattern ':' Term '|' Term '}' (56)
- Restriction -> Term '|->' Term (57)
- ListRestriction -> Restriction (58)
- ListRestriction -> Restriction ',' ListRestriction (59)
- Term7 -> 'U' (60)
- Term7 -> 'CUBE' (61)
- Term7 -> 'TOPE' (62)
- Term7 -> '1' (63)
- Term7 -> '*_1' (64)
- Term7 -> '2' (65)
- Term7 -> '0_2' (66)
- Term7 -> '1_2' (67)
- Term7 -> 'TOP' (68)
- Term7 -> 'BOT' (69)
- Term7 -> 'recBOT' (70)
- Term7 -> 'recOR' '(' ListRestriction ')' (71)
- Term7 -> 'recOR' '(' Term ',' Term ',' Term ',' Term ')' (72)
- Term7 -> '<' ParamDecl '->' Term '>' (73)
- Term7 -> '(' Term ',' Term ')' (74)
- Term7 -> 'refl' (75)
- Term7 -> 'refl_{' Term '}' (76)
- Term7 -> 'refl_{' Term ':' Term '}' (77)
- Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term ',' Term ')' (78)
- Term7 -> HoleIdent (79)
- Term7 -> VarIdent (80)
- Term7 -> '(' Term ')' (81)
- Term5 -> Term5 '*' Term6 (82)
- Term5 -> Term6 (83)
- Term4 -> Term5 '===' Term5 (84)
- Term4 -> Term5 '<=' Term5 (85)
- Term4 -> Term5 (86)
- Term3 -> Term4 '/\\' Term3 (87)
- Term3 -> Term4 (88)
- Term2 -> Term3 '\\/' Term2 (89)
- Term2 -> Term3 (90)
- Term1 -> ParamDecl '->' Term1 (91)
- Term1 -> 'Sigma' '(' Pattern ':' Term ')' ',' Term1 (92)
- Term1 -> Term2 '=_{' Term '}' Term2 (93)
- Term1 -> Term2 '=' Term2 (94)
- Term1 -> '\\' ListParam '->' Term1 (95)
- Term1 -> Term2 (96)
- Term1 -> ParamDecl '→' Term1 (97)
- Term1 -> 'Σ' '(' Pattern ':' Term ')' ',' Term1 (98)
- Term1 -> '∑' '(' Pattern ':' Term ')' ',' Term1 (99)
- Term6 -> Term6 '[' ListRestriction ']' (100)
- Term6 -> Term6 Term7 (101)
- Term6 -> 'first' Term7 (102)
- Term6 -> 'second' Term7 (103)
- Term6 -> Term7 (104)
- Term -> Term2 'as' Term1 (105)
- Term -> Term1 (106)
- ListTerm -> Term (107)
- ListTerm -> Term ',' ListTerm (108)
+ %start_pListVarIdent_internal -> ListVarIdent (1)
+ %start_pLanguageDecl_internal -> LanguageDecl (2)
+ %start_pLanguage_internal -> Language (3)
+ %start_pCommand_internal -> Command (4)
+ %start_pListCommand_internal -> ListCommand (5)
+ %start_pDeclUsedVars_internal -> DeclUsedVars (6)
+ %start_pSectionName_internal -> SectionName (7)
+ %start_pPattern_internal -> Pattern (8)
+ %start_pListPattern_internal -> ListPattern (9)
+ %start_pParam_internal -> Param (10)
+ %start_pListParam_internal -> ListParam (11)
+ %start_pParamDecl_internal -> ParamDecl (12)
+ %start_pRestriction_internal -> Restriction (13)
+ %start_pListRestriction_internal -> ListRestriction (14)
+ %start_pTerm7_internal -> Term7 (15)
+ %start_pTerm5_internal -> Term5 (16)
+ %start_pTerm4_internal -> Term4 (17)
+ %start_pTerm3_internal -> Term3 (18)
+ %start_pTerm2_internal -> Term2 (19)
+ %start_pTerm1_internal -> Term1 (20)
+ %start_pTerm6_internal -> Term6 (21)
+ %start_pTerm_internal -> Term (22)
+ %start_pListTerm_internal -> ListTerm (23)
+ String -> L_quoted (24)
+ VarIdent -> L_VarIdent (25)
+ HoleIdent -> L_HoleIdent (26)
+ Module -> LanguageDecl ListCommand (27)
+ ListVarIdent -> VarIdent (28)
+ ListVarIdent -> VarIdent ListVarIdent (29)
+ LanguageDecl -> '#lang' Language ';' (30)
+ Language -> 'rzk-1' (31)
+ Command -> '#set-option' String '=' String (32)
+ Command -> '#unset-option' String (33)
+ Command -> '#check' Term ':' Term (34)
+ Command -> '#compute' Term (35)
+ Command -> '#compute-whnf' Term (36)
+ Command -> '#compute-nf' Term (37)
+ Command -> '#postulate' VarIdent DeclUsedVars ListParam ':' Term (38)
+ Command -> '#postulate' VarIdent DeclUsedVars ':' Term (39)
+ Command -> '#assume' ListVarIdent ':' Term (40)
+ Command -> '#variable' VarIdent ':' Term (41)
+ Command -> '#variables' ListVarIdent ':' Term (42)
+ Command -> '#section' SectionName ';' ListCommand '#end' SectionName (43)
+ Command -> '#define' VarIdent DeclUsedVars ListParam ':' Term ':=' Term (44)
+ Command -> '#define' VarIdent DeclUsedVars ':' Term ':=' Term (45)
+ Command -> '#def' VarIdent DeclUsedVars ListParam ':' Term ':=' Term (46)
+ Command -> '#def' VarIdent DeclUsedVars ':' Term ':=' Term (47)
+ ListCommand -> (48)
+ ListCommand -> Command ';' ListCommand (49)
+ DeclUsedVars -> 'uses' '(' ListVarIdent ')' (50)
+ DeclUsedVars -> (51)
+ SectionName -> (52)
+ SectionName -> VarIdent (53)
+ Pattern -> '_' (54)
+ Pattern -> VarIdent (55)
+ Pattern -> '(' Pattern ',' Pattern ')' (56)
+ ListPattern -> Pattern (57)
+ ListPattern -> Pattern ListPattern (58)
+ Param -> Pattern (59)
+ Param -> '(' ListPattern ':' Term ')' (60)
+ Param -> '{' Pattern ':' Term '|' Term '}' (61)
+ ListParam -> Param (62)
+ ListParam -> Param ListParam (63)
+ ParamDecl -> Term6 (64)
+ ParamDecl -> '(' '_' ':' Term ')' (65)
+ ParamDecl -> '{' Pattern ':' Term '}' (66)
+ ParamDecl -> '(' VarIdent ':' Term ')' (67)
+ ParamDecl -> '{' '(' Pattern ':' Term ')' '|' Term '}' (68)
+ ParamDecl -> '{' Pattern ':' Term '|' Term '}' (69)
+ Restriction -> Term '|->' Term (70)
+ ListRestriction -> Restriction (71)
+ ListRestriction -> Restriction ',' ListRestriction (72)
+ Term7 -> 'U' (73)
+ Term7 -> 'CUBE' (74)
+ Term7 -> 'TOPE' (75)
+ Term7 -> '1' (76)
+ Term7 -> '*_1' (77)
+ Term7 -> '2' (78)
+ Term7 -> '0_2' (79)
+ Term7 -> '1_2' (80)
+ Term7 -> 'TOP' (81)
+ Term7 -> 'BOT' (82)
+ Term7 -> 'recBOT' (83)
+ Term7 -> 'recOR' '(' ListRestriction ')' (84)
+ Term7 -> 'recOR' '(' Term ',' Term ',' Term ',' Term ')' (85)
+ Term7 -> '<' ParamDecl '->' Term '>' (86)
+ Term7 -> '(' Term ',' Term ')' (87)
+ Term7 -> 'refl' (88)
+ Term7 -> 'refl_{' Term '}' (89)
+ Term7 -> 'refl_{' Term ':' Term '}' (90)
+ Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term ',' Term ')' (91)
+ Term7 -> HoleIdent (92)
+ Term7 -> VarIdent (93)
+ Term7 -> '(' Term ')' (94)
+ Term5 -> Term5 '*' Term6 (95)
+ Term5 -> Term6 (96)
+ Term4 -> Term5 '===' Term5 (97)
+ Term4 -> Term5 '<=' Term5 (98)
+ Term4 -> Term5 (99)
+ Term3 -> Term4 '/\\' Term3 (100)
+ Term3 -> Term4 (101)
+ Term2 -> Term3 '\\/' Term2 (102)
+ Term2 -> Term3 (103)
+ Term1 -> ParamDecl '->' Term1 (104)
+ Term1 -> 'Sigma' '(' Pattern ':' Term ')' ',' Term1 (105)
+ Term1 -> Term2 '=_{' Term '}' Term2 (106)
+ Term1 -> Term2 '=' Term2 (107)
+ Term1 -> '\\' ListParam '->' Term1 (108)
+ Term1 -> Term2 (109)
+ Term1 -> ParamDecl '→' Term1 (110)
+ Term1 -> 'Σ' '(' Pattern ':' Term ')' ',' Term1 (111)
+ Term1 -> '∑' '(' Pattern ':' Term ')' ',' Term1 (112)
+ Term6 -> Term6 '[' ListRestriction ']' (113)
+ Term6 -> Term6 Term7 (114)
+ Term6 -> 'first' Term7 (115)
+ Term6 -> 'second' Term7 (116)
+ Term6 -> Term7 (117)
+ Term -> Term2 'as' Term1 (118)
+ Term -> Term1 (119)
+ ListTerm -> Term (120)
+ ListTerm -> Term ',' ListTerm (121)
-----------------------------------------------------------------------------
Terminals
-----------------------------------------------------------------------------
- '#check' { PT _ (TS _ 1) }
- '#compute' { PT _ (TS _ 2) }
- '#compute-nf' { PT _ (TS _ 3) }
- '#compute-whnf'{ PT _ (TS _ 4) }
- '#def' { PT _ (TS _ 5) }
- '#define' { PT _ (TS _ 6) }
- '#lang' { PT _ (TS _ 7) }
- '#postulate' { PT _ (TS _ 8) }
- '#set-option' { PT _ (TS _ 9) }
- '#unset-option'{ PT _ (TS _ 10) }
- '(' { PT _ (TS _ 11) }
- ')' { PT _ (TS _ 12) }
- '*' { PT _ (TS _ 13) }
- '*_1' { PT _ (TS _ 14) }
- ',' { PT _ (TS _ 15) }
- '->' { PT _ (TS _ 16) }
- '/\\' { PT _ (TS _ 17) }
- '0_2' { PT _ (TS _ 18) }
- '1' { PT _ (TS _ 19) }
- '1_2' { PT _ (TS _ 20) }
- '2' { PT _ (TS _ 21) }
- ':' { PT _ (TS _ 22) }
- ':=' { PT _ (TS _ 23) }
- ';' { PT _ (TS _ 24) }
- '<' { PT _ (TS _ 25) }
- '<=' { PT _ (TS _ 26) }
- '=' { PT _ (TS _ 27) }
- '===' { PT _ (TS _ 28) }
- '=_{' { PT _ (TS _ 29) }
- '>' { PT _ (TS _ 30) }
- 'BOT' { PT _ (TS _ 31) }
- 'CUBE' { PT _ (TS _ 32) }
- 'Sigma' { PT _ (TS _ 33) }
- 'TOP' { PT _ (TS _ 34) }
- 'TOPE' { PT _ (TS _ 35) }
- 'U' { PT _ (TS _ 36) }
- '[' { PT _ (TS _ 37) }
- '\\' { PT _ (TS _ 38) }
- '\\/' { PT _ (TS _ 39) }
- ']' { PT _ (TS _ 40) }
- '_' { PT _ (TS _ 41) }
- 'as' { PT _ (TS _ 42) }
- 'first' { PT _ (TS _ 43) }
- 'idJ' { PT _ (TS _ 44) }
- 'recBOT' { PT _ (TS _ 45) }
- 'recOR' { PT _ (TS _ 46) }
- 'refl' { PT _ (TS _ 47) }
- 'refl_{' { PT _ (TS _ 48) }
- 'rzk-1' { PT _ (TS _ 49) }
- 'second' { PT _ (TS _ 50) }
- '{' { PT _ (TS _ 51) }
- '|' { PT _ (TS _ 52) }
- '|->' { PT _ (TS _ 53) }
- '}' { PT _ (TS _ 54) }
- 'Σ' { PT _ (TS _ 55) }
- '→' { PT _ (TS _ 56) }
- '∑' { PT _ (TS _ 57) }
+ '#assume' { PT _ (TS _ 1) }
+ '#check' { PT _ (TS _ 2) }
+ '#compute' { PT _ (TS _ 3) }
+ '#compute-nf' { PT _ (TS _ 4) }
+ '#compute-whnf'{ PT _ (TS _ 5) }
+ '#def' { PT _ (TS _ 6) }
+ '#define' { PT _ (TS _ 7) }
+ '#end' { PT _ (TS _ 8) }
+ '#lang' { PT _ (TS _ 9) }
+ '#postulate' { PT _ (TS _ 10) }
+ '#section' { PT _ (TS _ 11) }
+ '#set-option' { PT _ (TS _ 12) }
+ '#unset-option'{ PT _ (TS _ 13) }
+ '#variable' { PT _ (TS _ 14) }
+ '#variables' { PT _ (TS _ 15) }
+ '(' { PT _ (TS _ 16) }
+ ')' { PT _ (TS _ 17) }
+ '*' { PT _ (TS _ 18) }
+ '*_1' { PT _ (TS _ 19) }
+ ',' { PT _ (TS _ 20) }
+ '->' { PT _ (TS _ 21) }
+ '/\\' { PT _ (TS _ 22) }
+ '0_2' { PT _ (TS _ 23) }
+ '1' { PT _ (TS _ 24) }
+ '1_2' { PT _ (TS _ 25) }
+ '2' { PT _ (TS _ 26) }
+ ':' { PT _ (TS _ 27) }
+ ':=' { PT _ (TS _ 28) }
+ ';' { PT _ (TS _ 29) }
+ '<' { PT _ (TS _ 30) }
+ '<=' { PT _ (TS _ 31) }
+ '=' { PT _ (TS _ 32) }
+ '===' { PT _ (TS _ 33) }
+ '=_{' { PT _ (TS _ 34) }
+ '>' { PT _ (TS _ 35) }
+ 'BOT' { PT _ (TS _ 36) }
+ 'CUBE' { PT _ (TS _ 37) }
+ 'Sigma' { PT _ (TS _ 38) }
+ 'TOP' { PT _ (TS _ 39) }
+ 'TOPE' { PT _ (TS _ 40) }
+ 'U' { PT _ (TS _ 41) }
+ '[' { PT _ (TS _ 42) }
+ '\\' { PT _ (TS _ 43) }
+ '\\/' { PT _ (TS _ 44) }
+ ']' { PT _ (TS _ 45) }
+ '_' { PT _ (TS _ 46) }
+ 'as' { PT _ (TS _ 47) }
+ 'first' { PT _ (TS _ 48) }
+ 'idJ' { PT _ (TS _ 49) }
+ 'recBOT' { PT _ (TS _ 50) }
+ 'recOR' { PT _ (TS _ 51) }
+ 'refl' { PT _ (TS _ 52) }
+ 'refl_{' { PT _ (TS _ 53) }
+ 'rzk-1' { PT _ (TS _ 54) }
+ 'second' { PT _ (TS _ 55) }
+ 'uses' { PT _ (TS _ 56) }
+ '{' { PT _ (TS _ 57) }
+ '|' { PT _ (TS _ 58) }
+ '|->' { PT _ (TS _ 59) }
+ '}' { PT _ (TS _ 60) }
+ 'Σ' { PT _ (TS _ 61) }
+ '→' { PT _ (TS _ 62) }
+ '∑' { PT _ (TS _ 63) }
L_quoted { PT _ (TL _) }
L_VarIdent { PT _ (T_VarIdent _) }
L_HoleIdent { PT _ (T_HoleIdent _) }
@@ -184,50 +203,56 @@ Terminals
Non-terminals
-----------------------------------------------------------------------------
%start_pModule_internal rule 0
- %start_pLanguageDecl_internal rule 1
- %start_pLanguage_internal rule 2
- %start_pCommand_internal rule 3
- %start_pListCommand_internal rule 4
- %start_pPattern_internal rule 5
- %start_pListPattern_internal rule 6
- %start_pParam_internal rule 7
- %start_pListParam_internal rule 8
- %start_pParamDecl_internal rule 9
- %start_pRestriction_internal rule 10
- %start_pListRestriction_internal rule 11
- %start_pTerm7_internal rule 12
- %start_pTerm5_internal rule 13
- %start_pTerm4_internal rule 14
- %start_pTerm3_internal rule 15
- %start_pTerm2_internal rule 16
- %start_pTerm1_internal rule 17
- %start_pTerm6_internal rule 18
- %start_pTerm_internal rule 19
- %start_pListTerm_internal rule 20
- String rule 21
- VarIdent rule 22
- HoleIdent rule 23
- Module rule 24
- LanguageDecl rule 25
- Language rule 26
- Command rules 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38
- ListCommand rules 39, 40
- Pattern rules 41, 42, 43
- ListPattern rules 44, 45
- Param rules 46, 47, 48
- ListParam rules 49, 50
- ParamDecl rules 51, 52, 53, 54, 55, 56
- Restriction rule 57
- ListRestriction rules 58, 59
- Term7 rules 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81
- Term5 rules 82, 83
- Term4 rules 84, 85, 86
- Term3 rules 87, 88
- Term2 rules 89, 90
- Term1 rules 91, 92, 93, 94, 95, 96, 97, 98, 99
- Term6 rules 100, 101, 102, 103, 104
- Term rules 105, 106
- ListTerm rules 107, 108
+ %start_pListVarIdent_internal rule 1
+ %start_pLanguageDecl_internal rule 2
+ %start_pLanguage_internal rule 3
+ %start_pCommand_internal rule 4
+ %start_pListCommand_internal rule 5
+ %start_pDeclUsedVars_internal rule 6
+ %start_pSectionName_internal rule 7
+ %start_pPattern_internal rule 8
+ %start_pListPattern_internal rule 9
+ %start_pParam_internal rule 10
+ %start_pListParam_internal rule 11
+ %start_pParamDecl_internal rule 12
+ %start_pRestriction_internal rule 13
+ %start_pListRestriction_internal rule 14
+ %start_pTerm7_internal rule 15
+ %start_pTerm5_internal rule 16
+ %start_pTerm4_internal rule 17
+ %start_pTerm3_internal rule 18
+ %start_pTerm2_internal rule 19
+ %start_pTerm1_internal rule 20
+ %start_pTerm6_internal rule 21
+ %start_pTerm_internal rule 22
+ %start_pListTerm_internal rule 23
+ String rule 24
+ VarIdent rule 25
+ HoleIdent rule 26
+ Module rule 27
+ ListVarIdent rules 28, 29
+ LanguageDecl rule 30
+ Language rule 31
+ Command rules 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47
+ ListCommand rules 48, 49
+ DeclUsedVars rules 50, 51
+ SectionName rules 52, 53
+ Pattern rules 54, 55, 56
+ ListPattern rules 57, 58
+ Param rules 59, 60, 61
+ ListParam rules 62, 63
+ ParamDecl rules 64, 65, 66, 67, 68, 69
+ Restriction rule 70
+ ListRestriction rules 71, 72
+ Term7 rules 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94
+ Term5 rules 95, 96
+ Term4 rules 97, 98, 99
+ Term3 rules 100, 101
+ Term2 rules 102, 103
+ Term1 rules 104, 105, 106, 107, 108, 109, 110, 111, 112
+ Term6 rules 113, 114, 115, 116, 117
+ Term rules 118, 119
+ ListTerm rules 120, 121
-----------------------------------------------------------------------------
States
@@ -236,620 +261,1036 @@ State 0
%start_pModule_internal -> . Module (rule 0)
- '#lang' shift, and enter state 105
+ '#lang' shift, and enter state 116
- Module goto state 106
- LanguageDecl goto state 107
+ Module goto state 119
+ LanguageDecl goto state 120
State 1
- %start_pLanguageDecl_internal -> . LanguageDecl (rule 1)
+ %start_pListVarIdent_internal -> . ListVarIdent (rule 1)
- '#lang' shift, and enter state 105
+ L_VarIdent shift, and enter state 62
- LanguageDecl goto state 104
+ VarIdent goto state 117
+ ListVarIdent goto state 118
State 2
- %start_pLanguage_internal -> . Language (rule 2)
+ %start_pLanguageDecl_internal -> . LanguageDecl (rule 2)
- 'rzk-1' shift, and enter state 103
+ '#lang' shift, and enter state 116
- Language goto state 102
+ LanguageDecl goto state 115
State 3
- %start_pCommand_internal -> . Command (rule 3)
+ %start_pLanguage_internal -> . Language (rule 3)
- '#check' shift, and enter state 92
- '#compute' shift, and enter state 93
- '#compute-nf' shift, and enter state 94
- '#compute-whnf'shift, and enter state 95
- '#def' shift, and enter state 96
- '#define' shift, and enter state 97
- '#postulate' shift, and enter state 98
- '#set-option' shift, and enter state 99
- '#unset-option'shift, and enter state 100
+ 'rzk-1' shift, and enter state 114
- Command goto state 101
+ Language goto state 113
State 4
- %start_pListCommand_internal -> . ListCommand (rule 4)
-
- '#check' shift, and enter state 92
- '#compute' shift, and enter state 93
- '#compute-nf' shift, and enter state 94
- '#compute-whnf'shift, and enter state 95
- '#def' shift, and enter state 96
- '#define' shift, and enter state 97
- '#postulate' shift, and enter state 98
- '#set-option' shift, and enter state 99
- '#unset-option'shift, and enter state 100
- %eof reduce using rule 39
+ %start_pCommand_internal -> . Command (rule 4)
- Command goto state 90
- ListCommand goto state 91
+ '#assume' shift, and enter state 99
+ '#check' shift, and enter state 100
+ '#compute' shift, and enter state 101
+ '#compute-nf' shift, and enter state 102
+ '#compute-whnf'shift, and enter state 103
+ '#def' shift, and enter state 104
+ '#define' shift, and enter state 105
+ '#postulate' shift, and enter state 106
+ '#section' shift, and enter state 107
+ '#set-option' shift, and enter state 108
+ '#unset-option'shift, and enter state 109
+ '#variable' shift, and enter state 110
+ '#variables' shift, and enter state 111
-State 5
+ Command goto state 112
- %start_pPattern_internal -> . Pattern (rule 5)
+State 5
- '(' shift, and enter state 88
- '_' shift, and enter state 83
- L_VarIdent shift, and enter state 59
+ %start_pListCommand_internal -> . ListCommand (rule 5)
+
+ '#assume' shift, and enter state 99
+ '#check' shift, and enter state 100
+ '#compute' shift, and enter state 101
+ '#compute-nf' shift, and enter state 102
+ '#compute-whnf'shift, and enter state 103
+ '#def' shift, and enter state 104
+ '#define' shift, and enter state 105
+ '#postulate' shift, and enter state 106
+ '#section' shift, and enter state 107
+ '#set-option' shift, and enter state 108
+ '#unset-option'shift, and enter state 109
+ '#variable' shift, and enter state 110
+ '#variables' shift, and enter state 111
+ %eof reduce using rule 48
- VarIdent goto state 78
- Pattern goto state 89
+ Command goto state 97
+ ListCommand goto state 98
State 6
- %start_pListPattern_internal -> . ListPattern (rule 6)
+ %start_pDeclUsedVars_internal -> . DeclUsedVars (rule 6)
- '(' shift, and enter state 88
- '_' shift, and enter state 83
- L_VarIdent shift, and enter state 59
+ 'uses' shift, and enter state 96
+ %eof reduce using rule 51
- VarIdent goto state 78
- Pattern goto state 86
- ListPattern goto state 87
+ DeclUsedVars goto state 95
State 7
- %start_pParam_internal -> . Param (rule 7)
+ %start_pSectionName_internal -> . SectionName (rule 7)
- '(' shift, and enter state 82
- '_' shift, and enter state 83
- '{' shift, and enter state 84
- L_VarIdent shift, and enter state 59
+ L_VarIdent shift, and enter state 62
+ %eof reduce using rule 52
- VarIdent goto state 78
- Pattern goto state 79
- Param goto state 85
+ VarIdent goto state 93
+ SectionName goto state 94
State 8
- %start_pListParam_internal -> . ListParam (rule 8)
+ %start_pPattern_internal -> . Pattern (rule 8)
- '(' shift, and enter state 82
- '_' shift, and enter state 83
- '{' shift, and enter state 84
- L_VarIdent shift, and enter state 59
+ '(' shift, and enter state 91
+ '_' shift, and enter state 86
+ L_VarIdent shift, and enter state 62
- VarIdent goto state 78
- Pattern goto state 79
- Param goto state 80
- ListParam goto state 81
+ VarIdent goto state 81
+ Pattern goto state 92
State 9
- %start_pParamDecl_internal -> . ParamDecl (rule 9)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 76
- Term7 goto state 26
- Term6 goto state 77
+ %start_pListPattern_internal -> . ListPattern (rule 9)
+
+ '(' shift, and enter state 91
+ '_' shift, and enter state 86
+ L_VarIdent shift, and enter state 62
+
+ VarIdent goto state 81
+ Pattern goto state 89
+ ListPattern goto state 90
State 10
- %start_pRestriction_internal -> . Restriction (rule 10)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Restriction goto state 75
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 74
+ %start_pParam_internal -> . Param (rule 10)
+
+ '(' shift, and enter state 85
+ '_' shift, and enter state 86
+ '{' shift, and enter state 87
+ L_VarIdent shift, and enter state 62
+
+ VarIdent goto state 81
+ Pattern goto state 82
+ Param goto state 88
State 11
- %start_pListRestriction_internal -> . ListRestriction (rule 11)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Restriction goto state 72
- ListRestrictiongoto state 73
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 74
+ %start_pListParam_internal -> . ListParam (rule 11)
+
+ '(' shift, and enter state 85
+ '_' shift, and enter state 86
+ '{' shift, and enter state 87
+ L_VarIdent shift, and enter state 62
+
+ VarIdent goto state 81
+ Pattern goto state 82
+ Param goto state 83
+ ListParam goto state 84
State 12
- %start_pTerm7_internal -> . Term7 (rule 12)
-
- '(' shift, and enter state 63
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- Term7 goto state 71
+ %start_pParamDecl_internal -> . ParamDecl (rule 12)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 79
+ Term7 goto state 29
+ Term6 goto state 80
State 13
- %start_pTerm5_internal -> . Term5 (rule 13)
-
- '(' shift, and enter state 63
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- Term7 goto state 26
- Term5 goto state 70
- Term6 goto state 67
+ %start_pRestriction_internal -> . Restriction (rule 13)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Restriction goto state 78
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 77
State 14
- %start_pTerm4_internal -> . Term4 (rule 14)
-
- '(' shift, and enter state 63
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 69
- Term6 goto state 67
+ %start_pListRestriction_internal -> . ListRestriction (rule 14)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Restriction goto state 75
+ ListRestrictiongoto state 76
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 77
State 15
- %start_pTerm3_internal -> . Term3 (rule 15)
-
- '(' shift, and enter state 63
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 68
- Term6 goto state 67
+ %start_pTerm7_internal -> . Term7 (rule 15)
+
+ '(' shift, and enter state 66
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ Term7 goto state 74
State 16
- %start_pTerm2_internal -> . Term2 (rule 16)
-
- '(' shift, and enter state 63
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 66
- Term6 goto state 67
+ %start_pTerm5_internal -> . Term5 (rule 16)
+
+ '(' shift, and enter state 66
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ Term7 goto state 29
+ Term5 goto state 73
+ Term6 goto state 70
State 17
- %start_pTerm1_internal -> . Term1 (rule 17)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 64
- Term1 goto state 65
- Term6 goto state 32
+ %start_pTerm4_internal -> . Term4 (rule 17)
+
+ '(' shift, and enter state 66
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 72
+ Term6 goto state 70
State 18
- %start_pTerm6_internal -> . Term6 (rule 18)
-
- '(' shift, and enter state 63
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- Term7 goto state 26
- Term6 goto state 62
+ %start_pTerm3_internal -> . Term3 (rule 18)
+
+ '(' shift, and enter state 66
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 71
+ Term6 goto state 70
State 19
- %start_pTerm_internal -> . Term (rule 19)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 61
+ %start_pTerm2_internal -> . Term2 (rule 19)
+
+ '(' shift, and enter state 66
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 69
+ Term6 goto state 70
State 20
- %start_pListTerm_internal -> . ListTerm (rule 20)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 33
- ListTerm goto state 34
+ %start_pTerm1_internal -> . Term1 (rule 20)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 67
+ Term1 goto state 68
+ Term6 goto state 35
State 21
- String -> . L_quoted (rule 21)
+ %start_pTerm6_internal -> . Term6 (rule 21)
+
+ '(' shift, and enter state 66
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ Term7 goto state 29
+ Term6 goto state 65
- L_quoted shift, and enter state 22
+State 22
+ %start_pTerm_internal -> . Term (rule 22)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 64
-State 22
+State 23
- String -> L_quoted . (rule 21)
+ %start_pListTerm_internal -> . ListTerm (rule 23)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 36
+ ListTerm goto state 37
- ';' reduce using rule 21
- '=' reduce using rule 21
+State 24
+ String -> . L_quoted (rule 24)
-State 23
+ L_quoted shift, and enter state 25
- Term7 -> VarIdent . (rule 80)
- '(' reduce using rule 80
- ')' reduce using rule 80
- '*' reduce using rule 80
- '*_1' reduce using rule 80
- ',' reduce using rule 80
- '->' reduce using rule 80
- '/\\' reduce using rule 80
- '0_2' reduce using rule 80
- '1' reduce using rule 80
- '1_2' reduce using rule 80
- '2' reduce using rule 80
- ':' reduce using rule 80
- ':=' reduce using rule 80
- ';' reduce using rule 80
- '<' reduce using rule 80
- '<=' reduce using rule 80
- '=' reduce using rule 80
- '===' reduce using rule 80
- '=_{' reduce using rule 80
- '>' reduce using rule 80
- 'BOT' reduce using rule 80
- 'CUBE' reduce using rule 80
- 'TOP' reduce using rule 80
- 'TOPE' reduce using rule 80
- 'U' reduce using rule 80
- '[' reduce using rule 80
- '\\/' reduce using rule 80
- ']' reduce using rule 80
- 'as' reduce using rule 80
- 'idJ' reduce using rule 80
- 'recBOT' reduce using rule 80
- 'recOR' reduce using rule 80
- 'refl' reduce using rule 80
- 'refl_{' reduce using rule 80
- '|' reduce using rule 80
- '|->' reduce using rule 80
- '}' reduce using rule 80
- '→' reduce using rule 80
- L_VarIdent reduce using rule 80
- L_HoleIdent reduce using rule 80
- %eof reduce using rule 80
+State 25
+ String -> L_quoted . (rule 24)
-State 24
+ ';' reduce using rule 24
+ '=' reduce using rule 24
+ %eof reduce using rule 24
+
+
+State 26
+
+ Term7 -> VarIdent . (rule 93)
+
+ '(' reduce using rule 93
+ ')' reduce using rule 93
+ '*' reduce using rule 93
+ '*_1' reduce using rule 93
+ ',' reduce using rule 93
+ '->' reduce using rule 93
+ '/\\' reduce using rule 93
+ '0_2' reduce using rule 93
+ '1' reduce using rule 93
+ '1_2' reduce using rule 93
+ '2' reduce using rule 93
+ ':' reduce using rule 93
+ ':=' reduce using rule 93
+ ';' reduce using rule 93
+ '<' reduce using rule 93
+ '<=' reduce using rule 93
+ '=' reduce using rule 93
+ '===' reduce using rule 93
+ '=_{' reduce using rule 93
+ '>' reduce using rule 93
+ 'BOT' reduce using rule 93
+ 'CUBE' reduce using rule 93
+ 'TOP' reduce using rule 93
+ 'TOPE' reduce using rule 93
+ 'U' reduce using rule 93
+ '[' reduce using rule 93
+ '\\/' reduce using rule 93
+ ']' reduce using rule 93
+ 'as' reduce using rule 93
+ 'idJ' reduce using rule 93
+ 'recBOT' reduce using rule 93
+ 'recOR' reduce using rule 93
+ 'refl' reduce using rule 93
+ 'refl_{' reduce using rule 93
+ '|' reduce using rule 93
+ '|->' reduce using rule 93
+ '}' reduce using rule 93
+ '→' reduce using rule 93
+ L_VarIdent reduce using rule 93
+ L_HoleIdent reduce using rule 93
+ %eof reduce using rule 93
+
+
+State 27
+
+ Term7 -> HoleIdent . (rule 92)
+
+ '(' reduce using rule 92
+ ')' reduce using rule 92
+ '*' reduce using rule 92
+ '*_1' reduce using rule 92
+ ',' reduce using rule 92
+ '->' reduce using rule 92
+ '/\\' reduce using rule 92
+ '0_2' reduce using rule 92
+ '1' reduce using rule 92
+ '1_2' reduce using rule 92
+ '2' reduce using rule 92
+ ':' reduce using rule 92
+ ':=' reduce using rule 92
+ ';' reduce using rule 92
+ '<' reduce using rule 92
+ '<=' reduce using rule 92
+ '=' reduce using rule 92
+ '===' reduce using rule 92
+ '=_{' reduce using rule 92
+ '>' reduce using rule 92
+ 'BOT' reduce using rule 92
+ 'CUBE' reduce using rule 92
+ 'TOP' reduce using rule 92
+ 'TOPE' reduce using rule 92
+ 'U' reduce using rule 92
+ '[' reduce using rule 92
+ '\\/' reduce using rule 92
+ ']' reduce using rule 92
+ 'as' reduce using rule 92
+ 'idJ' reduce using rule 92
+ 'recBOT' reduce using rule 92
+ 'recOR' reduce using rule 92
+ 'refl' reduce using rule 92
+ 'refl_{' reduce using rule 92
+ '|' reduce using rule 92
+ '|->' reduce using rule 92
+ '}' reduce using rule 92
+ '→' reduce using rule 92
+ L_VarIdent reduce using rule 92
+ L_HoleIdent reduce using rule 92
+ %eof reduce using rule 92
+
+
+State 28
+
+ Term1 -> ParamDecl . '->' Term1 (rule 104)
+ Term1 -> ParamDecl . '→' Term1 (rule 110)
+
+ '->' shift, and enter state 173
+ '→' shift, and enter state 174
+
+
+State 29
+
+ Term6 -> Term7 . (rule 117)
+
+ '(' reduce using rule 117
+ ')' reduce using rule 117
+ '*' reduce using rule 117
+ '*_1' reduce using rule 117
+ ',' reduce using rule 117
+ '->' reduce using rule 117
+ '/\\' reduce using rule 117
+ '0_2' reduce using rule 117
+ '1' reduce using rule 117
+ '1_2' reduce using rule 117
+ '2' reduce using rule 117
+ ':' reduce using rule 117
+ ':=' reduce using rule 117
+ ';' reduce using rule 117
+ '<' reduce using rule 117
+ '<=' reduce using rule 117
+ '=' reduce using rule 117
+ '===' reduce using rule 117
+ '=_{' reduce using rule 117
+ '>' reduce using rule 117
+ 'BOT' reduce using rule 117
+ 'CUBE' reduce using rule 117
+ 'TOP' reduce using rule 117
+ 'TOPE' reduce using rule 117
+ 'U' reduce using rule 117
+ '[' reduce using rule 117
+ '\\/' reduce using rule 117
+ ']' reduce using rule 117
+ 'as' reduce using rule 117
+ 'idJ' reduce using rule 117
+ 'recBOT' reduce using rule 117
+ 'recOR' reduce using rule 117
+ 'refl' reduce using rule 117
+ 'refl_{' reduce using rule 117
+ '|' reduce using rule 117
+ '|->' reduce using rule 117
+ '}' reduce using rule 117
+ '→' reduce using rule 117
+ L_VarIdent reduce using rule 117
+ L_HoleIdent reduce using rule 117
+ %eof reduce using rule 117
+
+
+State 30
+
+ Term5 -> Term5 . '*' Term6 (rule 95)
+ Term4 -> Term5 . '===' Term5 (rule 97)
+ Term4 -> Term5 . '<=' Term5 (rule 98)
+ Term4 -> Term5 . (rule 99)
+
+ ')' reduce using rule 99
+ '*' shift, and enter state 149
+ ',' reduce using rule 99
+ '/\\' reduce using rule 99
+ ':' reduce using rule 99
+ ':=' reduce using rule 99
+ ';' reduce using rule 99
+ '<=' shift, and enter state 171
+ '=' reduce using rule 99
+ '===' shift, and enter state 172
+ '=_{' reduce using rule 99
+ '>' reduce using rule 99
+ '\\/' reduce using rule 99
+ ']' reduce using rule 99
+ 'as' reduce using rule 99
+ '|' reduce using rule 99
+ '|->' reduce using rule 99
+ '}' reduce using rule 99
+ %eof reduce using rule 99
+
+
+State 31
+
+ Term3 -> Term4 . '/\\' Term3 (rule 100)
+ Term3 -> Term4 . (rule 101)
+
+ ')' reduce using rule 101
+ ',' reduce using rule 101
+ '/\\' shift, and enter state 170
+ ':' reduce using rule 101
+ ':=' reduce using rule 101
+ ';' reduce using rule 101
+ '=' reduce using rule 101
+ '=_{' reduce using rule 101
+ '>' reduce using rule 101
+ '\\/' reduce using rule 101
+ ']' reduce using rule 101
+ 'as' reduce using rule 101
+ '|' reduce using rule 101
+ '|->' reduce using rule 101
+ '}' reduce using rule 101
+ %eof reduce using rule 101
+
+
+State 32
+
+ Term2 -> Term3 . '\\/' Term2 (rule 102)
+ Term2 -> Term3 . (rule 103)
+
+ ')' reduce using rule 103
+ ',' reduce using rule 103
+ ':' reduce using rule 103
+ ':=' reduce using rule 103
+ ';' reduce using rule 103
+ '=' reduce using rule 103
+ '=_{' reduce using rule 103
+ '>' reduce using rule 103
+ '\\/' shift, and enter state 169
+ ']' reduce using rule 103
+ 'as' reduce using rule 103
+ '|' reduce using rule 103
+ '|->' reduce using rule 103
+ '}' reduce using rule 103
+ %eof reduce using rule 103
+
+
+State 33
+
+ Term1 -> Term2 . '=_{' Term '}' Term2 (rule 106)
+ Term1 -> Term2 . '=' Term2 (rule 107)
+ Term1 -> Term2 . (rule 109)
+ Term -> Term2 . 'as' Term1 (rule 118)
+
+ ')' reduce using rule 109
+ ',' reduce using rule 109
+ ':' reduce using rule 109
+ ':=' reduce using rule 109
+ ';' reduce using rule 109
+ '=' shift, and enter state 150
+ '=_{' shift, and enter state 151
+ '>' reduce using rule 109
+ ']' reduce using rule 109
+ 'as' shift, and enter state 168
+ '|' reduce using rule 109
+ '|->' reduce using rule 109
+ '}' reduce using rule 109
+ %eof reduce using rule 109
+
+
+State 34
+
+ Term -> Term1 . (rule 119)
+
+ ')' reduce using rule 119
+ ',' reduce using rule 119
+ ':' reduce using rule 119
+ ':=' reduce using rule 119
+ ';' reduce using rule 119
+ '>' reduce using rule 119
+ ']' reduce using rule 119
+ '|' reduce using rule 119
+ '|->' reduce using rule 119
+ '}' reduce using rule 119
+ %eof reduce using rule 119
+
+
+State 35
+
+ ParamDecl -> Term6 . (rule 64)
+ Term5 -> Term6 . (rule 96)
+ Term6 -> Term6 . '[' ListRestriction ']' (rule 113)
+ Term6 -> Term6 . Term7 (rule 114)
+
+ '(' shift, and enter state 66
+ ')' reduce using rule 96
+ '*' reduce using rule 96
+ '*_1' shift, and enter state 39
+ ',' reduce using rule 96
+ '->' reduce using rule 64
+ '/\\' reduce using rule 96
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ ':' reduce using rule 96
+ ':=' reduce using rule 96
+ ';' reduce using rule 96
+ '<' shift, and enter state 44
+ '<=' reduce using rule 96
+ '=' reduce using rule 96
+ '===' reduce using rule 96
+ '=_{' reduce using rule 96
+ '>' reduce using rule 96
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '[' shift, and enter state 146
+ '\\/' reduce using rule 96
+ ']' reduce using rule 96
+ 'as' reduce using rule 96
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ '|' reduce using rule 96
+ '|->' reduce using rule 96
+ '}' reduce using rule 96
+ '→' reduce using rule 64
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+ %eof reduce using rule 96
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ Term7 goto state 145
+
+State 36
+
+ ListTerm -> Term . (rule 120)
+ ListTerm -> Term . ',' ListTerm (rule 121)
- Term7 -> HoleIdent . (rule 79)
+ ',' shift, and enter state 167
+ %eof reduce using rule 120
+
+
+State 37
+
+ %start_pListTerm_internal -> ListTerm . (rule 23)
+
+ %eof accept
+
+
+State 38
+
+ ParamDecl -> '(' . '_' ':' Term ')' (rule 65)
+ ParamDecl -> '(' . VarIdent ':' Term ')' (rule 67)
+ Term7 -> '(' . Term ',' Term ')' (rule 87)
+ Term7 -> '(' . Term ')' (rule 94)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ '_' shift, and enter state 166
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 165
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 152
+
+State 39
+
+ Term7 -> '*_1' . (rule 77)
+
+ '(' reduce using rule 77
+ ')' reduce using rule 77
+ '*' reduce using rule 77
+ '*_1' reduce using rule 77
+ ',' reduce using rule 77
+ '->' reduce using rule 77
+ '/\\' reduce using rule 77
+ '0_2' reduce using rule 77
+ '1' reduce using rule 77
+ '1_2' reduce using rule 77
+ '2' reduce using rule 77
+ ':' reduce using rule 77
+ ':=' reduce using rule 77
+ ';' reduce using rule 77
+ '<' reduce using rule 77
+ '<=' reduce using rule 77
+ '=' reduce using rule 77
+ '===' reduce using rule 77
+ '=_{' reduce using rule 77
+ '>' reduce using rule 77
+ 'BOT' reduce using rule 77
+ 'CUBE' reduce using rule 77
+ 'TOP' reduce using rule 77
+ 'TOPE' reduce using rule 77
+ 'U' reduce using rule 77
+ '[' reduce using rule 77
+ '\\/' reduce using rule 77
+ ']' reduce using rule 77
+ 'as' reduce using rule 77
+ 'idJ' reduce using rule 77
+ 'recBOT' reduce using rule 77
+ 'recOR' reduce using rule 77
+ 'refl' reduce using rule 77
+ 'refl_{' reduce using rule 77
+ '|' reduce using rule 77
+ '|->' reduce using rule 77
+ '}' reduce using rule 77
+ '→' reduce using rule 77
+ L_VarIdent reduce using rule 77
+ L_HoleIdent reduce using rule 77
+ %eof reduce using rule 77
+
+
+State 40
+
+ Term7 -> '0_2' . (rule 79)
'(' reduce using rule 79
')' reduce using rule 79
@@ -894,908 +1335,331 @@ State 24
%eof reduce using rule 79
-State 25
-
- Term1 -> ParamDecl . '->' Term1 (rule 91)
- Term1 -> ParamDecl . '→' Term1 (rule 97)
-
- '->' shift, and enter state 154
- '→' shift, and enter state 155
+State 41
+ Term7 -> '1' . (rule 76)
-State 26
-
- Term6 -> Term7 . (rule 104)
-
- '(' reduce using rule 104
- ')' reduce using rule 104
- '*' reduce using rule 104
- '*_1' reduce using rule 104
- ',' reduce using rule 104
- '->' reduce using rule 104
- '/\\' reduce using rule 104
- '0_2' reduce using rule 104
- '1' reduce using rule 104
- '1_2' reduce using rule 104
- '2' reduce using rule 104
- ':' reduce using rule 104
- ':=' reduce using rule 104
- ';' reduce using rule 104
- '<' reduce using rule 104
- '<=' reduce using rule 104
- '=' reduce using rule 104
- '===' reduce using rule 104
- '=_{' reduce using rule 104
- '>' reduce using rule 104
- 'BOT' reduce using rule 104
- 'CUBE' reduce using rule 104
- 'TOP' reduce using rule 104
- 'TOPE' reduce using rule 104
- 'U' reduce using rule 104
- '[' reduce using rule 104
- '\\/' reduce using rule 104
- ']' reduce using rule 104
- 'as' reduce using rule 104
- 'idJ' reduce using rule 104
- 'recBOT' reduce using rule 104
- 'recOR' reduce using rule 104
- 'refl' reduce using rule 104
- 'refl_{' reduce using rule 104
- '|' reduce using rule 104
- '|->' reduce using rule 104
- '}' reduce using rule 104
- '→' reduce using rule 104
- L_VarIdent reduce using rule 104
- L_HoleIdent reduce using rule 104
- %eof reduce using rule 104
-
-
-State 27
-
- Term5 -> Term5 . '*' Term6 (rule 82)
- Term4 -> Term5 . '===' Term5 (rule 84)
- Term4 -> Term5 . '<=' Term5 (rule 85)
- Term4 -> Term5 . (rule 86)
-
- ')' reduce using rule 86
- '*' shift, and enter state 130
- ',' reduce using rule 86
- '/\\' reduce using rule 86
- ':' reduce using rule 86
- ':=' reduce using rule 86
- ';' reduce using rule 86
- '<=' shift, and enter state 152
- '=' reduce using rule 86
- '===' shift, and enter state 153
- '=_{' reduce using rule 86
- '>' reduce using rule 86
- '\\/' reduce using rule 86
- ']' reduce using rule 86
- 'as' reduce using rule 86
- '|' reduce using rule 86
- '|->' reduce using rule 86
- '}' reduce using rule 86
- %eof reduce using rule 86
-
-
-State 28
-
- Term3 -> Term4 . '/\\' Term3 (rule 87)
- Term3 -> Term4 . (rule 88)
-
- ')' reduce using rule 88
- ',' reduce using rule 88
- '/\\' shift, and enter state 151
- ':' reduce using rule 88
- ':=' reduce using rule 88
- ';' reduce using rule 88
- '=' reduce using rule 88
- '=_{' reduce using rule 88
- '>' reduce using rule 88
- '\\/' reduce using rule 88
- ']' reduce using rule 88
- 'as' reduce using rule 88
- '|' reduce using rule 88
- '|->' reduce using rule 88
- '}' reduce using rule 88
- %eof reduce using rule 88
-
-
-State 29
-
- Term2 -> Term3 . '\\/' Term2 (rule 89)
- Term2 -> Term3 . (rule 90)
-
- ')' reduce using rule 90
- ',' reduce using rule 90
- ':' reduce using rule 90
- ':=' reduce using rule 90
- ';' reduce using rule 90
- '=' reduce using rule 90
- '=_{' reduce using rule 90
- '>' reduce using rule 90
- '\\/' shift, and enter state 150
- ']' reduce using rule 90
- 'as' reduce using rule 90
- '|' reduce using rule 90
- '|->' reduce using rule 90
- '}' reduce using rule 90
- %eof reduce using rule 90
-
-
-State 30
-
- Term1 -> Term2 . '=_{' Term '}' Term2 (rule 93)
- Term1 -> Term2 . '=' Term2 (rule 94)
- Term1 -> Term2 . (rule 96)
- Term -> Term2 . 'as' Term1 (rule 105)
-
- ')' reduce using rule 96
- ',' reduce using rule 96
- ':' reduce using rule 96
- ':=' reduce using rule 96
- ';' reduce using rule 96
- '=' shift, and enter state 131
- '=_{' shift, and enter state 132
- '>' reduce using rule 96
- ']' reduce using rule 96
- 'as' shift, and enter state 149
- '|' reduce using rule 96
- '|->' reduce using rule 96
- '}' reduce using rule 96
- %eof reduce using rule 96
-
-
-State 31
-
- Term -> Term1 . (rule 106)
-
- ')' reduce using rule 106
- ',' reduce using rule 106
- ':' reduce using rule 106
- ':=' reduce using rule 106
- ';' reduce using rule 106
- '>' reduce using rule 106
- ']' reduce using rule 106
- '|' reduce using rule 106
- '|->' reduce using rule 106
- '}' reduce using rule 106
- %eof reduce using rule 106
-
-
-State 32
-
- ParamDecl -> Term6 . (rule 51)
- Term5 -> Term6 . (rule 83)
- Term6 -> Term6 . '[' ListRestriction ']' (rule 100)
- Term6 -> Term6 . Term7 (rule 101)
-
- '(' shift, and enter state 63
- ')' reduce using rule 83
- '*' reduce using rule 83
- '*_1' shift, and enter state 36
- ',' reduce using rule 83
- '->' reduce using rule 51
- '/\\' reduce using rule 83
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- ':' reduce using rule 83
- ':=' reduce using rule 83
- ';' reduce using rule 83
- '<' shift, and enter state 41
- '<=' reduce using rule 83
- '=' reduce using rule 83
- '===' reduce using rule 83
- '=_{' reduce using rule 83
- '>' reduce using rule 83
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '[' shift, and enter state 127
- '\\/' reduce using rule 83
- ']' reduce using rule 83
- 'as' reduce using rule 83
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- '|' reduce using rule 83
- '|->' reduce using rule 83
- '}' reduce using rule 83
- '→' reduce using rule 51
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
- %eof reduce using rule 83
-
- VarIdent goto state 23
- HoleIdent goto state 24
- Term7 goto state 126
-
-State 33
-
- ListTerm -> Term . (rule 107)
- ListTerm -> Term . ',' ListTerm (rule 108)
-
- ',' shift, and enter state 148
- %eof reduce using rule 107
-
-
-State 34
-
- %start_pListTerm_internal -> ListTerm . (rule 20)
-
- %eof accept
-
-
-State 35
-
- ParamDecl -> '(' . '_' ':' Term ')' (rule 52)
- ParamDecl -> '(' . VarIdent ':' Term ')' (rule 54)
- Term7 -> '(' . Term ',' Term ')' (rule 74)
- Term7 -> '(' . Term ')' (rule 81)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- '_' shift, and enter state 147
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 146
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 133
-
-State 36
-
- Term7 -> '*_1' . (rule 64)
-
- '(' reduce using rule 64
- ')' reduce using rule 64
- '*' reduce using rule 64
- '*_1' reduce using rule 64
- ',' reduce using rule 64
- '->' reduce using rule 64
- '/\\' reduce using rule 64
- '0_2' reduce using rule 64
- '1' reduce using rule 64
- '1_2' reduce using rule 64
- '2' reduce using rule 64
- ':' reduce using rule 64
- ':=' reduce using rule 64
- ';' reduce using rule 64
- '<' reduce using rule 64
- '<=' reduce using rule 64
- '=' reduce using rule 64
- '===' reduce using rule 64
- '=_{' reduce using rule 64
- '>' reduce using rule 64
- 'BOT' reduce using rule 64
- 'CUBE' reduce using rule 64
- 'TOP' reduce using rule 64
- 'TOPE' reduce using rule 64
- 'U' reduce using rule 64
- '[' reduce using rule 64
- '\\/' reduce using rule 64
- ']' reduce using rule 64
- 'as' reduce using rule 64
- 'idJ' reduce using rule 64
- 'recBOT' reduce using rule 64
- 'recOR' reduce using rule 64
- 'refl' reduce using rule 64
- 'refl_{' reduce using rule 64
- '|' reduce using rule 64
- '|->' reduce using rule 64
- '}' reduce using rule 64
- '→' reduce using rule 64
- L_VarIdent reduce using rule 64
- L_HoleIdent reduce using rule 64
- %eof reduce using rule 64
-
-
-State 37
-
- Term7 -> '0_2' . (rule 66)
-
- '(' reduce using rule 66
- ')' reduce using rule 66
- '*' reduce using rule 66
- '*_1' reduce using rule 66
- ',' reduce using rule 66
- '->' reduce using rule 66
- '/\\' reduce using rule 66
- '0_2' reduce using rule 66
- '1' reduce using rule 66
- '1_2' reduce using rule 66
- '2' reduce using rule 66
- ':' reduce using rule 66
- ':=' reduce using rule 66
- ';' reduce using rule 66
- '<' reduce using rule 66
- '<=' reduce using rule 66
- '=' reduce using rule 66
- '===' reduce using rule 66
- '=_{' reduce using rule 66
- '>' reduce using rule 66
- 'BOT' reduce using rule 66
- 'CUBE' reduce using rule 66
- 'TOP' reduce using rule 66
- 'TOPE' reduce using rule 66
- 'U' reduce using rule 66
- '[' reduce using rule 66
- '\\/' reduce using rule 66
- ']' reduce using rule 66
- 'as' reduce using rule 66
- 'idJ' reduce using rule 66
- 'recBOT' reduce using rule 66
- 'recOR' reduce using rule 66
- 'refl' reduce using rule 66
- 'refl_{' reduce using rule 66
- '|' reduce using rule 66
- '|->' reduce using rule 66
- '}' reduce using rule 66
- '→' reduce using rule 66
- L_VarIdent reduce using rule 66
- L_HoleIdent reduce using rule 66
- %eof reduce using rule 66
-
-
-State 38
-
- Term7 -> '1' . (rule 63)
-
- '(' reduce using rule 63
- ')' reduce using rule 63
- '*' reduce using rule 63
- '*_1' reduce using rule 63
- ',' reduce using rule 63
- '->' reduce using rule 63
- '/\\' reduce using rule 63
- '0_2' reduce using rule 63
- '1' reduce using rule 63
- '1_2' reduce using rule 63
- '2' reduce using rule 63
- ':' reduce using rule 63
- ':=' reduce using rule 63
- ';' reduce using rule 63
- '<' reduce using rule 63
- '<=' reduce using rule 63
- '=' reduce using rule 63
- '===' reduce using rule 63
- '=_{' reduce using rule 63
- '>' reduce using rule 63
- 'BOT' reduce using rule 63
- 'CUBE' reduce using rule 63
- 'TOP' reduce using rule 63
- 'TOPE' reduce using rule 63
- 'U' reduce using rule 63
- '[' reduce using rule 63
- '\\/' reduce using rule 63
- ']' reduce using rule 63
- 'as' reduce using rule 63
- 'idJ' reduce using rule 63
- 'recBOT' reduce using rule 63
- 'recOR' reduce using rule 63
- 'refl' reduce using rule 63
- 'refl_{' reduce using rule 63
- '|' reduce using rule 63
- '|->' reduce using rule 63
- '}' reduce using rule 63
- '→' reduce using rule 63
- L_VarIdent reduce using rule 63
- L_HoleIdent reduce using rule 63
- %eof reduce using rule 63
-
-
-State 39
-
- Term7 -> '1_2' . (rule 67)
-
- '(' reduce using rule 67
- ')' reduce using rule 67
- '*' reduce using rule 67
- '*_1' reduce using rule 67
- ',' reduce using rule 67
- '->' reduce using rule 67
- '/\\' reduce using rule 67
- '0_2' reduce using rule 67
- '1' reduce using rule 67
- '1_2' reduce using rule 67
- '2' reduce using rule 67
- ':' reduce using rule 67
- ':=' reduce using rule 67
- ';' reduce using rule 67
- '<' reduce using rule 67
- '<=' reduce using rule 67
- '=' reduce using rule 67
- '===' reduce using rule 67
- '=_{' reduce using rule 67
- '>' reduce using rule 67
- 'BOT' reduce using rule 67
- 'CUBE' reduce using rule 67
- 'TOP' reduce using rule 67
- 'TOPE' reduce using rule 67
- 'U' reduce using rule 67
- '[' reduce using rule 67
- '\\/' reduce using rule 67
- ']' reduce using rule 67
- 'as' reduce using rule 67
- 'idJ' reduce using rule 67
- 'recBOT' reduce using rule 67
- 'recOR' reduce using rule 67
- 'refl' reduce using rule 67
- 'refl_{' reduce using rule 67
- '|' reduce using rule 67
- '|->' reduce using rule 67
- '}' reduce using rule 67
- '→' reduce using rule 67
- L_VarIdent reduce using rule 67
- L_HoleIdent reduce using rule 67
- %eof reduce using rule 67
-
-
-State 40
-
- Term7 -> '2' . (rule 65)
-
- '(' reduce using rule 65
- ')' reduce using rule 65
- '*' reduce using rule 65
- '*_1' reduce using rule 65
- ',' reduce using rule 65
- '->' reduce using rule 65
- '/\\' reduce using rule 65
- '0_2' reduce using rule 65
- '1' reduce using rule 65
- '1_2' reduce using rule 65
- '2' reduce using rule 65
- ':' reduce using rule 65
- ':=' reduce using rule 65
- ';' reduce using rule 65
- '<' reduce using rule 65
- '<=' reduce using rule 65
- '=' reduce using rule 65
- '===' reduce using rule 65
- '=_{' reduce using rule 65
- '>' reduce using rule 65
- 'BOT' reduce using rule 65
- 'CUBE' reduce using rule 65
- 'TOP' reduce using rule 65
- 'TOPE' reduce using rule 65
- 'U' reduce using rule 65
- '[' reduce using rule 65
- '\\/' reduce using rule 65
- ']' reduce using rule 65
- 'as' reduce using rule 65
- 'idJ' reduce using rule 65
- 'recBOT' reduce using rule 65
- 'recOR' reduce using rule 65
- 'refl' reduce using rule 65
- 'refl_{' reduce using rule 65
- '|' reduce using rule 65
- '|->' reduce using rule 65
- '}' reduce using rule 65
- '→' reduce using rule 65
- L_VarIdent reduce using rule 65
- L_HoleIdent reduce using rule 65
- %eof reduce using rule 65
-
-
-State 41
+ '(' reduce using rule 76
+ ')' reduce using rule 76
+ '*' reduce using rule 76
+ '*_1' reduce using rule 76
+ ',' reduce using rule 76
+ '->' reduce using rule 76
+ '/\\' reduce using rule 76
+ '0_2' reduce using rule 76
+ '1' reduce using rule 76
+ '1_2' reduce using rule 76
+ '2' reduce using rule 76
+ ':' reduce using rule 76
+ ':=' reduce using rule 76
+ ';' reduce using rule 76
+ '<' reduce using rule 76
+ '<=' reduce using rule 76
+ '=' reduce using rule 76
+ '===' reduce using rule 76
+ '=_{' reduce using rule 76
+ '>' reduce using rule 76
+ 'BOT' reduce using rule 76
+ 'CUBE' reduce using rule 76
+ 'TOP' reduce using rule 76
+ 'TOPE' reduce using rule 76
+ 'U' reduce using rule 76
+ '[' reduce using rule 76
+ '\\/' reduce using rule 76
+ ']' reduce using rule 76
+ 'as' reduce using rule 76
+ 'idJ' reduce using rule 76
+ 'recBOT' reduce using rule 76
+ 'recOR' reduce using rule 76
+ 'refl' reduce using rule 76
+ 'refl_{' reduce using rule 76
+ '|' reduce using rule 76
+ '|->' reduce using rule 76
+ '}' reduce using rule 76
+ '→' reduce using rule 76
+ L_VarIdent reduce using rule 76
+ L_HoleIdent reduce using rule 76
+ %eof reduce using rule 76
- Term7 -> '<' . ParamDecl '->' Term '>' (rule 73)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 145
- Term7 goto state 26
- Term6 goto state 77
State 42
- Term7 -> 'BOT' . (rule 69)
+ Term7 -> '1_2' . (rule 80)
- '(' reduce using rule 69
- ')' reduce using rule 69
- '*' reduce using rule 69
- '*_1' reduce using rule 69
- ',' reduce using rule 69
- '->' reduce using rule 69
- '/\\' reduce using rule 69
- '0_2' reduce using rule 69
- '1' reduce using rule 69
- '1_2' reduce using rule 69
- '2' reduce using rule 69
- ':' reduce using rule 69
- ':=' reduce using rule 69
- ';' reduce using rule 69
- '<' reduce using rule 69
- '<=' reduce using rule 69
- '=' reduce using rule 69
- '===' reduce using rule 69
- '=_{' reduce using rule 69
- '>' reduce using rule 69
- 'BOT' reduce using rule 69
- 'CUBE' reduce using rule 69
- 'TOP' reduce using rule 69
- 'TOPE' reduce using rule 69
- 'U' reduce using rule 69
- '[' reduce using rule 69
- '\\/' reduce using rule 69
- ']' reduce using rule 69
- 'as' reduce using rule 69
- 'idJ' reduce using rule 69
- 'recBOT' reduce using rule 69
- 'recOR' reduce using rule 69
- 'refl' reduce using rule 69
- 'refl_{' reduce using rule 69
- '|' reduce using rule 69
- '|->' reduce using rule 69
- '}' reduce using rule 69
- '→' reduce using rule 69
- L_VarIdent reduce using rule 69
- L_HoleIdent reduce using rule 69
- %eof reduce using rule 69
+ '(' reduce using rule 80
+ ')' reduce using rule 80
+ '*' reduce using rule 80
+ '*_1' reduce using rule 80
+ ',' reduce using rule 80
+ '->' reduce using rule 80
+ '/\\' reduce using rule 80
+ '0_2' reduce using rule 80
+ '1' reduce using rule 80
+ '1_2' reduce using rule 80
+ '2' reduce using rule 80
+ ':' reduce using rule 80
+ ':=' reduce using rule 80
+ ';' reduce using rule 80
+ '<' reduce using rule 80
+ '<=' reduce using rule 80
+ '=' reduce using rule 80
+ '===' reduce using rule 80
+ '=_{' reduce using rule 80
+ '>' reduce using rule 80
+ 'BOT' reduce using rule 80
+ 'CUBE' reduce using rule 80
+ 'TOP' reduce using rule 80
+ 'TOPE' reduce using rule 80
+ 'U' reduce using rule 80
+ '[' reduce using rule 80
+ '\\/' reduce using rule 80
+ ']' reduce using rule 80
+ 'as' reduce using rule 80
+ 'idJ' reduce using rule 80
+ 'recBOT' reduce using rule 80
+ 'recOR' reduce using rule 80
+ 'refl' reduce using rule 80
+ 'refl_{' reduce using rule 80
+ '|' reduce using rule 80
+ '|->' reduce using rule 80
+ '}' reduce using rule 80
+ '→' reduce using rule 80
+ L_VarIdent reduce using rule 80
+ L_HoleIdent reduce using rule 80
+ %eof reduce using rule 80
State 43
- Term7 -> 'CUBE' . (rule 61)
+ Term7 -> '2' . (rule 78)
- '(' reduce using rule 61
- ')' reduce using rule 61
- '*' reduce using rule 61
- '*_1' reduce using rule 61
- ',' reduce using rule 61
- '->' reduce using rule 61
- '/\\' reduce using rule 61
- '0_2' reduce using rule 61
- '1' reduce using rule 61
- '1_2' reduce using rule 61
- '2' reduce using rule 61
- ':' reduce using rule 61
- ':=' reduce using rule 61
- ';' reduce using rule 61
- '<' reduce using rule 61
- '<=' reduce using rule 61
- '=' reduce using rule 61
- '===' reduce using rule 61
- '=_{' reduce using rule 61
- '>' reduce using rule 61
- 'BOT' reduce using rule 61
- 'CUBE' reduce using rule 61
- 'TOP' reduce using rule 61
- 'TOPE' reduce using rule 61
- 'U' reduce using rule 61
- '[' reduce using rule 61
- '\\/' reduce using rule 61
- ']' reduce using rule 61
- 'as' reduce using rule 61
- 'idJ' reduce using rule 61
- 'recBOT' reduce using rule 61
- 'recOR' reduce using rule 61
- 'refl' reduce using rule 61
- 'refl_{' reduce using rule 61
- '|' reduce using rule 61
- '|->' reduce using rule 61
- '}' reduce using rule 61
- '→' reduce using rule 61
- L_VarIdent reduce using rule 61
- L_HoleIdent reduce using rule 61
- %eof reduce using rule 61
+ '(' reduce using rule 78
+ ')' reduce using rule 78
+ '*' reduce using rule 78
+ '*_1' reduce using rule 78
+ ',' reduce using rule 78
+ '->' reduce using rule 78
+ '/\\' reduce using rule 78
+ '0_2' reduce using rule 78
+ '1' reduce using rule 78
+ '1_2' reduce using rule 78
+ '2' reduce using rule 78
+ ':' reduce using rule 78
+ ':=' reduce using rule 78
+ ';' reduce using rule 78
+ '<' reduce using rule 78
+ '<=' reduce using rule 78
+ '=' reduce using rule 78
+ '===' reduce using rule 78
+ '=_{' reduce using rule 78
+ '>' reduce using rule 78
+ 'BOT' reduce using rule 78
+ 'CUBE' reduce using rule 78
+ 'TOP' reduce using rule 78
+ 'TOPE' reduce using rule 78
+ 'U' reduce using rule 78
+ '[' reduce using rule 78
+ '\\/' reduce using rule 78
+ ']' reduce using rule 78
+ 'as' reduce using rule 78
+ 'idJ' reduce using rule 78
+ 'recBOT' reduce using rule 78
+ 'recOR' reduce using rule 78
+ 'refl' reduce using rule 78
+ 'refl_{' reduce using rule 78
+ '|' reduce using rule 78
+ '|->' reduce using rule 78
+ '}' reduce using rule 78
+ '→' reduce using rule 78
+ L_VarIdent reduce using rule 78
+ L_HoleIdent reduce using rule 78
+ %eof reduce using rule 78
State 44
- Term1 -> 'Sigma' . '(' Pattern ':' Term ')' ',' Term1 (rule 92)
-
- '(' shift, and enter state 144
-
+ Term7 -> '<' . ParamDecl '->' Term '>' (rule 86)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 164
+ Term7 goto state 29
+ Term6 goto state 80
State 45
- Term7 -> 'TOP' . (rule 68)
+ Term7 -> 'BOT' . (rule 82)
- '(' reduce using rule 68
- ')' reduce using rule 68
- '*' reduce using rule 68
- '*_1' reduce using rule 68
- ',' reduce using rule 68
- '->' reduce using rule 68
- '/\\' reduce using rule 68
- '0_2' reduce using rule 68
- '1' reduce using rule 68
- '1_2' reduce using rule 68
- '2' reduce using rule 68
- ':' reduce using rule 68
- ':=' reduce using rule 68
- ';' reduce using rule 68
- '<' reduce using rule 68
- '<=' reduce using rule 68
- '=' reduce using rule 68
- '===' reduce using rule 68
- '=_{' reduce using rule 68
- '>' reduce using rule 68
- 'BOT' reduce using rule 68
- 'CUBE' reduce using rule 68
- 'TOP' reduce using rule 68
- 'TOPE' reduce using rule 68
- 'U' reduce using rule 68
- '[' reduce using rule 68
- '\\/' reduce using rule 68
- ']' reduce using rule 68
- 'as' reduce using rule 68
- 'idJ' reduce using rule 68
- 'recBOT' reduce using rule 68
- 'recOR' reduce using rule 68
- 'refl' reduce using rule 68
- 'refl_{' reduce using rule 68
- '|' reduce using rule 68
- '|->' reduce using rule 68
- '}' reduce using rule 68
- '→' reduce using rule 68
- L_VarIdent reduce using rule 68
- L_HoleIdent reduce using rule 68
- %eof reduce using rule 68
+ '(' reduce using rule 82
+ ')' reduce using rule 82
+ '*' reduce using rule 82
+ '*_1' reduce using rule 82
+ ',' reduce using rule 82
+ '->' reduce using rule 82
+ '/\\' reduce using rule 82
+ '0_2' reduce using rule 82
+ '1' reduce using rule 82
+ '1_2' reduce using rule 82
+ '2' reduce using rule 82
+ ':' reduce using rule 82
+ ':=' reduce using rule 82
+ ';' reduce using rule 82
+ '<' reduce using rule 82
+ '<=' reduce using rule 82
+ '=' reduce using rule 82
+ '===' reduce using rule 82
+ '=_{' reduce using rule 82
+ '>' reduce using rule 82
+ 'BOT' reduce using rule 82
+ 'CUBE' reduce using rule 82
+ 'TOP' reduce using rule 82
+ 'TOPE' reduce using rule 82
+ 'U' reduce using rule 82
+ '[' reduce using rule 82
+ '\\/' reduce using rule 82
+ ']' reduce using rule 82
+ 'as' reduce using rule 82
+ 'idJ' reduce using rule 82
+ 'recBOT' reduce using rule 82
+ 'recOR' reduce using rule 82
+ 'refl' reduce using rule 82
+ 'refl_{' reduce using rule 82
+ '|' reduce using rule 82
+ '|->' reduce using rule 82
+ '}' reduce using rule 82
+ '→' reduce using rule 82
+ L_VarIdent reduce using rule 82
+ L_HoleIdent reduce using rule 82
+ %eof reduce using rule 82
State 46
- Term7 -> 'TOPE' . (rule 62)
+ Term7 -> 'CUBE' . (rule 74)
- '(' reduce using rule 62
- ')' reduce using rule 62
- '*' reduce using rule 62
- '*_1' reduce using rule 62
- ',' reduce using rule 62
- '->' reduce using rule 62
- '/\\' reduce using rule 62
- '0_2' reduce using rule 62
- '1' reduce using rule 62
- '1_2' reduce using rule 62
- '2' reduce using rule 62
- ':' reduce using rule 62
- ':=' reduce using rule 62
- ';' reduce using rule 62
- '<' reduce using rule 62
- '<=' reduce using rule 62
- '=' reduce using rule 62
- '===' reduce using rule 62
- '=_{' reduce using rule 62
- '>' reduce using rule 62
- 'BOT' reduce using rule 62
- 'CUBE' reduce using rule 62
- 'TOP' reduce using rule 62
- 'TOPE' reduce using rule 62
- 'U' reduce using rule 62
- '[' reduce using rule 62
- '\\/' reduce using rule 62
- ']' reduce using rule 62
- 'as' reduce using rule 62
- 'idJ' reduce using rule 62
- 'recBOT' reduce using rule 62
- 'recOR' reduce using rule 62
- 'refl' reduce using rule 62
- 'refl_{' reduce using rule 62
- '|' reduce using rule 62
- '|->' reduce using rule 62
- '}' reduce using rule 62
- '→' reduce using rule 62
- L_VarIdent reduce using rule 62
- L_HoleIdent reduce using rule 62
- %eof reduce using rule 62
+ '(' reduce using rule 74
+ ')' reduce using rule 74
+ '*' reduce using rule 74
+ '*_1' reduce using rule 74
+ ',' reduce using rule 74
+ '->' reduce using rule 74
+ '/\\' reduce using rule 74
+ '0_2' reduce using rule 74
+ '1' reduce using rule 74
+ '1_2' reduce using rule 74
+ '2' reduce using rule 74
+ ':' reduce using rule 74
+ ':=' reduce using rule 74
+ ';' reduce using rule 74
+ '<' reduce using rule 74
+ '<=' reduce using rule 74
+ '=' reduce using rule 74
+ '===' reduce using rule 74
+ '=_{' reduce using rule 74
+ '>' reduce using rule 74
+ 'BOT' reduce using rule 74
+ 'CUBE' reduce using rule 74
+ 'TOP' reduce using rule 74
+ 'TOPE' reduce using rule 74
+ 'U' reduce using rule 74
+ '[' reduce using rule 74
+ '\\/' reduce using rule 74
+ ']' reduce using rule 74
+ 'as' reduce using rule 74
+ 'idJ' reduce using rule 74
+ 'recBOT' reduce using rule 74
+ 'recOR' reduce using rule 74
+ 'refl' reduce using rule 74
+ 'refl_{' reduce using rule 74
+ '|' reduce using rule 74
+ '|->' reduce using rule 74
+ '}' reduce using rule 74
+ '→' reduce using rule 74
+ L_VarIdent reduce using rule 74
+ L_HoleIdent reduce using rule 74
+ %eof reduce using rule 74
State 47
- Term7 -> 'U' . (rule 60)
+ Term1 -> 'Sigma' . '(' Pattern ':' Term ')' ',' Term1 (rule 105)
- '(' reduce using rule 60
- ')' reduce using rule 60
- '*' reduce using rule 60
- '*_1' reduce using rule 60
- ',' reduce using rule 60
- '->' reduce using rule 60
- '/\\' reduce using rule 60
- '0_2' reduce using rule 60
- '1' reduce using rule 60
- '1_2' reduce using rule 60
- '2' reduce using rule 60
- ':' reduce using rule 60
- ':=' reduce using rule 60
- ';' reduce using rule 60
- '<' reduce using rule 60
- '<=' reduce using rule 60
- '=' reduce using rule 60
- '===' reduce using rule 60
- '=_{' reduce using rule 60
- '>' reduce using rule 60
- 'BOT' reduce using rule 60
- 'CUBE' reduce using rule 60
- 'TOP' reduce using rule 60
- 'TOPE' reduce using rule 60
- 'U' reduce using rule 60
- '[' reduce using rule 60
- '\\/' reduce using rule 60
- ']' reduce using rule 60
- 'as' reduce using rule 60
- 'idJ' reduce using rule 60
- 'recBOT' reduce using rule 60
- 'recOR' reduce using rule 60
- 'refl' reduce using rule 60
- 'refl_{' reduce using rule 60
- '|' reduce using rule 60
- '|->' reduce using rule 60
- '}' reduce using rule 60
- '→' reduce using rule 60
- L_VarIdent reduce using rule 60
- L_HoleIdent reduce using rule 60
- %eof reduce using rule 60
+ '(' shift, and enter state 163
State 48
- Term1 -> '\\' . ListParam '->' Term1 (rule 95)
+ Term7 -> 'TOP' . (rule 81)
- '(' shift, and enter state 82
- '_' shift, and enter state 83
- '{' shift, and enter state 84
- L_VarIdent shift, and enter state 59
+ '(' reduce using rule 81
+ ')' reduce using rule 81
+ '*' reduce using rule 81
+ '*_1' reduce using rule 81
+ ',' reduce using rule 81
+ '->' reduce using rule 81
+ '/\\' reduce using rule 81
+ '0_2' reduce using rule 81
+ '1' reduce using rule 81
+ '1_2' reduce using rule 81
+ '2' reduce using rule 81
+ ':' reduce using rule 81
+ ':=' reduce using rule 81
+ ';' reduce using rule 81
+ '<' reduce using rule 81
+ '<=' reduce using rule 81
+ '=' reduce using rule 81
+ '===' reduce using rule 81
+ '=_{' reduce using rule 81
+ '>' reduce using rule 81
+ 'BOT' reduce using rule 81
+ 'CUBE' reduce using rule 81
+ 'TOP' reduce using rule 81
+ 'TOPE' reduce using rule 81
+ 'U' reduce using rule 81
+ '[' reduce using rule 81
+ '\\/' reduce using rule 81
+ ']' reduce using rule 81
+ 'as' reduce using rule 81
+ 'idJ' reduce using rule 81
+ 'recBOT' reduce using rule 81
+ 'recOR' reduce using rule 81
+ 'refl' reduce using rule 81
+ 'refl_{' reduce using rule 81
+ '|' reduce using rule 81
+ '|->' reduce using rule 81
+ '}' reduce using rule 81
+ '→' reduce using rule 81
+ L_VarIdent reduce using rule 81
+ L_HoleIdent reduce using rule 81
+ %eof reduce using rule 81
- VarIdent goto state 78
- Pattern goto state 79
- Param goto state 80
- ListParam goto state 143
State 49
- Term6 -> 'first' . Term7 (rule 102)
-
- '(' shift, and enter state 63
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- Term7 goto state 142
-
-State 50
-
- Term7 -> 'idJ' . '(' Term ',' Term ',' Term ',' Term ',' Term ',' Term ')' (rule 78)
-
- '(' shift, and enter state 141
-
-
-State 51
-
- Term7 -> 'recBOT' . (rule 70)
-
- '(' reduce using rule 70
- ')' reduce using rule 70
- '*' reduce using rule 70
- '*_1' reduce using rule 70
- ',' reduce using rule 70
- '->' reduce using rule 70
- '/\\' reduce using rule 70
- '0_2' reduce using rule 70
- '1' reduce using rule 70
- '1_2' reduce using rule 70
- '2' reduce using rule 70
- ':' reduce using rule 70
- ':=' reduce using rule 70
- ';' reduce using rule 70
- '<' reduce using rule 70
- '<=' reduce using rule 70
- '=' reduce using rule 70
- '===' reduce using rule 70
- '=_{' reduce using rule 70
- '>' reduce using rule 70
- 'BOT' reduce using rule 70
- 'CUBE' reduce using rule 70
- 'TOP' reduce using rule 70
- 'TOPE' reduce using rule 70
- 'U' reduce using rule 70
- '[' reduce using rule 70
- '\\/' reduce using rule 70
- ']' reduce using rule 70
- 'as' reduce using rule 70
- 'idJ' reduce using rule 70
- 'recBOT' reduce using rule 70
- 'recOR' reduce using rule 70
- 'refl' reduce using rule 70
- 'refl_{' reduce using rule 70
- '|' reduce using rule 70
- '|->' reduce using rule 70
- '}' reduce using rule 70
- '→' reduce using rule 70
- L_VarIdent reduce using rule 70
- L_HoleIdent reduce using rule 70
- %eof reduce using rule 70
-
-
-State 52
-
- Term7 -> 'recOR' . '(' ListRestriction ')' (rule 71)
- Term7 -> 'recOR' . '(' Term ',' Term ',' Term ',' Term ')' (rule 72)
-
- '(' shift, and enter state 140
-
-
-State 53
-
- Term7 -> 'refl' . (rule 75)
+ Term7 -> 'TOPE' . (rule 75)
'(' reduce using rule 75
')' reduce using rule 75
@@ -1840,5078 +1704,5511 @@ State 53
%eof reduce using rule 75
+State 50
+
+ Term7 -> 'U' . (rule 73)
+
+ '(' reduce using rule 73
+ ')' reduce using rule 73
+ '*' reduce using rule 73
+ '*_1' reduce using rule 73
+ ',' reduce using rule 73
+ '->' reduce using rule 73
+ '/\\' reduce using rule 73
+ '0_2' reduce using rule 73
+ '1' reduce using rule 73
+ '1_2' reduce using rule 73
+ '2' reduce using rule 73
+ ':' reduce using rule 73
+ ':=' reduce using rule 73
+ ';' reduce using rule 73
+ '<' reduce using rule 73
+ '<=' reduce using rule 73
+ '=' reduce using rule 73
+ '===' reduce using rule 73
+ '=_{' reduce using rule 73
+ '>' reduce using rule 73
+ 'BOT' reduce using rule 73
+ 'CUBE' reduce using rule 73
+ 'TOP' reduce using rule 73
+ 'TOPE' reduce using rule 73
+ 'U' reduce using rule 73
+ '[' reduce using rule 73
+ '\\/' reduce using rule 73
+ ']' reduce using rule 73
+ 'as' reduce using rule 73
+ 'idJ' reduce using rule 73
+ 'recBOT' reduce using rule 73
+ 'recOR' reduce using rule 73
+ 'refl' reduce using rule 73
+ 'refl_{' reduce using rule 73
+ '|' reduce using rule 73
+ '|->' reduce using rule 73
+ '}' reduce using rule 73
+ '→' reduce using rule 73
+ L_VarIdent reduce using rule 73
+ L_HoleIdent reduce using rule 73
+ %eof reduce using rule 73
+
+
+State 51
+
+ Term1 -> '\\' . ListParam '->' Term1 (rule 108)
+
+ '(' shift, and enter state 85
+ '_' shift, and enter state 86
+ '{' shift, and enter state 87
+ L_VarIdent shift, and enter state 62
+
+ VarIdent goto state 81
+ Pattern goto state 82
+ Param goto state 83
+ ListParam goto state 162
+
+State 52
+
+ Term6 -> 'first' . Term7 (rule 115)
+
+ '(' shift, and enter state 66
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ Term7 goto state 161
+
+State 53
+
+ Term7 -> 'idJ' . '(' Term ',' Term ',' Term ',' Term ',' Term ',' Term ')' (rule 91)
+
+ '(' shift, and enter state 160
+
+
State 54
- Term7 -> 'refl_{' . Term '}' (rule 76)
- Term7 -> 'refl_{' . Term ':' Term '}' (rule 77)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 139
+ Term7 -> 'recBOT' . (rule 83)
-State 55
+ '(' reduce using rule 83
+ ')' reduce using rule 83
+ '*' reduce using rule 83
+ '*_1' reduce using rule 83
+ ',' reduce using rule 83
+ '->' reduce using rule 83
+ '/\\' reduce using rule 83
+ '0_2' reduce using rule 83
+ '1' reduce using rule 83
+ '1_2' reduce using rule 83
+ '2' reduce using rule 83
+ ':' reduce using rule 83
+ ':=' reduce using rule 83
+ ';' reduce using rule 83
+ '<' reduce using rule 83
+ '<=' reduce using rule 83
+ '=' reduce using rule 83
+ '===' reduce using rule 83
+ '=_{' reduce using rule 83
+ '>' reduce using rule 83
+ 'BOT' reduce using rule 83
+ 'CUBE' reduce using rule 83
+ 'TOP' reduce using rule 83
+ 'TOPE' reduce using rule 83
+ 'U' reduce using rule 83
+ '[' reduce using rule 83
+ '\\/' reduce using rule 83
+ ']' reduce using rule 83
+ 'as' reduce using rule 83
+ 'idJ' reduce using rule 83
+ 'recBOT' reduce using rule 83
+ 'recOR' reduce using rule 83
+ 'refl' reduce using rule 83
+ 'refl_{' reduce using rule 83
+ '|' reduce using rule 83
+ '|->' reduce using rule 83
+ '}' reduce using rule 83
+ '→' reduce using rule 83
+ L_VarIdent reduce using rule 83
+ L_HoleIdent reduce using rule 83
+ %eof reduce using rule 83
- Term6 -> 'second' . Term7 (rule 103)
-
- '(' shift, and enter state 63
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- Term7 goto state 138
-State 56
+State 55
- ParamDecl -> '{' . Pattern ':' Term '}' (rule 53)
- ParamDecl -> '{' . '(' Pattern ':' Term ')' '|' Term '}' (rule 55)
- ParamDecl -> '{' . Pattern ':' Term '|' Term '}' (rule 56)
+ Term7 -> 'recOR' . '(' ListRestriction ')' (rule 84)
+ Term7 -> 'recOR' . '(' Term ',' Term ',' Term ',' Term ')' (rule 85)
- '(' shift, and enter state 137
- '_' shift, and enter state 83
- L_VarIdent shift, and enter state 59
+ '(' shift, and enter state 159
- VarIdent goto state 78
- Pattern goto state 136
-State 57
+State 56
- Term1 -> 'Σ' . '(' Pattern ':' Term ')' ',' Term1 (rule 98)
+ Term7 -> 'refl' . (rule 88)
- '(' shift, and enter state 135
+ '(' reduce using rule 88
+ ')' reduce using rule 88
+ '*' reduce using rule 88
+ '*_1' reduce using rule 88
+ ',' reduce using rule 88
+ '->' reduce using rule 88
+ '/\\' reduce using rule 88
+ '0_2' reduce using rule 88
+ '1' reduce using rule 88
+ '1_2' reduce using rule 88
+ '2' reduce using rule 88
+ ':' reduce using rule 88
+ ':=' reduce using rule 88
+ ';' reduce using rule 88
+ '<' reduce using rule 88
+ '<=' reduce using rule 88
+ '=' reduce using rule 88
+ '===' reduce using rule 88
+ '=_{' reduce using rule 88
+ '>' reduce using rule 88
+ 'BOT' reduce using rule 88
+ 'CUBE' reduce using rule 88
+ 'TOP' reduce using rule 88
+ 'TOPE' reduce using rule 88
+ 'U' reduce using rule 88
+ '[' reduce using rule 88
+ '\\/' reduce using rule 88
+ ']' reduce using rule 88
+ 'as' reduce using rule 88
+ 'idJ' reduce using rule 88
+ 'recBOT' reduce using rule 88
+ 'recOR' reduce using rule 88
+ 'refl' reduce using rule 88
+ 'refl_{' reduce using rule 88
+ '|' reduce using rule 88
+ '|->' reduce using rule 88
+ '}' reduce using rule 88
+ '→' reduce using rule 88
+ L_VarIdent reduce using rule 88
+ L_HoleIdent reduce using rule 88
+ %eof reduce using rule 88
-State 58
+State 57
- Term1 -> '∑' . '(' Pattern ':' Term ')' ',' Term1 (rule 99)
+ Term7 -> 'refl_{' . Term '}' (rule 89)
+ Term7 -> 'refl_{' . Term ':' Term '}' (rule 90)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 158
- '(' shift, and enter state 134
+State 58
+ Term6 -> 'second' . Term7 (rule 116)
+
+ '(' shift, and enter state 66
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ Term7 goto state 157
State 59
- VarIdent -> L_VarIdent . (rule 22)
-
- '(' reduce using rule 22
- ')' reduce using rule 22
- '*' reduce using rule 22
- '*_1' reduce using rule 22
- ',' reduce using rule 22
- '->' reduce using rule 22
- '/\\' reduce using rule 22
- '0_2' reduce using rule 22
- '1' reduce using rule 22
- '1_2' reduce using rule 22
- '2' reduce using rule 22
- ':' reduce using rule 22
- ':=' reduce using rule 22
- ';' reduce using rule 22
- '<' reduce using rule 22
- '<=' reduce using rule 22
- '=' reduce using rule 22
- '===' reduce using rule 22
- '=_{' reduce using rule 22
- '>' reduce using rule 22
- 'BOT' reduce using rule 22
- 'CUBE' reduce using rule 22
- 'TOP' reduce using rule 22
- 'TOPE' reduce using rule 22
- 'U' reduce using rule 22
- '[' reduce using rule 22
- '\\/' reduce using rule 22
- ']' reduce using rule 22
- '_' reduce using rule 22
- 'as' reduce using rule 22
- 'idJ' reduce using rule 22
- 'recBOT' reduce using rule 22
- 'recOR' reduce using rule 22
- 'refl' reduce using rule 22
- 'refl_{' reduce using rule 22
- '{' reduce using rule 22
- '|' reduce using rule 22
- '|->' reduce using rule 22
- '}' reduce using rule 22
- '→' reduce using rule 22
- L_VarIdent reduce using rule 22
- L_HoleIdent reduce using rule 22
- %eof reduce using rule 22
+ ParamDecl -> '{' . Pattern ':' Term '}' (rule 66)
+ ParamDecl -> '{' . '(' Pattern ':' Term ')' '|' Term '}' (rule 68)
+ ParamDecl -> '{' . Pattern ':' Term '|' Term '}' (rule 69)
+ '(' shift, and enter state 156
+ '_' shift, and enter state 86
+ L_VarIdent shift, and enter state 62
+
+ VarIdent goto state 81
+ Pattern goto state 155
State 60
- HoleIdent -> L_HoleIdent . (rule 23)
-
- '(' reduce using rule 23
- ')' reduce using rule 23
- '*' reduce using rule 23
- '*_1' reduce using rule 23
- ',' reduce using rule 23
- '->' reduce using rule 23
- '/\\' reduce using rule 23
- '0_2' reduce using rule 23
- '1' reduce using rule 23
- '1_2' reduce using rule 23
- '2' reduce using rule 23
- ':' reduce using rule 23
- ':=' reduce using rule 23
- ';' reduce using rule 23
- '<' reduce using rule 23
- '<=' reduce using rule 23
- '=' reduce using rule 23
- '===' reduce using rule 23
- '=_{' reduce using rule 23
- '>' reduce using rule 23
- 'BOT' reduce using rule 23
- 'CUBE' reduce using rule 23
- 'TOP' reduce using rule 23
- 'TOPE' reduce using rule 23
- 'U' reduce using rule 23
- '[' reduce using rule 23
- '\\/' reduce using rule 23
- ']' reduce using rule 23
- 'as' reduce using rule 23
- 'idJ' reduce using rule 23
- 'recBOT' reduce using rule 23
- 'recOR' reduce using rule 23
- 'refl' reduce using rule 23
- 'refl_{' reduce using rule 23
- '|' reduce using rule 23
- '|->' reduce using rule 23
- '}' reduce using rule 23
- '→' reduce using rule 23
- L_VarIdent reduce using rule 23
- L_HoleIdent reduce using rule 23
- %eof reduce using rule 23
+ Term1 -> 'Σ' . '(' Pattern ':' Term ')' ',' Term1 (rule 111)
+
+ '(' shift, and enter state 154
State 61
- %start_pTerm_internal -> Term . (rule 19)
+ Term1 -> '∑' . '(' Pattern ':' Term ')' ',' Term1 (rule 112)
- %eof accept
+ '(' shift, and enter state 153
State 62
- %start_pTerm6_internal -> Term6 . (rule 18)
- Term6 -> Term6 . '[' ListRestriction ']' (rule 100)
- Term6 -> Term6 . Term7 (rule 101)
-
- '(' shift, and enter state 63
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '[' shift, and enter state 127
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
- %eof accept
+ VarIdent -> L_VarIdent . (rule 25)
+
+ '(' reduce using rule 25
+ ')' reduce using rule 25
+ '*' reduce using rule 25
+ '*_1' reduce using rule 25
+ ',' reduce using rule 25
+ '->' reduce using rule 25
+ '/\\' reduce using rule 25
+ '0_2' reduce using rule 25
+ '1' reduce using rule 25
+ '1_2' reduce using rule 25
+ '2' reduce using rule 25
+ ':' reduce using rule 25
+ ':=' reduce using rule 25
+ ';' reduce using rule 25
+ '<' reduce using rule 25
+ '<=' reduce using rule 25
+ '=' reduce using rule 25
+ '===' reduce using rule 25
+ '=_{' reduce using rule 25
+ '>' reduce using rule 25
+ 'BOT' reduce using rule 25
+ 'CUBE' reduce using rule 25
+ 'TOP' reduce using rule 25
+ 'TOPE' reduce using rule 25
+ 'U' reduce using rule 25
+ '[' reduce using rule 25
+ '\\/' reduce using rule 25
+ ']' reduce using rule 25
+ '_' reduce using rule 25
+ 'as' reduce using rule 25
+ 'idJ' reduce using rule 25
+ 'recBOT' reduce using rule 25
+ 'recOR' reduce using rule 25
+ 'refl' reduce using rule 25
+ 'refl_{' reduce using rule 25
+ 'uses' reduce using rule 25
+ '{' reduce using rule 25
+ '|' reduce using rule 25
+ '|->' reduce using rule 25
+ '}' reduce using rule 25
+ '→' reduce using rule 25
+ L_VarIdent reduce using rule 25
+ L_HoleIdent reduce using rule 25
+ %eof reduce using rule 25
- VarIdent goto state 23
- HoleIdent goto state 24
- Term7 goto state 126
State 63
- Term7 -> '(' . Term ',' Term ')' (rule 74)
- Term7 -> '(' . Term ')' (rule 81)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 133
+ HoleIdent -> L_HoleIdent . (rule 26)
+
+ '(' reduce using rule 26
+ ')' reduce using rule 26
+ '*' reduce using rule 26
+ '*_1' reduce using rule 26
+ ',' reduce using rule 26
+ '->' reduce using rule 26
+ '/\\' reduce using rule 26
+ '0_2' reduce using rule 26
+ '1' reduce using rule 26
+ '1_2' reduce using rule 26
+ '2' reduce using rule 26
+ ':' reduce using rule 26
+ ':=' reduce using rule 26
+ ';' reduce using rule 26
+ '<' reduce using rule 26
+ '<=' reduce using rule 26
+ '=' reduce using rule 26
+ '===' reduce using rule 26
+ '=_{' reduce using rule 26
+ '>' reduce using rule 26
+ 'BOT' reduce using rule 26
+ 'CUBE' reduce using rule 26
+ 'TOP' reduce using rule 26
+ 'TOPE' reduce using rule 26
+ 'U' reduce using rule 26
+ '[' reduce using rule 26
+ '\\/' reduce using rule 26
+ ']' reduce using rule 26
+ 'as' reduce using rule 26
+ 'idJ' reduce using rule 26
+ 'recBOT' reduce using rule 26
+ 'recOR' reduce using rule 26
+ 'refl' reduce using rule 26
+ 'refl_{' reduce using rule 26
+ '|' reduce using rule 26
+ '|->' reduce using rule 26
+ '}' reduce using rule 26
+ '→' reduce using rule 26
+ L_VarIdent reduce using rule 26
+ L_HoleIdent reduce using rule 26
+ %eof reduce using rule 26
+
State 64
- Term1 -> Term2 . '=_{' Term '}' Term2 (rule 93)
- Term1 -> Term2 . '=' Term2 (rule 94)
- Term1 -> Term2 . (rule 96)
+ %start_pTerm_internal -> Term . (rule 22)
- ')' reduce using rule 96
- ',' reduce using rule 96
- ':' reduce using rule 96
- ':=' reduce using rule 96
- ';' reduce using rule 96
- '=' shift, and enter state 131
- '=_{' shift, and enter state 132
- '>' reduce using rule 96
- ']' reduce using rule 96
- '|' reduce using rule 96
- '|->' reduce using rule 96
- '}' reduce using rule 96
- %eof reduce using rule 96
+ %eof accept
State 65
- %start_pTerm1_internal -> Term1 . (rule 17)
-
+ %start_pTerm6_internal -> Term6 . (rule 21)
+ Term6 -> Term6 . '[' ListRestriction ']' (rule 113)
+ Term6 -> Term6 . Term7 (rule 114)
+
+ '(' shift, and enter state 66
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '[' shift, and enter state 146
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
%eof accept
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ Term7 goto state 145
State 66
- %start_pTerm2_internal -> Term2 . (rule 16)
-
- %eof accept
-
+ Term7 -> '(' . Term ',' Term ')' (rule 87)
+ Term7 -> '(' . Term ')' (rule 94)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 152
State 67
- Term5 -> Term6 . (rule 83)
- Term6 -> Term6 . '[' ListRestriction ']' (rule 100)
- Term6 -> Term6 . Term7 (rule 101)
-
- '(' shift, and enter state 63
- ')' reduce using rule 83
- '*' reduce using rule 83
- '*_1' shift, and enter state 36
- ',' reduce using rule 83
- '/\\' reduce using rule 83
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- ':' reduce using rule 83
- ':=' reduce using rule 83
- ';' reduce using rule 83
- '<' shift, and enter state 41
- '<=' reduce using rule 83
- '=' reduce using rule 83
- '===' reduce using rule 83
- '=_{' reduce using rule 83
- '>' reduce using rule 83
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '[' shift, and enter state 127
- '\\/' reduce using rule 83
- ']' reduce using rule 83
- 'as' reduce using rule 83
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- '|' reduce using rule 83
- '|->' reduce using rule 83
- '}' reduce using rule 83
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
- %eof reduce using rule 83
+ Term1 -> Term2 . '=_{' Term '}' Term2 (rule 106)
+ Term1 -> Term2 . '=' Term2 (rule 107)
+ Term1 -> Term2 . (rule 109)
+
+ ')' reduce using rule 109
+ ',' reduce using rule 109
+ ':' reduce using rule 109
+ ':=' reduce using rule 109
+ ';' reduce using rule 109
+ '=' shift, and enter state 150
+ '=_{' shift, and enter state 151
+ '>' reduce using rule 109
+ ']' reduce using rule 109
+ '|' reduce using rule 109
+ '|->' reduce using rule 109
+ '}' reduce using rule 109
+ %eof reduce using rule 109
- VarIdent goto state 23
- HoleIdent goto state 24
- Term7 goto state 126
State 68
- %start_pTerm3_internal -> Term3 . (rule 15)
+ %start_pTerm1_internal -> Term1 . (rule 20)
%eof accept
State 69
- %start_pTerm4_internal -> Term4 . (rule 14)
+ %start_pTerm2_internal -> Term2 . (rule 19)
%eof accept
State 70
- %start_pTerm5_internal -> Term5 . (rule 13)
- Term5 -> Term5 . '*' Term6 (rule 82)
+ Term5 -> Term6 . (rule 96)
+ Term6 -> Term6 . '[' ListRestriction ']' (rule 113)
+ Term6 -> Term6 . Term7 (rule 114)
- '*' shift, and enter state 130
- %eof accept
+ '(' shift, and enter state 66
+ ')' reduce using rule 96
+ '*' reduce using rule 96
+ '*_1' shift, and enter state 39
+ ',' reduce using rule 96
+ '/\\' reduce using rule 96
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ ':' reduce using rule 96
+ ':=' reduce using rule 96
+ ';' reduce using rule 96
+ '<' shift, and enter state 44
+ '<=' reduce using rule 96
+ '=' reduce using rule 96
+ '===' reduce using rule 96
+ '=_{' reduce using rule 96
+ '>' reduce using rule 96
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '[' shift, and enter state 146
+ '\\/' reduce using rule 96
+ ']' reduce using rule 96
+ 'as' reduce using rule 96
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ '|' reduce using rule 96
+ '|->' reduce using rule 96
+ '}' reduce using rule 96
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+ %eof reduce using rule 96
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ Term7 goto state 145
State 71
- %start_pTerm7_internal -> Term7 . (rule 12)
+ %start_pTerm3_internal -> Term3 . (rule 18)
%eof accept
State 72
- ListRestriction -> Restriction . (rule 58)
- ListRestriction -> Restriction . ',' ListRestriction (rule 59)
+ %start_pTerm4_internal -> Term4 . (rule 17)
- ')' reduce using rule 58
- ',' shift, and enter state 129
- ']' reduce using rule 58
- %eof reduce using rule 58
+ %eof accept
State 73
- %start_pListRestriction_internal -> ListRestriction . (rule 11)
+ %start_pTerm5_internal -> Term5 . (rule 16)
+ Term5 -> Term5 . '*' Term6 (rule 95)
+ '*' shift, and enter state 149
%eof accept
State 74
- Restriction -> Term . '|->' Term (rule 57)
+ %start_pTerm7_internal -> Term7 . (rule 15)
- '|->' shift, and enter state 128
+ %eof accept
State 75
- %start_pRestriction_internal -> Restriction . (rule 10)
+ ListRestriction -> Restriction . (rule 71)
+ ListRestriction -> Restriction . ',' ListRestriction (rule 72)
- %eof accept
+ ')' reduce using rule 71
+ ',' shift, and enter state 148
+ ']' reduce using rule 71
+ %eof reduce using rule 71
State 76
- %start_pParamDecl_internal -> ParamDecl . (rule 9)
+ %start_pListRestriction_internal -> ListRestriction . (rule 14)
%eof accept
State 77
- ParamDecl -> Term6 . (rule 51)
- Term6 -> Term6 . '[' ListRestriction ']' (rule 100)
- Term6 -> Term6 . Term7 (rule 101)
-
- '(' shift, and enter state 63
- '*_1' shift, and enter state 36
- '->' reduce using rule 51
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '[' shift, and enter state 127
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
- %eof reduce using rule 51
+ Restriction -> Term . '|->' Term (rule 70)
+
+ '|->' shift, and enter state 147
- VarIdent goto state 23
- HoleIdent goto state 24
- Term7 goto state 126
State 78
- Pattern -> VarIdent . (rule 42)
+ %start_pRestriction_internal -> Restriction . (rule 13)
- '(' reduce using rule 42
- ')' reduce using rule 42
- ',' reduce using rule 42
- '->' reduce using rule 42
- ':' reduce using rule 42
- '_' reduce using rule 42
- '{' reduce using rule 42
- L_VarIdent reduce using rule 42
- %eof reduce using rule 42
+ %eof accept
State 79
- Param -> Pattern . (rule 46)
+ %start_pParamDecl_internal -> ParamDecl . (rule 12)
- '(' reduce using rule 46
- '->' reduce using rule 46
- ':' reduce using rule 46
- '_' reduce using rule 46
- '{' reduce using rule 46
- L_VarIdent reduce using rule 46
- %eof reduce using rule 46
+ %eof accept
State 80
- ListParam -> Param . (rule 49)
- ListParam -> Param . ListParam (rule 50)
+ ParamDecl -> Term6 . (rule 64)
+ Term6 -> Term6 . '[' ListRestriction ']' (rule 113)
+ Term6 -> Term6 . Term7 (rule 114)
- '(' shift, and enter state 82
- '->' reduce using rule 49
- ':' reduce using rule 49
- '_' shift, and enter state 83
- '{' shift, and enter state 84
- L_VarIdent shift, and enter state 59
- %eof reduce using rule 49
+ '(' shift, and enter state 66
+ '*_1' shift, and enter state 39
+ '->' reduce using rule 64
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '[' shift, and enter state 146
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+ %eof reduce using rule 64
- VarIdent goto state 78
- Pattern goto state 79
- Param goto state 80
- ListParam goto state 125
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ Term7 goto state 145
State 81
- %start_pListParam_internal -> ListParam . (rule 8)
+ Pattern -> VarIdent . (rule 55)
- %eof accept
+ '(' reduce using rule 55
+ ')' reduce using rule 55
+ ',' reduce using rule 55
+ '->' reduce using rule 55
+ ':' reduce using rule 55
+ '_' reduce using rule 55
+ '{' reduce using rule 55
+ L_VarIdent reduce using rule 55
+ %eof reduce using rule 55
State 82
- Pattern -> '(' . Pattern ',' Pattern ')' (rule 43)
- Param -> '(' . ListPattern ':' Term ')' (rule 47)
+ Param -> Pattern . (rule 59)
- '(' shift, and enter state 88
- '_' shift, and enter state 83
- L_VarIdent shift, and enter state 59
+ '(' reduce using rule 59
+ '->' reduce using rule 59
+ ':' reduce using rule 59
+ '_' reduce using rule 59
+ '{' reduce using rule 59
+ L_VarIdent reduce using rule 59
+ %eof reduce using rule 59
- VarIdent goto state 78
- Pattern goto state 123
- ListPattern goto state 124
State 83
- Pattern -> '_' . (rule 41)
+ ListParam -> Param . (rule 62)
+ ListParam -> Param . ListParam (rule 63)
- '(' reduce using rule 41
- ')' reduce using rule 41
- ',' reduce using rule 41
- '->' reduce using rule 41
- ':' reduce using rule 41
- '_' reduce using rule 41
- '{' reduce using rule 41
- L_VarIdent reduce using rule 41
- %eof reduce using rule 41
+ '(' shift, and enter state 85
+ '->' reduce using rule 62
+ ':' reduce using rule 62
+ '_' shift, and enter state 86
+ '{' shift, and enter state 87
+ L_VarIdent shift, and enter state 62
+ %eof reduce using rule 62
+ VarIdent goto state 81
+ Pattern goto state 82
+ Param goto state 83
+ ListParam goto state 144
State 84
- Param -> '{' . Pattern ':' Term '|' Term '}' (rule 48)
+ %start_pListParam_internal -> ListParam . (rule 11)
- '(' shift, and enter state 88
- '_' shift, and enter state 83
- L_VarIdent shift, and enter state 59
+ %eof accept
- VarIdent goto state 78
- Pattern goto state 122
State 85
- %start_pParam_internal -> Param . (rule 7)
+ Pattern -> '(' . Pattern ',' Pattern ')' (rule 56)
+ Param -> '(' . ListPattern ':' Term ')' (rule 60)
- %eof accept
+ '(' shift, and enter state 91
+ '_' shift, and enter state 86
+ L_VarIdent shift, and enter state 62
+ VarIdent goto state 81
+ Pattern goto state 142
+ ListPattern goto state 143
State 86
- ListPattern -> Pattern . (rule 44)
- ListPattern -> Pattern . ListPattern (rule 45)
+ Pattern -> '_' . (rule 54)
- '(' shift, and enter state 88
- ':' reduce using rule 44
- '_' shift, and enter state 83
- L_VarIdent shift, and enter state 59
- %eof reduce using rule 44
+ '(' reduce using rule 54
+ ')' reduce using rule 54
+ ',' reduce using rule 54
+ '->' reduce using rule 54
+ ':' reduce using rule 54
+ '_' reduce using rule 54
+ '{' reduce using rule 54
+ L_VarIdent reduce using rule 54
+ %eof reduce using rule 54
- VarIdent goto state 78
- Pattern goto state 86
- ListPattern goto state 121
State 87
- %start_pListPattern_internal -> ListPattern . (rule 6)
+ Param -> '{' . Pattern ':' Term '|' Term '}' (rule 61)
- %eof accept
+ '(' shift, and enter state 91
+ '_' shift, and enter state 86
+ L_VarIdent shift, and enter state 62
+ VarIdent goto state 81
+ Pattern goto state 141
State 88
- Pattern -> '(' . Pattern ',' Pattern ')' (rule 43)
+ %start_pParam_internal -> Param . (rule 10)
- '(' shift, and enter state 88
- '_' shift, and enter state 83
- L_VarIdent shift, and enter state 59
+ %eof accept
- VarIdent goto state 78
- Pattern goto state 120
State 89
- %start_pPattern_internal -> Pattern . (rule 5)
+ ListPattern -> Pattern . (rule 57)
+ ListPattern -> Pattern . ListPattern (rule 58)
- %eof accept
+ '(' shift, and enter state 91
+ ':' reduce using rule 57
+ '_' shift, and enter state 86
+ L_VarIdent shift, and enter state 62
+ %eof reduce using rule 57
+ VarIdent goto state 81
+ Pattern goto state 89
+ ListPattern goto state 140
State 90
- ListCommand -> Command . ListCommand (rule 40)
-
- '#check' shift, and enter state 92
- '#compute' shift, and enter state 93
- '#compute-nf' shift, and enter state 94
- '#compute-whnf'shift, and enter state 95
- '#def' shift, and enter state 96
- '#define' shift, and enter state 97
- '#postulate' shift, and enter state 98
- '#set-option' shift, and enter state 99
- '#unset-option'shift, and enter state 100
- %eof reduce using rule 39
+ %start_pListPattern_internal -> ListPattern . (rule 9)
+
+ %eof accept
- Command goto state 90
- ListCommand goto state 119
State 91
- %start_pListCommand_internal -> ListCommand . (rule 4)
+ Pattern -> '(' . Pattern ',' Pattern ')' (rule 56)
- %eof accept
+ '(' shift, and enter state 91
+ '_' shift, and enter state 86
+ L_VarIdent shift, and enter state 62
+ VarIdent goto state 81
+ Pattern goto state 139
State 92
- Command -> '#check' . Term ':' Term ';' (rule 29)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 118
+ %start_pPattern_internal -> Pattern . (rule 8)
+
+ %eof accept
+
State 93
- Command -> '#compute' . Term ';' (rule 30)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 117
+ SectionName -> VarIdent . (rule 53)
+
+ ';' reduce using rule 53
+ %eof reduce using rule 53
+
State 94
- Command -> '#compute-nf' . Term ';' (rule 32)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 116
+ %start_pSectionName_internal -> SectionName . (rule 7)
+
+ %eof accept
+
State 95
- Command -> '#compute-whnf' . Term ';' (rule 31)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 115
+ %start_pDeclUsedVars_internal -> DeclUsedVars . (rule 6)
+
+ %eof accept
+
State 96
- Command -> '#def' . VarIdent ListParam ':' Term ':=' Term ';' (rule 37)
- Command -> '#def' . VarIdent ':' Term ':=' Term ';' (rule 38)
+ DeclUsedVars -> 'uses' . '(' ListVarIdent ')' (rule 50)
- L_VarIdent shift, and enter state 59
+ '(' shift, and enter state 138
- VarIdent goto state 114
State 97
- Command -> '#define' . VarIdent ListParam ':' Term ':=' Term ';' (rule 35)
- Command -> '#define' . VarIdent ':' Term ':=' Term ';' (rule 36)
+ ListCommand -> Command . ';' ListCommand (rule 49)
- L_VarIdent shift, and enter state 59
+ ';' shift, and enter state 137
- VarIdent goto state 113
State 98
- Command -> '#postulate' . VarIdent ListParam ':' Term ';' (rule 33)
- Command -> '#postulate' . VarIdent ':' Term ';' (rule 34)
+ %start_pListCommand_internal -> ListCommand . (rule 5)
- L_VarIdent shift, and enter state 59
+ %eof accept
- VarIdent goto state 112
State 99
- Command -> '#set-option' . String '=' String ';' (rule 27)
+ Command -> '#assume' . ListVarIdent ':' Term (rule 40)
- L_quoted shift, and enter state 22
+ L_VarIdent shift, and enter state 62
- String goto state 111
+ VarIdent goto state 117
+ ListVarIdent goto state 136
State 100
- Command -> '#unset-option' . String ';' (rule 28)
-
- L_quoted shift, and enter state 22
-
- String goto state 110
+ Command -> '#check' . Term ':' Term (rule 34)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 135
State 101
- %start_pCommand_internal -> Command . (rule 3)
-
- %eof accept
-
+ Command -> '#compute' . Term (rule 35)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 134
State 102
- %start_pLanguage_internal -> Language . (rule 2)
-
- %eof accept
-
+ Command -> '#compute-nf' . Term (rule 37)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 133
State 103
- Language -> 'rzk-1' . (rule 26)
-
- ';' reduce using rule 26
- %eof reduce using rule 26
-
+ Command -> '#compute-whnf' . Term (rule 36)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 132
State 104
- %start_pLanguageDecl_internal -> LanguageDecl . (rule 1)
+ Command -> '#def' . VarIdent DeclUsedVars ListParam ':' Term ':=' Term (rule 46)
+ Command -> '#def' . VarIdent DeclUsedVars ':' Term ':=' Term (rule 47)
- %eof accept
+ L_VarIdent shift, and enter state 62
+ VarIdent goto state 131
State 105
- LanguageDecl -> '#lang' . Language ';' (rule 25)
+ Command -> '#define' . VarIdent DeclUsedVars ListParam ':' Term ':=' Term (rule 44)
+ Command -> '#define' . VarIdent DeclUsedVars ':' Term ':=' Term (rule 45)
- 'rzk-1' shift, and enter state 103
+ L_VarIdent shift, and enter state 62
- Language goto state 109
+ VarIdent goto state 130
State 106
- %start_pModule_internal -> Module . (rule 0)
+ Command -> '#postulate' . VarIdent DeclUsedVars ListParam ':' Term (rule 38)
+ Command -> '#postulate' . VarIdent DeclUsedVars ':' Term (rule 39)
- %eof accept
+ L_VarIdent shift, and enter state 62
+ VarIdent goto state 129
State 107
- Module -> LanguageDecl . ListCommand (rule 24)
-
- '#check' shift, and enter state 92
- '#compute' shift, and enter state 93
- '#compute-nf' shift, and enter state 94
- '#compute-whnf'shift, and enter state 95
- '#def' shift, and enter state 96
- '#define' shift, and enter state 97
- '#postulate' shift, and enter state 98
- '#set-option' shift, and enter state 99
- '#unset-option'shift, and enter state 100
- %eof reduce using rule 39
+ Command -> '#section' . SectionName ';' ListCommand '#end' SectionName (rule 43)
- Command goto state 90
- ListCommand goto state 108
+ ';' reduce using rule 52
+ L_VarIdent shift, and enter state 62
+
+ VarIdent goto state 93
+ SectionName goto state 128
State 108
- Module -> LanguageDecl ListCommand . (rule 24)
+ Command -> '#set-option' . String '=' String (rule 32)
- %eof reduce using rule 24
+ L_quoted shift, and enter state 25
+ String goto state 127
State 109
- LanguageDecl -> '#lang' Language . ';' (rule 25)
+ Command -> '#unset-option' . String (rule 33)
- ';' shift, and enter state 201
+ L_quoted shift, and enter state 25
+ String goto state 126
State 110
- Command -> '#unset-option' String . ';' (rule 28)
+ Command -> '#variable' . VarIdent ':' Term (rule 41)
- ';' shift, and enter state 200
+ L_VarIdent shift, and enter state 62
+ VarIdent goto state 125
State 111
- Command -> '#set-option' String . '=' String ';' (rule 27)
+ Command -> '#variables' . ListVarIdent ':' Term (rule 42)
- '=' shift, and enter state 199
+ L_VarIdent shift, and enter state 62
+ VarIdent goto state 117
+ ListVarIdent goto state 124
State 112
- Command -> '#postulate' VarIdent . ListParam ':' Term ';' (rule 33)
- Command -> '#postulate' VarIdent . ':' Term ';' (rule 34)
+ %start_pCommand_internal -> Command . (rule 4)
- '(' shift, and enter state 82
- ':' shift, and enter state 198
- '_' shift, and enter state 83
- '{' shift, and enter state 84
- L_VarIdent shift, and enter state 59
+ %eof accept
- VarIdent goto state 78
- Pattern goto state 79
- Param goto state 80
- ListParam goto state 197
State 113
- Command -> '#define' VarIdent . ListParam ':' Term ':=' Term ';' (rule 35)
- Command -> '#define' VarIdent . ':' Term ':=' Term ';' (rule 36)
+ %start_pLanguage_internal -> Language . (rule 3)
- '(' shift, and enter state 82
- ':' shift, and enter state 196
- '_' shift, and enter state 83
- '{' shift, and enter state 84
- L_VarIdent shift, and enter state 59
+ %eof accept
- VarIdent goto state 78
- Pattern goto state 79
- Param goto state 80
- ListParam goto state 195
State 114
- Command -> '#def' VarIdent . ListParam ':' Term ':=' Term ';' (rule 37)
- Command -> '#def' VarIdent . ':' Term ':=' Term ';' (rule 38)
+ Language -> 'rzk-1' . (rule 31)
- '(' shift, and enter state 82
- ':' shift, and enter state 194
- '_' shift, and enter state 83
- '{' shift, and enter state 84
- L_VarIdent shift, and enter state 59
+ ';' reduce using rule 31
+ %eof reduce using rule 31
- VarIdent goto state 78
- Pattern goto state 79
- Param goto state 80
- ListParam goto state 193
State 115
- Command -> '#compute-whnf' Term . ';' (rule 31)
+ %start_pLanguageDecl_internal -> LanguageDecl . (rule 2)
- ';' shift, and enter state 192
+ %eof accept
State 116
- Command -> '#compute-nf' Term . ';' (rule 32)
+ LanguageDecl -> '#lang' . Language ';' (rule 30)
- ';' shift, and enter state 191
+ 'rzk-1' shift, and enter state 114
+ Language goto state 123
State 117
- Command -> '#compute' Term . ';' (rule 30)
+ ListVarIdent -> VarIdent . (rule 28)
+ ListVarIdent -> VarIdent . ListVarIdent (rule 29)
- ';' shift, and enter state 190
+ ')' reduce using rule 28
+ ':' reduce using rule 28
+ L_VarIdent shift, and enter state 62
+ %eof reduce using rule 28
+ VarIdent goto state 117
+ ListVarIdent goto state 122
State 118
- Command -> '#check' Term . ':' Term ';' (rule 29)
+ %start_pListVarIdent_internal -> ListVarIdent . (rule 1)
- ':' shift, and enter state 189
+ %eof accept
State 119
- ListCommand -> Command ListCommand . (rule 40)
+ %start_pModule_internal -> Module . (rule 0)
- %eof reduce using rule 40
+ %eof accept
State 120
- Pattern -> '(' Pattern . ',' Pattern ')' (rule 43)
-
- ',' shift, and enter state 187
+ Module -> LanguageDecl . ListCommand (rule 27)
+
+ '#assume' shift, and enter state 99
+ '#check' shift, and enter state 100
+ '#compute' shift, and enter state 101
+ '#compute-nf' shift, and enter state 102
+ '#compute-whnf'shift, and enter state 103
+ '#def' shift, and enter state 104
+ '#define' shift, and enter state 105
+ '#postulate' shift, and enter state 106
+ '#section' shift, and enter state 107
+ '#set-option' shift, and enter state 108
+ '#unset-option'shift, and enter state 109
+ '#variable' shift, and enter state 110
+ '#variables' shift, and enter state 111
+ %eof reduce using rule 48
+ Command goto state 97
+ ListCommand goto state 121
State 121
- ListPattern -> Pattern ListPattern . (rule 45)
+ Module -> LanguageDecl ListCommand . (rule 27)
- ':' reduce using rule 45
- %eof reduce using rule 45
+ %eof reduce using rule 27
State 122
- Param -> '{' Pattern . ':' Term '|' Term '}' (rule 48)
+ ListVarIdent -> VarIdent ListVarIdent . (rule 29)
- ':' shift, and enter state 188
+ ')' reduce using rule 29
+ ':' reduce using rule 29
+ %eof reduce using rule 29
State 123
- Pattern -> '(' Pattern . ',' Pattern ')' (rule 43)
- ListPattern -> Pattern . (rule 44)
- ListPattern -> Pattern . ListPattern (rule 45)
+ LanguageDecl -> '#lang' Language . ';' (rule 30)
- '(' shift, and enter state 88
- ',' shift, and enter state 187
- ':' reduce using rule 44
- '_' shift, and enter state 83
- L_VarIdent shift, and enter state 59
+ ';' shift, and enter state 219
- VarIdent goto state 78
- Pattern goto state 86
- ListPattern goto state 121
State 124
- Param -> '(' ListPattern . ':' Term ')' (rule 47)
+ Command -> '#variables' ListVarIdent . ':' Term (rule 42)
- ':' shift, and enter state 186
+ ':' shift, and enter state 218
State 125
- ListParam -> Param ListParam . (rule 50)
+ Command -> '#variable' VarIdent . ':' Term (rule 41)
- '->' reduce using rule 50
- ':' reduce using rule 50
- %eof reduce using rule 50
+ ':' shift, and enter state 217
State 126
- Term6 -> Term6 Term7 . (rule 101)
+ Command -> '#unset-option' String . (rule 33)
- '(' reduce using rule 101
- ')' reduce using rule 101
- '*' reduce using rule 101
- '*_1' reduce using rule 101
- ',' reduce using rule 101
- '->' reduce using rule 101
- '/\\' reduce using rule 101
- '0_2' reduce using rule 101
- '1' reduce using rule 101
- '1_2' reduce using rule 101
- '2' reduce using rule 101
- ':' reduce using rule 101
- ':=' reduce using rule 101
- ';' reduce using rule 101
- '<' reduce using rule 101
- '<=' reduce using rule 101
- '=' reduce using rule 101
- '===' reduce using rule 101
- '=_{' reduce using rule 101
- '>' reduce using rule 101
- 'BOT' reduce using rule 101
- 'CUBE' reduce using rule 101
- 'TOP' reduce using rule 101
- 'TOPE' reduce using rule 101
- 'U' reduce using rule 101
- '[' reduce using rule 101
- '\\/' reduce using rule 101
- ']' reduce using rule 101
- 'as' reduce using rule 101
- 'idJ' reduce using rule 101
- 'recBOT' reduce using rule 101
- 'recOR' reduce using rule 101
- 'refl' reduce using rule 101
- 'refl_{' reduce using rule 101
- '|' reduce using rule 101
- '|->' reduce using rule 101
- '}' reduce using rule 101
- '→' reduce using rule 101
- L_VarIdent reduce using rule 101
- L_HoleIdent reduce using rule 101
- %eof reduce using rule 101
+ ';' reduce using rule 33
+ %eof reduce using rule 33
State 127
- Term6 -> Term6 '[' . ListRestriction ']' (rule 100)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Restriction goto state 72
- ListRestrictiongoto state 185
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 74
+ Command -> '#set-option' String . '=' String (rule 32)
+
+ '=' shift, and enter state 216
+
State 128
- Restriction -> Term '|->' . Term (rule 57)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 184
+ Command -> '#section' SectionName . ';' ListCommand '#end' SectionName (rule 43)
+
+ ';' shift, and enter state 215
+
State 129
- ListRestriction -> Restriction ',' . ListRestriction (rule 59)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Restriction goto state 72
- ListRestrictiongoto state 183
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 74
+ Command -> '#postulate' VarIdent . DeclUsedVars ListParam ':' Term (rule 38)
+ Command -> '#postulate' VarIdent . DeclUsedVars ':' Term (rule 39)
+
+ '(' reduce using rule 51
+ ':' reduce using rule 51
+ '_' reduce using rule 51
+ 'uses' shift, and enter state 96
+ '{' reduce using rule 51
+ L_VarIdent reduce using rule 51
+
+ DeclUsedVars goto state 214
State 130
- Term5 -> Term5 '*' . Term6 (rule 82)
-
- '(' shift, and enter state 63
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- Term7 goto state 26
- Term6 goto state 182
+ Command -> '#define' VarIdent . DeclUsedVars ListParam ':' Term ':=' Term (rule 44)
+ Command -> '#define' VarIdent . DeclUsedVars ':' Term ':=' Term (rule 45)
+
+ '(' reduce using rule 51
+ ':' reduce using rule 51
+ '_' reduce using rule 51
+ 'uses' shift, and enter state 96
+ '{' reduce using rule 51
+ L_VarIdent reduce using rule 51
+
+ DeclUsedVars goto state 213
State 131
- Term1 -> Term2 '=' . Term2 (rule 94)
-
- '(' shift, and enter state 63
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 181
- Term6 goto state 67
+ Command -> '#def' VarIdent . DeclUsedVars ListParam ':' Term ':=' Term (rule 46)
+ Command -> '#def' VarIdent . DeclUsedVars ':' Term ':=' Term (rule 47)
+
+ '(' reduce using rule 51
+ ':' reduce using rule 51
+ '_' reduce using rule 51
+ 'uses' shift, and enter state 96
+ '{' reduce using rule 51
+ L_VarIdent reduce using rule 51
+
+ DeclUsedVars goto state 212
State 132
- Term1 -> Term2 '=_{' . Term '}' Term2 (rule 93)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 180
+ Command -> '#compute-whnf' Term . (rule 36)
+
+ ';' reduce using rule 36
+ %eof reduce using rule 36
+
State 133
- Term7 -> '(' Term . ',' Term ')' (rule 74)
- Term7 -> '(' Term . ')' (rule 81)
+ Command -> '#compute-nf' Term . (rule 37)
- ')' shift, and enter state 178
- ',' shift, and enter state 179
+ ';' reduce using rule 37
+ %eof reduce using rule 37
State 134
- Term1 -> '∑' '(' . Pattern ':' Term ')' ',' Term1 (rule 99)
+ Command -> '#compute' Term . (rule 35)
- '(' shift, and enter state 88
- '_' shift, and enter state 83
- L_VarIdent shift, and enter state 59
+ ';' reduce using rule 35
+ %eof reduce using rule 35
- VarIdent goto state 78
- Pattern goto state 177
State 135
- Term1 -> 'Σ' '(' . Pattern ':' Term ')' ',' Term1 (rule 98)
+ Command -> '#check' Term . ':' Term (rule 34)
- '(' shift, and enter state 88
- '_' shift, and enter state 83
- L_VarIdent shift, and enter state 59
+ ':' shift, and enter state 211
- VarIdent goto state 78
- Pattern goto state 176
State 136
- ParamDecl -> '{' Pattern . ':' Term '}' (rule 53)
- ParamDecl -> '{' Pattern . ':' Term '|' Term '}' (rule 56)
+ Command -> '#assume' ListVarIdent . ':' Term (rule 40)
- ':' shift, and enter state 175
+ ':' shift, and enter state 210
State 137
- Pattern -> '(' . Pattern ',' Pattern ')' (rule 43)
- ParamDecl -> '{' '(' . Pattern ':' Term ')' '|' Term '}' (rule 55)
-
- '(' shift, and enter state 88
- '_' shift, and enter state 83
- L_VarIdent shift, and enter state 59
+ ListCommand -> Command ';' . ListCommand (rule 49)
+
+ '#assume' shift, and enter state 99
+ '#check' shift, and enter state 100
+ '#compute' shift, and enter state 101
+ '#compute-nf' shift, and enter state 102
+ '#compute-whnf'shift, and enter state 103
+ '#def' shift, and enter state 104
+ '#define' shift, and enter state 105
+ '#end' reduce using rule 48
+ '#postulate' shift, and enter state 106
+ '#section' shift, and enter state 107
+ '#set-option' shift, and enter state 108
+ '#unset-option'shift, and enter state 109
+ '#variable' shift, and enter state 110
+ '#variables' shift, and enter state 111
+ %eof reduce using rule 48
- VarIdent goto state 78
- Pattern goto state 174
+ Command goto state 97
+ ListCommand goto state 209
State 138
- Term6 -> 'second' Term7 . (rule 103)
+ DeclUsedVars -> 'uses' '(' . ListVarIdent ')' (rule 50)
- '(' reduce using rule 103
- ')' reduce using rule 103
- '*' reduce using rule 103
- '*_1' reduce using rule 103
- ',' reduce using rule 103
- '->' reduce using rule 103
- '/\\' reduce using rule 103
- '0_2' reduce using rule 103
- '1' reduce using rule 103
- '1_2' reduce using rule 103
- '2' reduce using rule 103
- ':' reduce using rule 103
- ':=' reduce using rule 103
- ';' reduce using rule 103
- '<' reduce using rule 103
- '<=' reduce using rule 103
- '=' reduce using rule 103
- '===' reduce using rule 103
- '=_{' reduce using rule 103
- '>' reduce using rule 103
- 'BOT' reduce using rule 103
- 'CUBE' reduce using rule 103
- 'TOP' reduce using rule 103
- 'TOPE' reduce using rule 103
- 'U' reduce using rule 103
- '[' reduce using rule 103
- '\\/' reduce using rule 103
- ']' reduce using rule 103
- 'as' reduce using rule 103
- 'idJ' reduce using rule 103
- 'recBOT' reduce using rule 103
- 'recOR' reduce using rule 103
- 'refl' reduce using rule 103
- 'refl_{' reduce using rule 103
- '|' reduce using rule 103
- '|->' reduce using rule 103
- '}' reduce using rule 103
- '→' reduce using rule 103
- L_VarIdent reduce using rule 103
- L_HoleIdent reduce using rule 103
- %eof reduce using rule 103
+ L_VarIdent shift, and enter state 62
+ VarIdent goto state 117
+ ListVarIdent goto state 208
State 139
- Term7 -> 'refl_{' Term . '}' (rule 76)
- Term7 -> 'refl_{' Term . ':' Term '}' (rule 77)
+ Pattern -> '(' Pattern . ',' Pattern ')' (rule 56)
- ':' shift, and enter state 172
- '}' shift, and enter state 173
+ ',' shift, and enter state 206
State 140
- Term7 -> 'recOR' '(' . ListRestriction ')' (rule 71)
- Term7 -> 'recOR' '(' . Term ',' Term ',' Term ',' Term ')' (rule 72)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Restriction goto state 72
- ListRestrictiongoto state 170
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 171
+ ListPattern -> Pattern ListPattern . (rule 58)
+
+ ':' reduce using rule 58
+ %eof reduce using rule 58
+
State 141
- Term7 -> 'idJ' '(' . Term ',' Term ',' Term ',' Term ',' Term ',' Term ')' (rule 78)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 169
+ Param -> '{' Pattern . ':' Term '|' Term '}' (rule 61)
+
+ ':' shift, and enter state 207
+
State 142
- Term6 -> 'first' Term7 . (rule 102)
+ Pattern -> '(' Pattern . ',' Pattern ')' (rule 56)
+ ListPattern -> Pattern . (rule 57)
+ ListPattern -> Pattern . ListPattern (rule 58)
- '(' reduce using rule 102
- ')' reduce using rule 102
- '*' reduce using rule 102
- '*_1' reduce using rule 102
- ',' reduce using rule 102
- '->' reduce using rule 102
- '/\\' reduce using rule 102
- '0_2' reduce using rule 102
- '1' reduce using rule 102
- '1_2' reduce using rule 102
- '2' reduce using rule 102
- ':' reduce using rule 102
- ':=' reduce using rule 102
- ';' reduce using rule 102
- '<' reduce using rule 102
- '<=' reduce using rule 102
- '=' reduce using rule 102
- '===' reduce using rule 102
- '=_{' reduce using rule 102
- '>' reduce using rule 102
- 'BOT' reduce using rule 102
- 'CUBE' reduce using rule 102
- 'TOP' reduce using rule 102
- 'TOPE' reduce using rule 102
- 'U' reduce using rule 102
- '[' reduce using rule 102
- '\\/' reduce using rule 102
- ']' reduce using rule 102
- 'as' reduce using rule 102
- 'idJ' reduce using rule 102
- 'recBOT' reduce using rule 102
- 'recOR' reduce using rule 102
- 'refl' reduce using rule 102
- 'refl_{' reduce using rule 102
- '|' reduce using rule 102
- '|->' reduce using rule 102
- '}' reduce using rule 102
- '→' reduce using rule 102
- L_VarIdent reduce using rule 102
- L_HoleIdent reduce using rule 102
- %eof reduce using rule 102
+ '(' shift, and enter state 91
+ ',' shift, and enter state 206
+ ':' reduce using rule 57
+ '_' shift, and enter state 86
+ L_VarIdent shift, and enter state 62
+ VarIdent goto state 81
+ Pattern goto state 89
+ ListPattern goto state 140
State 143
- Term1 -> '\\' ListParam . '->' Term1 (rule 95)
+ Param -> '(' ListPattern . ':' Term ')' (rule 60)
- '->' shift, and enter state 168
+ ':' shift, and enter state 205
State 144
- Term1 -> 'Sigma' '(' . Pattern ':' Term ')' ',' Term1 (rule 92)
+ ListParam -> Param ListParam . (rule 63)
- '(' shift, and enter state 88
- '_' shift, and enter state 83
- L_VarIdent shift, and enter state 59
+ '->' reduce using rule 63
+ ':' reduce using rule 63
+ %eof reduce using rule 63
- VarIdent goto state 78
- Pattern goto state 167
State 145
- Term7 -> '<' ParamDecl . '->' Term '>' (rule 73)
-
- '->' shift, and enter state 166
+ Term6 -> Term6 Term7 . (rule 114)
+
+ '(' reduce using rule 114
+ ')' reduce using rule 114
+ '*' reduce using rule 114
+ '*_1' reduce using rule 114
+ ',' reduce using rule 114
+ '->' reduce using rule 114
+ '/\\' reduce using rule 114
+ '0_2' reduce using rule 114
+ '1' reduce using rule 114
+ '1_2' reduce using rule 114
+ '2' reduce using rule 114
+ ':' reduce using rule 114
+ ':=' reduce using rule 114
+ ';' reduce using rule 114
+ '<' reduce using rule 114
+ '<=' reduce using rule 114
+ '=' reduce using rule 114
+ '===' reduce using rule 114
+ '=_{' reduce using rule 114
+ '>' reduce using rule 114
+ 'BOT' reduce using rule 114
+ 'CUBE' reduce using rule 114
+ 'TOP' reduce using rule 114
+ 'TOPE' reduce using rule 114
+ 'U' reduce using rule 114
+ '[' reduce using rule 114
+ '\\/' reduce using rule 114
+ ']' reduce using rule 114
+ 'as' reduce using rule 114
+ 'idJ' reduce using rule 114
+ 'recBOT' reduce using rule 114
+ 'recOR' reduce using rule 114
+ 'refl' reduce using rule 114
+ 'refl_{' reduce using rule 114
+ '|' reduce using rule 114
+ '|->' reduce using rule 114
+ '}' reduce using rule 114
+ '→' reduce using rule 114
+ L_VarIdent reduce using rule 114
+ L_HoleIdent reduce using rule 114
+ %eof reduce using rule 114
State 146
- ParamDecl -> '(' VarIdent . ':' Term ')' (rule 54)
- Term7 -> VarIdent . (rule 80)
-
- '(' reduce using rule 80
- ')' reduce using rule 80
- '*' reduce using rule 80
- '*_1' reduce using rule 80
- ',' reduce using rule 80
- '->' reduce using rule 80
- '/\\' reduce using rule 80
- '0_2' reduce using rule 80
- '1' reduce using rule 80
- '1_2' reduce using rule 80
- '2' reduce using rule 80
- ':' shift, and enter state 165
- '<' reduce using rule 80
- '<=' reduce using rule 80
- '=' reduce using rule 80
- '===' reduce using rule 80
- '=_{' reduce using rule 80
- 'BOT' reduce using rule 80
- 'CUBE' reduce using rule 80
- 'TOP' reduce using rule 80
- 'TOPE' reduce using rule 80
- 'U' reduce using rule 80
- '[' reduce using rule 80
- '\\/' reduce using rule 80
- 'as' reduce using rule 80
- 'idJ' reduce using rule 80
- 'recBOT' reduce using rule 80
- 'recOR' reduce using rule 80
- 'refl' reduce using rule 80
- 'refl_{' reduce using rule 80
- '→' reduce using rule 80
- L_VarIdent reduce using rule 80
- L_HoleIdent reduce using rule 80
-
+ Term6 -> Term6 '[' . ListRestriction ']' (rule 113)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Restriction goto state 75
+ ListRestrictiongoto state 204
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 77
State 147
- ParamDecl -> '(' '_' . ':' Term ')' (rule 52)
-
- ':' shift, and enter state 164
-
+ Restriction -> Term '|->' . Term (rule 70)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 203
State 148
- ListTerm -> Term ',' . ListTerm (rule 108)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 33
- ListTerm goto state 163
+ ListRestriction -> Restriction ',' . ListRestriction (rule 72)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Restriction goto state 75
+ ListRestrictiongoto state 202
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 77
State 149
- Term -> Term2 'as' . Term1 (rule 105)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 64
- Term1 goto state 162
- Term6 goto state 32
+ Term5 -> Term5 '*' . Term6 (rule 95)
+
+ '(' shift, and enter state 66
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ Term7 goto state 29
+ Term6 goto state 201
State 150
- Term2 -> Term3 '\\/' . Term2 (rule 89)
-
- '(' shift, and enter state 63
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 161
- Term6 goto state 67
+ Term1 -> Term2 '=' . Term2 (rule 107)
+
+ '(' shift, and enter state 66
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 200
+ Term6 goto state 70
State 151
- Term3 -> Term4 '/\\' . Term3 (rule 87)
-
- '(' shift, and enter state 63
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 160
- Term6 goto state 67
+ Term1 -> Term2 '=_{' . Term '}' Term2 (rule 106)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 199
State 152
- Term4 -> Term5 '<=' . Term5 (rule 85)
-
- '(' shift, and enter state 63
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- Term7 goto state 26
- Term5 goto state 159
- Term6 goto state 67
+ Term7 -> '(' Term . ',' Term ')' (rule 87)
+ Term7 -> '(' Term . ')' (rule 94)
+
+ ')' shift, and enter state 197
+ ',' shift, and enter state 198
+
State 153
- Term4 -> Term5 '===' . Term5 (rule 84)
-
- '(' shift, and enter state 63
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- Term7 goto state 26
- Term5 goto state 158
- Term6 goto state 67
+ Term1 -> '∑' '(' . Pattern ':' Term ')' ',' Term1 (rule 112)
+
+ '(' shift, and enter state 91
+ '_' shift, and enter state 86
+ L_VarIdent shift, and enter state 62
+
+ VarIdent goto state 81
+ Pattern goto state 196
State 154
- Term1 -> ParamDecl '->' . Term1 (rule 91)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 64
- Term1 goto state 157
- Term6 goto state 32
+ Term1 -> 'Σ' '(' . Pattern ':' Term ')' ',' Term1 (rule 111)
+
+ '(' shift, and enter state 91
+ '_' shift, and enter state 86
+ L_VarIdent shift, and enter state 62
+
+ VarIdent goto state 81
+ Pattern goto state 195
State 155
- Term1 -> ParamDecl '→' . Term1 (rule 97)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 64
- Term1 goto state 156
- Term6 goto state 32
+ ParamDecl -> '{' Pattern . ':' Term '}' (rule 66)
+ ParamDecl -> '{' Pattern . ':' Term '|' Term '}' (rule 69)
+
+ ':' shift, and enter state 194
+
State 156
- Term1 -> ParamDecl '→' Term1 . (rule 97)
+ Pattern -> '(' . Pattern ',' Pattern ')' (rule 56)
+ ParamDecl -> '{' '(' . Pattern ':' Term ')' '|' Term '}' (rule 68)
- ')' reduce using rule 97
- ',' reduce using rule 97
- ':' reduce using rule 97
- ':=' reduce using rule 97
- ';' reduce using rule 97
- '>' reduce using rule 97
- ']' reduce using rule 97
- '|' reduce using rule 97
- '|->' reduce using rule 97
- '}' reduce using rule 97
- %eof reduce using rule 97
+ '(' shift, and enter state 91
+ '_' shift, and enter state 86
+ L_VarIdent shift, and enter state 62
+ VarIdent goto state 81
+ Pattern goto state 193
State 157
- Term1 -> ParamDecl '->' Term1 . (rule 91)
-
- ')' reduce using rule 91
- ',' reduce using rule 91
- ':' reduce using rule 91
- ':=' reduce using rule 91
- ';' reduce using rule 91
- '>' reduce using rule 91
- ']' reduce using rule 91
- '|' reduce using rule 91
- '|->' reduce using rule 91
- '}' reduce using rule 91
- %eof reduce using rule 91
+ Term6 -> 'second' Term7 . (rule 116)
+
+ '(' reduce using rule 116
+ ')' reduce using rule 116
+ '*' reduce using rule 116
+ '*_1' reduce using rule 116
+ ',' reduce using rule 116
+ '->' reduce using rule 116
+ '/\\' reduce using rule 116
+ '0_2' reduce using rule 116
+ '1' reduce using rule 116
+ '1_2' reduce using rule 116
+ '2' reduce using rule 116
+ ':' reduce using rule 116
+ ':=' reduce using rule 116
+ ';' reduce using rule 116
+ '<' reduce using rule 116
+ '<=' reduce using rule 116
+ '=' reduce using rule 116
+ '===' reduce using rule 116
+ '=_{' reduce using rule 116
+ '>' reduce using rule 116
+ 'BOT' reduce using rule 116
+ 'CUBE' reduce using rule 116
+ 'TOP' reduce using rule 116
+ 'TOPE' reduce using rule 116
+ 'U' reduce using rule 116
+ '[' reduce using rule 116
+ '\\/' reduce using rule 116
+ ']' reduce using rule 116
+ 'as' reduce using rule 116
+ 'idJ' reduce using rule 116
+ 'recBOT' reduce using rule 116
+ 'recOR' reduce using rule 116
+ 'refl' reduce using rule 116
+ 'refl_{' reduce using rule 116
+ '|' reduce using rule 116
+ '|->' reduce using rule 116
+ '}' reduce using rule 116
+ '→' reduce using rule 116
+ L_VarIdent reduce using rule 116
+ L_HoleIdent reduce using rule 116
+ %eof reduce using rule 116
State 158
- Term5 -> Term5 . '*' Term6 (rule 82)
- Term4 -> Term5 '===' Term5 . (rule 84)
+ Term7 -> 'refl_{' Term . '}' (rule 89)
+ Term7 -> 'refl_{' Term . ':' Term '}' (rule 90)
- ')' reduce using rule 84
- '*' shift, and enter state 130
- ',' reduce using rule 84
- '/\\' reduce using rule 84
- ':' reduce using rule 84
- ':=' reduce using rule 84
- ';' reduce using rule 84
- '=' reduce using rule 84
- '=_{' reduce using rule 84
- '>' reduce using rule 84
- '\\/' reduce using rule 84
- ']' reduce using rule 84
- 'as' reduce using rule 84
- '|' reduce using rule 84
- '|->' reduce using rule 84
- '}' reduce using rule 84
- %eof reduce using rule 84
+ ':' shift, and enter state 191
+ '}' shift, and enter state 192
State 159
- Term5 -> Term5 . '*' Term6 (rule 82)
- Term4 -> Term5 '<=' Term5 . (rule 85)
-
- ')' reduce using rule 85
- '*' shift, and enter state 130
- ',' reduce using rule 85
- '/\\' reduce using rule 85
- ':' reduce using rule 85
- ':=' reduce using rule 85
- ';' reduce using rule 85
- '=' reduce using rule 85
- '=_{' reduce using rule 85
- '>' reduce using rule 85
- '\\/' reduce using rule 85
- ']' reduce using rule 85
- 'as' reduce using rule 85
- '|' reduce using rule 85
- '|->' reduce using rule 85
- '}' reduce using rule 85
- %eof reduce using rule 85
-
+ Term7 -> 'recOR' '(' . ListRestriction ')' (rule 84)
+ Term7 -> 'recOR' '(' . Term ',' Term ',' Term ',' Term ')' (rule 85)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Restriction goto state 75
+ ListRestrictiongoto state 189
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 190
State 160
- Term3 -> Term4 '/\\' Term3 . (rule 87)
-
- ')' reduce using rule 87
- ',' reduce using rule 87
- ':' reduce using rule 87
- ':=' reduce using rule 87
- ';' reduce using rule 87
- '=' reduce using rule 87
- '=_{' reduce using rule 87
- '>' reduce using rule 87
- '\\/' reduce using rule 87
- ']' reduce using rule 87
- 'as' reduce using rule 87
- '|' reduce using rule 87
- '|->' reduce using rule 87
- '}' reduce using rule 87
- %eof reduce using rule 87
-
+ Term7 -> 'idJ' '(' . Term ',' Term ',' Term ',' Term ',' Term ',' Term ')' (rule 91)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 188
State 161
- Term2 -> Term3 '\\/' Term2 . (rule 89)
-
- ')' reduce using rule 89
- ',' reduce using rule 89
- ':' reduce using rule 89
- ':=' reduce using rule 89
- ';' reduce using rule 89
- '=' reduce using rule 89
- '=_{' reduce using rule 89
- '>' reduce using rule 89
- ']' reduce using rule 89
- 'as' reduce using rule 89
- '|' reduce using rule 89
- '|->' reduce using rule 89
- '}' reduce using rule 89
- %eof reduce using rule 89
+ Term6 -> 'first' Term7 . (rule 115)
+
+ '(' reduce using rule 115
+ ')' reduce using rule 115
+ '*' reduce using rule 115
+ '*_1' reduce using rule 115
+ ',' reduce using rule 115
+ '->' reduce using rule 115
+ '/\\' reduce using rule 115
+ '0_2' reduce using rule 115
+ '1' reduce using rule 115
+ '1_2' reduce using rule 115
+ '2' reduce using rule 115
+ ':' reduce using rule 115
+ ':=' reduce using rule 115
+ ';' reduce using rule 115
+ '<' reduce using rule 115
+ '<=' reduce using rule 115
+ '=' reduce using rule 115
+ '===' reduce using rule 115
+ '=_{' reduce using rule 115
+ '>' reduce using rule 115
+ 'BOT' reduce using rule 115
+ 'CUBE' reduce using rule 115
+ 'TOP' reduce using rule 115
+ 'TOPE' reduce using rule 115
+ 'U' reduce using rule 115
+ '[' reduce using rule 115
+ '\\/' reduce using rule 115
+ ']' reduce using rule 115
+ 'as' reduce using rule 115
+ 'idJ' reduce using rule 115
+ 'recBOT' reduce using rule 115
+ 'recOR' reduce using rule 115
+ 'refl' reduce using rule 115
+ 'refl_{' reduce using rule 115
+ '|' reduce using rule 115
+ '|->' reduce using rule 115
+ '}' reduce using rule 115
+ '→' reduce using rule 115
+ L_VarIdent reduce using rule 115
+ L_HoleIdent reduce using rule 115
+ %eof reduce using rule 115
State 162
- Term -> Term2 'as' Term1 . (rule 105)
+ Term1 -> '\\' ListParam . '->' Term1 (rule 108)
- ')' reduce using rule 105
- ',' reduce using rule 105
- ':' reduce using rule 105
- ':=' reduce using rule 105
- ';' reduce using rule 105
- '>' reduce using rule 105
- ']' reduce using rule 105
- '|' reduce using rule 105
- '|->' reduce using rule 105
- '}' reduce using rule 105
- %eof reduce using rule 105
+ '->' shift, and enter state 187
State 163
- ListTerm -> Term ',' ListTerm . (rule 108)
+ Term1 -> 'Sigma' '(' . Pattern ':' Term ')' ',' Term1 (rule 105)
- %eof reduce using rule 108
+ '(' shift, and enter state 91
+ '_' shift, and enter state 86
+ L_VarIdent shift, and enter state 62
+ VarIdent goto state 81
+ Pattern goto state 186
State 164
- ParamDecl -> '(' '_' ':' . Term ')' (rule 52)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 228
+ Term7 -> '<' ParamDecl . '->' Term '>' (rule 86)
+
+ '->' shift, and enter state 185
+
State 165
- ParamDecl -> '(' VarIdent ':' . Term ')' (rule 54)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 227
+ ParamDecl -> '(' VarIdent . ':' Term ')' (rule 67)
+ Term7 -> VarIdent . (rule 93)
+
+ '(' reduce using rule 93
+ ')' reduce using rule 93
+ '*' reduce using rule 93
+ '*_1' reduce using rule 93
+ ',' reduce using rule 93
+ '->' reduce using rule 93
+ '/\\' reduce using rule 93
+ '0_2' reduce using rule 93
+ '1' reduce using rule 93
+ '1_2' reduce using rule 93
+ '2' reduce using rule 93
+ ':' shift, and enter state 184
+ '<' reduce using rule 93
+ '<=' reduce using rule 93
+ '=' reduce using rule 93
+ '===' reduce using rule 93
+ '=_{' reduce using rule 93
+ 'BOT' reduce using rule 93
+ 'CUBE' reduce using rule 93
+ 'TOP' reduce using rule 93
+ 'TOPE' reduce using rule 93
+ 'U' reduce using rule 93
+ '[' reduce using rule 93
+ '\\/' reduce using rule 93
+ 'as' reduce using rule 93
+ 'idJ' reduce using rule 93
+ 'recBOT' reduce using rule 93
+ 'recOR' reduce using rule 93
+ 'refl' reduce using rule 93
+ 'refl_{' reduce using rule 93
+ '→' reduce using rule 93
+ L_VarIdent reduce using rule 93
+ L_HoleIdent reduce using rule 93
+
State 166
- Term7 -> '<' ParamDecl '->' . Term '>' (rule 73)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 226
+ ParamDecl -> '(' '_' . ':' Term ')' (rule 65)
-State 167
+ ':' shift, and enter state 183
- Term1 -> 'Sigma' '(' Pattern . ':' Term ')' ',' Term1 (rule 92)
- ':' shift, and enter state 225
+State 167
+ ListTerm -> Term ',' . ListTerm (rule 121)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 36
+ ListTerm goto state 182
State 168
- Term1 -> '\\' ListParam '->' . Term1 (rule 95)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 64
- Term1 goto state 224
- Term6 goto state 32
+ Term -> Term2 'as' . Term1 (rule 118)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 67
+ Term1 goto state 181
+ Term6 goto state 35
State 169
- Term7 -> 'idJ' '(' Term . ',' Term ',' Term ',' Term ',' Term ',' Term ')' (rule 78)
-
- ',' shift, and enter state 223
-
+ Term2 -> Term3 '\\/' . Term2 (rule 102)
+
+ '(' shift, and enter state 66
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 180
+ Term6 goto state 70
State 170
- Term7 -> 'recOR' '(' ListRestriction . ')' (rule 71)
-
- ')' shift, and enter state 222
-
+ Term3 -> Term4 '/\\' . Term3 (rule 100)
+
+ '(' shift, and enter state 66
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 179
+ Term6 goto state 70
State 171
- Restriction -> Term . '|->' Term (rule 57)
- Term7 -> 'recOR' '(' Term . ',' Term ',' Term ',' Term ')' (rule 72)
-
- ',' shift, and enter state 221
- '|->' shift, and enter state 128
-
+ Term4 -> Term5 '<=' . Term5 (rule 98)
+
+ '(' shift, and enter state 66
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ Term7 goto state 29
+ Term5 goto state 178
+ Term6 goto state 70
-State 172
-
- Term7 -> 'refl_{' Term ':' . Term '}' (rule 77)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 220
-
-State 173
-
- Term7 -> 'refl_{' Term '}' . (rule 76)
-
- '(' reduce using rule 76
- ')' reduce using rule 76
- '*' reduce using rule 76
- '*_1' reduce using rule 76
- ',' reduce using rule 76
- '->' reduce using rule 76
- '/\\' reduce using rule 76
- '0_2' reduce using rule 76
- '1' reduce using rule 76
- '1_2' reduce using rule 76
- '2' reduce using rule 76
- ':' reduce using rule 76
- ':=' reduce using rule 76
- ';' reduce using rule 76
- '<' reduce using rule 76
- '<=' reduce using rule 76
- '=' reduce using rule 76
- '===' reduce using rule 76
- '=_{' reduce using rule 76
- '>' reduce using rule 76
- 'BOT' reduce using rule 76
- 'CUBE' reduce using rule 76
- 'TOP' reduce using rule 76
- 'TOPE' reduce using rule 76
- 'U' reduce using rule 76
- '[' reduce using rule 76
- '\\/' reduce using rule 76
- ']' reduce using rule 76
- 'as' reduce using rule 76
- 'idJ' reduce using rule 76
- 'recBOT' reduce using rule 76
- 'recOR' reduce using rule 76
- 'refl' reduce using rule 76
- 'refl_{' reduce using rule 76
- '|' reduce using rule 76
- '|->' reduce using rule 76
- '}' reduce using rule 76
- '→' reduce using rule 76
- L_VarIdent reduce using rule 76
- L_HoleIdent reduce using rule 76
- %eof reduce using rule 76
+State 172
+ Term4 -> Term5 '===' . Term5 (rule 97)
+
+ '(' shift, and enter state 66
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ Term7 goto state 29
+ Term5 goto state 177
+ Term6 goto state 70
-State 174
+State 173
- Pattern -> '(' Pattern . ',' Pattern ')' (rule 43)
- ParamDecl -> '{' '(' Pattern . ':' Term ')' '|' Term '}' (rule 55)
+ Term1 -> ParamDecl '->' . Term1 (rule 104)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 67
+ Term1 goto state 176
+ Term6 goto state 35
- ',' shift, and enter state 187
- ':' shift, and enter state 219
+State 174
+ Term1 -> ParamDecl '→' . Term1 (rule 110)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 67
+ Term1 goto state 175
+ Term6 goto state 35
State 175
- ParamDecl -> '{' Pattern ':' . Term '}' (rule 53)
- ParamDecl -> '{' Pattern ':' . Term '|' Term '}' (rule 56)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 218
+ Term1 -> ParamDecl '→' Term1 . (rule 110)
+
+ ')' reduce using rule 110
+ ',' reduce using rule 110
+ ':' reduce using rule 110
+ ':=' reduce using rule 110
+ ';' reduce using rule 110
+ '>' reduce using rule 110
+ ']' reduce using rule 110
+ '|' reduce using rule 110
+ '|->' reduce using rule 110
+ '}' reduce using rule 110
+ %eof reduce using rule 110
+
State 176
- Term1 -> 'Σ' '(' Pattern . ':' Term ')' ',' Term1 (rule 98)
+ Term1 -> ParamDecl '->' Term1 . (rule 104)
- ':' shift, and enter state 217
+ ')' reduce using rule 104
+ ',' reduce using rule 104
+ ':' reduce using rule 104
+ ':=' reduce using rule 104
+ ';' reduce using rule 104
+ '>' reduce using rule 104
+ ']' reduce using rule 104
+ '|' reduce using rule 104
+ '|->' reduce using rule 104
+ '}' reduce using rule 104
+ %eof reduce using rule 104
State 177
- Term1 -> '∑' '(' Pattern . ':' Term ')' ',' Term1 (rule 99)
+ Term5 -> Term5 . '*' Term6 (rule 95)
+ Term4 -> Term5 '===' Term5 . (rule 97)
- ':' shift, and enter state 216
+ ')' reduce using rule 97
+ '*' shift, and enter state 149
+ ',' reduce using rule 97
+ '/\\' reduce using rule 97
+ ':' reduce using rule 97
+ ':=' reduce using rule 97
+ ';' reduce using rule 97
+ '=' reduce using rule 97
+ '=_{' reduce using rule 97
+ '>' reduce using rule 97
+ '\\/' reduce using rule 97
+ ']' reduce using rule 97
+ 'as' reduce using rule 97
+ '|' reduce using rule 97
+ '|->' reduce using rule 97
+ '}' reduce using rule 97
+ %eof reduce using rule 97
State 178
- Term7 -> '(' Term ')' . (rule 81)
+ Term5 -> Term5 . '*' Term6 (rule 95)
+ Term4 -> Term5 '<=' Term5 . (rule 98)
- '(' reduce using rule 81
- ')' reduce using rule 81
- '*' reduce using rule 81
- '*_1' reduce using rule 81
- ',' reduce using rule 81
- '->' reduce using rule 81
- '/\\' reduce using rule 81
- '0_2' reduce using rule 81
- '1' reduce using rule 81
- '1_2' reduce using rule 81
- '2' reduce using rule 81
- ':' reduce using rule 81
- ':=' reduce using rule 81
- ';' reduce using rule 81
- '<' reduce using rule 81
- '<=' reduce using rule 81
- '=' reduce using rule 81
- '===' reduce using rule 81
- '=_{' reduce using rule 81
- '>' reduce using rule 81
- 'BOT' reduce using rule 81
- 'CUBE' reduce using rule 81
- 'TOP' reduce using rule 81
- 'TOPE' reduce using rule 81
- 'U' reduce using rule 81
- '[' reduce using rule 81
- '\\/' reduce using rule 81
- ']' reduce using rule 81
- 'as' reduce using rule 81
- 'idJ' reduce using rule 81
- 'recBOT' reduce using rule 81
- 'recOR' reduce using rule 81
- 'refl' reduce using rule 81
- 'refl_{' reduce using rule 81
- '|' reduce using rule 81
- '|->' reduce using rule 81
- '}' reduce using rule 81
- '→' reduce using rule 81
- L_VarIdent reduce using rule 81
- L_HoleIdent reduce using rule 81
- %eof reduce using rule 81
+ ')' reduce using rule 98
+ '*' shift, and enter state 149
+ ',' reduce using rule 98
+ '/\\' reduce using rule 98
+ ':' reduce using rule 98
+ ':=' reduce using rule 98
+ ';' reduce using rule 98
+ '=' reduce using rule 98
+ '=_{' reduce using rule 98
+ '>' reduce using rule 98
+ '\\/' reduce using rule 98
+ ']' reduce using rule 98
+ 'as' reduce using rule 98
+ '|' reduce using rule 98
+ '|->' reduce using rule 98
+ '}' reduce using rule 98
+ %eof reduce using rule 98
State 179
- Term7 -> '(' Term ',' . Term ')' (rule 74)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 215
+ Term3 -> Term4 '/\\' Term3 . (rule 100)
+
+ ')' reduce using rule 100
+ ',' reduce using rule 100
+ ':' reduce using rule 100
+ ':=' reduce using rule 100
+ ';' reduce using rule 100
+ '=' reduce using rule 100
+ '=_{' reduce using rule 100
+ '>' reduce using rule 100
+ '\\/' reduce using rule 100
+ ']' reduce using rule 100
+ 'as' reduce using rule 100
+ '|' reduce using rule 100
+ '|->' reduce using rule 100
+ '}' reduce using rule 100
+ %eof reduce using rule 100
+
State 180
- Term1 -> Term2 '=_{' Term . '}' Term2 (rule 93)
+ Term2 -> Term3 '\\/' Term2 . (rule 102)
- '}' shift, and enter state 214
+ ')' reduce using rule 102
+ ',' reduce using rule 102
+ ':' reduce using rule 102
+ ':=' reduce using rule 102
+ ';' reduce using rule 102
+ '=' reduce using rule 102
+ '=_{' reduce using rule 102
+ '>' reduce using rule 102
+ ']' reduce using rule 102
+ 'as' reduce using rule 102
+ '|' reduce using rule 102
+ '|->' reduce using rule 102
+ '}' reduce using rule 102
+ %eof reduce using rule 102
State 181
- Term1 -> Term2 '=' Term2 . (rule 94)
+ Term -> Term2 'as' Term1 . (rule 118)
- ')' reduce using rule 94
- ',' reduce using rule 94
- ':' reduce using rule 94
- ':=' reduce using rule 94
- ';' reduce using rule 94
- '>' reduce using rule 94
- ']' reduce using rule 94
- '|' reduce using rule 94
- '|->' reduce using rule 94
- '}' reduce using rule 94
- %eof reduce using rule 94
+ ')' reduce using rule 118
+ ',' reduce using rule 118
+ ':' reduce using rule 118
+ ':=' reduce using rule 118
+ ';' reduce using rule 118
+ '>' reduce using rule 118
+ ']' reduce using rule 118
+ '|' reduce using rule 118
+ '|->' reduce using rule 118
+ '}' reduce using rule 118
+ %eof reduce using rule 118
State 182
- Term5 -> Term5 '*' Term6 . (rule 82)
- Term6 -> Term6 . '[' ListRestriction ']' (rule 100)
- Term6 -> Term6 . Term7 (rule 101)
+ ListTerm -> Term ',' ListTerm . (rule 121)
- '(' shift, and enter state 63
- ')' reduce using rule 82
- '*' reduce using rule 82
- '*_1' shift, and enter state 36
- ',' reduce using rule 82
- '/\\' reduce using rule 82
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- ':' reduce using rule 82
- ':=' reduce using rule 82
- ';' reduce using rule 82
- '<' shift, and enter state 41
- '<=' reduce using rule 82
- '=' reduce using rule 82
- '===' reduce using rule 82
- '=_{' reduce using rule 82
- '>' reduce using rule 82
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '[' shift, and enter state 127
- '\\/' reduce using rule 82
- ']' reduce using rule 82
- 'as' reduce using rule 82
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- '|' reduce using rule 82
- '|->' reduce using rule 82
- '}' reduce using rule 82
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
- %eof reduce using rule 82
+ %eof reduce using rule 121
- VarIdent goto state 23
- HoleIdent goto state 24
- Term7 goto state 126
State 183
- ListRestriction -> Restriction ',' ListRestriction . (rule 59)
-
- ')' reduce using rule 59
- ']' reduce using rule 59
- %eof reduce using rule 59
-
+ ParamDecl -> '(' '_' ':' . Term ')' (rule 65)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 251
State 184
- Restriction -> Term '|->' Term . (rule 57)
-
- ')' reduce using rule 57
- ',' reduce using rule 57
- ']' reduce using rule 57
- %eof reduce using rule 57
-
+ ParamDecl -> '(' VarIdent ':' . Term ')' (rule 67)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 250
State 185
- Term6 -> Term6 '[' ListRestriction . ']' (rule 100)
+ Term7 -> '<' ParamDecl '->' . Term '>' (rule 86)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 249
- ']' shift, and enter state 213
+State 186
+ Term1 -> 'Sigma' '(' Pattern . ':' Term ')' ',' Term1 (rule 105)
-State 186
+ ':' shift, and enter state 248
- Param -> '(' ListPattern ':' . Term ')' (rule 47)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 212
State 187
- Pattern -> '(' Pattern ',' . Pattern ')' (rule 43)
+ Term1 -> '\\' ListParam '->' . Term1 (rule 108)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 67
+ Term1 goto state 247
+ Term6 goto state 35
- '(' shift, and enter state 88
- '_' shift, and enter state 83
- L_VarIdent shift, and enter state 59
+State 188
- VarIdent goto state 78
- Pattern goto state 211
+ Term7 -> 'idJ' '(' Term . ',' Term ',' Term ',' Term ',' Term ',' Term ')' (rule 91)
-State 188
+ ',' shift, and enter state 246
- Param -> '{' Pattern ':' . Term '|' Term '}' (rule 48)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 210
State 189
- Command -> '#check' Term ':' . Term ';' (rule 29)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 209
+ Term7 -> 'recOR' '(' ListRestriction . ')' (rule 84)
+
+ ')' shift, and enter state 245
+
State 190
- Command -> '#compute' Term ';' . (rule 30)
+ Restriction -> Term . '|->' Term (rule 70)
+ Term7 -> 'recOR' '(' Term . ',' Term ',' Term ',' Term ')' (rule 85)
- '#check' reduce using rule 30
- '#compute' reduce using rule 30
- '#compute-nf' reduce using rule 30
- '#compute-whnf'reduce using rule 30
- '#def' reduce using rule 30
- '#define' reduce using rule 30
- '#postulate' reduce using rule 30
- '#set-option' reduce using rule 30
- '#unset-option'reduce using rule 30
- %eof reduce using rule 30
+ ',' shift, and enter state 244
+ '|->' shift, and enter state 147
State 191
- Command -> '#compute-nf' Term ';' . (rule 32)
-
- '#check' reduce using rule 32
- '#compute' reduce using rule 32
- '#compute-nf' reduce using rule 32
- '#compute-whnf'reduce using rule 32
- '#def' reduce using rule 32
- '#define' reduce using rule 32
- '#postulate' reduce using rule 32
- '#set-option' reduce using rule 32
- '#unset-option'reduce using rule 32
- %eof reduce using rule 32
-
+ Term7 -> 'refl_{' Term ':' . Term '}' (rule 90)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 243
State 192
- Command -> '#compute-whnf' Term ';' . (rule 31)
-
- '#check' reduce using rule 31
- '#compute' reduce using rule 31
- '#compute-nf' reduce using rule 31
- '#compute-whnf'reduce using rule 31
- '#def' reduce using rule 31
- '#define' reduce using rule 31
- '#postulate' reduce using rule 31
- '#set-option' reduce using rule 31
- '#unset-option'reduce using rule 31
- %eof reduce using rule 31
+ Term7 -> 'refl_{' Term '}' . (rule 89)
+
+ '(' reduce using rule 89
+ ')' reduce using rule 89
+ '*' reduce using rule 89
+ '*_1' reduce using rule 89
+ ',' reduce using rule 89
+ '->' reduce using rule 89
+ '/\\' reduce using rule 89
+ '0_2' reduce using rule 89
+ '1' reduce using rule 89
+ '1_2' reduce using rule 89
+ '2' reduce using rule 89
+ ':' reduce using rule 89
+ ':=' reduce using rule 89
+ ';' reduce using rule 89
+ '<' reduce using rule 89
+ '<=' reduce using rule 89
+ '=' reduce using rule 89
+ '===' reduce using rule 89
+ '=_{' reduce using rule 89
+ '>' reduce using rule 89
+ 'BOT' reduce using rule 89
+ 'CUBE' reduce using rule 89
+ 'TOP' reduce using rule 89
+ 'TOPE' reduce using rule 89
+ 'U' reduce using rule 89
+ '[' reduce using rule 89
+ '\\/' reduce using rule 89
+ ']' reduce using rule 89
+ 'as' reduce using rule 89
+ 'idJ' reduce using rule 89
+ 'recBOT' reduce using rule 89
+ 'recOR' reduce using rule 89
+ 'refl' reduce using rule 89
+ 'refl_{' reduce using rule 89
+ '|' reduce using rule 89
+ '|->' reduce using rule 89
+ '}' reduce using rule 89
+ '→' reduce using rule 89
+ L_VarIdent reduce using rule 89
+ L_HoleIdent reduce using rule 89
+ %eof reduce using rule 89
State 193
- Command -> '#def' VarIdent ListParam . ':' Term ':=' Term ';' (rule 37)
+ Pattern -> '(' Pattern . ',' Pattern ')' (rule 56)
+ ParamDecl -> '{' '(' Pattern . ':' Term ')' '|' Term '}' (rule 68)
- ':' shift, and enter state 208
+ ',' shift, and enter state 206
+ ':' shift, and enter state 242
State 194
- Command -> '#def' VarIdent ':' . Term ':=' Term ';' (rule 38)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 207
+ ParamDecl -> '{' Pattern ':' . Term '}' (rule 66)
+ ParamDecl -> '{' Pattern ':' . Term '|' Term '}' (rule 69)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 241
State 195
- Command -> '#define' VarIdent ListParam . ':' Term ':=' Term ';' (rule 35)
+ Term1 -> 'Σ' '(' Pattern . ':' Term ')' ',' Term1 (rule 111)
- ':' shift, and enter state 206
+ ':' shift, and enter state 240
State 196
- Command -> '#define' VarIdent ':' . Term ':=' Term ';' (rule 36)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 205
+ Term1 -> '∑' '(' Pattern . ':' Term ')' ',' Term1 (rule 112)
+
+ ':' shift, and enter state 239
+
State 197
- Command -> '#postulate' VarIdent ListParam . ':' Term ';' (rule 33)
+ Term7 -> '(' Term ')' . (rule 94)
- ':' shift, and enter state 204
+ '(' reduce using rule 94
+ ')' reduce using rule 94
+ '*' reduce using rule 94
+ '*_1' reduce using rule 94
+ ',' reduce using rule 94
+ '->' reduce using rule 94
+ '/\\' reduce using rule 94
+ '0_2' reduce using rule 94
+ '1' reduce using rule 94
+ '1_2' reduce using rule 94
+ '2' reduce using rule 94
+ ':' reduce using rule 94
+ ':=' reduce using rule 94
+ ';' reduce using rule 94
+ '<' reduce using rule 94
+ '<=' reduce using rule 94
+ '=' reduce using rule 94
+ '===' reduce using rule 94
+ '=_{' reduce using rule 94
+ '>' reduce using rule 94
+ 'BOT' reduce using rule 94
+ 'CUBE' reduce using rule 94
+ 'TOP' reduce using rule 94
+ 'TOPE' reduce using rule 94
+ 'U' reduce using rule 94
+ '[' reduce using rule 94
+ '\\/' reduce using rule 94
+ ']' reduce using rule 94
+ 'as' reduce using rule 94
+ 'idJ' reduce using rule 94
+ 'recBOT' reduce using rule 94
+ 'recOR' reduce using rule 94
+ 'refl' reduce using rule 94
+ 'refl_{' reduce using rule 94
+ '|' reduce using rule 94
+ '|->' reduce using rule 94
+ '}' reduce using rule 94
+ '→' reduce using rule 94
+ L_VarIdent reduce using rule 94
+ L_HoleIdent reduce using rule 94
+ %eof reduce using rule 94
State 198
- Command -> '#postulate' VarIdent ':' . Term ';' (rule 34)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 203
+ Term7 -> '(' Term ',' . Term ')' (rule 87)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 238
State 199
- Command -> '#set-option' String '=' . String ';' (rule 27)
+ Term1 -> Term2 '=_{' Term . '}' Term2 (rule 106)
- L_quoted shift, and enter state 22
+ '}' shift, and enter state 237
- String goto state 202
State 200
- Command -> '#unset-option' String ';' . (rule 28)
-
- '#check' reduce using rule 28
- '#compute' reduce using rule 28
- '#compute-nf' reduce using rule 28
- '#compute-whnf'reduce using rule 28
- '#def' reduce using rule 28
- '#define' reduce using rule 28
- '#postulate' reduce using rule 28
- '#set-option' reduce using rule 28
- '#unset-option'reduce using rule 28
- %eof reduce using rule 28
+ Term1 -> Term2 '=' Term2 . (rule 107)
+
+ ')' reduce using rule 107
+ ',' reduce using rule 107
+ ':' reduce using rule 107
+ ':=' reduce using rule 107
+ ';' reduce using rule 107
+ '>' reduce using rule 107
+ ']' reduce using rule 107
+ '|' reduce using rule 107
+ '|->' reduce using rule 107
+ '}' reduce using rule 107
+ %eof reduce using rule 107
State 201
- LanguageDecl -> '#lang' Language ';' . (rule 25)
-
- '#check' reduce using rule 25
- '#compute' reduce using rule 25
- '#compute-nf' reduce using rule 25
- '#compute-whnf'reduce using rule 25
- '#def' reduce using rule 25
- '#define' reduce using rule 25
- '#postulate' reduce using rule 25
- '#set-option' reduce using rule 25
- '#unset-option'reduce using rule 25
- %eof reduce using rule 25
+ Term5 -> Term5 '*' Term6 . (rule 95)
+ Term6 -> Term6 . '[' ListRestriction ']' (rule 113)
+ Term6 -> Term6 . Term7 (rule 114)
+
+ '(' shift, and enter state 66
+ ')' reduce using rule 95
+ '*' reduce using rule 95
+ '*_1' shift, and enter state 39
+ ',' reduce using rule 95
+ '/\\' reduce using rule 95
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ ':' reduce using rule 95
+ ':=' reduce using rule 95
+ ';' reduce using rule 95
+ '<' shift, and enter state 44
+ '<=' reduce using rule 95
+ '=' reduce using rule 95
+ '===' reduce using rule 95
+ '=_{' reduce using rule 95
+ '>' reduce using rule 95
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '[' shift, and enter state 146
+ '\\/' reduce using rule 95
+ ']' reduce using rule 95
+ 'as' reduce using rule 95
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ '|' reduce using rule 95
+ '|->' reduce using rule 95
+ '}' reduce using rule 95
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+ %eof reduce using rule 95
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ Term7 goto state 145
State 202
- Command -> '#set-option' String '=' String . ';' (rule 27)
+ ListRestriction -> Restriction ',' ListRestriction . (rule 72)
- ';' shift, and enter state 253
+ ')' reduce using rule 72
+ ']' reduce using rule 72
+ %eof reduce using rule 72
State 203
- Command -> '#postulate' VarIdent ':' Term . ';' (rule 34)
+ Restriction -> Term '|->' Term . (rule 70)
- ';' shift, and enter state 252
+ ')' reduce using rule 70
+ ',' reduce using rule 70
+ ']' reduce using rule 70
+ %eof reduce using rule 70
State 204
- Command -> '#postulate' VarIdent ListParam ':' . Term ';' (rule 33)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 251
+ Term6 -> Term6 '[' ListRestriction . ']' (rule 113)
-State 205
+ ']' shift, and enter state 236
- Command -> '#define' VarIdent ':' Term . ':=' Term ';' (rule 36)
- ':=' shift, and enter state 250
+State 205
+ Param -> '(' ListPattern ':' . Term ')' (rule 60)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 235
State 206
- Command -> '#define' VarIdent ListParam ':' . Term ':=' Term ';' (rule 35)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 249
+ Pattern -> '(' Pattern ',' . Pattern ')' (rule 56)
-State 207
+ '(' shift, and enter state 91
+ '_' shift, and enter state 86
+ L_VarIdent shift, and enter state 62
- Command -> '#def' VarIdent ':' Term . ':=' Term ';' (rule 38)
+ VarIdent goto state 81
+ Pattern goto state 234
- ':=' shift, and enter state 248
+State 207
+ Param -> '{' Pattern ':' . Term '|' Term '}' (rule 61)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 233
State 208
- Command -> '#def' VarIdent ListParam ':' . Term ':=' Term ';' (rule 37)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 247
+ DeclUsedVars -> 'uses' '(' ListVarIdent . ')' (rule 50)
-State 209
+ ')' shift, and enter state 232
- Command -> '#check' Term ':' Term . ';' (rule 29)
- ';' shift, and enter state 246
+State 209
+ ListCommand -> Command ';' ListCommand . (rule 49)
-State 210
+ '#end' reduce using rule 49
+ %eof reduce using rule 49
- Param -> '{' Pattern ':' Term . '|' Term '}' (rule 48)
- '|' shift, and enter state 245
+State 210
+ Command -> '#assume' ListVarIdent ':' . Term (rule 40)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 231
State 211
- Pattern -> '(' Pattern ',' Pattern . ')' (rule 43)
-
- ')' shift, and enter state 244
-
+ Command -> '#check' Term ':' . Term (rule 34)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 230
State 212
- Param -> '(' ListPattern ':' Term . ')' (rule 47)
+ Command -> '#def' VarIdent DeclUsedVars . ListParam ':' Term ':=' Term (rule 46)
+ Command -> '#def' VarIdent DeclUsedVars . ':' Term ':=' Term (rule 47)
- ')' shift, and enter state 243
+ '(' shift, and enter state 85
+ ':' shift, and enter state 229
+ '_' shift, and enter state 86
+ '{' shift, and enter state 87
+ L_VarIdent shift, and enter state 62
+ VarIdent goto state 81
+ Pattern goto state 82
+ Param goto state 83
+ ListParam goto state 228
State 213
- Term6 -> Term6 '[' ListRestriction ']' . (rule 100)
+ Command -> '#define' VarIdent DeclUsedVars . ListParam ':' Term ':=' Term (rule 44)
+ Command -> '#define' VarIdent DeclUsedVars . ':' Term ':=' Term (rule 45)
- '(' reduce using rule 100
- ')' reduce using rule 100
- '*' reduce using rule 100
- '*_1' reduce using rule 100
- ',' reduce using rule 100
- '->' reduce using rule 100
- '/\\' reduce using rule 100
- '0_2' reduce using rule 100
- '1' reduce using rule 100
- '1_2' reduce using rule 100
- '2' reduce using rule 100
- ':' reduce using rule 100
- ':=' reduce using rule 100
- ';' reduce using rule 100
- '<' reduce using rule 100
- '<=' reduce using rule 100
- '=' reduce using rule 100
- '===' reduce using rule 100
- '=_{' reduce using rule 100
- '>' reduce using rule 100
- 'BOT' reduce using rule 100
- 'CUBE' reduce using rule 100
- 'TOP' reduce using rule 100
- 'TOPE' reduce using rule 100
- 'U' reduce using rule 100
- '[' reduce using rule 100
- '\\/' reduce using rule 100
- ']' reduce using rule 100
- 'as' reduce using rule 100
- 'idJ' reduce using rule 100
- 'recBOT' reduce using rule 100
- 'recOR' reduce using rule 100
- 'refl' reduce using rule 100
- 'refl_{' reduce using rule 100
- '|' reduce using rule 100
- '|->' reduce using rule 100
- '}' reduce using rule 100
- '→' reduce using rule 100
- L_VarIdent reduce using rule 100
- L_HoleIdent reduce using rule 100
- %eof reduce using rule 100
+ '(' shift, and enter state 85
+ ':' shift, and enter state 227
+ '_' shift, and enter state 86
+ '{' shift, and enter state 87
+ L_VarIdent shift, and enter state 62
+ VarIdent goto state 81
+ Pattern goto state 82
+ Param goto state 83
+ ListParam goto state 226
State 214
- Term1 -> Term2 '=_{' Term '}' . Term2 (rule 93)
-
- '(' shift, and enter state 63
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 242
- Term6 goto state 67
+ Command -> '#postulate' VarIdent DeclUsedVars . ListParam ':' Term (rule 38)
+ Command -> '#postulate' VarIdent DeclUsedVars . ':' Term (rule 39)
-State 215
+ '(' shift, and enter state 85
+ ':' shift, and enter state 225
+ '_' shift, and enter state 86
+ '{' shift, and enter state 87
+ L_VarIdent shift, and enter state 62
- Term7 -> '(' Term ',' Term . ')' (rule 74)
+ VarIdent goto state 81
+ Pattern goto state 82
+ Param goto state 83
+ ListParam goto state 224
- ')' shift, and enter state 241
+State 215
+ Command -> '#section' SectionName ';' . ListCommand '#end' SectionName (rule 43)
+
+ '#assume' shift, and enter state 99
+ '#check' shift, and enter state 100
+ '#compute' shift, and enter state 101
+ '#compute-nf' shift, and enter state 102
+ '#compute-whnf'shift, and enter state 103
+ '#def' shift, and enter state 104
+ '#define' shift, and enter state 105
+ '#end' reduce using rule 48
+ '#postulate' shift, and enter state 106
+ '#section' shift, and enter state 107
+ '#set-option' shift, and enter state 108
+ '#unset-option'shift, and enter state 109
+ '#variable' shift, and enter state 110
+ '#variables' shift, and enter state 111
+
+ Command goto state 97
+ ListCommand goto state 223
State 216
- Term1 -> '∑' '(' Pattern ':' . Term ')' ',' Term1 (rule 99)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 240
+ Command -> '#set-option' String '=' . String (rule 32)
+
+ L_quoted shift, and enter state 25
+
+ String goto state 222
State 217
- Term1 -> 'Σ' '(' Pattern ':' . Term ')' ',' Term1 (rule 98)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 239
+ Command -> '#variable' VarIdent ':' . Term (rule 41)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 221
State 218
- ParamDecl -> '{' Pattern ':' Term . '}' (rule 53)
- ParamDecl -> '{' Pattern ':' Term . '|' Term '}' (rule 56)
+ Command -> '#variables' ListVarIdent ':' . Term (rule 42)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 220
- '|' shift, and enter state 237
- '}' shift, and enter state 238
+State 219
+ LanguageDecl -> '#lang' Language ';' . (rule 30)
-State 219
+ '#assume' reduce using rule 30
+ '#check' reduce using rule 30
+ '#compute' reduce using rule 30
+ '#compute-nf' reduce using rule 30
+ '#compute-whnf'reduce using rule 30
+ '#def' reduce using rule 30
+ '#define' reduce using rule 30
+ '#postulate' reduce using rule 30
+ '#section' reduce using rule 30
+ '#set-option' reduce using rule 30
+ '#unset-option'reduce using rule 30
+ '#variable' reduce using rule 30
+ '#variables' reduce using rule 30
+ %eof reduce using rule 30
- ParamDecl -> '{' '(' Pattern ':' . Term ')' '|' Term '}' (rule 55)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 236
State 220
- Term7 -> 'refl_{' Term ':' Term . '}' (rule 77)
+ Command -> '#variables' ListVarIdent ':' Term . (rule 42)
- '}' shift, and enter state 235
+ ';' reduce using rule 42
+ %eof reduce using rule 42
State 221
- Term7 -> 'recOR' '(' Term ',' . Term ',' Term ',' Term ')' (rule 72)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 234
+ Command -> '#variable' VarIdent ':' Term . (rule 41)
+
+ ';' reduce using rule 41
+ %eof reduce using rule 41
+
State 222
- Term7 -> 'recOR' '(' ListRestriction ')' . (rule 71)
+ Command -> '#set-option' String '=' String . (rule 32)
- '(' reduce using rule 71
- ')' reduce using rule 71
- '*' reduce using rule 71
- '*_1' reduce using rule 71
- ',' reduce using rule 71
- '->' reduce using rule 71
- '/\\' reduce using rule 71
- '0_2' reduce using rule 71
- '1' reduce using rule 71
- '1_2' reduce using rule 71
- '2' reduce using rule 71
- ':' reduce using rule 71
- ':=' reduce using rule 71
- ';' reduce using rule 71
- '<' reduce using rule 71
- '<=' reduce using rule 71
- '=' reduce using rule 71
- '===' reduce using rule 71
- '=_{' reduce using rule 71
- '>' reduce using rule 71
- 'BOT' reduce using rule 71
- 'CUBE' reduce using rule 71
- 'TOP' reduce using rule 71
- 'TOPE' reduce using rule 71
- 'U' reduce using rule 71
- '[' reduce using rule 71
- '\\/' reduce using rule 71
- ']' reduce using rule 71
- 'as' reduce using rule 71
- 'idJ' reduce using rule 71
- 'recBOT' reduce using rule 71
- 'recOR' reduce using rule 71
- 'refl' reduce using rule 71
- 'refl_{' reduce using rule 71
- '|' reduce using rule 71
- '|->' reduce using rule 71
- '}' reduce using rule 71
- '→' reduce using rule 71
- L_VarIdent reduce using rule 71
- L_HoleIdent reduce using rule 71
- %eof reduce using rule 71
+ ';' reduce using rule 32
+ %eof reduce using rule 32
State 223
- Term7 -> 'idJ' '(' Term ',' . Term ',' Term ',' Term ',' Term ',' Term ')' (rule 78)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 233
+ Command -> '#section' SectionName ';' ListCommand . '#end' SectionName (rule 43)
+
+ '#end' shift, and enter state 275
+
State 224
- Term1 -> '\\' ListParam '->' Term1 . (rule 95)
+ Command -> '#postulate' VarIdent DeclUsedVars ListParam . ':' Term (rule 38)
- ')' reduce using rule 95
- ',' reduce using rule 95
- ':' reduce using rule 95
- ':=' reduce using rule 95
- ';' reduce using rule 95
- '>' reduce using rule 95
- ']' reduce using rule 95
- '|' reduce using rule 95
- '|->' reduce using rule 95
- '}' reduce using rule 95
- %eof reduce using rule 95
+ ':' shift, and enter state 274
State 225
- Term1 -> 'Sigma' '(' Pattern ':' . Term ')' ',' Term1 (rule 92)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 232
+ Command -> '#postulate' VarIdent DeclUsedVars ':' . Term (rule 39)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 273
State 226
- Term7 -> '<' ParamDecl '->' Term . '>' (rule 73)
+ Command -> '#define' VarIdent DeclUsedVars ListParam . ':' Term ':=' Term (rule 44)
- '>' shift, and enter state 231
+ ':' shift, and enter state 272
State 227
- ParamDecl -> '(' VarIdent ':' Term . ')' (rule 54)
-
- ')' shift, and enter state 230
-
+ Command -> '#define' VarIdent DeclUsedVars ':' . Term ':=' Term (rule 45)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 271
State 228
- ParamDecl -> '(' '_' ':' Term . ')' (rule 52)
+ Command -> '#def' VarIdent DeclUsedVars ListParam . ':' Term ':=' Term (rule 46)
- ')' shift, and enter state 229
+ ':' shift, and enter state 270
State 229
- ParamDecl -> '(' '_' ':' Term ')' . (rule 52)
-
- '->' reduce using rule 52
- '→' reduce using rule 52
- %eof reduce using rule 52
-
+ Command -> '#def' VarIdent DeclUsedVars ':' . Term ':=' Term (rule 47)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 269
State 230
- ParamDecl -> '(' VarIdent ':' Term ')' . (rule 54)
+ Command -> '#check' Term ':' Term . (rule 34)
- '->' reduce using rule 54
- '→' reduce using rule 54
- %eof reduce using rule 54
+ ';' reduce using rule 34
+ %eof reduce using rule 34
State 231
- Term7 -> '<' ParamDecl '->' Term '>' . (rule 73)
+ Command -> '#assume' ListVarIdent ':' Term . (rule 40)
- '(' reduce using rule 73
- ')' reduce using rule 73
- '*' reduce using rule 73
- '*_1' reduce using rule 73
- ',' reduce using rule 73
- '->' reduce using rule 73
- '/\\' reduce using rule 73
- '0_2' reduce using rule 73
- '1' reduce using rule 73
- '1_2' reduce using rule 73
- '2' reduce using rule 73
- ':' reduce using rule 73
- ':=' reduce using rule 73
- ';' reduce using rule 73
- '<' reduce using rule 73
- '<=' reduce using rule 73
- '=' reduce using rule 73
- '===' reduce using rule 73
- '=_{' reduce using rule 73
- '>' reduce using rule 73
- 'BOT' reduce using rule 73
- 'CUBE' reduce using rule 73
- 'TOP' reduce using rule 73
- 'TOPE' reduce using rule 73
- 'U' reduce using rule 73
- '[' reduce using rule 73
- '\\/' reduce using rule 73
- ']' reduce using rule 73
- 'as' reduce using rule 73
- 'idJ' reduce using rule 73
- 'recBOT' reduce using rule 73
- 'recOR' reduce using rule 73
- 'refl' reduce using rule 73
- 'refl_{' reduce using rule 73
- '|' reduce using rule 73
- '|->' reduce using rule 73
- '}' reduce using rule 73
- '→' reduce using rule 73
- L_VarIdent reduce using rule 73
- L_HoleIdent reduce using rule 73
- %eof reduce using rule 73
+ ';' reduce using rule 40
+ %eof reduce using rule 40
State 232
- Term1 -> 'Sigma' '(' Pattern ':' Term . ')' ',' Term1 (rule 92)
+ DeclUsedVars -> 'uses' '(' ListVarIdent ')' . (rule 50)
- ')' shift, and enter state 266
+ '(' reduce using rule 50
+ ':' reduce using rule 50
+ '_' reduce using rule 50
+ '{' reduce using rule 50
+ L_VarIdent reduce using rule 50
+ %eof reduce using rule 50
State 233
- Term7 -> 'idJ' '(' Term ',' Term . ',' Term ',' Term ',' Term ',' Term ')' (rule 78)
+ Param -> '{' Pattern ':' Term . '|' Term '}' (rule 61)
- ',' shift, and enter state 265
+ '|' shift, and enter state 268
State 234
- Term7 -> 'recOR' '(' Term ',' Term . ',' Term ',' Term ')' (rule 72)
+ Pattern -> '(' Pattern ',' Pattern . ')' (rule 56)
- ',' shift, and enter state 264
+ ')' shift, and enter state 267
State 235
- Term7 -> 'refl_{' Term ':' Term '}' . (rule 77)
+ Param -> '(' ListPattern ':' Term . ')' (rule 60)
- '(' reduce using rule 77
- ')' reduce using rule 77
- '*' reduce using rule 77
- '*_1' reduce using rule 77
- ',' reduce using rule 77
- '->' reduce using rule 77
- '/\\' reduce using rule 77
- '0_2' reduce using rule 77
- '1' reduce using rule 77
- '1_2' reduce using rule 77
- '2' reduce using rule 77
- ':' reduce using rule 77
- ':=' reduce using rule 77
- ';' reduce using rule 77
- '<' reduce using rule 77
- '<=' reduce using rule 77
- '=' reduce using rule 77
- '===' reduce using rule 77
- '=_{' reduce using rule 77
- '>' reduce using rule 77
- 'BOT' reduce using rule 77
- 'CUBE' reduce using rule 77
- 'TOP' reduce using rule 77
- 'TOPE' reduce using rule 77
- 'U' reduce using rule 77
- '[' reduce using rule 77
- '\\/' reduce using rule 77
- ']' reduce using rule 77
- 'as' reduce using rule 77
- 'idJ' reduce using rule 77
- 'recBOT' reduce using rule 77
- 'recOR' reduce using rule 77
- 'refl' reduce using rule 77
- 'refl_{' reduce using rule 77
- '|' reduce using rule 77
- '|->' reduce using rule 77
- '}' reduce using rule 77
- '→' reduce using rule 77
- L_VarIdent reduce using rule 77
- L_HoleIdent reduce using rule 77
- %eof reduce using rule 77
+ ')' shift, and enter state 266
State 236
- ParamDecl -> '{' '(' Pattern ':' Term . ')' '|' Term '}' (rule 55)
-
- ')' shift, and enter state 263
+ Term6 -> Term6 '[' ListRestriction ']' . (rule 113)
+
+ '(' reduce using rule 113
+ ')' reduce using rule 113
+ '*' reduce using rule 113
+ '*_1' reduce using rule 113
+ ',' reduce using rule 113
+ '->' reduce using rule 113
+ '/\\' reduce using rule 113
+ '0_2' reduce using rule 113
+ '1' reduce using rule 113
+ '1_2' reduce using rule 113
+ '2' reduce using rule 113
+ ':' reduce using rule 113
+ ':=' reduce using rule 113
+ ';' reduce using rule 113
+ '<' reduce using rule 113
+ '<=' reduce using rule 113
+ '=' reduce using rule 113
+ '===' reduce using rule 113
+ '=_{' reduce using rule 113
+ '>' reduce using rule 113
+ 'BOT' reduce using rule 113
+ 'CUBE' reduce using rule 113
+ 'TOP' reduce using rule 113
+ 'TOPE' reduce using rule 113
+ 'U' reduce using rule 113
+ '[' reduce using rule 113
+ '\\/' reduce using rule 113
+ ']' reduce using rule 113
+ 'as' reduce using rule 113
+ 'idJ' reduce using rule 113
+ 'recBOT' reduce using rule 113
+ 'recOR' reduce using rule 113
+ 'refl' reduce using rule 113
+ 'refl_{' reduce using rule 113
+ '|' reduce using rule 113
+ '|->' reduce using rule 113
+ '}' reduce using rule 113
+ '→' reduce using rule 113
+ L_VarIdent reduce using rule 113
+ L_HoleIdent reduce using rule 113
+ %eof reduce using rule 113
State 237
- ParamDecl -> '{' Pattern ':' Term '|' . Term '}' (rule 56)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 262
+ Term1 -> Term2 '=_{' Term '}' . Term2 (rule 106)
+
+ '(' shift, and enter state 66
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 265
+ Term6 goto state 70
State 238
- ParamDecl -> '{' Pattern ':' Term '}' . (rule 53)
+ Term7 -> '(' Term ',' Term . ')' (rule 87)
- '->' reduce using rule 53
- '→' reduce using rule 53
- %eof reduce using rule 53
+ ')' shift, and enter state 264
State 239
- Term1 -> 'Σ' '(' Pattern ':' Term . ')' ',' Term1 (rule 98)
-
- ')' shift, and enter state 261
-
+ Term1 -> '∑' '(' Pattern ':' . Term ')' ',' Term1 (rule 112)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 263
State 240
- Term1 -> '∑' '(' Pattern ':' Term . ')' ',' Term1 (rule 99)
-
- ')' shift, and enter state 260
-
+ Term1 -> 'Σ' '(' Pattern ':' . Term ')' ',' Term1 (rule 111)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 262
State 241
- Term7 -> '(' Term ',' Term ')' . (rule 74)
+ ParamDecl -> '{' Pattern ':' Term . '}' (rule 66)
+ ParamDecl -> '{' Pattern ':' Term . '|' Term '}' (rule 69)
- '(' reduce using rule 74
- ')' reduce using rule 74
- '*' reduce using rule 74
- '*_1' reduce using rule 74
- ',' reduce using rule 74
- '->' reduce using rule 74
- '/\\' reduce using rule 74
- '0_2' reduce using rule 74
- '1' reduce using rule 74
- '1_2' reduce using rule 74
- '2' reduce using rule 74
- ':' reduce using rule 74
- ':=' reduce using rule 74
- ';' reduce using rule 74
- '<' reduce using rule 74
- '<=' reduce using rule 74
- '=' reduce using rule 74
- '===' reduce using rule 74
- '=_{' reduce using rule 74
- '>' reduce using rule 74
- 'BOT' reduce using rule 74
- 'CUBE' reduce using rule 74
- 'TOP' reduce using rule 74
- 'TOPE' reduce using rule 74
- 'U' reduce using rule 74
- '[' reduce using rule 74
- '\\/' reduce using rule 74
- ']' reduce using rule 74
- 'as' reduce using rule 74
- 'idJ' reduce using rule 74
- 'recBOT' reduce using rule 74
- 'recOR' reduce using rule 74
- 'refl' reduce using rule 74
- 'refl_{' reduce using rule 74
- '|' reduce using rule 74
- '|->' reduce using rule 74
- '}' reduce using rule 74
- '→' reduce using rule 74
- L_VarIdent reduce using rule 74
- L_HoleIdent reduce using rule 74
- %eof reduce using rule 74
+ '|' shift, and enter state 260
+ '}' shift, and enter state 261
State 242
- Term1 -> Term2 '=_{' Term '}' Term2 . (rule 93)
-
- ')' reduce using rule 93
- ',' reduce using rule 93
- ':' reduce using rule 93
- ':=' reduce using rule 93
- ';' reduce using rule 93
- '>' reduce using rule 93
- ']' reduce using rule 93
- '|' reduce using rule 93
- '|->' reduce using rule 93
- '}' reduce using rule 93
- %eof reduce using rule 93
-
+ ParamDecl -> '{' '(' Pattern ':' . Term ')' '|' Term '}' (rule 68)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 259
State 243
- Param -> '(' ListPattern ':' Term ')' . (rule 47)
+ Term7 -> 'refl_{' Term ':' Term . '}' (rule 90)
- '(' reduce using rule 47
- '->' reduce using rule 47
- ':' reduce using rule 47
- '_' reduce using rule 47
- '{' reduce using rule 47
- L_VarIdent reduce using rule 47
- %eof reduce using rule 47
+ '}' shift, and enter state 258
State 244
- Pattern -> '(' Pattern ',' Pattern ')' . (rule 43)
+ Term7 -> 'recOR' '(' Term ',' . Term ',' Term ',' Term ')' (rule 85)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 257
- '(' reduce using rule 43
- ')' reduce using rule 43
- ',' reduce using rule 43
- '->' reduce using rule 43
- ':' reduce using rule 43
- '_' reduce using rule 43
- '{' reduce using rule 43
- L_VarIdent reduce using rule 43
- %eof reduce using rule 43
+State 245
+ Term7 -> 'recOR' '(' ListRestriction ')' . (rule 84)
-State 245
+ '(' reduce using rule 84
+ ')' reduce using rule 84
+ '*' reduce using rule 84
+ '*_1' reduce using rule 84
+ ',' reduce using rule 84
+ '->' reduce using rule 84
+ '/\\' reduce using rule 84
+ '0_2' reduce using rule 84
+ '1' reduce using rule 84
+ '1_2' reduce using rule 84
+ '2' reduce using rule 84
+ ':' reduce using rule 84
+ ':=' reduce using rule 84
+ ';' reduce using rule 84
+ '<' reduce using rule 84
+ '<=' reduce using rule 84
+ '=' reduce using rule 84
+ '===' reduce using rule 84
+ '=_{' reduce using rule 84
+ '>' reduce using rule 84
+ 'BOT' reduce using rule 84
+ 'CUBE' reduce using rule 84
+ 'TOP' reduce using rule 84
+ 'TOPE' reduce using rule 84
+ 'U' reduce using rule 84
+ '[' reduce using rule 84
+ '\\/' reduce using rule 84
+ ']' reduce using rule 84
+ 'as' reduce using rule 84
+ 'idJ' reduce using rule 84
+ 'recBOT' reduce using rule 84
+ 'recOR' reduce using rule 84
+ 'refl' reduce using rule 84
+ 'refl_{' reduce using rule 84
+ '|' reduce using rule 84
+ '|->' reduce using rule 84
+ '}' reduce using rule 84
+ '→' reduce using rule 84
+ L_VarIdent reduce using rule 84
+ L_HoleIdent reduce using rule 84
+ %eof reduce using rule 84
- Param -> '{' Pattern ':' Term '|' . Term '}' (rule 48)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 259
State 246
- Command -> '#check' Term ':' Term ';' . (rule 29)
-
- '#check' reduce using rule 29
- '#compute' reduce using rule 29
- '#compute-nf' reduce using rule 29
- '#compute-whnf'reduce using rule 29
- '#def' reduce using rule 29
- '#define' reduce using rule 29
- '#postulate' reduce using rule 29
- '#set-option' reduce using rule 29
- '#unset-option'reduce using rule 29
- %eof reduce using rule 29
-
+ Term7 -> 'idJ' '(' Term ',' . Term ',' Term ',' Term ',' Term ',' Term ')' (rule 91)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 256
State 247
- Command -> '#def' VarIdent ListParam ':' Term . ':=' Term ';' (rule 37)
-
- ':=' shift, and enter state 258
+ Term1 -> '\\' ListParam '->' Term1 . (rule 108)
+
+ ')' reduce using rule 108
+ ',' reduce using rule 108
+ ':' reduce using rule 108
+ ':=' reduce using rule 108
+ ';' reduce using rule 108
+ '>' reduce using rule 108
+ ']' reduce using rule 108
+ '|' reduce using rule 108
+ '|->' reduce using rule 108
+ '}' reduce using rule 108
+ %eof reduce using rule 108
State 248
- Command -> '#def' VarIdent ':' Term ':=' . Term ';' (rule 38)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 257
+ Term1 -> 'Sigma' '(' Pattern ':' . Term ')' ',' Term1 (rule 105)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 255
State 249
- Command -> '#define' VarIdent ListParam ':' Term . ':=' Term ';' (rule 35)
+ Term7 -> '<' ParamDecl '->' Term . '>' (rule 86)
- ':=' shift, and enter state 256
+ '>' shift, and enter state 254
State 250
- Command -> '#define' VarIdent ':' Term ':=' . Term ';' (rule 36)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 255
+ ParamDecl -> '(' VarIdent ':' Term . ')' (rule 67)
+
+ ')' shift, and enter state 253
+
State 251
- Command -> '#postulate' VarIdent ListParam ':' Term . ';' (rule 33)
+ ParamDecl -> '(' '_' ':' Term . ')' (rule 65)
- ';' shift, and enter state 254
+ ')' shift, and enter state 252
State 252
- Command -> '#postulate' VarIdent ':' Term ';' . (rule 34)
-
- '#check' reduce using rule 34
- '#compute' reduce using rule 34
- '#compute-nf' reduce using rule 34
- '#compute-whnf'reduce using rule 34
- '#def' reduce using rule 34
- '#define' reduce using rule 34
- '#postulate' reduce using rule 34
- '#set-option' reduce using rule 34
- '#unset-option'reduce using rule 34
- %eof reduce using rule 34
+ ParamDecl -> '(' '_' ':' Term ')' . (rule 65)
+
+ '->' reduce using rule 65
+ '→' reduce using rule 65
+ %eof reduce using rule 65
State 253
- Command -> '#set-option' String '=' String ';' . (rule 27)
-
- '#check' reduce using rule 27
- '#compute' reduce using rule 27
- '#compute-nf' reduce using rule 27
- '#compute-whnf'reduce using rule 27
- '#def' reduce using rule 27
- '#define' reduce using rule 27
- '#postulate' reduce using rule 27
- '#set-option' reduce using rule 27
- '#unset-option'reduce using rule 27
- %eof reduce using rule 27
+ ParamDecl -> '(' VarIdent ':' Term ')' . (rule 67)
+
+ '->' reduce using rule 67
+ '→' reduce using rule 67
+ %eof reduce using rule 67
State 254
- Command -> '#postulate' VarIdent ListParam ':' Term ';' . (rule 33)
-
- '#check' reduce using rule 33
- '#compute' reduce using rule 33
- '#compute-nf' reduce using rule 33
- '#compute-whnf'reduce using rule 33
- '#def' reduce using rule 33
- '#define' reduce using rule 33
- '#postulate' reduce using rule 33
- '#set-option' reduce using rule 33
- '#unset-option'reduce using rule 33
- %eof reduce using rule 33
+ Term7 -> '<' ParamDecl '->' Term '>' . (rule 86)
+
+ '(' reduce using rule 86
+ ')' reduce using rule 86
+ '*' reduce using rule 86
+ '*_1' reduce using rule 86
+ ',' reduce using rule 86
+ '->' reduce using rule 86
+ '/\\' reduce using rule 86
+ '0_2' reduce using rule 86
+ '1' reduce using rule 86
+ '1_2' reduce using rule 86
+ '2' reduce using rule 86
+ ':' reduce using rule 86
+ ':=' reduce using rule 86
+ ';' reduce using rule 86
+ '<' reduce using rule 86
+ '<=' reduce using rule 86
+ '=' reduce using rule 86
+ '===' reduce using rule 86
+ '=_{' reduce using rule 86
+ '>' reduce using rule 86
+ 'BOT' reduce using rule 86
+ 'CUBE' reduce using rule 86
+ 'TOP' reduce using rule 86
+ 'TOPE' reduce using rule 86
+ 'U' reduce using rule 86
+ '[' reduce using rule 86
+ '\\/' reduce using rule 86
+ ']' reduce using rule 86
+ 'as' reduce using rule 86
+ 'idJ' reduce using rule 86
+ 'recBOT' reduce using rule 86
+ 'recOR' reduce using rule 86
+ 'refl' reduce using rule 86
+ 'refl_{' reduce using rule 86
+ '|' reduce using rule 86
+ '|->' reduce using rule 86
+ '}' reduce using rule 86
+ '→' reduce using rule 86
+ L_VarIdent reduce using rule 86
+ L_HoleIdent reduce using rule 86
+ %eof reduce using rule 86
State 255
- Command -> '#define' VarIdent ':' Term ':=' Term . ';' (rule 36)
+ Term1 -> 'Sigma' '(' Pattern ':' Term . ')' ',' Term1 (rule 105)
- ';' shift, and enter state 278
+ ')' shift, and enter state 289
State 256
- Command -> '#define' VarIdent ListParam ':' Term ':=' . Term ';' (rule 35)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 277
+ Term7 -> 'idJ' '(' Term ',' Term . ',' Term ',' Term ',' Term ',' Term ')' (rule 91)
+
+ ',' shift, and enter state 288
+
State 257
- Command -> '#def' VarIdent ':' Term ':=' Term . ';' (rule 38)
+ Term7 -> 'recOR' '(' Term ',' Term . ',' Term ',' Term ')' (rule 85)
- ';' shift, and enter state 276
+ ',' shift, and enter state 287
State 258
- Command -> '#def' VarIdent ListParam ':' Term ':=' . Term ';' (rule 37)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 275
+ Term7 -> 'refl_{' Term ':' Term '}' . (rule 90)
+
+ '(' reduce using rule 90
+ ')' reduce using rule 90
+ '*' reduce using rule 90
+ '*_1' reduce using rule 90
+ ',' reduce using rule 90
+ '->' reduce using rule 90
+ '/\\' reduce using rule 90
+ '0_2' reduce using rule 90
+ '1' reduce using rule 90
+ '1_2' reduce using rule 90
+ '2' reduce using rule 90
+ ':' reduce using rule 90
+ ':=' reduce using rule 90
+ ';' reduce using rule 90
+ '<' reduce using rule 90
+ '<=' reduce using rule 90
+ '=' reduce using rule 90
+ '===' reduce using rule 90
+ '=_{' reduce using rule 90
+ '>' reduce using rule 90
+ 'BOT' reduce using rule 90
+ 'CUBE' reduce using rule 90
+ 'TOP' reduce using rule 90
+ 'TOPE' reduce using rule 90
+ 'U' reduce using rule 90
+ '[' reduce using rule 90
+ '\\/' reduce using rule 90
+ ']' reduce using rule 90
+ 'as' reduce using rule 90
+ 'idJ' reduce using rule 90
+ 'recBOT' reduce using rule 90
+ 'recOR' reduce using rule 90
+ 'refl' reduce using rule 90
+ 'refl_{' reduce using rule 90
+ '|' reduce using rule 90
+ '|->' reduce using rule 90
+ '}' reduce using rule 90
+ '→' reduce using rule 90
+ L_VarIdent reduce using rule 90
+ L_HoleIdent reduce using rule 90
+ %eof reduce using rule 90
+
State 259
- Param -> '{' Pattern ':' Term '|' Term . '}' (rule 48)
+ ParamDecl -> '{' '(' Pattern ':' Term . ')' '|' Term '}' (rule 68)
- '}' shift, and enter state 274
+ ')' shift, and enter state 286
State 260
- Term1 -> '∑' '(' Pattern ':' Term ')' . ',' Term1 (rule 99)
-
- ',' shift, and enter state 273
-
+ ParamDecl -> '{' Pattern ':' Term '|' . Term '}' (rule 69)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 285
State 261
- Term1 -> 'Σ' '(' Pattern ':' Term ')' . ',' Term1 (rule 98)
+ ParamDecl -> '{' Pattern ':' Term '}' . (rule 66)
- ',' shift, and enter state 272
+ '->' reduce using rule 66
+ '→' reduce using rule 66
+ %eof reduce using rule 66
State 262
- ParamDecl -> '{' Pattern ':' Term '|' Term . '}' (rule 56)
+ Term1 -> 'Σ' '(' Pattern ':' Term . ')' ',' Term1 (rule 111)
- '}' shift, and enter state 271
+ ')' shift, and enter state 284
State 263
- ParamDecl -> '{' '(' Pattern ':' Term ')' . '|' Term '}' (rule 55)
+ Term1 -> '∑' '(' Pattern ':' Term . ')' ',' Term1 (rule 112)
- '|' shift, and enter state 270
+ ')' shift, and enter state 283
State 264
- Term7 -> 'recOR' '(' Term ',' Term ',' . Term ',' Term ')' (rule 72)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 269
+ Term7 -> '(' Term ',' Term ')' . (rule 87)
+
+ '(' reduce using rule 87
+ ')' reduce using rule 87
+ '*' reduce using rule 87
+ '*_1' reduce using rule 87
+ ',' reduce using rule 87
+ '->' reduce using rule 87
+ '/\\' reduce using rule 87
+ '0_2' reduce using rule 87
+ '1' reduce using rule 87
+ '1_2' reduce using rule 87
+ '2' reduce using rule 87
+ ':' reduce using rule 87
+ ':=' reduce using rule 87
+ ';' reduce using rule 87
+ '<' reduce using rule 87
+ '<=' reduce using rule 87
+ '=' reduce using rule 87
+ '===' reduce using rule 87
+ '=_{' reduce using rule 87
+ '>' reduce using rule 87
+ 'BOT' reduce using rule 87
+ 'CUBE' reduce using rule 87
+ 'TOP' reduce using rule 87
+ 'TOPE' reduce using rule 87
+ 'U' reduce using rule 87
+ '[' reduce using rule 87
+ '\\/' reduce using rule 87
+ ']' reduce using rule 87
+ 'as' reduce using rule 87
+ 'idJ' reduce using rule 87
+ 'recBOT' reduce using rule 87
+ 'recOR' reduce using rule 87
+ 'refl' reduce using rule 87
+ 'refl_{' reduce using rule 87
+ '|' reduce using rule 87
+ '|->' reduce using rule 87
+ '}' reduce using rule 87
+ '→' reduce using rule 87
+ L_VarIdent reduce using rule 87
+ L_HoleIdent reduce using rule 87
+ %eof reduce using rule 87
+
State 265
- Term7 -> 'idJ' '(' Term ',' Term ',' . Term ',' Term ',' Term ',' Term ')' (rule 78)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 268
+ Term1 -> Term2 '=_{' Term '}' Term2 . (rule 106)
+
+ ')' reduce using rule 106
+ ',' reduce using rule 106
+ ':' reduce using rule 106
+ ':=' reduce using rule 106
+ ';' reduce using rule 106
+ '>' reduce using rule 106
+ ']' reduce using rule 106
+ '|' reduce using rule 106
+ '|->' reduce using rule 106
+ '}' reduce using rule 106
+ %eof reduce using rule 106
+
State 266
- Term1 -> 'Sigma' '(' Pattern ':' Term ')' . ',' Term1 (rule 92)
+ Param -> '(' ListPattern ':' Term ')' . (rule 60)
- ',' shift, and enter state 267
+ '(' reduce using rule 60
+ '->' reduce using rule 60
+ ':' reduce using rule 60
+ '_' reduce using rule 60
+ '{' reduce using rule 60
+ L_VarIdent reduce using rule 60
+ %eof reduce using rule 60
State 267
- Term1 -> 'Sigma' '(' Pattern ':' Term ')' ',' . Term1 (rule 92)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 64
- Term1 goto state 286
- Term6 goto state 32
+ Pattern -> '(' Pattern ',' Pattern ')' . (rule 56)
-State 268
+ '(' reduce using rule 56
+ ')' reduce using rule 56
+ ',' reduce using rule 56
+ '->' reduce using rule 56
+ ':' reduce using rule 56
+ '_' reduce using rule 56
+ '{' reduce using rule 56
+ L_VarIdent reduce using rule 56
+ %eof reduce using rule 56
- Term7 -> 'idJ' '(' Term ',' Term ',' Term . ',' Term ',' Term ',' Term ')' (rule 78)
- ',' shift, and enter state 285
+State 268
+ Param -> '{' Pattern ':' Term '|' . Term '}' (rule 61)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 282
State 269
- Term7 -> 'recOR' '(' Term ',' Term ',' Term . ',' Term ')' (rule 72)
+ Command -> '#def' VarIdent DeclUsedVars ':' Term . ':=' Term (rule 47)
- ',' shift, and enter state 284
+ ':=' shift, and enter state 281
State 270
- ParamDecl -> '{' '(' Pattern ':' Term ')' '|' . Term '}' (rule 55)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 283
+ Command -> '#def' VarIdent DeclUsedVars ListParam ':' . Term ':=' Term (rule 46)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 280
State 271
- ParamDecl -> '{' Pattern ':' Term '|' Term '}' . (rule 56)
+ Command -> '#define' VarIdent DeclUsedVars ':' Term . ':=' Term (rule 45)
- '->' reduce using rule 56
- '→' reduce using rule 56
- %eof reduce using rule 56
+ ':=' shift, and enter state 279
State 272
- Term1 -> 'Σ' '(' Pattern ':' Term ')' ',' . Term1 (rule 98)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 64
- Term1 goto state 282
- Term6 goto state 32
+ Command -> '#define' VarIdent DeclUsedVars ListParam ':' . Term ':=' Term (rule 44)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 278
State 273
- Term1 -> '∑' '(' Pattern ':' Term ')' ',' . Term1 (rule 99)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 64
- Term1 goto state 281
- Term6 goto state 32
+ Command -> '#postulate' VarIdent DeclUsedVars ':' Term . (rule 39)
-State 274
+ ';' reduce using rule 39
+ %eof reduce using rule 39
- Param -> '{' Pattern ':' Term '|' Term '}' . (rule 48)
- '(' reduce using rule 48
- '->' reduce using rule 48
- ':' reduce using rule 48
- '_' reduce using rule 48
- '{' reduce using rule 48
- L_VarIdent reduce using rule 48
- %eof reduce using rule 48
+State 274
+ Command -> '#postulate' VarIdent DeclUsedVars ListParam ':' . Term (rule 38)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 277
State 275
- Command -> '#def' VarIdent ListParam ':' Term ':=' Term . ';' (rule 37)
+ Command -> '#section' SectionName ';' ListCommand '#end' . SectionName (rule 43)
- ';' shift, and enter state 280
+ ';' reduce using rule 52
+ L_VarIdent shift, and enter state 62
+ %eof reduce using rule 52
+ VarIdent goto state 93
+ SectionName goto state 276
State 276
- Command -> '#def' VarIdent ':' Term ':=' Term ';' . (rule 38)
-
- '#check' reduce using rule 38
- '#compute' reduce using rule 38
- '#compute-nf' reduce using rule 38
- '#compute-whnf'reduce using rule 38
- '#def' reduce using rule 38
- '#define' reduce using rule 38
- '#postulate' reduce using rule 38
- '#set-option' reduce using rule 38
- '#unset-option'reduce using rule 38
- %eof reduce using rule 38
+ Command -> '#section' SectionName ';' ListCommand '#end' SectionName . (rule 43)
+
+ ';' reduce using rule 43
+ %eof reduce using rule 43
State 277
- Command -> '#define' VarIdent ListParam ':' Term ':=' Term . ';' (rule 35)
+ Command -> '#postulate' VarIdent DeclUsedVars ListParam ':' Term . (rule 38)
- ';' shift, and enter state 279
+ ';' reduce using rule 38
+ %eof reduce using rule 38
State 278
- Command -> '#define' VarIdent ':' Term ':=' Term ';' . (rule 36)
-
- '#check' reduce using rule 36
- '#compute' reduce using rule 36
- '#compute-nf' reduce using rule 36
- '#compute-whnf'reduce using rule 36
- '#def' reduce using rule 36
- '#define' reduce using rule 36
- '#postulate' reduce using rule 36
- '#set-option' reduce using rule 36
- '#unset-option'reduce using rule 36
- %eof reduce using rule 36
+ Command -> '#define' VarIdent DeclUsedVars ListParam ':' Term . ':=' Term (rule 44)
+ ':=' shift, and enter state 301
-State 279
- Command -> '#define' VarIdent ListParam ':' Term ':=' Term ';' . (rule 35)
-
- '#check' reduce using rule 35
- '#compute' reduce using rule 35
- '#compute-nf' reduce using rule 35
- '#compute-whnf'reduce using rule 35
- '#def' reduce using rule 35
- '#define' reduce using rule 35
- '#postulate' reduce using rule 35
- '#set-option' reduce using rule 35
- '#unset-option'reduce using rule 35
- %eof reduce using rule 35
+State 279
+ Command -> '#define' VarIdent DeclUsedVars ':' Term ':=' . Term (rule 45)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 300
State 280
- Command -> '#def' VarIdent ListParam ':' Term ':=' Term ';' . (rule 37)
-
- '#check' reduce using rule 37
- '#compute' reduce using rule 37
- '#compute-nf' reduce using rule 37
- '#compute-whnf'reduce using rule 37
- '#def' reduce using rule 37
- '#define' reduce using rule 37
- '#postulate' reduce using rule 37
- '#set-option' reduce using rule 37
- '#unset-option'reduce using rule 37
- %eof reduce using rule 37
-
+ Command -> '#def' VarIdent DeclUsedVars ListParam ':' Term . ':=' Term (rule 46)
-State 281
+ ':=' shift, and enter state 299
- Term1 -> '∑' '(' Pattern ':' Term ')' ',' Term1 . (rule 99)
- ')' reduce using rule 99
- ',' reduce using rule 99
- ':' reduce using rule 99
- ':=' reduce using rule 99
- ';' reduce using rule 99
- '>' reduce using rule 99
- ']' reduce using rule 99
- '|' reduce using rule 99
- '|->' reduce using rule 99
- '}' reduce using rule 99
- %eof reduce using rule 99
+State 281
+ Command -> '#def' VarIdent DeclUsedVars ':' Term ':=' . Term (rule 47)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 298
State 282
- Term1 -> 'Σ' '(' Pattern ':' Term ')' ',' Term1 . (rule 98)
+ Param -> '{' Pattern ':' Term '|' Term . '}' (rule 61)
- ')' reduce using rule 98
- ',' reduce using rule 98
- ':' reduce using rule 98
- ':=' reduce using rule 98
- ';' reduce using rule 98
- '>' reduce using rule 98
- ']' reduce using rule 98
- '|' reduce using rule 98
- '|->' reduce using rule 98
- '}' reduce using rule 98
- %eof reduce using rule 98
+ '}' shift, and enter state 297
State 283
- ParamDecl -> '{' '(' Pattern ':' Term ')' '|' Term . '}' (rule 55)
+ Term1 -> '∑' '(' Pattern ':' Term ')' . ',' Term1 (rule 112)
- '}' shift, and enter state 289
+ ',' shift, and enter state 296
State 284
- Term7 -> 'recOR' '(' Term ',' Term ',' Term ',' . Term ')' (rule 72)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 288
+ Term1 -> 'Σ' '(' Pattern ':' Term ')' . ',' Term1 (rule 111)
-State 285
+ ',' shift, and enter state 295
- Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' . Term ',' Term ',' Term ')' (rule 78)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 287
-State 286
+State 285
- Term1 -> 'Sigma' '(' Pattern ':' Term ')' ',' Term1 . (rule 92)
+ ParamDecl -> '{' Pattern ':' Term '|' Term . '}' (rule 69)
- ')' reduce using rule 92
- ',' reduce using rule 92
- ':' reduce using rule 92
- ':=' reduce using rule 92
- ';' reduce using rule 92
- '>' reduce using rule 92
- ']' reduce using rule 92
- '|' reduce using rule 92
- '|->' reduce using rule 92
- '}' reduce using rule 92
- %eof reduce using rule 92
+ '}' shift, and enter state 294
-State 287
+State 286
- Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term . ',' Term ',' Term ')' (rule 78)
+ ParamDecl -> '{' '(' Pattern ':' Term ')' . '|' Term '}' (rule 68)
- ',' shift, and enter state 291
+ '|' shift, and enter state 293
-State 288
+State 287
- Term7 -> 'recOR' '(' Term ',' Term ',' Term ',' Term . ')' (rule 72)
+ Term7 -> 'recOR' '(' Term ',' Term ',' . Term ',' Term ')' (rule 85)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 292
- ')' shift, and enter state 290
+State 288
+ Term7 -> 'idJ' '(' Term ',' Term ',' . Term ',' Term ',' Term ',' Term ')' (rule 91)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 291
State 289
- ParamDecl -> '{' '(' Pattern ':' Term ')' '|' Term '}' . (rule 55)
+ Term1 -> 'Sigma' '(' Pattern ':' Term ')' . ',' Term1 (rule 105)
- '->' reduce using rule 55
- '→' reduce using rule 55
- %eof reduce using rule 55
+ ',' shift, and enter state 290
State 290
- Term7 -> 'recOR' '(' Term ',' Term ',' Term ',' Term ')' . (rule 72)
+ Term1 -> 'Sigma' '(' Pattern ':' Term ')' ',' . Term1 (rule 105)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 67
+ Term1 goto state 309
+ Term6 goto state 35
- '(' reduce using rule 72
- ')' reduce using rule 72
- '*' reduce using rule 72
- '*_1' reduce using rule 72
- ',' reduce using rule 72
- '->' reduce using rule 72
- '/\\' reduce using rule 72
- '0_2' reduce using rule 72
- '1' reduce using rule 72
- '1_2' reduce using rule 72
- '2' reduce using rule 72
- ':' reduce using rule 72
- ':=' reduce using rule 72
- ';' reduce using rule 72
- '<' reduce using rule 72
- '<=' reduce using rule 72
- '=' reduce using rule 72
- '===' reduce using rule 72
- '=_{' reduce using rule 72
- '>' reduce using rule 72
- 'BOT' reduce using rule 72
- 'CUBE' reduce using rule 72
- 'TOP' reduce using rule 72
- 'TOPE' reduce using rule 72
- 'U' reduce using rule 72
- '[' reduce using rule 72
- '\\/' reduce using rule 72
- ']' reduce using rule 72
- 'as' reduce using rule 72
- 'idJ' reduce using rule 72
- 'recBOT' reduce using rule 72
- 'recOR' reduce using rule 72
- 'refl' reduce using rule 72
- 'refl_{' reduce using rule 72
- '|' reduce using rule 72
- '|->' reduce using rule 72
- '}' reduce using rule 72
- '→' reduce using rule 72
- L_VarIdent reduce using rule 72
- L_HoleIdent reduce using rule 72
- %eof reduce using rule 72
+State 291
+ Term7 -> 'idJ' '(' Term ',' Term ',' Term . ',' Term ',' Term ',' Term ')' (rule 91)
-State 291
+ ',' shift, and enter state 308
- Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' . Term ',' Term ')' (rule 78)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 292
State 292
- Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term . ',' Term ')' (rule 78)
+ Term7 -> 'recOR' '(' Term ',' Term ',' Term . ',' Term ')' (rule 85)
- ',' shift, and enter state 293
+ ',' shift, and enter state 307
State 293
- Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term ',' . Term ')' (rule 78)
-
- '(' shift, and enter state 35
- '*_1' shift, and enter state 36
- '0_2' shift, and enter state 37
- '1' shift, and enter state 38
- '1_2' shift, and enter state 39
- '2' shift, and enter state 40
- '<' shift, and enter state 41
- 'BOT' shift, and enter state 42
- 'CUBE' shift, and enter state 43
- 'Sigma' shift, and enter state 44
- 'TOP' shift, and enter state 45
- 'TOPE' shift, and enter state 46
- 'U' shift, and enter state 47
- '\\' shift, and enter state 48
- 'first' shift, and enter state 49
- 'idJ' shift, and enter state 50
- 'recBOT' shift, and enter state 51
- 'recOR' shift, and enter state 52
- 'refl' shift, and enter state 53
- 'refl_{' shift, and enter state 54
- 'second' shift, and enter state 55
- '{' shift, and enter state 56
- 'Σ' shift, and enter state 57
- '∑' shift, and enter state 58
- L_VarIdent shift, and enter state 59
- L_HoleIdent shift, and enter state 60
-
- VarIdent goto state 23
- HoleIdent goto state 24
- ParamDecl goto state 25
- Term7 goto state 26
- Term5 goto state 27
- Term4 goto state 28
- Term3 goto state 29
- Term2 goto state 30
- Term1 goto state 31
- Term6 goto state 32
- Term goto state 294
+ ParamDecl -> '{' '(' Pattern ':' Term ')' '|' . Term '}' (rule 68)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 306
State 294
- Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term ',' Term . ')' (rule 78)
+ ParamDecl -> '{' Pattern ':' Term '|' Term '}' . (rule 69)
- ')' shift, and enter state 295
+ '->' reduce using rule 69
+ '→' reduce using rule 69
+ %eof reduce using rule 69
State 295
- Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term ',' Term ')' . (rule 78)
+ Term1 -> 'Σ' '(' Pattern ':' Term ')' ',' . Term1 (rule 111)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 67
+ Term1 goto state 305
+ Term6 goto state 35
+
+State 296
+
+ Term1 -> '∑' '(' Pattern ':' Term ')' ',' . Term1 (rule 112)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 67
+ Term1 goto state 304
+ Term6 goto state 35
+
+State 297
+
+ Param -> '{' Pattern ':' Term '|' Term '}' . (rule 61)
- '(' reduce using rule 78
- ')' reduce using rule 78
- '*' reduce using rule 78
- '*_1' reduce using rule 78
- ',' reduce using rule 78
- '->' reduce using rule 78
- '/\\' reduce using rule 78
- '0_2' reduce using rule 78
- '1' reduce using rule 78
- '1_2' reduce using rule 78
- '2' reduce using rule 78
- ':' reduce using rule 78
- ':=' reduce using rule 78
- ';' reduce using rule 78
- '<' reduce using rule 78
- '<=' reduce using rule 78
- '=' reduce using rule 78
- '===' reduce using rule 78
- '=_{' reduce using rule 78
- '>' reduce using rule 78
- 'BOT' reduce using rule 78
- 'CUBE' reduce using rule 78
- 'TOP' reduce using rule 78
- 'TOPE' reduce using rule 78
- 'U' reduce using rule 78
- '[' reduce using rule 78
- '\\/' reduce using rule 78
- ']' reduce using rule 78
- 'as' reduce using rule 78
- 'idJ' reduce using rule 78
- 'recBOT' reduce using rule 78
- 'recOR' reduce using rule 78
- 'refl' reduce using rule 78
- 'refl_{' reduce using rule 78
- '|' reduce using rule 78
- '|->' reduce using rule 78
- '}' reduce using rule 78
- '→' reduce using rule 78
- L_VarIdent reduce using rule 78
- L_HoleIdent reduce using rule 78
- %eof reduce using rule 78
+ '(' reduce using rule 61
+ '->' reduce using rule 61
+ ':' reduce using rule 61
+ '_' reduce using rule 61
+ '{' reduce using rule 61
+ L_VarIdent reduce using rule 61
+ %eof reduce using rule 61
+
+
+State 298
+
+ Command -> '#def' VarIdent DeclUsedVars ':' Term ':=' Term . (rule 47)
+
+ ';' reduce using rule 47
+ %eof reduce using rule 47
+
+
+State 299
+
+ Command -> '#def' VarIdent DeclUsedVars ListParam ':' Term ':=' . Term (rule 46)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 303
+
+State 300
+
+ Command -> '#define' VarIdent DeclUsedVars ':' Term ':=' Term . (rule 45)
+
+ ';' reduce using rule 45
+ %eof reduce using rule 45
+
+
+State 301
+
+ Command -> '#define' VarIdent DeclUsedVars ListParam ':' Term ':=' . Term (rule 44)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 302
+
+State 302
+
+ Command -> '#define' VarIdent DeclUsedVars ListParam ':' Term ':=' Term . (rule 44)
+
+ ';' reduce using rule 44
+ %eof reduce using rule 44
+
+
+State 303
+
+ Command -> '#def' VarIdent DeclUsedVars ListParam ':' Term ':=' Term . (rule 46)
+
+ ';' reduce using rule 46
+ %eof reduce using rule 46
+
+
+State 304
+
+ Term1 -> '∑' '(' Pattern ':' Term ')' ',' Term1 . (rule 112)
+
+ ')' reduce using rule 112
+ ',' reduce using rule 112
+ ':' reduce using rule 112
+ ':=' reduce using rule 112
+ ';' reduce using rule 112
+ '>' reduce using rule 112
+ ']' reduce using rule 112
+ '|' reduce using rule 112
+ '|->' reduce using rule 112
+ '}' reduce using rule 112
+ %eof reduce using rule 112
+
+
+State 305
+
+ Term1 -> 'Σ' '(' Pattern ':' Term ')' ',' Term1 . (rule 111)
+
+ ')' reduce using rule 111
+ ',' reduce using rule 111
+ ':' reduce using rule 111
+ ':=' reduce using rule 111
+ ';' reduce using rule 111
+ '>' reduce using rule 111
+ ']' reduce using rule 111
+ '|' reduce using rule 111
+ '|->' reduce using rule 111
+ '}' reduce using rule 111
+ %eof reduce using rule 111
+
+
+State 306
+
+ ParamDecl -> '{' '(' Pattern ':' Term ')' '|' Term . '}' (rule 68)
+
+ '}' shift, and enter state 312
+
+
+State 307
+
+ Term7 -> 'recOR' '(' Term ',' Term ',' Term ',' . Term ')' (rule 85)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 311
+
+State 308
+
+ Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' . Term ',' Term ',' Term ')' (rule 91)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 310
+
+State 309
+
+ Term1 -> 'Sigma' '(' Pattern ':' Term ')' ',' Term1 . (rule 105)
+
+ ')' reduce using rule 105
+ ',' reduce using rule 105
+ ':' reduce using rule 105
+ ':=' reduce using rule 105
+ ';' reduce using rule 105
+ '>' reduce using rule 105
+ ']' reduce using rule 105
+ '|' reduce using rule 105
+ '|->' reduce using rule 105
+ '}' reduce using rule 105
+ %eof reduce using rule 105
+
+
+State 310
+
+ Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term . ',' Term ',' Term ')' (rule 91)
+
+ ',' shift, and enter state 314
+
+
+State 311
+
+ Term7 -> 'recOR' '(' Term ',' Term ',' Term ',' Term . ')' (rule 85)
+
+ ')' shift, and enter state 313
+
+
+State 312
+
+ ParamDecl -> '{' '(' Pattern ':' Term ')' '|' Term '}' . (rule 68)
+
+ '->' reduce using rule 68
+ '→' reduce using rule 68
+ %eof reduce using rule 68
+
+
+State 313
+
+ Term7 -> 'recOR' '(' Term ',' Term ',' Term ',' Term ')' . (rule 85)
+
+ '(' reduce using rule 85
+ ')' reduce using rule 85
+ '*' reduce using rule 85
+ '*_1' reduce using rule 85
+ ',' reduce using rule 85
+ '->' reduce using rule 85
+ '/\\' reduce using rule 85
+ '0_2' reduce using rule 85
+ '1' reduce using rule 85
+ '1_2' reduce using rule 85
+ '2' reduce using rule 85
+ ':' reduce using rule 85
+ ':=' reduce using rule 85
+ ';' reduce using rule 85
+ '<' reduce using rule 85
+ '<=' reduce using rule 85
+ '=' reduce using rule 85
+ '===' reduce using rule 85
+ '=_{' reduce using rule 85
+ '>' reduce using rule 85
+ 'BOT' reduce using rule 85
+ 'CUBE' reduce using rule 85
+ 'TOP' reduce using rule 85
+ 'TOPE' reduce using rule 85
+ 'U' reduce using rule 85
+ '[' reduce using rule 85
+ '\\/' reduce using rule 85
+ ']' reduce using rule 85
+ 'as' reduce using rule 85
+ 'idJ' reduce using rule 85
+ 'recBOT' reduce using rule 85
+ 'recOR' reduce using rule 85
+ 'refl' reduce using rule 85
+ 'refl_{' reduce using rule 85
+ '|' reduce using rule 85
+ '|->' reduce using rule 85
+ '}' reduce using rule 85
+ '→' reduce using rule 85
+ L_VarIdent reduce using rule 85
+ L_HoleIdent reduce using rule 85
+ %eof reduce using rule 85
+
+
+State 314
+
+ Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' . Term ',' Term ')' (rule 91)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 315
+
+State 315
+
+ Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term . ',' Term ')' (rule 91)
+
+ ',' shift, and enter state 316
+
+
+State 316
+
+ Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term ',' . Term ')' (rule 91)
+
+ '(' shift, and enter state 38
+ '*_1' shift, and enter state 39
+ '0_2' shift, and enter state 40
+ '1' shift, and enter state 41
+ '1_2' shift, and enter state 42
+ '2' shift, and enter state 43
+ '<' shift, and enter state 44
+ 'BOT' shift, and enter state 45
+ 'CUBE' shift, and enter state 46
+ 'Sigma' shift, and enter state 47
+ 'TOP' shift, and enter state 48
+ 'TOPE' shift, and enter state 49
+ 'U' shift, and enter state 50
+ '\\' shift, and enter state 51
+ 'first' shift, and enter state 52
+ 'idJ' shift, and enter state 53
+ 'recBOT' shift, and enter state 54
+ 'recOR' shift, and enter state 55
+ 'refl' shift, and enter state 56
+ 'refl_{' shift, and enter state 57
+ 'second' shift, and enter state 58
+ '{' shift, and enter state 59
+ 'Σ' shift, and enter state 60
+ '∑' shift, and enter state 61
+ L_VarIdent shift, and enter state 62
+ L_HoleIdent shift, and enter state 63
+
+ VarIdent goto state 26
+ HoleIdent goto state 27
+ ParamDecl goto state 28
+ Term7 goto state 29
+ Term5 goto state 30
+ Term4 goto state 31
+ Term3 goto state 32
+ Term2 goto state 33
+ Term1 goto state 34
+ Term6 goto state 35
+ Term goto state 317
+
+State 317
+
+ Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term ',' Term . ')' (rule 91)
+
+ ')' shift, and enter state 318
+
+
+State 318
+
+ Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term ',' Term ')' . (rule 91)
+
+ '(' reduce using rule 91
+ ')' reduce using rule 91
+ '*' reduce using rule 91
+ '*_1' reduce using rule 91
+ ',' reduce using rule 91
+ '->' reduce using rule 91
+ '/\\' reduce using rule 91
+ '0_2' reduce using rule 91
+ '1' reduce using rule 91
+ '1_2' reduce using rule 91
+ '2' reduce using rule 91
+ ':' reduce using rule 91
+ ':=' reduce using rule 91
+ ';' reduce using rule 91
+ '<' reduce using rule 91
+ '<=' reduce using rule 91
+ '=' reduce using rule 91
+ '===' reduce using rule 91
+ '=_{' reduce using rule 91
+ '>' reduce using rule 91
+ 'BOT' reduce using rule 91
+ 'CUBE' reduce using rule 91
+ 'TOP' reduce using rule 91
+ 'TOPE' reduce using rule 91
+ 'U' reduce using rule 91
+ '[' reduce using rule 91
+ '\\/' reduce using rule 91
+ ']' reduce using rule 91
+ 'as' reduce using rule 91
+ 'idJ' reduce using rule 91
+ 'recBOT' reduce using rule 91
+ 'recOR' reduce using rule 91
+ 'refl' reduce using rule 91
+ 'refl_{' reduce using rule 91
+ '|' reduce using rule 91
+ '|->' reduce using rule 91
+ '}' reduce using rule 91
+ '→' reduce using rule 91
+ L_VarIdent reduce using rule 91
+ L_HoleIdent reduce using rule 91
+ %eof reduce using rule 91
-----------------------------------------------------------------------------
Grammar Totals
-----------------------------------------------------------------------------
-Number of rules: 109
-Number of terminals: 60
-Number of non-terminals: 45
-Number of states: 296
+Number of rules: 122
+Number of terminals: 66
+Number of non-terminals: 51
+Number of states: 319
diff --git a/rzk/src/Language/Rzk/Syntax/Par.y b/rzk/src/Language/Rzk/Syntax/Par.y
index f8b57bbec..fa0c4ad27 100644
--- a/rzk/src/Language/Rzk/Syntax/Par.y
+++ b/rzk/src/Language/Rzk/Syntax/Par.y
@@ -9,10 +9,13 @@ module Language.Rzk.Syntax.Par
( happyError
, myLexer
, pModule
+ , pListVarIdent
, pLanguageDecl
, pLanguage
, pCommand
, pListCommand
+ , pDeclUsedVars
+ , pSectionName
, pPattern
, pListPattern
, pParam
@@ -39,10 +42,13 @@ import Language.Rzk.Syntax.Lex
}
%name pModule_internal Module
+%name pListVarIdent_internal ListVarIdent
%name pLanguageDecl_internal LanguageDecl
%name pLanguage_internal Language
%name pCommand_internal Command
%name pListCommand_internal ListCommand
+%name pDeclUsedVars_internal DeclUsedVars
+%name pSectionName_internal SectionName
%name pPattern_internal Pattern
%name pListPattern_internal ListPattern
%name pParam_internal Param
@@ -63,63 +69,69 @@ import Language.Rzk.Syntax.Lex
%monad { Err } { (>>=) } { return }
%tokentype {Token}
%token
- '#check' { PT _ (TS _ 1) }
- '#compute' { PT _ (TS _ 2) }
- '#compute-nf' { PT _ (TS _ 3) }
- '#compute-whnf' { PT _ (TS _ 4) }
- '#def' { PT _ (TS _ 5) }
- '#define' { PT _ (TS _ 6) }
- '#lang' { PT _ (TS _ 7) }
- '#postulate' { PT _ (TS _ 8) }
- '#set-option' { PT _ (TS _ 9) }
- '#unset-option' { PT _ (TS _ 10) }
- '(' { PT _ (TS _ 11) }
- ')' { PT _ (TS _ 12) }
- '*' { PT _ (TS _ 13) }
- '*_1' { PT _ (TS _ 14) }
- ',' { PT _ (TS _ 15) }
- '->' { PT _ (TS _ 16) }
- '/\\' { PT _ (TS _ 17) }
- '0_2' { PT _ (TS _ 18) }
- '1' { PT _ (TS _ 19) }
- '1_2' { PT _ (TS _ 20) }
- '2' { PT _ (TS _ 21) }
- ':' { PT _ (TS _ 22) }
- ':=' { PT _ (TS _ 23) }
- ';' { PT _ (TS _ 24) }
- '<' { PT _ (TS _ 25) }
- '<=' { PT _ (TS _ 26) }
- '=' { PT _ (TS _ 27) }
- '===' { PT _ (TS _ 28) }
- '=_{' { PT _ (TS _ 29) }
- '>' { PT _ (TS _ 30) }
- 'BOT' { PT _ (TS _ 31) }
- 'CUBE' { PT _ (TS _ 32) }
- 'Sigma' { PT _ (TS _ 33) }
- 'TOP' { PT _ (TS _ 34) }
- 'TOPE' { PT _ (TS _ 35) }
- 'U' { PT _ (TS _ 36) }
- '[' { PT _ (TS _ 37) }
- '\\' { PT _ (TS _ 38) }
- '\\/' { PT _ (TS _ 39) }
- ']' { PT _ (TS _ 40) }
- '_' { PT _ (TS _ 41) }
- 'as' { PT _ (TS _ 42) }
- 'first' { PT _ (TS _ 43) }
- 'idJ' { PT _ (TS _ 44) }
- 'recBOT' { PT _ (TS _ 45) }
- 'recOR' { PT _ (TS _ 46) }
- 'refl' { PT _ (TS _ 47) }
- 'refl_{' { PT _ (TS _ 48) }
- 'rzk-1' { PT _ (TS _ 49) }
- 'second' { PT _ (TS _ 50) }
- '{' { PT _ (TS _ 51) }
- '|' { PT _ (TS _ 52) }
- '|->' { PT _ (TS _ 53) }
- '}' { PT _ (TS _ 54) }
- 'Σ' { PT _ (TS _ 55) }
- '→' { PT _ (TS _ 56) }
- '∑' { PT _ (TS _ 57) }
+ '#assume' { PT _ (TS _ 1) }
+ '#check' { PT _ (TS _ 2) }
+ '#compute' { PT _ (TS _ 3) }
+ '#compute-nf' { PT _ (TS _ 4) }
+ '#compute-whnf' { PT _ (TS _ 5) }
+ '#def' { PT _ (TS _ 6) }
+ '#define' { PT _ (TS _ 7) }
+ '#end' { PT _ (TS _ 8) }
+ '#lang' { PT _ (TS _ 9) }
+ '#postulate' { PT _ (TS _ 10) }
+ '#section' { PT _ (TS _ 11) }
+ '#set-option' { PT _ (TS _ 12) }
+ '#unset-option' { PT _ (TS _ 13) }
+ '#variable' { PT _ (TS _ 14) }
+ '#variables' { PT _ (TS _ 15) }
+ '(' { PT _ (TS _ 16) }
+ ')' { PT _ (TS _ 17) }
+ '*' { PT _ (TS _ 18) }
+ '*_1' { PT _ (TS _ 19) }
+ ',' { PT _ (TS _ 20) }
+ '->' { PT _ (TS _ 21) }
+ '/\\' { PT _ (TS _ 22) }
+ '0_2' { PT _ (TS _ 23) }
+ '1' { PT _ (TS _ 24) }
+ '1_2' { PT _ (TS _ 25) }
+ '2' { PT _ (TS _ 26) }
+ ':' { PT _ (TS _ 27) }
+ ':=' { PT _ (TS _ 28) }
+ ';' { PT _ (TS _ 29) }
+ '<' { PT _ (TS _ 30) }
+ '<=' { PT _ (TS _ 31) }
+ '=' { PT _ (TS _ 32) }
+ '===' { PT _ (TS _ 33) }
+ '=_{' { PT _ (TS _ 34) }
+ '>' { PT _ (TS _ 35) }
+ 'BOT' { PT _ (TS _ 36) }
+ 'CUBE' { PT _ (TS _ 37) }
+ 'Sigma' { PT _ (TS _ 38) }
+ 'TOP' { PT _ (TS _ 39) }
+ 'TOPE' { PT _ (TS _ 40) }
+ 'U' { PT _ (TS _ 41) }
+ '[' { PT _ (TS _ 42) }
+ '\\' { PT _ (TS _ 43) }
+ '\\/' { PT _ (TS _ 44) }
+ ']' { PT _ (TS _ 45) }
+ '_' { PT _ (TS _ 46) }
+ 'as' { PT _ (TS _ 47) }
+ 'first' { PT _ (TS _ 48) }
+ 'idJ' { PT _ (TS _ 49) }
+ 'recBOT' { PT _ (TS _ 50) }
+ 'recOR' { PT _ (TS _ 51) }
+ 'refl' { PT _ (TS _ 52) }
+ 'refl_{' { PT _ (TS _ 53) }
+ 'rzk-1' { PT _ (TS _ 54) }
+ 'second' { PT _ (TS _ 55) }
+ 'uses' { PT _ (TS _ 56) }
+ '{' { PT _ (TS _ 57) }
+ '|' { PT _ (TS _ 58) }
+ '|->' { PT _ (TS _ 59) }
+ '}' { PT _ (TS _ 60) }
+ 'Σ' { PT _ (TS _ 61) }
+ '→' { PT _ (TS _ 62) }
+ '∑' { PT _ (TS _ 63) }
L_quoted { PT _ (TL _) }
L_VarIdent { PT _ (T_VarIdent _) }
L_HoleIdent { PT _ (T_HoleIdent _) }
@@ -139,6 +151,11 @@ Module :: { (Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Modu
Module
: LanguageDecl ListCommand { (fst $1, Language.Rzk.Syntax.Abs.Module (fst $1) (snd $1) (snd $2)) }
+ListVarIdent :: { (Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.VarIdent]) }
+ListVarIdent
+ : VarIdent { (fst $1, (:[]) (snd $1)) }
+ | VarIdent ListVarIdent { (fst $1, (:) (snd $1) (snd $2)) }
+
LanguageDecl :: { (Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.LanguageDecl) }
LanguageDecl
: '#lang' Language ';' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.LanguageDecl (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2)) }
@@ -149,23 +166,37 @@ Language
Command :: { (Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Command) }
Command
- : '#set-option' String '=' String ';' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.CommandSetOption (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $4)) }
- | '#unset-option' String ';' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.CommandUnsetOption (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2)) }
- | '#check' Term ':' Term ';' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.CommandCheck (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $4)) }
- | '#compute' Term ';' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.CommandCompute (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2)) }
- | '#compute-whnf' Term ';' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.CommandComputeWHNF (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2)) }
- | '#compute-nf' Term ';' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.CommandComputeNF (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2)) }
- | '#postulate' VarIdent ListParam ':' Term ';' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.CommandPostulate (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $3) (snd $5)) }
- | '#postulate' VarIdent ':' Term ';' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.commandPostulateNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $4)) }
- | '#define' VarIdent ListParam ':' Term ':=' Term ';' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.CommandDefine (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $3) (snd $5) (snd $7)) }
- | '#define' VarIdent ':' Term ':=' Term ';' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.commandDefineNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $4) (snd $6)) }
- | '#def' VarIdent ListParam ':' Term ':=' Term ';' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.commandDef (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $3) (snd $5) (snd $7)) }
- | '#def' VarIdent ':' Term ':=' Term ';' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.commandDefNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $4) (snd $6)) }
+ : '#set-option' String '=' String { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.CommandSetOption (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $4)) }
+ | '#unset-option' String { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.CommandUnsetOption (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2)) }
+ | '#check' Term ':' Term { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.CommandCheck (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $4)) }
+ | '#compute' Term { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.CommandCompute (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2)) }
+ | '#compute-whnf' Term { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.CommandComputeWHNF (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2)) }
+ | '#compute-nf' Term { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.CommandComputeNF (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2)) }
+ | '#postulate' VarIdent DeclUsedVars ListParam ':' Term { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.CommandPostulate (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $3) (snd $4) (snd $6)) }
+ | '#postulate' VarIdent DeclUsedVars ':' Term { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.commandPostulateNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $3) (snd $5)) }
+ | '#assume' ListVarIdent ':' Term { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.CommandAssume (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $4)) }
+ | '#variable' VarIdent ':' Term { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.commandVariable (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $4)) }
+ | '#variables' ListVarIdent ':' Term { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.commandVariables (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $4)) }
+ | '#section' SectionName ';' ListCommand '#end' SectionName { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.CommandSection (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $4) (snd $6)) }
+ | '#define' VarIdent DeclUsedVars ListParam ':' Term ':=' Term { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.CommandDefine (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $3) (snd $4) (snd $6) (snd $8)) }
+ | '#define' VarIdent DeclUsedVars ':' Term ':=' Term { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.commandDefineNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $3) (snd $5) (snd $7)) }
+ | '#def' VarIdent DeclUsedVars ListParam ':' Term ':=' Term { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.commandDef (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $3) (snd $4) (snd $6) (snd $8)) }
+ | '#def' VarIdent DeclUsedVars ':' Term ':=' Term { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.commandDefNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $3) (snd $5) (snd $7)) }
ListCommand :: { (Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Command]) }
ListCommand
: {- empty -} { (Language.Rzk.Syntax.Abs.BNFC'NoPosition, []) }
- | Command ListCommand { (fst $1, (:) (snd $1) (snd $2)) }
+ | Command ';' ListCommand { (fst $1, (:) (snd $1) (snd $3)) }
+
+DeclUsedVars :: { (Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.DeclUsedVars) }
+DeclUsedVars
+ : 'uses' '(' ListVarIdent ')' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.DeclUsedVars (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $3)) }
+ | {- empty -} { (Language.Rzk.Syntax.Abs.BNFC'NoPosition, Language.Rzk.Syntax.Abs.noDeclUsedVars Language.Rzk.Syntax.Abs.BNFC'NoPosition) }
+
+SectionName :: { (Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.SectionName) }
+SectionName
+ : {- empty -} { (Language.Rzk.Syntax.Abs.BNFC'NoPosition, Language.Rzk.Syntax.Abs.NoSectionName Language.Rzk.Syntax.Abs.BNFC'NoPosition) }
+ | VarIdent { (fst $1, Language.Rzk.Syntax.Abs.SomeSectionName (fst $1) (snd $1)) }
Pattern :: { (Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Pattern) }
Pattern
@@ -303,6 +334,9 @@ myLexer = tokens
pModule :: [Token] -> Err Language.Rzk.Syntax.Abs.Module
pModule = fmap snd . pModule_internal
+pListVarIdent :: [Token] -> Err [Language.Rzk.Syntax.Abs.VarIdent]
+pListVarIdent = fmap snd . pListVarIdent_internal
+
pLanguageDecl :: [Token] -> Err Language.Rzk.Syntax.Abs.LanguageDecl
pLanguageDecl = fmap snd . pLanguageDecl_internal
@@ -315,6 +349,12 @@ pCommand = fmap snd . pCommand_internal
pListCommand :: [Token] -> Err [Language.Rzk.Syntax.Abs.Command]
pListCommand = fmap snd . pListCommand_internal
+pDeclUsedVars :: [Token] -> Err Language.Rzk.Syntax.Abs.DeclUsedVars
+pDeclUsedVars = fmap snd . pDeclUsedVars_internal
+
+pSectionName :: [Token] -> Err Language.Rzk.Syntax.Abs.SectionName
+pSectionName = fmap snd . pSectionName_internal
+
pPattern :: [Token] -> Err Language.Rzk.Syntax.Abs.Pattern
pPattern = fmap snd . pPattern_internal
diff --git a/rzk/src/Language/Rzk/Syntax/Print.hs b/rzk/src/Language/Rzk/Syntax/Print.hs
index a25137e22..e432e56d3 100644
--- a/rzk/src/Language/Rzk/Syntax/Print.hs
+++ b/rzk/src/Language/Rzk/Syntax/Print.hs
@@ -1,8 +1,8 @@
-- File generated by the BNF Converter (bnfc 2.9.4.1).
-{-# LANGUAGE CPP #-}
-{-# LANGUAGE FlexibleInstances #-}
-{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE CPP #-}
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE LambdaCase #-}
#if __GLASGOW_HASKELL__ <= 708
{-# LANGUAGE OverlappingInstances #-}
#endif
@@ -11,16 +11,13 @@
module Language.Rzk.Syntax.Print where
-import Prelude
- ( ($), (.)
- , Bool(..), (==), (<)
- , Int, Integer, Double, (+), (-), (*)
- , String, (++)
- , ShowS, showChar, showString
- , all, elem, foldr, id, map, null, replicate, shows, span
- )
-import Data.Char ( Char, isSpace )
+import Data.Char (Char, isSpace)
import qualified Language.Rzk.Syntax.Abs
+import Prelude (Bool (..), Double, Int, Integer,
+ ShowS, String, all, elem, foldr, id,
+ map, null, replicate, showChar,
+ showString, shows, span, ($), (*),
+ (+), (++), (-), (.), (<), (==))
-- | The top-level printing method.
@@ -124,10 +121,10 @@ printString s = doc (showChar '"' . concatS (map (mkEsc '"') s) . showChar '"')
mkEsc :: Char -> Char -> ShowS
mkEsc q = \case
s | s == q -> showChar '\\' . showChar s
- '\\' -> showString "\\\\"
- '\n' -> showString "\\n"
- '\t' -> showString "\\t"
- s -> showChar s
+ '\\' -> showString "\\\\"
+ '\n' -> showString "\\n"
+ '\t' -> showString "\\t"
+ s -> showChar s
prPrec :: Int -> Int -> Doc -> Doc
prPrec i j = if j < i then parenth else id
@@ -146,6 +143,11 @@ instance Print (Language.Rzk.Syntax.Abs.Module' a) where
prt i = \case
Language.Rzk.Syntax.Abs.Module _ languagedecl commands -> prPrec i 0 (concatD [prt 0 languagedecl, prt 0 commands])
+instance Print [Language.Rzk.Syntax.Abs.VarIdent] where
+ prt _ [] = concatD []
+ prt _ [x] = concatD [prt 0 x]
+ prt _ (x:xs) = concatD [prt 0 x, prt 0 xs]
+
instance Print (Language.Rzk.Syntax.Abs.LanguageDecl' a) where
prt i = \case
Language.Rzk.Syntax.Abs.LanguageDecl _ language -> prPrec i 0 (concatD [doc (showString "#lang"), prt 0 language, doc (showString ";")])
@@ -156,18 +158,29 @@ instance Print (Language.Rzk.Syntax.Abs.Language' a) where
instance Print (Language.Rzk.Syntax.Abs.Command' a) where
prt i = \case
- Language.Rzk.Syntax.Abs.CommandSetOption _ str1 str2 -> prPrec i 0 (concatD [doc (showString "#set-option"), printString str1, doc (showString "="), printString str2, doc (showString ";")])
- Language.Rzk.Syntax.Abs.CommandUnsetOption _ str -> prPrec i 0 (concatD [doc (showString "#unset-option"), printString str, doc (showString ";")])
- Language.Rzk.Syntax.Abs.CommandCheck _ term1 term2 -> prPrec i 0 (concatD [doc (showString "#check"), prt 0 term1, doc (showString ":"), prt 0 term2, doc (showString ";")])
- Language.Rzk.Syntax.Abs.CommandCompute _ term -> prPrec i 0 (concatD [doc (showString "#compute"), prt 0 term, doc (showString ";")])
- Language.Rzk.Syntax.Abs.CommandComputeWHNF _ term -> prPrec i 0 (concatD [doc (showString "#compute-whnf"), prt 0 term, doc (showString ";")])
- Language.Rzk.Syntax.Abs.CommandComputeNF _ term -> prPrec i 0 (concatD [doc (showString "#compute-nf"), prt 0 term, doc (showString ";")])
- Language.Rzk.Syntax.Abs.CommandPostulate _ varident params term -> prPrec i 0 (concatD [doc (showString "#postulate"), prt 0 varident, prt 0 params, doc (showString ":"), prt 0 term, doc (showString ";")])
- Language.Rzk.Syntax.Abs.CommandDefine _ varident params term1 term2 -> prPrec i 0 (concatD [doc (showString "#define"), prt 0 varident, prt 0 params, doc (showString ":"), prt 0 term1, doc (showString ":="), prt 0 term2, doc (showString ";")])
+ Language.Rzk.Syntax.Abs.CommandSetOption _ str1 str2 -> prPrec i 0 (concatD [doc (showString "#set-option"), printString str1, doc (showString "="), printString str2])
+ Language.Rzk.Syntax.Abs.CommandUnsetOption _ str -> prPrec i 0 (concatD [doc (showString "#unset-option"), printString str])
+ Language.Rzk.Syntax.Abs.CommandCheck _ term1 term2 -> prPrec i 0 (concatD [doc (showString "#check"), prt 0 term1, doc (showString ":"), prt 0 term2])
+ Language.Rzk.Syntax.Abs.CommandCompute _ term -> prPrec i 0 (concatD [doc (showString "#compute"), prt 0 term])
+ Language.Rzk.Syntax.Abs.CommandComputeWHNF _ term -> prPrec i 0 (concatD [doc (showString "#compute-whnf"), prt 0 term])
+ Language.Rzk.Syntax.Abs.CommandComputeNF _ term -> prPrec i 0 (concatD [doc (showString "#compute-nf"), prt 0 term])
+ Language.Rzk.Syntax.Abs.CommandPostulate _ varident declusedvars params term -> prPrec i 0 (concatD [doc (showString "#postulate"), prt 0 varident, prt 0 declusedvars, prt 0 params, doc (showString ":"), prt 0 term])
+ Language.Rzk.Syntax.Abs.CommandAssume _ varidents term -> prPrec i 0 (concatD [doc (showString "#assume"), prt 0 varidents, doc (showString ":"), prt 0 term])
+ Language.Rzk.Syntax.Abs.CommandSection _ sectionname1 commands sectionname2 -> prPrec i 0 (concatD [doc (showString "#section"), prt 0 sectionname1, doc (showString ";"), prt 0 commands, doc (showString "#end"), prt 0 sectionname2])
+ Language.Rzk.Syntax.Abs.CommandDefine _ varident declusedvars params term1 term2 -> prPrec i 0 (concatD [doc (showString "#define"), prt 0 varident, prt 0 declusedvars, prt 0 params, doc (showString ":"), prt 0 term1, doc (showString ":="), prt 0 term2])
instance Print [Language.Rzk.Syntax.Abs.Command' a] where
- prt _ [] = concatD []
- prt _ (x:xs) = concatD [prt 0 x, prt 0 xs]
+ prt _ [] = concatD []
+ prt _ (x:xs) = concatD [prt 0 x, doc (showString ";"), prt 0 xs]
+
+instance Print (Language.Rzk.Syntax.Abs.DeclUsedVars' a) where
+ prt i = \case
+ Language.Rzk.Syntax.Abs.DeclUsedVars _ varidents -> prPrec i 0 (concatD [doc (showString "uses"), doc (showString "("), prt 0 varidents, doc (showString ")")])
+
+instance Print (Language.Rzk.Syntax.Abs.SectionName' a) where
+ prt i = \case
+ Language.Rzk.Syntax.Abs.NoSectionName _ -> prPrec i 0 (concatD [])
+ Language.Rzk.Syntax.Abs.SomeSectionName _ varident -> prPrec i 0 (concatD [prt 0 varident])
instance Print (Language.Rzk.Syntax.Abs.Pattern' a) where
prt i = \case
@@ -176,8 +189,8 @@ instance Print (Language.Rzk.Syntax.Abs.Pattern' a) where
Language.Rzk.Syntax.Abs.PatternPair _ pattern_1 pattern_2 -> prPrec i 0 (concatD [doc (showString "("), prt 0 pattern_1, doc (showString ","), prt 0 pattern_2, doc (showString ")")])
instance Print [Language.Rzk.Syntax.Abs.Pattern' a] where
- prt _ [] = concatD []
- prt _ [x] = concatD [prt 0 x]
+ prt _ [] = concatD []
+ prt _ [x] = concatD [prt 0 x]
prt _ (x:xs) = concatD [prt 0 x, prt 0 xs]
instance Print (Language.Rzk.Syntax.Abs.Param' a) where
@@ -187,8 +200,8 @@ instance Print (Language.Rzk.Syntax.Abs.Param' a) where
Language.Rzk.Syntax.Abs.ParamPatternShape _ pattern_ term1 term2 -> prPrec i 0 (concatD [doc (showString "{"), prt 0 pattern_, doc (showString ":"), prt 0 term1, doc (showString "|"), prt 0 term2, doc (showString "}")])
instance Print [Language.Rzk.Syntax.Abs.Param' a] where
- prt _ [] = concatD []
- prt _ [x] = concatD [prt 0 x]
+ prt _ [] = concatD []
+ prt _ [x] = concatD [prt 0 x]
prt _ (x:xs) = concatD [prt 0 x, prt 0 xs]
instance Print (Language.Rzk.Syntax.Abs.ParamDecl' a) where
@@ -203,8 +216,8 @@ instance Print (Language.Rzk.Syntax.Abs.Restriction' a) where
Language.Rzk.Syntax.Abs.Restriction _ term1 term2 -> prPrec i 0 (concatD [prt 0 term1, doc (showString "|->"), prt 0 term2])
instance Print [Language.Rzk.Syntax.Abs.Restriction' a] where
- prt _ [] = concatD []
- prt _ [x] = concatD [prt 0 x]
+ prt _ [] = concatD []
+ prt _ [x] = concatD [prt 0 x]
prt _ (x:xs) = concatD [prt 0 x, doc (showString ","), prt 0 xs]
instance Print (Language.Rzk.Syntax.Abs.Term' a) where
@@ -245,6 +258,6 @@ instance Print (Language.Rzk.Syntax.Abs.Term' a) where
Language.Rzk.Syntax.Abs.TypeAsc _ term1 term2 -> prPrec i 0 (concatD [prt 2 term1, doc (showString "as"), prt 1 term2])
instance Print [Language.Rzk.Syntax.Abs.Term' a] where
- prt _ [] = concatD []
- prt _ [x] = concatD [prt 0 x]
+ prt _ [] = concatD []
+ prt _ [x] = concatD [prt 0 x]
prt _ (x:xs) = concatD [prt 0 x, doc (showString ","), prt 0 xs]
diff --git a/rzk/src/Language/Rzk/Syntax/Skel.hs b/rzk/src/Language/Rzk/Syntax/Skel.hs
index 0c493e406..ab979d928 100644
--- a/rzk/src/Language/Rzk/Syntax/Skel.hs
+++ b/rzk/src/Language/Rzk/Syntax/Skel.hs
@@ -43,8 +43,19 @@ transCommand x = case x of
Language.Rzk.Syntax.Abs.CommandCompute _ term -> failure x
Language.Rzk.Syntax.Abs.CommandComputeWHNF _ term -> failure x
Language.Rzk.Syntax.Abs.CommandComputeNF _ term -> failure x
- Language.Rzk.Syntax.Abs.CommandPostulate _ varident params term -> failure x
- Language.Rzk.Syntax.Abs.CommandDefine _ varident params term1 term2 -> failure x
+ Language.Rzk.Syntax.Abs.CommandPostulate _ varident declusedvars params term -> failure x
+ Language.Rzk.Syntax.Abs.CommandAssume _ varidents term -> failure x
+ Language.Rzk.Syntax.Abs.CommandSection _ sectionname1 commands sectionname2 -> failure x
+ Language.Rzk.Syntax.Abs.CommandDefine _ varident declusedvars params term1 term2 -> failure x
+
+transDeclUsedVars :: Show a => Language.Rzk.Syntax.Abs.DeclUsedVars' a -> Result
+transDeclUsedVars x = case x of
+ Language.Rzk.Syntax.Abs.DeclUsedVars _ varidents -> failure x
+
+transSectionName :: Show a => Language.Rzk.Syntax.Abs.SectionName' a -> Result
+transSectionName x = case x of
+ Language.Rzk.Syntax.Abs.NoSectionName _ -> failure x
+ Language.Rzk.Syntax.Abs.SomeSectionName _ varident -> failure x
transPattern :: Show a => Language.Rzk.Syntax.Abs.Pattern' a -> Result
transPattern x = case x of
diff --git a/rzk/src/Rzk/Main.hs b/rzk/src/Rzk/Main.hs
index 58ec566d5..84a11ff3d 100644
--- a/rzk/src/Rzk/Main.hs
+++ b/rzk/src/Rzk/Main.hs
@@ -1,11 +1,11 @@
module Rzk.Main where
-import System.Exit (exitFailure)
-import System.Environment (getArgs)
-import Control.Monad (forM)
+import Control.Monad (forM)
+import System.Environment (getArgs)
+import System.Exit (exitFailure)
import qualified Language.Rzk.Syntax as Rzk
-import Rzk.TypeCheck
+import Rzk.TypeCheck
main :: IO ()
main = do
diff --git a/rzk/src/Rzk/TypeCheck.hs b/rzk/src/Rzk/TypeCheck.hs
index 485c45787..e3e9919f1 100644
--- a/rzk/src/Rzk/TypeCheck.hs
+++ b/rzk/src/Rzk/TypeCheck.hs
@@ -1,35 +1,40 @@
{-# OPTIONS_GHC -fno-warn-type-defaults #-}
-{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE DeriveFoldable #-}
+{-# LANGUAGE DeriveFunctor #-}
+{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE TupleSections #-}
-{-# LANGUAGE DeriveFoldable #-}
-{-# LANGUAGE DeriveFunctor #-}
-{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
module Rzk.TypeCheck where
-import Control.Applicative ((<|>))
-import Control.Monad.Reader
-import Control.Monad.Except
-import Data.List (tails, (\\), intercalate, nub)
-import Data.Maybe (fromMaybe, isNothing, catMaybes, mapMaybe)
-import Data.Tuple (swap)
+import Control.Applicative ((<|>))
+import Control.Monad.Except
+import Control.Monad.Reader
+import Data.List (intercalate, intersect, nub, tails,
+ (\\))
+import Data.Maybe (catMaybes, fromMaybe, isNothing,
+ mapMaybe)
+import Data.Tuple (swap)
-import Free.Scoped
-import Language.Rzk.Free.Syntax
-import qualified Language.Rzk.Syntax as Rzk
+import Free.Scoped
+import Language.Rzk.Free.Syntax
+import qualified Language.Rzk.Syntax as Rzk
-import Debug.Trace
-import Unsafe.Coerce
+import Debug.Trace
+import Unsafe.Coerce
defaultTypeCheck
:: TypeCheck Rzk.VarIdent a
-> Either (TypeErrorInScopedContext Rzk.VarIdent) a
defaultTypeCheck tc = runExcept (runReaderT tc emptyContext)
+-- FIXME: merge with VarInfo
data Decl var = Decl
- { declName :: var
- , declType :: TermT var
- , declValue :: Maybe (TermT var)
+ { declName :: var
+ , declType :: TermT var
+ , declValue :: Maybe (TermT var)
+ , declIsAssumption :: Bool
+ , declUsedVars :: [var]
}
type Decl' = Decl Rzk.VarIdent
@@ -56,10 +61,18 @@ typecheckModuleWithLocation (path, module_) = do
withLocation (LocationInfo { locationFilePath = Just path, locationLine = Nothing }) $
typecheckModule module_
+countCommands :: Integral a => [Rzk.Command] -> a
+countCommands [] = 0
+countCommands (Rzk.CommandSection _loc _name sectionCommands _name2 : commands) =
+ countCommands sectionCommands + countCommands commands
+countCommands (_ : commands) = 1 + countCommands commands
+
typecheckModule :: Rzk.Module -> TypeCheck Rzk.VarIdent [Decl']
-typecheckModule (Rzk.Module _loc _lang commands) = go 1 commands
+typecheckModule (Rzk.Module _moduleLoc _lang commands) =
+ withSection Nothing (go 1 commands) $ -- FIXME: use module name? or anonymous section?
+ return []
where
- totalCommands = length commands
+ totalCommands = countCommands commands
go :: Integer -> [Rzk.Command] -> TypeCheck Rzk.VarIdent [Decl']
go _i [] = return []
@@ -78,14 +91,15 @@ typecheckModule (Rzk.Module _loc _lang commands) = go 1 commands
setOption optionName optionValue $
go (i + 1) moreCommands
- go i (command@(Rzk.CommandDefine _loc name params ty term) : moreCommands) =
+ go i (command@(Rzk.CommandDefine _loc name (Rzk.DeclUsedVars _ vars) params ty term) : moreCommands) =
traceTypeCheck Normal ("[ " <> show i <> " out of " <> show totalCommands <> " ]"
<> " Checking #define " <> show (Pure name :: Term') ) $ do
withCommand command $ do
+ mapM_ checkDefinedVar vars
paramDecls <- concat <$> mapM paramToParamDecl params
ty' <- typecheck (toTerm' (addParamDecls paramDecls ty)) universeT >>= whnfT -- >>= pure . termIsWHNF
term' <- typecheck (toTerm' (addParams params term)) ty' >>= whnfT >>= pure . termIsWHNF
- let decl = Decl name ty' (Just term')
+ let decl = Decl name ty' (Just term') False vars
fmap (decl :) $
localDeclPrepared decl $ do
Context{..} <- ask
@@ -97,13 +111,14 @@ typecheckModule (Rzk.Module _loc _lang commands) = go 1 commands
maybe id trace termSVG $ do
go (i + 1) moreCommands
- go i (command@(Rzk.CommandPostulate _loc name params ty) : moreCommands) =
+ go i (command@(Rzk.CommandPostulate _loc name (Rzk.DeclUsedVars _ vars) params ty) : moreCommands) =
traceTypeCheck Normal ("[ " <> show i <> " out of " <> show totalCommands <> " ]"
<> " Checking #postulate " <> show (Pure name :: Term') ) $ do
withCommand command $ do
+ mapM_ checkDefinedVar vars
paramDecls <- concat <$> mapM paramToParamDecl params
ty' <- typecheck (toTerm' (addParamDecls paramDecls ty)) universeT >>= whnfT -- >>= pure . termIsWHNF
- let decl = Decl name ty' Nothing
+ let decl = Decl name ty' Nothing False vars
fmap (decl :) $
localDeclPrepared decl $
go (i + 1) moreCommands
@@ -135,6 +150,24 @@ typecheckModule (Rzk.Module _loc _lang commands) = go 1 commands
traceTypeCheck Normal (" " <> show (untyped term')) $ do
go (i + 1) moreCommands
+ go i (command@(Rzk.CommandAssume _loc names ty) : moreCommands) =
+ traceTypeCheck Normal ("[ " <> show i <> " out of " <> show totalCommands <> " ]"
+ <> " Checking #assume " <> intercalate " " [ show (Pure name :: Term') | name <- names ] ) $ do
+ withCommand command $ do
+ ty' <- typecheck (toTerm' ty) universeT
+ let decls = [ Decl name ty' Nothing True [] | name <- names ]
+ fmap (decls <>) $
+ localDeclsPrepared decls $
+ go (i + 1) moreCommands
+
+ go i (command@(Rzk.CommandSection _loc name sectionCommands endName) : moreCommands) = do
+ withCommand command $ do
+ when (Rzk.printTree name /= Rzk.printTree endName) $
+ issueTypeError $ TypeErrorOther $
+ "unexpected #end " <> Rzk.printTree endName <> ", expecting #end " <> Rzk.printTree name
+ withSection (Just name) (go i sectionCommands) $ do
+ go (i + countCommands sectionCommands) moreCommands
+
setOption :: String -> String -> TypeCheck var a -> TypeCheck var a
setOption "verbosity" = \case
"debug" -> localVerbosity Debug
@@ -168,7 +201,7 @@ addParamDecls (paramDecl : paramDecls)
= Rzk.TypeFun Nothing paramDecl . addParamDecls paramDecls
addParams :: [Rzk.Param] -> Rzk.Term -> Rzk.Term
-addParams [] = id
+addParams [] = id
addParams params = Rzk.Lambda Nothing params
data TypeError var
@@ -187,6 +220,9 @@ data TypeError var
| TypeErrorTopesNotEquivalent (TermT var) (TermT var)
| TypeErrorInvalidArgumentType (Term var) (TermT var)
| TypeErrorDuplicateTopLevel Rzk.VarIdent
+ | TypeErrorUnusedVariable var (TermT var)
+ | TypeErrorUnusedUsedVariables [var] var
+ | TypeErrorImplicitAssumption (var, TermT var) var
deriving (Functor, Foldable)
data TypeErrorInContext var = TypeErrorInContext
@@ -224,7 +260,7 @@ ppTypeError' = \case
, " " <> show (untyped term)
, case ty of
TypeFunT{} -> "\nPerhaps the term is applied to too few arguments?"
- _ -> ""
+ _ -> ""
]
TypeErrorUnexpectedLambda term ty -> unlines
@@ -292,6 +328,25 @@ ppTypeError' = \case
, " " <> Rzk.printTree name
]
+ TypeErrorUnusedVariable name type_ -> unlines
+ [ "unused variable"
+ , " " <> Rzk.printTree name <> " : " <> show (untyped type_)
+ ]
+
+ TypeErrorUnusedUsedVariables vars name -> unlines
+ [ "unused variables"
+ , " " <> intercalate " " (map Rzk.printTree vars)
+ , "declared as used in definition of"
+ , " " <> Rzk.printTree name
+ ]
+
+ TypeErrorImplicitAssumption (a, aType) name -> unlines
+ [ "implicit assumption"
+ , " " <> Rzk.printTree a <> " : " <> show (untyped aType)
+ , "used in definition of"
+ , " " <> Rzk.printTree name
+ ]
+
ppTypeErrorInContext :: TypeErrorInContext Rzk.VarIdent -> String
ppTypeErrorInContext TypeErrorInContext{..} = intercalate "\n"
[ ppContext' typeErrorContext
@@ -308,13 +363,13 @@ ppTypeErrorInScopedContextWith' used vars = \case
ScopedTypeError orig err -> withFresh orig $ \(x, xs) ->
ppTypeErrorInScopedContextWith' (x:used) xs $ fmap (g x) err
where
- g x Z = x
+ g x Z = x
g _ (S y) = y
withFresh Nothing f =
case vars of
x:xs -> f (x, xs)
- _ -> panicImpossible "not enough fresh variables"
+ _ -> panicImpossible "not enough fresh variables"
withFresh (Just z) f = f (z', filter (/= z') vars) -- FIXME: very inefficient filter
where
z' = refreshVar used z -- FIXME: inefficient
@@ -324,6 +379,11 @@ ppTypeErrorInScopedContext' err = ppTypeErrorInScopedContextWith' vars (defaultV
where
vars = nub (foldMap pure err)
+issueWarning :: String -> TypeCheck var ()
+issueWarning message = do
+ trace ("Warning: " <> message) $
+ return ()
+
issueTypeError :: TypeError var -> TypeCheck var a
issueTypeError err = do
context <- ask
@@ -350,19 +410,19 @@ data Action var
| ActionWHNF (TermT var)
| ActionNF (TermT var)
| ActionCheckCoherence (TermT var, TermT var) (TermT var, TermT var)
+ | ActionCloseSection (Maybe Rzk.SectionName)
deriving (Functor, Foldable)
type Action' = Action Rzk.VarIdent
ppTermInContext :: Eq var => TermT var -> TypeCheck var String
ppTermInContext term = do
- Context{..} <- ask
- return (show (untyped (toRzkVarIdent varOrigs <$> term)))
- where
- vars = nub (foldMap pure term)
- mapping = zip vars defaultVarIdents
- toRzkVarIdent origs var = fromMaybe (Rzk.VarIdent "_") $
- join (lookup var origs) <|> lookup var mapping
+ vars <- freeVarsT_ term
+ let mapping = zip vars defaultVarIdents
+ toRzkVarIdent origs var = fromMaybe (Rzk.VarIdent "_") $
+ join (lookup var origs) <|> lookup var mapping
+ origs <- asks varOrigs
+ return (show (untyped (toRzkVarIdent origs <$> term)))
ppSomeAction :: Eq var => [(var, Maybe Rzk.VarIdent)] -> Int -> Action var -> String
ppSomeAction origs n action = ppAction n (toRzkVarIdent <$> action)
@@ -432,6 +492,13 @@ ppAction n = unlines . map (replicate (2 * n) ' ' <>) . \case
, " " <> show (untyped rtope)
, " |-> " <> show (untyped rterm) ]
+ ActionCloseSection Nothing ->
+ [ "closing the file"
+ , "and collecting assumptions (variables)" ]
+ ActionCloseSection (Just sectionName) ->
+ [ "closing #section " <> Rzk.printTree sectionName
+ , "and collecting assumptions (variables)"]
+
traceAction' :: Int -> Action' -> a -> a
traceAction' n action = trace ("[debug]\n" <> ppAction n action)
@@ -440,8 +507,8 @@ unsafeTraceAction' :: Int -> Action var -> a -> a
unsafeTraceAction' n = traceAction' n . unsafeCoerce
data LocationInfo = LocationInfo
- { locationFilePath :: Maybe FilePath
- , locationLine :: Maybe Int
+ { locationFilePath :: Maybe FilePath
+ , locationLine :: Maybe Int
}
data Verbosity
@@ -474,27 +541,48 @@ data RenderBackend
= RenderSVG
| RenderLaTeX
+data ScopeInfo var = ScopeInfo
+ { scopeName :: Maybe Rzk.SectionName
+ , scopeVars :: [(var, VarInfo var)]
+ } deriving (Functor, Foldable)
+
+addVarToScope :: var -> VarInfo var -> ScopeInfo var -> ScopeInfo var
+addVarToScope var info ScopeInfo{..} = ScopeInfo
+ { scopeVars = (var, info) : scopeVars, .. }
+
+data VarInfo var = VarInfo
+ { varType :: TermT var
+ , varValue :: Maybe (TermT var)
+ , varOrig :: Maybe Rzk.VarIdent
+ , varIsAssumption :: Bool -- FIXME: perhaps, introduce something like decl kind?
+ , varDeclaredAssumptions :: [var]
+ } deriving (Functor, Foldable)
+
data Context var = Context
- { varTypes :: [(var, TermT var)]
- , varValues :: [(var, Maybe (TermT var))]
- , varOrigs :: [(var, Maybe Rzk.VarIdent)]
- , localTopes :: [TermT var]
- , localTopesNF :: [TermT var]
- , localTopesNFUnion :: [[TermT var]]
- , localTopesEntailBottom :: Bool
- , actionStack :: [Action var]
- , currentCommand :: Maybe Rzk.Command
- , location :: Maybe LocationInfo
- , verbosity :: Verbosity
- , covariance :: Covariance
- , renderBackend :: Maybe RenderBackend
+ { localScopes :: [ScopeInfo var]
+ , localTopes :: [TermT var]
+ , localTopesNF :: [TermT var]
+ , localTopesNFUnion :: [[TermT var]]
+ , localTopesEntailBottom :: Bool
+ , actionStack :: [Action var]
+ , currentCommand :: Maybe Rzk.Command
+ , location :: Maybe LocationInfo
+ , verbosity :: Verbosity
+ , covariance :: Covariance
+ , renderBackend :: Maybe RenderBackend
} deriving (Functor, Foldable)
+addVarInCurrentScope :: var -> VarInfo var -> Context var -> Context var
+addVarInCurrentScope var info Context{..} = Context
+ { localScopes =
+ case localScopes of
+ [] -> [ScopeInfo Nothing [(var, info)]]
+ scope : scopes -> addVarToScope var info scope : scopes
+ , .. }
+
emptyContext :: Context var
emptyContext = Context
- { varTypes = []
- , varValues = []
- , varOrigs = []
+ { localScopes = [ScopeInfo Nothing []]
, localTopes = [topeTopT]
, localTopesNF = [topeTopT]
, localTopesNFUnion = [[topeTopT]]
@@ -507,12 +595,149 @@ emptyContext = Context
, renderBackend = Nothing
}
+askCurrentScope :: TypeCheck var (ScopeInfo var)
+askCurrentScope = asks localScopes >>= \case
+ [] -> panicImpossible "no current scope available"
+ scope : _scopes -> pure scope
+
+varInfos :: Context var -> [(var, VarInfo var)]
+varInfos Context{..} = concatMap scopeVars localScopes
+
+varTypes :: Context var -> [(var, TermT var)]
+varTypes = map (fmap varType) . varInfos
+
+varValues :: Context var -> [(var, Maybe (TermT var))]
+varValues = map (fmap varValue) . varInfos
+
+varOrigs :: Context var -> [(var, Maybe Rzk.VarIdent)]
+varOrigs = map (fmap varOrig) . varInfos
+
+withSection
+ :: Maybe Rzk.SectionName
+ -> TypeCheck Rzk.VarIdent [Decl Rzk.VarIdent]
+ -> TypeCheck Rzk.VarIdent [Decl Rzk.VarIdent]
+ -> TypeCheck Rzk.VarIdent [Decl Rzk.VarIdent]
+withSection name sectionBody next = do
+ sectionDecls <- startSection name $ do
+ decls <- sectionBody
+ localDeclsPrepared decls $
+ performing (ActionCloseSection name) $ do
+ endSection
+ fmap (sectionDecls <>) $
+ localDeclsPrepared sectionDecls $
+ next
+
+startSection :: Maybe Rzk.SectionName -> TypeCheck Rzk.VarIdent a -> TypeCheck Rzk.VarIdent a
+startSection name = local $ \Context{..} -> Context
+ { localScopes = ScopeInfo { scopeName = name, scopeVars = [] } : localScopes
+ , .. }
+
+endSection :: TypeCheck Rzk.VarIdent [Decl Rzk.VarIdent]
+endSection = askCurrentScope >>= scopeToDecls
+
+scopeToDecls :: Eq var => ScopeInfo var -> TypeCheck var [Decl var]
+scopeToDecls ScopeInfo{..} = do
+ decls <- collectScopeDecls [] scopeVars
+ forM_ decls $ \Decl{..} -> do
+ let unusedUsedVars = declUsedVars `intersect` map fst scopeVars
+ when (not (null unusedUsedVars)) $
+ issueTypeError $ TypeErrorUnusedUsedVariables unusedUsedVars declName
+ return decls
+
+insertExplicitAssumptionFor
+ :: Eq var => var -> (var, VarInfo var) -> TermT var -> TermT var
+insertExplicitAssumptionFor a (declName, VarInfo{..}) term =
+ term >>= \case
+ y | y == declName -> appT varType (Pure declName) (Pure a)
+ | otherwise -> Pure y
+
+insertExplicitAssumptionFor'
+ :: Eq var => var -> (var, VarInfo var) -> VarInfo var -> VarInfo var
+insertExplicitAssumptionFor' a decl VarInfo{..}
+ | varIsAssumption = VarInfo{..}
+ | otherwise = VarInfo
+ { varType = insertExplicitAssumptionFor a decl varType
+ , varValue = insertExplicitAssumptionFor a decl <$> varValue
+ , varIsAssumption = varIsAssumption
+ , varOrig = varOrig
+ , varDeclaredAssumptions = varDeclaredAssumptions
+ }
+
+makeAssumptionExplicit
+ :: Eq var
+ => (var, VarInfo var)
+ -> [(var, VarInfo var)]
+ -> TypeCheck var (Bool, [(var, VarInfo var)])
+makeAssumptionExplicit _ [] = pure (False {- UNUSED -}, [])
+makeAssumptionExplicit assumption@(a, aInfo) ((x, xInfo) : xs) = do
+ varsInType <- freeVarsT_ (varType xInfo)
+ varsInBody <- concat <$> traverse freeVarsT_ (varValue xInfo)
+ let xFreeVars = varsInBody <> varsInType
+ let hasAssumption = a `elem` xFreeVars
+ xType <- typeOfVar x
+ xValue <- valueOfVar x
+ let assumptionInType = a `elem` freeVars (untyped xType)
+ assumptionInBody = a `elem` foldMap (freeVars . untyped) xValue
+ implicitAssumption = and
+ [ hasAssumption
+ , not (assumptionInType || assumptionInBody)
+ , a `notElem` varDeclaredAssumptions xInfo ]
+ if hasAssumption
+ then do
+ when implicitAssumption $ do
+ issueTypeError $ TypeErrorImplicitAssumption (a, varType aInfo) x
+ (_used, xs'') <- makeAssumptionExplicit (a, aInfo) xs'
+ return (True {- USED -}, (x, xInfo') : xs'')
+ else do
+ (used, xs'') <- makeAssumptionExplicit assumption xs
+ return (used, (x, xInfo) : xs'')
+ where
+ xType' = typeFunT (varOrig aInfo) (varType aInfo) Nothing (abstract a (varType xInfo))
+ xInfo' = VarInfo
+ { varType = xType'
+ , varValue = fmap (lambdaT xType' (varOrig aInfo) Nothing . abstract a) (varValue xInfo)
+ , varIsAssumption = varIsAssumption xInfo
+ , varOrig = varOrig xInfo
+ , varDeclaredAssumptions = varDeclaredAssumptions xInfo \\ [a]
+ }
+ xs' = map (fmap (insertExplicitAssumptionFor' a (x, xInfo))) xs
+
+collectScopeDecls :: Eq var => [(var, VarInfo var)] -> [(var, VarInfo var)] -> TypeCheck var [Decl var]
+collectScopeDecls recentVars (decl@(var, VarInfo{..}) : vars)
+ | varIsAssumption = do
+ (used, recentVars') <- makeAssumptionExplicit decl recentVars
+ when (not used) $ do
+ issueTypeError $ TypeErrorUnusedVariable var varType
+ collectScopeDecls recentVars' vars
+ | otherwise = do
+ collectScopeDecls (decl : recentVars) vars
+collectScopeDecls recentVars [] = return (toDecl <$> recentVars)
+ where
+ toDecl (var, VarInfo{..}) = Decl
+ { declName = var
+ , declType = varType
+ , declValue = varValue
+ , declIsAssumption = varIsAssumption
+ , declUsedVars = varDeclaredAssumptions
+ }
+
+abstractAssumption :: Eq var => (var, VarInfo var) -> Decl var -> Decl var
+abstractAssumption (var, VarInfo{..}) Decl{..} = Decl
+ { declName = declName
+ , declType = typeFunT varOrig varType Nothing (abstract var declType)
+ , declValue = (\body -> lambdaT newDeclType varOrig Nothing (abstract var body)) <$> declValue
+ , declIsAssumption = declIsAssumption
+ , declUsedVars = declUsedVars
+ }
+ where
+ newDeclType = typeFunT varOrig varType Nothing (abstract var declType)
+
ppContext' :: Context Rzk.VarIdent -> String
-ppContext' Context{..} = unlines
+ppContext' ctx@Context{..} = unlines
[ "Definitions in context:"
, unlines
[ show (Pure x :: Term') <> " : " <> show (untyped ty)
- | (x, ty) <- reverse varTypes ]
+ | (x, ty) <- reverse (varTypes ctx) ]
-- , unlines
-- [ show (Pure x :: Term') <> " = " <> show (untyped term)
-- | (x, Just term) <- reverse varValues ]
@@ -521,11 +746,11 @@ ppContext' Context{..} = unlines
, intercalate "\n" (map ((" " <>) . show . untyped) localTopes)
, case location of
Just (LocationInfo (Just path) _) -> "\n" <> path <> ":"
- _ -> ""
+ _ -> ""
, case currentCommand of
- Just (Rzk.CommandDefine _loc name _params _ty _term) ->
+ Just (Rzk.CommandDefine _loc name _vars _params _ty _term) ->
" Error occurred when checking\n #define " <> show (Pure name :: Term')
- Just (Rzk.CommandPostulate _loc name _params _ty ) ->
+ Just (Rzk.CommandPostulate _loc name _vars _params _ty ) ->
" Error occurred when checking\n #postulate " <> show (Pure name :: Term')
Just (Rzk.CommandCheck _loc term ty) ->
" Error occurred when checking\n " <> Rzk.printTree term <> " : " <> Rzk.printTree ty
@@ -537,29 +762,32 @@ ppContext' Context{..} = unlines
" Error occurred when computing WHNF for\n " <> Rzk.printTree term
Just (Rzk.CommandSetOption _loc optionName _optionValue) ->
" Error occurred when trying to set option\n #set-option " <> show optionName
- Just (Rzk.CommandUnsetOption _loc optionName) ->
- " Error occurred when trying to unset option\n #unset-option " <> show optionName
- Nothing -> ""
+ Just command@Rzk.CommandUnsetOption{} ->
+ " Error occurred when trying to unset option\n " <> Rzk.printTree command
+ Just command@Rzk.CommandAssume{} ->
+ " Error occurred when checking assumption\n " <> Rzk.printTree command
+ Just (Rzk.CommandSection _loc name _commands _endName) ->
+ " Error occurred when checking\n #section " <> Rzk.printTree name
+ Nothing -> " Error occurred"
-- , "Local tope context (expanded):"
-- , intercalate "\n" (map ((" " <>) . show . untyped) (intercalate [TopeAndT topeT topeBottomT topeBottomT] (saturateTopes [] <$> simplifyLHS localTopes)))
]
doesShadowName :: Rzk.VarIdent -> TypeCheck var Bool
-doesShadowName name = asks $ \Context{..} ->
- name `elem` mapMaybe snd varOrigs
+doesShadowName name = asks $ \ctx ->
+ name `elem` mapMaybe snd (varOrigs ctx)
checkTopLevelDuplicate :: Rzk.VarIdent -> TypeCheck var ()
checkTopLevelDuplicate name = do
doesShadowName name >>= \case
- True -> issueTypeError (TypeErrorDuplicateTopLevel name)
+ True -> issueTypeError (TypeErrorDuplicateTopLevel name)
False -> return ()
checkNameShadowing :: Rzk.VarIdent -> TypeCheck var ()
checkNameShadowing name = do
doesShadowName name >>= \case
- True -> do
- trace ("Warning: " <> Rzk.printTree name <> " shadows an existing definition") $
- return ()
+ True -> issueWarning $
+ Rzk.printTree name <> " shadows an existing definition"
False -> return ()
withLocation :: LocationInfo -> TypeCheck var a -> TypeCheck var a
@@ -569,7 +797,7 @@ withCommand :: Rzk.Command -> TypeCheck var a -> TypeCheck var a
withCommand command = local $ \Context{..} -> Context { currentCommand = Just command, .. }
localDecls :: [Decl Rzk.VarIdent] -> TypeCheck Rzk.VarIdent a -> TypeCheck Rzk.VarIdent a
-localDecls [] = id
+localDecls [] = id
localDecls (decl : decls) = localDecl decl . localDecls decls
localDeclsPrepared :: [Decl Rzk.VarIdent] -> TypeCheck Rzk.VarIdent a -> TypeCheck Rzk.VarIdent a
@@ -577,30 +805,34 @@ localDeclsPrepared [] = id
localDeclsPrepared (decl : decls) = localDeclPrepared decl . localDeclsPrepared decls
localDecl :: Decl Rzk.VarIdent -> TypeCheck Rzk.VarIdent a -> TypeCheck Rzk.VarIdent a
-localDecl (Decl x ty term) tc = do
+localDecl (Decl x ty term isAssumption vars) tc = do
ty' <- whnfT ty
term' <- traverse whnfT term
- localDeclPrepared (Decl x ty' term') tc
+ localDeclPrepared (Decl x ty' term' isAssumption vars) tc
localDeclPrepared :: Decl Rzk.VarIdent -> TypeCheck Rzk.VarIdent a -> TypeCheck Rzk.VarIdent a
-localDeclPrepared (Decl x ty term) tc = do
+localDeclPrepared (Decl x ty term isAssumption vars) tc = do
checkTopLevelDuplicate x
local update tc
where
- update Context{..} = Context
- { varTypes = (x, ty) : varTypes
- , varValues = (x, term) : varValues
- , varOrigs = (x, Just x) : varOrigs
- , .. }
+ update = addVarInCurrentScope x VarInfo
+ { varType = ty
+ , varValue = term
+ , varOrig = Just x
+ , varIsAssumption = isAssumption
+ , varDeclaredAssumptions = vars
+ }
type TypeCheck var = ReaderT (Context var) (Except (TypeErrorInScopedContext var))
-showSomeTermTs :: Eq var => [TermT var] -> String
-showSomeTermTs terms = show [ untyped (rename <$> term) | term <- terms ]
- where
- vars = nub (foldMap (foldMap pure) terms)
- mapping = zip vars defaultVarIdents
- rename x = fromMaybe (Rzk.VarIdent "?") (lookup x mapping)
+freeVarsT_ :: Eq var => TermT var -> TypeCheck var [var]
+freeVarsT_ term = do
+ types <- asks varTypes
+ let typeOfVar' x =
+ case lookup x types of
+ Nothing -> panicImpossible "undefined variable"
+ Just ty -> ty
+ return (freeVarsT typeOfVar' term)
traceStartAndFinish :: Show a => String -> a -> a
traceStartAndFinish tag = trace ("start [" <> tag <> "]") .
@@ -614,7 +846,7 @@ entail topes tope = all (`solveRHS` tope) $
topes' = nubTermT (topes <> generateTopesForPoints (allTopePoints tope))
nubTermT :: Eq var => [TermT var] -> [TermT var]
-nubTermT [] = []
+nubTermT [] = []
nubTermT (t:ts) = t : nubTermT (filter (/= t) ts)
saturateTopes :: Eq var => [TermT var] -> [TermT var] -> [TermT var]
@@ -633,7 +865,7 @@ saturateWith elem' step zs = go (nub' zs) []
where
xs' = lastNew <> xs
new = filter (not . (`elem'` xs')) (nub' $ step lastNew xs)
- nub' [] = []
+ nub' [] = []
nub' (x:xs) = x : nub' (filter (not . (`elem'` [x])) xs)
generateTopes :: Eq var => [TermT var] -> [TermT var] -> [TermT var]
@@ -678,21 +910,21 @@ generateTopes newTopes oldTopes
| TopeEQT _ty y z : newTopes' <- tails newTopes
, TopeLEQT _ty x y' <- newTopes' <> oldTopes
, y == y' ]
-
+
-- FIXME: special case of substitution of EQ
-- transitivity EQ-LEQ (2)
, [ topeLEQT x z
| TopeEQT _ty x y : newTopes' <- tails newTopes
, TopeLEQT _ty y' z <- newTopes' <> oldTopes
, y == y' ]
-
+
-- FIXME: special case of substitution of EQ
-- transitivity EQ-LEQ (3)
, [ topeLEQT x z
| TopeLEQT _ty y z : newTopes' <- tails newTopes
, TopeEQT _ty x y' <- newTopes' <> oldTopes
, y == y' ]
-
+
-- FIXME: special case of substitution of EQ
-- transitivity EQ-LEQ (4)
, [ topeLEQT x z
@@ -720,13 +952,13 @@ allTopePoints = nubTermT . foldMap subPoints . nubTermT . topePoints
topePoints :: TermT var -> [TermT var]
topePoints = \case
- TopeTopT{} -> []
- TopeBottomT{} -> []
+ TopeTopT{} -> []
+ TopeBottomT{} -> []
TopeAndT _ l r -> topePoints l <> topePoints r
TopeOrT _ l r -> topePoints l <> topePoints r
TopeEQT _ x y -> [x, y]
TopeLEQT _ x y -> [x, y]
- _ -> []
+ _ -> []
subPoints :: TermT var -> [TermT var]
subPoints = \case
@@ -835,20 +1067,19 @@ switchVariance :: TypeCheck var a -> TypeCheck var a
switchVariance = local $ \Context{..} -> Context
{ covariance = switch covariance, .. }
where
- switch Covariant = Contravariant
+ switch Covariant = Contravariant
switch Contravariant = Covariant
enterScopeContext :: Maybe Rzk.VarIdent -> TermT var -> Context var -> Context (Inc var)
-enterScopeContext orig ty Context{..} = Context
- { varTypes = (Z, S <$> ty) : [ (S x, fmap S t) | (x, t) <- varTypes ]
- , varValues = (Z, Nothing) : [ (S x, fmap S <$> t) | (x, t) <- varValues ]
- , varOrigs = (Z, orig) : [ (S x, o) | (x, o) <- varOrigs ]
- , localTopes = map (fmap S) localTopes
- , localTopesNF = map (fmap S) localTopesNF
- , localTopesNFUnion = map (map (fmap S)) localTopesNFUnion
- , actionStack = map (fmap S) actionStack
- , ..
- }
+enterScopeContext orig ty =
+ addVarInCurrentScope Z VarInfo
+ { varType = S <$> ty
+ , varValue = Nothing
+ , varOrig = orig
+ , varIsAssumption = False
+ , varDeclaredAssumptions = []
+ }
+ . fmap S
enterScope :: Maybe Rzk.VarIdent -> TermT var -> TypeCheck (Inc var) b -> TypeCheck var b
enterScope orig ty action = do
@@ -858,10 +1089,10 @@ enterScope orig ty action = do
performing :: Eq var => Action var -> TypeCheck var a -> TypeCheck var a
performing action tc = do
- Context{..} <- ask
+ ctx@Context{..} <- ask
unless (length actionStack < 1000) $ -- FIXME: which depth is reasonable? factor out into a parameter
issueTypeError $ TypeErrorOther "maximum depth reached"
- traceTypeCheck Debug (ppSomeAction varOrigs (length actionStack) action) $
+ traceTypeCheck Debug (ppSomeAction (varOrigs ctx) (length actionStack) action) $
local (const Context { actionStack = action : actionStack, .. }) $ tc
stripTypeRestrictions :: TermT var -> TermT var
@@ -916,18 +1147,18 @@ etaExpand term = do
inCubeLayer :: Eq var => TermT var -> TypeCheck var Bool
inCubeLayer = \case
- RecBottomT{} -> pure False
- UniverseT{} -> pure False
+ RecBottomT{} -> pure False
+ UniverseT{} -> pure False
UniverseCubeT{} -> pure True
- CubeProductT{} -> pure True
- CubeUnitT{} -> pure True
+ CubeProductT{} -> pure True
+ CubeUnitT{} -> pure True
CubeUnitStarT{} -> pure True
- Cube2T{} -> pure True
- Cube2_0T{} -> pure True
- Cube2_1T{} -> pure True
+ Cube2T{} -> pure True
+ Cube2_0T{} -> pure True
+ Cube2_1T{} -> pure True
- t -> typeOf t >>= inCubeLayer
+ t -> typeOf t >>= inCubeLayer
inTopeLayer :: Eq var => TermT var -> TypeCheck var Bool
inTopeLayer = \case
@@ -962,7 +1193,7 @@ tryRestriction = \case
let go [] = pure Nothing
go ((tope, term') : rs') = do
checkTope tope >>= \case
- True -> pure (Just term')
+ True -> pure (Just term')
False -> go rs'
go rs
_ -> pure Nothing
@@ -1029,7 +1260,7 @@ whnfT tt = performing (ActionWHNF tt) $ case tt of
Nothing -> case tt of
t@(Pure var) ->
valueOfVar var >>= \case
- Nothing -> pure t
+ Nothing -> pure t
Just term -> whnfT term
AppT ty f x ->
@@ -1049,29 +1280,29 @@ whnfT tt = performing (ActionWHNF tt) $ case tt of
| otherwise -> do
let ret' = substituteT x ret
tryRestriction ret' >>= \case -- FIXME: to many unnecessary checks?
- Nothing -> pure (AppT ty { infoType = ret' } f' x)
+ Nothing -> pure (AppT ty { infoType = ret' } f' x)
Just tt' -> whnfT tt'
_ -> pure (AppT ty f' x)
FirstT ty t ->
whnfT t >>= \case
PairT _ l _r -> whnfT l
- t' -> pure (FirstT ty t')
+ t' -> pure (FirstT ty t')
SecondT ty t ->
whnfT t >>= \case
PairT _ _l r -> whnfT r
- t' -> pure (SecondT ty t')
+ t' -> pure (SecondT ty t')
IdJT ty tA a tC d x p ->
whnfT p >>= \case
ReflT{} -> whnfT d
- p' -> pure (IdJT ty tA a tC d x p')
+ p' -> pure (IdJT ty tA a tC d x p')
RecOrT _ty rs -> do
let go [] = pure Nothing
go ((tope, tt') : rs') = do
checkTope tope >>= \case
- True -> pure (Just tt')
+ True -> pure (Just tt')
False -> go rs'
go rs >>= \case
Just tt' -> whnfT tt'
@@ -1082,14 +1313,14 @@ whnfT tt = performing (ActionWHNF tt) $ case tt of
TypeRestrictedT ty type_ rs -> do
rs' <- traverse (\(tope, term) -> (,) <$> nfT tope <*> pure term) rs
case filter ((/= topeBottomT) . fst) rs' of
- [] -> whnfT type_ -- get rid of restrictions at BOT
+ [] -> whnfT type_ -- get rid of restrictions at BOT
rs'' -> TypeRestrictedT ty <$> whnfT type_ <*> pure rs''
nfTope :: Eq var => TermT var -> TypeCheck var (TermT var)
nfTope tt = performing (ActionNF tt) $ fmap termIsNF $ case tt of
Pure var ->
valueOfVar var >>= \case
- Nothing -> pure tt
+ Nothing -> pure tt
Just term -> nfTope term
-- see if normal form is already available
@@ -1120,7 +1351,7 @@ nfTope tt = performing (ActionNF tt) $ fmap termIsNF $ case tt of
TopeBottomT{} -> pure topeBottomT
l' -> nfTope r >>= \case
TopeBottomT{} -> pure topeBottomT
- r' -> pure (TopeAndT ty l' r')
+ r' -> pure (TopeAndT ty l' r')
TopeOrT ty l r -> do
l' <- nfTope l
@@ -1128,14 +1359,14 @@ nfTope tt = performing (ActionNF tt) $ fmap termIsNF $ case tt of
case (l', r') of
(TopeBottomT{}, _) -> pure r'
(_, TopeBottomT{}) -> pure l'
- _ -> pure (TopeOrT ty l' r')
+ _ -> pure (TopeOrT ty l' r')
TopeEQT ty l r -> TopeEQT ty <$> nfTope l <*> nfTope r
TopeLEQT ty l r -> TopeLEQT ty <$> nfTope l <*> nfTope r
-- type ascriptions are ignored, since we already have a typechecked term
TypeAscT _ty term _ty' -> nfTope term
-
+
PairT ty l r -> PairT ty <$> nfTope l <*> nfTope r
AppT ty f x ->
@@ -1152,12 +1383,12 @@ nfTope tt = performing (ActionNF tt) $ fmap termIsNF $ case tt of
FirstT ty t ->
nfTope t >>= \case
PairT _ty x _y -> pure x
- t' -> pure (FirstT ty t')
+ t' -> pure (FirstT ty t')
SecondT ty t ->
nfTope t >>= \case
PairT _ty _x y -> pure y
- t' -> pure (SecondT ty t')
+ t' -> pure (SecondT ty t')
LambdaT ty orig _mparam body
| TypeFunT _ty _origF param mtope _ret <- infoType ty ->
@@ -1223,7 +1454,7 @@ nfT tt = performing (ActionNF tt) $ case tt of
Nothing -> case tt of
t@(Pure var) ->
valueOfVar var >>= \case
- Nothing -> pure t
+ Nothing -> pure t
Just term -> nfT term
TypeFunT ty orig param mtope ret -> do
@@ -1261,11 +1492,11 @@ nfT tt = performing (ActionNF tt) $ case tt of
FirstT ty t ->
whnfT t >>= \case
PairT _ l _r -> nfT l
- t' -> FirstT ty <$> nfT t'
+ t' -> FirstT ty <$> nfT t'
SecondT ty t ->
whnfT t >>= \case
PairT _ _l r -> nfT r
- t' -> SecondT ty <$> nfT t'
+ t' -> SecondT ty <$> nfT t'
TypeIdT ty x _tA y -> TypeIdT ty <$> nfT x <*> pure Nothing <*> nfT y
IdJT ty tA a tC d x p ->
@@ -1277,7 +1508,7 @@ nfT tt = performing (ActionNF tt) $ case tt of
let go [] = pure Nothing
go ((tope, tt') : rs') = do
checkTope tope >>= \case
- True -> pure (Just tt')
+ True -> pure (Just tt')
False -> go rs'
go rs >>= \case
Just tt' -> nfT tt'
@@ -1295,9 +1526,14 @@ nfT tt = performing (ActionNF tt) $ case tt of
nfT term
return (Just (tope', term'))
case catMaybes rs' of
- [] -> nfT type_
+ [] -> nfT type_
rs'' -> TypeRestrictedT ty <$> nfT type_ <*> pure rs''
+checkDefinedVar :: Eq var => var -> TypeCheck var ()
+checkDefinedVar x = asks (lookup x . varInfos) >>= \case
+ Nothing -> issueTypeError $ TypeErrorUndefined x
+ Just _ty -> return ()
+
valueOfVar :: Eq var => var -> TypeCheck var (Maybe (TermT var))
valueOfVar x = asks (lookup x . varValues) >>= \case
Nothing -> issueTypeError $ TypeErrorUndefined x
@@ -1310,11 +1546,11 @@ typeOfVar x = asks (lookup x . varTypes) >>= \case
typeOfUncomputed :: Eq var => TermT var -> TypeCheck var (TermT var)
typeOfUncomputed = \case
- Pure x -> typeOfVar x
+ Pure x -> typeOfVar x
Free (AnnF TypeInfo{..} _) -> pure infoType
typeOf :: Eq var => TermT var -> TypeCheck var (TermT var)
-typeOf t = typeOfUncomputed t >>= whnfT
+typeOf t = typeOfUncomputed t >>= whnfT
unifyTopes :: Eq var => TermT var -> TermT var -> TypeCheck var ()
unifyTopes l r = do
@@ -1343,7 +1579,7 @@ unify :: Eq var => Maybe (TermT var) -> TermT var -> TermT var -> TypeCheck var
unify mterm expected actual = performUnification `catchError` \typeError -> do
inAllSubContexts (throwError typeError) performUnification
where
- performUnification = unifyInCurrentContext mterm expected actual
+ performUnification = unifyInCurrentContext mterm expected actual
unifyInCurrentContext :: Eq var => Maybe (TermT var) -> TermT var -> TermT var -> TypeCheck var ()
unifyInCurrentContext mterm expected actual = performing action $
@@ -1351,7 +1587,7 @@ unifyInCurrentContext mterm expected actual = performing action $
expectedVal <- whnfT expected
actualVal <- whnfT actual
(expected', actual') <- asks covariance >>= \case
- Covariant -> etaMatch mterm expectedVal actualVal
+ Covariant -> etaMatch mterm expectedVal actualVal
Contravariant -> swap <$> etaMatch mterm actualVal expectedVal
unless (expected' == actual') $ do -- NOTE: this gives a small, but noticeable speedup
case actual' of
@@ -1410,12 +1646,12 @@ unifyInCurrentContext mterm expected actual = performing action $
FirstT _ty t ->
case actual' of
FirstT _ty' t' -> unifyTerms t t'
- _ -> err
+ _ -> err
SecondT _ty t ->
case actual' of
SecondT _ty' t' -> unifyTerms t t'
- _ -> err
+ _ -> err
TopeTopT{} -> unifyTopes expected' actual'
TopeBottomT{} -> unifyTopes expected' actual'
@@ -1540,7 +1776,7 @@ unifyInCurrentContext mterm expected actual = performing action $
where
action = case mterm of
- Nothing -> ActionUnifyTerms expected actual
+ Nothing -> ActionUnifyTerms expected actual
Just term -> ActionUnify term expected actual
unifyTypes :: Eq var => TermT var -> TermT var -> TermT var -> TypeCheck var ()
@@ -2106,7 +2342,7 @@ infer tt = performing (ActionInfer tt) $ case tt of
x' <- typecheck x a
case b of
UniverseTopeT{} -> return ()
- _ -> mapM_ (contextEntails . substituteT x') mtope -- FIXME: need to check?
+ _ -> mapM_ (contextEntails . substituteT x') mtope -- FIXME: need to check?
return (appT (substituteT x' b) f' x')
ty -> issueTypeError $ TypeErrorNotFunction f' ty
@@ -2135,7 +2371,7 @@ infer tt = performing (ActionInfer tt) $ case tt of
enterScope orig ty' $ do
maybe id localTope mtope $ do
body' <- infer body
- ret <- typeOf body'
+ ret <- typeOf body'
return (lambdaT (typeFunT orig ty' mtope ret) orig (Just (ty', mtope)) body')
Lambda orig (Just (cube, Just tope)) body -> do
cube' <- typecheck cube cubeT
@@ -2223,7 +2459,7 @@ type PointId = String
type ShapeId = [PointId]
cube2powerT :: Int -> TermT var
-cube2powerT 1 = cube2T
+cube2powerT 1 = cube2T
cube2powerT dim = cubeProductT (cube2powerT (dim - 1)) cube2T
splits :: [a] -> [([a], [a])]
@@ -2357,13 +2593,14 @@ renderObjectsFor mainColor dim t term = fmap catMaybes $ do
, renderObjectDataColor = "orange" -- FIXME: orange for topes?
})
_ -> do
- Context{..} <- ask
+ origs <- asks varOrigs
term' <- localTope tope $ whnfT term
label <-
case term' of
AppT _ (Pure z) arg
- | Just (Just "_") <- lookup z varOrigs -> return ""
- | null (nub (foldMap pure arg) \\ nub (foldMap pure t)) -> ppTermInContext (Pure z)
+ | Just (Just "_") <- lookup z origs -> return ""
+ | null (nub (freeVars (untyped arg)) \\ nub (freeVars (untyped t))) ->
+ ppTermInContext (Pure z)
_ -> ppTermInContext term'
return $ Just (shapeId, RenderObjectData
{ renderObjectDataLabel = label
@@ -2372,8 +2609,8 @@ renderObjectsFor mainColor dim t term = fmap catMaybes $ do
case term' of
Pure{} -> "purple"
AppT _ (Pure x) arg
- | Just (Just "_") <- lookup x varOrigs -> mainColor
- | null (nub (foldMap pure arg) \\ nub (foldMap pure t)) -> "purple"
+ | Just (Just "_") <- lookup x origs -> mainColor
+ | null (nub (freeVars (untyped arg)) \\ nub (freeVars (untyped t))) -> "purple"
_ -> mainColor
})
@@ -2410,23 +2647,23 @@ renderObjectsInSubShapeFor mainColor dim sub super retType f x = fmap catMaybes
checkEntails tope contextTopes >>= \case
False -> return Nothing
True -> do
- Context{..} <- ask
+ origs <- asks varOrigs
term <- localTope tope (whnfT (appT retType f (Pure super)))
label <- typeOf term >>= \case
UniverseTopeT{} -> return ""
_ -> do
case term of
AppT _ (Pure z) arg
- | Just (Just "_") <- lookup z varOrigs -> return ""
- | null (nub (foldMap pure arg) \\ [super]) -> ppTermInContext (Pure z)
+ | Just (Just "_") <- lookup z origs -> return ""
+ | null (nub (freeVars (untyped arg)) \\ [super]) -> ppTermInContext (Pure z)
_ -> ppTermInContext term
color <- checkEntails tope contextTopes' >>= \case
True -> do
case term of
Pure{} -> return "purple"
AppT _ (Pure z) arg
- | Just (Just "_") <- lookup z varOrigs -> return mainColor
- | null (nub (foldMap pure arg) \\ [super]) -> return "purple"
+ | Just (Just "_") <- lookup z origs -> return mainColor
+ | null (nub (freeVars (untyped arg)) \\ [super]) -> return "purple"
_ -> return mainColor
False -> return "gray"
return $ Just (shapeId, RenderObjectData
@@ -2502,14 +2739,14 @@ renderTermSVGFor mainColor accDim (mp, xs) t = do
(join' (both (fmap S) <$> mp) (S <$> arg) (Pure Z), Z : map S xs) $
case t' of
LambdaT _ _orig _marg body -> body
- _ -> appT ret (S <$> t') (Pure Z)
+ _ -> appT ret (S <$> t') (Pure Z)
| null xs -> enterScope orig arg $ do
maybe id localTope mtope $
renderTermSVGFor mainColor accDim
(both (fmap S) <$> mp, map S xs) $
case t' of
LambdaT _ _orig _marg body -> body
- _ -> appT ret (S <$> t') (Pure Z)
+ _ -> appT ret (S <$> t') (Pure Z)
_ -> traverse (\(p', _) -> renderForSVG mainColor accDim p' t') mp
where
maxDim = 3
@@ -2528,7 +2765,7 @@ renderTermSVGFor mainColor accDim (mp, xs) t = do
dimOf = \case
Cube2T{} -> Just 1
CubeProductT _ l r -> (+) <$> dimOf l <*> dimOf r
- _ -> Nothing
+ _ -> Nothing
renderTermSVG :: Eq var => TermT var -> TypeCheck var (Maybe String)
renderTermSVG = renderTermSVGFor "red" 0 (Nothing, []) -- use red for terms by default
@@ -2550,7 +2787,7 @@ renderTermSVG' t = whnfT t >>= \t' -> typeOf t >>= \case
dimOf = \case
Cube2T{} -> Just 1
CubeProductT _ l r -> (+) <$> dimOf l <*> dimOf r -- WARNING: breaks for 2 * (2 * 2)
- _ -> Nothing
+ _ -> Nothing
defaultRenderTermSVG t' arg ret =
case dimOf arg of
@@ -2567,9 +2804,9 @@ type Volume3D a = (Point3D a, Point3D a, Point3D a, Point3D a)
data CubeCoords2D a b = CubeCoords2D
{ vertices :: [(Point3D a, Point2D b)]
- , edges :: [(Edge3D a, (Point2D b, Point2D b))]
- , faces :: [(Face3D a, (Point2D b, Point2D b, Point2D b))]
- , volumes :: [(Volume3D a, (Point2D b, Point2D b, Point2D b, Point2D b))]
+ , edges :: [(Edge3D a, (Point2D b, Point2D b))]
+ , faces :: [(Face3D a, (Point2D b, Point2D b, Point2D b))]
+ , volumes :: [(Volume3D a, (Point2D b, Point2D b, Point2D b, Point2D b))]
}
data Matrix3D a = Matrix3D
@@ -2606,11 +2843,11 @@ rotateZ theta = Matrix3D
0 0 1
data Camera a = Camera
- { cameraPos :: Point3D a
- , cameraFoV :: a
+ { cameraPos :: Point3D a
+ , cameraFoV :: a
, cameraAspectRatio :: a
- , cameraAngleY :: a
- , cameraAngleX :: a
+ , cameraAngleY :: a
+ , cameraAngleX :: a
}
viewRotateX :: Floating a => Camera a -> Matrix4D a
diff --git a/try-rzk/try-rzk.cabal b/try-rzk/try-rzk.cabal
index 16731c461..10c792403 100644
--- a/try-rzk/try-rzk.cabal
+++ b/try-rzk/try-rzk.cabal
@@ -9,5 +9,8 @@ executable try-rzk
main-is: Main.hs
ghcjs-options:
-dedupe
- build-depends: base, miso, rzk, ghcjs-base, ghcjs-prim
+ build-depends: base, miso, rzk
+ if impl(ghcjs)
+ build-depends:
+ ghcjs-base, ghcjs-prim
default-language: Haskell2010