PH7AKWRBCWPXPEJUTUHSFXQDXMIS7PYXMESXPKZWTOAN7SCYY2SQC
5FKUXTX6W7SHEM5RGUEYIZVNOLNXJMQ3IREK7DE4O4WP54TIVVLAC
FP3BMJFWCNR4YFLLECYVL2OBB6DMPOILJHXK2FIWY23ACOFSQTIQC
YX4UYYPLA6YLS47QVCMRJMO3ZAOMU2I67H6QKJI3IFPFI6AUTH7AC
UEZNDS4MKT44LO4BNOFCHWRTG26YMB75SZ4BJ2KW7GAQHI6I23SAC
PCIANMLJYEIEBUS3HWSVRXZEG6EZIIMREXROP4SJK7ZQXAKNIQ3AC
4D3GZC6IQAAPNE375QLZQYO4PCP4HPEFRAK3WDQPDMG6A5ANKMBAC
ZG6T77YTDUPIGFVTHSXT2ACMU6FTRDQD5HFRNTQKQYPU4SJCDBEAC
7US4CJU7KD4VAWUMSNWGVJGFFWAALCP6Y3EQCGUPW3CMFFJINZNAC
4VNKDKIRGJ2IKQZDX2J4IPCW2NGIAVCCIS5JG3KPV5QQSZZJKW5AC
P2TKCIN4ZTEBFGEUKME3FG4SJEW5SQTPHWTUUILEJZNDOBZDPNGAC
6F3WIYUDNDTT6ADUB44REHUGFRYOXKPYY7OAWDC4XS2JJGCGN3SAC
PMFIWMU2SACHCJFSDMXE7REAKT7REEUTMLQQA6JN5B5ALVOUID4QC
U5EMCSCECYRFPMQG7J5VPCYTCSG6BNGK42DYD3I373SNNNEP7KLQC
TIOHHGGAA3F3PGQTQNTMSEKWTU56TVOKSHCI3FIBSORQ3TQK57DQC
I2QBWFO54IMXPS77GNZK7FHSKQDSYWYQPTUPPK2EC4JD2UWBHLZAC
let where_list = [
""
; "town"
; "good tramping tracks"
; "tough tramping tracks"
; "off-track"
; "scrub"
; "the tops"
; "the crags"
; "the summit"
]
let what_list = [
""
; "under 2 kg"
; "2 to 5 kg"
; "5 to 10 kg"
; "10 to 20 kg"
; "20 to 25 kg"
; "+ 25 kg"
]
let where_list =
[
"";
"town";
"good tramping tracks";
"tough tramping tracks";
"off-track";
"scrub";
"the tops";
"the crags";
"the summit";
]
let init : state =
{
often = first_element often_list
; most_used = ""
; where = first_element where_list
; what = first_element what_list
; message = ""
}
let init : state =
{
often = first_element often_list;
most_used = "";
where = first_element where_list;
what = first_element what_list;
message = "";
}
let open Html in
let open Attribute in
let img attrs nodes = node "img" attrs nodes in
div [] [
div [class_ "grid"] [
div [] []
; img [src "logo.svg"] []
; div [] []
let open Html in
let open Attribute in
let img attrs nodes = node "img" attrs nodes in
div []
[
div [ class_ "grid" ] [ div [] []; img [ src "logo.svg" ] []; div [] [] ];
p []
[
text
"Please complete this survey. Help design the next Fiordland Pack.";
];
p []
[
text
"This is 100% anonymous. No google analytics. No facebook pixel. \
No cookies.";
];
let open Html in
let open Attribute in
div [] [
li [] [ text "often: "; text state.often ]
; li [] [ text "most used: "; text state.most_used ]
; li [] [ text "where: "; text state.where ]
; li [] [ text "what: "; text state.what ]
; li [] [ text "message: "; text state.message ]
]
let open Html in
let open Attribute in
div []
[
li [] [ text "often: "; text state.often ];
li [] [ text "most used: "; text state.most_used ];
li [] [ text "where: "; text state.where ];
li [] [ text "what: "; text state.what ];
li [] [ text "message: "; text state.message ];
]
let open Html in
let open Attribute in
let often str = Often str in
let most_used str = Most_used str in
let where str = Where str in
let what str = What str in
let message str = Message str in
let open Html in
let open Attribute in
let often str = Often str in
let most_used str = Most_used str in
let where str = Where str in
let what str = What str in
let message str = Message str in
let section attrs nodes = node "section" attrs nodes in
let form attrs nodes = node "form" attrs nodes in
div [class_ "container"] [
section [id "header"] [ header_view state ]
; section [id "main"] [
form [attribute "action" "https://formspree.io/f/mpzvpdvp"; attribute "method" "post"] [
section [] [
label [attribute "for" "how_often"] [
text "How often do you use a backpack?"
; select [
attribute "type" "text"
; attribute "name" "how_often"
; id "how_often"
; value state.often
; on_input often
]
(List.map (fun x -> node "option" [] [text x]) often_list)
]
; label [attribute "for" "where"] [
text "Where do you use your pack most?"
; select [
attribute "type" "text"
; attribute "name" "where"
; id "where"
; value state.where
; on_input where
]
(List.map (fun x -> node "option" [] [text x]) where_list)
]
; label [attribute "for" "what"] [
text "What kind of load do you carry?"
; select [
attribute "type" "text"
; attribute "name" "what"
; id "what"
; value state.what
; on_input what
]
(List.map (fun x -> node "option" [] [text x]) what_list)
]
; label [attribute "for" "most_used"] [text "What is your all time most used backpack?"; input [
attribute "type" "text"
; attribute "name" "most_used"
; id "most_used"
; value state.most_used
; on_input most_used
] []]
; label [attribute "for" "message"] [text "What is most important in a backpack?"; textarea [
attribute "type" "text"
; attribute "name" "message"
; id "message"
; value state.message
; on_input message
] []]
; button [attribute "type" "submit"] [text "Send"]
let section attrs nodes = node "section" attrs nodes in
let form attrs nodes = node "form" attrs nodes in
div
[ class_ "container" ]
[
section [ id "header" ] [ header_view state ];
section
[ id "main" ]
[
form
[
attribute "action" "https://formspree.io/f/mpzvpdvp";
attribute "method" "post";
[
section []
[
label
[ attribute "for" "how_often" ]
[
text "How often do you use a backpack?";
select
[
attribute "type" "text";
attribute "name" "how_often";
id "how_often";
value state.often;
on_input often;
]
(List.map
(fun x -> node "option" [] [ text x ])
often_list);
];
label
[ attribute "for" "where" ]
[
text "Where do you use your pack most?";
select
[
attribute "type" "text";
attribute "name" "where";
id "where";
value state.where;
on_input where;
]
(List.map
(fun x -> node "option" [] [ text x ])
where_list);
];
label
[ attribute "for" "what" ]
[
text "What kind of load do you carry?";
select
[
attribute "type" "text";
attribute "name" "what";
id "what";
value state.what;
on_input what;
]
(List.map
(fun x -> node "option" [] [ text x ])
what_list);
];
label
[ attribute "for" "most_used" ]
[
text "What is your all time most used backpack?";
input
[
attribute "type" "text";
attribute "name" "most_used";
id "most_used";
value state.most_used;
on_input most_used;
]
[];
];
label
[ attribute "for" "message" ]
[
text "What is most important in a backpack?";
textarea
[
attribute "type" "text";
attribute "name" "message";
id "message";
value state.message;
on_input message;
]
[];
];
button [ attribute "type" "submit" ] [ text "Send" ];
];
];
| Often str -> { state with often = str }
| Most_used str -> { state with most_used = str }
| Where str -> { state with where = str }
| What str -> { state with what = str }
| Message str -> { state with message = str }
| Often str -> { state with often = str }
| Most_used str -> { state with most_used = str }
| Where str -> { state with where = str }
| What str -> { state with what = str }
| Message str -> { state with message = str }
let epx200 = [
"Army Olive EPX200"
; "Black Knight EPX200"
; "Brick Red EPX200"
; "Bright Blue EPX200"
; "Bright Orange EPX200"
; "Coyote Brown EPX200"
; "Deep Purple EPX200"
; "Fuchsia EPX200"
; "Golden Dazy EPX200"
; "Green Mountain EPX200"
; "Ocean Blue EPX200"
; "Red Barn EPX200"
; "Snow White EPX200"
; "Teal EPX200"
; "Wolf Grey EPX200"
]
let epx400 = [
"Black Knight EPX400"
]
let ultra = [
"Black Ultra 400TX"
]
let epx200 =
[
"Army Olive EPX200";
"Black Knight EPX200";
"Brick Red EPX200";
"Bright Blue EPX200";
"Bright Orange EPX200";
"Coyote Brown EPX200";
"Deep Purple EPX200";
"Fuchsia EPX200";
"Golden Dazy EPX200";
"Green Mountain EPX200";
"Ocean Blue EPX200";
"Red Barn EPX200";
"Snow White EPX200";
"Teal EPX200";
"Wolf Grey EPX200";
]
let vx42 = [
"Black VX42"
]
let vx21 = [
"Black VX21 Cire"
]
let vx07 = [
"Navy Blue VX07"
; "Red VX07"
; "Off-white VX07"
]
let liteskin = [
"Liteskin LS07"
]
let epx400 = [ "Black Knight EPX400" ]
let ultra = [ "Black Ultra 400TX" ]
let vx42 = [ "Black VX42" ]
let vx21 = [ "Black VX21 Cire" ]
let vx07 = [ "Navy Blue VX07"; "Red VX07"; "Off-white VX07" ]
let liteskin = [ "Liteskin LS07" ]
let pack_list = [
""
; "70l Alpine Pack"
; "65l Classic Pack"
; "60l Alpine Pack"
; "55l Classic Pack"
; "50l Alpine Pack"
; "45l Classic Pack"
; "35l Fast Pack"
; "25l Strong Pack"
; "25l Fast Pack"
]
let pack_list =
[
"";
"70l Alpine Pack";
"65l Classic Pack";
"60l Alpine Pack";
"55l Classic Pack";
"50l Alpine Pack";
"45l Classic Pack";
"35l Fast Pack";
"25l Strong Pack";
"25l Fast Pack";
]
let specCP65 = [
"Slightly narrower at hip level, tapered rolltop"
; "Average width: 34cm"
; "Depth: 22cm"
; "Height: 87cm"
; "Volume: 65l to the top of an open bag, excluding pockets and any for Ultra 400TX rolltop"
; "Weight: 1 to 1.2 kilograms depending on fabric selection and torso length"
; "Carry quite a considerable load (but not 40kg of meat)"
; "2 Side Compression Straps (each side)"
; "Large side pockets with bungy cord closure"
; "Large HDPE Gridstop back pocket with 3mm bungy cord"
; "1 Ice Axe Loop"
; "Loops to carry hiking poles"
; "Flat Lycra Hip Belt Pockets"
; "Internal pocket that can double as a shoulder bag"
; "Removable aluminium frame"
; "Replaceable EVA foam back padding"
; "Load lifters"
; "Y strap (over the top)"
; "Tapered rolltop with 19mm side release buckle"
; "Sternum Strap"
; "Replaceable Pack Base"
]
let specCP65 =
[
"Slightly narrower at hip level, tapered rolltop";
"Average width: 34cm";
"Depth: 22cm";
"Height: 87cm";
"Volume: 65l to the top of an open bag, excluding pockets and any for \
Ultra 400TX rolltop";
"Weight: 1 to 1.2 kilograms depending on fabric selection and torso length";
"Carry quite a considerable load (but not 40kg of meat)";
"2 Side Compression Straps (each side)";
"Large side pockets with bungy cord closure";
"Large HDPE Gridstop back pocket with 3mm bungy cord";
"1 Ice Axe Loop";
"Loops to carry hiking poles";
"Flat Lycra Hip Belt Pockets";
"Internal pocket that can double as a shoulder bag";
"Removable aluminium frame";
"Replaceable EVA foam back padding";
"Load lifters";
"Y strap (over the top)";
"Tapered rolltop with 19mm side release buckle";
"Sternum Strap";
"Replaceable Pack Base";
]
let specCP55 = [
"Slightly narrower at hip level, tapered rolltop"
; "Average width: 31cm"
; "Depth: 21cm"
; "Height: 85cm"
; "Volume: 55l to the top of an open bag, excluding pockets and any for Ultra 400TX rolltop"
; "Weight: 1 to 1.2 kilograms depending on fabric selection and torso length"
; "Carry quite a considerable load (but not 40kg of meat)"
; "2 Side Compression Straps (each side)"
; "Large side pockets with bungy cord closure"
; "Large HDPE Gridstop back pocket with 3mm bungy cord"
; "1 Ice Axe Loop"
; "Loops to carry hiking poles"
; "Flat Lycra Hip Belt Pockets"
; "Internal pocket that can double as a shoulder bag"
; "Removable aluminium frame"
; "Replaceable EVA foam back padding"
; "Load lifters"
; "Y strap (over the top)"
; "Tapered rolltop with 19mm side release buckle"
; "Sternum Strap"
; "Replaceable Pack Base"
]
let specCP55 =
[
"Slightly narrower at hip level, tapered rolltop";
"Average width: 31cm";
"Depth: 21cm";
"Height: 85cm";
"Volume: 55l to the top of an open bag, excluding pockets and any for \
Ultra 400TX rolltop";
"Weight: 1 to 1.2 kilograms depending on fabric selection and torso length";
"Carry quite a considerable load (but not 40kg of meat)";
"2 Side Compression Straps (each side)";
"Large side pockets with bungy cord closure";
"Large HDPE Gridstop back pocket with 3mm bungy cord";
"1 Ice Axe Loop";
"Loops to carry hiking poles";
"Flat Lycra Hip Belt Pockets";
"Internal pocket that can double as a shoulder bag";
"Removable aluminium frame";
"Replaceable EVA foam back padding";
"Load lifters";
"Y strap (over the top)";
"Tapered rolltop with 19mm side release buckle";
"Sternum Strap";
"Replaceable Pack Base";
]
let specFP45 = [
"Slightly narrower at hip level"
; "Average width: 28cm"
; "Depth: 19cm"
; "Height: 87cm"
; "Volume: 46l to the top of an open bag, excluding pockets and any for Ultra 400TX rolltop"
; "Weight: 0.65 to 1 kilograms depending on fabric selection and torso length"
; "Carry a reasonable load"
; "Bungy cord side compression"
; "Large side pockets with bungy cord closure"
; "Large HDPE Gridstop back pocket with bungy cord"
; "1 Ice Axe Loop"
; "Loops to carry hiking poles"
; "Flat Lycra Hip Belt Pockets"
; "Internal pocket that can double as a shoulder bag"
; "Integrated back padding (EVA foam, minimal)"
; "Load lifters"
; "Y strap (over the top)"
; "Tapered rolltop with 19mm side release buckle"
; "Sternum Strap"
]
let specFP45 =
[
"Slightly narrower at hip level";
"Average width: 28cm";
"Depth: 19cm";
"Height: 87cm";
"Volume: 46l to the top of an open bag, excluding pockets and any for \
Ultra 400TX rolltop";
"Weight: 0.65 to 1 kilograms depending on fabric selection and torso length";
"Carry a reasonable load";
"Bungy cord side compression";
"Large side pockets with bungy cord closure";
"Large HDPE Gridstop back pocket with bungy cord";
"1 Ice Axe Loop";
"Loops to carry hiking poles";
"Flat Lycra Hip Belt Pockets";
"Internal pocket that can double as a shoulder bag";
"Integrated back padding (EVA foam, minimal)";
"Load lifters";
"Y strap (over the top)";
"Tapered rolltop with 19mm side release buckle";
"Sternum Strap";
]
let specFP35 = [
"Slightly narrower at hip level"
; "Average width: 27cm"
; "Depth: 18cm"
; "Height: 75cm"
; "Volume: 36l to the top of an open bag, excluding pockets and any for Ultra 400TX rolltop"
; "Weight: 350 to 850 grams depending on fabric selection and torso length"
; "Carry a reasonable load"
; "Bungy cord side compression"
; "Large side pockets with bungy cord closure"
; "Lycra back pocket with bungy cord"
; "Lycra pocket on the pack base"
; "Loops to carry hiking poles"
; "Removable 25mm webbing waist belt"
; "Sternum Strap"
]
let specFP35 =
[
"Slightly narrower at hip level";
"Average width: 27cm";
"Depth: 18cm";
"Height: 75cm";
"Volume: 36l to the top of an open bag, excluding pockets and any for \
Ultra 400TX rolltop";
"Weight: 350 to 850 grams depending on fabric selection and torso length";
"Carry a reasonable load";
"Bungy cord side compression";
"Large side pockets with bungy cord closure";
"Lycra back pocket with bungy cord";
"Lycra pocket on the pack base";
"Loops to carry hiking poles";
"Removable 25mm webbing waist belt";
"Sternum Strap";
]
let specSP25 = [
"Average width: 27cm"
; "Depth: 17cm"
; "Height: 60cm"
; "Volume: 27l to the top of an open bag, excluding pockets"
; "Weight: ~450 grams depending on fabric selection"
; "Carry a reasonable load"
; "Lycra side pockets"
; "Lycra back pocket with bungy cord"
; "Removable 25mm webbing waist belt"
; "Sternum Strap"
]
let specSP25 =
[
"Average width: 27cm";
"Depth: 17cm";
"Height: 60cm";
"Volume: 27l to the top of an open bag, excluding pockets";
"Weight: ~450 grams depending on fabric selection";
"Carry a reasonable load";
"Lycra side pockets";
"Lycra back pocket with bungy cord";
"Removable 25mm webbing waist belt";
"Sternum Strap";
]
let specFP25 = [
"Average width: 25cm"
; "Depth: 18cm"
; "Height: 57cm"
; "Volume: 25l to the top of an open bag"
; "Weight: ~300 grams"
; "Carry a reasonable load"
; "Lycra pocket on the pack base"
; "Removable 25mm webbing waist belt"
; "Sternum Strap"
]
let specFP25 =
[
"Average width: 25cm";
"Depth: 18cm";
"Height: 57cm";
"Volume: 25l to the top of an open bag";
"Weight: ~300 grams";
"Carry a reasonable load";
"Lycra pocket on the pack base";
"Removable 25mm webbing waist belt";
"Sternum Strap";
]
let specAC70 = [
"Pear shaped (wider at hip level)"
; "Average circumference: 100.5cm"
; "Height: 87cm"
; "Volume: 70l to the top of an open bag"
; "Weight: 1 to 1.2 kilograms depending on fabric selection and torso length"
; "Carry quite a considerable load (but not 40kg of meat)"
; "Brilliant for alpine use, bush bashing, packrafting, carrying tripods, skis etc."
; "6 compression straps (removable)"
; "Small side pockets for snow stakes or paddles"
; "Ice axe toggles"
; "Gear Loops (on waist belt)"
; "Internal pocket that can double as a shoulder bag"
; "Removable aluminium frame"
; "Replaceable EVA foam back padding"
; "Load lifters"
; "Y strap (over the top)"
; "Tapered rolltop with 19mm side release buckle"
; "Sternum Strap"
]
let specAC70 =
[
"Pear shaped (wider at hip level)";
"Average circumference: 100.5cm";
"Height: 87cm";
"Volume: 70l to the top of an open bag";
"Weight: 1 to 1.2 kilograms depending on fabric selection and torso length";
"Carry quite a considerable load (but not 40kg of meat)";
"Brilliant for alpine use, bush bashing, packrafting, carrying tripods, \
skis etc.";
"6 compression straps (removable)";
"Small side pockets for snow stakes or paddles";
"Ice axe toggles";
"Gear Loops (on waist belt)";
"Internal pocket that can double as a shoulder bag";
"Removable aluminium frame";
"Replaceable EVA foam back padding";
"Load lifters";
"Y strap (over the top)";
"Tapered rolltop with 19mm side release buckle";
"Sternum Strap";
]
let specAC60 =
[
"Pear shaped (wider at hip level)";
"Average circumference: 98.5cm";
"Height: 80cm";
"Volume: 60l to the top of an open bag";
"Weight: 1 to 1.2 kilograms depending on fabric selection and torso length";
"Carry quite a considerable load (but not 40kg of meat)";
"Brilliant for alpine use, bush bashing, packrafting, carrying tripods, \
skis etc.";
"6 compression straps (removable)";
"Small side pockets for snow stakes or paddles";
"Ice axe toggles";
"Gear Loops (on waist belt)";
"Internal pocket that can double as a shoulder bag";
"Removable aluminium frame";
"Replaceable EVA foam back padding";
"Load lifters";
"Y strap (over the top)";
"Tapered rolltop with 19mm side release buckle";
"Sternum Strap";
]
let specAC60 = [
"Pear shaped (wider at hip level)"
; "Average circumference: 98.5cm"
; "Height: 80cm"
; "Volume: 60l to the top of an open bag"
; "Weight: 1 to 1.2 kilograms depending on fabric selection and torso length"
; "Carry quite a considerable load (but not 40kg of meat)"
; "Brilliant for alpine use, bush bashing, packrafting, carrying tripods, skis etc."
; "6 compression straps (removable)"
; "Small side pockets for snow stakes or paddles"
; "Ice axe toggles"
; "Gear Loops (on waist belt)"
; "Internal pocket that can double as a shoulder bag"
; "Removable aluminium frame"
; "Replaceable EVA foam back padding"
; "Load lifters"
; "Y strap (over the top)"
; "Tapered rolltop with 19mm side release buckle"
; "Sternum Strap"
]
let specAC50 =
[
"Slightly narrower at hip level";
"Average circumference: 92cm";
"Height: 80cm";
"Volume: 50l to the top of an open bag";
"Weight: 1+ kilograms depending on fabric selection and torso length";
"Carry quite a considerable load (but not 40kg of meat)";
"Brilliant for alpine use, bush bashing, packrafting, carrying tripods, \
skis etc.";
"6 compression straps (removable)";
"Small side pockets for snow stakes or paddles";
"Ice axe toggles";
"Gear Loops (on waist belt)";
"Internal pocket that can double as a shoulder bag";
"Removable aluminium frame";
"Replaceable EVA foam back padding";
"Load lifters";
"Y strap (over the top)";
"Tapered rolltop with 19mm side release buckle";
"Sternum Strap";
]
let specAC50 = [
"Slightly narrower at hip level"
; "Average circumference: 92cm"
; "Height: 80cm"
; "Volume: 50l to the top of an open bag"
; "Weight: 1+ kilograms depending on fabric selection and torso length"
; "Carry quite a considerable load (but not 40kg of meat)"
; "Brilliant for alpine use, bush bashing, packrafting, carrying tripods, skis etc."
; "6 compression straps (removable)"
; "Small side pockets for snow stakes or paddles"
; "Ice axe toggles"
; "Gear Loops (on waist belt)"
; "Internal pocket that can double as a shoulder bag"
; "Removable aluminium frame"
; "Replaceable EVA foam back padding"
; "Load lifters"
; "Y strap (over the top)"
; "Tapered rolltop with 19mm side release buckle"
; "Sternum Strap"
]
let shipping_list =
[
"";
"South Island";
"North Island";
"Collect";
"Australia";
"Europe";
"USA";
"To be calculated";
]
let shipping_cost s =
match s with
| "" -> 0
| "South Island" -> 15
| "North Island" -> 25
| "Collect" -> 0
| "Australia" -> 40
| "Europe" -> 90
| "USA" -> 90
| "To be calculated" -> 0
| _ -> 0
let shipping_cost s =
match s with
| "" -> 0
| "South Island" -> 15
| "North Island" -> 25
| "Collect" -> 0
| "Australia" -> 40
| "Europe" -> 90
| "USA" -> 90
| "To be calculated" -> 0
| _ -> 0
let pack_match str =
match str with
| "" -> (0, spec_)
| "65l Classic Pack" -> (630, specCP65)
| "55l Classic Pack" -> (600, specCP55)
| "45l Classic Pack" -> (430, specFP45)
| "35l Fast Pack" -> (390, specFP45)
| "25l Strong Pack" -> (275, specSP25)
| "25l Fast Pack" -> (275, specFP25)
| "70l Alpine Pack" -> (550, specAC70)
| "60l Alpine Pack" -> (500, specAC60)
| "50l Alpine Pack" -> (460, specAC50)
| _ -> (0, spec_)
let pack_match str =
match str with
| "" -> (0, spec_)
| "65l Classic Pack" -> (630, specCP65)
| "55l Classic Pack" -> (600, specCP55)
| "45l Classic Pack" -> (430, specFP45)
| "35l Fast Pack" -> (390, specFP45)
| "25l Strong Pack" -> (275, specSP25)
| "25l Fast Pack" -> (275, specFP25)
| "70l Alpine Pack" -> (550, specAC70)
| "60l Alpine Pack" -> (500, specAC60)
| "50l Alpine Pack" -> (460, specAC50)
| _ -> (0, spec_)
let ultra_price str =
match str with
| "" -> 0
| "65l Classic Pack" -> 120
| "55l Classic Pack" -> 110
| "45l Classic Pack" -> 100
| "35l Fast Pack" -> 90
| "25l Strong Pack" -> 0
| "25l Fast Pack" -> 0
| "70l Alpine Pack" -> 120
| "60l Alpine Pack" -> 110
| "50l Alpine Pack" -> 100
| _ -> 0
let ultra_price str =
match str with
| "" -> 0
| "65l Classic Pack" -> 120
| "55l Classic Pack" -> 110
| "45l Classic Pack" -> 100
| "35l Fast Pack" -> 90
| "25l Strong Pack" -> 0
| "25l Fast Pack" -> 0
| "70l Alpine Pack" -> 120
| "60l Alpine Pack" -> 110
| "50l Alpine Pack" -> 100
| _ -> 0
let panel_match str =
match str with
| "" ->
(lucky, lucky, lucky)
| "65l Classic Pack" ->
(vx21, (List.concat [lucky; epx200; epx400]), ultra)
| "55l Classic Pack" ->
(vx21, (List.concat [lucky; epx200; epx400]), ultra)
| "45l Classic Pack" ->
((List.concat [lucky; vx07; vx21]), (List.concat [lucky; epx200]), ultra)
| "35l Fast Pack" ->
((List.concat [lucky; vx07; vx21]), (List.concat [lucky; epx200]), ultra)
| "25l Strong Pack" ->
((List.concat [lucky; epx200]), (List.concat [lucky; epx200]), (List.concat [lucky; epx200]))
| "25l Fast Pack" ->
(liteskin, liteskin, liteskin)
| "70l Alpine Pack" ->
(vx21, epx400, ultra)
| "60l Alpine Pack" ->
(vx21, epx400, ultra)
| "50l Alpine Pack" ->
(vx21, vx21, ultra)
| _ ->
(lucky, lucky, lucky)
let panel_match str =
match str with
| "" -> (lucky, lucky, lucky)
| "65l Classic Pack" -> (vx21, List.concat [ lucky; epx200; epx400 ], ultra)
| "55l Classic Pack" -> (vx21, List.concat [ lucky; epx200; epx400 ], ultra)
| "45l Classic Pack" ->
(List.concat [ lucky; vx07; vx21 ], List.concat [ lucky; epx200 ], ultra)
| "35l Fast Pack" ->
(List.concat [ lucky; vx07; vx21 ], List.concat [ lucky; epx200 ], ultra)
| "25l Strong Pack" ->
( List.concat [ lucky; epx200 ],
List.concat [ lucky; epx200 ],
List.concat [ lucky; epx200 ] )
| "25l Fast Pack" -> (liteskin, liteskin, liteskin)
| "70l Alpine Pack" -> (vx21, epx400, ultra)
| "60l Alpine Pack" -> (vx21, epx400, ultra)
| "50l Alpine Pack" -> (vx21, vx21, ultra)
| _ -> (lucky, lucky, lucky)
let pocket_match str =
match str with
| "" ->
(lucky, lucky, lucky)
| "65l Classic Pack" ->
((List.concat [lucky; vx07]), (List.concat [lucky; epx200]), (List.concat [lucky; vx07; epx200]))
| "55l Classic Pack" ->
((List.concat [lucky; vx07]), (List.concat [lucky; epx200]), (List.concat [lucky; vx07; epx200]))
| "45l Classic Pack" ->
((List.concat [lucky; liteskin; vx07]), (List.concat [lucky; epx200]), (List.concat [lucky; vx07; epx200]))
| "35l Fast Pack" ->
((List.concat [lucky; liteskin; vx07]), (List.concat [lucky; epx200]), (List.concat [lucky; vx07; epx200]))
| "25l Strong Pack" ->
(["Lycra"; "None"], ["Lycra"; "None"], ["Lycra"; "None"])
| "25l Fast Pack" ->
(["None"], ["None"], ["None"])
| "70l Alpine Pack" ->
((List.concat [lucky; vx21; vx42]), (List.concat [lucky; epx400; epx200]), ["Ultra"])
| "60l Alpine Pack" ->
((List.concat [lucky; vx21; vx42]), (List.concat [lucky; epx400; epx200]), ["Ultra"])
| "50l Alpine Pack" ->
((List.concat [lucky; vx21; vx42]), (List.concat [lucky; vx21; vx42]), ["Ultra"])
| _ ->
(lucky, lucky, lucky)
let pocket_match str =
match str with
| "" -> (lucky, lucky, lucky)
| "65l Classic Pack" ->
( List.concat [ lucky; vx07 ],
List.concat [ lucky; epx200 ],
List.concat [ lucky; vx07; epx200 ] )
| "55l Classic Pack" ->
( List.concat [ lucky; vx07 ],
List.concat [ lucky; epx200 ],
List.concat [ lucky; vx07; epx200 ] )
| "45l Classic Pack" ->
( List.concat [ lucky; liteskin; vx07 ],
List.concat [ lucky; epx200 ],
List.concat [ lucky; vx07; epx200 ] )
| "35l Fast Pack" ->
( List.concat [ lucky; liteskin; vx07 ],
List.concat [ lucky; epx200 ],
List.concat [ lucky; vx07; epx200 ] )
| "25l Strong Pack" ->
([ "Lycra"; "None" ], [ "Lycra"; "None" ], [ "Lycra"; "None" ])
| "25l Fast Pack" -> ([ "None" ], [ "None" ], [ "None" ])
| "70l Alpine Pack" ->
( List.concat [ lucky; vx21; vx42 ],
List.concat [ lucky; epx400; epx200 ],
[ "Ultra" ] )
| "60l Alpine Pack" ->
( List.concat [ lucky; vx21; vx42 ],
List.concat [ lucky; epx400; epx200 ],
[ "Ultra" ] )
| "50l Alpine Pack" ->
( List.concat [ lucky; vx21; vx42 ],
List.concat [ lucky; vx21; vx42 ],
[ "Ultra" ] )
| _ -> (lucky, lucky, lucky)
let rolltop_match str =
match str with
| "" ->
(lucky, lucky, lucky)
| "65l Classic Pack" ->
((List.concat [lucky; vx07]), (List.concat [lucky; epx200]), (List.concat [lucky; vx07; epx200]))
| "55l Classic Pack" ->
((List.concat [lucky; vx07]), (List.concat [lucky; epx200]), (List.concat [lucky; vx07; epx200]))
| "45l Classic Pack" ->
((List.concat [lucky; liteskin; vx07]), (List.concat [lucky; epx200]), (List.concat [lucky; vx07; epx200]))
| "35l Fast Pack" ->
((List.concat [lucky; liteskin; vx07]), (List.concat [lucky; epx200]), (List.concat [lucky; vx07; epx200]))
| "25l Strong Pack" ->
([""], [""], [""])
| "25l Fast Pack" ->
([""], [""], [""])
| "70l Alpine Pack" ->
((List.concat [lucky; vx07]), (List.concat [lucky; epx200]), (List.concat [lucky; vx07; epx200]))
| "60l Alpine Pack" ->
((List.concat [lucky; vx07]), (List.concat [lucky; epx200]), (List.concat [lucky; vx07; epx200]))
| "50l Alpine Pack" ->
((List.concat [lucky; vx07]), (List.concat [lucky; vx07; epx200]), (List.concat [lucky; vx07; epx200]))
| _ ->
(lucky, lucky, lucky)
let rolltop_match str =
match str with
| "" -> (lucky, lucky, lucky)
| "65l Classic Pack" ->
( List.concat [ lucky; vx07 ],
List.concat [ lucky; epx200 ],
List.concat [ lucky; vx07; epx200 ] )
| "55l Classic Pack" ->
( List.concat [ lucky; vx07 ],
List.concat [ lucky; epx200 ],
List.concat [ lucky; vx07; epx200 ] )
| "45l Classic Pack" ->
( List.concat [ lucky; liteskin; vx07 ],
List.concat [ lucky; epx200 ],
List.concat [ lucky; vx07; epx200 ] )
| "35l Fast Pack" ->
( List.concat [ lucky; liteskin; vx07 ],
List.concat [ lucky; epx200 ],
List.concat [ lucky; vx07; epx200 ] )
| "25l Strong Pack" -> ([ "" ], [ "" ], [ "" ])
| "25l Fast Pack" -> ([ "" ], [ "" ], [ "" ])
| "70l Alpine Pack" ->
( List.concat [ lucky; vx07 ],
List.concat [ lucky; epx200 ],
List.concat [ lucky; vx07; epx200 ] )
| "60l Alpine Pack" ->
( List.concat [ lucky; vx07 ],
List.concat [ lucky; epx200 ],
List.concat [ lucky; vx07; epx200 ] )
| "50l Alpine Pack" ->
( List.concat [ lucky; vx07 ],
List.concat [ lucky; vx07; epx200 ],
List.concat [ lucky; vx07; epx200 ] )
| _ -> (lucky, lucky, lucky)
match t with
| "light weight" -> l
| "a balance of durability and light weight" -> b
| "durability" -> d
| _ -> b
let pack_panels p g =
goal (panel_match p) g
match t with
| "light weight" -> l
| "a balance of durability and light weight" -> b
| "durability" -> d
| _ -> b
let pack_pockets p g =
goal (pocket_match p) g
let pack_panels p g = goal (panel_match p) g
let pack_pockets p g = goal (pocket_match p) g
let pack_rolltop p g = goal (rolltop_match p) g
let first_element list = match list with [] -> "" | hd :: tail -> hd
type state = {
i_am_going_for : string
; select_a_pack : string
; side_panels : string
; side_pockets : string
; back_panel : string
; rolltop : string
; torso : string
; waist : string
; bottle_pocket_quantity : string
; bottle_pocket_colour : string
; lid : string
; waist_bag : string
; shoulder_bag : string
; email : string
; first_name : string
; last_name : string
; postal_address : string
; shipping : string
; message : string
}
type state = {
i_am_going_for : string;
select_a_pack : string;
side_panels : string;
side_pockets : string;
back_panel : string;
rolltop : string;
torso : string;
waist : string;
bottle_pocket_quantity : string;
bottle_pocket_colour : string;
lid : string;
waist_bag : string;
shoulder_bag : string;
email : string;
first_name : string;
last_name : string;
postal_address : string;
shipping : string;
message : string;
}
let init : state =
{
i_am_going_for = first_element i_am_going_for_list
; select_a_pack = first_element pack_list
; side_panels = first_element lucky
; side_pockets = first_element lucky
; back_panel = first_element lucky
; rolltop = first_element lucky
; torso = ""
; waist = ""
; bottle_pocket_quantity = ""
; bottle_pocket_colour = first_element lucky
; lid = ""
; waist_bag = ""
; shoulder_bag = ""
; email = ""
; first_name = ""
; last_name = ""
; postal_address = ""
; shipping = first_element shipping_list
; message = ""
}
let init : state =
{
i_am_going_for = first_element i_am_going_for_list;
select_a_pack = first_element pack_list;
side_panels = first_element lucky;
side_pockets = first_element lucky;
back_panel = first_element lucky;
rolltop = first_element lucky;
torso = "";
waist = "";
bottle_pocket_quantity = "";
bottle_pocket_colour = first_element lucky;
lid = "";
waist_bag = "";
shoulder_bag = "";
email = "";
first_name = "";
last_name = "";
postal_address = "";
shipping = first_element shipping_list;
message = "";
}
let open Html in
let open Attribute in
p [] [
text "Plus NZD "
; text (state.select_a_pack |> ultra_price |> string_of_int)
; text " for Ultra 400TX"
let open Html in
let open Attribute in
p []
[
text "Plus NZD ";
text (state.select_a_pack |> ultra_price |> string_of_int);
text " for Ultra 400TX";
let excl_25 str =
match str with
| "25l Strong Pack" -> empty_view
| "25l Fast Pack" -> empty_view
| _ -> ultra_view
let excl_25 str =
match str with
| "25l Strong Pack" -> empty_view
| "25l Fast Pack" -> empty_view
| _ -> ultra_view
let get_ultra_view g p =
match g with
| "a balance of durability and light weight" -> empty_view
| "durability" -> excl_25 p
| "light weight" -> empty_view
| _ -> empty_view
let get_ultra_view g p =
match g with
| "a balance of durability and light weight" -> empty_view
| "durability" -> excl_25 p
| "light weight" -> empty_view
| _ -> empty_view
let open Html in
let open Attribute in
let details attrs nodes = node "details" attrs nodes in
let summary attrs nodes = node "summary" attrs nodes in
let a attrs nodes = node "a" attrs nodes in
div [] [
p [] [
text "Price NZD: "
; text (
state.select_a_pack |> pack_price |> string_of_int
)
]
; div [id "conditional"] [(get_ultra_view state.i_am_going_for state.select_a_pack state)]
; details [] [
summary [] [a [] [text "Specification"]]
; ul [] (List.map (fun x -> li [] [text x]) (state.select_a_pack |> pack_spec))
let open Html in
let open Attribute in
let details attrs nodes = node "details" attrs nodes in
let summary attrs nodes = node "summary" attrs nodes in
let a attrs nodes = node "a" attrs nodes in
div []
[
p []
[
text "Price NZD: ";
text (state.select_a_pack |> pack_price |> string_of_int);
];
div
[ id "conditional" ]
[ get_ultra_view state.i_am_going_for state.select_a_pack state ];
details []
[
summary [] [ a [] [ text "Specification" ] ];
ul []
(List.map
(fun x -> li [] [ text x ])
(state.select_a_pack |> pack_spec));
];
let open Html in
let open Attribute in
let bottle_pocket_quantity str = Bottle_pocket_quantity str in
let bottle_pocket_colour str = Bottle_pocket_colour str in
let lid str = Lid str in
let waist_bag str = Waist_bag str in
let shoulder_bag str = Shoulder_bag str in
let figure attrs nodes = node "figure" attrs nodes in
let article attrs nodes = node "article" attrs nodes in
let table attrs nodes = node "table" attrs nodes in
let tr attrs nodes = node "tr" attrs nodes in
let td attrs nodes = node "td" attrs nodes in
figure [] [
table [style "width" "350%"] [
tr [] [
td [style "width" "25%"] [
article [] [
div [class_ "grid"] [
label [attribute "for" "bottle_pocket_quantity"] [text "Strap Bottle Pockets"
; select [
attribute "type" "text"
;attribute "name" "bottle_pocket_quantity"
;id "bottle_pocket_quantity"
; value state.bottle_pocket_quantity
; on_input bottle_pocket_quantity
]
(List.map (fun x -> node "option" [] [text x]) [""; "1"; "2"; "3"; "4"])
]
; label [attribute "for" "bottle_pocket_colour"] [text "Colour"
;select [
attribute "type" "text"
; attribute "name" "bottle_pocket_colour"
; id "bottle_pocket_colour"
; value state.bottle_pocket_colour
; on_input bottle_pocket_colour
]
(List.map (fun x -> node "option" [] [text x]) (List.concat [lucky; vx07; epx200]))
]
]
; p [] [text "Price NZD: " ; text (string_of_int bottle_pocket_price); text " each"]
]
]
; td [style "width" "25%"] [
article [] [
label [attribute "for" "lid"] [text "Backpack Lid"
;select [
attribute "type" "text"
; attribute "name" "lid"
; id "lid"
; value state.lid
; on_input lid
]
(List.map (fun x -> node "option" [] [text x]) [""; "Yes please, add lid."])
]
; p [] [text "Price NZD: " ; text (string_of_int lid_price)]
; p [] [text "The lid fits all Fiordland Packs with a Y stap, it will not fit a 25l or 35l pack. Made from grey HDPE Gridstop. Weighs ~100g"]
]
]
; td [style "width" "25%"] [
article [] [
label [attribute "for" "waist_bag"] [text "Waist Bag"
;select [
attribute "type" "text"
; attribute "name" "waist_bag"
; id "waist_bag"
; value state.waist_bag
; on_input waist_bag
]
(List.map (fun x -> node "option" [] [text x]) (List.concat [[""]; vx07; epx200]))
]
; p [] [text "Price NZD: " ; text (string_of_int waist_bag_price)]
]
]
; td [style "width" "25%"] [
article [] [
label [attribute "for" "shoulder_bag"] [text "Shoulder Bag"
;select [
attribute "type" "text"
; attribute "name" "shoulder_bag"
; id "shoulder_bag"
; value state.shoulder_bag
; on_input shoulder_bag
]
(List.map (fun x -> node "option" [] [text x]) (List.concat [[""]; vx07; epx200]))
]
; p [] [text "Price NZD: " ; text (string_of_int shoulder_bag_price)]
]
]
let open Html in
let open Attribute in
let bottle_pocket_quantity str = Bottle_pocket_quantity str in
let bottle_pocket_colour str = Bottle_pocket_colour str in
let lid str = Lid str in
let waist_bag str = Waist_bag str in
let shoulder_bag str = Shoulder_bag str in
let figure attrs nodes = node "figure" attrs nodes in
let article attrs nodes = node "article" attrs nodes in
let table attrs nodes = node "table" attrs nodes in
let tr attrs nodes = node "tr" attrs nodes in
let td attrs nodes = node "td" attrs nodes in
figure []
[
table
[ style "width" "350%" ]
[
tr []
[
td
[ style "width" "25%" ]
[
article []
[
div
[ class_ "grid" ]
[
label
[ attribute "for" "bottle_pocket_quantity" ]
[
text "Strap Bottle Pockets";
select
[
attribute "type" "text";
attribute "name" "bottle_pocket_quantity";
id "bottle_pocket_quantity";
value state.bottle_pocket_quantity;
on_input bottle_pocket_quantity;
]
(List.map
(fun x -> node "option" [] [ text x ])
[ ""; "1"; "2"; "3"; "4" ]);
];
label
[ attribute "for" "bottle_pocket_colour" ]
[
text "Colour";
select
[
attribute "type" "text";
attribute "name" "bottle_pocket_colour";
id "bottle_pocket_colour";
value state.bottle_pocket_colour;
on_input bottle_pocket_colour;
]
(List.map
(fun x -> node "option" [] [ text x ])
(List.concat [ lucky; vx07; epx200 ]));
];
];
p []
[
text "Price NZD: ";
text (string_of_int bottle_pocket_price);
text " each";
];
];
];
td
[ style "width" "25%" ]
[
article []
[
label
[ attribute "for" "lid" ]
[
text "Backpack Lid";
select
[
attribute "type" "text";
attribute "name" "lid";
id "lid";
value state.lid;
on_input lid;
]
(List.map
(fun x -> node "option" [] [ text x ])
(lid_options state.select_a_pack));
];
p []
[ text "Price NZD: "; text (string_of_int lid_price) ];
p []
[
text
"The lid fits all Fiordland Packs with a Y stap, \
it will not fit a 25l or 35l pack. Made from grey \
HDPE Gridstop. Weighs ~100g";
];
];
];
td
[ style "width" "25%" ]
[
article []
[
label
[ attribute "for" "waist_bag" ]
[
text "Waist Bag";
select
[
attribute "type" "text";
attribute "name" "waist_bag";
id "waist_bag";
value state.waist_bag;
on_input waist_bag;
]
(List.map
(fun x -> node "option" [] [ text x ])
(List.concat [ [ "" ]; vx07; epx200 ]));
];
p []
[
text "Price NZD: ";
text (string_of_int waist_bag_price);
];
];
];
td
[ style "width" "25%" ]
[
article []
[
label
[ attribute "for" "shoulder_bag" ]
[
text "Shoulder Bag";
select
[
attribute "type" "text";
attribute "name" "shoulder_bag";
id "shoulder_bag";
value state.shoulder_bag;
on_input shoulder_bag;
]
(List.map
(fun x -> node "option" [] [ text x ])
(List.concat [ [ "" ]; vx07; epx200 ]));
];
p []
[
text "Price NZD: ";
text (string_of_int shoulder_bag_price);
];
];
];
];
];
let get_pack_view str =
match str with
| "" -> empty_view
| "65l Classic Pack" -> pack_view
| "55l Classic Pack" -> pack_view
| "45l Classic Pack" -> pack_view
| "35l Fast Pack" -> pack_view
| "25l Strong Pack" -> pack_view
| "25l Fast Pack" -> pack_view
| "70l Alpine Pack" -> pack_view
| "60l Alpine Pack" -> pack_view
| "50l Alpine Pack" -> pack_view
| _ -> empty_view
let get_pack_view str =
match str with
| "" -> empty_view
| "65l Classic Pack" -> pack_view
| "55l Classic Pack" -> pack_view
| "45l Classic Pack" -> pack_view
| "35l Fast Pack" -> pack_view
| "25l Strong Pack" -> pack_view
| "25l Fast Pack" -> pack_view
| "70l Alpine Pack" -> pack_view
| "60l Alpine Pack" -> pack_view
| "50l Alpine Pack" -> pack_view
| _ -> empty_view
let open Html in
let open Attribute in
let img attrs nodes = node "img" attrs nodes in
div [] [
div [class_ "grid"] [
div [] []
; img [src "logo.svg"] []
; div [] []
let open Html in
let open Attribute in
let img attrs nodes = node "img" attrs nodes in
div []
[
div [ class_ "grid" ] [ div [] []; img [ src "logo.svg" ] []; div [] [] ];
p []
[
text
"Please complete this order form. I'll send an invoice tomorrow \
morning. Payment is by direct \n\
\ deposit or Stripe. Wait time is currently 2-3 weeks.";
];
let open Html in
let open Attribute in
let details attrs nodes = node "details" attrs nodes in
let summary attrs nodes = node "summary" attrs nodes in
let a attrs nodes = node "a" attrs nodes in
details [] [
summary [] [a [] [text "Contact Fiordland Packs"]]
; ul [] [
li [] [a [href "https://fiordlandpacks.nz"] [text "fiordlandpacks.nz"]]
; li [] [a [href "mailto:david@fiordlandpacks.nz"] [text "Email"]]
; li [] [a [href "tel:+0277561938"] [text "Phone"]]
; li [] [
details [] [
summary [] [a [] [text "Visit"]]
; p [] [ text "38 Caswell Road, Te Anau, Te Anau 9600" ]
]
]
let open Html in
let open Attribute in
let details attrs nodes = node "details" attrs nodes in
let summary attrs nodes = node "summary" attrs nodes in
let a attrs nodes = node "a" attrs nodes in
details []
[
summary [] [ a [] [ text "Contact Fiordland Packs" ] ];
ul []
[
li []
[
a
[ href "https://fiordlandpacks.nz" ]
[ text "fiordlandpacks.nz" ];
];
li [] [ a [ href "mailto:david@fiordlandpacks.nz" ] [ text "Email" ] ];
li [] [ a [ href "tel:+0277561938" ] [ text "Phone" ] ];
li []
[
details []
[
summary [] [ a [] [ text "Visit" ] ];
p [] [ text "38 Caswell Road, Te Anau, Te Anau 9600" ];
];
];
];
let open Html in
let open Attribute in
let torso str = Torso str in
let waist str = Waist str in
let details attrs nodes = node "details" attrs nodes in
let summary attrs nodes = node "summary" attrs nodes in
let a attrs nodes = node "a" attrs nodes in
div [] [
div [] [
details [] [
summary [] [a [] [text "How to measure your torso"]]
; p [] [text "Find your C7 vertebra by bowing your head forward and finding the big bump sticking out on your spine at the bottom of your neck or around shoulder height."]
; p [] [text "Find the top of your sacrum by placing your fore fingers on your hip bones (the Posterior Superior Iliac Spine), thumbs pointing in and resting in the small of your back."]
; p [] [text "Use a tape measure or piece of string to measure the length of your spine inbetween, conforming to the curves of your back."]
]
]
;label [attribute "for" "torso"] [text "Torso Length"; input [
attribute "type" "text"
; attribute "name" "torso"
; id "torso"
; value state.torso
; on_input torso
] []]
; label [attribute "for" "waist"] [text "Waist Circumference"; input [
attribute "type" "text"
; attribute "name" "waist"
; id "waist"
; value state.waist
; on_input waist
] []]
]
let open Html in
let open Attribute in
let torso str = Torso str in
let waist str = Waist str in
let details attrs nodes = node "details" attrs nodes in
let summary attrs nodes = node "summary" attrs nodes in
let a attrs nodes = node "a" attrs nodes in
div []
[
div []
[
details []
[
summary [] [ a [] [ text "How to measure your torso" ] ];
p []
[
text
"Find your C7 vertebra by bowing your head forward and \
finding the big bump sticking out on your spine at the \
bottom of your neck or around shoulder height.";
];
p []
[
text
"Find the top of your sacrum by placing your fore fingers \
on your hip bones (the Posterior Superior Iliac Spine), \
thumbs pointing in and resting in the small of your back.";
];
p []
[
text
"Use a tape measure or piece of string to measure the \
length of your spine inbetween, conforming to the curves \
of your back.";
];
];
];
label
[ attribute "for" "torso" ]
[
text "Torso Length";
input
[
attribute "type" "text";
attribute "name" "torso";
id "torso";
value state.torso;
on_input torso;
]
[];
];
label
[ attribute "for" "waist" ]
[
text "Waist Circumference";
input
[
attribute "type" "text";
attribute "name" "waist";
id "waist";
value state.waist;
on_input waist;
]
[];
];
]
let get_measurement_view str =
match str with
| "" -> empty_view
| "65l Classic Pack" -> measurement_view
| "55l Classic Pack" -> measurement_view
| "45l Classic Pack" -> measurement_view
| "35l Fast Pack" -> measurement_view
| "25l Strong Pack" -> empty_view
| "25l Fast Pack" -> empty_view
| "70l Alpine Pack" -> measurement_view
| "60l Alpine Pack" -> measurement_view
| "50l Alpine Pack" -> measurement_view
| _ -> empty_view
let get_measurement_view str =
match str with
| "" -> empty_view
| "65l Classic Pack" -> measurement_view
| "55l Classic Pack" -> measurement_view
| "45l Classic Pack" -> measurement_view
| "35l Fast Pack" -> measurement_view
| "25l Strong Pack" -> empty_view
| "25l Fast Pack" -> empty_view
| "70l Alpine Pack" -> measurement_view
| "60l Alpine Pack" -> measurement_view
| "50l Alpine Pack" -> measurement_view
| _ -> empty_view
let open Html in
let open Attribute in
let rolltop str = Rolltop str in
div [] [
label [attribute "for" "rolltop"] [
text "Rolltop: Colour & Fabric"
; select [
attribute "type" "text"
; attribute "name" "rolltop"
; id "rolltop"
; value state.rolltop
; on_input rolltop
]
(List.map (fun x -> node "option" [] [text x]) (pack_rolltop state.select_a_pack state.i_am_going_for))
let open Html in
let open Attribute in
let rolltop str = Rolltop str in
div []
[
label
[ attribute "for" "rolltop" ]
[
text "Rolltop: Colour & Fabric";
select
[
attribute "type" "text";
attribute "name" "rolltop";
id "rolltop";
value state.rolltop;
on_input rolltop;
]
(List.map
(fun x -> node "option" [] [ text x ])
(pack_rolltop state.select_a_pack state.i_am_going_for));
];
let get_rolltop_view str =
match str with
| "" -> rolltop_view
| "65l Classic Pack" -> rolltop_view
| "55l Classic Pack" -> rolltop_view
| "45l Classic Pack" -> rolltop_view
| "35l Fast Pack" -> rolltop_view
| "25l Strong Pack" -> empty_view
| "25l Fast Pack" -> empty_view
| "70l Alpine Pack" -> rolltop_view
| "60l Alpine Pack" -> rolltop_view
| "50l Alpine Pack" -> rolltop_view
| _ -> rolltop_view
let get_rolltop_view str =
match str with
| "" -> rolltop_view
| "65l Classic Pack" -> rolltop_view
| "55l Classic Pack" -> rolltop_view
| "45l Classic Pack" -> rolltop_view
| "35l Fast Pack" -> rolltop_view
| "25l Strong Pack" -> empty_view
| "25l Fast Pack" -> empty_view
| "70l Alpine Pack" -> rolltop_view
| "60l Alpine Pack" -> rolltop_view
| "50l Alpine Pack" -> rolltop_view
| _ -> rolltop_view
match state.bottle_pocket_quantity with
| "" -> 0
| "1" -> 1
| "2" -> 2
| "3" -> 3
| "4" -> 4
| _ -> 0
let pack_total state = (state.select_a_pack |> pack_price)
match state.bottle_pocket_quantity with
| "" -> 0
| "1" -> 1
| "2" -> 2
| "3" -> 3
| "4" -> 4
| _ -> 0
let bottle_pocket_total state = (int_of_bp_qty state) * bottle_pocket_price
let ultra_total state =
is_durability_selected (state.select_a_pack |> ultra_price) state
let bottle_pocket_total state = int_of_bp_qty state * bottle_pocket_price
let total state =
pack_total state
+ ultra_total state
+ bottle_pocket_total state
+ lid_total state
+ waist_bag_total state
+ shoulder_bag_total state
+ shipping_cost state.shipping
let total state =
pack_total state + ultra_total state + bottle_pocket_total state
+ lid_total state + waist_bag_total state + shoulder_bag_total state
+ shipping_cost state.shipping
let open Html in
let open Attribute in
p [] [
text "Total: NZD "
; text (
total state
|> string_of_int
)
]
let open Html in
let open Attribute in
p [] [ text "Total: NZD "; text (total state |> string_of_int) ]
let open Html in
let open Attribute in
div [] [
li [] [ text "i am going for: "; text state.i_am_going_for ]
; li [] [ text "select a pack: "; text state.select_a_pack ]
; li [] [ text "side panels: "; text state.side_panels ]
; li [] [ text "side pockets: "; text state.side_pockets ]
; li [] [ text "back panel: "; text state.back_panel ]
; li [] [ text "rolltop: "; text state.rolltop ]
; li [] [ text "torso: "; text state.torso ]
; li [] [ text "waist: "; text state.waist ]
; li [] [ text "bottle pocket quantity: "; text state.bottle_pocket_quantity ]
; li [] [ text "bottle pocket colour: "; text state.bottle_pocket_colour ]
; li [] [ text "lid: "; text state.lid ]
; li [] [ text "waist bag: "; text state.waist_bag ]
; li [] [ text "shoulder bag: "; text state.shoulder_bag ]
; li [] [ text "first name: "; text state.first_name ]
; li [] [ text "last name: "; text state.last_name ]
; li [] [ text "email: "; text state.email ]
; li [] [ text "postal address: "; text state.postal_address ]
; li [] [ text "shipping: "; text state.shipping]
; li [] [ text "message: "; text state.message ]
]
let open Html in
let open Attribute in
div []
[
li [] [ text "i am going for: "; text state.i_am_going_for ];
li [] [ text "select a pack: "; text state.select_a_pack ];
li [] [ text "side panels: "; text state.side_panels ];
li [] [ text "side pockets: "; text state.side_pockets ];
li [] [ text "back panel: "; text state.back_panel ];
li [] [ text "rolltop: "; text state.rolltop ];
li [] [ text "torso: "; text state.torso ];
li [] [ text "waist: "; text state.waist ];
li []
[ text "bottle pocket quantity: "; text state.bottle_pocket_quantity ];
li [] [ text "bottle pocket colour: "; text state.bottle_pocket_colour ];
li [] [ text "lid: "; text state.lid ];
li [] [ text "waist bag: "; text state.waist_bag ];
li [] [ text "shoulder bag: "; text state.shoulder_bag ];
li [] [ text "first name: "; text state.first_name ];
li [] [ text "last name: "; text state.last_name ];
li [] [ text "email: "; text state.email ];
li [] [ text "postal address: "; text state.postal_address ];
li [] [ text "shipping: "; text state.shipping ];
li [] [ text "message: "; text state.message ];
]
let open Html in
let open Attribute in
let i_am_going_for str = I_am_going_for str in
let select_a_pack str = Select_a_pack str in
let side_panels str = Side_panels str in
let side_pockets str = Side_pockets str in
let back_panel str = Back_panel str in
let first_name str = First_name str in
let last_name str = Last_name str in
let email str = Email str in
let postal_address str = Postal_address str in
let shipping str = Shipping str in
let message str = Message str in
let open Html in
let open Attribute in
let i_am_going_for str = I_am_going_for str in
let select_a_pack str = Select_a_pack str in
let side_panels str = Side_panels str in
let side_pockets str = Side_pockets str in
let back_panel str = Back_panel str in
let first_name str = First_name str in
let last_name str = Last_name str in
let email str = Email str in
let postal_address str = Postal_address str in
let shipping str = Shipping str in
let message str = Message str in
let section attrs nodes = node "section" attrs nodes in
let form attrs nodes = node "form" attrs nodes in
let mark attrs nodes = node "mark" attrs nodes in
div [class_ "container"] [
section [id "header"] [ header_view state ]
; section [id "main"] [
form [attribute "action" "https://formspree.io/f/mjvnykql"; attribute "method" "post"] [
section [id "backpacks"] [
label [attribute "for" "select_a_pack"] [
mark [] [text "Select a backpack"]
; select [
attribute "type" "text"
; attribute "name" "select_a_pack"
; id "select_a_pack"
; value state.select_a_pack
; on_input select_a_pack
]
(List.map (fun x -> node "option" [] [text x]) pack_list)
]
; label [attribute "for" "i_am_going_for"] [text "I'm going for"; select [
attribute "type" "text"
; attribute "name" "i_am_going_for"
; id "i_am_going_for"
; value state.i_am_going_for
; on_input i_am_going_for
]
(List.map (fun x -> node "option" [] [text x]) i_am_going_for_list)
]
; section [id "conditional"] [get_pack_view state.select_a_pack state]
; section [id "fabric_and_colour"] [
label [attribute "for" "side_panels"] [
text "Side Panels: Colour & Fabric"
; select [
attribute "type" "text"
; attribute "name" "side_panels"
; id "side_panels"
; value state.side_panels
; on_input side_panels
]
(List.map (fun x -> node "option" [] [text x]) (pack_panels state.select_a_pack state.i_am_going_for))
]
; label [attribute "for" "side_pockets"] [
text "Side Pockets: Colour & Fabric"
; select [
attribute "type" "text"
; attribute "name" "side_pockets"
; id "side_pockets"
; value state.side_pockets
; on_input side_pockets
]
(List.map (fun x -> node "option" [] [text x]) (pack_pockets state.select_a_pack state.i_am_going_for))
]
; label [attribute "for" "back_panel"] [
text "Back Panel: Colour & Fabric"
; select [
attribute "type" "text"
; attribute "name" "back_panel"
; id "back_panel"
; value state.back_panel
; on_input back_panel
]
(List.map (fun x -> node "option" [] [text x]) (pack_panels state.select_a_pack state.i_am_going_for))
]
; get_rolltop_view state.select_a_pack state
]
let section attrs nodes = node "section" attrs nodes in
let form attrs nodes = node "form" attrs nodes in
let mark attrs nodes = node "mark" attrs nodes in
div
[ class_ "container" ]
[
section [ id "header" ] [ header_view state ];
section
[ id "main" ]
[
form
[
attribute "action" "https://formspree.io/f/mjvnykql";
attribute "method" "post";
; section [id "measurements"] [
get_measurement_view state.select_a_pack state
]
; section [id "accessories"] [ accessory_view state ]
; section [id "personal_details"] [
label [attribute "for" "email"] [text "Email"; input [
attribute "type" "email"
; attribute "name" "_replyto"
; id "email"
; value state.email
; on_input email
] []]
; div [class_ "grid"] [
label [attribute "for" "first_name"] [text "First Name"; input [
attribute "type" "text"
; attribute "name" "first_name"
; id "first_name"
; value state.first_name
; on_input first_name
] []]
; label [attribute "for" "last_name"] [text "Last Name"; input [
attribute "type" "text"
; attribute "name" "last_name"
; id "last_name"
; value state.last_name
; on_input last_name
] []]
]
; label [attribute "for" "postal_address"] [text "Postal Address"; textarea [
attribute "type" "text"
; attribute "name" "postal_address"
; id "postal_address"
; value state.postal_address
; on_input postal_address
] []]
; label [attribute "for" "shipping"] [
text "Shipping by NZ Post Courier"
; select [
attribute "type" "text"
; attribute "name" "shipping"
; id "shipping"
; value state.shipping
; on_input shipping
]
(List.map (fun x -> node "option" [] [text x]) shipping_list )
; p [] [is_shipping_zero (shipping_cost state.shipping) state]
]
]
; section [id "tail"] [
label [attribute "for" "message"] [text "Message"; textarea [
attribute "type" "text"
; attribute "name" "message"
; id "message"
; value state.message
; on_input message
] []]
; section [id "total"] [
p [] [is_total_zero (total state) state]
; button [attribute "type" "submit"] [text "Send"]
]
; section [id "contact"] [ contact_view state ]
]
[
section
[ id "backpacks" ]
[
label
[ attribute "for" "select_a_pack" ]
[
mark [] [ text "Select a backpack" ];
select
[
attribute "type" "text";
attribute "name" "select_a_pack";
id "select_a_pack";
value state.select_a_pack;
on_input select_a_pack;
]
(List.map
(fun x -> node "option" [] [ text x ])
pack_list);
];
label
[ attribute "for" "i_am_going_for" ]
[
text "I'm going for";
select
[
attribute "type" "text";
attribute "name" "i_am_going_for";
id "i_am_going_for";
value state.i_am_going_for;
on_input i_am_going_for;
]
(List.map
(fun x -> node "option" [] [ text x ])
i_am_going_for_list);
];
section
[ id "conditional" ]
[ get_pack_view state.select_a_pack state ];
section
[ id "fabric_and_colour" ]
[
label
[ attribute "for" "side_panels" ]
[
text "Side Panels: Colour & Fabric";
select
[
attribute "type" "text";
attribute "name" "side_panels";
id "side_panels";
value state.side_panels;
on_input side_panels;
]
(List.map
(fun x -> node "option" [] [ text x ])
(pack_panels state.select_a_pack
state.i_am_going_for));
];
label
[ attribute "for" "side_pockets" ]
[
text "Side Pockets: Colour & Fabric";
select
[
attribute "type" "text";
attribute "name" "side_pockets";
id "side_pockets";
value state.side_pockets;
on_input side_pockets;
]
(List.map
(fun x -> node "option" [] [ text x ])
(pack_pockets state.select_a_pack
state.i_am_going_for));
];
label
[ attribute "for" "back_panel" ]
[
text "Back Panel: Colour & Fabric";
select
[
attribute "type" "text";
attribute "name" "back_panel";
id "back_panel";
value state.back_panel;
on_input back_panel;
]
(List.map
(fun x -> node "option" [] [ text x ])
(pack_panels state.select_a_pack
state.i_am_going_for));
];
get_rolltop_view state.select_a_pack state;
];
];
section
[ id "measurements" ]
[ get_measurement_view state.select_a_pack state ];
section [ id "accessories" ] [ accessory_view state ];
section
[ id "personal_details" ]
[
label
[ attribute "for" "email" ]
[
text "Email";
input
[
attribute "type" "email";
attribute "name" "_replyto";
id "email";
value state.email;
on_input email;
]
[];
];
div
[ class_ "grid" ]
[
label
[ attribute "for" "first_name" ]
[
text "First Name";
input
[
attribute "type" "text";
attribute "name" "first_name";
id "first_name";
value state.first_name;
on_input first_name;
]
[];
];
label
[ attribute "for" "last_name" ]
[
text "Last Name";
input
[
attribute "type" "text";
attribute "name" "last_name";
id "last_name";
value state.last_name;
on_input last_name;
]
[];
];
];
label
[ attribute "for" "postal_address" ]
[
text "Postal Address";
textarea
[
attribute "type" "text";
attribute "name" "postal_address";
id "postal_address";
value state.postal_address;
on_input postal_address;
]
[];
];
label
[ attribute "for" "shipping" ]
[
text "Shipping by NZ Post Courier";
select
[
attribute "type" "text";
attribute "name" "shipping";
id "shipping";
value state.shipping;
on_input shipping;
]
(List.map
(fun x -> node "option" [] [ text x ])
shipping_list);
p []
[
is_shipping_zero (shipping_cost state.shipping) state;
];
];
];
section
[ id "tail" ]
[
label
[ attribute "for" "message" ]
[
text "Message";
textarea
[
attribute "type" "text";
attribute "name" "message";
id "message";
value state.message;
on_input message;
]
[];
];
section
[ id "total" ]
[
p [] [ is_total_zero (total state) state ];
button [ attribute "type" "submit" ] [ text "Send" ];
];
section [ id "contact" ] [ contact_view state ];
];
];
| I_am_going_for str -> { state with i_am_going_for = str }
| Select_a_pack str -> { state with select_a_pack = str }
| Side_panels str -> { state with side_panels = str }
| Side_pockets str -> { state with side_pockets = str }
| Back_panel str -> { state with back_panel = str }
| Rolltop str -> { state with rolltop = str }
| Torso str -> {state with torso = str }
| Waist str -> { state with waist = str }
| Bottle_pocket_quantity str -> { state with bottle_pocket_quantity = str }
| Bottle_pocket_colour str -> { state with bottle_pocket_colour = str }
| Lid str -> { state with lid = str }
| Waist_bag str -> { state with waist_bag = str }
| Shoulder_bag str -> { state with shoulder_bag = str }
| First_name str -> { state with first_name = str }
| Last_name str -> { state with last_name = str }
| Email str -> { state with email = str }
| Postal_address str -> { state with postal_address = str }
| Shipping str -> { state with shipping = str }
| Message str -> { state with message = str }
| I_am_going_for str -> { state with i_am_going_for = str }
| Select_a_pack str -> { state with select_a_pack = str }
| Side_panels str -> { state with side_panels = str }
| Side_pockets str -> { state with side_pockets = str }
| Back_panel str -> { state with back_panel = str }
| Rolltop str -> { state with rolltop = str }
| Torso str -> { state with torso = str }
| Waist str -> { state with waist = str }
| Bottle_pocket_quantity str -> { state with bottle_pocket_quantity = str }
| Bottle_pocket_colour str -> { state with bottle_pocket_colour = str }
| Lid str -> { state with lid = str }
| Waist_bag str -> { state with waist_bag = str }
| Shoulder_bag str -> { state with shoulder_bag = str }
| First_name str -> { state with first_name = str }
| Last_name str -> { state with last_name = str }
| Email str -> { state with email = str }
| Postal_address str -> { state with postal_address = str }
| Shipping str -> { state with shipping = str }
| Message str -> { state with message = str }
aM=" ",ad="0",d5="compare: functional value",ai="src/std/array.ml",d4="mkdir",bW=1000,aN="45l Classic Pack",gQ="@[",b0="int_of_string",dz="fs",E="type",gw="%u",gO="Yes please, add lid.",gP="/static/",gb="Pear shaped (wider at hip level)",gc="%i",dO="summary",gN="4",g_="%ni",aQ=0xff,gM="Assert_failure",d3="grid",aL="65l Classic Pack",ga="0x",gv=0x7ff0,aC="25l Fast Pack",f$=0xdfff,gu="End_of_file",cq="25%",a5="Sternum Strap",bZ="src/browser/handler.ml",f_=": closedir failed",g9="Out_of_memory",ef="Large side pockets with bungy cord closure",f9="p",dy="bottle_pocket_quantity",f8="Not_found",g8="href",ee="Failure",aK="35l Fast Pack",cv="Unix.Unix_error",dx="Brilliant for alpine use, bush bashing, packrafting, carrying tripods, skis etc.",dN="6 compression straps (removable)",gt="^",cp="Weight: 1 to 1.2 kilograms depending on fabric selection and torso length",T="text",dM="ENOTDIR",d2="light weight",ed="back_panel",f7="%Li",cu="durability",f6="Invalid_argument",ck=254,dL="email",bv="+",gL="2",g7=", characters ",bS="Carry quite a considerable load (but not 40kg of meat)",aB=0xffffff,co=120,aq="option",gK=1027,bV=1024,d1="1 Ice Axe Loop",f5=430,gs="Pervasives.do_at_exit",gr=65536,ec="torso",bB="Tapered rolltop with 19mm side release buckle",eb="a balance of durability and light weight",dK=0xf,f3=", ",f4=512,bU="Replaceable EVA foam back padding",gJ="North Island",g5="Match_failure",g6="closedir",f0="%li",f1="USA",f2=1026,bR="Price NZD: ",aP="55l Classic Pack",dw="nan",e="",du="src/browser/dictionary.ml",dv="rmdir",d0="Fatal error: exception ",gq="infinity",F="camlinternalFormat.ml",dZ="Height: 87cm",gp="fd ",bA="None",aJ="70l Alpine Pack",dJ="shipping",bY="Removable aluminium frame",ea="waist_bag",dt="bottle_pocket_colour",N=248,g4="Slightly narrower at hip level, tapered rolltop",dI="lid",g3=0xe0,cn=24029,go=0xf0,bz="Y strap (over the top)",fZ="2 Side Compression Straps (each side)",gn="Sys_error",au=0x80,gH=275,gI="src/js/dom.ml",gG="ENOTEMPTY",g2="EEXIST",aI="50l Alpine Pack",dY=1255,ds="message",ct="src/browser/browser.ml",fY="value",dH="rolltop",g1="Collect",dr=" : flags Open_text and Open_binary are not compatible",dF="Lycra",dG="e",dX="select_a_pack",gF="Email",O="for",dq=": Not a directory",gm="Removable 25mm webbing waist belt",dE="ENOENT",gE="Stack_overflow",dD="side_panels",gZ="Replaceable Pack Base",g0="Undefined_recursive_module",gD="South Island",dW="details",at=0x8000,cm="a",gl=0x800,gC=-48,fX=" : is a directory",gj="@{",gk="Division_by_zero",be=".",dV="Small side pockets for snow stakes or paddles",dU="side_pockets",M="name",by=0x3f,gY=114,bx="Load lifters",dC=110,gi=101,dB=" : file already exists",gh="Large HDPE Gridstop back pocket with 3mm bungy cord",a="src/std/btree.ml",bT=128,cs=": No such file or directory",gg=255,bX="width",gX=256,cl=100,bw="Internal pocket that can double as a shoulder bag",dp="index out of bounds",aD="/",d$="i_am_going_for",gB="To be calculated",gW="Height: 80cm",cj=252,gf="click",d_="Flat Lycra Hip Belt Pockets",dn="%d",fW=": file descriptor already closed",bd="-",dT="Carry a reasonable load",dm="EBADF",gU="1",d9="waist",gV="conditional",ge=-97,gA="Australia",gT="Printexc.handle_uncaught_exception",aO="60l Alpine Pack",fV=12520,d8=" : flags Open_rdonly and Open_wronly are not compatible",dA="last_name",fU="Europe",dS="Ice axe toggles",gz="Fatal error: exception %s\n",dl="Ultra",dk="shoulder_bag",d7="postal_address",fS="3",fT=250,fR="Slightly narrower at hip level",dQ="Gear Loops (on waist belt)",dR="first_name",gy=341,gd="([^/]+)",gx="input",dP="jsError",fQ=103,ci='"',d6=127,av=0xffff,dj="Loops to carry hiking poles",aA="25l Strong Pack",fP=0xdc00,gS="Sys_blocked_io",gR="_",di="target",cr="_bigarr02";function
q4(a,b){var
aM=" ",ad="0",d5="compare: functional value",ai="src/std/array.ml",d4="mkdir",bW=1000,aN="45l Classic Pack",gR="@[",eg="Lid does not fit",b0="int_of_string",dz="fs",E="type",gx="%u",gP="Yes please, add lid.",gQ="/static/",gc="Pear shaped (wider at hip level)",gd="%i",dO="summary",gO="4",g$="%ni",aQ=0xff,gN="Assert_failure",d3="grid",aL="65l Classic Pack",gb="0x",gw=0x7ff0,au="25l Fast Pack",ga=0xdfff,gv="End_of_file",cq="25%",a5="Sternum Strap",bZ="src/browser/handler.ml",f$=": closedir failed",g_="Out_of_memory",ef="Large side pockets with bungy cord closure",f_="p",dy="bottle_pocket_quantity",f9="Not_found",g9="href",ee="Failure",aD="35l Fast Pack",cv="Unix.Unix_error",dx="Brilliant for alpine use, bush bashing, packrafting, carrying tripods, skis etc.",dN="6 compression straps (removable)",gu="^",cp="Weight: 1 to 1.2 kilograms depending on fabric selection and torso length",T="text",dM="ENOTDIR",d2="light weight",ed="back_panel",f8="%Li",cu="durability",f7="Invalid_argument",ck=254,dL="email",bv="+",gM="2",g8=", characters ",bS="Carry quite a considerable load (but not 40kg of meat)",aC=0xffffff,co=120,aq="option",gL=1027,bV=1024,d1="1 Ice Axe Loop",f6=430,gt="Pervasives.do_at_exit",gs=65536,ec="torso",bB="Tapered rolltop with 19mm side release buckle",eb="a balance of durability and light weight",dK=0xf,f4=", ",f5=512,bU="Replaceable EVA foam back padding",gK="North Island",g6="Match_failure",g7="closedir",f1="%li",f2="USA",f3=1026,bR="Price NZD: ",aP="55l Classic Pack",dw="nan",e="",du="src/browser/dictionary.ml",dv="rmdir",d0="Fatal error: exception ",gr="infinity",F="camlinternalFormat.ml",dZ="Height: 87cm",gq="fd ",bA="None",aK="70l Alpine Pack",dJ="shipping",bY="Removable aluminium frame",ea="waist_bag",dt="bottle_pocket_colour",N=248,g5="Slightly narrower at hip level, tapered rolltop",dI="lid",g4=0xe0,cn=24029,gp=0xf0,bz="Y strap (over the top)",f0="2 Side Compression Straps (each side)",go="Sys_error",aw=0x80,gI=275,gJ="src/js/dom.ml",gH="ENOTEMPTY",g3="EEXIST",aJ="50l Alpine Pack",dY=1255,ds="message",ct="src/browser/browser.ml",fZ="value",dH="rolltop",g2="Collect",dr=" : flags Open_text and Open_binary are not compatible",dF="Lycra",dG="e",dX="select_a_pack",gG="Email",O="for",dq=": Not a directory",gn="Removable 25mm webbing waist belt",dE="ENOENT",gF="Stack_overflow",dD="side_panels",g0="Replaceable Pack Base",g1="Undefined_recursive_module",gE="South Island",dW="details",av=0x8000,cm="a",gm=0x800,gD=-48,fY=" : is a directory",gk="@{",gl="Division_by_zero",be=".",dV="Small side pockets for snow stakes or paddles",dU="side_pockets",M="name",by=0x3f,gZ=114,bx="Load lifters",dC=110,gj=101,dB=" : file already exists",gi="Large HDPE Gridstop back pocket with 3mm bungy cord",a="src/std/btree.ml",bT=128,cs=": No such file or directory",gh=255,bX="width",gY=256,cl=100,bw="Internal pocket that can double as a shoulder bag",dp="index out of bounds",aE="/",d$="i_am_going_for",gC="To be calculated",gX="Height: 80cm",cj=252,gg="click",d_="Flat Lycra Hip Belt Pockets",dn="%d",fX=": file descriptor already closed",bd="-",dT="Carry a reasonable load",dm="EBADF",gV="1",d9="waist",gW="conditional",gf=-97,gB="Australia",gU="Printexc.handle_uncaught_exception",aO="60l Alpine Pack",fW=12520,d8=" : flags Open_rdonly and Open_wronly are not compatible",dA="last_name",fV="Europe",dS="Ice axe toggles",gA="Fatal error: exception %s\n",dl="Ultra",dk="shoulder_bag",d7="postal_address",fT="3",fU=250,fS="Slightly narrower at hip level",dQ="Gear Loops (on waist belt)",dR="first_name",gz=341,ge="([^/]+)",gy="input",dP="jsError",fR=103,ci='"',d6=127,ax=0xffff,dj="Loops to carry hiking poles",at="25l Strong Pack",fQ=0xdc00,gT="Sys_blocked_io",gS="_",di="target",cr="_bigarr02";function
q8(a,b){var
hy=Math.pow(2,-24);function
rL(a){throw a}function
hJ(){rL(X.Division_by_zero)}function
h(a,b,c){this.lo=a&aB;this.mi=b&aB;this.hi=c&av}h.prototype.caml_custom="_j";h.prototype.copy=function(){return new
hz=Math.pow(2,-24);function
rP(a){throw a}function
hK(){rP(X.Division_by_zero)}function
h(a,b,c){this.lo=a&aC;this.mi=b&aC;this.hi=c&ax}h.prototype.caml_custom="_j";h.prototype.copy=function(){return new
h(this.mi>>a-24|this.hi<<48-a,this.hi<<16>>a-24>>16,b&av);return new
h(this.hi<<16>>a-32,b,b)};h.prototype.lsl1=function(){this.hi=this.hi<<1|this.mi>>23;this.mi=(this.mi<<1|this.lo>>23)&aB;this.lo=this.lo<<1&aB};h.prototype.lsr1=function(){this.lo=(this.lo>>>1|this.mi<<23)&aB;this.mi=(this.mi>>>1|this.hi<<23)&aB;this.hi=this.hi>>>1};h.prototype.udivmod=function(a){var
h(this.mi>>a-24|this.hi<<48-a,this.hi<<16>>a-24>>16,b&ax);return new
h(this.hi<<16>>a-32,b,b)};h.prototype.lsl1=function(){this.hi=this.hi<<1|this.mi>>23;this.mi=(this.mi<<1|this.lo>>23)&aC;this.lo=this.lo<<1&aC};h.prototype.lsr1=function(){this.lo=(this.lo>>>1|this.mi<<23)&aC;this.mi=(this.mi>>>1|this.hi<<23)&aC;this.hi=this.hi>>>1};h.prototype.udivmod=function(a){var
b=this;if(a.isZero())hJ();var
d=b.hi^a.hi;if(b.hi&at)b=b.neg();if(a.hi&at)a=a.neg();var
c=b.udivmod(a).quotient;if(d&at)c=c.neg();return c};h.prototype.mod=function(a){var
b=this;if(a.isZero())hJ();var
d=b.hi;if(b.hi&at)b=b.neg();if(a.hi&at)a=a.neg();var
c=b.udivmod(a).modulus;if(d&at)c=c.neg();return c};h.prototype.toInt=function(){return this.lo|this.mi<<24};h.prototype.toFloat=function(){return(this.hi<<16)*Math.pow(2,32)+this.mi*Math.pow(2,24)+this.lo};h.prototype.toArray=function(){return[this.hi>>8,this.hi&aQ,this.mi>>16,this.mi>>8&aQ,this.mi&aQ,this.lo>>16,this.lo>>8&aQ,this.lo&aQ]};h.prototype.lo32=function(){return this.lo|(this.mi&aQ)<<24};h.prototype.hi32=function(){return this.mi>>>8&av|this.hi<<16};function
rn(a,b){return new
h(a&aB,a>>>24&aQ|(b&av)<<8,b>>>16&av)}function
er(a){return a.hi32()}function
es(a){return a.lo32()}function
b=this;if(a.isZero())hK();var
d=b.hi^a.hi;if(b.hi&av)b=b.neg();if(a.hi&av)a=a.neg();var
c=b.udivmod(a).quotient;if(d&av)c=c.neg();return c};h.prototype.mod=function(a){var
b=this;if(a.isZero())hK();var
d=b.hi;if(b.hi&av)b=b.neg();if(a.hi&av)a=a.neg();var
c=b.udivmod(a).modulus;if(d&av)c=c.neg();return c};h.prototype.toInt=function(){return this.lo|this.mi<<24};h.prototype.toFloat=function(){return(this.hi<<16)*Math.pow(2,32)+this.mi*Math.pow(2,24)+this.lo};h.prototype.toArray=function(){return[this.hi>>8,this.hi&aQ,this.mi>>16,this.mi>>8&aQ,this.mi&aQ,this.lo>>16,this.lo>>8&aQ,this.lo&aQ]};h.prototype.lo32=function(){return this.lo|(this.mi&aQ)<<24};h.prototype.hi32=function(){return this.mi>>>8&ax|this.hi<<16};function
rr(a,b){return new
h(a&aC,a>>>24&aQ|(b&ax)<<8,b>>>16&ax)}function
es(a){return a.hi32()}function
et(a){return a.lo32()}function
q8=cr;function
a6(a,b,c,d){this.kind=a;this.layout=b;this.dims=c;this.data=d}a6.prototype.caml_custom=q8;a6.prototype.offset=function(a){var
ra=cr;function
a6(a,b,c,d){this.kind=a;this.layout=b;this.dims=c;this.data=d}a6.prototype.caml_custom=ra;a6.prototype.offset=function(a){var
hM(a){for(var
k=e,d=e,h,g,i,b,c=0,j=a.length;c<j;c++){g=a.charCodeAt(c);if(g<au){for(var
f=c+1;f<j&&(g=a.charCodeAt(f))<au;f++);if(f-c>f4){d.substr(0,1);k+=d;d=e;k+=a.slice(c,f)}else
d+=a.slice(c,f);if(f==j)break;c=f}b=1;if(++c<j&&((i=a.charCodeAt(c))&-64)==bT){h=i+(g<<6);if(g<g3){b=h-0x3080;if(b<au)b=1}else{b=2;if(++c<j&&((i=a.charCodeAt(c))&-64)==bT){h=i+(h<<6);if(g<go){b=h-0xe2080;if(b<gl||b>=0xd7ff&&b<0xe000)b=2}else{b=3;if(++c<j&&((i=a.charCodeAt(c))&-64)==bT&&g<0xf5){b=i-0x3c82080+(h<<6);if(b<0x10000||b>0x10ffff)b=3}}}}}if(b<4){c-=b;d+="\ufffd"}else if(b>av)d+=String.fromCharCode(0xd7c0+(b>>10),fP+(b&0x3FF));else
hN(a){for(var
k=e,d=e,h,g,i,b,c=0,j=a.length;c<j;c++){g=a.charCodeAt(c);if(g<aw){for(var
f=c+1;f<j&&(g=a.charCodeAt(f))<aw;f++);if(f-c>f5){d.substr(0,1);k+=d;d=e;k+=a.slice(c,f)}else
d+=a.slice(c,f);if(f==j)break;c=f}b=1;if(++c<j&&((i=a.charCodeAt(c))&-64)==bT){h=i+(g<<6);if(g<g4){b=h-0x3080;if(b<aw)b=1}else{b=2;if(++c<j&&((i=a.charCodeAt(c))&-64)==bT){h=i+(h<<6);if(g<gp){b=h-0xe2080;if(b<gm||b>=0xd7ff&&b<0xe000)b=2}else{b=3;if(++c<j&&((i=a.charCodeAt(c))&-64)==bT&&g<0xf5){b=i-0x3c82080+(h<<6);if(b<0x10000||b>0x10ffff)b=3}}}}}if(b<4){c-=b;d+="\ufffd"}else if(b>ax)d+=String.fromCharCode(0xd7c0+(b>>10),fQ+(b&0x3FF));else
rb(a){if(isFinite(a)){if(Math.abs(a)>=2.2250738585072014e-308)return 0;if(a!=0)return 1;return 2}return isNaN(a)?4:3}function
rc(){return[0]}function
rf(a){if(isFinite(a)){if(Math.abs(a)>=2.2250738585072014e-308)return 0;if(a!=0)return 1;return 2}return isNaN(a)?4:3}function
rg(){return[0]}function
hm=[0];function
re(a){return hm}function
hn(a){hm=a}function
ry(a){return a==245?1:0}var
rU=Math.log2&&Math.log2(1.1235582092889474E+307)==1020;function
rS(a){if(rU)return Math.floor(Math.log2(a));var
hn=[0];function
ri(a){return hn}function
ho(a){hn=a}function
rC(a){return a==245?1:0}var
rY=Math.log2&&Math.log2(1.1235582092889474E+307)==1020;function
rW(a){if(rY)return Math.floor(Math.log2(a));var
cB(a){if(!isFinite(a)){if(isNaN(a))return ak(1,0,gv);return a>0?ak(0,0,gv):ak(0,0,0xfff0)}var
f=a==0&&1/a==-Infinity?at:a>=0?0:at;if(f)a=-a;var
b=rS(a)+1023;if(b<=0){b=0;a/=Math.pow(2,-f2)}else{a/=Math.pow(2,b-gK);if(a<16){a*=2;b-=1}if(b==0)a/=2}var
cB(a){if(!isFinite(a)){if(isNaN(a))return ak(1,0,gw);return a>0?ak(0,0,gw):ak(0,0,0xfff0)}var
f=a==0&&1/a==-Infinity?av:a>=0?0:av;if(f)a=-a;var
b=rW(a)+1023;if(b<=0){b=0;a/=Math.pow(2,-f3)}else{a/=Math.pow(2,b-gL);if(a<16){a*=2;b-=1}if(b==0)a/=2}var
hg(a,b,c){a.write(32,b.dims.length);a.write(32,b.kind|b.layout<<8);if(b.caml_custom==cr)for(var
d=0;d<b.dims.length;d++)if(b.dims[d]<av)a.write(16,b.dims[d]);else{a.write(16,av);a.write(32,0);a.write(32,b.dims[d])}else
hh(a,b,c){a.write(32,b.dims.length);a.write(32,b.kind|b.layout<<8);if(b.caml_custom==cr)for(var
d=0;d<b.dims.length;d++)if(b.dims[d]<ax)a.write(16,b.dims[d]);else{a.write(16,ax);a.write(32,0);a.write(32,b.dims[d])}else
eq(a){var
f=a.lo,g=a.mi,c=a.hi,d=(c&0x7fff)>>4;if(d==2047)return(f|g|c&dK)==0?c&at?-Infinity:Infinity:NaN;var
e=Math.pow(2,-24),b=(f*e+g)*e+(c&dK);if(d>0){b+=16;b*=Math.pow(2,d-gK)}else
b*=Math.pow(2,-f2);if(c&at)b=-b;return b}function
aj(a){if(!X.Failure)X.Failure=[N,al(ee),-3];ex(X.Failure,a)}function
hd(a,b,c){var
er(a){var
f=a.lo,g=a.mi,c=a.hi,d=(c&0x7fff)>>4;if(d==2047)return(f|g|c&dK)==0?c&av?-Infinity:Infinity:NaN;var
e=Math.pow(2,-24),b=(f*e+g)*e+(c&dK);if(d>0){b+=16;b*=Math.pow(2,d-gL)}else
b*=Math.pow(2,-f3);if(c&av)b=-b;return b}function
aj(a){if(!X.Failure)X.Failure=[N,al(ee),-3];ey(X.Failure,a)}function
he(a,b,c){var
n=eq(b5(g));i.set(d,[ck,o,n])}break}b[0]=(4+k)*4;return eh(l,q,j,h)}function
hb(a,b,c){return a.compare(b,c)}function
hE(a,b){return Math.imul(a,b)}function
aT(a,b){b=hE(b,0xcc9e2d51|0);b=b<<15|b>>>32-15;b=hE(b,0x1b873593);a^=b;a=a<<13|a>>>32-13;return(a+(a<<2)|0)+(0xe6546b64|0)|0}function
rj(a,b){a=aT(a,es(b));a=aT(a,er(b));return a}function
ht(a,b){return rj(a,cB(b))}function
hf(a){var
n=er(b5(g));i.set(d,[ck,o,n])}break}b[0]=(4+k)*4;return ei(l,q,j,h)}function
hc(a,b,c){return a.compare(b,c)}function
hF(a,b){return Math.imul(a,b)}function
aT(a,b){b=hF(b,0xcc9e2d51|0);b=b<<15|b>>>32-15;b=hF(b,0x1b873593);a^=b;a=a<<13|a>>>32-13;return(a+(a<<2)|0)+(0xe6546b64|0)|0}function
rn(a,b){a=aT(a,et(b));a=aT(a,es(b));return a}function
hu(a,b){return rn(a,cB(b))}function
hg(a){var
b=0;b<c;b++)d=ht(d,a.data[b]);break}return d}function
rl(a,b){b[0]=4;return a.read32s()}function
rI(a,b){switch(a.read8u()){case
b=0;b<c;b++)d=hu(d,a.data[b]);break}return d}function
rp(a,b){b[0]=4;return a.read32s()}function
rM(a,b){switch(a.read8u()){case
rm(a,b,c){return a.compare(b)}function
rp(a){return a.lo32()^a.hi32()}var
hl={"_j":{deserialize:rw,serialize:rs,fixed_length:8,compare:rm,hash:rp},"_i":{deserialize:rl,fixed_length:4},"_n":{deserialize:rI,fixed_length:4},"_bigarray":{deserialize:function(a,b){return hd(a,b,"_bigarray")},serialize:hg,compare:hb,hash:hf},"_bigarr02":{deserialize:function(a,b){return hd(a,b,cr)},serialize:hg,compare:hb,hash:hf}};function
el(a){return hl[a.caml_custom]&&hl[a.caml_custom].compare}function
hj(a,b,c,d){var
f=el(b);if(f){var
rq(a,b,c){return a.compare(b)}function
rt(a){return a.lo32()^a.hi32()}var
hm={"_j":{deserialize:rA,serialize:rw,fixed_length:8,compare:rq,hash:rt},"_i":{deserialize:rp,fixed_length:4},"_n":{deserialize:rM,fixed_length:4},"_bigarray":{deserialize:function(a,b){return he(a,b,"_bigarray")},serialize:hh,compare:hc,hash:hg},"_bigarr02":{deserialize:function(a,b){return he(a,b,cr)},serialize:hh,compare:hc,hash:hg}};function
em(a){return hm[a.caml_custom]&&hm[a.caml_custom].compare}function
hk(a,b,c,d){var
f=em(b);if(f){var
e=hk(a);if(e==fT){a=a[1];continue}var
g=hk(b);if(g==fT){b=b[1];continue}if(e!==g){if(e==bW){if(g==dY)return hj(a,b,-1,c);return-1}if(g==bW){if(e==dY)return hj(b,a,1,c);return 1}return e<g?-1:1}switch(e){case
e=hl(a);if(e==fU){a=a[1];continue}var
g=hl(b);if(g==fU){b=b[1];continue}if(e!==g){if(e==bW){if(g==dY)return hk(a,b,-1,c);return-1}if(g==bW){if(e==dY)return hk(b,a,1,c);return 1}return e<g?-1:1}switch(e){case
254:default:if(ry(e)){C("compare: continuation value");break}if(a.length!=b.length)return a.length<b.length?-1:1;if(a.length>1)f.push(a,b,1);break}}if(f.length==0)return 0;var
254:default:if(rC(e)){C("compare: continuation value");break}if(a.length!=b.length)return a.length<b.length?-1:1;if(a.length>1)f.push(a,b,1);break}}if(f.length==0)return 0;var
ho(a,b){return+(hi(a,b,false)==0)}function
rg(a,b,c,d){if(c>0)if(b==0&&(c>=a.l||a.t==2&&c>=a.c.length))if(d==0){a.c=e;a.t=2}else{a.c=bD(c,String.fromCharCode(d));a.t=c==a.l?0:2}else{if(a.t!=4)cy(a);for(c+=b;b<c;b++)a.c[b]=d}return 0}function
ew(a){a=a9(a);var
hp(a,b){return+(hj(a,b,false)==0)}function
rk(a,b,c,d){if(c>0)if(b==0&&(c>=a.l||a.t==2&&c>=a.c.length))if(d==0){a.c=e;a.t=2}else{a.c=bD(c,String.fromCharCode(d));a.t=c==a.l?0:2}else{if(a.t!=4)cy(a);for(c+=b;b<c;b++)a.c[b]=d}return 0}function
ex(a){a=a9(a);var
d=f;d<a.width;d++)c+=aM;if(a.signedconv)if(a.sign<0)c+=bd;else if(a.signstyle!=bd)c+=a.signstyle;if(a.alternate&&a.base==8)c+=ad;if(a.alternate&&a.base==16)c+=a.uppercase?"0X":ga;if(a.justify==bv&&a.filler==ad)for(var
d=f;d<a.width;d++)c+=aM;if(a.signedconv)if(a.sign<0)c+=bd;else if(a.signstyle!=bd)c+=a.signstyle;if(a.alternate&&a.base==8)c+=ad;if(a.alternate&&a.base==16)c+=a.uppercase?"0X":gb;if(a.justify==bv&&a.filler==ad)for(var
c,f=ew(a),e=f.prec<0?6:f.prec;if(b<0||b==0&&1/b==-Infinity){f.sign=-1;b=-b}if(isNaN(b)){c=dw;f.filler=aM}else if(!isFinite(b)){c="inf";f.filler=aM}else
c,f=ex(a),e=f.prec<0?6:f.prec;if(b<0||b==0&&1/b==-Infinity){f.sign=-1;b=-b}if(isNaN(b)){c=dw;f.filler=aM}else if(!isFinite(b)){c="inf";f.filler=aM}else
f=c.prec-d.length;if(f>0)d=bD(f,ad)+d}return em(c,d)}var
rJ=0;function
hq(){return rJ++}function
z(a){if(eB(a))return a;return hM(a)}function
f=c.prec-d.length;if(f>0)d=bD(f,ad)+d}return en(c,d)}var
rN=0;function
hr(){return rN++}function
z(a){if(eC(a))return a;return hN(a)}function
eC=rV();function
hK(a){return a.slice(-1)!==aD?a+aD:a}if(b7()&&t.process&&t.process.cwd)var
b4=t.process.cwd().replace(/\\/g,aD);else
eD=rZ();function
hL(a){return a.slice(-1)!==aE?a+aE:a}if(b7()&&t.process&&t.process.cwd)var
b4=t.process.cwd().replace(/\\/g,aE);else
rR(a){for(var
g=e,c=g,b,i,d=0,h=a.length;d<h;d++){b=a.charCodeAt(d);if(b<au){for(var
f=d+1;f<h&&(b=a.charCodeAt(f))<au;f++);if(f-d>f4){c.substr(0,1);g+=c;c=e;g+=a.slice(d,f)}else
c+=a.slice(d,f);if(f==h)break;d=f}if(b<gl){c+=String.fromCharCode(0xc0|b>>6);c+=String.fromCharCode(au|b&by)}else if(b<0xd800||b>=f$)c+=String.fromCharCode(g3|b>>12,au|b>>6&by,au|b&by);else if(b>=0xdbff||d+1==h||(i=a.charCodeAt(d+1))<fP||i>f$)c+="\xef\xbf\xbd";else{d++;b=(b<<10)+i-0x35fdc00;c+=String.fromCharCode(go|b>>18,au|b>>12&by,au|b>>6&by,au|b&by)}if(c.length>bV){c.substr(0,1);g+=c;c=e}}return g+c}function
ax(a){return eB(a)?al(a):al(rR(a))}var
rW=["E2BIG","EACCES","EAGAIN",dm,"EBUSY","ECHILD","EDEADLK","EDOM",g2,"EFAULT","EFBIG","EINTR","EINVAL","EIO","EISDIR","EMFILE","EMLINK","ENAMETOOLONG","ENFILE","ENODEV",dE,"ENOEXEC","ENOLCK","ENOMEM","ENOSPC","ENOSYS",dM,gG,"ENOTTY","ENXIO","EPERM","EPIPE","ERANGE","EROFS","ESPIPE","ESRCH","EXDEV","EWOULDBLOCK","EINPROGRESS","EALREADY","ENOTSOCK","EDESTADDRREQ","EMSGSIZE","EPROTOTYPE","ENOPROTOOPT","EPROTONOSUPPORT","ESOCKTNOSUPPORT","EOPNOTSUPP","EPFNOSUPPORT","EAFNOSUPPORT","EADDRINUSE","EADDRNOTAVAIL","ENETDOWN","ENETUNREACH","ENETRESET","ECONNABORTED","ECONNRESET","ENOBUFS","EISCONN","ENOTCONN","ESHUTDOWN","ETOOMANYREFS","ETIMEDOUT","ECONNREFUSED","EHOSTDOWN","EHOSTUNREACH","ELOOP","EOVERFLOW"];function
rV(a){for(var
g=e,c=g,b,i,d=0,h=a.length;d<h;d++){b=a.charCodeAt(d);if(b<aw){for(var
f=d+1;f<h&&(b=a.charCodeAt(f))<aw;f++);if(f-d>f5){c.substr(0,1);g+=c;c=e;g+=a.slice(d,f)}else
c+=a.slice(d,f);if(f==h)break;d=f}if(b<gm){c+=String.fromCharCode(0xc0|b>>6);c+=String.fromCharCode(aw|b&by)}else if(b<0xd800||b>=ga)c+=String.fromCharCode(g4|b>>12,aw|b>>6&by,aw|b&by);else if(b>=0xdbff||d+1==h||(i=a.charCodeAt(d+1))<fQ||i>ga)c+="\xef\xbf\xbd";else{d++;b=(b<<10)+i-0x35fdc00;c+=String.fromCharCode(gp|b>>18,aw|b>>12&by,aw|b>>6&by,aw|b&by)}if(c.length>bV){c.substr(0,1);g+=c;c=e}}return g+c}function
az(a){return eC(a)?al(a):al(rV(a))}var
r0=["E2BIG","EACCES","EAGAIN",dm,"EBUSY","ECHILD","EDEADLK","EDOM",g3,"EFAULT","EFBIG","EINTR","EINVAL","EIO","EISDIR","EMFILE","EMLINK","ENAMETOOLONG","ENFILE","ENODEV",dE,"ENOEXEC","ENOLCK","ENOMEM","ENOSPC","ENOSYS",dM,gH,"ENOTTY","ENXIO","EPERM","EPIPE","ERANGE","EROFS","ESPIPE","ESRCH","EXDEV","EWOULDBLOCK","EINPROGRESS","EALREADY","ENOTSOCK","EDESTADDRREQ","EMSGSIZE","EPROTOTYPE","ENOPROTOOPT","EPROTONOSUPPORT","ESOCKTNOSUPPORT","EOPNOTSUPP","EPFNOSUPPORT","EAFNOSUPPORT","EADDRINUSE","EADDRNOTAVAIL","ENETDOWN","ENETUNREACH","ENETRESET","ECONNABORTED","ECONNRESET","ENOBUFS","EISCONN","ENOTCONN","ESHUTDOWN","ETOOMANYREFS","ETIMEDOUT","ECONNREFUSED","EHOSTDOWN","EHOSTUNREACH","ELOOP","EOVERFLOW"];function
f=rW.indexOf(a);if(f<0){if(d==null)d=-9999;f=[0,d]}var
g=[f,ax(b||e),ax(c||e)];return g}var
hF={};function
a$(a){return hF[a]}function
f=r0.indexOf(a);if(f<0){if(d==null)d=-9999;f=[0,d]}var
g=[f,az(b||e),az(c||e)];return g}var
hG={};function
a$(a){return hG[a]}function
m(a){ex(X.Sys_error,a)}function
hI(a){m(a+cs)}function
hL(a){if(a.t!=4)cy(a);return a.c}function
aE(a){return a.l}function
g$(){}function
m(a){ey(X.Sys_error,a)}function
hJ(a){m(a+cs)}function
hM(a){if(a.t!=4)cy(a);return a.c}function
aF(a){return a.l}function
ha(){}function
g$();W.prototype.constructor=W;W.prototype.truncate=function(a){var
b=this.data;this.data=G(a|0);a7(b,0,this.data,0,a)};W.prototype.length=function(){return aE(this.data)};W.prototype.write=function(a,b,c,d){var
ha();W.prototype.constructor=W;W.prototype.truncate=function(a){var
b=this.data;this.data=G(a|0);a7(b,0,this.data,0,a)};W.prototype.length=function(){return aF(this.data)};W.prototype.write=function(a,b,c,d){var
f=G(a+d),g=this.data;this.data=f;a7(g,0,this.data,0,e)}a7(ei(b),c,this.data,a,d);return 0};W.prototype.read=function(a,b,c,d){var
f=G(a+d),g=this.data;this.data=f;a7(g,0,this.data,0,e)}a7(ej(b),c,this.data,a,d);return 0};W.prototype.read=function(a,b,c,d){var
f=G(d|0);a7(this.data,a,f,0,d);b.set(hL(f),c)}return d};function
bf(a,b,c){this.file=b;this.name=a;this.flags=c}bf.prototype.err_closed=function(){m(this.name+fW)};bf.prototype.length=function(){if(this.file)return this.file.length();this.err_closed()};bf.prototype.write=function(a,b,c,d){if(this.file)return this.file.write(a,b,c,d);this.err_closed()};bf.prototype.read=function(a,b,c,d){if(this.file)return this.file.read(a,b,c,d);this.err_closed()};bf.prototype.close=function(){this.file=undefined};function
f=G(d|0);a7(this.data,a,f,0,d);b.set(hM(f),c)}return d};function
bf(a,b,c){this.file=b;this.name=a;this.flags=c}bf.prototype.err_closed=function(){m(this.name+fX)};bf.prototype.length=function(){if(this.file)return this.file.length();this.err_closed()};bf.prototype.write=function(a,b,c,d){if(this.file)return this.file.write(a,b,c,d);this.err_closed()};bf.prototype.read=function(a,b,c,d){if(this.file)return this.file.read(a,b,c,d);this.err_closed()};bf.prototype.close=function(){this.file=undefined};function
d=a.split(aD),c=e;for(var
b=0;b<d.length-1;b++){c+=d[b]+aD;if(this.content[c])continue;this.content[c]=Symbol("directory")}};P.prototype.slash=function(a){return/\/$/.test(a)?a:a+aD};P.prototype.lookup=function(a){if(!this.content[a]&&this.lookupFun){var
d=a.split(aE),c=e;for(var
b=0;b<d.length-1;b++){c+=d[b]+aE;if(this.content[c])continue;this.content[c]=Symbol("directory")}};P.prototype.slash=function(a){return/\/$/.test(a)?a:a+aE};P.prototype.lookup=function(a){if(!this.content[a]&&this.lookupFun){var
c=b&&a$(cv),d=this.readdir(a),e=false,f=0;return{readSync:function(){if(e)if(c)aW(c,aZ(dm,g6,this.nm(a)));else
m(a+f_);if(f==d.length)return null;var
b=d[f];f++;return{name:b}},closeSync:function(){if(e)if(c)aW(c,aZ(dm,g6,this.nm(a)));else
m(a+f_);e=true;d=[]}}};P.prototype.is_dir=function(a){if(a==e)return true;var
c=b&&a$(cv),d=this.readdir(a),e=false,f=0;return{readSync:function(){if(e)if(c)aW(c,aZ(dm,g7,this.nm(a)));else
m(a+f$);if(f==d.length)return null;var
b=d[f];f++;return{name:b}},closeSync:function(){if(e)if(c)aW(c,aZ(dm,g7,this.nm(a)));else
m(a+f$);e=true;d=[]}}};P.prototype.is_dir=function(a){if(a==e)return true;var
c;if(b.rdonly&&b.wronly)m(this.nm(a)+d8);if(b.text&&b.binary)m(this.nm(a)+dr);this.lookup(a);if(this.content[a]){if(this.is_dir(a))m(this.nm(a)+fX);if(b.create&&b.excl)m(this.nm(a)+dB);c=this.content[a];if(b.truncate)c.truncate()}else if(b.create){this.create_dir_if_needed(a);this.content[a]=new
c;if(b.rdonly&&b.wronly)m(this.nm(a)+d8);if(b.text&&b.binary)m(this.nm(a)+dr);this.lookup(a);if(this.content[a]){if(this.is_dir(a))m(this.nm(a)+fY);if(b.create&&b.excl)m(this.nm(a)+dB);c=this.content[a];if(b.truncate)c.truncate()}else if(b.create){this.create_dir_if_needed(a);this.content[a]=new
c;if(b.rdonly&&b.wronly)m(this.nm(a)+d8);if(b.text&&b.binary)m(this.nm(a)+dr);this.lookup(a);if(this.content[a]){if(this.is_dir(a))m(this.nm(a)+fX);if(b.create&&b.excl)m(this.nm(a)+dB);c=this.content[a];if(b.truncate)c.truncate()}else if(b.create){this.create_dir_if_needed(a);this.content[a]=new
c;if(b.rdonly&&b.wronly)m(this.nm(a)+d8);if(b.text&&b.binary)m(this.nm(a)+dr);this.lookup(a);if(this.content[a]){if(this.is_dir(a))m(this.nm(a)+fY);if(b.create&&b.excl)m(this.nm(a)+dB);c=this.content[a];if(b.truncate)c.truncate()}else if(b.create){this.create_dir_if_needed(a);this.content[a]=new
W(hh(b));else if(b.toString){var
d=bg(ax(b.toString()));c=new
W(hi(b));else if(b.toString){var
d=bg(az(b.toString()));c=new
aw(a,b){this.fs=require(dz);this.fd=a;this.flags=b}aw.prototype=new
g$();aw.prototype.constructor=aw;aw.prototype.truncate=function(a){try{this.fs.ftruncateSync(this.fd,a|0)}catch(f){m(f.toString())}};aw.prototype.length=function(){try{return this.fs.fstatSync(this.fd).size}catch(f){m(f.toString())}};aw.prototype.write=function(a,b,c,d){try{if(this.flags.isCharacterDevice)this.fs.writeSync(this.fd,b,c,d);else
this.fs.writeSync(this.fd,b,c,d,a)}catch(f){m(f.toString())}return 0};aw.prototype.read=function(a,b,c,d){try{if(this.flags.isCharacterDevice)var
ay(a,b){this.fs=require(dz);this.fd=a;this.flags=b}ay.prototype=new
ha();ay.prototype.constructor=ay;ay.prototype.truncate=function(a){try{this.fs.ftruncateSync(this.fd,a|0)}catch(f){m(f.toString())}};ay.prototype.length=function(){try{return this.fs.fstatSync(this.fd).size}catch(f){m(f.toString())}};ay.prototype.write=function(a,b,c,d){try{if(this.flags.isCharacterDevice)this.fs.writeSync(this.fd,b,c,d);else
this.fs.writeSync(this.fd,b,c,d,a)}catch(f){m(f.toString())}return 0};ay.prototype.read=function(a,b,c,d){try{if(this.flags.isCharacterDevice)var
e=this.fs.readSync(this.fd,b,c,d,a);return e}catch(f){m(f.toString())}};aw.prototype.close=function(){try{this.fs.closeSync(this.fd);return 0}catch(f){m(f.toString())}};function
e=this.fs.readSync(this.fd,b,c,d,a);return e}catch(f){m(f.toString())}};ay.prototype.close=function(){try{this.fs.closeSync(this.fd);return 0}catch(f){m(f.toString())}};function
aw(f,b)}catch(f){this.raise_nodejs_error(f,c)}};B.prototype.rename=function(a,b,c){try{this.fs.renameSync(this.nm(a),this.nm(b))}catch(f){this.raise_nodejs_error(f,c)}};B.prototype.stat=function(a,b){try{var
ay(f,b)}catch(f){this.raise_nodejs_error(f,c)}};B.prototype.rename=function(a,b,c){try{this.fs.renameSync(this.nm(a),this.nm(b))}catch(f){this.raise_nodejs_error(f,c)}};B.prototype.stat=function(a,b){try{var
c=this.fs.readlinkSync(this.nm(a),"utf8");return ax(c)}catch(f){this.raise_nodejs_error(f,b)}};B.prototype.opendir=function(a,b){try{return this.fs.opendirSync(this.nm(a))}catch(f){this.raise_nodejs_error(f,b)}};B.prototype.raise_nodejs_error=function(a,b){var
c=this.fs.readlinkSync(this.nm(a),"utf8");return az(c)}catch(f){this.raise_nodejs_error(f,b)}};B.prototype.opendir=function(a,b){try{return this.fs.opendirSync(this.nm(a))}catch(f){this.raise_nodejs_error(f,b)}};B.prototype.raise_nodejs_error=function(a,b){var
hs(a){var
b=eC(a);if(!b)return;return b[0]+aD}var
cF=hs(b4)||aj("unable to compute caml_root"),bF=[];if(b7())bF.push({path:cF,device:new
ht(a){var
b=eD(a);if(!b)return;return b[0]+aE}var
cF=ht(b4)||aj("unable to compute caml_root"),bF=[];if(b7())bF.push({path:cF,device:new
rd(a,b){var
c=hO(a);if(!c.device.register)aj("cannot register file");c.device.register(c.rest,b);return 0}function
hN(a,b){var
a=al(a),b=al(b);return rd(a,b)}function
ri(){var
rh(a,b){var
c=hP(a);if(!c.device.register)aj("cannot register file");c.device.register(c.rest,b);return 0}function
hO(a,b){var
a=al(a),b=al(b);return rh(a,b)}function
rm(){var
a=0;a<b.length;a++)hN(b[a].name,b[a].content);t.jsoo_create_file=hN;t.caml_fs_tmp=[];return 0}function
hr(){return[0]}function
rk(a,b,c){if(!isFinite(a)){if(isNaN(a))return ax(dw);return ax(a>0?gq:"-infinity")}var
a=0;a<b.length;a++)hO(b[a].name,b[a].content);t.jsoo_create_file=hO;t.caml_fs_tmp=[];return 0}function
hs(){return[0]}function
ro(a,b,c){if(!isFinite(a)){if(isNaN(a))return az(dw);return az(a>0?gr:"-infinity")}var
h(a&aB,a>>24&aB,a>>31&av)}function
rv(a){return a.toInt()}function
rq(a){return+a.isNeg()}function
hw(a){return a.neg()}function
ro(a,b){var
c=ew(a);if(c.signedconv&&rq(b)){c.sign=-1;b=hw(b)}var
h(a&aC,a>>24&aC,a>>31&ax)}function
rz(a){return a.toInt()}function
ru(a){return+a.isNeg()}function
hx(a){return a.neg()}function
rs(a,b){var
c=ex(a);if(c.signedconv&&ru(b)){c.sign=-1;b=hx(b)}var
g=b.udivmod(i);b=g.quotient;d=h.charAt(rv(g.modulus))+d}while(!rr(b));if(c.prec>=0){c.filler=aM;var
f=c.prec-d.length;if(f>0)d=bD(f,ad)+d}return em(c,d)}function
hz(a,b){return a.or(b)}function
rA(a){if(a.js_error)return[0,a.js_error];return 0}function
g=b.udivmod(i);b=g.quotient;d=h.charAt(rz(g.modulus))+d}while(!rv(b));if(c.prec>=0){c.filler=aM;var
f=c.prec-d.length;if(f>0)d=bD(f,ad)+d}return en(c,d)}function
hA(a,b){return a.or(b)}function
rE(a){if(a.js_error)return[0,a.js_error];return 0}function
hG(a){return al(a)}function
hu(a,b){return a.add(b)}function
hv(a,b){return a.mul(b)}function
et(a,b){return a.ucompare(b)<0}function
rK(a){var
hH(a){return al(a)}function
hv(a,b){return a.add(b)}function
hw(a,b){return a.mul(b)}function
eu(a,b){return a.ucompare(b)<0}function
rO(a){var
hH(a){if(a>=48&&a<=57)return a-48;if(a>=65&&a<=90)return a-55;if(a>=97&&a<=122)return a-87;return-1}function
hx(a){var
g=rK(a),f=g[0],j=g[1],d=g[2],i=cC(d),k=new
h(aB,0xfffffff,av).udivmod(i).quotient,e=aY(a,f),b=hH(e);if(b<0||b>=d)aj(b0);var
c=cC(b);for(;;){f++;e=aY(a,f);if(e==95)continue;b=hH(e);if(b<0||b>=d)break;if(et(k,c))aj(b0);b=cC(b);c=hu(hv(i,c),b);if(et(c,b))aj(b0)}if(f!=w(a))aj(b0);if(d==10&&et(new
h(0,0,at),c))aj(b0);if(j<0)c=hw(c);return c}function
q9(a,b){return a.get(a.offset(b))}function
rx(a,b){return a.xor(b)}function
ru(a,b){return a.shift_right_unsigned(b)}function
rt(a,b){return a.shift_left(b)}function
hI(a){if(a>=48&&a<=57)return a-48;if(a>=65&&a<=90)return a-55;if(a>=97&&a<=122)return a-87;return-1}function
hy(a){var
g=rO(a),f=g[0],j=g[1],d=g[2],i=cC(d),k=new
h(aC,0xfffffff,ax).udivmod(i).quotient,e=aY(a,f),b=hI(e);if(b<0||b>=d)aj(b0);var
c=cC(b);for(;;){f++;e=aY(a,f);if(e==95)continue;b=hI(e);if(b<0||b>=d)break;if(eu(k,c))aj(b0);b=cC(b);c=hv(hw(i,c),b);if(eu(c,b))aj(b0)}if(f!=w(a))aj(b0);if(d==10&&eu(new
h(0,0,av),c))aj(b0);if(j<0)c=hx(c);return c}function
rb(a,b){return a.get(a.offset(b))}function
rB(a,b){return a.xor(b)}function
ry(a,b){return a.shift_right_unsigned(b)}function
rx(a,b){return a.shift_left(b)}function
o(a,b){return rt(a,b)}function
h(a,b){return ru(a,b)}function
s(a,b){return hz(a,b)}function
f(a,b){return rx(a,b)}function
k(a,b){return hu(a,b)}function
i(a,b){return hv(a,b)}function
o(a,b){return rx(a,b)}function
h(a,b){return ry(a,b)}function
s(a,b){return hA(a,b)}function
f(a,b){return rB(a,b)}function
k(a,b){return hv(a,b)}function
i(a,b){return hw(a,b)}function
q=hx(hG("0xd1342543de82ef95")),l=hx(hG("0xdaba0b6eb09322e3")),b,d,c,e=a,r=g(e,0),n=g(e,1),p=g(e,2),t=g(e,3);b=k(n,p);b=i(f(b,h(b,32)),l);b=i(f(b,h(b,32)),l);b=f(b,h(b,32));j(e,1,k(i(n,q),r));var
q=hy(hH("0xd1342543de82ef95")),l=hy(hH("0xdaba0b6eb09322e3")),b,d,c,e=a,r=g(e,0),n=g(e,1),p=g(e,2),t=g(e,3);b=k(n,p);b=i(f(b,h(b,32)),l);b=i(f(b,h(b,32)),l);b=f(b,h(b,32));j(e,1,k(i(n,q),r));var
aw(c,b)}catch(f){}return new
aw(a,b)}var
ay(c,b)}catch(f){}return new
ay(a,b)}var
e=G(d);a7(ei(b),c,e,0,d);this.log(e.toUtf16());return 0}m(this.fd+fW)};b1.prototype.read=function(a,b,c,d){m(this.fd+": file descriptor is write only")};b1.prototype.close=function(){this.log=undefined};function
e=G(d);a7(ej(b),c,e,0,d);this.log(e.toUtf16());return 0}m(this.fd+fX)};b1.prototype.read=function(a,b,c,d){m(this.fd+": file descriptor is write only")};b1.prototype.close=function(){this.log=undefined};function
rG(a,b,c,d){var
b=hL(b);return rH(a,b,c,d)}function
hC(a,b,c,d){return rG(a,bg(b),c,d)}function
hD(a,b){var
c=al(String.fromCharCode(b));hC(a,c,0,1);return 0}function
bj(a,b){return+(hi(a,b,false)!=0)}function
rK(a,b,c,d){var
b=hM(b);return rL(a,b,c,d)}function
hD(a,b,c,d){return rK(a,bg(b),c,d)}function
hE(a,b){var
c=al(String.fromCharCode(b));hD(a,c,0,1);return 0}function
bj(a,b){return+(hj(a,b,false)!=0)}function
rz(a){switch(a[2]){case-8:case-11:case-12:return 1;default:return 0}}function
rh(a){var
b=e;if(a[0]==0){b+=a[1][1];if(a.length==3&&a[2][0]==0&&rz(a[1]))var
rD(a){switch(a[2]){case-8:case-11:case-12:return 1;default:return 0}}function
rl(a){var
b=e;if(a[0]==0){b+=a[1][1];if(a.length==3&&a[2][0]==0&&rD(a[1]))var
c=a$(gT);if(c)ek(c,[a,false]);else{var
d=rh(a),b=a$(gs);if(b)ek(b,[0]);console.error(d0+d);if(a.js_error)throw a.js_error}}else
c=a$(gU);if(c)el(c,[a,false]);else{var
d=rl(a),b=a$(gt);if(b)el(b,[0]);console.error(d0+d);if(a.js_error)throw a.js_error}}else
rN(){var
c=t.process;if(c&&c.on)c.on("uncaughtException",function(a,b){hp(a);c.exit(2)});else if(t.addEventListener)t.addEventListener("error",function(a){if(a.error)hp(a.error)})}rN();function
rR(){var
c=t.process;if(c&&c.on)c.on("uncaughtException",function(a,b){hq(a);c.exit(2)});else if(t.addEventListener)t.addEventListener("error",function(a){if(a.error)hq(a.error)})}rR();function
q3(a,b,c,d,e,f,g,h){return(a.l>=0?a.l:a.l=a.length)==7?a(b,c,d,e,f,g,h):a8(a,[b,c,d,e,f,g,h])}var
rX=undefined;ri();var
cK=[N,g9,-1],eH=[N,gn,-2],eE=[N,ee,-3],eD=[N,f6,-4],eF=[N,g5,-8],eG=[N,gE,-9],j=[N,gM,-11],eI=[N,g0,-12],q2=[4,0,0,0,[12,45,[4,0,0,0,0]]],cU=[0,[11,'File "',[2,0,[11,'", line ',[4,0,0,0,[11,g7,[4,0,0,0,[12,45,[4,0,0,0,[11,": ",[2,0,0]]]]]]]]]],'File "%s", line %d, characters %d-%d: %s'],p=bi(["Army Olive EPX200","Black Knight EPX200","Brick Red EPX200","Bright Blue EPX200","Bright Orange EPX200","Coyote Brown EPX200","Deep Purple EPX200","Fuchsia EPX200","Golden Dazy EPX200","Green Mountain EPX200","Ocean Blue EPX200","Red Barn EPX200","Snow White EPX200","Teal EPX200","Wolf Grey EPX200"]),bu=[0,"Black Knight EPX400",0],bb=[0,"Black Ultra 400TX",0],cg=[0,"Black VX42",0],ap=[0,"Black VX21 Cire",0],u=[0,"Navy Blue VX07",[0,"Red VX07",[0,"Off-white VX07",0]]],bc=[0,"Liteskin LS07",0],fD=[0,eb,[0,cu,[0,d2,0]]],fE=[0,e,[0,aJ,[0,aL,[0,aO,[0,aP,[0,aI,[0,aN,[0,aK,[0,aA,[0,aC,0]]]]]]]]]],fF=[0,e,0],fG=bi([fR,"Average width: 28cm","Depth: 19cm",dZ,"Volume: 46l to the top of an open bag, excluding pockets and any for Ultra 400TX rolltop","Weight: 0.65 to 1 kilograms depending on fabric selection and torso length",dT,"Bungy cord side compression",ef,"Large HDPE Gridstop back pocket with bungy cord",d1,dj,d_,bw,"Integrated back padding (EVA foam, minimal)",bx,bz,bB,a5]),fH=[0,e,[0,gD,[0,gJ,[0,g1,[0,gA,[0,fU,[0,f1,[0,gB,0]]]]]]]],d=[0,"I'm feeling lucky!",0];ar(11,eI,g0);ar(10,j,gM);ar(9,[N,gS,-10],gS);ar(8,eG,gE);ar(7,eF,g5);ar(6,[N,f8,-7],f8);ar(5,[N,gk,-6],gk);ar(4,[N,gu,-5],gu);ar(3,eD,f6);ar(2,eE,ee);ar(1,eH,gn);ar(0,cK,g9);var
hS=be,hQ="true",hR="false",hV="\\\\",hW="\\'",hX="\\b",hY="\\t",hZ="\\n",h0="\\r",h3="String.blit / Bytes.blit_string",h2="Bytes.blit",h1="String.sub / Bytes.sub",h4="String.concat",h6="Array.blit",h5="Array.sub",h8="Buffer.add: cannot grow buffer",ih="%c",ii="%s",ij=gc,ik=f0,il=g_,im=f7,io="%f",ip="%B",iq="%{",ir="%}",is="%(",it="%)",iu="%a",iv="%t",iw="%?",ix="%r",iy="%_r",iz=[0,F,850,23],iK=[0,F,814,21],iC=[0,F,815,21],iL=[0,F,818,21],iD=[0,F,819,21],iM=[0,F,822,19],iE=[0,F,823,19],iN=[0,F,826,22],iF=[0,F,827,22],iO=[0,F,831,30],iG=[0,F,832,30],iI=[0,F,836,26],iA=[0,F,837,26],iJ=[0,F,846,28],iB=[0,F,847,28],iH=[0,F,851,23],jP=[0,F,1558,4],jQ="Printf: bad conversion %[",jR=[0,F,1626,39],jS=[0,F,1649,31],jT=[0,F,1650,31],jU="Printf: bad conversion %_",jV=gj,jW=gQ,jX=gj,jY=gQ,jN=dw,jL="neg_infinity",jM=gq,jK=be,jF=[0,fQ],jt="%+nd",ju="% nd",jw="%+ni",jx="% ni",jy="%nx",jz="%#nx",jA="%nX",jB="%#nX",jC="%no",jD="%#no",js="%nd",jv=g_,jE="%nu",jg="%+ld",jh="% ld",jj="%+li",jk="% li",jl="%lx",jm="%#lx",jn="%lX",jo="%#lX",jp="%lo",jq="%#lo",jf="%ld",ji=f0,jr="%lu",i5="%+Ld",i6="% Ld",i8="%+Li",i9="% Li",i_="%Lx",i$="%#Lx",ja="%LX",jb="%#LX",jc="%Lo",jd="%#Lo",i4="%Ld",i7=f7,je="%Lu",iS="%+d",iT="% d",iV="%+i",iW="% i",iX="%x",iY="%#x",iZ="%X",i0="%#X",i1="%o",i2="%#o",iR=dn,iU=gc,i3=gw,h_="@]",h$="@}",ia="@?",ib="@\n",ic="@.",id="@@",ie="@%",ig="@",iP="CamlinternalFormat.Type_mismatch",j2=e,j3=[0,[11,f3,[2,0,[2,0,0]]],", %s%s"],kp=[0,[11,d0,[2,0,[12,10,0]]],gz],kq=[0,[11,"Fatal error in uncaught exception handler: exception ",[2,0,[12,10,0]]],"Fatal error in uncaught exception handler: exception %s\n"],ko="Fatal error: out of memory in uncaught exception handler",km=[0,[11,d0,[2,0,[12,10,0]]],gz],kj=[0,[2,0,[12,10,0]],"%s\n"],kb="Raised at",kc="Re-raised at",kd="Raised by primitive operation at",ke="Called from",kf=" (inlined)",kh=e,kg=[0,[2,0,[12,32,[2,0,[11,' in file "',[2,0,[12,34,[2,0,[11,", line ",[4,0,0,0,[11,g7,q2]]]]]]]]]],'%s %s in file "%s"%s, line %d, characters %d-%d'],ki=[0,[2,0,[11," unknown location",0]],"%s unknown location"],j8="Out of memory",j9="Stack overflow",j_="Pattern matching failed",j$="Assertion failed",ka="Undefined recursive module",j4=[0,[12,40,[2,0,[2,0,[12,41,0]]]],"(%s%s)"],j5=e,j6=e,j7=[0,[12,40,[2,0,[12,41,0]]],"(%s)"],j1=[0,[4,0,0,0,0],dn],jZ=[0,[3,0,0],"%S"],j0=gR,kk=[0,e,"(Cannot print locations:\n bytecode executable program file not found)","(Cannot print locations:\n bytecode executable program file appears to be corrupt)","(Cannot print locations:\n bytecode executable program file has wrong magic number)","(Cannot print locations:\n bytecode executable program file cannot be opened;\n -- too many open files. Try running with OCAMLRUNPARAM=b=2)"],kx=ak(14371852,15349651,22696),ky=ak(12230193,11438743,35013),kz=ak(1424933,15549263,2083),kA=ak(9492471,4696708,43520),kr=ak(1,0,0),ks=ak(0,0,0),kv=ak(1,0,0),kt=ak(0,0,0),ku=ak(2,0,0),kC="Jsoo_runtime.Error.Exn",kS=[0,ai,165,16],kR=[0,ai,166,16],kQ=[0,ai,105,4],kP=[0,ai,98,4],kO=[0,ai,83,4],kN=[0,ai,84,4],kM=[0,ai,89,4],kL=[0,ai,67,4],kK=[0,ai,68,4],kJ=[0,ai,54,4],kI=[0,ai,55,4],kH=[0,ai,25,4],kG=[0,ai,19,4],ld=[0,a,388,16],ll=[0,a,611,12],lm=[0,a,623,12],lp=[0,a,840,8],lo=[0,a,848,12],ln=[0,a,802,8],lk=[0,a,579,12],lj=[0,a,510,8],li=[0,a,492,8],lh=[0,a,473,8],lg=[0,a,443,8],lf=[0,a,f5,8],le=[0,a,431,8],k8=[0,a,300,12],k_=[0,a,317,20],k9=[0,a,318,20],k$=[0,a,331,20],la=[0,a,gy,20],lb=[0,a,355,20],lc=[0,a,366,20],k7=[0,a,223,8],k6=[0,a,205,8],k5=[0,a,206,8],k4=[0,a,207,8],k3=[0,a,208,8],k2=[0,a,193,8],k1=[0,a,194,8],k0=[0,a,195,8],kY=[0,a,109,20],kX=[0,a,gY,24],kW=[0,a,115,24],kZ=[0,a,107,16],kU=[0,a,81,20],kV=[0,a,79,16],lq=[0,a,20,8],lt=[0,gI,257,8],ls=[0,gI,147,8],lw=[0,du,88,12],lv=[0,du,62,17],lu=[0,du,64,17],lx=[0,0],ly=[0,1],lP=[0,bZ,356,12],lJ=g8,lK=di,lH=gf,lG=gf,lD="Cannot decode event",lC=[0,bZ,78,33],lB=[0,bZ,88,21],lA=[0,bZ,gi,33],lz=[0,bZ,48,17],lL="tagName",lN=di,lQ=[0,"src/browser/vdom.ml",246,16],lR=[0,0,0],lS=" col: ",lT=" line: ",lU="assertion failed file: ",lV="Uncaught javascript exception",lW="Uncaught ocaml exception",lY="Exception in task execution",lX=[0,"src/browser/task.ml",11,4],l3="Exception in 'update_subscriptions' of Fmlib_browser",l6=[0,ct,365,4],mc="load",l$="Exception in 'update'",l_="subscriptioin",l9="view",l7="'",l8="Exception in '",l4="Exception in 'update_dom' of Fmlib_browser",l5=[0,ct,gy,4],l2=[0,ct,94,12],l1=[0,ct,85,12],mt="li",ms="ul",mr="select",mq="textarea",mp="label",mo=gx,mn="button",mm=f9,ml="div",mi=fY,mj=di,mk=gx,mh=fY,mg="src",mf=g8,me="class",md="id",qK=aq,qB=aq,qq=aq,qh=aq,p_=aq,pr=aq,pc="mark",pb="form",pa="section",pd="contact",pe="Send",pf="submit",pg=E,ph="total",pi=ds,pj=ds,pk=M,pl=T,pm=E,pn="Message",po=ds,pp=O,pq="tail",ps=dJ,pt=dJ,pu=M,pv=T,pw=E,px="Shipping by NZ Post Courier",py=dJ,pz=O,pA=d7,pB=d7,pC=M,pD=T,pE=E,pF="Postal Address",pG=d7,pH=O,pI=dA,pJ=dA,pK=M,pL=T,pM=E,pN="Last Name",pO=dA,pP=O,pQ=dR,pR=dR,pS=M,pT=T,pU=E,pV="First Name",pW=dR,pX=O,pY=d3,pZ=dL,p0="_replyto",p1=M,p2=dL,p3=E,p4=gF,p5=dL,p6=O,p7="personal_details",p8="accessories",p9="measurements",p$=ed,qa=ed,qb=M,qc=T,qd=E,qe="Back Panel: Colour & Fabric",qf=ed,qg=O,qi=dU,qj=dU,qk=M,ql=T,qm=E,qn="Side Pockets: Colour & Fabric",qo=dU,qp=O,qr=dD,qs=dD,qt=M,qu=T,qv=E,qw="Side Panels: Colour & Fabric",qx=dD,qy=O,qz="fabric_and_colour",qA=gV,qC=d$,qD=d$,qE=M,qF=T,qG=E,qH="I'm going for",qI=d$,qJ=O,qL=dX,qM=dX,qN=M,qO=T,qP=E,qQ="Select a backpack",qR=dX,qS=O,qT="backpacks",qU="post",qV="method",qW="https://formspree.io/f/mjvnykql",qX="action",qY="main",qZ="header",q0="container",o_="Cost NZD: ",o8="Total: NZD ",oY=aq,oZ=dH,o0=dH,o1=M,o2=T,o3=E,o4="Rolltop: Colour & Fabric",o5=dH,o6=O,oD=cm,oC=dO,oB=dW,oE=d9,oF=d9,oG=M,oH=T,oI=E,oJ="Waist Circumference",oK=d9,oL=O,oM=ec,oN=ec,oO=M,oP=T,oQ=E,oR="Torso Length",oS=ec,oT=O,oU="Use a tape measure or piece of string to measure the length of your spine inbetween, conforming to the curves of your back.",oV="Find the top of your sacrum by placing your fore fingers on your hip bones (the Posterior Superior Iliac Spine), thumbs pointing in and resting in the small of your back.",oW="Find your C7 vertebra by bowing your head forward and finding the big bump sticking out on your spine at the bottom of your neck or around shoulder height.",oX="How to measure your torso",or=cm,oq=dO,op=dW,os="38 Caswell Road, Te Anau, Te Anau 9600",ot="Visit",ou="Phone",ov="tel:+0277561938",ow=gF,ox="mailto:david@fiordlandpacks.nz",oy="fiordlandpacks.nz",oz="https://fiordlandpacks.nz",oA="Contact Fiordland Packs",ol="img",om="Please complete this order form. I'll send an invoice tomorrow morning. Payment is by direct \n deposit or Stripe. Wait time is currently 2-3 weeks.",on="logo.svg",oo=d3,n9=aq,nZ=aq,nM=aq,ny=aq,nl=aq,ni="td",nh="tr",ng="table",nf="article",ne="figure",nj=bR,nk=[0,e,0],nm=dk,nn=dk,no=M,np=T,nq=E,nr="Shoulder Bag",ns=dk,nt=O,nu=cq,nv=bX,nw=bR,nx=[0,e,0],nz=ea,nA=ea,nB=M,nC=T,nD=E,nE="Waist Bag",nF=ea,nG=O,nH=cq,nI=bX,nJ="The lid fits all Fiordland Packs with a Y stap, it will not fit a 25l or 35l pack. Made from grey HDPE Gridstop. Weighs ~100g",nK=bR,nL=[0,e,[0,gO,0]],nN=dI,nO=dI,nP=M,nQ=T,nR=E,nS="Backpack Lid",nT=dI,nU=O,nV=cq,nW=bX,nX=" each",nY=bR,n0=dt,n1=dt,n2=M,n3=T,n4=E,n5="Colour",n6=dt,n7=O,n8=[0,e,[0,gU,[0,gL,[0,fS,[0,gN,0]]]]],n_=dy,n$=dy,oa=M,ob=T,oc=E,od="Strap Bottle Pockets",oe=dy,of=O,og=d3,oh=cq,oi=bX,oj="350%",ok=bX,m$=cm,m_=dO,m9=dW,na="Specification",nb=gV,nc=bR,m7=" for Ultra 400TX",m8="Plus NZD ",m5="empty_view",mL=e,mJ=[0,[0,e,0],[0,e,0],[0,e,0]],mK=[0,[0,e,0],[0,e,0],[0,e,0]],mH=[0,[0,dF,[0,bA,0]],[0,dF,[0,bA,0]],[0,dF,[0,bA,0]]],mI=[0,[0,bA,0],[0,bA,0],[0,bA,0]],mE=[0,dl,0],mF=[0,dl,0],mG=[0,dl,0],mu=bi([g4,"Average width: 34cm","Depth: 22cm",dZ,"Volume: 65l to the top of an open bag, excluding pockets and any for Ultra 400TX rolltop",cp,bS,fZ,ef,gh,d1,dj,d_,bw,bY,bU,bx,bz,bB,a5,gZ]),mv=bi([g4,"Average width: 31cm","Depth: 21cm","Height: 85cm","Volume: 55l to the top of an open bag, excluding pockets and any for Ultra 400TX rolltop",cp,bS,fZ,ef,gh,d1,dj,d_,bw,bY,bU,bx,bz,bB,a5,gZ]),mw=[0,"Average width: 27cm",[0,"Depth: 17cm",[0,"Height: 60cm",[0,"Volume: 27l to the top of an open bag, excluding pockets",[0,"Weight: ~450 grams depending on fabric selection",[0,dT,[0,"Lycra side pockets",[0,"Lycra back pocket with bungy cord",[0,gm,[0,a5,0]]]]]]]]]],mx=[0,"Average width: 25cm",[0,"Depth: 18cm",[0,"Height: 57cm",[0,"Volume: 25l to the top of an open bag",[0,"Weight: ~300 grams",[0,dT,[0,"Lycra pocket on the pack base",[0,gm,[0,a5,0]]]]]]]]],my=bi([gb,"Average circumference: 100.5cm",dZ,"Volume: 70l to the top of an open bag",cp,bS,dx,dN,dV,dS,dQ,bw,bY,bU,bx,bz,bB,a5]),mz=bi([gb,"Average circumference: 98.5cm",gW,"Volume: 60l to the top of an open bag",cp,bS,dx,dN,dV,dS,dQ,bw,bY,bU,bx,bz,bB,a5]),mA=bi([fR,"Average circumference: 92cm",gW,"Volume: 50l to the top of an open bag","Weight: 1+ kilograms depending on fabric selection and torso length",bS,dx,dN,dV,dS,dQ,bw,bY,bU,bx,bz,bB,a5]),mM=e,mO=e,mP=e,mQ=e,mR=e,mS=e,mT=e,mU=e,mW=e,mX=e,mY=e;function
q7(a,b,c,d,e,f,g,h){return(a.l>=0?a.l:a.l=a.length)==7?a(b,c,d,e,f,g,h):a8(a,[b,c,d,e,f,g,h])}var
r1=undefined;rm();var
cK=[N,g_,-1],eI=[N,go,-2],eF=[N,ee,-3],eE=[N,f7,-4],eG=[N,g6,-8],eH=[N,gF,-9],j=[N,gN,-11],eJ=[N,g1,-12],q6=[4,0,0,0,[12,45,[4,0,0,0,0]]],cU=[0,[11,'File "',[2,0,[11,'", line ',[4,0,0,0,[11,g8,[4,0,0,0,[12,45,[4,0,0,0,[11,": ",[2,0,0]]]]]]]]]],'File "%s", line %d, characters %d-%d: %s'],p=bi(["Army Olive EPX200","Black Knight EPX200","Brick Red EPX200","Bright Blue EPX200","Bright Orange EPX200","Coyote Brown EPX200","Deep Purple EPX200","Fuchsia EPX200","Golden Dazy EPX200","Green Mountain EPX200","Ocean Blue EPX200","Red Barn EPX200","Snow White EPX200","Teal EPX200","Wolf Grey EPX200"]),bu=[0,"Black Knight EPX400",0],bb=[0,"Black Ultra 400TX",0],cg=[0,"Black VX42",0],ap=[0,"Black VX21 Cire",0],u=[0,"Navy Blue VX07",[0,"Red VX07",[0,"Off-white VX07",0]]],bc=[0,"Liteskin LS07",0],fE=[0,eb,[0,cu,[0,d2,0]]],fF=[0,e,[0,aK,[0,aL,[0,aO,[0,aP,[0,aJ,[0,aN,[0,aD,[0,at,[0,au,0]]]]]]]]]],fG=[0,e,0],fH=bi([fS,"Average width: 28cm","Depth: 19cm",dZ,"Volume: 46l to the top of an open bag, excluding pockets and any for Ultra 400TX rolltop","Weight: 0.65 to 1 kilograms depending on fabric selection and torso length",dT,"Bungy cord side compression",ef,"Large HDPE Gridstop back pocket with bungy cord",d1,dj,d_,bw,"Integrated back padding (EVA foam, minimal)",bx,bz,bB,a5]),fI=[0,e,[0,gE,[0,gK,[0,g2,[0,gB,[0,fV,[0,f2,[0,gC,0]]]]]]]],d=[0,"I'm feeling lucky!",0];ar(11,eJ,g1);ar(10,j,gN);ar(9,[N,gT,-10],gT);ar(8,eH,gF);ar(7,eG,g6);ar(6,[N,f9,-7],f9);ar(5,[N,gl,-6],gl);ar(4,[N,gv,-5],gv);ar(3,eE,f7);ar(2,eF,ee);ar(1,eI,go);ar(0,cK,g_);var
hT=be,hR="true",hS="false",hW="\\\\",hX="\\'",hY="\\b",hZ="\\t",h0="\\n",h1="\\r",h4="String.blit / Bytes.blit_string",h3="Bytes.blit",h2="String.sub / Bytes.sub",h5="String.concat",h7="Array.blit",h6="Array.sub",h9="Buffer.add: cannot grow buffer",ii="%c",ij="%s",ik=gd,il=f1,im=g$,io=f8,ip="%f",iq="%B",ir="%{",is="%}",it="%(",iu="%)",iv="%a",iw="%t",ix="%?",iy="%r",iz="%_r",iA=[0,F,850,23],iL=[0,F,814,21],iD=[0,F,815,21],iM=[0,F,818,21],iE=[0,F,819,21],iN=[0,F,822,19],iF=[0,F,823,19],iO=[0,F,826,22],iG=[0,F,827,22],iP=[0,F,831,30],iH=[0,F,832,30],iJ=[0,F,836,26],iB=[0,F,837,26],iK=[0,F,846,28],iC=[0,F,847,28],iI=[0,F,851,23],jQ=[0,F,1558,4],jR="Printf: bad conversion %[",jS=[0,F,1626,39],jT=[0,F,1649,31],jU=[0,F,1650,31],jV="Printf: bad conversion %_",jW=gk,jX=gR,jY=gk,jZ=gR,jO=dw,jM="neg_infinity",jN=gr,jL=be,jG=[0,fR],ju="%+nd",jv="% nd",jx="%+ni",jy="% ni",jz="%nx",jA="%#nx",jB="%nX",jC="%#nX",jD="%no",jE="%#no",jt="%nd",jw=g$,jF="%nu",jh="%+ld",ji="% ld",jk="%+li",jl="% li",jm="%lx",jn="%#lx",jo="%lX",jp="%#lX",jq="%lo",jr="%#lo",jg="%ld",jj=f1,js="%lu",i6="%+Ld",i7="% Ld",i9="%+Li",i_="% Li",i$="%Lx",ja="%#Lx",jb="%LX",jc="%#LX",jd="%Lo",je="%#Lo",i5="%Ld",i8=f8,jf="%Lu",iT="%+d",iU="% d",iW="%+i",iX="% i",iY="%x",iZ="%#x",i0="%X",i1="%#X",i2="%o",i3="%#o",iS=dn,iV=gd,i4=gx,h$="@]",ia="@}",ib="@?",ic="@\n",id="@.",ie="@@",ig="@%",ih="@",iQ="CamlinternalFormat.Type_mismatch",j3=e,j4=[0,[11,f4,[2,0,[2,0,0]]],", %s%s"],kq=[0,[11,d0,[2,0,[12,10,0]]],gA],kr=[0,[11,"Fatal error in uncaught exception handler: exception ",[2,0,[12,10,0]]],"Fatal error in uncaught exception handler: exception %s\n"],kp="Fatal error: out of memory in uncaught exception handler",kn=[0,[11,d0,[2,0,[12,10,0]]],gA],kk=[0,[2,0,[12,10,0]],"%s\n"],kc="Raised at",kd="Re-raised at",ke="Raised by primitive operation at",kf="Called from",kg=" (inlined)",ki=e,kh=[0,[2,0,[12,32,[2,0,[11,' in file "',[2,0,[12,34,[2,0,[11,", line ",[4,0,0,0,[11,g8,q6]]]]]]]]]],'%s %s in file "%s"%s, line %d, characters %d-%d'],kj=[0,[2,0,[11," unknown location",0]],"%s unknown location"],j9="Out of memory",j_="Stack overflow",j$="Pattern matching failed",ka="Assertion failed",kb="Undefined recursive module",j5=[0,[12,40,[2,0,[2,0,[12,41,0]]]],"(%s%s)"],j6=e,j7=e,j8=[0,[12,40,[2,0,[12,41,0]]],"(%s)"],j2=[0,[4,0,0,0,0],dn],j0=[0,[3,0,0],"%S"],j1=gS,kl=[0,e,"(Cannot print locations:\n bytecode executable program file not found)","(Cannot print locations:\n bytecode executable program file appears to be corrupt)","(Cannot print locations:\n bytecode executable program file has wrong magic number)","(Cannot print locations:\n bytecode executable program file cannot be opened;\n -- too many open files. Try running with OCAMLRUNPARAM=b=2)"],ky=ak(14371852,15349651,22696),kz=ak(12230193,11438743,35013),kA=ak(1424933,15549263,2083),kB=ak(9492471,4696708,43520),ks=ak(1,0,0),kt=ak(0,0,0),kw=ak(1,0,0),ku=ak(0,0,0),kv=ak(2,0,0),kD="Jsoo_runtime.Error.Exn",kT=[0,ai,165,16],kS=[0,ai,166,16],kR=[0,ai,105,4],kQ=[0,ai,98,4],kP=[0,ai,83,4],kO=[0,ai,84,4],kN=[0,ai,89,4],kM=[0,ai,67,4],kL=[0,ai,68,4],kK=[0,ai,54,4],kJ=[0,ai,55,4],kI=[0,ai,25,4],kH=[0,ai,19,4],le=[0,a,388,16],lm=[0,a,611,12],ln=[0,a,623,12],lq=[0,a,840,8],lp=[0,a,848,12],lo=[0,a,802,8],ll=[0,a,579,12],lk=[0,a,510,8],lj=[0,a,492,8],li=[0,a,473,8],lh=[0,a,443,8],lg=[0,a,f6,8],lf=[0,a,431,8],k9=[0,a,300,12],k$=[0,a,317,20],k_=[0,a,318,20],la=[0,a,331,20],lb=[0,a,gz,20],lc=[0,a,355,20],ld=[0,a,366,20],k8=[0,a,223,8],k7=[0,a,205,8],k6=[0,a,206,8],k5=[0,a,207,8],k4=[0,a,208,8],k3=[0,a,193,8],k2=[0,a,194,8],k1=[0,a,195,8],kZ=[0,a,109,20],kY=[0,a,gZ,24],kX=[0,a,115,24],k0=[0,a,107,16],kV=[0,a,81,20],kW=[0,a,79,16],lr=[0,a,20,8],lu=[0,gJ,257,8],lt=[0,gJ,147,8],lx=[0,du,88,12],lw=[0,du,62,17],lv=[0,du,64,17],ly=[0,0],lz=[0,1],lQ=[0,bZ,356,12],lK=g9,lL=di,lI=gg,lH=gg,lE="Cannot decode event",lD=[0,bZ,78,33],lC=[0,bZ,88,21],lB=[0,bZ,gj,33],lA=[0,bZ,48,17],lM="tagName",lO=di,lR=[0,"src/browser/vdom.ml",246,16],lS=[0,0,0],lT=" col: ",lU=" line: ",lV="assertion failed file: ",lW="Uncaught javascript exception",lX="Uncaught ocaml exception",lZ="Exception in task execution",lY=[0,"src/browser/task.ml",11,4],l4="Exception in 'update_subscriptions' of Fmlib_browser",l7=[0,ct,365,4],md="load",ma="Exception in 'update'",l$="subscriptioin",l_="view",l8="'",l9="Exception in '",l5="Exception in 'update_dom' of Fmlib_browser",l6=[0,ct,gz,4],l3=[0,ct,94,12],l2=[0,ct,85,12],mu="li",mt="ul",ms="select",mr="textarea",mq="label",mp=gy,mo="button",mn=f_,mm="div",mj=fZ,mk=di,ml=gy,mi=fZ,mh="src",mg=g9,mf="class",me="id",qO=aq,qF=aq,qu=aq,ql=aq,qc=aq,pv=aq,pg="mark",pf="form",pe="section",ph="contact",pi="Send",pj="submit",pk=E,pl="total",pm=ds,pn=ds,po=M,pp=T,pq=E,pr="Message",ps=ds,pt=O,pu="tail",pw=dJ,px=dJ,py=M,pz=T,pA=E,pB="Shipping by NZ Post Courier",pC=dJ,pD=O,pE=d7,pF=d7,pG=M,pH=T,pI=E,pJ="Postal Address",pK=d7,pL=O,pM=dA,pN=dA,pO=M,pP=T,pQ=E,pR="Last Name",pS=dA,pT=O,pU=dR,pV=dR,pW=M,pX=T,pY=E,pZ="First Name",p0=dR,p1=O,p2=d3,p3=dL,p4="_replyto",p5=M,p6=dL,p7=E,p8=gG,p9=dL,p_=O,p$="personal_details",qa="accessories",qb="measurements",qd=ed,qe=ed,qf=M,qg=T,qh=E,qi="Back Panel: Colour & Fabric",qj=ed,qk=O,qm=dU,qn=dU,qo=M,qp=T,qq=E,qr="Side Pockets: Colour & Fabric",qs=dU,qt=O,qv=dD,qw=dD,qx=M,qy=T,qz=E,qA="Side Panels: Colour & Fabric",qB=dD,qC=O,qD="fabric_and_colour",qE=gW,qG=d$,qH=d$,qI=M,qJ=T,qK=E,qL="I'm going for",qM=d$,qN=O,qP=dX,qQ=dX,qR=M,qS=T,qT=E,qU="Select a backpack",qV=dX,qW=O,qX="backpacks",qY="post",qZ="method",q0="https://formspree.io/f/mjvnykql",q1="action",q2="main",q3="header",q4="container",pc="Cost NZD: ",pa="Total: NZD ",o2=aq,o3=dH,o4=dH,o5=M,o6=T,o7=E,o8="Rolltop: Colour & Fabric",o9=dH,o_=O,oH=cm,oG=dO,oF=dW,oI=d9,oJ=d9,oK=M,oL=T,oM=E,oN="Waist Circumference",oO=d9,oP=O,oQ=ec,oR=ec,oS=M,oT=T,oU=E,oV="Torso Length",oW=ec,oX=O,oY="Use a tape measure or piece of string to measure the length of your spine inbetween, conforming to the curves of your back.",oZ="Find the top of your sacrum by placing your fore fingers on your hip bones (the Posterior Superior Iliac Spine), thumbs pointing in and resting in the small of your back.",o0="Find your C7 vertebra by bowing your head forward and finding the big bump sticking out on your spine at the bottom of your neck or around shoulder height.",o1="How to measure your torso",ov=cm,ou=dO,ot=dW,ow="38 Caswell Road, Te Anau, Te Anau 9600",ox="Visit",oy="Phone",oz="tel:+0277561938",oA=gG,oB="mailto:david@fiordlandpacks.nz",oC="fiordlandpacks.nz",oD="https://fiordlandpacks.nz",oE="Contact Fiordland Packs",op="img",oq="Please complete this order form. I'll send an invoice tomorrow morning. Payment is by direct \n deposit or Stripe. Wait time is currently 2-3 weeks.",or="logo.svg",os=d3,ob=aq,n3=aq,nQ=aq,nD=aq,nq=aq,nn="td",nm="tr",nl="table",nk="article",nj="figure",no=bR,np=[0,e,0],nr=dk,ns=dk,nt=M,nu=T,nv=E,nw="Shoulder Bag",nx=dk,ny=O,nz=cq,nA=bX,nB=bR,nC=[0,e,0],nE=ea,nF=ea,nG=M,nH=T,nI=E,nJ="Waist Bag",nK=ea,nL=O,nM=cq,nN=bX,nO="The lid fits all Fiordland Packs with a Y stap, it will not fit a 25l or 35l pack. Made from grey HDPE Gridstop. Weighs ~100g",nP=bR,nR=dI,nS=dI,nT=M,nU=T,nV=E,nW="Backpack Lid",nX=dI,nY=O,nZ=cq,n0=bX,n1=" each",n2=bR,n4=dt,n5=dt,n6=M,n7=T,n8=E,n9="Colour",n_=dt,n$=O,oa=[0,e,[0,gV,[0,gM,[0,fT,[0,gO,0]]]]],oc=dy,od=dy,oe=M,of=T,og=E,oh="Strap Bottle Pockets",oi=dy,oj=O,ok=d3,ol=cq,om=bX,on="350%",oo=bX,nf=[0,eg,0],ng=[0,eg,0],nh=[0,eg,0],ne=[0,e,[0,gP,0]],na=cm,m$=dO,m_=dW,nb="Specification",nc=gW,nd=bR,m8=" for Ultra 400TX",m9="Plus NZD ",m6="empty_view",mM=e,mK=[0,[0,e,0],[0,e,0],[0,e,0]],mL=[0,[0,e,0],[0,e,0],[0,e,0]],mI=[0,[0,dF,[0,bA,0]],[0,dF,[0,bA,0]],[0,dF,[0,bA,0]]],mJ=[0,[0,bA,0],[0,bA,0],[0,bA,0]],mF=[0,dl,0],mG=[0,dl,0],mH=[0,dl,0],mv=bi([g5,"Average width: 34cm","Depth: 22cm",dZ,"Volume: 65l to the top of an open bag, excluding pockets and any for Ultra 400TX rolltop",cp,bS,f0,ef,gi,d1,dj,d_,bw,bY,bU,bx,bz,bB,a5,g0]),mw=bi([g5,"Average width: 31cm","Depth: 21cm","Height: 85cm","Volume: 55l to the top of an open bag, excluding pockets and any for Ultra 400TX rolltop",cp,bS,f0,ef,gi,d1,dj,d_,bw,bY,bU,bx,bz,bB,a5,g0]),mx=[0,"Average width: 27cm",[0,"Depth: 17cm",[0,"Height: 60cm",[0,"Volume: 27l to the top of an open bag, excluding pockets",[0,"Weight: ~450 grams depending on fabric selection",[0,dT,[0,"Lycra side pockets",[0,"Lycra back pocket with bungy cord",[0,gn,[0,a5,0]]]]]]]]]],my=[0,"Average width: 25cm",[0,"Depth: 18cm",[0,"Height: 57cm",[0,"Volume: 25l to the top of an open bag",[0,"Weight: ~300 grams",[0,dT,[0,"Lycra pocket on the pack base",[0,gn,[0,a5,0]]]]]]]]],mz=bi([gc,"Average circumference: 100.5cm",dZ,"Volume: 70l to the top of an open bag",cp,bS,dx,dN,dV,dS,dQ,bw,bY,bU,bx,bz,bB,a5]),mA=bi([gc,"Average circumference: 98.5cm",gX,"Volume: 60l to the top of an open bag",cp,bS,dx,dN,dV,dS,dQ,bw,bY,bU,bx,bz,bB,a5]),mB=bi([fS,"Average circumference: 92cm",gX,"Volume: 50l to the top of an open bag","Weight: 1+ kilograms depending on fabric selection and torso length",bS,dx,dN,dV,dS,dQ,bw,bY,bU,bx,bz,bB,a5]),mN=e,mP=e,mQ=e,mR=e,mS=e,mT=e,mU=e,mV=e,mX=e,mY=e,mZ=e;function
bG(a,b){hC(a,b,0,w(b));return}function
eJ(a){bG(aF,a);hD(aF,10);return aV(aF)}var
hU=[0,hT],eK=[0,function(a){return}];function
cL(a){g(eK[1],0);return g(cw(hU),0)}ez(gs,cL);var
bH=(4*rP(0)|0)-1|0;function
bG(a,b){hD(a,b,0,w(b));return}function
eK(a){bG(aG,a);hE(aG,10);return aV(aG)}var
hV=[0,hU],eL=[0,function(a){return}];function
cL(a){g(eL[1],0);return g(cw(hV),0)}eA(gt,cL);var
bH=(4*rT(0)|0)-1|0;function
e=a0(h1)}return $(e)}function
eN(a,b,c,d,e){if(0<=e&&0<=b&&(aE(a)-e|0)>=b&&0<=d&&(aE(c)-e|0)>=d){a7(a,b,c,d,e);return}return a0(h2)}function
ay(a,b,c,d,e){if(0<=e&&0<=b&&(w(a)-e|0)>=b&&0<=d&&(aE(c)-e|0)>=d){aS(a,b,c,d,e);return}return a0(h3)}var
e=a0(h2)}return $(e)}function
eO(a,b,c,d,e){if(0<=e&&0<=b&&(aF(a)-e|0)>=b&&0<=d&&(aF(c)-e|0)>=d){a7(a,b,c,d,e);return}return a0(h3)}function
aA(a,b,c,d,e){if(0<=e&&0<=b&&(w(a)-e|0)>=b&&0<=d&&(aF(c)-e|0)>=d){aS(a,b,c,d,e);return}return a0(h4)}var
b=a.length-1;return 0===b?[0]:eg(a,0,b)}function
cN(a,b,c){if(0<=b&&0<=c&&(a.length-1-c|0)>=b)return eg(a,b,c);return a0(h5)}function
as(a,b,c,d,e){if(0<=e&&0<=b&&(a.length-1-e|0)>=b&&0<=d&&(c.length-1-e|0)>=d){q5(a,b,c,d,e);return}return a0(h6)}function
h7(a,b,c){var
b=a.length-1;return 0===b?[0]:eh(a,0,b)}function
cN(a,b,c){if(0<=b&&0<=c&&(a.length-1-c|0)>=b)return eh(a,b,c);return a0(h6)}function
as(a,b,c,d,e){if(0<=e&&0<=b&&(a.length-1-e|0)>=b&&0<=d&&(c.length-1-e|0)>=d){q9(a,b,c,d,e);return}return a0(h7)}function
h8(a,b,c){var
eO(a,b){var
d=a[2],c=[0,a[1][2]];for(;;){if(c[1]>=(d+b|0))break;c[1]=2*c[1]|0}if(bH<c[1]){if((d+b|0)>bH)throw i([0,eE,h8],1);c[1]=bH}var
e=G(c[1]);eN(a[1][1],0,e,0,a[2]);a[1]=[0,e,c[1]];return}function
eP(a,b){var
d=a[2],c=[0,a[1][2]];for(;;){if(c[1]>=(d+b|0))break;c[1]=2*c[1]|0}if(bH<c[1]){if((d+b|0)>bH)throw i([0,eF,h9],1);c[1]=bH}var
e=G(c[1]);eO(a[1][1],0,e,0,a[2]);a[1]=[0,e,c[1]];return}function
c=cw(eP);if(!(1-ha(eP,c,[0,e,c])))break}}return d}var
eR=eQ(0,function(a,b){return 0});eK[1]=function(a){var
b=eR[1],l=eR[2],d=re(0),e=d.length-1;if(b<e)var
c=cw(eQ);if(!(1-hb(eQ,c,[0,e,c])))break}}return d}var
eS=eR(0,function(a,b){return 0});eL[1]=function(a){var
b=eS[1],l=eS[2],d=ri(0),e=d.length-1;if(b<e)var
eS(a){return[0,0,G(a)]}function
eT(a,b){var
c=aE(a[2]),d=a[1]+b|0;if(c<d){var
e=c*2|0,g=d<=e?e:d,f=G(g);eN(a[2],0,f,0,c);a[2]=f}return}function
bn(a,b){eT(a,1);bh(a[2],a[1],b);a[1]=a[1]+1|0;return}function
eT(a){return[0,0,G(a)]}function
eU(a,b){var
c=aF(a[2]),d=a[1]+b|0;if(c<d){var
e=c*2|0,g=d<=e?e:d,f=G(g);eO(a[2],0,f,0,c);a[2]=f}return}function
bn(a,b){eU(a,1);bh(a[2],a[1],b);a[1]=a[1]+1|0;return}function
0:return h_;case
1:return h$;case
2:return ia;case
3:return ib;case
4:return ic;case
5:return id;default:return ie}switch(a[0]){case
0:return h$;case
1:return ia;case
2:return ib;case
3:return ic;case
4:return id;case
5:return ie;default:return ig}switch(a[0]){case
9:break;default:throw i([0,j,iz],1)}}throw i([0,j,iB],1)}throw i([0,j,iA],1)}throw i([0,j,iG],1)}throw i([0,j,iF],1)}throw i([0,j,iE],1)}throw i([0,j,iD],1)}throw i([0,j,iC],1)}var
H=[N,iP,hq(0)];function
9:break;default:throw i([0,j,iA],1)}}throw i([0,j,iC],1)}throw i([0,j,iB],1)}throw i([0,j,iH],1)}throw i([0,j,iG],1)}throw i([0,j,iF],1)}throw i([0,j,iE],1)}throw i([0,j,iD],1)}var
H=[N,iQ,hr(0)];function
0:ay(c,0,e,0,d);break;case
1:ay(c,0,e,f-d|0,d);break;default:a:if(0<d){if(43!==ae(c,0)&&45!==ae(c,0)&&32!==ae(c,0))break a;bh(e,0,ae(c,0));ay(c,1,e,(f-d|0)+1|0,d-1|0);break}a:if(1<d&&48===ae(c,0)){if(co!==ae(c,1)&&88!==ae(c,1))break a;bh(e,1,ae(c,1));ay(c,2,e,(f-d|0)+2|0,d-2|0);break}ay(c,0,e,f-d|0,d)}return $(e)}function
0:aA(c,0,e,0,d);break;case
1:aA(c,0,e,f-d|0,d);break;default:a:if(0<d){if(43!==ae(c,0)&&45!==ae(c,0)&&32!==ae(c,0))break a;bh(e,0,ae(c,0));aA(c,1,e,(f-d|0)+1|0,d-1|0);break}a:if(1<d&&48===ae(c,0)){if(co!==ae(c,1)&&88!==ae(c,1))break a;bh(e,1,ae(c,1));aA(c,2,e,(f-d|0)+2|0,d-2|0);break}aA(c,0,e,f-d|0,d)}return $(e)}function
f=ba(d+1|0,48);bh(f,0,e);ay(b,1,f,(d-c|0)+2|0,c-1|0);return $(f)}if(71<=e){if(5<e+ge>>>0)break a}else if(65>e)break a}if(c<d){var
h=ba(d,48);ay(b,0,h,d-c|0,c);return $(h)}}return b}function
iQ(a){var
e=bg(a),b=[0,0],k=aE(e)-1|0,q=0;if(k>=0){var
f=ba(d+1|0,48);bh(f,0,e);aA(b,1,f,(d-c|0)+2|0,c-1|0);return $(f)}if(71<=e){if(5<e+gf>>>0)break a}else if(65>e)break a}if(c<d){var
h=ba(d,48);aA(b,0,h,d-c|0,c);return $(h)}}return b}function
iR(a){var
e=bg(a),b=[0,0],k=aF(e)-1|0,q=0;if(k>=0){var
13:y(c,b[1],92);b[1]++;y(c,b[1],gY);break a;default:break c}}if(34>d)break b}y(c,b[1],92);b[1]++;y(c,b[1],d);break a}y(c,b[1],92);b[1]++;y(c,b[1],48+(d/cl|0)|0);b[1]++;y(c,b[1],48+((d/10|0)%10|0)|0);b[1]++;y(c,b[1],48+(d%10|0)|0);break a}y(c,b[1],d)}b[1]++;var
13:y(c,b[1],92);b[1]++;y(c,b[1],gZ);break a;default:break c}}if(34>d)break b}y(c,b[1],92);b[1]++;y(c,b[1],d);break a}y(c,b[1],92);b[1]++;y(c,b[1],48+(d/cl|0)|0);b[1]++;y(c,b[1],48+((d/10|0)%10|0)|0);b[1]++;y(c,b[1],48+(d%10|0)|0);break a}y(c,b[1],d)}b[1]++;var
3:return cR(f,e,h[2],h[1],iQ);case
4:return ca(f,e,h[4],h[2],h[3],jG,h[1]);case
5:return ca(f,e,h[4],h[2],h[3],jH,h[1]);case
6:return ca(f,e,h[4],h[2],h[3],jI,h[1]);case
7:return ca(f,e,h[4],h[2],h[3],jJ,h[1]);case
3:return cR(f,e,h[2],h[1],iR);case
4:return ca(f,e,h[4],h[2],h[3],jH,h[1]);case
5:return ca(f,e,h[4],h[2],h[3],jI,h[1]);case
6:return ca(f,e,h[4],h[2],h[3],jJ,h[1]);case
7:return ca(f,e,h[4],h[2],h[3],jK,h[1]);case
p==="number")return p?function(a,b){return o(f,[4,e,aG(l,a,b)],m)}:function(a){return o(f,[4,e,aG(l,cP(l),a)],m)};var
ag=p[1];return function(a){return o(f,[4,e,aG(l,ag,a)],m)}}if(0===q[0]){var
p==="number")return p?function(a,b){return o(f,[4,e,aH(l,a,b)],m)}:function(a){return o(f,[4,e,aH(l,cP(l),a)],m)};var
ag=p[1];return function(a){return o(f,[4,e,aH(l,ag,a)],m)}}if(0===q[0]){var
p==="number")return p?function(a,b){return o(f,[4,e,ab(B,z,aG(l,a,b))],m)}:function(a){return o(f,[4,e,ab(B,z,aG(l,cP(l),a))],m)};var
ah=p[1];return function(a){return o(f,[4,e,ab(B,z,aG(l,ah,a))],m)}}var
p==="number")return p?function(a,b){return o(f,[4,e,ab(B,z,aH(l,a,b))],m)}:function(a){return o(f,[4,e,ab(B,z,aH(l,cP(l),a))],m)};var
ah=p[1];return function(a){return o(f,[4,e,ab(B,z,aH(l,ah,a))],m)}}var
p==="number")return p?function(a,b,c){return o(f,[4,e,ab(C,a,aG(l,b,c))],m)}:function(a,b){return o(f,[4,e,ab(C,a,aG(l,cP(l),b))],m)};var
ai=p[1];return function(a,b){return o(f,[4,e,ab(C,a,aG(l,ai,b))],m)};case
9:return cR(f,e,h[2],h[1],hP);case
p==="number")return p?function(a,b,c){return o(f,[4,e,ab(C,a,aH(l,b,c))],m)}:function(a,b){return o(f,[4,e,ab(C,a,aH(l,cP(l),b))],m)};var
ai=p[1];return function(a,b){return o(f,[4,e,ab(C,a,aH(l,ai,b))],m)};case
9:return cR(f,e,h[2],h[1],hQ);case
o(a,b,c){return eA(bQ(0,a,b,c))}function
ag(a,b,c,d){return eA(df(0,a,b,c,d))}function
jO(a,b,c,d,e){return eA(dg(0,a,b,c,d,e))}function
o(a,b,c){return eB(bQ(0,a,b,c))}function
ag(a,b,c,d){return eB(df(0,a,b,c,d))}function
jP(a,b,c,d,e){return eB(dg(0,a,b,c,d,e))}function
eX(d,b){var
a=b[1],c=0;return o(function(a){aH(d,a);return 0},c,a)}function
cS(a){return eX(aF,a)}function
az(a){var
eY(d,b){var
a=b[1],c=0;return o(function(a){aI(d,a);return 0},c,a)}function
cS(a){return eY(aG,a)}function
aB(a){var
c==="number"?1:0)))return g(az(j1),c);if(cE(c)===cj)return g(az(jZ),c);if(cE(c)!==253)return j0;var
e=en("%.12g",c),d=0,h=w(e);for(;;){if(h<=d)return bk(e,hS);var
c==="number"?1:0)))return g(aB(j2),c);if(cE(c)===cj)return g(aB(j0),c);if(cE(c)!==253)return j1;var
e=eo("%.12g",c),d=0,h=w(e);for(;;){if(h<=d)return bk(e,hT);var
i=[0,l[1]]}if(i)return i[1];if(a===cK)return j8;if(a===eG)return j9;if(a[1]===eF){var
e=a[2],p=e[3],y=e[2],z=e[1];return dh(az(cU),z,y,p,p+5|0,j_)}if(a[1]===j){var
f=a[2],q=f[3],A=f[2],B=f[1];return dh(az(cU),B,A,q,q+6|0,j$)}if(a[1]===eI){var
h=a[2],r=h[3],C=h[2],D=h[1];return dh(az(cU),D,C,r,r+6|0,ka)}if(0===cE(a)){var
i=[0,l[1]]}if(i)return i[1];if(a===cK)return j9;if(a===eH)return j_;if(a[1]===eG){var
e=a[2],p=e[3],y=e[2],z=e[1];return dh(aB(cU),z,y,p,p+5|0,j$)}if(a[1]===j){var
f=a[2],q=f[3],A=f[2],B=f[1];return dh(aB(cU),B,A,q,q+6|0,ka)}if(a[1]===eJ){var
h=a[2],r=h[3],C=h[2],D=h[1];return dh(aB(cU),D,C,r,r+6|0,kb)}if(0===cE(a)){var
c=_(f,d)[1+d],h=function(b){return function(a){return a?0===b?kb:kc:0===b?kd:ke}}(d);if(0===c[0])var
j=c[5],k=c[4],l=c[3],m=c[6]?kf:kh,n=c[2],o=c[7],p=h(c[1]),e=[0,q3(az(kg),p,o,n,m,l,k,j)];else if(c[1])var
c=_(f,d)[1+d],h=function(b){return function(a){return a?0===b?kc:kd:0===b?ke:kf}}(d);if(0===c[0])var
j=c[5],k=c[4],l=c[3],m=c[6]?kg:ki,n=c[2],o=c[7],p=h(c[1]),e=[0,q7(aB(kh),p,o,n,m,l,k,j)];else if(c[1])var
eZ(a){for(;;){var
b=cw(cT),c=1-ha(cT,b,[0,a,b]);if(!c)return c}}var
kl=kk.slice(),kn=[0];ez(gT,function(a,b){try{try{var
h=b?kn:hr(0);try{cL(0)}catch(f){}try{var
f=cW(a);g(cS(km),f);cX(aF,h);var
c=rD(0);if(c<0){var
d=b8(c);eJ(_(kl,d)[1+d])}var
l=aV(aF),j=l}catch(f){var
m=cJ(f),n=cW(a);g(cS(kp),n);cX(aF,h);var
o=cW(m);g(cS(kq),o);cX(aF,hr(0));var
j=aV(aF)}var
e0(a){for(;;){var
b=cw(cT),c=1-hb(cT,b,[0,a,b]);if(!c)return c}}var
km=kl.slice(),ko=[0];eA(gU,function(a,b){try{try{var
h=b?ko:hs(0);try{cL(0)}catch(f){}try{var
f=cW(a);g(cS(kn),f);cX(aG,h);var
c=rH(0);if(c<0){var
d=b8(c);eK(_(km,d)[1+d])}var
l=aV(aG),j=l}catch(f){var
m=cJ(f),n=cW(a);g(cS(kq),n);cX(aG,h);var
o=cW(m);g(cS(kr),o);cX(aG,hs(0));var
j=aV(aG)}var
k=eJ(ko)}return k}catch(f){return 0}});function
e0(a,b,c,d){var
e=q7(7,0,[0,4]);b3(e,0,hz(a,kr));b3(e,1,b);var
f=bj(c,ks)?c:kv;b3(e,2,f);var
g=bj(d,kt)?d:ku;b3(e,3,g);return e}function
kw(a){var
b=cD(a),c=cD(a),d=cD(a);return e0(b,c,d,cD(a))}eQ([0,kw],function(a){return e0(kA,kz,ky,kx)});var
e1=[N,kC,hq(0)],cY=[0,e1,[0]],kB=cE(cY)===N?cY:cY[1];ez(dP,kB);function
e2(a){throw a}var
ac=t,e3=null;ac.String;ac.RegExp;ac.Object;var
e4=ac.Date;ac.Math;ac.JSON;var
kD=undefined,kE=ac.Array,kF=ac.Error;eZ(function(a){return a[1]===e1?[0,ax(a[2].toString())]:0});eZ(function(a){return a
k=eK(kp)}return k}catch(f){return 0}});function
e1(a,b,c,d){var
e=q$(7,0,[0,4]);b3(e,0,hA(a,ks));b3(e,1,b);var
f=bj(c,kt)?c:kw;b3(e,2,f);var
g=bj(d,ku)?d:kv;b3(e,3,g);return e}function
kx(a){var
b=cD(a),c=cD(a),d=cD(a);return e1(b,c,d,cD(a))}eR([0,kx],function(a){return e1(kB,kA,kz,ky)});var
e2=[N,kD,hr(0)],cY=[0,e2,[0]],kC=cE(cY)===N?cY:cY[1];eA(dP,kC);function
e3(a){throw a}var
ac=t,e4=null;ac.String;ac.RegExp;ac.Object;var
e5=ac.Date;ac.Math;ac.JSON;var
kE=undefined,kF=ac.Array,kG=ac.Error;e0(function(a){return a[1]===e2?[0,az(a[2].toString())]:0});e0(function(a){return a
o=d[1];return h7(function(a,b){return a4(l,a,b[1],b[2])},f,o)}var
e=d[2],g=d[1],n=g.length-1;if((n+1|0)!==e.length-1)throw i([0,j,kV],1);var
h=f,c=0;for(;;){if(c>=e.length-1)throw i([0,j,kU],1);if(c===n)break;var
o=d[1];return h8(function(a,b){return a4(l,a,b[1],b[2])},f,o)}var
e=d[2],g=d[1],n=g.length-1;if((n+1|0)!==e.length-1)throw i([0,j,kW],1);var
h=f,c=0;for(;;){if(c>=e.length-1)throw i([0,j,kV],1);if(c===n)break;var
e=b[2],l=b[1],m=l.length-1;if((m+1|0)!==e.length-1)throw i([0,j,kZ],1);var
n=h(a,k(e,m)),f=m;for(;;){if(0>f)throw i([0,j,kY],1);if(0===f)return n;var
c=f-1|0;if(0>c)throw i([0,j,kX],1);if(c>=e.length-1)throw i([0,j,kW],1);var
e=b[2],l=b[1],m=l.length-1;if((m+1|0)!==e.length-1)throw i([0,j,k0],1);var
n=h(a,k(e,m)),f=m;for(;;){if(0>f)throw i([0,j,kZ],1);if(0===f)return n;var
c=f-1|0;if(0>c)throw i([0,j,kY],1);if(c>=e.length-1)throw i([0,j,kX],1);var
h(a,b,c){if(0>b)throw i([0,j,k2],1);if(b>c)throw i([0,j,k1],1);if(c<=a.length-1)return cN(a,b,c-b|0);throw i([0,j,k0],1)}function
q(a,b,c,d,e){if(0>d)throw i([0,j,k6],1);if(d>b)throw i([0,j,k5],1);if(b>e)throw i([0,j,k4],1);if(e>a.length-1)throw i([0,j,k3],1);var
h(a,b,c){if(0>b)throw i([0,j,k3],1);if(b>c)throw i([0,j,k2],1);if(c<=a.length-1)return cN(a,b,c-b|0);throw i([0,j,k1],1)}function
q(a,b,c,d,e){if(0>d)throw i([0,j,k7],1);if(d>b)throw i([0,j,k6],1);if(b>e)throw i([0,j,k5],1);if(e>a.length-1)throw i([0,j,k4],1);var
w=h(e,0,a),s=h(f,0,a+1|0),x=h(e,a,b),t=h(f,a,b+1|0);if(!am(a,s))throw i([0,j,k_],1);if(!am(0,t))throw i([0,j,k9],1);a2(s,a,o);a2(t,0,d);return[1,[1,w,s],c,[1,x,t]]}if(g<a){var
y=m(0,a-1|0),z=n(0,a),A=h(e,a,b),B=h(f,a,b+1|0);if(am(a-1|0,e))return[1,[1,y,z],k(e,a-1|0),[1,A,B]];throw i([0,j,k$],1)}var
C=h(e,0,a),D=h(f,0,a+1|0),E=m(a+1|0,b),F=n(a+1|0,b+1|0);if(am(a,e))return[1,[1,C,D],k(e,a),[1,E,F]];throw i([0,j,la],1)}if(g<a){var
H=m(0,a-1|0),I=n(0,a),J=h(e,a,b),K=h(f,a,b+1|0);if(am(a-1|0,e))return[1,[1,H,I],k(e,a-1|0),[1,J,K]];throw i([0,j,lb],1)}var
L=h(e,0,a-1|0),M=h(f,0,a),N=m(a,b),O=n(a,b+1|0);if(am(a-1|0,e))return[1,[1,L,M],k(e,a-1|0),[1,N,O]];throw i([0,j,lc],1)}function
w=h(e,0,a),s=h(f,0,a+1|0),x=h(e,a,b),t=h(f,a,b+1|0);if(!am(a,s))throw i([0,j,k$],1);if(!am(0,t))throw i([0,j,k_],1);a2(s,a,o);a2(t,0,d);return[1,[1,w,s],c,[1,x,t]]}if(g<a){var
y=m(0,a-1|0),z=n(0,a),A=h(e,a,b),B=h(f,a,b+1|0);if(am(a-1|0,e))return[1,[1,y,z],k(e,a-1|0),[1,A,B]];throw i([0,j,la],1)}var
C=h(e,0,a),D=h(f,0,a+1|0),E=m(a+1|0,b),F=n(a+1|0,b+1|0);if(am(a,e))return[1,[1,C,D],k(e,a),[1,E,F]];throw i([0,j,lb],1)}if(g<a){var
H=m(0,a-1|0),I=n(0,a),J=h(e,a,b),K=h(f,a,b+1|0);if(am(a-1|0,e))return[1,[1,H,I],k(e,a-1|0),[1,J,K]];throw i([0,j,lc],1)}var
L=h(e,0,a-1|0),M=h(f,0,a),N=m(a,b),O=n(a,b+1|0);if(am(a-1|0,e))return[1,[1,L,M],k(e,a-1|0),[1,N,O]];throw i([0,j,ld],1)}function
e=cM(d);if(!am(a,e))throw i([0,j,lf],1);if(!am(a+1|0,e))throw i([0,j,le],1);a2(e,a,b);a2(e,a+1|0,c);return e}function
y(a,b,c,d,e){if(!am(b,d))throw i([0,j,lg],1);if(a){var
f=e8(e),g=an(b,e6(e),d);return[0,c1(k(d,b),c),g,f]}var
h=e7(k(d,b),e),l=an(b,c0(c),d);return[0,c3(c),l,h]}function
e=cM(d);if(!am(a,e))throw i([0,j,lg],1);if(!am(a+1|0,e))throw i([0,j,lf],1);a2(e,a,b);a2(e,a+1|0,c);return e}function
y(a,b,c,d,e){if(!am(b,d))throw i([0,j,lh],1);if(a){var
f=e9(e),g=an(b,e7(e),d);return[0,c1(k(d,b),c),g,f]}var
h=e8(k(d,b),e),l=an(b,c0(c),d);return[0,c3(c),l,h]}function
K(a,b,c,d,e,f,g,h){if((a+1|0)>=h.length-1)throw i([0,j,lj],1);var
l=z(a,c,g,e),o=l[2],p=l[1],n=bL(a,h),k=d.length-1,q=g.length-1<=m?1:0,r=0===k?cM(f):0===f.length-1?eg(d,0,k):q4(d,f);a2(n,a,[1,p,r]);return[0,[1,o,n],b,q]}function
K(a,b,c,d,e,f,g,h){if((a+1|0)>=h.length-1)throw i([0,j,lk],1);var
l=z(a,c,g,e),o=l[2],p=l[1],n=bL(a,h),k=d.length-1,q=g.length-1<=m?1:0,r=0===k?cM(f):0===f.length-1?eh(d,0,k):q8(d,f);a2(n,a,[1,p,r]);return[0,[1,o,n],b,q]}function
o=y(h,a,m,f,n),u=o[3],v=o[2],z=o[1],r=I(h,q,t);return[0,[1,v,x(a,[1,z,r[1]],[1,u,r[2]],g)],e,0]}}throw i([0,j,lk],1)}function
o=y(h,a,m,f,n),u=o[3],v=o[2],z=o[1],r=I(h,q,t);return[0,[1,v,x(a,[1,z,r[1]],[1,u,r[2]],g)],e,0]}}throw i([0,j,ll],1)}function
e_(a,b,c){return c.removeEventListener(z(a),b)}function
cc(a,b){if(b===e3)throw i([0,j,ls],1);return b.appendChild(a)}function
e$(a){for(;;){var
b=a.firstChild,c=b==e3?0:[0,b];if(!c)return 0;a.removeChild(c[1])}}function
e$(a,b,c){return c.removeEventListener(z(a),b)}function
cc(a,b){if(b===e4)throw i([0,j,lt],1);return b.appendChild(a)}function
fa(a){for(;;){var
b=a.firstChild,c=b==e4?0:[0,b];if(!c)return 0;a.removeChild(c[1])}}function
a=d[6].call(null,c,b[2]);return e5(function(a){if(a>=b[1].length-1)throw i([0,j,lv],1);var
d=k(b[1],a),e=d[2];if(ho(d[1],c))return e;throw i([0,j,lu],1)},a)}function
a=d[6].call(null,c,b[2]);return e6(function(a){if(a>=b[1].length-1)throw i([0,j,lw],1);var
d=k(b[1],a),e=d[2];if(hp(d[1],c))return e;throw i([0,j,lv],1)},a)}function
ff(a,b,c){return c7(b,c,a)}function
fg(f,e,c,d){function
a(a,b){return ff(f,a,b)}function
b(a,b){return fe(e,a,b)}return c8[4].call(null,b,a,c,d)}function
fh(f,g,c,d,e){function
a(a,b,c){return e_(a,b,f)}function
b(a,b){return ff(f,a,b)}function
h(a,b){return fe(g,a,b)}return c8[5].call(null,h,b,a,c,d,e)}var
c_=fd([0,bl]);bs([0,bl]);var
lE=c_[3];function
fi(d,b,c){var
fg(a,b,c){return c7(b,c,a)}function
fh(f,e,c,d){function
a(a,b){return fg(f,a,b)}function
b(a,b){return ff(e,a,b)}return c8[4].call(null,b,a,c,d)}function
fi(f,g,c,d,e){function
a(a,b,c){return e$(a,b,f)}function
b(a,b){return fg(f,a,b)}function
h(a,b){return ff(g,a,b)}return c8[5].call(null,h,b,a,c,d,e)}var
c_=fe([0,bl]);bs([0,bl]);var
lF=c_[3];function
fj(d,b,c){var
fj(a,b){return ac.setInterval(function(a){return g(b,new
e4)},a)}function
lF(a,b,c){return ac.clearInterval(c)}function
fk(a){return br(0)}function
fl(a){return c7(lG,a,fk(0))}function
lI(d){function
fk(a,b){return ac.setInterval(function(a){return g(b,new
e5)},a)}function
lG(a,b,c){return ac.clearInterval(c)}function
fl(a){return br(0)}function
fm(a){return c7(lH,a,fl(0))}function
lJ(d){function
b=[0,a];if(!c(d,"A")&&!c(d,cm)){0===b[0];return function(a){return[0,b]}}return lr}function
e(a){return bp(lJ,c6,a)}function
f(a){return bp(lK,e,a)}return function(a){return c5(f,b,a)}}function
lM(a){return bp(lL,c6,a)}function
lO(a){return bp(lN,lM,a)}function
b=[0,a];if(!c(d,"A")&&!c(d,cm)){0===b[0];return function(a){return[0,b]}}return ls}function
e(a){return bp(lK,c6,a)}function
f(a){return bp(lL,e,a)}return function(a){return c5(f,b,a)}}function
lN(a){return bp(lM,c6,a)}function
lP(a){return bp(lO,lN,a)}function
m=b[3],o=b[2],p=b[1],q=d(b[4]),t=q[1],r=a4(c[3],p,o,q[2]);fm(c,m,r);return[0,[2,p,o,m,t],r];default:throw i([0,j,lQ],1)}}function
d(a){if(!a)return lR;var
m=b[3],o=b[2],p=b[1],q=d(b[4]),t=q[1],r=a4(c[3],p,o,q[2]);fn(c,m,r);return[0,[2,p,o,m,t],r];default:throw i([0,j,lR],1)}}function
d(a){if(!a)return lS;var
l=c[2],q=i[1],r=a[2],x=i[3],y=i[2],z=a[3];if(bE(a[1],q)){da(d,l,r,y);return[0,[0,[1,q,r,b9(fn(d,l,z,x,0))],l],0]}}break;case
l=c[2],q=i[1],r=a[2],x=i[3],y=i[2],z=a[3];if(bE(a[1],q)){da(d,l,r,y);return[0,[0,[1,q,r,b9(fo(d,l,z,x,0))],l],0]}}break;case
m=c[2],s=e[2],t=e[1],u=a[3],A=e[4],B=e[3],C=a[4],D=a[1];if(bE(a[2],s)&&bE(D,t)){da(d,m,u,B);return[0,[0,[2,t,s,u,b9(fn(d,m,C,A,0))],m],0]}}break;default:var
m=c[2],s=e[2],t=e[1],u=a[3],A=e[4],B=e[3],C=a[4],D=a[1];if(bE(a[2],s)&&bE(D,t)){da(d,m,u,B);return[0,[0,[2,t,s,u,b9(fo(d,m,C,A,0))],m],0]}}break;default:var
u=rA(o);if(u){var
C=u[1];bq(lV);return g(e2,C)}bq(lW);throw i(o,0)}var
p=o[2],t=[0,lU,[0,p[1],[0,lT,[0,e+p[2],[0,lS,[0,e+p[3],0]]]]]];a:{b:{var
u=rE(o);if(u){var
C=u[1];bq(lW);return g(e3,C)}bq(lX);throw i(o,0)}var
p=o[2],t=[0,lV,[0,p[1],[0,lU,[0,e+p[2],[0,lT,[0,e+p[3],0]]]]]];a:{b:{var
B=$(n);g(c,0);bq(a);bq(B);return g(e2,new
kF(z(a)))}}}function
fo(a,b,c){return n(a,b,function(a){if(0!==a[0])throw i([0,j,lX],1);var
B=$(n);g(c,0);bq(a);bq(B);return g(e3,new
kG(z(a)))}}}function
fp(a,b,c){return n(a,b,function(a){if(0!==a[0])throw i([0,j,lY],1);var
b(a){return 0}return bM(lY,function(a){return g(c,d)},b)})}cb([0,bm]);cb([0,bl]);var
fp=bs([0,bl]),fq=bs([0,bm]),lZ=0,l0=[0,fq[1],fp[1],0,0,0];function
fr(a){function
b(a){return 0}return bM(lZ,function(a){return g(c,d)},b)})}cb([0,bm]);cb([0,bl]);var
fq=bs([0,bl]),fr=bs([0,bm]),l0=0,l1=[0,fr[1],fq[1],0,0,0];function
fs(a){function
d=b[2],f=b[1],g=a[5],h=a[4],i=a[3],j=a[2],k=a[1],l=function(a){return a?[0,d,a[1]]:[0,d,0]};return[0,fq[5].call(null,f,l,k),j,i,h,g];case
d=b[2],f=b[1],g=a[5],h=a[4],i=a[3],j=a[2],k=a[1],l=function(a){return a?[0,d,a[1]]:[0,d,0]};return[0,fr[5].call(null,f,l,k),j,i,h,g];case
e=b[2],m=b[1],n=a[5],o=a[4],p=a[3],q=a[2],r=function(a){return a?[0,e,a[1]]:[0,e,0]},s=fp[5].call(null,m,r,q);return[0,a[1],s,p,o,n];case
e=b[2],m=b[1],n=a[5],o=a[4],p=a[3],q=a[2],r=function(a){return a?[0,e,a[1]]:[0,e,0]},s=fq[5].call(null,m,r,q);return[0,a[1],s,p,o,n];case
g=a[4],e=n(a[3],c[1],b),h=e[2];d(e[1]);return fs(g,function(a){return fu(c,a)},h);default:var
i=a[4],f=n(a[3],c[1],b),j=f[2];d(f[1]);return fs(i,function(a){return fu(c,a)},j)}}function
fu(c,b){ac.setTimeout(function(a){return bt(c,b)},0);return 0}function
fv(b){function
g=a[4],e=n(a[3],c[1],b),h=e[2];d(e[1]);return ft(g,function(a){return fv(c,a)},h);default:var
i=a[4],f=n(a[3],c[1],b),j=f[2];d(f[1]);return ft(i,function(a){return fv(c,a)},j)}}function
fv(c,b){ac.setTimeout(function(a){return bt(c,b)},0);return 0}function
fw(b){function
L=g(w,b[1]),l=function(a){return bt(b,a)},e=fr(L),p=c9(0),C=e[1];fg(br(0),l,C,p);var
q=lE(0),D=e[2],x=function(a,b){return fi(l,a,b)};c_[4].call(null,x,fj,D,q);var
L=g(w,b[1]),l=function(a){return bt(b,a)},e=fs(L),p=c9(0),C=e[1];fh(br(0),l,C,p);var
q=lF(0),D=e[2],x=function(a,b){return fj(l,a,b)};c_[4].call(null,x,fk,D,q);var
A=d[1];fc(function(a){return c$(h,n,a)},A);break a}}else if(!d){var
o=cd(function(a){return c$(h,n,a)});fl(o[2]);s[1]=[0,o];break a}}else
A=d[1];fd(function(a){return c$(h,n,a)},A);break a}}else if(!d){var
o=cd(function(a){return c$(h,n,a)});fm(o[2]);s[1]=[0,o];break a}}else
B=d[1][2];e_(lH,B,fk(0));break a}}else if(!d)break a;throw i([0,j,lP],1)}b[4]=[0,[0,f,c[2],c[3],c[4]]];return 0}return bM(l3,a,function(a){return 0})}function
fw(a,b){var
c=a[5];e$(c);return cc(b[2][1],c)}function
fx(b){function
B=d[1][2];e$(lI,B,fl(0));break a}}else if(!d)break a;throw i([0,j,lQ],1)}b[4]=[0,[0,f,c[2],c[3],c[4]]];return 0}return bM(l4,a,function(a){return 0})}function
fx(a,b){var
c=a[5];fa(c);return cc(b[2][1],c)}function
fy(b){function
a(a){b[2]=0;return 0}bM(l4,c,a);a(0);if(b[2])throw i([0,j,l5],1);return}function
fy(a){return br(0).requestAnimationFrame(a)}function
fz(c,b){var
a(a){b[2]=0;return 0}bM(l5,c,a);a(0);if(b[2])throw i([0,j,l6],1);return}function
fz(a){return br(0).requestAnimationFrame(a)}function
fA(c,b){var
e=d[1];bt(c,g(e,fa(b)))}}fx(c);if(c[2])throw i([0,j,l6],1);return fy(function(a){return fz(c,a)})}function
fA(a,b,c){function
e=d[1];bt(c,g(e,fb(b)))}}fy(c);if(c[2])throw i([0,j,l7],1);return fz(function(a){return fA(c,a)})}function
fB(a,b,c){function
e(a){return g(b,c)}return bM(bk(l8,bk(a,l7)),e,d)}function
q(a){return[2,md,a]}function
cf(a){return[2,me,a]}function
dc(a){return[2,mf,a]}function
J(a){return[1,mh,z(a)]}function
e(a){return g(b,c)}return bM(bk(l9,bk(a,l8)),e,d)}function
q(a){return[2,me,a]}function
cf(a){return[2,mf,a]}function
dc(a){return[2,mg,a]}function
J(a){return[1,mi,z(a)]}function
e(a){return bp(mi,c,a)}return[3,mk,[0,ly,lx,function(a){return bp(mj,e,a)}]]}function
ah(a,b){return l(ml,a,b)}function
V(a,b){return l(mm,a,b)}function
bO(a,b){return l(mo,a,b)}function
L(a,b){return l(mp,a,b)}function
fB(a,b){return l(mq,a,b)}function
ao(a,b){return l(mr,a,b)}function
fC(a,b){return l(ms,a,b)}function
bP(a,b){return l(mt,a,b)}function
dd(a){return c(a,e)?c(a,gA)?c(a,g1)?c(a,fU)?c(a,gJ)?c(a,gD)?c(a,gB)?c(a,f1)?0:90:0:15:25:90:0:40:0}var
mB=co,mC=75,mD=65;function
fI(a){var
b=aX(a,aI);if(0<=b){if(0>=b)return[0,460,mA];if(!c(a,aP))return[0,600,mv];if(!c(a,aO))return[0,500,mz];if(!c(a,aL))return[0,630,mu];if(!c(a,aJ))return[0,550,my]}else{if(!c(a,e))return[0,0,fF];if(!c(a,aC))return[0,gH,mx];if(!c(a,aA))return[0,gH,mw];if(!c(a,aK))return[0,390,fG];if(!c(a,aN))return[0,f5,fG]}return[0,0,fF]}function
e(a){return bp(mj,c,a)}return[3,ml,[0,lz,ly,function(a){return bp(mk,e,a)}]]}function
ah(a,b){return l(mm,a,b)}function
V(a,b){return l(mn,a,b)}function
bO(a,b){return l(mp,a,b)}function
L(a,b){return l(mq,a,b)}function
fC(a,b){return l(mr,a,b)}function
ao(a,b){return l(ms,a,b)}function
fD(a,b){return l(mt,a,b)}function
bP(a,b){return l(mu,a,b)}function
dd(a){return c(a,e)?c(a,gB)?c(a,g2)?c(a,fV)?c(a,gK)?c(a,gE)?c(a,gC)?c(a,f2)?0:90:0:15:25:90:0:40:0}var
mC=co,mD=75,mE=65;function
b=aX(a,aI);if(0<=b){if(0>=b)return cl;if(!c(a,aP))return dC;if(!c(a,aO))return dC;if(!c(a,aL)||!c(a,aJ))return co}else{if(!c(a,e))return 0;if(!c(a,aC))return 0;if(!c(a,aA))return 0;if(!c(a,aK))return 90;if(!c(a,aN))return cl}return 0}function
fK(a){return fI(a)[1]}function
b=aX(a,aJ);if(0<=b){if(0>=b)return[0,460,mB];if(!c(a,aP))return[0,600,mw];if(!c(a,aO))return[0,500,mA];if(!c(a,aL))return[0,630,mv];if(!c(a,aK))return[0,550,mz]}else{if(!c(a,e))return[0,0,fG];if(!c(a,au))return[0,gI,my];if(!c(a,at))return[0,gI,mx];if(!c(a,aD))return[0,390,fH];if(!c(a,aN))return[0,f6,fH]}return[0,0,fG]}function
fK(a){var
b=aX(a,aJ);if(0<=b){if(0>=b)return cl;if(!c(a,aP))return dC;if(!c(a,aO))return dC;if(!c(a,aL)||!c(a,aK))return co}else{if(!c(a,e))return 0;if(!c(a,au))return 0;if(!c(a,at))return 0;if(!c(a,aD))return 90;if(!c(a,aN))return cl}return 0}function
fL(a){return fJ(a)[1]}function
g=[0,d,d,d];break a}if(!c(a,aC)){var
g=[0,bc,bc,bc];break a}if(!c(a,aA)){var
k=f([0,d,[0,p,0]]),l=f([0,d,[0,p,0]]),g=[0,f([0,d,[0,p,0]]),l,k];break a}if(!c(a,aK)){var
g=[0,d,d,d];break a}if(!c(a,au)){var
g=[0,bc,bc,bc];break a}if(!c(a,at)){var
k=f([0,d,[0,p,0]]),l=f([0,d,[0,p,0]]),g=[0,f([0,d,[0,p,0]]),l,k];break a}if(!c(a,aD)){var
a3(a){return a?a[1]:mL}var
mN=a3(fH),mV=a3(d),mZ=a3(d),m0=a3(d),m1=a3(d),m2=a3(d),m3=a3(fE),m4=[0,a3(fD),m3,m2,m1,m0,mZ,mY,mX,mW,mV,mU,mT,mS,mR,mQ,mP,mO,mN,mM];function
Z(a){return ah([0,q(m5),0],0)}function
m6(a){var
c=[0,b(m7),0],d=[0,b(e+fJ(a[2])),c];return V(0,[0,b(m8),d])}function
fM(a){var
h=0,i=0,g=fI(a[2])[2],j=[0,fC(0,af(function(a){return bP(0,[0,b(a),0])},g)),i],k=[0,l(m9,0,[0,l(m_,0,[0,l(m$,0,[0,b(na),0]),0]),j]),h],f=a[2],d=a[1],m=0,r=c(d,eb)?c(d,cu)?c(d,d2)?Z:Z:c(f,aC)?c(f,aA)?m6:Z:Z:Z,n=[0,r(a),m],o=[0,ah([0,q(nb),0],n),k],p=[0,b(e+fK(a[2])),0];return ah(0,[0,V(0,[0,b(nc),p]),o])}function
nd(a){function
g(a){return[8,a]}function
h(a){return[9,a]}function
i(a){return[10,a]}function
j(a){return[11,a]}function
k(a){return[12,a]}function
c(a,b){return l(nf,a,b)}function
e(a,b){return l(ni,a,b)}var
s=[0,b("65"),0],t=[0,V(0,[0,b(nj),s]),0],m=0,n=0,o=0,r=0,v=0,w=f([0,nk,[0,u,[0,p,0]]]),x=af(function(a){return l(nl,0,[0,b(a),0])},w),y=[0,K(k),0],z=[0,J(a[13]),y],A=[0,ao([0,[2,nq,np],[0,[2,no,nn],[0,q(nm),z]]],x),v],B=[0,e([0,[0,nv,nu],0],[0,c(0,[0,L([0,[2,nt,ns],0],[0,b(nr),A]),t]),r]),o],D=[0,b("75"),0],E=[0,V(0,[0,b(nw),D]),0],C=0,F=0,G=f([0,nx,[0,u,[0,p,0]]]),H=af(function(a){return l(ny,0,[0,b(a),0])},G),I=[0,K(j),0],M=[0,J(a[12]),I],N=[0,ao([0,[2,nD,nC],[0,[2,nB,nA],[0,q(nz),M]]],H),F],O=[0,e([0,[0,nI,nH],0],[0,c(0,[0,L([0,[2,nG,nF],0],[0,b(nE),N]),E]),C]),B],Q=[0,V(0,[0,b(nJ),0]),0],R=[0,b("120"),0],P=0,S=[0,V(0,[0,b(nK),R]),Q],T=0,U=af(function(a){return l(nM,0,[0,b(a),0])},nL),W=[0,K(i),0],X=[0,J(a[11]),W],Y=[0,ao([0,[2,nR,nQ],[0,[2,nP,nO],[0,q(nN),X]]],U),T],Z=[0,e([0,[0,nW,nV],0],[0,c(0,[0,L([0,[2,nU,nT],0],[0,b(nS),Y]),S]),P]),O],$=[0,b(nX),0],aa=[0,b("25"),$],ab=[0,V(0,[0,b(nY),aa]),0],_=0,ac=0,ad=0,ae=f([0,d,[0,u,[0,p,0]]]),ag=af(function(a){return l(nZ,0,[0,b(a),0])},ae),ai=[0,K(h),0],aj=[0,J(a[10]),ai],ak=[0,ao([0,[2,n4,n3],[0,[2,n2,n1],[0,q(n0),aj]]],ag),ad],al=[0,L([0,[2,n7,n6],0],[0,b(n5),ak]),ac],am=0,an=af(function(a){return l(n9,0,[0,b(a),0])},n8),ap=[0,K(g),0],aq=[0,J(a[9]),ap],ar=[0,ao([0,[2,oc,ob],[0,[2,oa,n$],[0,q(n_),aq]]],an),am],as=[0,L([0,[2,of,oe],0],[0,b(od),ar]),al];return l(ne,0,[0,l(ng,[0,[0,ok,oj],0],[0,l(nh,0,[0,e([0,[0,oi,oh],0],[0,c(0,[0,ah([0,cf(og),0],as),ab]),_]),Z]),n]),m])}function
fN(a){function
a3(a){return a?a[1]:mM}var
mO=a3(fI),mW=a3(d),m0=a3(d),m1=a3(d),m2=a3(d),m3=a3(d),m4=a3(fF),m5=[0,a3(fE),m4,m3,m2,m1,m0,mZ,mY,mX,mW,mV,mU,mT,mS,mR,mQ,mP,mO,mN];function
Z(a){return ah([0,q(m6),0],0)}function
m7(a){var
c=[0,b(m8),0],d=[0,b(e+fK(a[2])),c];return V(0,[0,b(m9),d])}function
fN(a){var
h=0,i=0,g=fJ(a[2])[2],j=[0,fD(0,af(function(a){return bP(0,[0,b(a),0])},g)),i],k=[0,l(m_,0,[0,l(m$,0,[0,l(na,0,[0,b(nb),0]),0]),j]),h],f=a[2],d=a[1],m=0,r=c(d,eb)?c(d,cu)?c(d,d2)?Z:Z:c(f,au)?c(f,at)?m7:Z:Z:Z,n=[0,r(a),m],o=[0,ah([0,q(nc),0],n),k],p=[0,b(e+fL(a[2])),0];return ah(0,[0,V(0,[0,b(nd),p]),o])}function
ni(a){function
i(a){return[8,a]}function
j(a){return[9,a]}function
k(a){return[10,a]}function
m(a){return[11,a]}function
n(a){return[12,a]}function
e(a,b){return l(nk,a,b)}function
g(a,b){return l(nn,a,b)}var
v=[0,b("65"),0],w=[0,V(0,[0,b(no),v]),0],o=0,r=0,s=0,t=0,x=0,y=f([0,np,[0,u,[0,p,0]]]),z=af(function(a){return l(nq,0,[0,b(a),0])},y),A=[0,K(n),0],B=[0,J(a[13]),A],C=[0,ao([0,[2,nv,nu],[0,[2,nt,ns],[0,q(nr),B]]],z),x],D=[0,g([0,[0,nA,nz],0],[0,e(0,[0,L([0,[2,ny,nx],0],[0,b(nw),C]),w]),t]),s],F=[0,b("75"),0],G=[0,V(0,[0,b(nB),F]),0],E=0,H=0,I=f([0,nC,[0,u,[0,p,0]]]),M=af(function(a){return l(nD,0,[0,b(a),0])},I),N=[0,K(m),0],O=[0,J(a[12]),N],P=[0,ao([0,[2,nI,nH],[0,[2,nG,nF],[0,q(nE),O]]],M),H],Q=[0,g([0,[0,nN,nM],0],[0,e(0,[0,L([0,[2,nL,nK],0],[0,b(nJ),P]),G]),E]),D],S=[0,V(0,[0,b(nO),0]),0],T=[0,b("120"),0],U=[0,V(0,[0,b(nP),T]),S],h=a[2],R=0,W=0,X=c(h,au)?c(h,at)?c(h,aD)?ne:nf:ng:nh,Y=af(function(a){return l(nQ,0,[0,b(a),0])},X),Z=[0,K(k),0],_=[0,J(a[11]),Z],$=[0,ao([0,[2,nV,nU],[0,[2,nT,nS],[0,q(nR),_]]],Y),W],aa=[0,g([0,[0,n0,nZ],0],[0,e(0,[0,L([0,[2,nY,nX],0],[0,b(nW),$]),U]),R]),Q],ac=[0,b(n1),0],ad=[0,b("25"),ac],ae=[0,V(0,[0,b(n2),ad]),0],ab=0,ag=0,ai=0,aj=f([0,d,[0,u,[0,p,0]]]),ak=af(function(a){return l(n3,0,[0,b(a),0])},aj),al=[0,K(j),0],am=[0,J(a[10]),al],an=[0,ao([0,[2,n8,n7],[0,[2,n6,n5],[0,q(n4),am]]],ak),ai],ap=[0,L([0,[2,n$,n_],0],[0,b(n9),an]),ag],aq=0,ar=af(function(a){return l(ob,0,[0,b(a),0])},oa),as=[0,K(i),0],av=[0,J(a[9]),as],aw=[0,ao([0,[2,og,of],[0,[2,oe,od],[0,q(oc),av]]],ar),aq],ax=[0,L([0,[2,oj,oi],0],[0,b(oh),aw]),ap];return l(nj,0,[0,l(nl,[0,[0,oo,on],0],[0,l(nm,0,[0,g([0,[0,om,ol],0],[0,e(0,[0,ah([0,cf(ok),0],ax),ae]),ab]),aa]),r]),o])}function
fO(a){function
d=0,e=0,f=0,g=0,h=[0,K(function(a){return[7,a]}),g],i=[0,J(a[8]),h],j=[0,bO([0,[2,oI,oH],[0,[2,oG,oF],[0,q(oE),i]]],f),e],k=[0,L([0,[2,oL,oK],0],[0,b(oJ),j]),d],m=[0,K(c),0],n=[0,J(a[7]),m],o=[0,bO([0,[2,oQ,oP],[0,[2,oO,oN],[0,q(oM),n]]],0),0],p=[0,L([0,[2,oT,oS],0],[0,b(oR),o]),k],r=[0,V(0,[0,b(oU),0]),0],s=[0,V(0,[0,b(oV),0]),r],t=[0,V(0,[0,b(oW),0]),s];return ah(0,[0,ah(0,[0,l(oB,0,[0,l(oC,0,[0,l(oD,0,[0,b(oX),0]),0]),t]),0]),p])}function
d=0,e=0,f=0,g=0,h=[0,K(function(a){return[7,a]}),g],i=[0,J(a[8]),h],j=[0,bO([0,[2,oM,oL],[0,[2,oK,oJ],[0,q(oI),i]]],f),e],k=[0,L([0,[2,oP,oO],0],[0,b(oN),j]),d],m=[0,K(c),0],n=[0,J(a[7]),m],o=[0,bO([0,[2,oU,oT],[0,[2,oS,oR],[0,q(oQ),n]]],0),0],p=[0,L([0,[2,oX,oW],0],[0,b(oV),o]),k],r=[0,V(0,[0,b(oY),0]),0],s=[0,V(0,[0,b(oZ),0]),r],t=[0,V(0,[0,b(o0),0]),s];return ah(0,[0,ah(0,[0,l(oF,0,[0,l(oG,0,[0,l(oH,0,[0,b(o1),0]),0]),t]),0]),p])}function
B=de(g,F),G=af(function(a){return l(oY,0,[0,b(a),0])},B),H=[0,K(C),0],I=[0,J(a[6]),H],M=[0,ao([0,[2,o3,o2],[0,[2,o1,o0],[0,q(oZ),I]]],G),E];return ah(0,[0,L([0,[2,o6,o5],0],[0,b(o4),M]),D])}function
fO(a){var
i=dd(a[18]),j=c(a[13],e)?mD:0,k=c(a[12],e)?mC:0,d=a[11],l=c(d,e)?c(d,gO)?0:mB:0,b=a[9],g=c(b,e)?c(b,gU)?c(b,gL)?c(b,fS)?c(b,gN)?0:4:3:2:1:0,f=fJ(a[2]),h=g*25|0,m=c(a[1],cu)?0:f;return(((((fK(a[2])+m|0)+h|0)+l|0)+k|0)+j|0)+i|0}function
o7(a){var
c=[0,b(e+fO(a)),0];return V(0,[0,b(o8),c])}function
o9(a){var
c=[0,b(e+dd(a[18])),0];return V(0,[0,b(o_),c])}function
o$(a){function
B=de(g,F),G=af(function(a){return l(o2,0,[0,b(a),0])},B),H=[0,K(C),0],I=[0,J(a[6]),H],M=[0,ao([0,[2,o7,o6],[0,[2,o5,o4],[0,q(o3),I]]],G),E];return ah(0,[0,L([0,[2,o_,o9],0],[0,b(o8),M]),D])}function
fP(a){var
i=dd(a[18]),j=c(a[13],e)?mE:0,k=c(a[12],e)?mD:0,d=a[11],l=c(d,e)?c(d,gP)?0:mC:0,b=a[9],g=c(b,e)?c(b,gV)?c(b,gM)?c(b,fT)?c(b,gO)?0:4:3:2:1:0,f=fK(a[2]),h=g*25|0,m=c(a[1],cu)?0:f;return(((((fL(a[2])+m|0)+h|0)+l|0)+k|0)+j|0)+i|0}function
o$(a){var
c=[0,b(e+fP(a)),0];return V(0,[0,b(pa),c])}function
pb(a){var
c=[0,b(e+dd(a[18])),0];return V(0,[0,b(pc),c])}function
pd(a){function
h(a,b){return l(pa,a,b)}var
aq=0,ar=0,as=0,at=0,au=0;function
w(a,b){return l(op,a,b)}function
x(a,b){return l(oq,a,b)}function
r(a,b){return l(or,a,b)}var
T=[0,V(0,[0,b(os),0]),0],U=[0,bP(0,[0,w(0,[0,x(0,[0,r(0,[0,b(ot),0]),0]),T]),0]),0],W=[0,b(ou),0],X=[0,bP(0,[0,r([0,dc(ov),0],W),0]),U],Y=[0,b(ow),0],_=[0,bP(0,[0,r([0,dc(ox),0],Y),0]),X],$=[0,b(oy),0],aa=[0,fC(0,[0,bP(0,[0,r([0,dc(oz),0],$),0]),_]),0],av=[0,w(0,[0,x(0,[0,r(0,[0,b(oA),0]),0]),aa]),au],aw=[0,h([0,q(pd),0],av),at],ax=[0,l(mn,[0,[2,pg,pf],0],[0,b(pe),0]),0],ay=0,b7=0===fO(a)?Z:o7,az=[0,V(0,[0,b7(a),ay]),ax],aB=[0,h([0,q(ph),0],az),aw],aD=[0,K(an),0],aE=[0,J(a[19]),aD],aF=[0,fB([0,[2,pm,pl],[0,[2,pk,pj],[0,q(pi),aE]]],0),0],aG=[0,L([0,[2,pp,po],0],[0,b(pn),aF]),aB],aH=[0,h([0,q(pq),0],aG),as],aM=0,aQ=0,aR=0,b6=0===dd(a[18])?Z:o9,aS=[0,V(0,[0,b6(a),aR]),aQ],aT=af(function(a){return l(pr,0,[0,b(a),0])},fH),aU=[0,K(am),0],aV=[0,J(a[18]),aU],aW=[0,ao([0,[2,pw,pv],[0,[2,pu,pt],[0,q(ps),aV]]],aT),aS],aY=[0,L([0,[2,pz,py],0],[0,b(px),aW]),aM],aZ=[0,K(al),0],a0=[0,J(a[17]),aZ],a1=[0,fB([0,[2,pE,pD],[0,[2,pC,pB],[0,q(pA),a0]]],0),0],a2=[0,L([0,[2,pH,pG],0],[0,b(pF),a1]),aY],a3=[0,K(aj),0],a4=[0,J(a[16]),a3],a5=[0,bO([0,[2,pM,pL],[0,[2,pK,pJ],[0,q(pI),a4]]],0),0],a6=[0,L([0,[2,pP,pO],0],[0,b(pN),a5]),0],a7=[0,K(ai),0],a8=[0,J(a[15]),a7],a9=[0,bO([0,[2,pU,pT],[0,[2,pS,pR],[0,q(pQ),a8]]],0),0],a_=[0,L([0,[2,pX,pW],0],[0,b(pV),a9]),a6],a$=[0,ah([0,cf(pY),0],a_),a2],ba=[0,K(ak),0],bb=[0,J(a[14]),ba],bd=[0,bO([0,[2,p3,p2],[0,[2,p1,p0],[0,q(pZ),bb]]],0),0],be=[0,L([0,[2,p6,p5],0],[0,b(p4),bd]),a$],bf=[0,h([0,q(p7),0],be),aH],bg=[0,nd(a),0],bh=[0,h([0,q(p8),0],bg),bf],i=a[2],y=aX(i,aI);a:{var
bi=0;if(0<=y){if(0>=y||!c(i,aP)||!c(i,aO)||!c(i,aL)||!c(i,aJ)){var
o=fN;break a}}else{if(!c(i,e)){var
o=Z;break a}if(!c(i,aC)){var
o=Z;break a}if(!c(i,aA)){var
o=Z;break a}if(!c(i,aK)||!c(i,aN)){var
o=fN;break a}}var
h(a,b){return l(pe,a,b)}var
aq=0,ar=0,as=0,av=0,aw=0;function
w(a,b){return l(ot,a,b)}function
x(a,b){return l(ou,a,b)}function
r(a,b){return l(ov,a,b)}var
T=[0,V(0,[0,b(ow),0]),0],U=[0,bP(0,[0,w(0,[0,x(0,[0,r(0,[0,b(ox),0]),0]),T]),0]),0],W=[0,b(oy),0],X=[0,bP(0,[0,r([0,dc(oz),0],W),0]),U],Y=[0,b(oA),0],_=[0,bP(0,[0,r([0,dc(oB),0],Y),0]),X],$=[0,b(oC),0],aa=[0,fD(0,[0,bP(0,[0,r([0,dc(oD),0],$),0]),_]),0],ax=[0,w(0,[0,x(0,[0,r(0,[0,b(oE),0]),0]),aa]),aw],ay=[0,h([0,q(ph),0],ax),av],az=[0,l(mo,[0,[2,pk,pj],0],[0,b(pi),0]),0],aA=0,b7=0===fP(a)?Z:o$,aB=[0,V(0,[0,b7(a),aA]),az],aC=[0,h([0,q(pl),0],aB),ay],aE=[0,K(an),0],aF=[0,J(a[19]),aE],aG=[0,fC([0,[2,pq,pp],[0,[2,po,pn],[0,q(pm),aF]]],0),0],aH=[0,L([0,[2,pt,ps],0],[0,b(pr),aG]),aC],aI=[0,h([0,q(pu),0],aH),as],aM=0,aQ=0,aR=0,b6=0===dd(a[18])?Z:pb,aS=[0,V(0,[0,b6(a),aR]),aQ],aT=af(function(a){return l(pv,0,[0,b(a),0])},fI),aU=[0,K(am),0],aV=[0,J(a[18]),aU],aW=[0,ao([0,[2,pA,pz],[0,[2,py,px],[0,q(pw),aV]]],aT),aS],aY=[0,L([0,[2,pD,pC],0],[0,b(pB),aW]),aM],aZ=[0,K(al),0],a0=[0,J(a[17]),aZ],a1=[0,fC([0,[2,pI,pH],[0,[2,pG,pF],[0,q(pE),a0]]],0),0],a2=[0,L([0,[2,pL,pK],0],[0,b(pJ),a1]),aY],a3=[0,K(aj),0],a4=[0,J(a[16]),a3],a5=[0,bO([0,[2,pQ,pP],[0,[2,pO,pN],[0,q(pM),a4]]],0),0],a6=[0,L([0,[2,pT,pS],0],[0,b(pR),a5]),0],a7=[0,K(ai),0],a8=[0,J(a[15]),a7],a9=[0,bO([0,[2,pY,pX],[0,[2,pW,pV],[0,q(pU),a8]]],0),0],a_=[0,L([0,[2,p1,p0],0],[0,b(pZ),a9]),a6],a$=[0,ah([0,cf(p2),0],a_),a2],ba=[0,K(ak),0],bb=[0,J(a[14]),ba],bd=[0,bO([0,[2,p7,p6],[0,[2,p5,p4],[0,q(p3),bb]]],0),0],be=[0,L([0,[2,p_,p9],0],[0,b(p8),bd]),a$],bf=[0,h([0,q(p$),0],be),aI],bg=[0,ni(a),0],bh=[0,h([0,q(qa),0],bg),bf],i=a[2],y=aX(i,aJ);a:{var
bi=0;if(0<=y){if(0>=y||!c(i,aP)||!c(i,aO)||!c(i,aL)||!c(i,aK)){var
o=fO;break a}}else{if(!c(i,e)){var
o=Z;break a}if(!c(i,au)){var
o=Z;break a}if(!c(i,at)){var
o=Z;break a}if(!c(i,aD)||!c(i,aN)){var
o=fO;break a}}var
bj=[0,o(a),bi],bk=[0,h([0,q(p9),0],bj),bh],j=a[2],z=aX(j,aI);a:{var
bl=0,bm=0;if(0<=z){if(0>=z||!c(j,aP)||!c(j,aO)||!c(j,aL)||!c(j,aJ)){var
bj=[0,o(a),bi],bk=[0,h([0,q(qb),0],bj),bh],j=a[2],z=aX(j,aJ);a:{var
bl=0,bm=0;if(0<=z){if(0>=z||!c(j,aP)||!c(j,aO)||!c(j,aL)||!c(j,aK)){var
bn=[0,n(a),bm],bo=0,bp=fL(a[2],a[1]),bq=af(function(a){return l(p_,0,[0,b(a),0])},bp),br=[0,K(ag),0],bs=[0,J(a[5]),br],bt=[0,ao([0,[2,qd,qc],[0,[2,qb,qa],[0,q(p$),bs]]],bq),bo],bv=[0,L([0,[2,qg,qf],0],[0,b(qe),bt]),bn],k=a[2],t=aX(k,aI);a:{var
bn=[0,n(a),bm],bo=0,bp=fM(a[2],a[1]),bq=af(function(a){return l(qc,0,[0,b(a),0])},bp),br=[0,K(ag),0],bs=[0,J(a[5]),br],bt=[0,ao([0,[2,qh,qg],[0,[2,qf,qe],[0,q(qd),bs]]],bq),bo],bv=[0,L([0,[2,qk,qj],0],[0,b(qi),bt]),bn],k=a[2],t=aX(k,aJ);a:{var
D=f([0,d,[0,bu,[0,p,0]]]),g=[0,f([0,d,[0,ap,[0,cg,0]]]),D,mF];break a}if(!c(k,aL)){var
B=f([0,d,[0,u,[0,p,0]]]),C=f([0,d,[0,p,0]]),g=[0,f([0,d,[0,u,0]]),C,B];break a}if(!c(k,aJ)){var
A=f([0,d,[0,bu,[0,p,0]]]),g=[0,f([0,d,[0,ap,[0,cg,0]]]),A,mE];break a}}else{if(!c(k,e)){var
g=[0,d,d,d];break a}if(!c(k,aC)){var
g=mI;break a}if(!c(k,aA)){var
g=mH;break a}if(!c(k,aK)){var
D=f([0,d,[0,bu,[0,p,0]]]),g=[0,f([0,d,[0,ap,[0,cg,0]]]),D,mG];break a}if(!c(k,aL)){var
B=f([0,d,[0,u,[0,p,0]]]),C=f([0,d,[0,p,0]]),g=[0,f([0,d,[0,u,0]]),C,B];break a}if(!c(k,aK)){var
A=f([0,d,[0,bu,[0,p,0]]]),g=[0,f([0,d,[0,ap,[0,cg,0]]]),A,mF];break a}}else{if(!c(k,e)){var
g=[0,d,d,d];break a}if(!c(k,au)){var
g=mJ;break a}if(!c(k,at)){var
g=mI;break a}if(!c(k,aD)){var
O=de(g,bx),by=af(function(a){return l(qh,0,[0,b(a),0])},O),bz=[0,K(ae),0],bA=[0,J(a[4]),bz],bB=[0,ao([0,[2,qm,ql],[0,[2,qk,qj],[0,q(qi),bA]]],by),bw],bC=[0,L([0,[2,qp,qo],0],[0,b(qn),bB]),bv],bD=0,bE=fL(a[2],a[1]),bF=af(function(a){return l(qq,0,[0,b(a),0])},bE),bG=[0,K(ad),0],bH=[0,J(a[3]),bG],bI=[0,ao([0,[2,qv,qu],[0,[2,qt,qs],[0,q(qr),bH]]],bF),bD],bJ=[0,L([0,[2,qy,qx],0],[0,b(qw),bI]),bC],bK=[0,h([0,q(qz),0],bJ),bl],m=a[2],v=aX(m,aI);a:{var
bL=0;if(0<=v){if(0>=v||!c(m,aP)||!c(m,aO)||!c(m,aL)||!c(m,aJ)){var
s=fM;break a}}else{if(!c(m,e)){var
s=Z;break a}if(!c(m,aC)||!c(m,aA)||!c(m,aK)||!c(m,aN)){var
s=fM;break a}}var
O=de(g,bx),by=af(function(a){return l(ql,0,[0,b(a),0])},O),bz=[0,K(ae),0],bA=[0,J(a[4]),bz],bB=[0,ao([0,[2,qq,qp],[0,[2,qo,qn],[0,q(qm),bA]]],by),bw],bC=[0,L([0,[2,qt,qs],0],[0,b(qr),bB]),bv],bD=0,bE=fM(a[2],a[1]),bF=af(function(a){return l(qu,0,[0,b(a),0])},bE),bG=[0,K(ad),0],bH=[0,J(a[3]),bG],bI=[0,ao([0,[2,qz,qy],[0,[2,qx,qw],[0,q(qv),bH]]],bF),bD],bJ=[0,L([0,[2,qC,qB],0],[0,b(qA),bI]),bC],bK=[0,h([0,q(qD),0],bJ),bl],m=a[2],v=aX(m,aJ);a:{var
bL=0;if(0<=v){if(0>=v||!c(m,aP)||!c(m,aO)||!c(m,aL)||!c(m,aK)){var
s=fN;break a}}else{if(!c(m,e)){var
s=Z;break a}if(!c(m,au)||!c(m,at)||!c(m,aD)||!c(m,aN)){var
s=fN;break a}}var
bM=[0,s(a),bL],bN=[0,h([0,q(qA),0],bM),bK],bQ=0,bR=af(function(a){return l(qB,0,[0,b(a),0])},fD),bS=[0,K(ab),0],bT=[0,J(a[1]),bS],bU=[0,ao([0,[2,qG,qF],[0,[2,qE,qD],[0,q(qC),bT]]],bR),bQ],bV=[0,L([0,[2,qJ,qI],0],[0,b(qH),bU]),bN],bW=0,bX=af(function(a){return l(qK,0,[0,b(a),0])},fE),bY=[0,K(ac),0],bZ=[0,J(a[2]),bY],b0=[0,ao([0,[2,qP,qO],[0,[2,qN,qM],[0,q(qL),bZ]]],bX),bW],b1=[0,L([0,[2,qS,qR],0],[0,l(pc,0,[0,b(qQ),0]),b0]),bV],b2=[0,l(pb,[0,[2,qX,qW],[0,[2,qV,qU],0]],[0,h([0,q(qT),0],b1),bk]),ar],b3=[0,h([0,q(qY),0],b2),aq],P=[0,V(0,[0,b(om),0]),0],Q=[0,ah(0,0),0],R=[0,l(ol,[0,[2,mg,on],0],0),Q],S=[0,ah(0,0),R],b4=[0,ah(0,[0,ah([0,cf(oo),0],S),P]),0],b5=[0,h([0,q(qZ),0],b4),b3];return ah([0,cf(q0),0],b5)}function
q1(a,b){switch(b[0]){case
bM=[0,s(a),bL],bN=[0,h([0,q(qE),0],bM),bK],bQ=0,bR=af(function(a){return l(qF,0,[0,b(a),0])},fE),bS=[0,K(ab),0],bT=[0,J(a[1]),bS],bU=[0,ao([0,[2,qK,qJ],[0,[2,qI,qH],[0,q(qG),bT]]],bR),bQ],bV=[0,L([0,[2,qN,qM],0],[0,b(qL),bU]),bN],bW=0,bX=af(function(a){return l(qO,0,[0,b(a),0])},fF),bY=[0,K(ac),0],bZ=[0,J(a[2]),bY],b0=[0,ao([0,[2,qT,qS],[0,[2,qR,qQ],[0,q(qP),bZ]]],bX),bW],b1=[0,L([0,[2,qW,qV],0],[0,l(pg,0,[0,b(qU),0]),b0]),bV],b2=[0,l(pf,[0,[2,q1,q0],[0,[2,qZ,qY],0]],[0,h([0,q(qX),0],b1),bk]),ar],b3=[0,h([0,q(q2),0],b2),aq],P=[0,V(0,[0,b(oq),0]),0],Q=[0,ah(0,0),0],R=[0,l(op,[0,[2,mh,or],0],0),Q],S=[0,ah(0,0),R],b4=[0,ah(0,[0,ah([0,cf(os),0],S),P]),0],b5=[0,h([0,q(q3),0],b4),b3];return ah([0,cf(q4),0],b5)}function
q5(a,b){switch(b[0]){case
a(a){return 0}return bM(l$,function(a){return q1(c,b)},a)}function
e(a){return fA(l_,mb,a)}var
f=[0,function(a){return fA(l9,o$,a)},e,d],c=bN(0);if(c.body===null)throw i([0,j,lt],1);var
b=[0,m4,0,0,0,c.body,f];fv(b);fx(b);return fy(function(a){return fz(b,a)})},ma);cL(0);return}(globalThis));
a(a){return 0}return bM(ma,function(a){return q5(c,b)},a)}function
e(a){return fB(l$,mc,a)}var
f=[0,function(a){return fB(l_,pd,a)},e,d],c=bN(0);if(c.body===null)throw i([0,j,lu],1);var
b=[0,m5,0,0,0,c.body,f];fw(b);fy(b);return fz(function(a){return fA(b,a)})},mb);cL(0);return}(globalThis));
version = 0.26.1