path: root/apps/plugins/puzzles/help/blackbox.c
diff options
authorFranklin Wei <>2017-08-16 11:32:28 -0400
committerFranklin Wei <>2017-08-16 11:40:37 -0400
commitbf25f3e6e7b1518b0dd499676ac298172dc25fa1 (patch)
tree99c8024a4f931fa3a39a01e1e163a25660b8342e /apps/plugins/puzzles/help/blackbox.c
parent5645135092aa40e0d2e4ec6e5b3a67bae99fd735 (diff)
puzzles: compress extensive help text
This is only really needed to save a few bytes on the c200v2, but since it adds negligible overhead, so it's implemented for all targets. A stripped down version of the LZ4 reference implementation is found in lz4tiny.c. Change-Id: Ib914ba71c84e04da282328662c752e533912e197
Diffstat (limited to 'apps/plugins/puzzles/help/blackbox.c')
1 files changed, 322 insertions, 148 deletions
diff --git a/apps/plugins/puzzles/help/blackbox.c b/apps/plugins/puzzles/help/blackbox.c
index 359dd61220..e3233810d1 100644
--- a/apps/plugins/puzzles/help/blackbox.c
+++ b/apps/plugins/puzzles/help/blackbox.c
@@ -1,150 +1,324 @@
-/* auto-generated by */
+/* auto-generated on Aug 16 2017 by */
+/* orig 5427 comp 3142 ratio 0.578957 level 11 saved 2285 */
/* DO NOT EDIT! */
-const char help_text[] =
-"#Chapter 19: Black Box "
-"A number of balls are hidden in a rectangular arena. You have to "
-"deduce the positions of the balls by firing lasers positioned at the "
-"edges of the arena and observing how their beams are deflected. "
-"Beams will travel straight from their origin until they hit the "
-"opposite side of the arena (at which point they emerge), unless "
-"affected by balls in one of the following ways: "
-"- A beam that hits a ball head-on is absorbed and will never re-\n"
-"emerge. This includes beams that meet a ball on the first rank "
-"of the arena. "
-"- A beam with a ball in its front-left square and no ball ahead of "
-"it gets deflected 90 degrees to the right. "
-"- A beam with a ball in its front-right square and no ball ahead "
-"of it gets similarly deflected to the left. "
-"- A beam that would re-emerge from its entry location is "
-"considered to be `reflected'. "
-"- A beam which would get deflected before entering the arena by a "
-"ball to the front-left or front-right of its entry point is also "
-"considered to be `reflected'. "
-"Beams that are reflected appear as a `R'; beams that hit balls head-\n"
-"on appear as `H'. Otherwise, a number appears at the firing point "
-"and the location where the beam emerges (this number is unique to "
-"that shot). "
-"You can place guesses as to the location of the balls, based on the "
-"entry and exit patterns of the beams; once you have placed enough "
-"balls a button appears enabling you to have your guesses checked. "
-"Here is a diagram showing how the positions of balls can create each "
-"of the beam behaviours shown above: "
-"As shown, it is possible for a beam to receive multiple reflections "
-"before re-emerging (see turn 3). Similarly, a beam may be reflected "
-"(possibly more than once) before receiving a hit (the `H' on the "
-"left side of the example). "
-"Note that any layout with more than 4 balls may have a non-unique "
-"solution. The following diagram illustrates this; if you know the "
-"board contains 5 balls, it is impossible to determine where the "
-"fifth ball is (possible positions marked with an x): "
-"For this reason, when you have your guesses checked, the game "
-"will check that your solution _produces the same results_ as the "
-"computer's, rather than that your solution is identical to the "
-"computer's. So in the above example, you could put the fifth ball at "
-"_any_ of the locations marked with an x, and you would still win. "
-"Black Box was contributed to this collection by James Harvey. "
-"\n#19.1 Black Box controls "
-"To fire a laser beam, left-click in a square around the edge of "
-"the arena. The results will be displayed immediately. Clicking or "
-"holding the left button on one of these squares will highlight the "
-"current go (or a previous go) to confirm the exit point for that "
-"laser, if applicable. "
-"To guess the location of a ball, left-click within the arena and a "
-"black circle will appear marking the guess; click again to remove "
-"the guessed ball. "
-"Locations in the arena may be locked against modification by right-\n"
-"clicking; whole rows and columns may be similarly locked by right-\n"
-"clicking in the laser square above/below that column, or to the "
-"left/right of that row. "
-"The cursor keys may also be used to move around the grid. Pressing "
-"the Enter key will fire a laser or add a new ball-location guess, "
-"and pressing Space will lock a cell, row, or column. "
-"When an appropriate number of balls have been guessed, a button will "
-"appear at the top-left corner of the grid; clicking that (with mouse "
-"or cursor) will check your guesses. "
-"If you click the `check' button and your guesses are not correct, "
-"the game will show you the minimum information necessary to "
-"demonstrate this to you, so you can try again. If your ball "
-"positions are not consistent with the beam paths you already know "
-"about, one beam path will be circled to indicate that it proves you "
-"wrong. If your positions match all the existing beam paths but are "
-"still wrong, one new beam path will be revealed (written in red) "
-"which is not consistent with your current guesses. "
-"If you decide to give up completely, you can select Solve to reveal "
-"the actual ball positions. At this point, correctly-placed balls "
-"will be displayed as filled black circles, incorrectly-placed balls "
-"as filled black circles with red crosses, and missing balls as "
-"filled red circles. In addition, a red circle marks any laser you "
-"had already fired which is not consistent with your ball layout "
-"(just as when you press the `check' button), and red text marks "
-"any laser you _could_ have fired in order to distinguish your ball "
-"layout from the correct one. "
-"(All the actions described in section 2.1 are also available.) "
-"\n#19.2 Black Box parameters "
-"These parameters are available from the `Custom...' option on the "
-"`Type' menu. "
-"_Width_, _Height_ "
-"Size of grid in squares. There are 2 x _Width_ x _Height_ lasers "
-"per grid, two per row and two per column. "
-"_No. of balls_ "
-"Number of balls to place in the grid. This can be a single "
-"number, or a range (separated with a hyphen, like `2-6'), "
-"and determines the number of balls to place on the grid. "
-"The `reveal' button is only enabled if you have guessed an "
-"appropriate number of balls; a guess using a different number "
-"to the original solution is still acceptable, if all the beam "
-"inputs and outputs match. "
+#include "help.h"
+const char help_text[] = {
+0xf0, 0x36, 0x23, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72,
+0x20, 0x31, 0x39, 0x3a, 0x20, 0x42, 0x6c, 0x61, 0x63, 0x6b,
+0x20, 0x42, 0x6f, 0x78, 0x20, 0x0a, 0x41, 0x20, 0x6e, 0x75,
+0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x62, 0x61,
+0x6c, 0x6c, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x68, 0x69,
+0x64, 0x64, 0x65, 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x20,
+0x72, 0x65, 0x63, 0x74, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x61,
+0x72, 0x1c, 0x00, 0xf0, 0x18, 0x6e, 0x61, 0x2e, 0x20, 0x59,
+0x6f, 0x75, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x6f,
+0x20, 0x64, 0x65, 0x64, 0x75, 0x63, 0x65, 0x20, 0x74, 0x68,
+0x65, 0x20, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+0x73, 0x20, 0x6f, 0x66, 0x11, 0x00, 0x03, 0x51, 0x00, 0xf5,
+0x01, 0x62, 0x79, 0x20, 0x66, 0x69, 0x72, 0x69, 0x6e, 0x67,
+0x20, 0x6c, 0x61, 0x73, 0x65, 0x72, 0x73, 0x28, 0x00, 0x51,
+0x65, 0x64, 0x20, 0x61, 0x74, 0x29, 0x00, 0x44, 0x65, 0x64,
+0x67, 0x65, 0x36, 0x00, 0x02, 0x65, 0x00, 0xb0, 0x20, 0x61,
+0x6e, 0x64, 0x20, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x3a,
+0x00, 0x30, 0x68, 0x6f, 0x77, 0x1c, 0x00, 0x72, 0x69, 0x72,
+0x20, 0x62, 0x65, 0x61, 0x6d, 0xa5, 0x00, 0xd1, 0x64, 0x65,
+0x66, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x0a,
+0x42, 0x16, 0x00, 0xf3, 0x0a, 0x77, 0x69, 0x6c, 0x6c, 0x20,
+0x74, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x20, 0x73, 0x74, 0x72,
+0x61, 0x69, 0x67, 0x68, 0x74, 0x20, 0x66, 0x72, 0x6f, 0x6d,
+0x3c, 0x00, 0xc0, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x20,
+0x75, 0x6e, 0x74, 0x69, 0x6c, 0x13, 0x00, 0x42, 0x79, 0x20,
+0x68, 0x69, 0x81, 0x00, 0x21, 0x6f, 0x70, 0x95, 0x00, 0x6a,
+0x65, 0x20, 0x73, 0x69, 0x64, 0x65, 0x89, 0x00, 0xf2, 0x00,
+0x28, 0x61, 0x74, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20,
+0x70, 0x6f, 0x69, 0x6e, 0x74, 0x38, 0x00, 0xf1, 0x04, 0x65,
+0x6d, 0x65, 0x72, 0x67, 0x65, 0x29, 0x2c, 0x20, 0x75, 0x6e,
+0x6c, 0x65, 0x73, 0x73, 0x20, 0x61, 0x66, 0x66, 0x8b, 0x00,
+0x32, 0x20, 0x62, 0x79, 0xf6, 0x00, 0x00, 0x3c, 0x01, 0x25,
+0x6f, 0x6e, 0x4b, 0x00, 0x60, 0x66, 0x6f, 0x6c, 0x6c, 0x6f,
+0x77, 0xca, 0x00, 0xa0, 0x77, 0x61, 0x79, 0x73, 0x3a, 0x20,
+0x0a, 0x2d, 0x20, 0x41, 0xcb, 0x00, 0x00, 0x9a, 0x00, 0x20,
+0x61, 0x74, 0x87, 0x00, 0x31, 0x73, 0x20, 0x61, 0x3a, 0x00,
+0xf0, 0x05, 0x20, 0x68, 0x65, 0x61, 0x64, 0x2d, 0x6f, 0x6e,
+0x20, 0x69, 0x73, 0x20, 0x61, 0x62, 0x73, 0x6f, 0x72, 0x62,
+0x65, 0x64, 0x0d, 0x01, 0x02, 0xdd, 0x00, 0xa2, 0x6e, 0x65,
+0x76, 0x65, 0x72, 0x20, 0x72, 0x65, 0x2d, 0x0a, 0x82, 0x00,
+0x50, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x6d, 0x00, 0x62, 0x63,
+0x6c, 0x75, 0x64, 0x65, 0x73, 0x1e, 0x01, 0x02, 0x54, 0x00,
+0x44, 0x6d, 0x65, 0x65, 0x74, 0x54, 0x00, 0x22, 0x6f, 0x6e,
+0x86, 0x00, 0x99, 0x69, 0x72, 0x73, 0x74, 0x20, 0x72, 0x61,
+0x6e, 0x6b, 0xe3, 0x00, 0x17, 0x2e, 0x8f, 0x00, 0x43, 0x77,
+0x69, 0x74, 0x68, 0x36, 0x00, 0x00, 0xc3, 0x00, 0x30, 0x69,
+0x74, 0x73, 0x41, 0x01, 0xe1, 0x6e, 0x74, 0x2d, 0x6c, 0x65,
+0x66, 0x74, 0x20, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x8f,
+0x00, 0x22, 0x6e, 0x6f, 0x25, 0x00, 0x10, 0x61, 0xb0, 0x00,
+0x00, 0x4f, 0x00, 0x76, 0x69, 0x74, 0x20, 0x67, 0x65, 0x74,
+0x73, 0x97, 0x01, 0xe1, 0x20, 0x39, 0x30, 0x20, 0x64, 0x65,
+0x67, 0x72, 0x65, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x6f, 0x00,
+0x10, 0x72, 0x92, 0x01, 0x0f, 0x6f, 0x00, 0x12, 0x00, 0x2a,
+0x00, 0x0f, 0x70, 0x00, 0x13, 0x96, 0x73, 0x69, 0x6d, 0x69,
+0x6c, 0x61, 0x72, 0x6c, 0x79, 0x7a, 0x00, 0x04, 0x6f, 0x00,
+0x00, 0xb4, 0x00, 0x1c, 0x2e, 0x6c, 0x01, 0x50, 0x77, 0x6f,
+0x75, 0x6c, 0x64, 0x43, 0x01, 0x02, 0x42, 0x01, 0x01, 0x20,
+0x02, 0x01, 0x79, 0x00, 0xc2, 0x65, 0x6e, 0x74, 0x72, 0x79,
+0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x80, 0x01, 0x30,
+0x63, 0x6f, 0x6e, 0x10, 0x02, 0x12, 0x72, 0x52, 0x00, 0x54,
+0x62, 0x65, 0x20, 0x60, 0x72, 0x63, 0x00, 0x17, 0x27, 0x58,
+0x00, 0x02, 0x1f, 0x02, 0x02, 0x59, 0x00, 0x00, 0x94, 0x00,
+0x07, 0x89, 0x00, 0x60, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65,
+0x5b, 0x00, 0x10, 0x65, 0x02, 0x03, 0x07, 0x57, 0x02, 0x23,
+0x62, 0x79, 0xf8, 0x00, 0x03, 0xad, 0x00, 0x08, 0x67, 0x01,
+0x29, 0x6f, 0x72, 0x06, 0x01, 0x26, 0x6f, 0x66, 0xa0, 0x00,
+0x02, 0x85, 0x02, 0x01, 0x1d, 0x02, 0x3f, 0x6c, 0x73, 0x6f,
+0xa2, 0x00, 0x0d, 0x15, 0x42, 0x0f, 0x02, 0x01, 0x32, 0x03,
+0x15, 0x72, 0x98, 0x00, 0x40, 0x61, 0x70, 0x70, 0x65, 0xd0,
+0x03, 0x00, 0x76, 0x02, 0x42, 0x60, 0x52, 0x27, 0x3b, 0x39,
+0x02, 0x05, 0x8d, 0x02, 0x02, 0xc4, 0x02, 0x02, 0x8b, 0x02,
+0x37, 0x0a, 0x6f, 0x6e, 0x2f, 0x00, 0xf3, 0x02, 0x60, 0x48,
+0x27, 0x2e, 0x20, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x77, 0x69,
+0x73, 0x65, 0x2c, 0x20, 0x61, 0x40, 0x04, 0x03, 0x23, 0x00,
+0x13, 0x73, 0xd2, 0x03, 0x03, 0xf2, 0x03, 0x02, 0xae, 0x00,
+0x00, 0xc0, 0x01, 0x00, 0x15, 0x00, 0x06, 0x5c, 0x01, 0x41,
+0x77, 0x68, 0x65, 0x72, 0x34, 0x04, 0x01, 0x78, 0x00, 0x03,
+0x4e, 0x03, 0x73, 0x73, 0x20, 0x28, 0x74, 0x68, 0x69, 0x73,
+0x51, 0x00, 0x00, 0xe3, 0x00, 0x50, 0x75, 0x6e, 0x69, 0x71,
+0x75, 0x66, 0x04, 0x02, 0x99, 0x00, 0x80, 0x73, 0x68, 0x6f,
+0x74, 0x29, 0x2e, 0x20, 0x0a, 0x7f, 0x04, 0xf0, 0x04, 0x63,
+0x61, 0x6e, 0x20, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x20, 0x67,
+0x75, 0x65, 0x73, 0x73, 0x65, 0x73, 0x20, 0x61, 0x66, 0x02,
+0x09, 0x67, 0x00, 0x09, 0x87, 0x04, 0x73, 0x2c, 0x20, 0x62,
+0x61, 0x73, 0x65, 0x64, 0x0b, 0x03, 0x02, 0x4d, 0x01, 0x01,
+0x99, 0x00, 0xb5, 0x65, 0x78, 0x69, 0x74, 0x20, 0x70, 0x61,
+0x74, 0x74, 0x65, 0x72, 0xba, 0x04, 0x02, 0x0f, 0x01, 0x83,
+0x3b, 0x20, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x79, 0xee, 0x04,
+0x02, 0x70, 0x00, 0x84, 0x64, 0x20, 0x65, 0x6e, 0x6f, 0x75,
+0x67, 0x68, 0x2e, 0x05, 0x55, 0x20, 0x62, 0x75, 0x74, 0x74,
+0x23, 0x01, 0x00, 0xa6, 0x01, 0x61, 0x61, 0x62, 0x6c, 0x69,
+0x6e, 0x67, 0x37, 0x00, 0x20, 0x74, 0x6f, 0x3a, 0x00, 0x01,
+0x43, 0x00, 0x15, 0x72, 0xa9, 0x00, 0x51, 0x63, 0x68, 0x65,
+0x63, 0x6b, 0xb6, 0x04, 0x10, 0x48, 0x06, 0x01, 0x10, 0x69,
+0x45, 0x00, 0x70, 0x64, 0x69, 0x61, 0x67, 0x72, 0x61, 0x6d,
+0xe3, 0x00, 0x13, 0x77, 0xf0, 0x04, 0x0a, 0x53, 0x05, 0x05,
+0xa0, 0x05, 0x01, 0xfa, 0x00, 0xb8, 0x63, 0x72, 0x65, 0x61,
+0x74, 0x65, 0x20, 0x65, 0x61, 0x63, 0x68, 0xb2, 0x00, 0xb1,
+0x20, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x75, 0x72,
+0x73, 0x4a, 0x00, 0xf3, 0x11, 0x6e, 0x20, 0x61, 0x62, 0x6f,
+0x76, 0x65, 0x3a, 0x20, 0x0a, 0x31, 0x52, 0x48, 0x52, 0x2d,
+0x2d, 0x2d, 0x2d, 0x0a, 0x7c, 0x2e, 0x2e, 0x4f, 0x2e, 0x4f,
+0x2e, 0x2e, 0x2e, 0x7c, 0x0a, 0x32, 0x2e, 0x01, 0x00, 0x34,
+0x33, 0x0a, 0x7c, 0x0b, 0x00, 0x18, 0x7c, 0x0b, 0x00, 0x1d,
+0x33, 0x16, 0x00, 0x5c, 0x4f, 0x2e, 0x7c, 0x0a, 0x48, 0x16,
+0x00, 0x10, 0x4f, 0x0b, 0x00, 0x50, 0x31, 0x32, 0x2d, 0x52,
+0x52, 0x61, 0x00, 0x23, 0x0a, 0x41, 0x7c, 0x00, 0x10, 0x2c,
+0xa2, 0x03, 0x11, 0x69, 0xee, 0x05, 0x40, 0x73, 0x69, 0x62,
+0x6c, 0x04, 0x05, 0x33, 0x72, 0x20, 0x61, 0x89, 0x03, 0x10,
+0x6f, 0x57, 0x06, 0xc4, 0x65, 0x69, 0x76, 0x65, 0x20, 0x6d,
+0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x9d, 0x02, 0x01, 0xed,
+0x00, 0x03, 0x37, 0x03, 0x05, 0xa5, 0x03, 0x00, 0x12, 0x01,
+0xf4, 0x00, 0x28, 0x73, 0x65, 0x65, 0x20, 0x74, 0x75, 0x72,
+0x6e, 0x20, 0x33, 0x29, 0x2e, 0x20, 0x53, 0xf5, 0x03, 0x14,
+0x2c, 0x53, 0x00, 0x58, 0x6d, 0x61, 0x79, 0x20, 0x62, 0xe3,
+0x02, 0x13, 0x28, 0x79, 0x00, 0x41, 0x79, 0x20, 0x6d, 0x6f,
+0x6d, 0x02, 0x21, 0x61, 0x6e, 0xd0, 0x01, 0x13, 0x29, 0x5e,
+0x00, 0x02, 0x82, 0x00, 0x01, 0x5e, 0x06, 0x10, 0x61, 0xf4,
+0x02, 0x00, 0x7e, 0x02, 0x10, 0x65, 0xe0, 0x02, 0x35, 0x20,
+0x6f, 0x6e, 0x3e, 0x04, 0x09, 0x10, 0x06, 0x70, 0x65, 0x78,
+0x61, 0x6d, 0x70, 0x6c, 0x65, 0x83, 0x02, 0x43, 0x4e, 0x6f,
+0x74, 0x65, 0x58, 0x03, 0x91, 0x6e, 0x79, 0x20, 0x6c, 0x61,
+0x79, 0x6f, 0x75, 0x74, 0xcd, 0x04, 0x07, 0x6d, 0x00, 0x12,
+0x34, 0xb1, 0x01, 0x00, 0x9a, 0x00, 0x01, 0x06, 0x02, 0x00,
+0x2c, 0x03, 0x33, 0x6f, 0x6e, 0x2d, 0xd5, 0x02, 0x40, 0x73,
+0x6f, 0x6c, 0x75, 0xed, 0x00, 0x38, 0x2e, 0x20, 0x54, 0x20,
+0x06, 0x05, 0x0a, 0x02, 0x40, 0x69, 0x6c, 0x6c, 0x75, 0xc4,
+0x06, 0x40, 0x74, 0x65, 0x73, 0x20, 0x17, 0x03, 0x41, 0x3b,
+0x20, 0x69, 0x66, 0x54, 0x02, 0x23, 0x6b, 0x6e, 0x1c, 0x02,
+0x50, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x02, 0x04, 0x72, 0x74,
+0x61, 0x69, 0x6e, 0x73, 0x20, 0x35, 0x6f, 0x00, 0x04, 0x77,
+0x01, 0x23, 0x69, 0x6d, 0x00, 0x01, 0x03, 0xa6, 0x07, 0x77,
+0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x65, 0x7b, 0x03, 0x53,
+0x66, 0x69, 0x66, 0x74, 0x68, 0x7b, 0x05, 0x15, 0x73, 0x2f,
+0x01, 0x08, 0x74, 0x02, 0x63, 0x6d, 0x61, 0x72, 0x6b, 0x65,
+0x64, 0xa5, 0x05, 0x40, 0x6e, 0x20, 0x78, 0x29, 0xb9, 0x06,
+0x03, 0x01, 0x00, 0x0f, 0x34, 0x02, 0x04, 0x11, 0x7c, 0x10,
+0x02, 0x14, 0x4f, 0x16, 0x00, 0x37, 0x78, 0x78, 0x2e, 0x0b,
+0x00, 0x0e, 0x21, 0x00, 0x0e, 0x42, 0x00, 0x06, 0x61, 0x00,
+0x51, 0x0a, 0x46, 0x6f, 0x72, 0x20, 0x12, 0x04, 0x70, 0x72,
+0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2c, 0xbc, 0x00, 0x10, 0x6e,
+0x04, 0x01, 0x0f, 0x55, 0x03, 0x07, 0x11, 0x2c, 0xda, 0x00,
+0x41, 0x67, 0x61, 0x6d, 0x65, 0x30, 0x07, 0x02, 0x17, 0x00,
+0x01, 0xa9, 0x01, 0x01, 0x2f, 0x00, 0x05, 0x76, 0x01, 0x50,
+0x20, 0x5f, 0x70, 0x72, 0x6f, 0xb9, 0x08, 0x11, 0x73, 0x31,
+0x00, 0x30, 0x73, 0x61, 0x6d, 0x10, 0x02, 0x82, 0x73, 0x75,
+0x6c, 0x74, 0x73, 0x5f, 0x20, 0x61, 0x15, 0x00, 0xe0, 0x63,
+0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x27, 0x73, 0x2c,
+0x20, 0x72, 0x61, 0xf3, 0x04, 0x02, 0xd8, 0x01, 0x0e, 0x4e,
+0x00, 0x01, 0x70, 0x01, 0x70, 0x64, 0x65, 0x6e, 0x74, 0x69,
+0x63, 0x61, 0xd0, 0x05, 0x0b, 0x3f, 0x00, 0x61, 0x2e, 0x20,
+0x53, 0x6f, 0x20, 0x69, 0x55, 0x02, 0x01, 0x91, 0x03, 0x05,
+0x4a, 0x02, 0x11, 0x2c, 0xcd, 0x00, 0x11, 0x63, 0x38, 0x06,
+0x3b, 0x70, 0x75, 0x74, 0x96, 0x01, 0x00, 0x4b, 0x05, 0x89,
+0x5f, 0x61, 0x6e, 0x79, 0x5f, 0x20, 0x6f, 0x66, 0xd8, 0x04,
+0x0e, 0x99, 0x01, 0x10, 0x2c, 0xca, 0x04, 0x00, 0x4d, 0x00,
+0x03, 0x85, 0x06, 0x20, 0x73, 0x74, 0xfd, 0x00, 0x66, 0x77,
+0x69, 0x6e, 0x2e, 0x20, 0x0a, 0xed, 0x09, 0x31, 0x77, 0x61,
+0x73, 0x2f, 0x02, 0x45, 0x72, 0x69, 0x62, 0x75, 0x26, 0x07,
+0x01, 0xe7, 0x06, 0x13, 0x6c, 0x7a, 0x03, 0x00, 0x96, 0x06,
+0xf6, 0x06, 0x4a, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x48, 0x61,
+0x72, 0x76, 0x65, 0x79, 0x2e, 0x20, 0x0a, 0x0a, 0x23, 0x31,
+0x39, 0x2e, 0x31, 0x33, 0x0a, 0x02, 0x42, 0x00, 0xa0, 0x6f,
+0x6c, 0x73, 0x20, 0x0a, 0x54, 0x6f, 0x20, 0x66, 0x69, 0x9f,
+0x07, 0x01, 0xd9, 0x09, 0x02, 0x9b, 0x09, 0x11, 0x2c, 0x37,
+0x03, 0x61, 0x2d, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x40, 0x0a,
+0x05, 0xc4, 0x07, 0x55, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0xee,
+0x09, 0x0b, 0x81, 0x08, 0x24, 0x54, 0x68, 0x80, 0x01, 0x02,
+0xc6, 0x09, 0x00, 0xcb, 0x03, 0xf0, 0x09, 0x64, 0x69, 0x73,
+0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x20, 0x69, 0x6d, 0x6d,
+0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x2e, 0x20,
+0x43, 0x5b, 0x00, 0x30, 0x69, 0x6e, 0x67, 0x26, 0x07, 0x75,
+0x68, 0x6f, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0xaf, 0x03, 0x04,
+0x8d, 0x05, 0x18, 0x6f, 0x7d, 0x09, 0x23, 0x73, 0x65, 0x84,
+0x00, 0x03, 0x5b, 0x00, 0x50, 0x68, 0x69, 0x67, 0x68, 0x6c,
+0x59, 0x07, 0x02, 0xa7, 0x01, 0xb1, 0x75, 0x72, 0x72, 0x65,
+0x6e, 0x74, 0x20, 0x67, 0x6f, 0x20, 0x28, 0xa1, 0x04, 0x30,
+0x70, 0x72, 0x65, 0x43, 0x05, 0x71, 0x73, 0x20, 0x67, 0x6f,
+0x29, 0x20, 0x74, 0x63, 0x07, 0x31, 0x66, 0x69, 0x72, 0x43,
+0x0a, 0x01, 0x2c, 0x06, 0x02, 0xd4, 0x06, 0x00, 0xce, 0x04,
+0x01, 0x0a, 0x02, 0x02, 0xfc, 0x00, 0x40, 0x2c, 0x20, 0x69,
+0x66, 0x03, 0x06, 0x80, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c,
+0x65, 0x2e, 0x1d, 0x01, 0x02, 0x9c, 0x02, 0x0c, 0x92, 0x06,
+0x03, 0xf6, 0x07, 0x08, 0x28, 0x01, 0x01, 0xc8, 0x01, 0x2a,
+0x69, 0x6e, 0xfd, 0x0a, 0x00, 0x28, 0x00, 0x01, 0x74, 0x01,
+0x52, 0x63, 0x69, 0x72, 0x63, 0x6c, 0xcf, 0x02, 0x03, 0x65,
+0x06, 0x01, 0xff, 0x01, 0x02, 0xf7, 0x00, 0x03, 0xff, 0x06,
+0x22, 0x3b, 0x20, 0x49, 0x00, 0x52, 0x61, 0x67, 0x61, 0x69,
+0x6e, 0x5e, 0x05, 0x46, 0x6d, 0x6f, 0x76, 0x65, 0x21, 0x00,
+0x21, 0x65, 0x64, 0x76, 0x00, 0x45, 0x2e, 0x20, 0x0a, 0x4c,
+0x45, 0x02, 0x08, 0x72, 0x00, 0x04, 0x3f, 0x05, 0x20, 0x6c,
+0x6f, 0x46, 0x03, 0x02, 0x48, 0x00, 0xb3, 0x73, 0x74, 0x20,
+0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x1c, 0x02,
+0x02, 0xc0, 0x09, 0x33, 0x2d, 0x0a, 0x63, 0x83, 0x01, 0x50,
+0x3b, 0x20, 0x77, 0x68, 0x6f, 0xbb, 0x05, 0x30, 0x6f, 0x77,
+0x73, 0xb4, 0x00, 0x00, 0x4a, 0x02, 0x43, 0x75, 0x6d, 0x6e,
+0x73, 0x4e, 0x00, 0x06, 0x9b, 0x09, 0x04, 0x58, 0x00, 0x0e,
+0x43, 0x00, 0x03, 0x86, 0x00, 0x02, 0x46, 0x01, 0x02, 0xa8,
+0x01, 0x03, 0x25, 0x03, 0x61, 0x2f, 0x62, 0x65, 0x6c, 0x6f,
+0x77, 0x64, 0x01, 0x03, 0x58, 0x00, 0x48, 0x2c, 0x20, 0x6f,
+0x72, 0xdb, 0x09, 0x14, 0x2f, 0x1f, 0x09, 0x01, 0x25, 0x00,
+0x00, 0x86, 0x00, 0x00, 0x78, 0x01, 0x02, 0xd4, 0x01, 0x71,
+0x73, 0x6f, 0x72, 0x20, 0x6b, 0x65, 0x79, 0x8b, 0x00, 0x00,
+0x2b, 0x09, 0x01, 0x1d, 0x09, 0x22, 0x75, 0x73, 0xf6, 0x02,
+0x39, 0x6d, 0x6f, 0x76, 0x91, 0x02, 0xb4, 0x67, 0x72, 0x69,
+0x64, 0x2e, 0x20, 0x50, 0x72, 0x65, 0x73, 0x73, 0x57, 0x01,
+0x41, 0x45, 0x6e, 0x74, 0x65, 0x42, 0x00, 0x01, 0x79, 0x01,
+0x0a, 0xe8, 0x02, 0x00, 0x27, 0x02, 0x20, 0x64, 0x64, 0xcf,
+0x05, 0x21, 0x65, 0x77, 0x57, 0x01, 0x14, 0x2d, 0xe0, 0x01,
+0x02, 0x6d, 0x01, 0x02, 0x8e, 0x03, 0x14, 0x70, 0x4f, 0x00,
+0x43, 0x53, 0x70, 0x61, 0x63, 0xc0, 0x01, 0x20, 0x6c, 0x6f,
+0xa5, 0x01, 0x60, 0x20, 0x63, 0x65, 0x6c, 0x6c, 0x2c, 0xb0,
+0x00, 0x00, 0xd2, 0x00, 0x02, 0xdd, 0x00, 0x00, 0xaa, 0x03,
+0x10, 0x57, 0xdf, 0x04, 0x11, 0x61, 0x4b, 0x08, 0x40, 0x72,
+0x6f, 0x70, 0x72, 0xf1, 0x02, 0x0c, 0x9e, 0x0d, 0x02, 0xfa,
+0x04, 0x44, 0x62, 0x65, 0x65, 0x6e, 0xd8, 0x01, 0x15, 0x2c,
+0x83, 0x08, 0x08, 0x23, 0x02, 0x04, 0x87, 0x09, 0x32, 0x74,
+0x6f, 0x70, 0x53, 0x0a, 0x41, 0x63, 0x6f, 0x72, 0x6e, 0x48,
+0x00, 0x05, 0xf1, 0x00, 0x24, 0x3b, 0x20, 0x84, 0x01, 0x02,
+0x3f, 0x01, 0x13, 0x28, 0xbf, 0x06, 0x63, 0x75, 0x73, 0x65,
+0x20, 0x6f, 0x72, 0x44, 0x01, 0x17, 0x29, 0x47, 0x05, 0x09,
+0x71, 0x05, 0x41, 0x2e, 0x20, 0x0a, 0x49, 0x90, 0x06, 0x03,
+0x7a, 0x02, 0x01, 0x3c, 0x07, 0x01, 0x27, 0x00, 0x15, 0x27,
+0x12, 0x09, 0x28, 0x6e, 0x64, 0x33, 0x00, 0x02, 0xb5, 0x0d,
+0x21, 0x6e, 0x6f, 0x8c, 0x00, 0x00, 0x55, 0x0e, 0x0b, 0xac,
+0x05, 0x01, 0x36, 0x08, 0x00, 0x31, 0x00, 0x01, 0x17, 0x00,
+0xe2, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x69,
+0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x5d, 0x01, 0x92, 0x6e, 0x65,
+0x63, 0x65, 0x73, 0x73, 0x61, 0x72, 0x79, 0xd2, 0x06, 0x32,
+0x6d, 0x6f, 0x6e, 0x21, 0x07, 0x02, 0xc6, 0x04, 0x20, 0x74,
+0x6f, 0x3d, 0x00, 0x63, 0x2c, 0x20, 0x73, 0x6f, 0x20, 0x79,
+0x21, 0x0a, 0x01, 0xe3, 0x09, 0x20, 0x67, 0x61, 0x07, 0x05,
+0x02, 0xad, 0x00, 0x11, 0x72, 0x46, 0x01, 0x05, 0xe2, 0x06,
+0x05, 0x93, 0x00, 0x02, 0x48, 0x0b, 0x42, 0x73, 0x74, 0x65,
+0x6e, 0xc6, 0x07, 0x05, 0x52, 0x09, 0x00, 0x19, 0x0a, 0x21,
+0x68, 0x73, 0x51, 0x00, 0x71, 0x61, 0x6c, 0x72, 0x65, 0x61,
+0x64, 0x79, 0x80, 0x07, 0x00, 0xa2, 0x02, 0x67, 0x75, 0x74,
+0x2c, 0x20, 0x6f, 0x6e, 0x27, 0x00, 0x04, 0xb9, 0x04, 0x02,
+0xb2, 0x03, 0x02, 0x6a, 0x02, 0x64, 0x69, 0x6e, 0x64, 0x69,
+0x63, 0x61, 0x2c, 0x08, 0x00, 0x3d, 0x04, 0x52, 0x72, 0x6f,
+0x76, 0x65, 0x73, 0xab, 0x05, 0x45, 0x72, 0x6f, 0x6e, 0x67,
+0x9a, 0x00, 0x09, 0x77, 0x07, 0x74, 0x74, 0x63, 0x68, 0x20,
+0x61, 0x6c, 0x6c, 0x74, 0x04, 0x58, 0x73, 0x74, 0x69, 0x6e,
+0x67, 0x90, 0x00, 0x21, 0x62, 0x75, 0xd1, 0x0b, 0x02, 0xe8,
+0x05, 0x02, 0x49, 0x00, 0x01, 0x8d, 0x00, 0x01, 0x92, 0x02,
+0x0e, 0x91, 0x00, 0x60, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c,
+0x14, 0x09, 0x52, 0x77, 0x72, 0x69, 0x74, 0x74, 0xda, 0x0f,
+0x43, 0x72, 0x65, 0x64, 0x29, 0xba, 0x0c, 0x2f, 0x69, 0x73,
+0x05, 0x01, 0x01, 0x01, 0x97, 0x00, 0x04, 0x20, 0x05, 0x0e,
+0xf8, 0x01, 0x51, 0x64, 0x65, 0x63, 0x69, 0x64, 0x5d, 0x08,
+0x10, 0x67, 0xc8, 0x09, 0x21, 0x75, 0x70, 0xf2, 0x06, 0x20,
+0x6c, 0x65, 0xa6, 0x05, 0x15, 0x2c, 0x83, 0x01, 0x20, 0x73,
+0x65, 0x5b, 0x06, 0x41, 0x20, 0x53, 0x6f, 0x6c, 0x2f, 0x10,
+0x03, 0x8b, 0x00, 0x02, 0x79, 0x04, 0x5b, 0x63, 0x74, 0x75,
+0x61, 0x6c, 0x92, 0x01, 0x41, 0x2e, 0x20, 0x41, 0x74, 0xd0,
+0x01, 0x02, 0x67, 0x05, 0x14, 0x2c, 0x2d, 0x02, 0x32, 0x6c,
+0x79, 0x2d, 0x7f, 0x0b, 0x02, 0x08, 0x03, 0x0e, 0x25, 0x06,
+0x00, 0xb6, 0x07, 0x69, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64,
+0x38, 0x05, 0x00, 0x10, 0x09, 0x1f, 0x6e, 0x44, 0x00, 0x03,
+0x0f, 0x32, 0x00, 0x05, 0x02, 0xfd, 0x00, 0x00, 0x53, 0x0d,
+0x63, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x65, 0xd0, 0x03, 0x21,
+0x6d, 0x69, 0xcf, 0x03, 0x0c, 0x3c, 0x00, 0x00, 0x29, 0x00,
+0x04, 0x3a, 0x00, 0x40, 0x2e, 0x20, 0x49, 0x6e, 0x1b, 0x04,
+0x01, 0xcb, 0x00, 0x37, 0x2c, 0x20, 0x61, 0x1c, 0x00, 0x01,
+0xb4, 0x05, 0x10, 0x73, 0x2e, 0x0a, 0x02, 0x45, 0x04, 0x03,
+0xc7, 0x08, 0x14, 0x64, 0x57, 0x02, 0x01, 0x62, 0x04, 0x1f,
+0x64, 0x90, 0x01, 0x0a, 0x06, 0xc1, 0x02, 0x04, 0x71, 0x0a,
+0x85, 0x28, 0x6a, 0x75, 0x73, 0x74, 0x20, 0x61, 0x73, 0x19,
+0x09, 0x02, 0x75, 0x04, 0x0f, 0x8d, 0x03, 0x00, 0x12, 0x29,
+0xc4, 0x00, 0x01, 0x28, 0x0e, 0x3f, 0x65, 0x78, 0x74, 0x8e,
+0x00, 0x02, 0x11, 0x5f, 0x89, 0x08, 0x11, 0x5f, 0x63, 0x04,
+0x02, 0x8f, 0x00, 0x01, 0xc5, 0x10, 0x41, 0x72, 0x64, 0x65,
+0x72, 0x71, 0x03, 0x02, 0x87, 0x02, 0x3d, 0x75, 0x69, 0x73,
+0x8a, 0x00, 0x06, 0x65, 0x11, 0x04, 0xaf, 0x01, 0x30, 0x20,
+0x6f, 0x6e, 0x05, 0x07, 0x33, 0x28, 0x41, 0x6c, 0xec, 0x01,
+0x03, 0xd9, 0x0b, 0x72, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
+0x62, 0x5b, 0x00, 0x13, 0x73, 0x75, 0x08, 0x30, 0x32, 0x2e,
+0x31, 0xce, 0x02, 0x02, 0xa7, 0x05, 0x51, 0x61, 0x76, 0x61,
+0x69, 0x6c, 0x44, 0x07, 0x13, 0x29, 0x7d, 0x08, 0x17, 0x32,
+0x7d, 0x08, 0x50, 0x70, 0x61, 0x72, 0x61, 0x6d, 0xcc, 0x0a,
+0x00, 0x7f, 0x08, 0x00, 0xdb, 0x07, 0x06, 0x12, 0x00, 0x01,
+0xcd, 0x03, 0x06, 0x3f, 0x00, 0x06, 0x93, 0x00, 0xe2, 0x60,
+0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x2e, 0x2e, 0x2e, 0x27,
+0x20, 0x6f, 0x70, 0x87, 0x07, 0x12, 0x6e, 0x1a, 0x00, 0xf0,
+0x0a, 0x54, 0x79, 0x70, 0x65, 0x27, 0x20, 0x6d, 0x65, 0x6e,
+0x75, 0x2e, 0x20, 0x0a, 0x5f, 0x57, 0x69, 0x64, 0x74, 0x68,
+0x5f, 0x2c, 0x20, 0x5f, 0x48, 0x65, 0x59, 0x06, 0x60, 0x5f,
+0x20, 0x0a, 0x53, 0x69, 0x7a, 0x46, 0x08, 0x00, 0x30, 0x05,
+0x00, 0xb2, 0x00, 0x04, 0x48, 0x08, 0x01, 0xb0, 0x08, 0x21,
+0x72, 0x65, 0x71, 0x00, 0x43, 0x32, 0x20, 0x78, 0x20, 0x3a,
+0x00, 0x25, 0x20, 0x78, 0x3b, 0x00, 0x05, 0xeb, 0x12, 0x20,
+0x65, 0x72, 0x3d, 0x00, 0x00, 0x98, 0x0a, 0x20, 0x77, 0x6f,
+0x0e, 0x00, 0x00, 0xf6, 0x05, 0x00, 0x8b, 0x01, 0x03, 0x10,
+0x00, 0x07, 0xfe, 0x05, 0x45, 0x5f, 0x4e, 0x6f, 0x2e, 0xe8,
+0x05, 0x4b, 0x5f, 0x20, 0x0a, 0x4e, 0xfa, 0x05, 0x23, 0x74,
+0x6f, 0xf1, 0x0e, 0x25, 0x69, 0x6e, 0xc4, 0x05, 0x01, 0xff,
+0x11, 0x02, 0x13, 0x0e, 0x10, 0x62, 0xa0, 0x06, 0x00, 0xa1,
+0x02, 0x14, 0x6c, 0x35, 0x06, 0x11, 0x2c, 0xa9, 0x06, 0x00,
+0xef, 0x11, 0x20, 0x67, 0x65, 0x3f, 0x0d, 0x00, 0x2a, 0x01,
+0x15, 0x74, 0x36, 0x0a, 0xf2, 0x04, 0x20, 0x68, 0x79, 0x70,
+0x68, 0x65, 0x6e, 0x2c, 0x20, 0x6c, 0x69, 0x6b, 0x65, 0x20,
+0x60, 0x32, 0x2d, 0x36, 0x27, 0x25, 0x02, 0x05, 0x2c, 0x0c,
+0x03, 0x1c, 0x0b, 0x1f, 0x6e, 0x88, 0x00, 0x05, 0x19, 0x6f,
+0x88, 0x00, 0x00, 0x4f, 0x01, 0x02, 0xdd, 0x03, 0x02, 0x74,
+0x02, 0x02, 0x16, 0x0b, 0x42, 0x6f, 0x6e, 0x6c, 0x79, 0x13,
+0x0f, 0x00, 0xf3, 0x01, 0x14, 0x66, 0xbd, 0x0b, 0x05, 0x96,
+0x08, 0x0f, 0xef, 0x06, 0x0c, 0x33, 0x3b, 0x20, 0x61, 0x46,
+0x09, 0x10, 0x75, 0xdb, 0x00, 0x01, 0x29, 0x0f, 0x30, 0x66,
+0x66, 0x65, 0x91, 0x04, 0x02, 0x2b, 0x00, 0x04, 0x10, 0x08,
+0x03, 0xdb, 0x13, 0x28, 0x61, 0x6c, 0x94, 0x0b, 0x03, 0x1f,
+0x05, 0x60, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x83, 0x00,
+0x02, 0xa6, 0x09, 0x26, 0x6c, 0x6c, 0xdf, 0x05, 0x62, 0x69,
+0x6e, 0x70, 0x75, 0x74, 0x73, 0x6d, 0x14, 0x21, 0x75, 0x74,
+0x0c, 0x00, 0x90, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x20,
+0x0a, 0x00,
+const unsigned short help_text_len = 5427;
const char quick_help_text[] = "Find the hidden balls in the box by bouncing laser beams off them.";