diff --git a/LICENSE-addendum b/LICENSE-addendum index a4e9257..54d4467 100644 --- a/LICENSE-addendum +++ b/LICENSE-addendum @@ -4,8 +4,11 @@ teamwork or most likely DariaLapin and is generally licensed through CC-BY-SA-4. procedually loaded assents: Second Life® and Second Life® Marketplace are trademarks of Linden Research, Inc. -(yet tbd) +font: +Exo 2.0 font family made by ndiscovered + --> licensed under the SIL Open Font License (OFL) --- license links: * https://creativecommons.org/licenses/by-sa/4.0/ +* http://scripts.sil.org/OFL diff --git a/assets/Fonts/Exo2.0-Medium.otf b/assets/Fonts/Exo2.0-Medium.otf new file mode 100644 index 0000000..ac3ab00 Binary files /dev/null and b/assets/Fonts/Exo2.0-Medium.otf differ diff --git a/assets/Fonts/exo2.fnt b/assets/Fonts/exo2.fnt new file mode 100644 index 0000000..3c734ef Binary files /dev/null and b/assets/Fonts/exo2.fnt differ diff --git a/assets/Fonts/exo2.inc b/assets/Fonts/exo2.inc new file mode 100644 index 0000000..9ed04b1 --- /dev/null +++ b/assets/Fonts/exo2.inc @@ -0,0 +1,9974 @@ +static const int _builtin_font_height=17; +static const int _builtin_font_ascent=13; +static const int _builtin_font_charcount=95; +static const int _builtin_font_charrects[95][8]={ +/* charidx , ofs_x, ofs_y, size_x, size_y, valign, halign, advance */ +{32,0,0,0,0,13,0,3}, +{96,26,192,4,3,2,0,5}, +{80,14,315,8,11,2,1,9}, +{112,2,445,7,11,5,1,9}, +{48,15,104,9,11,2,0,9}, +{64,2,107,9,11,4,1,11}, +{97,19,32,8,8,5,0,8}, +{81,2,74,10,14,2,0,10}, +{113,14,300,8,11,5,0,9}, +{49,24,469,5,11,2,0,6}, +{65,20,2,10,11,2,0,9}, +{33,28,161,2,11,2,1,4}, +{34,26,249,4,4,2,1,5}, +{114,25,366,5,8,5,1,6}, +{82,2,331,8,11,2,1,9}, +{98,2,430,7,11,2,1,9}, +{50,2,197,8,11,2,0,8}, +{66,2,361,8,11,2,1,9}, +{99,13,414,7,8,5,0,7}, +{115,13,387,7,8,5,0,8}, +{83,14,330,8,11,2,0,8}, +{51,14,192,8,11,2,0,8}, +{35,2,59,10,11,2,0,10}, +{67,15,119,9,11,2,0,9}, +{36,2,261,8,15,0,0,8}, +{116,24,412,6,11,2,0,6}, +{84,2,122,9,11,2,0,9}, +{100,2,182,8,11,2,0,9}, +{52,2,137,9,11,2,0,9}, +{68,16,74,9,11,2,1,10}, +{101,15,180,8,8,5,0,8}, +{117,2,403,7,8,5,1,9}, +{85,2,346,8,11,2,1,10}, +{53,2,212,8,11,2,0,8}, +{37,2,17,13,11,2,0,13}, +{69,14,360,7,11,2,1,8}, +{118,14,237,8,8,5,0,8}, +{102,24,396,6,12,1,0,6}, +{86,2,152,9,11,2,0,9}, +{38,19,17,11,11,2,0,12}, +{54,14,207,8,11,2,0,9}, +{70,13,399,7,11,2,1,8}, +{39,28,123,2,4,2,1,3}, +{119,2,32,13,8,5,0,12}, +{87,2,2,14,11,2,0,14}, +{103,2,92,9,11,5,0,8}, +{55,2,227,8,11,2,0,8}, +{71,15,165,9,11,2,0,9}, +{120,14,261,8,8,5,0,8}, +{40,13,484,5,15,1,0,5}, +{56,15,134,9,12,2,0,9}, +{88,15,150,9,11,2,0,9}, +{104,2,415,7,11,2,1,9}, +{72,2,242,8,11,2,1,10}, +{41,2,493,5,15,1,0,5}, +{121,2,300,8,12,5,0,8}, +{89,2,167,9,11,2,0,9}, +{105,28,131,2,11,2,1,4}, +{57,14,222,8,11,2,0,9}, +{73,28,146,2,11,2,1,4}, +{42,24,387,6,5,2,0,7}, +{58,26,285,3,7,6,0,4}, +{122,14,375,7,8,5,0,8}, +{106,26,296,3,14,2,0,4}, +{74,26,214,4,12,2,0,5}, +{90,14,345,8,11,2,0,9}, +{43,14,273,8,7,5,0,8}, +{59,26,314,2,10,6,1,4}, +{123,24,448,5,17,0,0,5}, +{91,26,230,4,15,1,1,5}, +{75,2,316,8,11,2,1,9}, +{107,13,426,7,11,2,1,8}, +{44,26,276,3,5,11,0,3}, +{60,2,473,7,7,5,0,8}, +{124,28,104,2,15,1,1,4}, +{92,2,284,8,12,2,0,8}, +{76,13,447,7,11,2,1,8}, +{108,26,199,4,11,2,1,5}, +{45,25,360,5,2,8,1,7}, +{61,2,484,7,5,6,1,9}, +{109,2,44,12,8,5,1,13}, +{125,24,427,5,17,0,0,5}, +{93,26,257,4,15,1,0,5}, +{77,18,44,12,11,2,1,13}, +{46,27,180,3,2,11,0,4}, +{94,2,462,7,4,4,0,7}, +{126,13,473,7,4,7,0,8}, +{62,13,462,7,7,5,1,8}, +{110,2,391,7,8,5,1,9}, +{78,16,89,9,11,2,1,11}, +{95,13,441,7,2,13,1,9}, +{111,14,249,8,8,5,0,9}, +{47,14,284,8,12,2,0,8}, +{79,16,59,10,11,2,0,10}, +{63,2,376,7,11,2,0,8}, +}; +static const int _builtin_font_kerning_pair_count=0; +static const int _builtin_font_kerning_pairs[0][3]={ +}; +static const int _builtin_font_img_width=32; +static const int _builtin_font_img_height=512; +static const int _builtin_font_img_data_size=9865; +static const unsigned char _builtin_font_img_data[9865]={ +137, +80, +78, +71, +13, +10, +26, +10, +0, +0, +0, +13, +73, +72, +68, +82, +0, +0, +0, +32, +0, +0, +2, +0, +8, +6, +0, +0, +0, +227, +73, +110, +235, +0, +0, +32, +0, +73, +68, +65, +84, +120, +156, +237, +157, +119, +184, +29, +85, +213, +255, +191, +235, +4, +66, +73, +32, +16, +58, +210, +171, +8, +106, +164, +169, +116, +81, +64, +33, +116, +41, +10, +47, +136, +130, +32, +210, +108, +175, +10, +34, +232, +139, +63, +193, +174, +128, +20, +177, +32, +69, +69, +16, +4, +11, +130, +33, +128, +116, +9, +37, +116, +41, +129, +208, +34, +9, +49, +9, +9, +9, +9, +204, +231, +247, +199, +90, +115, +239, +156, +57, +51, +115, +230, +220, +115, +110, +162, +152, +239, +243, +220, +231, +220, +217, +179, +247, +158, +53, +51, +123, +118, +89, +235, +187, +214, +150, +22, +34, +0, +124, +9, +199, +234, +153, +180, +205, +128, +185, +145, +126, +92, +46, +255, +83, +192, +159, +218, +212, +121, +86, +148, +157, +2, +12, +43, +202, +211, +200, +252, +127, +111, +252, +190, +35, +147, +182, +141, +164, +41, +192, +213, +146, +118, +200, +84, +60, +92, +210, +90, +146, +238, +171, +184, +248, +80, +73, +135, +72, +58, +89, +210, +112, +73, +59, +183, +19, +32, +173, +236, +237, +153, +74, +70, +69, +250, +56, +73, +239, +204, +164, +111, +34, +201, +170, +4, +144, +244, +190, +184, +240, +5, +146, +110, +144, +180, +103, +165, +0, +102, +246, +79, +73, +147, +178, +2, +72, +26, +37, +233, +126, +51, +27, +47, +105, +237, +36, +73, +150, +142, +188, +105, +158, +42, +1, +246, +144, +116, +135, +153, +77, +2, +126, +47, +105, +52, +48, +164, +84, +128, +76, +133, +111, +151, +36, +96, +81, +51, +123, +155, +164, +241, +146, +238, +247, +235, +90, +250, +122, +222, +46, +105, +150, +164, +39, +218, +8, +112, +117, +8, +124, +141, +164, +145, +146, +182, +174, +35, +192, +91, +129, +69, +37, +189, +77, +210, +208, +184, +248, +211, +146, +102, +168, +255, +53, +188, +93, +210, +120, +51, +75, +138, +174, +12, +108, +42, +105, +181, +140, +0, +47, +200, +95, +99, +203, +107, +40, +18, +96, +81, +73, +27, +202, +31, +255, +107, +146, +254, +97, +102, +200, +159, +196, +168, +200, +183, +137, +218, +63, +126, +73, +122, +40, +190, +2, +36, +109, +94, +36, +192, +34, +5, +2, +72, +126, +135, +163, +36, +61, +100, +102, +175, +71, +218, +253, +146, +182, +4, +86, +150, +180, +124, +149, +0, +192, +30, +102, +118, +185, +164, +139, +51, +201, +107, +74, +250, +33, +176, +177, +153, +61, +84, +86, +176, +1, +204, +2, +78, +3, +198, +36, +73, +242, +243, +204, +185, +35, +146, +36, +121, +21, +216, +57, +110, +106, +203, +146, +58, +86, +143, +243, +163, +115, +233, +67, +128, +105, +192, +137, +217, +244, +166, +87, +16, +239, +116, +188, +252, +17, +111, +20, +119, +157, +226, +126, +51, +91, +66, +254, +24, +19, +73, +15, +150, +60, +128, +221, +129, +55, +128, +155, +115, +117, +191, +1, +220, +164, +146, +207, +49, +43, +233, +233, +113, +7, +243, +128, +119, +103, +210, +151, +136, +30, +13, +224, +246, +138, +242, +215, +2, +119, +20, +157, +75, +146, +228, +88, +32, +1, +86, +169, +20, +98, +33, +254, +123, +1, +156, +12, +60, +7, +188, +8, +92, +24, +61, +98, +122, +174, +1, +220, +13, +108, +209, +166, +142, +37, +129, +11, +128, +231, +226, +179, +77, +241, +245, +118, +23, +95, +55, +73, +146, +215, +129, +85, +129, +37, +147, +36, +153, +0, +124, +56, +115, +254, +104, +224, +220, +26, +55, +113, +90, +92, +240, +12, +224, +67, +192, +142, +192, +46, +192, +154, +237, +10, +142, +6, +30, +203, +28, +255, +54, +73, +146, +175, +198, +255, +43, +0, +143, +3, +35, +107, +8, +112, +117, +146, +36, +255, +40, +72, +95, +6, +88, +49, +159, +158, +31, +11, +178, +72, +204, +204, +226, +255, +51, +36, +157, +97, +102, +83, +107, +8, +128, +153, +205, +45, +56, +245, +21, +73, +63, +173, +18, +224, +81, +73, +235, +0, +43, +38, +73, +178, +152, +124, +240, +120, +24, +120, +175, +124, +100, +108, +41, +92, +4, +51, +187, +90, +210, +70, +192, +161, +192, +122, +192, +154, +241, +248, +87, +149, +180, +100, +28, +47, +83, +88, +56, +73, +146, +175, +2, +207, +38, +73, +242, +60, +112, +17, +176, +120, +52, +188, +205, +129, +61, +128, +39, +163, +55, +28, +19, +131, +82, +209, +19, +88, +2, +248, +13, +213, +248, +102, +157, +155, +17, +240, +105, +224, +28, +192, +128, +73, +192, +94, +241, +255, +85, +192, +233, +37, +101, +46, +139, +47, +233, +29, +192, +34, +153, +244, +95, +1, +215, +212, +186, +112, +20, +88, +49, +109, +120, +192, +242, +33, +249, +200, +56, +247, +57, +124, +162, +154, +47, +99, +192, +107, +69, +95, +75, +153, +0, +165, +141, +16, +56, +67, +210, +233, +209, +240, +210, +198, +72, +252, +38, +37, +101, +135, +200, +231, +24, +77, +243, +12, +124, +134, +188, +10, +208, +82, +38, +63, +33, +73, +11, +108, +37, +233, +173, +146, +62, +30, +73, +83, +36, +77, +150, +180, +149, +164, +63, +202, +231, +118, +143, +228, +203, +153, +217, +235, +192, +35, +146, +246, +79, +146, +228, +126, +51, +155, +36, +105, +125, +73, +7, +73, +90, +69, +210, +60, +96, +15, +73, +19, +204, +236, +129, +178, +59, +31, +2, +140, +3, +54, +203, +165, +239, +13, +60, +25, +13, +244, +70, +96, +213, +146, +242, +91, +0, +183, +1, +175, +36, +73, +242, +50, +112, +59, +240, +81, +96, +3, +224, +62, +124, +194, +115, +85, +225, +197, +23, +226, +191, +27, +192, +55, +128, +25, +196, +242, +41, +73, +146, +197, +162, +215, +155, +3, +28, +144, +201, +119, +78, +146, +36, +207, +87, +212, +115, +33, +112, +7, +48, +49, +202, +78, +4, +14, +175, +35, +192, +14, +209, +217, +108, +22, +199, +91, +2, +179, +163, +194, +115, +50, +249, +30, +4, +126, +81, +81, +207, +1, +241, +247, +65, +124, +132, +253, +11, +190, +196, +95, +170, +157, +0, +67, +129, +153, +192, +103, +226, +248, +83, +192, +221, +73, +146, +156, +0, +220, +21, +105, +203, +225, +179, +218, +131, +218, +222, +81, +127, +189, +163, +227, +198, +54, +41, +58, +159, +93, +29, +207, +197, +231, +237, +219, +69, +210, +102, +146, +198, +153, +217, +56, +73, +239, +192, +103, +71, +219, +202, +123, +197, +191, +86, +92, +240, +220, +184, +17, +0, +36, +165, +221, +111, +203, +202, +184, +73, +128, +192, +245, +146, +182, +5, +76, +210, +230, +192, +61, +234, +95, +47, +190, +77, +210, +118, +192, +248, +88, +202, +23, +93, +124, +148, +164, +35, +37, +125, +15, +215, +180, +172, +38, +233, +35, +101, +194, +182, +8, +96, +102, +215, +73, +90, +78, +210, +166, +146, +54, +54, +179, +123, +204, +236, +21, +73, +143, +203, +159, +200, +182, +102, +118, +125, +69, +125, +203, +197, +239, +181, +141, +70, +227, +57, +51, +123, +94, +210, +226, +85, +2, +52, +141, +5, +102, +246, +48, +240, +188, +164, +143, +69, +82, +218, +95, +143, +147, +244, +110, +185, +250, +230, +43, +21, +245, +61, +19, +191, +71, +225, +147, +142, +15, +169, +205, +19, +104, +1, +62, +153, +156, +75, +102, +109, +7, +124, +34, +210, +38, +2, +75, +182, +41, +127, +50, +48, +53, +38, +181, +231, +39, +73, +178, +26, +190, +86, +124, +103, +85, +185, +133, +88, +8, +1, +207, +2, +7, +2, +71, +39, +73, +114, +79, +76, +38, +126, +0, +12, +7, +190, +15, +60, +21, +105, +71, +148, +148, +255, +44, +64, +172, +174, +242, +218, +145, +117, +99, +34, +2, +240, +203, +42, +1, +94, +2, +254, +10, +236, +7, +156, +31, +5, +38, +1, +63, +198, +103, +196, +119, +2, +211, +74, +202, +159, +21, +121, +239, +6, +46, +200, +157, +59, +38, +132, +191, +5, +184, +165, +74, +128, +203, +162, +23, +20, +176, +126, +8, +208, +119, +199, +161, +225, +32, +22, +46, +249, +242, +63, +3, +30, +5, +190, +158, +36, +201, +132, +220, +185, +223, +1, +87, +0, +191, +78, +146, +228, +158, +236, +185, +124, +87, +252, +124, +168, +228, +36, +233, +213, +248, +157, +152, +158, +52, +179, +87, +85, +142, +37, +128, +217, +146, +198, +154, +217, +90, +192, +90, +113, +241, +134, +92, +207, +124, +3, +48, +219, +204, +154, +148, +214, +85, +107, +195, +142, +0, +44, +105, +102, +179, +37, +221, +46, +105, +142, +164, +29, +227, +212, +40, +73, +203, +134, +96, +175, +74, +106, +234, +200, +122, +38, +128, +153, +45, +41, +105, +182, +153, +205, +9, +33, +222, +31, +167, +222, +7, +188, +100, +102, +15, +75, +154, +157, +239, +73, +123, +38, +128, +164, +37, +36, +205, +142, +255, +111, +80, +60, +1, +96, +71, +51, +187, +33, +210, +95, +29, +212, +87, +144, +17, +96, +172, +164, +149, +129, +183, +153, +217, +182, +113, +172, +56, +191, +24, +5, +90, +243, +94, +8, +240, +104, +250, +141, +3, +139, +198, +164, +228, +220, +248, +146, +214, +139, +244, +227, +227, +184, +111, +122, +54, +40, +175, +192, +204, +230, +201, +53, +229, +71, +74, +122, +208, +204, +82, +181, +126, +250, +132, +250, +218, +65, +47, +5, +200, +190, +2, +153, +217, +71, +205, +145, +53, +128, +164, +159, +113, +161, +253, +104, +33, +22, +162, +15, +49, +175, +187, +44, +115, +252, +23, +114, +134, +203, +130, +50, +251, +0, +119, +36, +73, +242, +114, +140, +124, +119, +2, +251, +182, +187, +86, +217, +87, +176, +145, +154, +53, +32, +249, +227, +252, +197, +247, +149, +116, +133, +36, +153, +217, +215, +36, +157, +42, +87, +227, +92, +14, +236, +215, +78, +136, +22, +36, +73, +114, +47, +112, +96, +84, +62, +220, +71, +224, +100, +181, +10, +1, +110, +196, +245, +203, +139, +103, +234, +88, +44, +180, +41, +127, +235, +228, +194, +63, +167, +223, +42, +50, +21, +152, +12, +76, +143, +105, +245, +100, +224, +219, +37, +229, +94, +205, +79, +66, +66, +176, +243, +129, +57, +181, +5, +136, +66, +107, +198, +5, +23, +143, +227, +131, +128, +219, +42, +242, +15, +11, +129, +91, +180, +225, +192, +215, +242, +93, +111, +30, +69, +109, +96, +67, +96, +98, +12, +171, +146, +219, +16, +31, +175, +144, +121, +68, +252, +206, +42, +56, +247, +74, +252, +46, +219, +137, +0, +27, +152, +89, +246, +130, +27, +168, +218, +68, +59, +61, +126, +139, +186, +215, +225, +146, +84, +54, +143, +108, +2, +174, +80, +152, +140, +107, +58, +103, +197, +255, +147, +227, +117, +76, +3, +158, +73, +231, +139, +121, +68, +27, +248, +73, +65, +157, +231, +13, +164, +13, +220, +12, +28, +22, +255, +47, +26, +2, +173, +223, +166, +204, +77, +192, +11, +217, +201, +42, +174, +240, +120, +174, +116, +22, +92, +134, +36, +73, +254, +69, +152, +101, +128, +77, +112, +53, +77, +229, +168, +9, +124, +56, +26, +219, +45, +192, +81, +241, +119, +75, +164, +29, +80, +85, +54, +95, +209, +234, +184, +10, +102, +88, +28, +127, +4, +24, +87, +179, +236, +126, +192, +223, +227, +243, +157, +26, +255, +239, +95, +251, +226, +11, +177, +16, +41, +240, +69, +232, +29, +49, +38, +76, +141, +97, +181, +180, +49, +225, +150, +144, +23, +163, +175, +152, +23, +229, +238, +32, +183, +66, +174, +123, +241, +189, +227, +211, +185, +11, +56, +46, +22, +163, +183, +69, +90, +161, +178, +9, +24, +139, +107, +79, +247, +9, +225, +143, +138, +47, +0, +96, +151, +78, +5, +184, +17, +95, +162, +47, +145, +166, +133, +206, +120, +34, +37, +156, +129, +16, +96, +108, +46, +109, +88, +140, +162, +127, +104, +119, +205, +166, +14, +6, +167, +101, +252, +41, +22, +153, +158, +161, +209, +120, +77, +110, +166, +217, +188, +172, +43, +206, +195, +204, +102, +73, +26, +35, +183, +61, +214, +19, +0, +24, +22, +20, +141, +23, +10, +242, +189, +32, +215, +41, +22, +27, +28, +139, +241, +2, +110, +109, +171, +20, +58, +251, +4, +70, +132, +32, +45, +195, +42, +208, +118, +88, +45, +192, +76, +51, +27, +82, +53, +23, +200, +11, +48, +93, +146, +242, +171, +215, +72, +27, +30, +255, +182, +31, +86, +251, +49, +28, +120, +195, +204, +102, +214, +18, +192, +204, +102, +197, +192, +83, +68, +48, +89, +85, +210, +235, +146, +254, +213, +129, +0, +171, +152, +217, +148, +50, +182, +85, +139, +0, +33, +196, +223, +37, +237, +74, +102, +114, +137, +171, +233, +71, +203, +85, +247, +168, +6, +240, +165, +250, +251, +235, +12, +100, +121, +195, +229, +143, +130, +1, +117, +3, +112, +145, +220, +82, +122, +144, +164, +213, +37, +125, +185, +162, +158, +21, +241, +169, +249, +60, +57, +203, +234, +8, +73, +35, +204, +236, +172, +58, +2, +231, +165, +223, +55, +58, +162, +169, +49, +55, +184, +155, +152, +162, +151, +228, +31, +75, +51, +166, +70, +249, +61, +202, +202, +212, +21, +228, +48, +96, +55, +96, +68, +251, +220, +131, +0, +224, +108, +96, +110, +104, +62, +239, +2, +182, +107, +95, +170, +247, +66, +172, +1, +124, +57, +250, +246, +202, +121, +225, +127, +47, +8, +186, +70, +172, +39, +179, +93, +251, +186, +209, +40, +43, +77, +124, +189, +208, +17, +173, +40, +39, +62, +110, +34, +183, +17, +117, +132, +94, +41, +169, +158, +151, +219, +7, +143, +237, +74, +0, +156, +249, +52, +14, +183, +33, +103, +241, +40, +213, +198, +170, +161, +146, +206, +149, +180, +51, +176, +193, +128, +4, +136, +247, +247, +107, +57, +159, +104, +52, +206, +31, +74, +109, +198, +219, +180, +209, +148, +75, +110, +244, +252, +135, +164, +79, +119, +34, +64, +31, +112, +214, +12, +192, +54, +153, +180, +212, +102, +176, +105, +69, +185, +190, +25, +17, +78, +251, +153, +14, +44, +53, +144, +70, +56, +89, +210, +76, +73, +135, +227, +150, +243, +119, +201, +223, +233, +92, +57, +175, +184, +14, +46, +140, +223, +67, +106, +230, +111, +70, +146, +36, +71, +198, +74, +119, +86, +252, +62, +84, +53, +14, +72, +173, +115, +66, +224, +135, +192, +35, +56, +141, +171, +179, +207, +208, +204, +222, +103, +102, +63, +49, +179, +97, +141, +70, +99, +73, +51, +219, +216, +204, +126, +221, +225, +125, +156, +37, +87, +106, +212, +234, +186, +243, +159, +225, +68, +73, +199, +225, +156, +177, +107, +112, +51, +238, +251, +139, +10, +150, +33, +148, +27, +215, +74, +250, +108, +71, +2, +224, +148, +173, +157, +36, +125, +71, +78, +223, +123, +88, +210, +22, +146, +174, +167, +14, +5, +163, +25, +223, +145, +63, +5, +36, +189, +92, +171, +4, +112, +176, +247, +168, +205, +22, +177, +232, +98, +47, +237, +80, +128, +218, +200, +206, +136, +166, +201, +217, +17, +95, +4, +238, +150, +183, +254, +245, +36, +173, +43, +233, +186, +193, +18, +160, +15, +56, +19, +238, +52, +220, +119, +100, +22, +174, +154, +153, +4, +92, +2, +116, +50, +29, +255, +47, +4, +112, +120, +180, +149, +153, +192, +120, +130, +137, +83, +146, +247, +183, +192, +161, +233, +113, +215, +163, +33, +190, +116, +255, +73, +216, +5, +143, +150, +116, +167, +156, +196, +114, +84, +183, +117, +215, +21, +224, +58, +130, +103, +148, +73, +251, +51, +37, +107, +130, +210, +39, +144, +36, +201, +210, +192, +183, +129, +39, +98, +58, +158, +98, +94, +60, +222, +141, +75, +100, +120, +143, +90, +191, +146, +107, +37, +109, +74, +134, +153, +93, +134, +236, +210, +236, +120, +73, +199, +72, +58, +215, +204, +246, +150, +119, +66, +155, +75, +218, +211, +204, +70, +72, +58, +49, +95, +56, +46, +176, +20, +144, +231, +21, +77, +138, +223, +182, +68, +232, +108, +63, +176, +151, +164, +171, +205, +236, +59, +5, +23, +186, +94, +238, +117, +145, +71, +234, +119, +148, +159, +43, +164, +11, +210, +17, +146, +10, +73, +79, +69, +2, +44, +43, +39, +50, +55, +228, +182, +223, +173, +228, +118, +190, +185, +114, +155, +96, +17, +7, +116, +70, +252, +46, +145, +75, +31, +150, +59, +95, +138, +236, +87, +48, +92, +174, +114, +223, +74, +210, +246, +146, +54, +53, +179, +101, +204, +108, +69, +73, +63, +47, +42, +28, +22, +210, +87, +36, +173, +148, +77, +7, +210, +227, +182, +227, +64, +118, +48, +66, +222, +21, +167, +13, +103, +121, +96, +165, +24, +136, +170, +236, +62, +119, +73, +250, +64, +78, +176, +157, +129, +123, +67, +192, +122, +2, +4, +103, +108, +184, +252, +59, +190, +71, +110, +241, +126, +92, +78, +110, +43, +100, +81, +7, +46, +144, +244, +158, +48, +247, +124, +4, +56, +91, +210, +104, +51, +107, +49, +225, +84, +2, +215, +7, +94, +17, +255, +55, +130, +130, +53, +36, +142, +135, +144, +209, +156, +229, +145, +36, +201, +145, +56, +101, +119, +38, +240, +0, +240, +185, +138, +235, +52, +245, +3, +217, +70, +248, +27, +73, +103, +132, +79, +193, +223, +162, +101, +175, +228, +111, +70, +146, +191, +235, +22, +191, +1, +73, +106, +52, +26, +231, +73, +58, +175, +222, +173, +150, +75, +54, +12, +39, +178, +63, +25, +134, +199, +121, +56, +129, +109, +6, +174, +59, +188, +172, +125, +45, +181, +174, +83, +252, +4, +66, +183, +247, +169, +94, +92, +228, +223, +26, +192, +219, +50, +159, +105, +207, +42, +221, +29, +184, +45, +94, +221, +52, +92, +119, +124, +118, +157, +178, +133, +236, +250, +14, +47, +190, +135, +164, +223, +203, +221, +59, +79, +145, +247, +126, +195, +213, +166, +11, +238, +25, +112, +119, +143, +23, +242, +147, +217, +129, +84, +116, +17, +21, +72, +146, +228, +200, +162, +114, +101, +118, +227, +186, +200, +250, +128, +156, +109, +102, +169, +122, +125, +71, +73, +159, +148, +175, +13, +39, +75, +146, +153, +221, +93, +32, +244, +48, +249, +64, +84, +164, +224, +46, +68, +146, +36, +175, +199, +138, +235, +177, +210, +76, +56, +137, +21, +218, +120, +71, +225, +94, +89, +0, +95, +172, +43, +64, +204, +184, +215, +74, +143, +187, +157, +19, +86, +217, +141, +203, +4, +152, +35, +39, +187, +117, +47, +64, +170, +224, +150, +43, +179, +235, +150, +217, +93, +153, +97, +186, +235, +89, +177, +153, +221, +33, +105, +215, +186, +95, +129, +153, +221, +150, +29, +166, +187, +238, +7, +36, +253, +80, +210, +85, +102, +54, +6, +184, +88, +62, +104, +141, +0, +134, +54, +26, +141, +31, +12, +168, +198, +186, +141, +48, +147, +63, +53, +245, +77, +141, +158, +112, +60, +190, +188, +31, +216, +19, +238, +84, +128, +110, +208, +75, +50, +91, +45, +196, +56, +209, +215, +113, +245, +162, +13, +116, +138, +49, +146, +202, +59, +161, +255, +56, +224, +170, +157, +11, +113, +186, +198, +107, +65, +94, +250, +53, +37, +222, +213, +49, +103, +108, +225, +155, +116, +35, +192, +247, +98, +218, +118, +24, +176, +29, +238, +87, +54, +41, +235, +56, +95, +37, +64, +47, +218, +192, +59, +37, +93, +99, +102, +89, +79, +253, +205, +205, +108, +199, +138, +50, +125, +40, +252, +10, +112, +143, +202, +66, +7, +246, +2, +76, +150, +19, +215, +178, +120, +93, +238, +34, +216, +22, +45, +79, +0, +88, +87, +210, +238, +114, +115, +93, +29, +220, +44, +233, +52, +156, +53, +55, +65, +78, +231, +221, +95, +210, +207, +106, +150, +111, +17, +224, +135, +209, +160, +22, +137, +227, +71, +128, +15, +84, +228, +95, +145, +126, +190, +64, +138, +135, +202, +58, +177, +124, +27, +200, +219, +11, +70, +72, +58, +76, +210, +217, +225, +61, +185, +172, +220, +243, +178, +106, +160, +57, +75, +254, +200, +215, +149, +219, +13, +86, +147, +107, +92, +47, +172, +40, +211, +135, +124, +27, +56, +60, +238, +252, +252, +56, +94, +186, +70, +29, +239, +150, +244, +43, +51, +123, +202, +204, +230, +133, +111, +209, +175, +36, +109, +81, +103, +44, +200, +78, +201, +134, +0, +199, +154, +217, +197, +102, +86, +79, +189, +234, +88, +89, +173, +206, +76, +139, +203, +117, +10, +35, +148, +51, +120, +231, +120, +198, +77, +141, +240, +67, +102, +182, +166, +164, +223, +118, +112, +113, +201, +227, +84, +156, +0, +204, +144, +219, +142, +86, +148, +107, +91, +159, +105, +52, +26, +245, +173, +237, +244, +123, +197, +149, +225, +162, +146, +114, +27, +1, +127, +192, +181, +170, +115, +227, +247, +58, +160, +45, +125, +67, +234, +247, +39, +78, +43, +219, +80, +205, +52, +141, +85, +36, +93, +9, +28, +103, +102, +151, +212, +113, +126, +239, +41, +112, +122, +39, +192, +110, +61, +172, +115, +44, +25, +11, +203, +124, +159, +15, +228, +81, +57, +22, +152, +217, +51, +202, +189, +166, +94, +99, +129, +63, +129, +174, +4, +136, +225, +23, +224, +144, +92, +250, +38, +56, +49, +242, +152, +238, +196, +171, +39, +196, +77, +49, +207, +179, +76, +218, +47, +201, +49, +173, +51, +231, +154, +26, +97, +246, +196, +69, +101, +254, +196, +192, +245, +148, +107, +191, +63, +16, +79, +97, +116, +28, +175, +129, +235, +151, +10, +53, +101, +85, +2, +28, +24, +21, +109, +156, +75, +95, +28, +231, +23, +253, +95, +81, +133, +145, +231, +118, +130, +67, +142, +59, +200, +77, +166, +36, +12, +88, +149, +0, +35, +131, +47, +242, +153, +92, +250, +78, +33, +216, +123, +43, +4, +216, +45, +242, +28, +136, +235, +10, +91, +52, +235, +109, +5, +136, +147, +183, +144, +11, +118, +6, +124, +43, +116, +63, +165, +190, +65, +244, +7, +59, +74, +177, +94, +93, +1, +242, +95, +193, +159, +36, +109, +159, +35, +40, +239, +100, +102, +215, +154, +217, +27, +101, +149, +74, +250, +168, +124, +232, +222, +90, +190, +242, +29, +152, +186, +15, +24, +21, +119, +240, +190, +56, +94, +129, +54, +174, +222, +192, +34, +192, +19, +132, +154, +55, +73, +146, +147, +162, +205, +212, +94, +178, +231, +43, +124, +129, +136, +19, +130, +43, +159, +223, +0, +150, +175, +200, +127, +120, +8, +61, +42, +4, +88, +58, +76, +62, +181, +212, +116, +69, +21, +94, +128, +91, +78, +133, +59, +49, +86, +133, +127, +26, +154, +36, +201, +211, +228, +98, +74, +0, +167, +226, +134, +207, +206, +23, +183, +56, +57, +53, +193, +217, +144, +19, +129, +147, +43, +242, +30, +29, +119, +159, +15, +152, +177, +44, +206, +164, +168, +21, +62, +166, +9, +97, +61, +155, +27, +239, +178, +165, +242, +110, +129, +211, +128, +255, +94, +39, +19, +73, +146, +220, +79, +77, +34, +107, +79, +5, +24, +76, +228, +5, +248, +207, +30, +142, +83, +224, +238, +33, +183, +196, +39, +60, +59, +250, +133, +27, +128, +21, +218, +149, +237, +133, +182, +124, +180, +156, +198, +53, +78, +78, +253, +120, +89, +174, +190, +29, +174, +2, +22, +46, +48, +167, +144, +20, +133, +15, +199, +255, +36, +55, +134, +227, +17, +53, +32, +19, +38, +46, +119, +254, +70, +96, +114, +93, +61, +33, +112, +38, +69, +113, +137, +128, +141, +189, +225, +55, +107, +197, +113, +78, +233, +152, +138, +10, +103, +150, +41, +35, +74, +242, +127, +28, +40, +38, +200, +2, +87, +226, +65, +144, +26, +113, +252, +190, +184, +251, +194, +213, +49, +30, +131, +12, +60, +118, +81, +54, +221, +128, +61, +171, +70, +197, +50, +1, +182, +140, +10, +247, +141, +227, +63, +87, +125, +179, +132, +182, +60, +73, +146, +147, +114, +233, +67, +162, +158, +150, +89, +17, +112, +34, +208, +167, +59, +200, +7, +193, +184, +11, +248, +171, +164, +207, +225, +129, +141, +62, +40, +169, +202, +103, +112, +70, +148, +171, +140, +180, +145, +195, +74, +114, +158, +114, +49, +50, +143, +253, +42, +92, +57, +209, +206, +199, +168, +37, +6, +85, +213, +19, +168, +5, +124, +142, +7, +240, +177, +26, +121, +111, +194, +9, +143, +217, +89, +241, +50, +117, +5, +40, +187, +187, +43, +163, +162, +223, +213, +144, +247, +66, +57, +109, +235, +18, +124, +254, +240, +53, +121, +248, +200, +90, +62, +102, +101, +29, +209, +27, +146, +199, +149, +108, +87, +129, +153, +253, +12, +159, +253, +28, +134, +19, +223, +238, +48, +179, +143, +72, +58, +169, +77, +209, +114, +224, +113, +199, +160, +100, +106, +221, +75, +44, +240, +193, +104, +33, +186, +6, +240, +22, +224, +114, +92, +55, +52, +51, +102, +81, +133, +62, +134, +192, +144, +32, +69, +125, +172, +103, +2, +36, +73, +242, +199, +184, +248, +33, +184, +237, +232, +119, +248, +226, +116, +221, +2, +1, +22, +193, +151, +110, +245, +59, +40, +96, +118, +190, +175, +207, +156, +75, +59, +156, +47, +101, +210, +214, +140, +180, +15, +23, +149, +201, +163, +219, +9, +73, +106, +148, +120, +25, +120, +75, +252, +159, +142, +156, +109, +73, +76, +117, +5, +168, +234, +140, +82, +190, +121, +170, +218, +21, +238, +91, +116, +157, +250, +3, +95, +84, +34, +175, +172, +126, +59, +78, +231, +153, +21, +43, +158, +31, +170, +213, +22, +144, +69, +106, +53, +63, +58, +194, +61, +88, +163, +209, +88, +196, +204, +118, +169, +67, +98, +146, +90, +159, +192, +79, +129, +21, +204, +236, +227, +102, +182, +152, +60, +138, +74, +105, +111, +104, +102, +47, +226, +75, +183, +47, +225, +126, +134, +207, +134, +87, +214, +178, +114, +43, +74, +125, +159, +99, +34, +12, +100, +146, +36, +199, +230, +210, +75, +27, +97, +156, +95, +19, +15, +116, +243, +34, +174, +170, +77, +131, +104, +214, +34, +170, +100, +159, +192, +202, +113, +87, +19, +75, +242, +22, +34, +116, +137, +109, +3, +29, +148, +161, +81, +242, +255, +124, +67, +246, +162, +47, +197, +239, +90, +105, +66, +76, +181, +7, +85, +176, +44, +147, +106, +82, +146, +36, +247, +153, +217, +241, +192, +68, +185, +207, +216, +192, +166, +84, +3, +5, +48, +42, +250, +234, +233, +248, +210, +106, +215, +36, +73, +126, +95, +212, +8, +113, +245, +221, +173, +56, +247, +236, +213, +40, +115, +23, +229, +83, +248, +245, +112, +35, +103, +243, +68, +184, +27, +129, +147, +36, +57, +54, +56, +104, +179, +37, +173, +5, +28, +102, +102, +203, +154, +89, +203, +154, +16, +215, +59, +253, +66, +210, +147, +146, +246, +235, +208, +44, +84, +15, +244, +243, +14, +10, +185, +232, +120, +28, +219, +83, +163, +131, +235, +61, +240, +208, +96, +211, +219, +231, +236, +71, +47, +86, +199, +27, +200, +191, +148, +85, +228, +81, +253, +254, +50, +208, +138, +150, +137, +6, +119, +111, +104, +70, +231, +224, +235, +196, +74, +191, +33, +224, +149, +120, +236, +196, +234, +122, +135, +78, +174, +219, +215, +8, +147, +36, +89, +204, +204, +190, +42, +55, +58, +79, +193, +163, +108, +237, +47, +167, +117, +173, +99, +102, +19, +202, +42, +9, +65, +70, +74, +58, +69, +210, +81, +146, +86, +50, +179, +78, +60, +116, +75, +43, +253, +80, +220, +220, +182, +53, +243, +175, +29, +249, +63, +152, +63, +23, +241, +10, +207, +201, +167, +183, +235, +229, +182, +150, +148, +238, +93, +80, +7, +105, +80, +236, +202, +32, +138, +89, +148, +54, +66, +156, +130, +241, +73, +224, +154, +70, +163, +209, +210, +178, +113, +245, +237, +65, +114, +226, +210, +44, +57, +145, +253, +211, +114, +42, +120, +173, +184, +21, +165, +2, +224, +43, +226, +139, +37, +53, +204, +172, +144, +71, +40, +191, +219, +131, +129, +229, +163, +227, +1, +120, +194, +204, +14, +136, +17, +114, +224, +192, +29, +156, +222, +0, +118, +239, +170, +162, +12, +202, +218, +64, +209, +197, +15, +137, +134, +84, +25, +0, +105, +80, +4, +0, +182, +138, +239, +191, +231, +93, +101, +153, +0, +89, +254, +192, +48, +224, +74, +51, +155, +33, +233, +201, +220, +226, +225, +177, +12, +221, +115, +112, +128, +111, +156, +83, +134, +95, +85, +148, +59, +8, +231, +133, +204, +136, +33, +249, +65, +10, +12, +28, +241, +4, +122, +71, +96, +138, +139, +239, +18, +2, +94, +2, +236, +15, +236, +138, +47, +207, +90, +12, +92, +73, +146, +220, +131, +219, +31, +14, +166, +70, +16, +254, +186, +2, +92, +3, +20, +135, +255, +110, +205, +187, +103, +140, +21, +83, +233, +208, +133, +176, +170, +210, +167, +112, +218, +79, +35, +186, +225, +181, +138, +238, +126, +208, +128, +47, +199, +127, +143, +7, +216, +76, +241, +56, +5, +43, +227, +186, +21, +22, +177, +171, +11, +41, +89, +17, +159, +4, +156, +180, +180, +67, +124, +69, +239, +197, +151, +223, +181, +45, +102, +249, +24, +243, +75, +203, +227, +144, +252, +56, +147, +252, +90, +81, +193, +88, +251, +33, +233, +124, +51, +187, +49, +146, +111, +7, +110, +144, +147, +159, +58, +23, +192, +204, +150, +150, +116, +151, +153, +253, +177, +93, +65, +51, +75, +128, +87, +213, +186, +118, +156, +161, +156, +219, +79, +22, +192, +153, +146, +14, +76, +39, +174, +249, +225, +120, +105, +245, +123, +73, +213, +193, +4, +53, +239, +0, +37, +73, +171, +151, +189, +182, +34, +228, +5, +24, +34, +233, +235, +184, +33, +250, +54, +60, +234, +106, +21, +157, +235, +74, +96, +191, +216, +249, +97, +111, +224, +52, +185, +155, +248, +192, +122, +77, +156, +25, +183, +67, +116, +22, +223, +143, +222, +237, +134, +178, +252, +209, +16, +207, +140, +207, +113, +54, +240, +24, +240, +127, +228, +22, +31, +185, +107, +156, +9, +76, +174, +37, +80, +248, +15, +65, +15, +249, +197, +121, +1, +42, +167, +100, +169, +15, +0, +131, +184, +253, +79, +187, +57, +225, +218, +33, +200, +160, +81, +184, +178, +195, +241, +10, +146, +190, +32, +103, +196, +77, +150, +180, +6, +240, +25, +51, +123, +192, +204, +10, +61, +172, +122, +10, +60, +214, +192, +117, +184, +241, +97, +102, +240, +131, +175, +36, +179, +215, +93, +65, +153, +53, +112, +197, +228, +139, +49, +20, +143, +3, +118, +109, +115, +157, +243, +128, +73, +85, +121, +58, +17, +250, +86, +60, +104, +222, +225, +56, +129, +229, +47, +248, +92, +178, +69, +232, +16, +246, +0, +156, +175, +90, +26, +239, +176, +147, +139, +175, +28, +95, +200, +193, +153, +180, +101, +113, +238, +65, +75, +92, +107, +224, +243, +248, +50, +238, +25, +58, +92, +190, +149, +9, +144, +242, +77, +182, +201, +166, +199, +171, +251, +70, +221, +122, +186, +209, +255, +164, +161, +163, +154, +66, +62, +69, +64, +173, +218, +150, +150, +172, +203, +231, +113, +5, +67, +49, +192, +180, +146, +8, +157, +19, +36, +189, +40, +233, +216, +232, +65, +87, +194, +233, +30, +107, +170, +154, +6, +220, +132, +236, +103, +248, +187, +2, +231, +163, +143, +2, +251, +153, +89, +11, +57, +53, +120, +199, +71, +74, +186, +84, +253, +126, +101, +23, +201, +89, +180, +189, +233, +55, +226, +179, +186, +178, +77, +158, +69, +129, +183, +226, +170, +123, +195, +249, +39, +39, +244, +226, +226, +107, +198, +43, +168, +29, +210, +3, +120, +127, +148, +105, +217, +78, +146, +8, +158, +30, +28, +163, +190, +48, +115, +85, +163, +214, +222, +230, +59, +251, +149, +14, +173, +56, +195, +102, +85, +185, +70, +125, +109, +224, +203, +102, +246, +148, +60, +42, +75, +30, +219, +155, +217, +93, +102, +214, +20, +48, +167, +84, +0, +51, +219, +71, +210, +141, +109, +198, +129, +255, +145, +180, +191, +164, +229, +128, +41, +230, +27, +110, +156, +80, +17, +189, +171, +158, +246, +60, +90, +244, +27, +64, +207, +124, +80, +113, +103, +215, +150, +246, +84, +214, +15, +236, +41, +215, +31, +253, +190, +87, +2, +148, +161, +76, +128, +189, +229, +54, +224, +218, +126, +132, +61, +19, +0, +247, +49, +120, +191, +194, +130, +62, +223, +5, +144, +135, +129, +91, +180, +157, +0, +120, +80, +244, +201, +52, +199, +161, +26, +130, +91, +76, +218, +107, +66, +186, +5, +253, +76, +139, +173, +51, +105, +219, +68, +218, +14, +5, +249, +59, +106, +132, +117, +112, +147, +124, +44, +200, +134, +128, +219, +35, +210, +110, +46, +44, +81, +128, +1, +11, +16, +97, +255, +46, +47, +16, +224, +183, +237, +66, +2, +246, +68, +128, +192, +175, +229, +59, +195, +110, +128, +43, +173, +55, +140, +180, +218, +200, +142, +134, +99, +37, +15, +138, +148, +205, +0, +252, +89, +210, +50, +102, +86, +196, +43, +190, +93, +210, +179, +234, +127, +10, +19, +37, +213, +117, +144, +106, +22, +96, +32, +48, +51, +240, +176, +0, +163, +229, +79, +243, +178, +54, +65, +20, +91, +248, +70, +189, +176, +136, +253, +82, +30, +179, +100, +211, +248, +191, +12, +119, +74, +218, +58, +230, +133, +173, +52, +97, +74, +40, +215, +56, +157, +171, +148, +89, +219, +45, +242, +10, +138, +145, +180, +134, +119, +93, +65, +30, +250, +113, +112, +65, +107, +168, +199, +44, +6, +237, +9, +228, +219, +192, +141, +150, +131, +60, +176, +205, +160, +161, +91, +23, +143, +85, +113, +247, +206, +231, +112, +167, +246, +7, +129, +143, +23, +229, +13, +215, +129, +13, +113, +255, +228, +190, +70, +216, +173, +213, +236, +23, +242, +125, +174, +190, +40, +143, +192, +243, +97, +57, +7, +225, +169, +140, +226, +74, +146, +100, +102, +175, +201, +21, +94, +233, +159, +164, +46, +158, +0, +176, +156, +164, +157, +36, +125, +215, +204, +46, +52, +179, +191, +200, +105, +253, +83, +228, +116, +255, +124, +254, +212, +235, +190, +201, +251, +190, +155, +39, +144, +146, +86, +250, +194, +204, +199, +90, +97, +2, +253, +132, +22, +101, +206, +165, +94, +247, +159, +151, +171, +0, +154, +5, +200, +119, +193, +153, +244, +178, +176, +143, +101, +118, +103, +204, +172, +229, +201, +154, +89, +186, +34, +110, +210, +45, +119, +211, +8, +211, +233, +218, +58, +125, +87, +246, +9, +201, +90, +202, +220, +225, +160, +2, +184, +33, +86, +195, +251, +225, +78, +79, +103, +70, +191, +81, +234, +163, +218, +107, +1, +86, +199, +121, +100, +47, +6, +135, +224, +97, +230, +87, +56, +176, +78, +1, +28, +150, +36, +201, +191, +170, +54, +230, +154, +95, +130, +220, +66, +198, +123, +115, +65, +48, +103, +102, +103, +15, +22, +56, +165, +179, +106, +175, +219, +173, +41, +217, +82, +56, +115, +62, +33, +179, +91, +11, +240, +63, +209, +231, +143, +234, +90, +178, +248, +164, +202, +194, +193, +165, +121, +206, +39, +182, +28, +12, +231, +152, +23, +129, +202, +200, +27, +184, +231, +94, +161, +7, +175, +112, +147, +219, +120, +250, +89, +17, +211, +113, +191, +242, +50, +223, +130, +145, +120, +184, +168, +255, +7, +124, +63, +250, +132, +202, +56, +229, +165, +2, +224, +155, +94, +204, +10, +1, +62, +143, +219, +130, +62, +130, +219, +146, +75, +221, +182, +128, +47, +102, +38, +46, +109, +237, +205, +85, +2, +164, +129, +77, +15, +141, +227, +27, +107, +84, +102, +184, +3, +196, +101, +192, +213, +192, +173, +157, +10, +144, +29, +13, +211, +157, +186, +215, +142, +223, +58, +95, +200, +129, +192, +40, +51, +59, +72, +238, +121, +127, +63, +174, +218, +25, +216, +202, +26, +15, +110, +54, +7, +56, +55, +182, +24, +44, +213, +247, +197, +43, +123, +146, +204, +174, +175, +120, +244, +230, +199, +168, +182, +152, +84, +54, +194, +53, +226, +113, +206, +142, +215, +49, +13, +248, +58, +5, +222, +86, +184, +98, +115, +30, +144, +29, +13, +55, +162, +141, +106, +167, +82, +128, +76, +166, +109, +112, +187, +240, +159, +66, +144, +94, +234, +138, +154, +4, +40, +123, +207, +35, +228, +203, +239, +209, +242, +160, +71, +189, +49, +54, +59, +154, +150, +103, +101, +2, +44, +39, +105, +74, +24, +39, +95, +82, +15, +220, +191, +113, +162, +219, +43, +242, +73, +108, +223, +215, +146, +119, +255, +255, +148, +220, +28, +187, +189, +252, +171, +104, +200, +153, +50, +167, +52, +26, +141, +150, +13, +147, +122, +10, +220, +4, +127, +11, +62, +199, +127, +131, +254, +96, +6, +63, +163, +253, +238, +174, +59, +3, +159, +236, +165, +48, +63, +165, +131, +80, +241, +184, +71, +70, +41, +205, +163, +10, +101, +109, +96, +130, +34, +30, +217, +191, +45, +168, +38, +189, +180, +80, +0, +227, +21, +143, +35, +231, +123, +208, +205, +194, +228, +126, +5, +25, +90, +30, +197, +109, +51, +249, +126, +134, +82, +255, +102, +90, +89, +52, +228, +155, +54, +175, +209, +19, +1, +66, +149, +255, +79, +73, +194, +67, +128, +204, +182, +146, +157, +160, +211, +252, +192, +31, +149, +11, +35, +215, +171, +144, +80, +19, +84, +207, +78, +180, +152, +60, +8, +235, +66, +44, +68, +43, +240, +160, +86, +247, +21, +141, +253, +29, +212, +177, +76, +44, +189, +74, +163, +253, +87, +21, +30, +130, +155, +238, +235, +111, +132, +214, +90, +199, +105, +64, +97, +52, +31, +192, +130, +208, +246, +137, +170, +10, +14, +8, +33, +58, +230, +131, +225, +193, +18, +166, +1, +27, +149, +156, +111, +224, +211, +253, +47, +21, +157, +239, +147, +50, +94, +195, +97, +3, +16, +224, +123, +64, +173, +48, +80, +237, +42, +218, +61, +92, +124, +134, +118, +80, +230, +45, +56, +229, +103, +157, +246, +185, +235, +85, +120, +71, +209, +128, +82, +145, +255, +92, +122, +105, +39, +194, +109, +192, +47, +80, +17, +163, +56, +147, +119, +157, +184, +251, +22, +205, +88, +46, +95, +97, +35, +44, +156, +15, +152, +217, +24, +249, +110, +30, +117, +130, +217, +156, +42, +143, +220, +222, +86, +49, +101, +102, +235, +203, +125, +87, +218, +3, +231, +6, +78, +169, +226, +146, +225, +145, +119, +167, +81, +195, +205, +127, +64, +136, +181, +193, +41, +21, +231, +47, +167, +96, +119, +207, +94, +10, +48, +42, +238, +112, +185, +130, +115, +155, +70, +175, +55, +184, +27, +46, +225, +225, +194, +90, +62, +47, +96, +83, +96, +171, +65, +189, +120, +175, +17, +62, +76, +23, +103, +211, +230, +107, +144, +76, +243, +237, +199, +59, +114, +166, +123, +115, +33, +94, +65, +211, +210, +60, +107, +122, +63, +15, +167, +93, +47, +146, +41, +176, +88, +140, +96, +223, +47, +170, +16, +231, +147, +93, +142, +135, +140, +126, +53, +198, +144, +43, +147, +36, +217, +190, +174, +80, +217, +158, +240, +55, +114, +87, +205, +62, +110, +88, +216, +16, +134, +3, +191, +41, +41, +127, +169, +220, +17, +230, +127, +131, +244, +242, +77, +249, +146, +126, +155, +146, +252, +229, +136, +241, +122, +82, +246, +110, +129, +31, +199, +93, +21, +105, +72, +210, +253, +143, +62, +151, +75, +47, +117, +17, +173, +124, +5, +37, +230, +248, +221, +205, +172, +204, +30, +156, +170, +238, +170, +182, +34, +110, +139, +252, +96, +244, +27, +73, +235, +224, +49, +73, +222, +37, +143, +55, +89, +246, +248, +211, +167, +210, +213, +167, +156, +47, +124, +139, +220, +220, +178, +167, +156, +71, +242, +100, +144, +147, +138, +144, +46, +195, +250, +54, +209, +138, +225, +187, +35, +5, +120, +158, +91, +78, +76, +42, +119, +197, +125, +205, +202, +238, +94, +102, +246, +2, +240, +160, +60, +176, +230, +147, +114, +111, +187, +227, +242, +117, +230, +202, +44, +46, +223, +23, +163, +28, +49, +0, +205, +138, +6, +246, +142, +54, +121, +183, +192, +85, +186, +211, +241, +152, +52, +59, +39, +73, +242, +207, +18, +23, +209, +97, +120, +200, +144, +246, +243, +77, +60, +250, +238, +125, +109, +51, +22, +151, +157, +91, +34, +192, +103, +66, +216, +242, +209, +19, +119, +201, +252, +10, +110, +7, +104, +241, +152, +171, +41, +192, +188, +18, +1, +150, +160, +93, +172, +50, +224, +140, +248, +238, +11, +183, +149, +173, +41, +192, +29, +148, +24, +176, +235, +20, +94, +16, +33, +164, +23, +98, +254, +0, +247, +228, +254, +66, +62, +189, +27, +254, +64, +186, +209, +242, +116, +92, +109, +63, +21, +231, +154, +151, +205, +19, +215, +85, +133, +243, +75, +33, +141, +7, +248, +66, +152, +225, +90, +214, +251, +145, +255, +1, +96, +15, +124, +19, +141, +79, +132, +67, +219, +51, +3, +106, +204, +121, +1, +98, +201, +53, +11, +248, +94, +7, +2, +167, +174, +223, +107, +23, +149, +41, +66, +213, +43, +56, +87, +206, +120, +248, +106, +221, +202, +212, +175, +3, +172, +183, +252, +42, +16, +32, +145, +220, +2, +42, +231, +135, +124, +218, +218, +108, +23, +156, +67, +218, +211, +181, +248, +25, +225, +246, +199, +150, +173, +38, +138, +162, +118, +111, +45, +233, +123, +114, +98, +90, +107, +0, +179, +230, +188, +41, +243, +202, +228, +106, +219, +147, +228, +195, +249, +115, +5, +121, +151, +55, +223, +156, +169, +180, +178, +177, +244, +35, +193, +99, +23, +183, +203, +63, +7, +183, +156, +206, +137, +201, +235, +56, +34, +190, +101, +65, +254, +51, +243, +211, +55, +169, +245, +21, +92, +133, +135, +134, +123, +84, +210, +165, +53, +90, +243, +237, +102, +182, +162, +153, +45, +110, +102, +75, +153, +217, +102, +102, +86, +22, +129, +101, +9, +21, +108, +210, +151, +23, +96, +153, +216, +229, +251, +8, +73, +239, +146, +84, +186, +69, +92, +167, +48, +179, +195, +205, +172, +197, +59, +179, +76, +65, +113, +171, +164, +31, +3, +95, +163, +87, +122, +159, +18, +84, +125, +134, +95, +54, +179, +41, +242, +207, +113, +240, +81, +210, +177, +236, +26, +141, +114, +96, +219, +134, +46, +196, +155, +30, +56, +133, +235, +1, +220, +55, +237, +213, +36, +73, +254, +129, +135, +2, +170, +77, +98, +201, +70, +212, +251, +149, +164, +29, +228, +225, +27, +150, +4, +102, +134, +219, +207, +201, +102, +214, +226, +51, +130, +135, +141, +155, +2, +60, +98, +102, +23, +203, +87, +74, +139, +2, +139, +153, +217, +213, +102, +246, +98, +167, +119, +51, +54, +98, +138, +165, +227, +251, +33, +113, +119, +211, +40, +32, +166, +224, +145, +185, +161, +11, +245, +190, +212, +186, +52, +123, +201, +204, +174, +206, +92, +100, +134, +220, +207, +96, +67, +73, +249, +29, +157, +242, +148, +143, +238, +5, +40, +64, +74, +187, +42, +10, +1, +249, +184, +124, +204, +56, +5, +215, +19, +95, +33, +233, +214, +186, +193, +176, +90, +16, +29, +209, +245, +153, +227, +145, +49, +239, +155, +85, +182, +156, +194, +29, +222, +47, +199, +215, +124, +132, +19, +211, +169, +12, +196, +236, +67, +49, +177, +121, +28, +53, +118, +124, +7, +134, +227, +97, +65, +175, +143, +114, +157, +175, +140, +162, +17, +222, +139, +71, +95, +25, +13, +252, +40, +238, +172, +86, +20, +150, +168, +99, +209, +120, +98, +23, +183, +207, +93, +32, +64, +238, +21, +24, +206, +144, +188, +186, +170, +92, +65, +61, +207, +0, +151, +212, +205, +95, +165, +76, +0, +184, +78, +210, +17, +192, +80, +51, +155, +155, +207, +131, +27, +31, +230, +198, +223, +112, +249, +254, +152, +107, +200, +45, +235, +157, +33, +255, +4, +34, +109, +175, +120, +167, +59, +20, +228, +95, +28, +15, +17, +250, +88, +244, +21, +115, +241, +133, +202, +79, +58, +217, +102, +174, +221, +103, +120, +179, +156, +212, +178, +147, +164, +27, +179, +39, +34, +236, +91, +109, +133, +228, +66, +188, +249, +0, +188, +187, +160, +227, +74, +81, +185, +160, +201, +34, +235, +103, +244, +128, +164, +71, +205, +172, +105, +87, +215, +168, +108, +101, +51, +219, +34, +87, +246, +81, +121, +56, +225, +108, +222, +181, +204, +236, +92, +249, +150, +229, +157, +9, +208, +41, +204, +108, +186, +114, +33, +192, +146, +36, +249, +163, +220, +241, +169, +116, +183, +135, +158, +9, +144, +71, +204, +11, +118, +149, +43, +184, +107, +47, +104, +123, +21, +183, +124, +25, +73, +63, +144, +59, +186, +117, +20, +0, +163, +87, +204, +234, +111, +201, +215, +126, +199, +119, +90, +176, +23, +161, +225, +182, +149, +116, +184, +164, +163, +58, +158, +7, +170, +249, +9, +164, +251, +29, +231, +47, +208, +136, +115, +69, +23, +31, +42, +143, +81, +122, +171, +164, +1, +5, +59, +202, +62, +129, +151, +213, +188, +151, +145, +36, +201, +204, +150, +85, +249, +30, +101, +39, +202, +93, +60, +246, +105, +227, +101, +87, +75, +128, +137, +49, +17, +89, +60, +141, +47, +26, +179, +225, +77, +228, +155, +100, +53, +1, +15, +249, +243, +101, +249, +167, +184, +42, +205, +138, +232, +153, +102, +118, +103, +71, +146, +224, +230, +122, +112, +189, +255, +225, +192, +17, +184, +222, +15, +96, +203, +130, +252, +105, +56, +168, +22, +36, +73, +114, +111, +71, +23, +207, +84, +186, +23, +30, +103, +114, +42, +253, +81, +53, +246, +25, +80, +101, +11, +241, +166, +7, +238, +226, +241, +88, +146, +36, +175, +199, +202, +248, +95, +49, +39, +60, +171, +32, +239, +91, +114, +127, +45, +159, +187, +112, +82, +251, +75, +248, +82, +251, +245, +104, +136, +183, +1, +133, +27, +37, +2, +55, +69, +156, +177, +3, +241, +237, +132, +210, +191, +119, +22, +228, +77, +201, +242, +41, +250, +56, +71, +217, +229, +249, +88, +121, +76, +145, +147, +228, +61, +228, +74, +114, +63, +194, +21, +228, +49, +39, +223, +200, +85, +250, +136, +60, +102, +221, +94, +53, +31, +90, +33, +242, +99, +193, +228, +240, +27, +76, +47, +50, +71, +222, +9, +173, +38, +169, +40, +232, +97, +215, +206, +176, +237, +6, +163, +212, +51, +242, +245, +146, +243, +35, +105, +221, +106, +230, +222, +78, +124, +207, +243, +2, +12, +139, +46, +214, +228, +49, +39, +79, +144, +244, +247, +10, +150, +212, +142, +106, +213, +27, +12, +87, +127, +152, +152, +250, +160, +120, +117, +252, +36, +37, +38, +24, +124, +119, +135, +90, +91, +17, +226, +161, +227, +118, +3, +14, +141, +134, +221, +231, +201, +155, +159, +144, +92, +155, +113, +247, +93, +78, +210, +85, +146, +174, +167, +55, +65, +177, +126, +46, +31, +188, +110, +144, +116, +122, +153, +0, +125, +136, +248, +35, +223, +146, +43, +173, +202, +220, +62, +59, +97, +94, +142, +145, +180, +145, +153, +125, +37, +235, +145, +219, +174, +17, +166, +159, +105, +17, +173, +239, +101, +73, +91, +226, +27, +175, +103, +223, +249, +11, +102, +246, +72, +65, +254, +41, +69, +115, +134, +188, +0, +43, +0, +59, +201, +103, +64, +195, +36, +29, +26, +233, +45, +106, +118, +224, +36, +51, +251, +169, +92, +137, +53, +79, +254, +197, +204, +149, +211, +64, +58, +119, +138, +41, +104, +132, +115, +146, +36, +121, +58, +73, +146, +78, +140, +86, +101, +117, +63, +139, +7, +197, +107, +65, +91, +183, +223, +193, +198, +2, +119, +120, +252, +207, +69, +12, +199, +69, +120, +182, +147, +122, +178, +92, +178, +221, +112, +221, +240, +20, +92, +61, +55, +21, +143, +212, +86, +200, +148, +150, +116, +159, +60, +186, +127, +250, +183, +139, +164, +153, +248, +102, +60, +181, +145, +29, +142, +215, +149, +7, +178, +152, +41, +255, +156, +54, +149, +247, +92, +143, +154, +89, +37, +115, +18, +88, +84, +222, +209, +44, +33, +105, +91, +235, +100, +219, +128, +54, +21, +95, +8, +180, +13, +9, +4, +156, +131, +111, +51, +93, +20, +62, +108, +192, +23, +31, +26, +223, +111, +165, +107, +30, +190, +126, +152, +75, +38, +40, +78, +175, +4, +184, +0, +159, +227, +149, +50, +166, +163, +33, +190, +70, +47, +221, +188, +162, +226, +189, +226, +174, +74, +223, +61, +78, +102, +156, +4, +92, +139, +147, +223, +210, +191, +178, +70, +219, +145, +0, +99, +200, +108, +15, +95, +146, +167, +108, +105, +86, +228, +228, +212, +177, +0, +87, +50, +191, +98, +8, +252, +219, +1, +231, +124, +141, +239, +132, +152, +218, +13, +138, +6, +163, +33, +146, +214, +143, +184, +181, +255, +158, +192, +141, +25, +63, +136, +149, +209, +92, +60, +58, +215, +67, +196, +230, +156, +37, +101, +150, +36, +118, +131, +205, +98, +160, +74, +170, +81, +114, +141, +216, +41, +114, +253, +80, +34, +119, +100, +107, +137, +190, +137, +175, +3, +143, +1, +126, +97, +102, +211, +240, +189, +176, +183, +55, +179, +239, +118, +35, +192, +235, +146, +100, +102, +227, +195, +27, +163, +10, +243, +36, +253, +195, +204, +62, +37, +39, +186, +236, +163, +154, +27, +237, +148, +34, +94, +193, +109, +241, +221, +143, +3, +78, +199, +89, +184, +101, +249, +135, +198, +200, +250, +191, +165, +83, +188, +232, +247, +63, +134, +155, +110, +199, +224, +102, +152, +251, +40, +137, +63, +29, +66, +236, +131, +7, +65, +120, +6, +103, +222, +20, +122, +91, +0, +155, +3, +71, +199, +255, +103, +81, +176, +15, +114, +42, +192, +36, +220, +6, +116, +60, +190, +236, +158, +75, +155, +136, +10, +25, +97, +46, +1, +90, +248, +67, +237, +144, +111, +3, +119, +203, +117, +126, +115, +163, +226, +147, +84, +192, +128, +195, +233, +61, +219, +73, +154, +3, +36, +145, +103, +45, +229, +182, +153, +31, +136, +0, +19, +114, +230, +185, +178, +137, +197, +242, +146, +206, +6, +70, +154, +217, +178, +192, +235, +102, +246, +132, +6, +176, +245, +204, +128, +190, +2, +51, +155, +36, +169, +251, +81, +111, +160, +2, +12, +4, +209, +78, +222, +18, +236, +234, +153, +113, +19, +243, +71, +128, +152, +51, +142, +53, +179, +116, +214, +52, +93, +161, +151, +158, +95, +11, +147, +45, +229, +142, +16, +199, +75, +26, +106, +102, +173, +90, +178, +78, +0, +188, +11, +143, +192, +53, +15, +183, +150, +79, +193, +189, +246, +11, +183, +38, +206, +76, +94, +54, +233, +234, +194, +153, +10, +175, +138, +142, +234, +80, +154, +85, +116, +45, +20, +64, +224, +71, +161, +246, +154, +37, +121, +28, +0, +0, +6, +68, +73, +68, +65, +84, +203, +162, +99, +203, +74, +190, +210, +219, +201, +25, +186, +43, +242, +46, +71, +255, +198, +28, +59, +227, +33, +104, +251, +72, +49, +221, +52, +194, +50, +205, +89, +19, +204, +236, +101, +32, +117, +134, +120, +222, +114, +123, +156, +100, +151, +102, +147, +243, +227, +121, +72, +93, +214, +185, +140, +192, +67, +0, +164, +127, +165, +131, +81, +21, +186, +121, +2, +239, +85, +179, +138, +110, +166, +114, +209, +155, +235, +160, +155, +207, +176, +79, +163, +22, +232, +248, +226, +221, +10, +208, +19, +44, +112, +1, +242, +109, +160, +111, +162, +64, +201, +206, +92, +3, +65, +40, +192, +11, +201, +77, +89, +1, +38, +75, +250, +16, +112, +147, +60, +86, +196, +9, +234, +231, +139, +13, +62, +128, +125, +99, +70, +244, +18, +238, +236, +186, +5, +174, +186, +155, +191, +219, +203, +189, +41, +17, +139, +146, +117, +99, +88, +94, +32, +2, +236, +22, +189, +106, +203, +12, +123, +192, +159, +97, +146, +36, +171, +1, +151, +69, +40, +176, +153, +225, +87, +62, +240, +81, +46, +166, +229, +181, +61, +232, +129, +49, +97, +170, +251, +52, +30, +60, +121, +39, +10, +180, +35, +56, +181, +171, +105, +56, +206, +111, +109, +222, +177, +0, +196, +134, +156, +101, +19, +144, +130, +188, +31, +143, +11, +111, +31, +195, +241, +240, +244, +252, +64, +7, +163, +84, +113, +245, +80, +187, +140, +102, +54, +37, +29, +142, +205, +236, +185, +210, +225, +56, +48, +19, +103, +70, +222, +128, +111, +27, +112, +111, +81, +195, +81, +15, +66, +68, +21, +10, +0, +28, +46, +247, +156, +253, +157, +156, +19, +178, +177, +138, +99, +16, +164, +202, +203, +218, +187, +246, +148, +33, +79, +235, +253, +155, +164, +125, +83, +102, +44, +190, +52, +107, +9, +17, +104, +102, +47, +69, +151, +253, +89, +124, +71, +142, +71, +37, +45, +5, +204, +105, +52, +26, +55, +213, +189, +158, +212, +250, +10, +158, +201, +209, +114, +171, +116, +190, +135, +200, +249, +134, +223, +144, +116, +29, +112, +186, +153, +181, +108, +27, +16, +72, +167, +100, +95, +192, +117, +144, +173, +44, +93, +10, +204, +42, +184, +107, +206, +128, +98, +77, +229, +234, +49, +224, +226, +136, +228, +249, +34, +25, +5, +232, +124, +89, +25, +133, +181, +236, +224, +162, +115, +11, +124, +66, +178, +192, +5, +24, +16, +58, +237, +182, +171, +176, +192, +159, +192, +160, +11, +128, +43, +178, +158, +2, +190, +221, +203, +74, +251, +94, +1, +30, +199, +232, +166, +112, +239, +40, +114, +132, +88, +4, +248, +100, +12, +94, +45, +246, +135, +236, +210, +236, +197, +14, +165, +76, +13, +209, +95, +147, +180, +165, +153, +237, +103, +102, +45, +182, +130, +136, +95, +118, +69, +28, +182, +108, +51, +212, +77, +63, +48, +27, +216, +77, +210, +137, +192, +167, +26, +141, +70, +21, +159, +188, +116, +33, +155, +111, +3, +157, +80, +242, +62, +43, +223, +100, +229, +166, +70, +163, +113, +94, +7, +229, +42, +5, +152, +6, +156, +12, +60, +26, +97, +94, +206, +167, +60, +48, +210, +55, +37, +237, +38, +105, +135, +120, +18, +85, +152, +9, +84, +111, +51, +20, +109, +96, +26, +190, +71, +213, +254, +120, +128, +43, +40, +8, +98, +149, +29, +55, +34, +255, +51, +217, +89, +78, +73, +253, +103, +226, +150, +217, +226, +0, +188, +33, +192, +47, +114, +105, +143, +0, +87, +20, +228, +205, +10, +176, +58, +190, +165, +96, +97, +168, +144, +76, +153, +35, +194, +177, +126, +173, +108, +122, +254, +21, +228, +131, +34, +62, +173, +42, +103, +101, +73, +102, +246, +172, +164, +175, +75, +58, +14, +200, +179, +175, +37, +245, +237, +30, +254, +163, +224, +143, +60, +157, +61, +215, +238, +43, +88, +68, +5, +13, +211, +204, +86, +207, +29, +127, +75, +78, +120, +41, +19, +114, +101, +249, +194, +183, +37, +234, +99, +101, +79, +136, +199, +169, +28, +212, +237, +100, +242, +79, +96, +20, +176, +183, +156, +69, +187, +135, +124, +127, +170, +249, +179, +56, +5, +78, +143, +0, +185, +233, +118, +211, +143, +0, +61, +113, +122, +197, +221, +200, +161, +117, +119, +136, +1, +87, +152, +231, +7, +166, +104, +25, +162, +113, +115, +205, +103, +226, +124, +75, +8, +234, +129, +118, +197, +235, +149, +164, +23, +145, +216, +14, +150, +187, +15, +127, +195, +204, +218, +46, +100, +254, +139, +17, +189, +219, +71, +99, +236, +190, +29, +39, +54, +95, +221, +102, +147, +205, +158, +11, +240, +18, +78, +231, +254, +4, +30, +145, +121, +46, +112, +122, +251, +210, +189, +19, +224, +183, +52, +239, +208, +244, +119, +10, +66, +194, +196, +19, +250, +115, +47, +174, +155, +239, +9, +159, +203, +241, +65, +31, +81, +193, +218, +176, +151, +104, +55, +41, +157, +209, +139, +139, +224, +142, +113, +23, +199, +104, +216, +20, +225, +167, +93, +63, +176, +166, +10, +44, +226, +3, +192, +65, +146, +14, +50, +179, +29, +149, +227, +38, +230, +5, +216, +5, +87, +187, +140, +151, +115, +137, +119, +150, +135, +131, +232, +22, +171, +201, +57, +203, +45, +86, +243, +252, +110, +62, +19, +204, +108, +83, +73, +199, +202, +249, +0, +127, +80, +197, +48, +219, +33, +222, +40, +74, +204, +43, +40, +30, +51, +179, +207, +246, +232, +130, +181, +144, +111, +132, +61, +211, +253, +228, +48, +76, +37, +33, +168, +179, +2, +60, +172, +206, +54, +64, +169, +53, +144, +225, +142, +240, +31, +150, +244, +211, +202, +74, +204, +172, +246, +88, +141, +7, +83, +223, +14, +143, +220, +148, +221, +255, +112, +124, +222, +217, +9, +24, +17, +10, +138, +174, +2, +168, +229, +5, +216, +12, +103, +205, +204, +195, +67, +193, +165, +206, +13, +7, +150, +228, +255, +6, +176, +224, +134, +98, +156, +145, +49, +187, +232, +220, +155, +95, +63, +240, +239, +36, +64, +225, +181, +138, +118, +120, +188, +40, +150, +90, +165, +106, +88, +160, +114, +181, +84, +128, +231, +37, +13, +197, +125, +217, +202, +111, +26, +223, +54, +228, +58, +224, +131, +192, +157, +148, +152, +88, +98, +182, +116, +41, +80, +180, +225, +94, +81, +254, +69, +146, +36, +249, +121, +24, +55, +138, +195, +9, +224, +122, +252, +59, +9, +31, +32, +224, +152, +178, +217, +16, +78, +231, +252, +10, +240, +108, +88, +74, +14, +163, +136, +156, +212, +9, +240, +200, +171, +235, +231, +210, +246, +111, +83, +102, +8, +174, +222, +31, +139, +179, +40, +6, +109, +119, +240, +50, +1, +214, +7, +190, +21, +180, +190, +107, +233, +161, +181, +181, +221, +133, +247, +3, +254, +26, +203, +184, +239, +2, +101, +11, +149, +65, +19, +224, +14, +220, +14, +212, +54, +162, +243, +2, +7, +48, +34, +73, +146, +99, +241, +112, +18, +80, +39, +100, +116, +143, +113, +166, +153, +125, +81, +153, +173, +67, +230, +43, +240, +128, +234, +134, +239, +4, +216, +242, +4, +6, +221, +96, +97, +102, +147, +67, +144, +194, +217, +86, +219, +87, +64, +245, +190, +86, +181, +131, +171, +151, +161, +80, +128, +120, +100, +31, +0, +174, +146, +7, +79, +45, +202, +115, +169, +164, +25, +56, +253, +243, +112, +60, +188, +104, +225, +180, +171, +182, +0, +177, +49, +214, +49, +242, +37, +217, +57, +114, +171, +88, +139, +207, +113, +96, +17, +249, +194, +229, +10, +73, +7, +68, +222, +71, +59, +21, +160, +15, +192, +59, +241, +240, +110, +215, +224, +134, +232, +158, +206, +144, +113, +95, +211, +202, +207, +112, +186, +220, +113, +229, +93, +114, +234, +93, +239, +220, +53, +42, +144, +13, +23, +252, +180, +153, +109, +43, +143, +162, +176, +178, +164, +7, +240, +141, +178, +6, +20, +48, +181, +107, +164, +237, +1, +143, +71, +211, +53, +202, +94, +193, +66, +44, +68, +214, +213, +107, +164, +138, +87, +199, +115, +139, +172, +97, +153, +114, +187, +72, +250, +152, +153, +13, +56, +194, +175, +36, +41, +214, +119, +69, +40, +221, +38, +14, +87, +229, +221, +77, +187, +56, +196, +131, +1, +224, +189, +193, +7, +232, +138, +226, +61, +224, +87, +128, +239, +89, +50, +162, +91, +231, +247, +62, +116, +242, +10, +98, +58, +254, +74, +12, +92, +93, +161, +111, +66, +210, +104, +52, +58, +153, +82, +175, +40, +247, +49, +127, +162, +91, +1, +6, +58, +39, +76, +215, +134, +83, +43, +115, +13, +162, +0, +105, +216, +175, +90, +228, +230, +193, +16, +224, +165, +248, +237, +142, +37, +159, +21, +32, +73, +146, +35, +147, +36, +249, +42, +109, +246, +177, +11, +76, +146, +219, +19, +187, +254, +254, +179, +243, +129, +159, +152, +217, +98, +146, +198, +180, +139, +172, +102, +102, +179, +229, +83, +176, +29, +186, +21, +160, +9, +49, +25, +189, +153, +26, +4, +149, +88, +154, +189, +212, +115, +139, +10, +176, +103, +244, +112, +237, +54, +76, +109, +196, +252, +177, +183, +161, +100, +147, +36, +89, +58, +24, +144, +133, +58, +191, +156, +16, +75, +225, +91, +17, +118, +30, +143, +176, +77, +197, +47, +0, +39, +214, +205, +223, +141, +191, +113, +217, +103, +56, +85, +29, +152, +106, +26, +141, +70, +199, +46, +94, +149, +2, +0, +115, +85, +28, +246, +161, +231, +40, +123, +2, +35, +213, +27, +83, +77, +231, +2, +224, +142, +108, +43, +106, +144, +121, +3, +165, +160, +63, +174, +192, +160, +134, +138, +174, +18, +224, +28, +10, +156, +83, +231, +215, +197, +183, +193, +245, +125, +149, +49, +203, +7, +235, +226, +123, +2, +119, +38, +73, +242, +158, +249, +126, +241, +16, +96, +85, +170, +20, +201, +11, +177, +16, +131, +132, +255, +15, +171, +18, +3, +71, +4, +162, +61, +172, +0, +0, +0, +0, +73, +69, +78, +68, +174, +66, +96, +130, +}; diff --git a/assets/Fonts/exo2.sv.png b/assets/Fonts/exo2.sv.png new file mode 100644 index 0000000..72f4dfb Binary files /dev/null and b/assets/Fonts/exo2.sv.png differ diff --git a/assets/Fonts/exo2.sv.png.flags b/assets/Fonts/exo2.sv.png.flags new file mode 100644 index 0000000..226e8a3 --- /dev/null +++ b/assets/Fonts/exo2.sv.png.flags @@ -0,0 +1,2 @@ +filter=false +gen_mipmaps=false diff --git a/assets/images/empty.png b/assets/images/empty.png new file mode 100644 index 0000000..88b3f7a Binary files /dev/null and b/assets/images/empty.png differ diff --git a/assets/images/green_space_things.png b/assets/images/green_space_things.png new file mode 100644 index 0000000..b0a8076 Binary files /dev/null and b/assets/images/green_space_things.png differ diff --git a/images/info.png b/assets/images/info.png similarity index 75% rename from images/info.png rename to assets/images/info.png index 59070ba..4b5ae36 100644 Binary files a/images/info.png and b/assets/images/info.png differ diff --git a/assets/images/menuBG.png b/assets/images/menuBG.png new file mode 100755 index 0000000..d8e1a63 Binary files /dev/null and b/assets/images/menuBG.png differ diff --git a/assets/images/menuBG_dark.png b/assets/images/menuBG_dark.png new file mode 100644 index 0000000..dedd814 Binary files /dev/null and b/assets/images/menuBG_dark.png differ diff --git a/assets/images/menuBG_grey.png b/assets/images/menuBG_grey.png new file mode 100644 index 0000000..9e730de Binary files /dev/null and b/assets/images/menuBG_grey.png differ diff --git a/images/next.png b/assets/images/next.png similarity index 95% rename from images/next.png rename to assets/images/next.png index 06f132b..c0322f1 100644 Binary files a/images/next.png and b/assets/images/next.png differ diff --git a/assets/images/next_h.png b/assets/images/next_h.png new file mode 100755 index 0000000..edf5f0d Binary files /dev/null and b/assets/images/next_h.png differ diff --git a/assets/images/no_image.png b/assets/images/no_image.png new file mode 100755 index 0000000..1c3bce7 Binary files /dev/null and b/assets/images/no_image.png differ diff --git a/images/prev.png b/assets/images/prev.png similarity index 95% rename from images/prev.png rename to assets/images/prev.png index 8c25ef1..1cf2e5f 100644 Binary files a/images/prev.png and b/assets/images/prev.png differ diff --git a/assets/images/prev_h.png b/assets/images/prev_h.png new file mode 100755 index 0000000..f832736 Binary files /dev/null and b/assets/images/prev_h.png differ diff --git a/images/splash.png b/assets/images/splash.png similarity index 100% rename from images/splash.png rename to assets/images/splash.png diff --git a/assets/scenes/infoPanel.tscn b/assets/scenes/infoPanel.tscn new file mode 100644 index 0000000..633e991 --- /dev/null +++ b/assets/scenes/infoPanel.tscn @@ -0,0 +1,1019 @@ +[gd_scene load_steps=44 format=1] + +[ext_resource path="res://infoPanel.gd" type="Script" id=1] +[ext_resource path="res://assets/scenes/menuPanel_dark.tscn" type="PackedScene" id=2] +[ext_resource path="res://assets/Fonts/exo2.fnt" type="BitmapFont" id=3] +[ext_resource path="res://assets/images/empty.png" type="Texture" id=4] +[ext_resource path="res://buttonHandler.gd" type="Script" id=5] +[ext_resource path="res://assets/images/prev_h.png" type="Texture" id=6] +[ext_resource path="res://assets/images/prev.png" type="Texture" id=7] +[ext_resource path="res://assets/images/next_h.png" type="Texture" id=8] +[ext_resource path="res://assets/images/next.png" type="Texture" id=9] + +[sub_resource type="Animation" id=1] + +resource/name = "hide" +length = 0.2 +loop = false +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("Panel/prodImage:visibility/visible") +tracks/0/interp = 2 +tracks/0/imported = false +tracks/0/keys = { +"times": FloatArray( 0, 0.2 ), +"transitions": FloatArray( 1, 1 ), +"update": 0, +"values": [ true, false ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("Panel/prodImage:visibility/self_opacity") +tracks/1/interp = 2 +tracks/1/imported = false +tracks/1/keys = { +"times": FloatArray( 0, 0.2 ), +"transitions": FloatArray( 1, 1 ), +"update": 0, +"values": [ 1.0, 0.0 ] +} + +[sub_resource type="Animation" id=2] + +length = 0.2 +loop = false +step = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("Panel/prodImage:visibility/visible") +tracks/0/interp = 2 +tracks/0/imported = false +tracks/0/keys = { +"times": FloatArray( 0 ), +"transitions": FloatArray( 1 ), +"update": 0, +"values": [ true ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("Panel/prodImage:visibility/self_opacity") +tracks/1/interp = 2 +tracks/1/imported = false +tracks/1/keys = { +"times": FloatArray( 0, 0.2 ), +"transitions": FloatArray( 1, 1 ), +"update": 0, +"values": [ 0.0, 1.0 ] +} + +[sub_resource type="Theme" id=3] + +default_font = ExtResource( 3 ) + +[sub_resource type="StyleBoxTexture" id=4] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 +texture = ExtResource( 4 ) +margin/left = 0.0 +margin/right = 0.0 +margin/top = 0.0 +margin/bottom = 0.0 +expand_margin/left = 0.0 +expand_margin/right = 0.0 +expand_margin/top = 0.0 +expand_margin/bottom = 0.0 +draw_center = true + +[sub_resource type="StyleBoxTexture" id=5] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 +texture = ExtResource( 4 ) +margin/left = 0.0 +margin/right = 0.0 +margin/top = 0.0 +margin/bottom = 0.0 +expand_margin/left = 0.0 +expand_margin/right = 0.0 +expand_margin/top = 0.0 +expand_margin/bottom = 0.0 +draw_center = true + +[sub_resource type="StyleBoxTexture" id=6] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 +texture = ExtResource( 4 ) +margin/left = 0.0 +margin/right = 0.0 +margin/top = 0.0 +margin/bottom = 0.0 +expand_margin/left = 0.0 +expand_margin/right = 0.0 +expand_margin/top = 0.0 +expand_margin/bottom = 0.0 +draw_center = true + +[sub_resource type="StyleBoxEmpty" id=7] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 + +[sub_resource type="StyleBoxEmpty" id=8] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 + +[sub_resource type="StyleBoxEmpty" id=9] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 + +[sub_resource type="StyleBoxTexture" id=10] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 +texture = ExtResource( 4 ) +margin/left = 0.0 +margin/right = 0.0 +margin/top = 0.0 +margin/bottom = 0.0 +expand_margin/left = 0.0 +expand_margin/right = 0.0 +expand_margin/top = 0.0 +expand_margin/bottom = 0.0 +draw_center = true + +[sub_resource type="StyleBoxEmpty" id=11] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 + +[sub_resource type="StyleBoxTexture" id=12] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 +texture = ExtResource( 4 ) +margin/left = 0.0 +margin/right = 0.0 +margin/top = 0.0 +margin/bottom = 0.0 +expand_margin/left = 0.0 +expand_margin/right = 0.0 +expand_margin/top = 0.0 +expand_margin/bottom = 0.0 +draw_center = true + +[sub_resource type="StyleBoxEmpty" id=13] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 + +[sub_resource type="StyleBoxEmpty" id=14] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 + +[sub_resource type="StyleBoxEmpty" id=15] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 + +[sub_resource type="StyleBoxTexture" id=16] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 +texture = ExtResource( 4 ) +margin/left = 0.0 +margin/right = 0.0 +margin/top = 0.0 +margin/bottom = 0.0 +expand_margin/left = 0.0 +expand_margin/right = 0.0 +expand_margin/top = 0.0 +expand_margin/bottom = 0.0 +draw_center = true + +[sub_resource type="StyleBoxEmpty" id=17] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 + +[sub_resource type="StyleBoxEmpty" id=18] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 + +[sub_resource type="StyleBoxEmpty" id=19] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 + +[sub_resource type="StyleBoxEmpty" id=20] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 + +[sub_resource type="StyleBoxEmpty" id=21] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 + +[sub_resource type="StyleBoxTexture" id=22] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 +texture = ExtResource( 4 ) +margin/left = 0.0 +margin/right = 0.0 +margin/top = 0.0 +margin/bottom = 0.0 +expand_margin/left = 0.0 +expand_margin/right = 0.0 +expand_margin/top = 0.0 +expand_margin/bottom = 0.0 +draw_center = true + +[sub_resource type="StyleBoxTexture" id=23] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 +texture = ExtResource( 4 ) +margin/left = 0.0 +margin/right = 0.0 +margin/top = 0.0 +margin/bottom = 0.0 +expand_margin/left = 0.0 +expand_margin/right = 0.0 +expand_margin/top = 0.0 +expand_margin/bottom = 0.0 +draw_center = true + +[sub_resource type="StyleBoxTexture" id=24] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 +texture = ExtResource( 4 ) +margin/left = 0.0 +margin/right = 0.0 +margin/top = 0.0 +margin/bottom = 0.0 +expand_margin/left = 0.0 +expand_margin/right = 0.0 +expand_margin/top = 0.0 +expand_margin/bottom = 0.0 +draw_center = true + +[sub_resource type="StyleBoxTexture" id=25] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 +texture = ExtResource( 4 ) +margin/left = 0.0 +margin/right = 0.0 +margin/top = 0.0 +margin/bottom = 0.0 +expand_margin/left = 0.0 +expand_margin/right = 0.0 +expand_margin/top = 0.0 +expand_margin/bottom = 0.0 +draw_center = true + +[sub_resource type="CanvasItemMaterial" id=26] + +shader/shading_mode = 0 + +[sub_resource type="StyleBoxTexture" id=27] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 +texture = ExtResource( 6 ) +margin/left = 0.0 +margin/right = 0.0 +margin/top = 0.0 +margin/bottom = 0.0 +expand_margin/left = 0.0 +expand_margin/right = 0.0 +expand_margin/top = 0.0 +expand_margin/bottom = 0.0 +draw_center = true + +[sub_resource type="StyleBoxTexture" id=28] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 +texture = ExtResource( 6 ) +margin/left = 0.0 +margin/right = 0.0 +margin/top = 0.0 +margin/bottom = 0.0 +expand_margin/left = 0.0 +expand_margin/right = 0.0 +expand_margin/top = 0.0 +expand_margin/bottom = 0.0 +draw_center = true + +[sub_resource type="StyleBoxTexture" id=29] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 +texture = ExtResource( 7 ) +margin/left = 0.0 +margin/right = 0.0 +margin/top = 0.0 +margin/bottom = 0.0 +expand_margin/left = 0.0 +expand_margin/right = 0.0 +expand_margin/top = 0.0 +expand_margin/bottom = 0.0 +draw_center = true + +[sub_resource type="StyleBoxTexture" id=30] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 +texture = ExtResource( 8 ) +margin/left = 0.0 +margin/right = 0.0 +margin/top = 0.0 +margin/bottom = 0.0 +expand_margin/left = 0.0 +expand_margin/right = 0.0 +expand_margin/top = 0.0 +expand_margin/bottom = 0.0 +draw_center = true + +[sub_resource type="StyleBoxTexture" id=31] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 +texture = ExtResource( 8 ) +margin/left = 0.0 +margin/right = 0.0 +margin/top = 0.0 +margin/bottom = 0.0 +expand_margin/left = 0.0 +expand_margin/right = 0.0 +expand_margin/top = 0.0 +expand_margin/bottom = 0.0 +draw_center = true + +[sub_resource type="StyleBoxTexture" id=32] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 +texture = ExtResource( 9 ) +margin/left = 0.0 +margin/right = 0.0 +margin/top = 0.0 +margin/bottom = 0.0 +expand_margin/left = 0.0 +expand_margin/right = 0.0 +expand_margin/top = 0.0 +expand_margin/bottom = 0.0 +draw_center = true + +[sub_resource type="StyleBoxTexture" id=33] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 +texture = ExtResource( 4 ) +margin/left = 0.0 +margin/right = 0.0 +margin/top = 0.0 +margin/bottom = 0.0 +expand_margin/left = 0.0 +expand_margin/right = 0.0 +expand_margin/top = 0.0 +expand_margin/bottom = 0.0 +draw_center = true + +[sub_resource type="StyleBoxEmpty" id=34] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 + +[node name="infoNode" type="Node"] + +script/script = ExtResource( 1 ) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] + +playback/process_mode = 1 +playback/default_blend_time = 0.0 +root/root = NodePath("..") +anims/hide = SubResource( 1 ) +anims/show = SubResource( 2 ) +playback/active = true +playback/speed = 1.0 +blend_times = [ ] +autoplay = "" + +[node name="Panel" parent="." instance=ExtResource( 2 )] + +anchor/right = 1 +anchor/bottom = 1 +theme/theme = SubResource( 3 ) +margin/right = 140.0 +margin/bottom = 90.0 + +[node name="titleLabel" type="Label" parent="Panel"] + +anchor/right = 1 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 0 +margin/left = 10.0 +margin/top = 10.0 +margin/right = 190.0 +margin/bottom = 30.0 +custom_colors/font_color_shadow = Color( 0, 0, 0, 1 ) +text = "Title" +align = 1 +valign = 1 +autowrap = true +clip_text = true +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="relTitleLabel" type="Label" parent="Panel"] + +anchor/top = 2 +anchor/right = 1 +anchor/bottom = 2 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 0 +margin/left = 10.0 +margin/top = 0.705882 +margin/right = 10.0 +margin/bottom = 0.745098 +custom_colors/font_color_shadow = Color( 0, 0, 0, 1 ) +text = "related Items" +autowrap = true +clip_text = true +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="closeButton" type="Button" parent="Panel"] + +anchor/top = 1 +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 10.0 +margin/top = 30.0 +margin/right = 10.0 +margin/bottom = 10.0 +custom_styles/hover = SubResource( 4 ) +custom_styles/disabled = SubResource( 5 ) +custom_styles/normal = SubResource( 6 ) +custom_colors/font_color_hover = Color( 0.72549, 1, 1, 1 ) +toggle_mode = false +enabled_focus_mode = 0 +shortcut = null +text = "close" +flat = false +script/script = ExtResource( 5 ) + +[node name="reloadButton" type="Button" parent="Panel"] + +anchor/left = 1 +anchor/right = 1 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 190.0 +margin/top = 10.0 +margin/right = 130.0 +margin/bottom = 30.0 +custom_styles/hover = SubResource( 4 ) +custom_styles/disabled = SubResource( 5 ) +custom_styles/normal = SubResource( 6 ) +custom_colors/font_color_hover = Color( 0.72549, 1, 1, 1 ) +toggle_mode = false +enabled_focus_mode = 0 +shortcut = null +text = "reload" +flat = false +script/script = ExtResource( 5 ) + +[node name="storeLabel" type="RichTextLabel" parent="Panel"] + +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 10.0 +margin/top = 90.0 +margin/right = 220.0 +margin/bottom = 150.0 +bbcode/enabled = true +bbcode/bbcode = "" +visible_characters = -1 +percent_visible = 1.0 + +[node name="storeImage" type="TextureButton" parent="Panel"] + +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 10.0 +margin/top = 40.0 +margin/right = 220.0 +margin/bottom = 80.0 +toggle_mode = false +enabled_focus_mode = 0 +shortcut = null +params/resize_mode = 1 +params/stretch_mode = 6 +script/script = ExtResource( 5 ) + +[node name="openButton" type="Button" parent="Panel"] + +anchor/left = 1 +anchor/right = 1 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 130.0 +margin/top = 10.0 +margin/right = 10.0 +margin/bottom = 30.0 +custom_styles/hover = SubResource( 4 ) +custom_styles/disabled = SubResource( 5 ) +custom_styles/normal = SubResource( 6 ) +custom_colors/font_color_hover = Color( 0.72549, 1, 1, 1 ) +toggle_mode = false +enabled_focus_mode = 0 +shortcut = null +text = "open in Browser" +flat = false +script/script = ExtResource( 5 ) + +[node name="ItemList" type="ItemList" parent="Panel"] + +anchor/right = 1 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 230.0 +margin/top = 40.0 +margin/right = 10.0 +margin/bottom = 150.0 +custom_styles/bg = SubResource( 7 ) + +[node name="infoLabel" type="RichTextLabel" parent="Panel"] + +anchor/right = 1 +anchor/bottom = 2 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 10.0 +margin/top = 160.0 +margin/right = 10.0 +margin/bottom = 0.686275 +custom_colors/selection_color = Color( 0.196078, 0.196078, 0.196078, 1 ) +custom_colors/font_color_selected = Color( 1, 1, 1, 1 ) +bbcode/enabled = true +bbcode/bbcode = "" +visible_characters = -1 +percent_visible = 1.0 + +[node name="prodList" type="ItemList" parent="Panel"] + +anchor/top = 2 +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 10.0 +margin/top = 0.745098 +margin/right = 10.0 +margin/bottom = 40.0 +custom_styles/bg = SubResource( 8 ) +custom_constants/line_separation = 0 + +[node name="prodImage" type="TextureButton" parent="Panel"] + +visibility/visible = false +visibility/self_opacity = 0.0 +anchor/right = 1 +anchor/bottom = 1 +hint/tooltip = "hint" +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 10.0 +margin/top = 40.0 +margin/right = 10.0 +margin/bottom = 40.0 +toggle_mode = false +enabled_focus_mode = 0 +shortcut = null +params/resize_mode = 1 +params/stretch_mode = 6 +script/script = ExtResource( 5 ) + +[node name="prodPanel" type="Panel" parent="Panel"] + +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 10.0 +margin/top = 160.0 +margin/right = 10.0 +margin/bottom = 40.0 +custom_styles/panel = SubResource( 9 ) + +[node name="prodTree" type="Tree" parent="Panel/prodPanel"] + +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 30.0 +margin/right = 0.0 +margin/bottom = 50.0 +custom_styles/title_button_normal = SubResource( 10 ) +custom_styles/bg = SubResource( 11 ) + +[node name="itemsCountButton" type="OptionButton" parent="Panel/prodPanel"] + +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 80.0 +margin/bottom = 20.0 +custom_styles/hover = SubResource( 12 ) +custom_styles/focus = SubResource( 13 ) +custom_styles/disabled = SubResource( 14 ) +custom_styles/normal = SubResource( 15 ) +custom_colors/font_color_hover = Color( 0.72549, 1, 1, 1 ) +toggle_mode = false +enabled_focus_mode = 0 +shortcut = null +flat = false +align = 0 +selected = -1 +items = [ ] +script/script = ExtResource( 5 ) + +[node name="sortbyButton" type="OptionButton" parent="Panel/prodPanel"] + +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 90.0 +margin/top = 0.0 +margin/right = 260.0 +margin/bottom = 20.0 +custom_styles/hover = SubResource( 16 ) +custom_styles/focus = SubResource( 17 ) +custom_styles/disabled = SubResource( 18 ) +custom_styles/normal = SubResource( 19 ) +custom_colors/font_color_hover = Color( 0.72549, 1, 1, 1 ) +toggle_mode = false +enabled_focus_mode = 0 +shortcut = null +flat = false +align = 0 +selected = -1 +items = [ ] +script/script = ExtResource( 5 ) + +[node name="searchLabel" type="Label" parent="Panel/prodPanel"] + +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 0 +margin/left = 270.0 +margin/top = 0.0 +margin/right = 330.0 +margin/bottom = 20.0 +custom_colors/font_color = Color( 0.457031, 0.457031, 0.457031, 1 ) +text = "search:" +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="searchEdit" type="LineEdit" parent="Panel/prodPanel"] + +anchor/right = 1 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 330.0 +margin/top = 0.0 +margin/right = 110.0 +margin/bottom = 20.0 +custom_styles/read_only = SubResource( 20 ) +custom_styles/focus = SubResource( 21 ) +custom_styles/normal = SubResource( 22 ) +placeholder/text = "..." +placeholder/alpha = 0.6 +focus_mode = 1 +caret/caret_blink = true +caret/caret_blink_speed = 0.65 + +[node name="searchButton" type="Button" parent="Panel/prodPanel"] + +anchor/left = 1 +anchor/right = 1 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 110.0 +margin/top = 0.0 +margin/right = 0.0 +margin/bottom = 20.0 +custom_styles/hover = SubResource( 23 ) +custom_styles/disabled = SubResource( 24 ) +custom_styles/normal = SubResource( 25 ) +custom_colors/font_color_hover = Color( 0.72549, 1, 1, 1 ) +toggle_mode = false +enabled_focus_mode = 0 +shortcut = null +text = "search" +flat = false +script/script = ExtResource( 5 ) + +[node name="prevButton" type="Button" parent="Panel/prodPanel"] + +editor/display_folded = true +material/material = SubResource( 26 ) +anchor/top = 1 +anchor/bottom = 1 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 40.0 +margin/right = 40.0 +margin/bottom = 0.0 +custom_styles/hover = SubResource( 27 ) +custom_styles/pressed = SubResource( 28 ) +custom_styles/normal = SubResource( 29 ) +toggle_mode = false +enabled_focus_mode = 0 +shortcut = null +flat = false +script/script = ExtResource( 5 ) + +[node name="TextureFrame" type="TextureFrame" parent="Panel/prodPanel/prevButton"] + +visibility/visible = false +visibility/opacity = 0.5 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 40.0 +margin/bottom = 40.0 +texture = ExtResource( 7 ) +expand = true +stretch_mode = 0 + +[node name="nextButton" type="Button" parent="Panel/prodPanel"] + +editor/display_folded = true +anchor/left = 1 +anchor/top = 1 +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 40.0 +margin/top = 40.0 +margin/right = 0.0 +margin/bottom = 0.0 +custom_styles/hover = SubResource( 30 ) +custom_styles/pressed = SubResource( 31 ) +custom_styles/normal = SubResource( 32 ) +toggle_mode = false +enabled_focus_mode = 0 +shortcut = null +flat = false +script/script = ExtResource( 5 ) + +[node name="TextureFrame" type="TextureFrame" parent="Panel/prodPanel/nextButton"] + +visibility/visible = false +visibility/opacity = 0.5 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 40.0 +margin/bottom = 40.0 +texture = ExtResource( 9 ) +expand = true +stretch_mode = 0 + +[node name="ProgressBar" type="ProgressBar" parent="Panel/prodPanel"] + +editor/display_folded = true +anchor/top = 1 +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 0 +margin/left = 50.0 +margin/top = 40.0 +margin/right = 50.0 +margin/bottom = 20.0 +custom_styles/fg = SubResource( 33 ) +custom_styles/bg = SubResource( 34 ) +range/min = 0.0 +range/max = 100.0 +range/step = 1.0 +range/page = 0.0 +range/value = 0.0 +range/exp_edit = false +range/rounded = false +percent/visible = false +__meta__ = { +"_edit_group_": true +} + +[node name="pLabel" type="Label" parent="Panel/prodPanel/ProgressBar"] + +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 0 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 0.0 +margin/bottom = 0.0 +custom_colors/font_color = Color( 0.72549, 1, 1, 1 ) +text = "... starting up, please be patient!" +align = 1 +valign = 1 +percent_visible = 1.0 +lines_skipped = 0 +max_lines_visible = -1 + +[node name="pagesSlider" type="HSlider" parent="Panel/prodPanel"] + +anchor/top = 1 +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 0 +margin/left = 50.0 +margin/top = 20.0 +margin/right = 50.0 +margin/bottom = 4.0 +range/min = 1.0 +range/max = 2.0 +range/step = 1.0 +range/page = 0.0 +range/value = 1.0 +range/exp_edit = false +range/rounded = false +tick_count = 0 +ticks_on_borders = false +focus_mode = 0 + +[connection signal="pressed" from="Panel/closeButton" to="Panel/closeButton" method="_on_closeButton_pressed"] + +[connection signal="pressed" from="Panel/reloadButton" to="Panel/reloadButton" method="_on_reloadButton_pressed"] + +[connection signal="meta_clicked" from="Panel/storeLabel" to="." method="_on_storeLabel_meta_clicked"] + +[connection signal="pressed" from="Panel/storeImage" to="Panel/storeImage" method="_on_storeImage_pressed"] + +[connection signal="pressed" from="Panel/openButton" to="Panel/openButton" method="_on_openButton_pressed"] + +[connection signal="focus_enter" from="Panel/ItemList" to="." method="_on_ItemList_focus_enter"] + +[connection signal="item_selected" from="Panel/ItemList" to="." method="_on_ItemList_item_selected"] + +[connection signal="meta_clicked" from="Panel/infoLabel" to="." method="_on_infoLabel_meta_clicked"] + +[connection signal="item_selected" from="Panel/prodList" to="." method="_on_prodList_item_selected"] + +[connection signal="pressed" from="Panel/prodImage" to="Panel/prodImage" method="_on_prodImage_pressed"] + +[connection signal="item_selected" from="Panel/prodPanel/prodTree" to="." method="_on_prodTree_item_selected"] + +[connection signal="text_entered" from="Panel/prodPanel/searchEdit" to="." method="_on_searchEdit_text_entered"] + +[connection signal="pressed" from="Panel/prodPanel/searchButton" to="Panel/prodPanel/searchButton" method="_on_searchButton_pressed"] + +[connection signal="button_down" from="Panel/prodPanel/prevButton" to="Panel/prodPanel/prevButton" method="_on_prevButton_button_down"] + +[connection signal="button_up" from="Panel/prodPanel/prevButton" to="Panel/prodPanel/prevButton" method="_on_prevButton_button_up"] + +[connection signal="pressed" from="Panel/prodPanel/prevButton" to="Panel/prodPanel/prevButton" method="_on_prevButton_pressed"] + +[connection signal="button_down" from="Panel/prodPanel/nextButton" to="Panel/prodPanel/nextButton" method="_on_nextButton_button_down"] + +[connection signal="button_up" from="Panel/prodPanel/nextButton" to="Panel/prodPanel/nextButton" method="_on_nextButton_button_up"] + +[connection signal="pressed" from="Panel/prodPanel/nextButton" to="Panel/prodPanel/nextButton" method="_on_nextButton_pressed"] + +[connection signal="input_event" from="Panel/prodPanel/pagesSlider" to="." method="_on_pagesSlider_input_event"] + + diff --git a/assets/scenes/menuPanel_dark.tscn b/assets/scenes/menuPanel_dark.tscn new file mode 100644 index 0000000..f206d4b --- /dev/null +++ b/assets/scenes/menuPanel_dark.tscn @@ -0,0 +1,257 @@ +[gd_scene load_steps=14 format=1] + +[ext_resource path="res://assets/images/menuBG_dark.png" type="Texture" id=1] + +[sub_resource type="StyleBoxEmpty" id=1] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 + +[sub_resource type="StyleBoxEmpty" id=2] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 + +[sub_resource type="StyleBoxEmpty" id=3] + +content_margin/left = -1.0 +content_margin/right = -1.0 +content_margin/top = -1.0 +content_margin/bottom = -1.0 + +[sub_resource type="AtlasTexture" id=4] + +atlas = ExtResource( 1 ) +region = Rect2( 0, 0, 100, 100 ) +margin = Rect2( 0, 0, 0, 0 ) + +[sub_resource type="AtlasTexture" id=5] + +atlas = ExtResource( 1 ) +region = Rect2( 100, 0, 100, 100 ) +margin = Rect2( 0, 0, 0, 0 ) + +[sub_resource type="AtlasTexture" id=6] + +atlas = ExtResource( 1 ) +region = Rect2( 100, 200, 100, 100 ) +margin = Rect2( 0, 0, 0, 0 ) + +[sub_resource type="AtlasTexture" id=7] + +atlas = ExtResource( 1 ) +region = Rect2( 0, 100, 100, 100 ) +margin = Rect2( 0, 0, 0, 0 ) + +[sub_resource type="AtlasTexture" id=8] + +atlas = ExtResource( 1 ) +region = Rect2( 100, 100, 100, 100 ) +margin = Rect2( 0, 0, 0, 0 ) + +[sub_resource type="AtlasTexture" id=9] + +atlas = ExtResource( 1 ) +region = Rect2( 200, 100, 100, 100 ) +margin = Rect2( 0, 0, 0, 0 ) + +[sub_resource type="AtlasTexture" id=10] + +atlas = ExtResource( 1 ) +region = Rect2( 200, 0, 100, 100 ) +margin = Rect2( 0, 0, 0, 0 ) + +[sub_resource type="AtlasTexture" id=11] + +atlas = ExtResource( 1 ) +region = Rect2( 200, 200, 100, 100 ) +margin = Rect2( 0, 0, 0, 0 ) + +[sub_resource type="AtlasTexture" id=12] + +atlas = ExtResource( 1 ) +region = Rect2( 0, 200, 100, 100 ) +margin = Rect2( 0, 0, 0, 0 ) + +[node name="Panel" type="Panel"] + +rect/min_size = Vector2( 80, 80 ) +focus/ignore_mouse = false +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 120.0 +margin/bottom = 120.0 +custom_styles/panelf = SubResource( 1 ) +custom_styles/panel = SubResource( 2 ) +custom_styles/panelnc = SubResource( 3 ) + +[node name="topLeft" type="TextureFrame" parent="."] + +visibility/opacity = 0.9 +visibility/light_mask = 0 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 0.0 +margin/right = 40.0 +margin/bottom = 40.0 +texture = SubResource( 4 ) +expand = true +stretch_mode = 0 + +[node name="topCenter" type="TextureFrame" parent="."] + +visibility/opacity = 0.9 +visibility/light_mask = 0 +anchor/right = 1 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 40.0 +margin/top = 0.0 +margin/right = 40.0 +margin/bottom = 40.0 +texture = SubResource( 5 ) +expand = true +stretch_mode = 0 + +[node name="bottomCenter" type="TextureFrame" parent="."] + +visibility/opacity = 0.9 +visibility/light_mask = 0 +anchor/top = 1 +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 40.0 +margin/top = 40.0 +margin/right = 40.0 +margin/bottom = 0.0 +texture = SubResource( 6 ) +expand = true +stretch_mode = 0 + +[node name="leftCenter" type="TextureFrame" parent="."] + +visibility/opacity = 0.9 +visibility/light_mask = 0 +anchor/bottom = 1 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 40.0 +margin/right = 40.0 +margin/bottom = 40.0 +texture = SubResource( 7 ) +expand = true +stretch_mode = 0 + +[node name="middleCenter" type="TextureFrame" parent="."] + +visibility/opacity = 0.9 +visibility/light_mask = 0 +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 40.0 +margin/top = 40.0 +margin/right = 40.0 +margin/bottom = 40.0 +texture = SubResource( 8 ) +expand = true +stretch_mode = 0 + +[node name="rightCenter" type="TextureFrame" parent="."] + +visibility/opacity = 0.9 +visibility/light_mask = 0 +anchor/left = 1 +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 40.0 +margin/top = 40.0 +margin/right = 0.0 +margin/bottom = 40.0 +texture = SubResource( 9 ) +expand = true +stretch_mode = 0 + +[node name="topRight" type="TextureFrame" parent="."] + +visibility/opacity = 0.9 +visibility/light_mask = 0 +anchor/left = 1 +anchor/right = 1 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 40.0 +margin/top = 0.0 +margin/right = 0.0 +margin/bottom = 40.0 +texture = SubResource( 10 ) +expand = true +stretch_mode = 0 + +[node name="bottomRight" type="TextureFrame" parent="."] + +visibility/opacity = 0.9 +visibility/light_mask = 0 +anchor/left = 1 +anchor/top = 1 +anchor/right = 1 +anchor/bottom = 1 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 40.0 +margin/top = 40.0 +margin/right = 0.0 +margin/bottom = 0.0 +texture = SubResource( 11 ) +expand = true +stretch_mode = 0 + +[node name="bottomLeft" type="TextureFrame" parent="."] + +visibility/opacity = 0.9 +visibility/light_mask = 0 +anchor/top = 1 +anchor/bottom = 1 +focus/ignore_mouse = true +focus/stop_mouse = true +size_flags/horizontal = 2 +size_flags/vertical = 2 +margin/left = 0.0 +margin/top = 40.0 +margin/right = 40.0 +margin/bottom = 0.0 +texture = SubResource( 12 ) +expand = true +stretch_mode = 0 + + diff --git a/buttonHandler.gd b/buttonHandler.gd index 4d1da3b..8303cb9 100644 --- a/buttonHandler.gd +++ b/buttonHandler.gd @@ -1,14 +1,54 @@ extends BaseButton var mainNode = null - +var parentName = "" + func _ready(): mainNode = get_node("/root/Node") - # print("path of " + self.get_name() + " => " + self.get_path()) - # print(self.get_name() + " is ready.") + parentName = get_parent().get_name() + pass + +func callPage(id, mainSearch): + + if (id >= 1): + if(mainSearch == true): + if(id <= mainNode.searchCreds.pages[1]): + mainNode.searchCreds.pages[0] = id + mainNode.setPagesText() + + mainNode.searchCreds.parseDetails = false + mainNode.runSearch() + mainNode.loadStatus = "... loading Page " + str(mainNode.searchCreds.pages[0]) + " of " + str(mainNode.searchCreds.pages[1]) + else: + if(id <= mainNode.infoCreds.pages[1]): + mainNode.searchCreds.pages[0] = id + get_parent().get_node("pagesSlider").set_value(id) + # setVal get_node("Panel/prodPanel/pagesSlider").get_val() + 1 + + get_parent().get_node("ProgressBar/pLabel").set_text("Page " + str(id) + " of " + str(mainNode.infoCreds.pages[1])) + mainNode.handleInfoPanel(false) + mainNode.searchCreds.parseDetails = true + mainNode.runSearch() + pass + +func callInfoPage(): + if(mainNode.infoCreds.storeInfo[3] != ""): + mainNode.handleInfoPanel(false) + mainNode.searchCreds.parseDetails = true + mainNode.runSearch() pass +func grabGoto(next): + var newGoto = [mainNode.searchCreds.pages[0], true] + if (parentName == "prodPanel"):newGoto = [mainNode.infoCreds.pages[0], false] + if (next == true):newGoto[0] += 1 + else:newGoto[0] -= 1 + return newGoto + func _on_getButton_pressed(): + mainNode.searchCreds.pages = [1, 1] + mainNode.setPagesText() + mainNode.searchCreds.parseDetails = false mainNode.runSearch() pass @@ -17,7 +57,6 @@ func _on_OptionButton_item_selected(ID): pass func _on_useSSL_btn_toggled(pressed): - # mainNode.setOptionsButton(pressed) mainNode.settings.useSSL = pressed pass @@ -30,23 +69,62 @@ func _on_infoButton_pressed(): pass func _on_nextButton_pressed(): - var cPages = mainNode.searchCreds.pages - cPages = [int(cPages[0]), int(cPages[1])] - if (cPages[0] + 1 <= cPages[1]): - cPages[0] += 1 - mainNode.searchCreds.pages[0] = str(cPages[0]) - mainNode.setPagesText() - mainNode.runSearch() + var goto = grabGoto(true) + callPage(goto[0], goto[1]) pass func _on_prevButton_pressed(): - var cPages = mainNode.searchCreds.pages - cPages = [int(cPages[0]), int(cPages[1])] - if (cPages[0] - 1 >= 1): - cPages[0] -= 1 - print("cPages=" + str(cPages)) + var goto = grabGoto(false) + callPage(goto[0], goto[1]) + pass + +func _on_nextButton_button_down(): + self.get_node("TextureFrame").show() + pass + +func _on_prevButton_button_down(): + self.get_node("TextureFrame").show() + pass + +func _on_nextButton_button_up(): + self.get_node("TextureFrame").hide() + pass + +func _on_prevButton_button_up(): + self.get_node("TextureFrame").hide() + pass + +func _on_bodyButton_pressed(): + mainNode.handleInfoPanel(true, false, "") + pass + +func _on_closeButton_pressed(): + mainNode.handleInfoPanel(false) + pass + +func _on_prodImage_pressed(): + mainNode.infoPanel.get_node("AnimationPlayer").queue("hide") + pass + +func _on_openButton_pressed(): + OS.shell_open(mainNode.addProtocoll(mainNode.settings.website)) + pass + +func _on_storeImage_pressed(): + if (mainNode.infoCreds.isStore == false && mainNode.infoCreds.storeInfo[3] != ""): - mainNode.searchCreds.pages[0] = str(cPages[0]) - mainNode.setPagesText() + mainNode.settings.website = mainNode.infoCreds.storeInfo[3] + mainNode.handleInfoPanel(false) + mainNode.infoCreds.isStore = true + mainNode.searchCreds.parseDetails = true mainNode.runSearch() pass + +func _on_reloadButton_pressed(): + callInfoPage() + pass + +func _on_searchButton_pressed(): + print("infoCreds.storeInfo=" + str(mainNode.infoCreds.storeInfo)) + callInfoPage() + pass diff --git a/changelog.txt b/changelog.txt index 70af28b..466924d 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,16 @@ +--> v 0.0.2-alpha-unstable +- *some* HUD improvements +- picked "search" instead of "call Featured Page" as preferred option (ty Mur!) +- shops that have no image will get a blank one (for shop search purposes) made by DariaLapin +- unloadable products that are still listed will not cause any error but will throw a message +- added a more detailed product and shop view +- added shop view search options (items per page, sort by and search keywords) +- product images can be zoomed by clicking on them +- the buttons "reload" & "show html body" are included for debugging reasons +- added Exo 2.0 font family by ndiscovered as new font (see LICENSE-addendum) +- project folder rearangement +- windows release is bundled with cURL (version: 7.56.1 - SSL enabled SSH enabled provided by: Viktor Szakáts) + --> v 0.0.1-pre-alpha-stable - initial release - brief rudimentary search and featured Items page listings diff --git a/curl/curl.exe b/curl/curl.exe old mode 100644 new mode 100755 diff --git a/curl/libcurl.dll b/curl/libcurl.dll old mode 100644 new mode 100755 diff --git a/engine.cfg b/engine.cfg index 0d3a622..299231b 100644 --- a/engine.cfg +++ b/engine.cfg @@ -3,7 +3,7 @@ name="SLMBrowser" main_scene="res://main.scn" disable_stdout=false -boot_splash="res://images/splash.png" +boot_splash="res://assets/images/splash.png" icon="res://icon.png" [autoload] @@ -12,6 +12,7 @@ debug="*res://debug.gd" [display] +height=600 width=800 [render] diff --git a/icon.png b/icon.png old mode 100644 new mode 100755 index c019ef6..6cac326 Binary files a/icon.png and b/icon.png differ diff --git a/icon.png.flags b/icon.png.flags old mode 100644 new mode 100755 diff --git a/icon.tex b/icon.tex index 21e2695..b179ac2 100644 Binary files a/icon.tex and b/icon.tex differ diff --git a/images/empty.png b/images/empty.png deleted file mode 100644 index 5ef37fd..0000000 Binary files a/images/empty.png and /dev/null differ diff --git a/images/green_space_things.png b/images/green_space_things.png deleted file mode 100644 index 1663fbb..0000000 Binary files a/images/green_space_things.png and /dev/null differ diff --git a/infoPanel.gd b/infoPanel.gd new file mode 100644 index 0000000..59bbf3a --- /dev/null +++ b/infoPanel.gd @@ -0,0 +1,87 @@ +extends Node + +var creds = { infoSpanned = false } + +var mainNode + +func _ready(): + mainNode = get_node("/root/Node") + mainNode.infoCreds.loaded = true + pass + +func _on_ItemList_item_selected(index): + + if (mainNode.infoCreds.infoImages.size() > index): + get_node("Panel/prodImage").set_normal_texture(mainNode.infoCreds.infoImages[index][2]) + get_node("Panel/prodImage").set_tooltip(mainNode.infoCreds.infoImages[index][0]) + get_node("Panel/ItemList").release_focus() + get_node("Panel/ItemList").unselect(index) + get_node("AnimationPlayer").queue("show") + pass + +func _on_prodList_item_selected(index): + + if (mainNode.infoCreds.relatedItems.size() > index): + mainNode.settings.website = mainNode.infoCreds.relatedItems[index][3] + mainNode.handleInfoPanel(false) + + mainNode.searchCreds.parseDetails = true + mainNode.runSearch() + pass + +func _on_ItemList_focus_enter(): + get_node("Panel/ItemList").release_focus() + pass + +func _on_infoLabel_meta_clicked(meta): + if (meta.begins_with("http") == true): + OS.shell_open(meta) + else: + mainNode.settings.website = meta + mainNode.handleInfoPanel(false) + + mainNode.infoCreds.isStore = false + mainNode.searchCreds.parseDetails = true + mainNode.runSearch() + pass + +func _on_storeLabel_meta_clicked(meta): + OS.shell_open(meta) + pass + +func _on_prodTree_item_selected(): + var selMeta = get_node("Panel/prodPanel/prodTree").get_selected().get_metadata(0) + + if (selMeta[1] == "si"): + mainNode.settings.website = mainNode.infoCreds.shopItems[selMeta[0]][1] + mainNode.handleInfoPanel(false) + + mainNode.infoCreds.isStore = false + mainNode.searchCreds.parseDetails = true + mainNode.runSearch() + pass + +func _on_searchEdit_text_entered(text): + if (text != ""): + # print("text=" + str(text)) + + mainNode.handleInfoPanel(false) + mainNode.infoCreds.isStore = true + mainNode.searchCreds.parseDetails = true + mainNode.runSearch() + get_node("Panel/prodPanel/searchEdit").release_focus() + pass + +func _on_pagesSlider_input_event(ev): + var setVal = -1 + + if (Input.get_mouse_button_mask() == 1): + if (ev.type == InputEvent.MOUSE_MOTION): + setVal = get_node("Panel/prodPanel/pagesSlider").get_val() + get_node("Panel/prodPanel/ProgressBar/pLabel").set_text("Page " + str(setVal) + " of " + str(mainNode.infoCreds.pages[1])) + + if (ev.is_pressed() == false && ev.type == InputEvent.MOUSE_BUTTON): + mainNode.handleInfoPanel(false) + mainNode.searchCreds.parseDetails = true + mainNode.runSearch() + pass \ No newline at end of file diff --git a/main.gd b/main.gd index 9d712f4..eeac132 100644 --- a/main.gd +++ b/main.gd @@ -3,14 +3,15 @@ extends Node var checkList = ["secondlife.com", "id.secondlife.com", "marketplace.secondlife.com"] var online = false var firstStart = true +var oldSize = Vector2(0, 0) var myVersion = { appName = Globals.get("application/name"), major = 0, minor = 0, - patch = 1, - status = "pre-alpha", - revision = "stable", + patch = 2, + status = "alpha", + revision = "unstable", string = "", url = "https://github.com/ThinkOutsideTheCubicle/SLMBrowser/", licenseString = "" @@ -24,13 +25,15 @@ var settings = { curlCache = "", cacheFolder = "", useSSL = false, - basicImg = load("res://images/empty.png"), - infoImg = load("res://images/info.png"), + basicImg = load("res://assets/images/empty.png"), + nullImg = load("res://assets/images/no_image.png"), + infoImg = load("res://assets/images/info.png"), mpImg = null, lastAnim = "", infoImageSize_old = Vector2(0, 0), infoImageSize_new = Vector2(0, 0), infoImage_zoomed = false, + infoImage_treeID = -1, featuredLink = "marketplace.secondlife.com", website = "" } @@ -45,6 +48,8 @@ var pMenuSize var searchCreds = { loaded = false, + parseDetails = false, + mainSearchSubmitID = 0, pages = [1, 1], # [current, max] featuredItemList = [], # [prodName, prodLink, imageLink, price, storeName, storeLink] featuredItemImages = [], @@ -59,7 +64,14 @@ var searchCreds = { filter_fItems = ['

Featured Items

', '
'], filter_sortBy = ['