diff --git a/WallpaperMaker.Avalonia/MainWindow.axaml b/WallpaperMaker.Avalonia/MainWindow.axaml
index ae2e390..6a89dbe 100644
--- a/WallpaperMaker.Avalonia/MainWindow.axaml
+++ b/WallpaperMaker.Avalonia/MainWindow.axaml
@@ -39,6 +39,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/WallpaperMaker.Avalonia/MainWindow.axaml.cs b/WallpaperMaker.Avalonia/MainWindow.axaml.cs
index 14afbc7..1429ef7 100644
--- a/WallpaperMaker.Avalonia/MainWindow.axaml.cs
+++ b/WallpaperMaker.Avalonia/MainWindow.axaml.cs
@@ -25,6 +25,8 @@ public partial class MainWindow : Window
private Pallet? _activePalette;
private SKBitmap? _lastBitmap;
private WallpaperConfig _config = WallpaperConfig.CreateDefault();
+ private Pallet? _presetGeneratedPalette; // Cached preset-matched palette
+ private bool _usePresetColors = false; // Toggle state
private const string DefaultPalletJson = """
{
@@ -92,10 +94,21 @@ private void InitFormElements()
_pallets.AddRange(Utilities.UnpackExternalColorPallets());
RefreshPaletteComboBox();
+ RefreshStylePresetComboBox();
DetectResolution();
UpdateMultisamplingList();
}
+ private void RefreshStylePresetComboBox()
+ {
+ CbStyle.Items.Clear();
+ foreach (var preset in StylePresets.All)
+ CbStyle.Items.Add(preset);
+
+ if (StylePresets.All.Count > 0)
+ CbStyle.SelectedIndex = 0;
+ }
+
private void DetectResolution()
{
var screen = Screens.ScreenFromWindow(this) ?? Screens.Primary;
@@ -182,12 +195,31 @@ private async void BtnGenerate_Click(object? sender, RoutedEventArgs e)
_lastBitmap?.Dispose();
_lastBitmap = await Task.Run(() =>
{
- using var gen = new Generator(_activePalette, w, h, ms, _config);
+ // Select the appropriate palette based on toggle state
+ Pallet paletteToUse = (_usePresetColors && _presetGeneratedPalette != null)
+ ? _presetGeneratedPalette
+ : _activePalette!;
+
+ using var gen = new Generator(paletteToUse, w, h, ms, _config);
return gen.Generate(_config);
});
ImgPreview.Source = SKBitmapToAvaloniaBitmap(_lastBitmap);
- TxtStatus.Text = $"Generated {w}x{h} wallpaper.";
+
+ // Score the generated wallpaper
+ int qualityScore = QualityScorer.ScoreWallpaper(_lastBitmap, _activePalette, _config);
+ var report = QualityScorer.GenerateReport(_lastBitmap, _activePalette, _config);
+
+ // Format status with quality score
+ string scoreIndicator = qualityScore switch
+ {
+ >= 75 => "Excellent",
+ >= 60 => "Good",
+ >= 50 => "Fair",
+ _ => "Below Average"
+ };
+
+ TxtStatus.Text = $"Generated {w}x{h} wallpaper. Quality: {scoreIndicator} ({qualityScore}/100)";
}
catch (Exception ex)
{
@@ -296,6 +328,67 @@ private void CbPalette_SelectionChanged(object? sender, SelectionChangedEventArg
_activePalette = item.Pallet;
}
+ private void CbStyle_SelectionChanged(object? sender, SelectionChangedEventArgs e)
+ {
+ if (CbStyle.SelectedItem is StylePreset preset)
+ {
+ // Apply the preset's configuration
+ _config = new WallpaperConfig
+ {
+ Background = preset.Config.Background,
+ ShapeFill = preset.Config.ShapeFill,
+ MinOpacity = preset.Config.MinOpacity,
+ MaxOpacity = preset.Config.MaxOpacity,
+ EnableStrokes = preset.Config.EnableStrokes,
+ StrokeWidth = preset.Config.StrokeWidth,
+ SaturationLevel = preset.RecommendedSaturation,
+ ApplyQualityConstraints = preset.Config.ApplyQualityConstraints,
+ MinimumBackgroundShapeContrast = preset.Config.MinimumBackgroundShapeContrast,
+ BackgroundTone = preset.Config.BackgroundTone,
+ Shapes = new List(preset.Config.Shapes)
+ };
+
+ // Auto-generate a harmonically appropriate palette
+ _presetGeneratedPalette = preset.Config.BackgroundTone == BackgroundTone.PreferDark
+ ? ColorTheory.GenerateDarkAccentPalette($"Auto: {preset.Name}")
+ : ColorTheory.GeneratePaletteWithConstraints(
+ preset.RecommendedHarmony,
+ $"Auto: {preset.Name}",
+ preset.RecommendedSaturation);
+
+ // Set default to use preset colors
+ _activePalette = _presetGeneratedPalette;
+ _usePresetColors = true;
+
+ // Enable and check the toggle
+ if (ChkUsePresetColors != null)
+ {
+ ChkUsePresetColors.IsEnabled = true;
+ ChkUsePresetColors.IsChecked = true;
+ }
+
+ TxtStatus.Text = $"Loaded style: {preset.Name} — using preset-matched colors";
+ }
+ else
+ {
+ // No preset selected, disable the toggle
+ if (ChkUsePresetColors != null)
+ ChkUsePresetColors.IsEnabled = false;
+ }
+ }
+
+ private void ChkUsePresetColors_Checked(object? sender, RoutedEventArgs e)
+ {
+ _usePresetColors = true;
+ TxtStatus.Text = "Using preset-matched colors for generation";
+ }
+
+ private void ChkUsePresetColors_Unchecked(object? sender, RoutedEventArgs e)
+ {
+ _usePresetColors = false;
+ TxtStatus.Text = "Using selected palette (preset shapes only)";
+ }
+
private static Bitmap SKBitmapToAvaloniaBitmap(SKBitmap skBitmap)
{
using var image = SKImage.FromBitmap(skBitmap);
diff --git a/WallpaperMaker.Avalonia/SettingsWindow.axaml b/WallpaperMaker.Avalonia/SettingsWindow.axaml
index 1a57bc5..bd48bab 100644
--- a/WallpaperMaker.Avalonia/SettingsWindow.axaml
+++ b/WallpaperMaker.Avalonia/SettingsWindow.axaml
@@ -49,12 +49,6 @@
-
-
-
-
-
-
diff --git a/WallpaperMaker.Avalonia/SettingsWindow.axaml.cs b/WallpaperMaker.Avalonia/SettingsWindow.axaml.cs
index d458f12..f4d2cc9 100644
--- a/WallpaperMaker.Avalonia/SettingsWindow.axaml.cs
+++ b/WallpaperMaker.Avalonia/SettingsWindow.axaml.cs
@@ -9,7 +9,6 @@ namespace WallpaperMaker.Avalonia;
public partial class SettingsWindow : Window
{
public WallpaperConfig? ResultConfig { get; private set; }
- public string? ResultSeed { get; private set; }
private readonly List _rows = new();
private bool _initialized;
@@ -24,8 +23,6 @@ private class ShapeRow
public SettingsWindow() : this(WallpaperConfig.CreateDefault()) { }
- public SettingsWindow(string currentSeed) : this(WallpaperConfig.FromSeed(currentSeed)) { }
-
public SettingsWindow(WallpaperConfig config)
{
InitializeComponent();
@@ -34,7 +31,6 @@ public SettingsWindow(WallpaperConfig config)
BuildShapeRows(config);
LoadConfigSettings(config);
_initialized = true;
- UpdateSeed();
}
private void PopulateFillModes()
@@ -112,7 +108,6 @@ private ShapeRow CreateShapeRow(ShapeConfig shapeConfig)
bool enabled = checkBox.IsChecked == true;
amountSlider.IsEnabled = enabled;
sizeSlider.IsEnabled = enabled;
- if (_initialized) UpdateSeed();
};
var grid = new Grid
@@ -184,15 +179,9 @@ public WallpaperConfig BuildConfig()
return config;
}
- private void UpdateSeed()
- {
- var config = BuildConfig();
- TbSeed.Text = config.ToSeed();
- }
-
private void AnySlider_Changed(object? sender, RangeBaseValueChangedEventArgs e)
{
- if (_initialized) UpdateSeed();
+ // Slider changed - configuration updated automatically
}
private void BtnDone_Click(object? sender, RoutedEventArgs e)
@@ -201,14 +190,12 @@ private void BtnDone_Click(object? sender, RoutedEventArgs e)
if (!anyEnabled) return;
ResultConfig = BuildConfig();
- ResultSeed = ResultConfig.ToSeed();
Close();
}
private void BtnCancel_Click(object? sender, RoutedEventArgs e)
{
ResultConfig = null;
- ResultSeed = null;
Close();
}
}
diff --git a/WallpaperMaker.Domain/ColorContrast.cs b/WallpaperMaker.Domain/ColorContrast.cs
new file mode 100644
index 0000000..af757ea
--- /dev/null
+++ b/WallpaperMaker.Domain/ColorContrast.cs
@@ -0,0 +1,145 @@
+using SkiaSharp;
+
+namespace WallpaperMaker.Domain;
+
+///
+/// WCAG 2.0 contrast calculations for ensuring visual clarity and accessibility.
+/// Provides tools for analyzing color contrast ratios and selecting colors with sufficient contrast.
+///
+public static class ColorContrast
+{
+ ///
+ /// WCAG contrast level classifications based on contrast ratio.
+ ///
+ public enum ContrastLevel
+ {
+ /// Enhanced contrast (7:1 or higher) - AAA level, best for small text
+ AAA,
+ /// Acceptable contrast (4.5:1 or higher) - AA level, standard for text
+ AA,
+ /// Low contrast (below 4.5:1) - may be hard to distinguish
+ Low
+ }
+
+ ///
+ /// Calculates the relative luminance of a color according to WCAG 2.0.
+ /// Used as the basis for contrast ratio calculations.
+ ///
+ /// The SKColor to analyze
+ /// Relative luminance (0.0 = darkest, 1.0 = brightest)
+ public static float GetRelativeLuminance(SKColor color)
+ {
+ float r = RgbToLinear(color.Red / 255f);
+ float g = RgbToLinear(color.Green / 255f);
+ float b = RgbToLinear(color.Blue / 255f);
+
+ return 0.2126f * r + 0.7152f * g + 0.0722f * b;
+ }
+
+ ///
+ /// Converts an sRGB value to linear RGB for luminance calculation.
+ ///
+ private static float RgbToLinear(float value)
+ {
+ if (value <= 0.03928f)
+ return value / 12.92f;
+ return (float)Math.Pow((value + 0.055f) / 1.055f, 2.4f);
+ }
+
+ ///
+ /// Calculates the contrast ratio between two colors according to WCAG 2.0.
+ ///
+ /// First color
+ /// Second color
+ /// Contrast ratio (1.0 = no contrast, 21.0 = maximum contrast)
+ public static float GetContrastRatio(SKColor color1, SKColor color2)
+ {
+ float lum1 = GetRelativeLuminance(color1);
+ float lum2 = GetRelativeLuminance(color2);
+
+ float lighter = Math.Max(lum1, lum2);
+ float darker = Math.Min(lum1, lum2);
+
+ return (lighter + 0.05f) / (darker + 0.05f);
+ }
+
+ ///
+ /// Classifies the contrast level between two colors.
+ ///
+ /// The contrast ratio to classify
+ /// ContrastLevel classification
+ public static ContrastLevel ClassifyContrast(float contrastRatio)
+ {
+ if (contrastRatio >= 7.0f)
+ return ContrastLevel.AAA;
+ if (contrastRatio >= 4.5f)
+ return ContrastLevel.AA;
+ return ContrastLevel.Low;
+ }
+
+ ///
+ /// Finds the color from a palette that has the highest contrast with a background color.
+ /// Ensures shapes will visually stand out from the background.
+ ///
+ /// The background color to contrast against
+ /// List of colors to choose from
+ /// Minimum acceptable contrast ratio (default 3.0 for visibility)
+ /// The color from palette with highest contrast, or first valid color if none meet minimum
+ public static SKColor FindContrastingColor(SKColor background, List palette, float minContrast = 3.0f)
+ {
+ if (palette.Count == 0)
+ return SKColors.Black;
+
+ SKColor bestColor = palette[0];
+ float bestContrast = GetContrastRatio(background, bestColor);
+
+ foreach (var color in palette)
+ {
+ float contrast = GetContrastRatio(background, color);
+ if (contrast > bestContrast)
+ {
+ bestContrast = contrast;
+ bestColor = color;
+ }
+ }
+
+ // Return best color even if it doesn't meet minimum
+ // (palette colors should be chosen by user/preset to work together)
+ return bestColor;
+ }
+
+ ///
+ /// Filters palette colors to only those with sufficient contrast against a background.
+ ///
+ /// The background color
+ /// List of candidate colors
+ /// Minimum required contrast ratio
+ /// Filtered list of colors meeting the contrast threshold
+ public static List FilterByContrast(SKColor background, List palette, float minContrast = 3.0f)
+ {
+ return palette
+ .Where(color => GetContrastRatio(background, color) >= minContrast)
+ .ToList();
+ }
+
+ ///
+ /// Calculates average contrast between a color and multiple background colors.
+ /// Useful for evaluating color suitability across varied compositions.
+ ///
+ /// The color to evaluate
+ /// List of background colors to test against
+ /// Average contrast ratio
+ public static float GetAverageContrast(SKColor color, List backgroundColors)
+ {
+ if (backgroundColors.Count == 0)
+ return 0f;
+
+ float totalContrast = 0f;
+ foreach (var bg in backgroundColors)
+ {
+ totalContrast += GetContrastRatio(color, bg);
+ }
+
+ return totalContrast / backgroundColors.Count;
+ }
+}
diff --git a/WallpaperMaker.Domain/ColorTheory.cs b/WallpaperMaker.Domain/ColorTheory.cs
index 52cff60..613ac3a 100644
--- a/WallpaperMaker.Domain/ColorTheory.cs
+++ b/WallpaperMaker.Domain/ColorTheory.cs
@@ -12,6 +12,20 @@ public enum ColorHarmony
Monochromatic
}
+///
+/// Saturation level for palette generation.
+/// Controls how vibrant or muted the colors appear.
+///
+public enum SaturationLevel
+{
+ /// Muted, pastel-like colors (40-55% saturation)
+ Low,
+ /// Normal, balanced colors (50-75% saturation)
+ Medium,
+ /// Vibrant, saturated colors (70-95% saturation)
+ High
+}
+
public static class ColorTheory
{
private static readonly Random Rng = new();
@@ -27,17 +41,7 @@ public static Pallet GeneratePalette(ColorHarmony harmony, string name)
public static Pallet GeneratePalette(ColorHarmony harmony, string name, float baseHue, float saturation, float lightness)
{
- var colors = harmony switch
- {
- ColorHarmony.Complementary => GenerateComplementary(baseHue, saturation, lightness),
- ColorHarmony.Analogous => GenerateAnalogous(baseHue, saturation, lightness),
- ColorHarmony.Triadic => GenerateTriadic(baseHue, saturation, lightness),
- ColorHarmony.SplitComplementary => GenerateSplitComplementary(baseHue, saturation, lightness),
- ColorHarmony.Tetradic => GenerateTetradic(baseHue, saturation, lightness),
- ColorHarmony.Monochromatic => GenerateMonochromatic(baseHue, saturation, lightness),
- _ => GenerateComplementary(baseHue, saturation, lightness)
- };
-
+ var colors = GenerateHarmonyColors(harmony, baseHue, saturation, lightness);
return new Pallet(name, colors);
}
@@ -48,6 +52,111 @@ public static Pallet GenerateRandomPalette(string name)
return GeneratePalette(harmony, name);
}
+ ///
+ /// Generates a palette with saturation level constraints for more controlled color output.
+ ///
+ public static Pallet GeneratePaletteWithConstraints(
+ ColorHarmony harmony,
+ string name,
+ SaturationLevel saturationLevel)
+ {
+ float hue = (float)(Rng.NextDouble() * 360);
+
+ // Adjust saturation based on level
+ float saturation = saturationLevel switch
+ {
+ SaturationLevel.Low => 0.4f + (float)Rng.NextDouble() * 0.15f, // 40-55%
+ SaturationLevel.High => 0.7f + (float)Rng.NextDouble() * 0.25f, // 70-95%
+ _ => 0.5f + (float)Rng.NextDouble() * 0.4f // 50-90% (Medium)
+ };
+
+ float lightness = 0.35f + (float)Rng.NextDouble() * 0.3f;
+
+ return GeneratePalette(harmony, name, hue, saturation, lightness);
+ }
+
+ ///
+ /// Generates a palette with both saturation and minimum contrast constraints.
+ /// Ensures colors in the palette have sufficient contrast with each other.
+ ///
+ public static Pallet GeneratePaletteWithConstraints(
+ ColorHarmony harmony,
+ string name,
+ float baseHue,
+ SaturationLevel saturationLevel,
+ float minContrastBetweenColors = 2.0f)
+ {
+ float saturation = saturationLevel switch
+ {
+ SaturationLevel.Low => 0.4f + (float)Rng.NextDouble() * 0.15f, // 40-55%
+ SaturationLevel.High => 0.7f + (float)Rng.NextDouble() * 0.25f, // 70-95%
+ _ => 0.5f + (float)Rng.NextDouble() * 0.4f // 50-90% (Medium)
+ };
+
+ float lightness = 0.35f + (float)Rng.NextDouble() * 0.3f;
+
+ var colors = GenerateHarmonyColors(harmony, baseHue, saturation, lightness);
+
+ // Filter colors to ensure minimum contrast between each pair
+ // Keep colors that have good contrast with existing ones
+ var constrainedColors = new List();
+ foreach (var color in colors)
+ {
+ bool hasGoodContrast = constrainedColors.Count == 0 ||
+ constrainedColors.All(c => ColorContrast.GetContrastRatio(color, c) >= minContrastBetweenColors);
+
+ if (hasGoodContrast)
+ constrainedColors.Add(color);
+ }
+
+ // Ensure we always have at least some colors
+ if (constrainedColors.Count == 0)
+ constrainedColors = colors;
+
+ return new Pallet(name, constrainedColors);
+ }
+
+ ///
+ /// Generates a palette with very dark base colors and bright complementary accents.
+ /// Intended for dark-background presets where shapes must pop as vivid highlights.
+ ///
+ public static Pallet GenerateDarkAccentPalette(string name)
+ {
+ float hue = (float)(Rng.NextDouble() * 360);
+ float sat = 0.75f + (float)Rng.NextDouble() * 0.20f; // 75–95%
+ float comp = (hue + 180) % 360;
+
+ return new Pallet(name, new List
+ {
+ HslToColor(hue, sat, 0.07f + (float)Rng.NextDouble() * 0.10f), // very dark
+ HslToColor(hue, sat * 0.8f, 0.13f + (float)Rng.NextDouble() * 0.08f), // dark
+ HslToColor(comp, sat, 0.60f + (float)Rng.NextDouble() * 0.20f), // bright accent
+ HslToColor(comp, sat * 0.9f, 0.72f + (float)Rng.NextDouble() * 0.13f), // lighter accent
+ HslToColor(hue, sat * 0.5f, 0.78f + (float)Rng.NextDouble() * 0.15f), // light neutral
+ });
+ }
+
+ ///
+ /// Helper method to generate harmony colors - extracted to support constraint generation.
+ ///
+ private static List GenerateHarmonyColors(
+ ColorHarmony harmony,
+ float hue,
+ float saturation,
+ float lightness)
+ {
+ return harmony switch
+ {
+ ColorHarmony.Complementary => GenerateComplementary(hue, saturation, lightness),
+ ColorHarmony.Analogous => GenerateAnalogous(hue, saturation, lightness),
+ ColorHarmony.Triadic => GenerateTriadic(hue, saturation, lightness),
+ ColorHarmony.SplitComplementary => GenerateSplitComplementary(hue, saturation, lightness),
+ ColorHarmony.Tetradic => GenerateTetradic(hue, saturation, lightness),
+ ColorHarmony.Monochromatic => GenerateMonochromatic(hue, saturation, lightness),
+ _ => GenerateComplementary(hue, saturation, lightness)
+ };
+ }
+
private static List GenerateComplementary(float hue, float sat, float lit)
{
return new List
diff --git a/WallpaperMaker.Domain/CompositionRules.cs b/WallpaperMaker.Domain/CompositionRules.cs
new file mode 100644
index 0000000..5c22bd6
--- /dev/null
+++ b/WallpaperMaker.Domain/CompositionRules.cs
@@ -0,0 +1,273 @@
+using SkiaSharp;
+
+namespace WallpaperMaker.Domain;
+
+///
+/// Composition rules based on visual design principles for balanced, aesthetically pleasing wallpapers.
+/// Helps ensure shapes are distributed appropriately to avoid sparse or overcrowded results.
+///
+public static class CompositionRules
+{
+ ///
+ /// Classification of shape density on the canvas.
+ ///
+ public enum Density
+ {
+ /// Very few shapes (1-5% canvas coverage) - minimal, spacious aesthetic
+ Sparse,
+ /// Moderate shapes (15-35% canvas coverage) - balanced, visually pleasing
+ Balanced,
+ /// Many shapes (45-65% canvas coverage) - complex, energetic aesthetic
+ Dense
+ }
+
+ ///
+ /// Analyzes the visual density of shapes on the canvas.
+ ///
+ /// Number of shapes on canvas
+ /// Total canvas area in pixels
+ /// Density classification
+ public static Density AnalyzeDensity(int shapeCount, int canvasArea)
+ {
+ if (shapeCount <= 0 || canvasArea <= 0)
+ return Density.Balanced;
+
+ // Approximate average shape size: simple heuristic based on typical sizes
+ float avgShapeArea = canvasArea / (shapeCount * 4f);
+ float coverage = (shapeCount * avgShapeArea) / canvasArea;
+
+ if (coverage < 0.05f)
+ return Density.Sparse;
+ if (coverage > 0.45f)
+ return Density.Dense;
+ return Density.Balanced;
+ }
+
+ ///
+ /// Recommends size parameters based on shape count and target density.
+ /// Larger shapes when few, smaller shapes when many, to maintain visual balance.
+ ///
+ /// Total number of shapes
+ /// Total canvas area
+ /// Target density level (default: Balanced)
+ /// Recommended (minSize, maxSize) range on 1-9 scale
+ public static (int minSize, int maxSize) RecommendSizeRange(
+ int shapeCount,
+ int canvasArea,
+ Density targetDensity = Density.Balanced)
+ {
+ // Size scale: 1-9, where 5 is medium
+ // Few shapes (1-5) -> larger sizes (7-9)
+ // Many shapes (20+) -> smaller sizes (2-4)
+ // Medium shapes (6-20) -> medium sizes (5-7)
+
+ if (shapeCount <= 5)
+ {
+ // Sparse - use large shapes for impact
+ return targetDensity switch
+ {
+ Density.Sparse => (7, 9),
+ Density.Balanced => (6, 8),
+ Density.Dense => (5, 7),
+ _ => (6, 8)
+ };
+ }
+ else if (shapeCount <= 15)
+ {
+ // Medium count
+ return targetDensity switch
+ {
+ Density.Sparse => (6, 8),
+ Density.Balanced => (5, 7),
+ Density.Dense => (4, 6),
+ _ => (5, 7)
+ };
+ }
+ else
+ {
+ // Many shapes - use smaller sizes to avoid clutter
+ return targetDensity switch
+ {
+ Density.Sparse => (4, 6),
+ Density.Balanced => (3, 5),
+ Density.Dense => (2, 4),
+ _ => (3, 5)
+ };
+ }
+ }
+
+ ///
+ /// Constrains a shape position to a safe zone away from canvas edges.
+ /// Improves composition by avoiding edge clustering.
+ ///
+ /// The candidate position
+ /// Canvas width in pixels
+ /// Canvas height in pixels
+ /// Margin from edges as percentage (0.0-1.0, default 0.1 = 10%)
+ /// Constrained position within safe zone
+ public static SKPoint SafePosition(
+ SKPoint candidate,
+ int width,
+ int height,
+ float marginPercent = 0.1f)
+ {
+ marginPercent = Math.Clamp(marginPercent, 0f, 0.4f);
+
+ float marginX = width * marginPercent;
+ float marginY = height * marginPercent;
+
+ float safeX = Math.Clamp(candidate.X, marginX, width - marginX);
+ float safeY = Math.Clamp(candidate.Y, marginY, height - marginY);
+
+ return new SKPoint(safeX, safeY);
+ }
+
+ ///
+ /// Recommends opacity range based on shape count and background complexity.
+ /// More shapes = lower opacity to avoid overwhelming clutter.
+ /// Simple background = can use lower opacity shapes.
+ ///
+ /// Type of shape being rendered
+ /// Total number of shapes
+ /// Background mode
+ /// Recommended (minOpacity, maxOpacity) range (0.0-1.0)
+ public static (float min, float max) RecommendOpacityRange(
+ ShapeType shapeType,
+ int shapeCount,
+ BackgroundMode background)
+ {
+ // Base opacity levels by shape count
+ var (baseMin, baseMax) = shapeCount switch
+ {
+ <= 5 => (0.7f, 1.0f), // Few shapes - keep opaque for clarity
+ <= 15 => (0.6f, 0.95f), // Medium - some transparency for layering
+ _ => (0.5f, 0.9f) // Many shapes - lower opacity to reduce clutter
+ };
+
+ // Small shapes need higher opacity to not disappear
+ if (IsSmallShape(shapeType))
+ {
+ baseMin = Math.Min(baseMin + 0.15f, 1.0f);
+ baseMax = 1.0f;
+ }
+
+ // Complex backgrounds allow lower opacity
+ if (background != BackgroundMode.Solid)
+ {
+ baseMin = Math.Max(baseMin - 0.1f, 0.3f);
+ }
+
+ return (baseMin, baseMax);
+ }
+
+ ///
+ /// Determines if a shape type is generally small (triangles, arrows, etc.).
+ ///
+ private static bool IsSmallShape(ShapeType type)
+ {
+ return type switch
+ {
+ ShapeType.Arrow or ShapeType.Cross or ShapeType.Spiral => true,
+ _ => false
+ };
+ }
+
+ ///
+ /// Calculates the approximate visual density by analyzing actual shape coverage.
+ /// More accurate than AnalyzeDensity but requires shape bounds.
+ ///
+ /// List of shapes with bounds
+ /// Canvas width
+ /// Canvas height
+ /// Actual density as percentage (0.0-1.0)
+ public static float CalculateCoverage(List shapes, int canvasWidth, int canvasHeight)
+ {
+ if (shapes.Count == 0)
+ return 0f;
+
+ float totalArea = 0f;
+ foreach (var shape in shapes)
+ {
+ totalArea += shape.Bounds.Width * shape.Bounds.Height;
+ }
+
+ float canvasArea = canvasWidth * canvasHeight;
+ return totalArea / canvasArea;
+ }
+
+ ///
+ /// Calculates negative space (empty area) as a percentage of canvas.
+ /// Higher values = more breathing room, generally more aesthetically pleasing.
+ ///
+ /// List of shapes
+ /// Canvas width
+ /// Canvas height
+ /// Negative space as percentage (0.0-1.0)
+ public static float CalculateNegativeSpace(List shapes, int canvasWidth, int canvasHeight)
+ {
+ return 1.0f - CalculateCoverage(shapes, canvasWidth, canvasHeight);
+ }
+
+ ///
+ /// Analyzes the distribution of shapes to detect problematic patterns.
+ ///
+ /// List of shapes
+ /// Canvas width
+ /// Canvas height
+ /// Composition analysis result
+ public static CompositionAnalysis Analyze(List shapes, int canvasWidth, int canvasHeight)
+ {
+ float coverage = CalculateCoverage(shapes, canvasWidth, canvasHeight);
+ float negativeSpace = CalculateNegativeSpace(shapes, canvasWidth, canvasHeight);
+ int count = shapes.Count;
+
+ var density = coverage switch
+ {
+ < 0.05f => Density.Sparse,
+ > 0.45f => Density.Dense,
+ _ => Density.Balanced
+ };
+
+ bool isEdgeClustered = DetectEdgeClustering(shapes, canvasWidth, canvasHeight);
+
+ return new CompositionAnalysis(
+ Count: count,
+ Coverage: coverage,
+ NegativeSpace: negativeSpace,
+ Density: density,
+ IsEdgeClustered: isEdgeClustered);
+ }
+
+ ///
+ /// Detects if shapes are clustered near the edges (poor composition).
+ ///
+ private static bool DetectEdgeClustering(List shapes, int width, int height)
+ {
+ if (shapes.Count < 3)
+ return false;
+
+ float edgeZone = Math.Min(width, height) * 0.15f;
+ int edgeCount = 0;
+
+ foreach (var shape in shapes)
+ {
+ if (shape.Bounds.Left < edgeZone || shape.Bounds.Right > width - edgeZone ||
+ shape.Bounds.Top < edgeZone || shape.Bounds.Bottom > height - edgeZone)
+ {
+ edgeCount++;
+ }
+ }
+
+ return edgeCount > shapes.Count * 0.5f;
+ }
+}
+
+///
+/// Result of composition analysis.
+///
+public record CompositionAnalysis(
+ int Count,
+ float Coverage,
+ float NegativeSpace,
+ CompositionRules.Density Density,
+ bool IsEdgeClustered);
diff --git a/WallpaperMaker.Domain/ElementAgregator.cs b/WallpaperMaker.Domain/ElementAgregator.cs
index f203816..ecd3094 100644
--- a/WallpaperMaker.Domain/ElementAgregator.cs
+++ b/WallpaperMaker.Domain/ElementAgregator.cs
@@ -8,33 +8,12 @@ public class ElementAgregator
private readonly Dictionary> _shapes = new();
- private readonly int[] _amounts = new int[9];
- private readonly (int W, int H)[] _sizes = new (int, int)[9];
-
- private readonly WallpaperConfig? _config;
+ private readonly WallpaperConfig _config;
public int XResolution { get; }
public int YResolution { get; }
private int MaxNumberOfElements { get; } = 50;
- internal ElementAgregator(string seed, int width, int height)
- {
- if (seed.Length != 27)
- throw new ArgumentException($"Seed must be exactly 27 characters, got {seed.Length}.", nameof(seed));
-
- for (int i = 0; i < 9; i++)
- _amounts[i] = seed[i] - '0';
-
- for (int i = 0; i < 9; i++)
- {
- int sizeIdx = 9 + i * 2;
- _sizes[i] = (seed[sizeIdx] - '0', seed[sizeIdx + 1] - '0');
- }
-
- XResolution = width;
- YResolution = height;
- }
-
internal ElementAgregator(WallpaperConfig config, int width, int height)
{
_config = config;
@@ -42,47 +21,6 @@ internal ElementAgregator(WallpaperConfig config, int width, int height)
YResolution = height;
}
- internal void MakeAll()
- {
- if (_config != null)
- {
- MakeFromConfig(_config.Shapes.Where(s => s.Enabled).ToList());
- return;
- }
-
- var tasks = new List();
-
- for (int i = 0; i < 9; i++)
- {
- if (_amounts[i] > 0)
- tasks.Add(CreateShapesForType(i));
- }
-
- Task.WaitAll(tasks.ToArray());
- }
-
- internal void MakeSome(bool[] toMake)
- {
- if (_config != null)
- {
- var enabledShapes = _config.Shapes
- .Where((s, i) => i < toMake.Length && toMake[i] && s.Enabled)
- .ToList();
- MakeFromConfig(enabledShapes);
- return;
- }
-
- var tasks = new List();
-
- for (int i = 0; i < Math.Min(toMake.Length, 9); i++)
- {
- if (toMake[i] && _amounts[i] > 0)
- tasks.Add(CreateShapesForType(i));
- }
-
- Task.WaitAll(tasks.ToArray());
- }
-
internal void MakeFromConfig(List shapes)
{
var tasks = new List();
@@ -132,22 +70,6 @@ private List GenerateShapesForType(ShapeType type, int count, int sizeW,
};
}
- private Task CreateShapesForType(int index)
- {
- var type = (ShapeType)index;
- int count = Utilities.SmallNumberScaler(_amounts[index], MaxNumberOfElements);
- var size = _sizes[index];
-
- return Task.Run(() =>
- {
- var shapes = GenerateShapesForType(type, count, size.W, size.H);
- lock (_shapes)
- {
- _shapes[type] = shapes;
- }
- });
- }
-
private List MakeRectangles(int count, int maxSizeW, int maxSizeH)
{
var shapes = new List(count);
diff --git a/WallpaperMaker.Domain/Generator.cs b/WallpaperMaker.Domain/Generator.cs
index cbaeae3..4443110 100644
--- a/WallpaperMaker.Domain/Generator.cs
+++ b/WallpaperMaker.Domain/Generator.cs
@@ -43,22 +43,6 @@ public Generator(Pallet palette, int horRes, int vertRes, int supersampling, Wal
_canvas.Clear(SKColors.Transparent);
}
- public SKBitmap Generate(string seed)
- {
- if (_bitmap == null || _canvas == null)
- throw new ObjectDisposedException(nameof(Generator));
-
- GenerateShapes(seed);
- DrawAll();
-
- if (_supersampling > 1)
- return DownsampleBitmap();
-
- var result = _bitmap;
- _bitmap = null;
- return result;
- }
-
public SKBitmap Generate(WallpaperConfig config)
{
if (_bitmap == null || _canvas == null)
@@ -92,35 +76,6 @@ private SKBitmap DownsampleBitmap()
return resized;
}
- private void GenerateShapes(string seed)
- {
- _maker = new ElementAgregator(seed, _xRes, _yRes);
-
- bool hasDisabledShape = false;
- for (int i = 0; i < 9; i++)
- {
- if (seed[i] == '0')
- {
- hasDisabledShape = true;
- break;
- }
- }
-
- if (hasDisabledShape)
- {
- bool[] enabledShapes = new bool[9];
- for (int i = 0; i < 9; i++)
- enabledShapes[i] = seed[i] != '0';
- _maker.MakeSome(enabledShapes);
- }
- else
- {
- _maker.MakeAll();
- }
- }
-
- private void DrawAll() => DrawAll(_wallpaperConfig);
-
private void DrawAll(WallpaperConfig config)
{
if (_canvas == null || _maker == null)
@@ -136,7 +91,7 @@ private void DrawBackground(WallpaperConfig config)
{
case BackgroundMode.LinearGradient:
{
- var color1 = _palette.RandomColor();
+ var color1 = _palette.GetBackgroundColor(config.BackgroundTone);
var color2 = _palette.RandomColor();
using var shader = SKShader.CreateLinearGradient(
new SKPoint(0, 0),
@@ -149,7 +104,7 @@ private void DrawBackground(WallpaperConfig config)
}
case BackgroundMode.RadialGradient:
{
- var color1 = _palette.RandomColor();
+ var color1 = _palette.GetBackgroundColor(config.BackgroundTone);
var color2 = _palette.RandomColor();
float radius = Math.Max(_xRes, _yRes) * 0.7f;
using var shader = SKShader.CreateRadialGradient(
@@ -163,18 +118,46 @@ private void DrawBackground(WallpaperConfig config)
}
default:
{
- using var bgPaint = new SKPaint { Color = _palette.RandomColor(), IsAntialias = true };
+ using var bgPaint = new SKPaint { Color = _palette.GetBackgroundColor(config.BackgroundTone), IsAntialias = true };
_canvas!.DrawRect(0, 0, _xRes, _yRes, bgPaint);
break;
}
}
}
+ ///
+ /// Extracts the dominant background color for contrast analysis.
+ ///
+ private SKColor? ExtractBackgroundColor(WallpaperConfig config)
+ {
+ // For solid backgrounds, use the tone-aware selection
+ if (config.Background == BackgroundMode.Solid)
+ {
+ return _palette.GetBackgroundColor(config.BackgroundTone);
+ }
+
+ // For gradients, return null - we'll use fallback contrast checking
+ return null;
+ }
+
private void DrawShapes(WallpaperConfig config)
{
var shapeTypes = Enum.GetValues();
var drawOrder = Utilities.ShuffledRange(shapeTypes.Length);
+ // Get background color for contrast checking
+ var bgColor = ExtractBackgroundColor(config);
+
+ // Calculate total shape count for composition analysis
+ int totalShapes = 0;
+ foreach (int idx in drawOrder)
+ {
+ var type = shapeTypes[idx];
+ var shapes = _maker!.GetShapesByType(type);
+ if (shapes != null)
+ totalShapes += shapes.Count;
+ }
+
foreach (int idx in drawOrder)
{
var type = shapeTypes[idx];
@@ -185,8 +168,24 @@ private void DrawShapes(WallpaperConfig config)
{
using var paint = new SKPaint { IsAntialias = true };
- float opacity = config.MinOpacity + (float)Rng.NextDouble() * (config.MaxOpacity - config.MinOpacity);
+ // Get opacity with quality constraints
+ var (minOp, maxOp) = QualityConstraints.GetOpacityRangeForShape(
+ type, shape.Bounds, totalShapes);
+ float opacity = minOp + (float)Rng.NextDouble() * (maxOp - minOp);
+
+ // Get color with contrast consideration
var baseColor = _palette.RandomColor();
+
+ // Ensure sufficient contrast with background
+ if (bgColor.HasValue)
+ {
+ var contrastingColors = ColorContrast.FilterByContrast(bgColor.Value, _palette.Colors, 2.5f);
+ if (contrastingColors.Count > 0)
+ {
+ baseColor = contrastingColors[Rng.Next(contrastingColors.Count)];
+ }
+ }
+
paint.Color = baseColor.WithAlpha((byte)(255 * opacity));
ApplyFillMode(paint, config.ShapeFill, shape, baseColor, opacity);
@@ -194,7 +193,9 @@ private void DrawShapes(WallpaperConfig config)
if (config.EnableStrokes)
{
paint.Style = SKPaintStyle.StrokeAndFill;
- paint.StrokeWidth = config.StrokeWidth;
+ float strokeWidth = QualityConstraints.GetAdaptiveStrokeWidth(
+ type, shape.Bounds, config.StrokeWidth);
+ paint.StrokeWidth = strokeWidth;
}
DrawShape(_canvas!, shape, paint);
diff --git a/WallpaperMaker.Domain/Pallet.cs b/WallpaperMaker.Domain/Pallet.cs
index 5b35125..fc53cfa 100644
--- a/WallpaperMaker.Domain/Pallet.cs
+++ b/WallpaperMaker.Domain/Pallet.cs
@@ -53,4 +53,19 @@ public bool RemoveColor(SKColor color)
{
return Colors.Remove(color);
}
+
+ ///
+ /// Gets a background color from the palette, optionally preferring dark or light colors.
+ ///
+ public SKColor GetBackgroundColor(BackgroundTone tone = BackgroundTone.Any)
+ {
+ if (Colors.Count == 0 || tone == BackgroundTone.Any)
+ return RandomColor();
+
+ // Calculate perceived luminance for each color
+ float Luminance(SKColor c) => 0.299f * c.Red + 0.587f * c.Green + 0.114f * c.Blue;
+
+ var sorted = Colors.OrderBy(Luminance).ToList();
+ return tone == BackgroundTone.PreferDark ? sorted[0] : sorted[^1];
+ }
}
diff --git a/WallpaperMaker.Domain/QualityConstraints.cs b/WallpaperMaker.Domain/QualityConstraints.cs
new file mode 100644
index 0000000..8847cb2
--- /dev/null
+++ b/WallpaperMaker.Domain/QualityConstraints.cs
@@ -0,0 +1,143 @@
+using SkiaSharp;
+
+namespace WallpaperMaker.Domain;
+
+///
+/// Smart constraints for shape rendering parameters.
+/// Ensures shapes are rendered with appropriate opacity and stroke widths
+/// based on shape type, size, and overall composition.
+///
+public static class QualityConstraints
+{
+ ///
+ /// Gets recommended opacity range for a specific shape in context.
+ /// Small shapes need higher opacity to remain visible.
+ ///
+ /// Type of shape
+ /// Shape bounds in pixels
+ /// Total shapes in composition
+ /// Recommended (minOpacity, maxOpacity) range
+ public static (float min, float max) GetOpacityRangeForShape(
+ ShapeType shapeType,
+ SKRect shapeBounds,
+ int totalShapeCount)
+ {
+ var (baseMin, baseMax) = CompositionRules.RecommendOpacityRange(
+ shapeType, totalShapeCount, BackgroundMode.Solid);
+
+ // Adjust for shape size - small shapes need higher opacity
+ float shapeSize = Math.Min(shapeBounds.Width, shapeBounds.Height);
+
+ // Small shapes (< 30px) need higher minimum opacity to be visible
+ if (shapeSize < 30)
+ {
+ baseMin = Math.Min(baseMin + 0.2f, 1.0f);
+ baseMax = 1.0f;
+ }
+ // Large shapes can use wider opacity range
+ else if (shapeSize > 200)
+ {
+ baseMin = Math.Max(baseMin - 0.1f, 0.3f);
+ }
+
+ return (baseMin, baseMax);
+ }
+
+ ///
+ /// Calculates appropriate stroke width for a shape based on its size.
+ /// Prevents thin strokes from disappearing on small shapes,
+ /// and avoids overwhelming thick strokes on large shapes.
+ ///
+ /// Type of shape
+ /// Shape bounds in pixels
+ /// Base stroke width from config
+ /// Adjusted stroke width
+ public static float GetAdaptiveStrokeWidth(
+ ShapeType shapeType,
+ SKRect shapeBounds,
+ int baseStrokeWidth)
+ {
+ float minDimension = Math.Min(shapeBounds.Width, shapeBounds.Height);
+
+ // For very small shapes, stroke should be minimal or zero
+ if (minDimension < 20)
+ return Math.Max(0.5f, baseStrokeWidth * 0.3f);
+
+ // Small shapes
+ if (minDimension < 50)
+ return baseStrokeWidth * 0.7f;
+
+ // Medium shapes - use base width
+ if (minDimension < 150)
+ return baseStrokeWidth;
+
+ // Large shapes - slight increase for visibility
+ return baseStrokeWidth * 1.2f;
+ }
+
+ ///
+ /// Determines if a shape should have its opacity adjusted based on its characteristics.
+ ///
+ /// Type of shape
+ /// Shape bounds
+ /// True if opacity should be adjusted
+ public static bool ShouldAdjustOpacity(ShapeType shapeType, SKRect shapeBounds)
+ {
+ // Thin shapes (lines, arrows) usually need opacity adjustment
+ if (shapeType is ShapeType.Arrow or ShapeType.CurvedLine or ShapeType.Spiral)
+ return true;
+
+ // Very small shapes need opacity adjustment
+ float minDimension = Math.Min(shapeBounds.Width, shapeBounds.Height);
+ return minDimension < 25;
+ }
+
+ ///
+ /// Validates that a color combination meets minimum visual standards.
+ ///
+ /// Color of the shape
+ /// Color of the background
+ /// Minimum acceptable contrast
+ /// True if colors form acceptable contrast
+ public static bool IsAcceptableColorCombination(
+ SKColor shapeColor,
+ SKColor backgroundColor,
+ float minContrastRatio = 2.0f)
+ {
+ float contrast = ColorContrast.GetContrastRatio(shapeColor, backgroundColor);
+ return contrast >= minContrastRatio;
+ }
+
+ ///
+ /// Provides a quality score for a shape based on its rendering parameters.
+ /// Helps identify shapes that might render poorly.
+ ///
+ /// Type of shape
+ /// Opacity (0.0-1.0)
+ /// Stroke width in pixels
+ /// Shape bounds
+ /// Quality score (0.0-1.0, where 1.0 is ideal)
+ public static float ShapeRenderingQuality(
+ ShapeType shapeType,
+ float opacity,
+ float strokeWidth,
+ SKRect shapeBounds)
+ {
+ float score = 1.0f;
+ float minDimension = Math.Min(shapeBounds.Width, shapeBounds.Height);
+
+ // Small shapes with low opacity = risk of disappearing
+ if (minDimension < 30 && opacity < 0.5f)
+ score -= 0.3f;
+
+ // Small shapes with thick strokes = may look bad
+ if (minDimension < 40 && strokeWidth > 3)
+ score -= 0.2f;
+
+ // Very opaque small shapes are fine
+ if (minDimension < 30 && opacity >= 0.9f)
+ score += 0.1f;
+
+ return Math.Clamp(score, 0.0f, 1.0f);
+ }
+}
diff --git a/WallpaperMaker.Domain/QualityScorer.cs b/WallpaperMaker.Domain/QualityScorer.cs
new file mode 100644
index 0000000..2a0731b
--- /dev/null
+++ b/WallpaperMaker.Domain/QualityScorer.cs
@@ -0,0 +1,297 @@
+using SkiaSharp;
+
+namespace WallpaperMaker.Domain;
+
+///
+/// Assesses the visual quality of generated wallpapers using multiple factors.
+/// Provides feedback on color distribution, contrast, composition, and visual variety.
+/// Scores range from 0-100, where higher scores indicate better visual appeal.
+///
+public static class QualityScorer
+{
+ ///
+ /// Comprehensive quality assessment of a generated wallpaper.
+ ///
+ public record QualityReport(
+ int OverallScore,
+ int ContrastScore,
+ int ColorScore,
+ int CompositionScore,
+ int VarietyScore,
+ string Feedback);
+
+ ///
+ /// Scores a generated wallpaper across multiple dimensions.
+ ///
+ /// The generated wallpaper bitmap
+ /// The color palette used
+ /// The wallpaper configuration
+ /// Overall quality score (0-100)
+ public static int ScoreWallpaper(
+ SKBitmap wallpaper,
+ Pallet palette,
+ WallpaperConfig config)
+ {
+ int contrastScore = ScoreContrast(wallpaper); // 0-100
+ int colorScore = ScoreColorDistribution(wallpaper); // 0-100
+ int compositionScore = ScoreComposition(wallpaper); // 0-100
+ int varietyScore = ScoreColorVariety(wallpaper, palette);// 0-100
+
+ // Weighted average: Contrast 40%, Color 25%, Composition 20%, Variety 15%
+ int overall = (int)Math.Round(
+ contrastScore * 0.40 +
+ colorScore * 0.25 +
+ compositionScore * 0.20 +
+ varietyScore * 0.15);
+
+ return Math.Clamp(overall, 0, 100);
+ }
+
+ ///
+ /// Generates a detailed quality report for a wallpaper.
+ ///
+ public static QualityReport GenerateReport(
+ SKBitmap wallpaper,
+ Pallet palette,
+ WallpaperConfig config)
+ {
+ int contrastScore = ScoreContrast(wallpaper);
+ int colorScore = ScoreColorDistribution(wallpaper);
+ int compositionScore = ScoreComposition(wallpaper);
+ int varietyScore = ScoreColorVariety(wallpaper, palette);
+
+ int overall = ScoreWallpaper(wallpaper, palette, config);
+
+ string feedback = GenerateFeedback(contrastScore, colorScore, compositionScore, varietyScore);
+
+ return new QualityReport(
+ OverallScore: overall,
+ ContrastScore: contrastScore,
+ ColorScore: colorScore,
+ CompositionScore: compositionScore,
+ VarietyScore: varietyScore,
+ Feedback: feedback);
+ }
+
+ ///
+ /// Scores contrast between shapes and background.
+ /// Higher scores indicate better visual clarity and separation.
+ ///
+ private static int ScoreContrast(SKBitmap wallpaper)
+ {
+ try
+ {
+ // Sample pixels from across the image
+ var pixels = wallpaper.Pixels;
+
+ if (pixels.Length == 0)
+ return 50;
+
+ // Calculate luminance distribution
+ float minLum = float.MaxValue;
+ float maxLum = float.MinValue;
+ float avgLum = 0f;
+
+ int sampleCount = Math.Min(pixels.Length, 1000);
+ int step = pixels.Length / sampleCount;
+
+ for (int i = 0; i < pixels.Length; i += step)
+ {
+ float lum = GetPixelLuminance(pixels[i].Red, pixels[i].Green, pixels[i].Blue);
+ minLum = Math.Min(minLum, lum);
+ maxLum = Math.Max(maxLum, lum);
+ avgLum += lum;
+ }
+
+ avgLum /= sampleCount;
+
+ // High contrast when min and max luminance are far apart
+ float contrastRange = maxLum - minLum;
+ int score = (int)(contrastRange * 100);
+
+ return Math.Clamp(score, 0, 100);
+ }
+ catch
+ {
+ return 50; // Default if analysis fails
+ }
+ }
+
+ ///
+ /// Scores color distribution - penalizes too-monochromatic results.
+ ///
+ private static int ScoreColorDistribution(SKBitmap wallpaper)
+ {
+ try
+ {
+ var pixels = wallpaper.Pixels;
+
+ if (pixels.Length == 0)
+ return 50;
+
+ // Count unique colors in sample
+ var colors = new HashSet();
+ int sampleCount = Math.Min(pixels.Length, 500);
+ int step = pixels.Length / sampleCount;
+
+ for (int i = 0; i < pixels.Length; i += step)
+ {
+ colors.Add((uint)pixels[i]);
+ }
+
+ // Score based on color diversity
+ // 20+ unique colors = 100
+ // 5 colors = 50
+ // 1 color = 0
+ int uniqueCount = colors.Count;
+ int score = Math.Min(uniqueCount * 5, 100);
+
+ return score;
+ }
+ catch
+ {
+ return 50;
+ }
+ }
+
+ ///
+ /// Scores composition - rewards balanced use of space.
+ ///
+ private static int ScoreComposition(SKBitmap wallpaper)
+ {
+ try
+ {
+ var pixels = wallpaper.Pixels;
+
+ if (pixels.Length == 0)
+ return 50;
+
+ // Analyze distribution of dark vs light pixels
+ int darkPixels = 0;
+ int lightPixels = 0;
+
+ int sampleCount = Math.Min(pixels.Length, 1000);
+ int step = pixels.Length / sampleCount;
+
+ for (int i = 0; i < pixels.Length; i += step)
+ {
+ float lum = GetPixelLuminance(pixels[i].Red, pixels[i].Green, pixels[i].Blue);
+ if (lum < 0.33f)
+ darkPixels++;
+ else if (lum > 0.67f)
+ lightPixels++;
+ }
+
+ // Ideal composition has some balance
+ // Heavily skewed is worse than balanced
+ float total = darkPixels + lightPixels;
+ if (total == 0)
+ return 50;
+
+ float darkRatio = darkPixels / total;
+ float lightRatio = lightPixels / total;
+
+ // Best when both are 40-50% of the image
+ float balance = 1.0f - Math.Abs(darkRatio - lightRatio);
+ int score = (int)(balance * 100);
+
+ return Math.Clamp(score, 0, 100);
+ }
+ catch
+ {
+ return 50;
+ }
+ }
+
+ ///
+ /// Scores color variety - how well palette colors are represented.
+ ///
+ private static int ScoreColorVariety(SKBitmap wallpaper, Pallet palette)
+ {
+ try
+ {
+ var pixels = wallpaper.Pixels;
+
+ if (pixels.Length == 0 || palette.Colors.Count == 0)
+ return 50;
+
+ int usedPaletteColors = 0;
+ float threshold = 0.15f; // Color similarity threshold
+
+ foreach (var paletteColor in palette.Colors)
+ {
+ // Check if this palette color is used in the wallpaper
+ bool found = false;
+
+ int sampleCount = Math.Min(pixels.Length, 500);
+ int step = pixels.Length / sampleCount;
+
+ for (int i = 0; i < pixels.Length && !found; i += step)
+ {
+ if (ColorSimilarity(paletteColor, pixels[i]) < threshold)
+ {
+ found = true;
+ usedPaletteColors++;
+ }
+ }
+ }
+
+ // Score based on how many palette colors are used
+ float varietyRatio = (float)usedPaletteColors / palette.Colors.Count;
+ int score = (int)(varietyRatio * 100);
+
+ return Math.Clamp(score, 0, 100);
+ }
+ catch
+ {
+ return 50;
+ }
+ }
+
+ ///
+ /// Generates human-readable feedback about the wallpaper quality.
+ ///
+ private static string GenerateFeedback(int contrast, int color, int composition, int variety)
+ {
+ var issues = new List();
+
+ if (contrast < 40)
+ issues.Add("low contrast - shapes may be hard to distinguish");
+
+ if (color < 40)
+ issues.Add("poor color distribution - try different harmony");
+
+ if (composition < 40)
+ issues.Add("unbalanced composition - consider changing shape count");
+
+ if (variety < 40)
+ issues.Add("low color variety - palette colors not well utilized");
+
+ if (issues.Count == 0)
+ return "Excellent composition! All quality metrics are strong.";
+
+ return "Issues detected: " + string.Join(", ", issues) + ". Try regenerating.";
+ }
+
+ ///
+ /// Calculates the relative luminance of a pixel color.
+ ///
+ private static float GetPixelLuminance(byte r, byte g, byte b)
+ {
+ return (r * 0.299f + g * 0.587f + b * 0.114f) / 255f;
+ }
+
+ ///
+ /// Calculates similarity between a palette color and a sampled pixel color.
+ /// Returns 0.0 for identical colors, 1.0 for completely different.
+ ///
+ private static float ColorSimilarity(SKColor paletteColor, SKColor pixelColor)
+ {
+ float dr = (paletteColor.Red - pixelColor.Red) / 255f;
+ float dg = (paletteColor.Green - pixelColor.Green) / 255f;
+ float db = (paletteColor.Blue - pixelColor.Blue) / 255f;
+
+ // Euclidean distance in RGB space, normalized
+ return (float)Math.Sqrt(dr * dr + dg * dg + db * db) / (float)Math.Sqrt(3.0);
+ }
+}
diff --git a/WallpaperMaker.Domain/ShapeType.cs b/WallpaperMaker.Domain/ShapeType.cs
index 911f336..49b6a4c 100644
--- a/WallpaperMaker.Domain/ShapeType.cs
+++ b/WallpaperMaker.Domain/ShapeType.cs
@@ -2,7 +2,7 @@ namespace WallpaperMaker.Domain;
public enum ShapeType
{
- // Original shapes (indices 0-8, seed-compatible)
+ // Original shapes
Rectangle,
Square,
Ellipse,
@@ -13,7 +13,7 @@ public enum ShapeType
Octagon,
Hourglass,
- // New shapes (indices 9+)
+ // Extended shapes
Star,
Diamond,
Cross,
diff --git a/WallpaperMaker.Domain/StylePreset.cs b/WallpaperMaker.Domain/StylePreset.cs
new file mode 100644
index 0000000..891bce0
--- /dev/null
+++ b/WallpaperMaker.Domain/StylePreset.cs
@@ -0,0 +1,243 @@
+namespace WallpaperMaker.Domain;
+
+///
+/// Pre-configured wallpaper style presets that provide guaranteed visually appealing results.
+/// Each preset combines carefully tuned shape configurations, color harmonies, and parameters
+/// to create a specific aesthetic while maximizing visual appeal.
+///
+public record StylePreset(
+ string Name,
+ string Description,
+ WallpaperConfig Config,
+ ColorHarmony RecommendedHarmony,
+ SaturationLevel RecommendedSaturation = SaturationLevel.Medium,
+ int MinQualityScore = 50);
+
+///
+/// Collection of pre-tuned wallpaper style presets.
+///
+public static class StylePresets
+{
+ ///
+ /// Vibrant & Bold: High contrast, saturated colors, large geometric shapes.
+ /// Perfect for users who want eye-catching, energetic wallpapers.
+ ///
+ public static StylePreset VibrantBold => new(
+ Name: "Vibrant & Bold",
+ Description: "High contrast, saturated colors, geometric shapes with strong visual impact",
+ Config: new WallpaperConfig
+ {
+ Background = BackgroundMode.Solid,
+ ShapeFill = FillMode.Solid,
+ MinOpacity = 0.8f,
+ MaxOpacity = 1.0f,
+ EnableStrokes = true,
+ StrokeWidth = 2,
+ BackgroundTone = BackgroundTone.Any,
+ Shapes = new List
+ {
+ new(ShapeType.Rectangle, enabled: true, amount: 4, sizeW: 8, sizeH: 6),
+ new(ShapeType.Square, enabled: true, amount: 4, sizeW: 7, sizeH: 7),
+ new(ShapeType.Circle, enabled: true, amount: 5, sizeW: 7, sizeH: 7),
+ new(ShapeType.Ellipse, enabled: false),
+ new(ShapeType.Triangle, enabled: false),
+ new(ShapeType.Pentagon, enabled: false),
+ new(ShapeType.Hexagon, enabled: false),
+ new(ShapeType.Octagon, enabled: false),
+ new(ShapeType.Hourglass, enabled: false),
+ new(ShapeType.Star, enabled: true, amount: 3, sizeW: 6, sizeH: 6),
+ new(ShapeType.Diamond, enabled: false),
+ new(ShapeType.Cross, enabled: false),
+ new(ShapeType.Arrow, enabled: false),
+ new(ShapeType.RoundedRectangle, enabled: false),
+ new(ShapeType.CurvedLine, enabled: false),
+ new(ShapeType.Blob, enabled: false),
+ new(ShapeType.Spiral, enabled: false),
+ }
+ },
+ RecommendedHarmony: ColorHarmony.Complementary,
+ RecommendedSaturation: SaturationLevel.High,
+ MinQualityScore: 60);
+
+ ///
+ /// Minimalist Elegance: Few large shapes, subtle colors, refined negative space.
+ /// For users who appreciate simplicity and sophistication.
+ ///
+ public static StylePreset MinimalistElegance => new(
+ Name: "Minimalist Elegance",
+ Description: "Few large shapes, elegant spacing, monochromatic or subtle color harmony",
+ Config: new WallpaperConfig
+ {
+ Background = BackgroundMode.Solid,
+ ShapeFill = FillMode.Solid,
+ MinOpacity = 0.6f,
+ MaxOpacity = 0.85f,
+ EnableStrokes = false,
+ BackgroundTone = BackgroundTone.PreferLight,
+ Shapes = new List
+ {
+ new(ShapeType.Rectangle, enabled: true, amount: 2, sizeW: 8, sizeH: 5),
+ new(ShapeType.Square, enabled: false),
+ new(ShapeType.Circle, enabled: true, amount: 2, sizeW: 9, sizeH: 9),
+ new(ShapeType.Ellipse, enabled: false),
+ new(ShapeType.Triangle, enabled: false),
+ new(ShapeType.Pentagon, enabled: false),
+ new(ShapeType.Hexagon, enabled: false),
+ new(ShapeType.Octagon, enabled: false),
+ new(ShapeType.Hourglass, enabled: false),
+ new(ShapeType.Star, enabled: false),
+ new(ShapeType.Diamond, enabled: false),
+ new(ShapeType.Cross, enabled: false),
+ new(ShapeType.Arrow, enabled: false),
+ new(ShapeType.RoundedRectangle, enabled: false),
+ new(ShapeType.CurvedLine, enabled: false),
+ new(ShapeType.Blob, enabled: false),
+ new(ShapeType.Spiral, enabled: false),
+ }
+ },
+ RecommendedHarmony: ColorHarmony.Monochromatic,
+ RecommendedSaturation: SaturationLevel.Low,
+ MinQualityScore: 65);
+
+ ///
+ /// Pastel Dream: Soft, blended colors, organic shapes (blobs, curves, spirals).
+ /// Creates calming, dreamy aesthetic with low saturation and smooth shapes.
+ ///
+ public static StylePreset PastelDream => new(
+ Name: "Pastel Dream",
+ Description: "Soft colors, organic shapes, calming blended aesthetic",
+ Config: new WallpaperConfig
+ {
+ Background = BackgroundMode.LinearGradient,
+ ShapeFill = FillMode.Solid,
+ MinOpacity = 0.5f,
+ MaxOpacity = 0.75f,
+ EnableStrokes = false,
+ BackgroundTone = BackgroundTone.PreferLight,
+ Shapes = new List
+ {
+ new(ShapeType.Rectangle, enabled: false),
+ new(ShapeType.Square, enabled: false),
+ new(ShapeType.Circle, enabled: true, amount: 3, sizeW: 6, sizeH: 6),
+ new(ShapeType.Ellipse, enabled: true, amount: 3, sizeW: 7, sizeH: 5),
+ new(ShapeType.Triangle, enabled: false),
+ new(ShapeType.Pentagon, enabled: false),
+ new(ShapeType.Hexagon, enabled: false),
+ new(ShapeType.Octagon, enabled: false),
+ new(ShapeType.Hourglass, enabled: false),
+ new(ShapeType.Star, enabled: false),
+ new(ShapeType.Diamond, enabled: false),
+ new(ShapeType.Cross, enabled: false),
+ new(ShapeType.Arrow, enabled: false),
+ new(ShapeType.RoundedRectangle, enabled: true, amount: 2, sizeW: 7, sizeH: 6),
+ new(ShapeType.CurvedLine, enabled: true, amount: 3, sizeW: 5, sizeH: 4),
+ new(ShapeType.Blob, enabled: true, amount: 4, sizeW: 6, sizeH: 6),
+ new(ShapeType.Spiral, enabled: true, amount: 2, sizeW: 5, sizeH: 5),
+ }
+ },
+ RecommendedHarmony: ColorHarmony.Analogous,
+ RecommendedSaturation: SaturationLevel.Low,
+ MinQualityScore: 55);
+
+ ///
+ /// Dark & Moody: Dark background with bright accent shapes.
+ /// High contrast, dramatic, sophisticated aesthetic.
+ ///
+ public static StylePreset DarkMoody => new(
+ Name: "Dark & Moody",
+ Description: "Dark background, bright accents, high contrast and dramatic depth",
+ Config: new WallpaperConfig
+ {
+ Background = BackgroundMode.Solid,
+ ShapeFill = FillMode.Solid,
+ MinOpacity = 0.85f,
+ MaxOpacity = 1.0f,
+ EnableStrokes = true,
+ StrokeWidth = 2,
+ BackgroundTone = BackgroundTone.PreferDark,
+ Shapes = new List
+ {
+ new(ShapeType.Rectangle, enabled: true, amount: 3, sizeW: 7, sizeH: 5),
+ new(ShapeType.Square, enabled: true, amount: 2, sizeW: 6, sizeH: 6),
+ new(ShapeType.Circle, enabled: true, amount: 3, sizeW: 6, sizeH: 6),
+ new(ShapeType.Ellipse, enabled: false),
+ new(ShapeType.Triangle, enabled: false),
+ new(ShapeType.Pentagon, enabled: true, amount: 2, sizeW: 5, sizeH: 5),
+ new(ShapeType.Hexagon, enabled: true, amount: 2, sizeW: 5, sizeH: 5),
+ new(ShapeType.Octagon, enabled: false),
+ new(ShapeType.Hourglass, enabled: false),
+ new(ShapeType.Star, enabled: true, amount: 2, sizeW: 5, sizeH: 5),
+ new(ShapeType.Diamond, enabled: false),
+ new(ShapeType.Cross, enabled: false),
+ new(ShapeType.Arrow, enabled: false),
+ new(ShapeType.RoundedRectangle, enabled: false),
+ new(ShapeType.CurvedLine, enabled: false),
+ new(ShapeType.Blob, enabled: false),
+ new(ShapeType.Spiral, enabled: false),
+ }
+ },
+ RecommendedHarmony: ColorHarmony.Complementary,
+ RecommendedSaturation: SaturationLevel.High,
+ MinQualityScore: 58);
+
+ ///
+ /// Playful Abstract: Complex, energetic mix of all shapes.
+ /// Medium-high density, varied opacity, triadic or tetradic color harmony.
+ /// For users who want vibrant, playful, artistic results.
+ ///
+ public static StylePreset PlayfulAbstract => new(
+ Name: "Playful Abstract",
+ Description: "Complex geometric and organic mix, energetic and playful",
+ Config: new WallpaperConfig
+ {
+ Background = BackgroundMode.RadialGradient,
+ ShapeFill = FillMode.Solid,
+ MinOpacity = 0.5f,
+ MaxOpacity = 1.0f,
+ EnableStrokes = false,
+ BackgroundTone = BackgroundTone.Any,
+ Shapes = new List
+ {
+ new(ShapeType.Rectangle, enabled: true, amount: 3, sizeW: 6, sizeH: 5),
+ new(ShapeType.Square, enabled: true, amount: 3, sizeW: 5, sizeH: 5),
+ new(ShapeType.Circle, enabled: true, amount: 4, sizeW: 5, sizeH: 5),
+ new(ShapeType.Ellipse, enabled: true, amount: 3, sizeW: 6, sizeH: 4),
+ new(ShapeType.Triangle, enabled: true, amount: 2, sizeW: 4, sizeH: 4),
+ new(ShapeType.Pentagon, enabled: true, amount: 2, sizeW: 4, sizeH: 4),
+ new(ShapeType.Hexagon, enabled: true, amount: 2, sizeW: 4, sizeH: 4),
+ new(ShapeType.Octagon, enabled: false),
+ new(ShapeType.Hourglass, enabled: false),
+ new(ShapeType.Star, enabled: true, amount: 2, sizeW: 4, sizeH: 4),
+ new(ShapeType.Diamond, enabled: true, amount: 2, sizeW: 4, sizeH: 4),
+ new(ShapeType.Cross, enabled: false),
+ new(ShapeType.Arrow, enabled: false),
+ new(ShapeType.RoundedRectangle, enabled: false),
+ new(ShapeType.CurvedLine, enabled: true, amount: 2, sizeW: 4, sizeH: 3),
+ new(ShapeType.Blob, enabled: true, amount: 3, sizeW: 5, sizeH: 5),
+ new(ShapeType.Spiral, enabled: true, amount: 1, sizeW: 4, sizeH: 4),
+ }
+ },
+ RecommendedHarmony: ColorHarmony.Triadic,
+ RecommendedSaturation: SaturationLevel.Medium,
+ MinQualityScore: 52);
+
+ ///
+ /// Gets all available presets.
+ ///
+ public static List All => new()
+ {
+ VibrantBold,
+ MinimalistElegance,
+ PastelDream,
+ DarkMoody,
+ PlayfulAbstract
+ };
+
+ ///
+ /// Gets a preset by name.
+ ///
+ public static StylePreset? GetByName(string name)
+ {
+ return All.FirstOrDefault(p => p.Name.Equals(name, StringComparison.OrdinalIgnoreCase));
+ }
+}
diff --git a/WallpaperMaker.Domain/WallpaperConfig.cs b/WallpaperMaker.Domain/WallpaperConfig.cs
index 45ca507..27ebc8c 100644
--- a/WallpaperMaker.Domain/WallpaperConfig.cs
+++ b/WallpaperMaker.Domain/WallpaperConfig.cs
@@ -1,5 +1,10 @@
namespace WallpaperMaker.Domain;
+///
+/// Controls how the background color is selected from the palette.
+///
+public enum BackgroundTone { Any, PreferDark, PreferLight }
+
public class ShapeConfig
{
public ShapeType Type { get; set; }
@@ -28,6 +33,12 @@ public class WallpaperConfig
public int StrokeWidth { get; set; } = 2;
public BackgroundMode Background { get; set; } = BackgroundMode.Solid;
+ // Quality constraint properties
+ public SaturationLevel SaturationLevel { get; set; } = SaturationLevel.Medium;
+ public bool ApplyQualityConstraints { get; set; } = true;
+ public float MinimumBackgroundShapeContrast { get; set; } = 2.5f;
+ public BackgroundTone BackgroundTone { get; set; } = BackgroundTone.Any;
+
public static WallpaperConfig CreateDefault()
{
var config = new WallpaperConfig();
@@ -46,70 +57,6 @@ public static WallpaperConfig CreateDefault()
return config;
}
- ///
- /// Converts legacy 27-char seed into a WallpaperConfig (original 9 shapes only).
- ///
- public static WallpaperConfig FromSeed(string seed)
- {
- if (seed.Length < 27)
- throw new ArgumentException("Seed must be at least 27 characters.", nameof(seed));
-
- var config = new WallpaperConfig();
- var legacyTypes = new[]
- {
- ShapeType.Rectangle, ShapeType.Square, ShapeType.Ellipse, ShapeType.Circle,
- ShapeType.Triangle, ShapeType.Pentagon, ShapeType.Hexagon, ShapeType.Octagon,
- ShapeType.Hourglass
- };
-
- for (int i = 0; i < 9; i++)
- {
- int amount = seed[i] - '0';
- int sizeIdx = 9 + i * 2;
- int sizeW = seed[sizeIdx] - '0';
- int sizeH = seed[sizeIdx + 1] - '0';
-
- config.Shapes.Add(new ShapeConfig(
- legacyTypes[i],
- enabled: amount > 0,
- amount: Math.Max(amount, 1),
- sizeW: Math.Max(sizeW, 1),
- sizeH: Math.Max(sizeH, 1)));
- }
-
- // Add new shapes as disabled
- foreach (ShapeType type in Enum.GetValues())
- {
- if ((int)type >= 9)
- config.Shapes.Add(new ShapeConfig(type, enabled: false));
- }
-
- return config;
- }
-
- ///
- /// Generates a legacy 27-char seed for backward compatibility.
- /// Only encodes the original 9 shape types.
- ///
- public string ToSeed()
- {
- var chars = new char[27];
- for (int i = 0; i < 27; i++) chars[i] = '0';
-
- foreach (var shape in Shapes)
- {
- int idx = (int)shape.Type;
- if (idx >= 9) continue;
-
- chars[idx] = shape.Enabled ? (char)('0' + Math.Clamp(shape.Amount, 1, 9)) : '0';
- int sizeIdx = 9 + idx * 2;
- chars[sizeIdx] = (char)('0' + Math.Clamp(shape.SizeW, 0, 9));
- chars[sizeIdx + 1] = (char)('0' + Math.Clamp(shape.SizeH, 0, 9));
- }
-
- return new string(chars);
- }
-
public ShapeConfig? GetShape(ShapeType type) =>
Shapes.FirstOrDefault(s => s.Type == type);
}
diff --git a/WallpaperMaker.Tests/ElementAgregatorTests.cs b/WallpaperMaker.Tests/ElementAgregatorTests.cs
index c3e392a..d5c22b3 100644
--- a/WallpaperMaker.Tests/ElementAgregatorTests.cs
+++ b/WallpaperMaker.Tests/ElementAgregatorTests.cs
@@ -4,58 +4,6 @@ namespace WallpaperMaker.Tests;
public class ElementAgregatorTests
{
- private const string DefaultSeed = "330999996666001199999999999";
-
- [Fact]
- public void Constructor_ThrowsOnInvalidSeedLength()
- {
- Assert.Throws(() => new ElementAgregator("short", 1920, 1080));
- }
-
- [Fact]
- public void Constructor_AcceptsValidSeed()
- {
- var agg = new ElementAgregator(DefaultSeed, 1920, 1080);
- Assert.Equal(1920, agg.XResolution);
- Assert.Equal(1080, agg.YResolution);
- }
-
- [Fact]
- public void MakeAll_GeneratesShapesForAllEnabledTypes()
- {
- var agg = new ElementAgregator(DefaultSeed, 1920, 1080);
- agg.MakeAll();
-
- Assert.NotNull(agg.GetShapesByType(ShapeType.Rectangle));
- Assert.NotNull(agg.GetShapesByType(ShapeType.Square));
- Assert.Null(agg.GetShapesByType(ShapeType.Ellipse));
- Assert.NotNull(agg.GetShapesByType(ShapeType.Circle));
- }
-
- [Fact]
- public void MakeSome_OnlyCreatesSelectedShapes()
- {
- var agg = new ElementAgregator("999999999999999999999999999", 1920, 1080);
- bool[] toMake = { true, false, true, false, false, false, false, false, false };
- agg.MakeSome(toMake);
-
- Assert.NotNull(agg.GetShapesByType(ShapeType.Rectangle));
- Assert.Null(agg.GetShapesByType(ShapeType.Square));
- Assert.NotNull(agg.GetShapesByType(ShapeType.Ellipse));
- Assert.Null(agg.GetShapesByType(ShapeType.Circle));
- }
-
- [Fact]
- public void MakeAll_GeneratesCorrectShapeCount()
- {
- var agg = new ElementAgregator("111111111111111111111111111", 1920, 1080);
- agg.MakeAll();
-
- var rects = agg.GetShapesByType(ShapeType.Rectangle);
- Assert.NotNull(rects);
- Assert.Equal(5, rects!.Count);
- }
-
[Fact]
public void GenerateRegularPolygon_CreatesCorrectPointCount()
{
@@ -69,23 +17,6 @@ public void GenerateRegularPolygon_CreatesCorrectPointCount()
Assert.Equal(8, octagon.Length);
}
- [Fact]
- public void MakeAll_CreatesPolygonShapes()
- {
- var agg = new ElementAgregator("555555555555555555555555555", 1920, 1080);
- agg.MakeAll();
-
- Assert.NotNull(agg.GetShapesByType(ShapeType.Triangle));
- Assert.NotNull(agg.GetShapesByType(ShapeType.Pentagon));
- Assert.NotNull(agg.GetShapesByType(ShapeType.Hexagon));
- Assert.NotNull(agg.GetShapesByType(ShapeType.Octagon));
- Assert.NotNull(agg.GetShapesByType(ShapeType.Hourglass));
-
- var triangles = agg.GetShapesByType(ShapeType.Triangle)!;
- Assert.All(triangles, t => Assert.True(t.IsPolygon));
- Assert.All(triangles, t => Assert.Equal(3, t.Polygon!.Length));
- }
-
[Fact]
public void MakeFromConfig_GeneratesNewShapeTypes()
{
diff --git a/WallpaperMaker.Tests/GeneratorTests.cs b/WallpaperMaker.Tests/GeneratorTests.cs
index 534cc0a..f769571 100644
--- a/WallpaperMaker.Tests/GeneratorTests.cs
+++ b/WallpaperMaker.Tests/GeneratorTests.cs
@@ -10,89 +10,6 @@ private static Pallet CreateTestPallet()
return new Pallet("Test", new[] { "255,0,0", "0,255,0", "0,0,255", "255,255,255" });
}
- [Fact]
- public void Generate_ReturnsBitmapWithCorrectDimensions()
- {
- var pallet = CreateTestPallet();
- using var gen = new Generator(pallet, 200, 100, 0);
- using var bitmap = gen.Generate("330999996666001199999999999");
-
- Assert.Equal(200, bitmap.Width);
- Assert.Equal(100, bitmap.Height);
- }
-
- [Fact]
- public void Generate_WithSupersampling_ReturnsSmallerBitmap()
- {
- var pallet = CreateTestPallet();
- using var gen = new Generator(pallet, 200, 100, 2);
- using var bitmap = gen.Generate("330999996666001199999999999");
-
- Assert.Equal(200, bitmap.Width);
- Assert.Equal(100, bitmap.Height);
- }
-
- [Fact]
- public void Generate_ProducesNonEmptyImage()
- {
- var pallet = CreateTestPallet();
- using var gen = new Generator(pallet, 100, 100, 0);
- using var bitmap = gen.Generate("999999999999999999999999999");
-
- bool hasContent = false;
- for (int x = 0; x < bitmap.Width && !hasContent; x++)
- {
- for (int y = 0; y < bitmap.Height && !hasContent; y++)
- {
- if (bitmap.GetPixel(x, y).Alpha > 0)
- hasContent = true;
- }
- }
- Assert.True(hasContent);
- }
-
- [Fact]
- public void Generate_AllShapesEnabled_ProducesImage()
- {
- var pallet = CreateTestPallet();
- using var gen = new Generator(pallet, 200, 200, 0);
- using var bitmap = gen.Generate("999999999999999999999999999");
-
- Assert.Equal(200, bitmap.Width);
- Assert.Equal(200, bitmap.Height);
- }
-
- [Fact]
- public void Generate_OnlyRectangles_ProducesImage()
- {
- var pallet = CreateTestPallet();
- using var gen = new Generator(pallet, 200, 200, 0);
- using var bitmap = gen.Generate("500000000550000000000000000");
-
- Assert.Equal(200, bitmap.Width);
- Assert.Equal(200, bitmap.Height);
- }
-
- [Fact]
- public void Dispose_PreventsFurtherGeneration()
- {
- var pallet = CreateTestPallet();
- var gen = new Generator(pallet, 100, 100, 0);
- gen.Dispose();
-
- Assert.Throws(() => gen.Generate("330999996666001199999999999"));
- }
-
- [Fact]
- public void Generate_WithPolygonShapes_Works()
- {
- var pallet = CreateTestPallet();
- using var gen = new Generator(pallet, 200, 200, 0);
- using var bitmap = gen.Generate("000055500000000055555500000");
-
- Assert.Equal(200, bitmap.Width);
- }
-
[Fact]
public void Generate_WithConfig_ProducesImage()
{
diff --git a/WallpaperMaker/AppIcon.ico b/WallpaperMaker/AppIcon.ico
deleted file mode 100644
index 14aa0cf..0000000
Binary files a/WallpaperMaker/AppIcon.ico and /dev/null differ
diff --git a/WallpaperMaker/AppIcon.jpg b/WallpaperMaker/AppIcon.jpg
deleted file mode 100644
index 1186a06..0000000
Binary files a/WallpaperMaker/AppIcon.jpg and /dev/null differ
diff --git a/WallpaperMaker/ColorPicker.Designer.cs b/WallpaperMaker/ColorPicker.Designer.cs
deleted file mode 100644
index 033538a..0000000
--- a/WallpaperMaker/ColorPicker.Designer.cs
+++ /dev/null
@@ -1,218 +0,0 @@
-
-namespace WallpaperMaker.WinForm
-{
- partial class ColorPicker
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- this.lb_PalletsAvaliable = new System.Windows.Forms.ListBox();
- this.lbl_ColorsInPallet = new System.Windows.Forms.Label();
- this.lbl_PalletsAvaliable = new System.Windows.Forms.Label();
- this.bt_newPallet = new System.Windows.Forms.Button();
- this.bt_addColor = new System.Windows.Forms.Button();
- this.bt_DeleteColor = new System.Windows.Forms.Button();
- this.bt_DeletePallet = new System.Windows.Forms.Button();
- this.pb_ColorPreview = new System.Windows.Forms.PictureBox();
- this.bt_Done = new System.Windows.Forms.Button();
- this.lv_ColorsInPallet = new System.Windows.Forms.ListView();
- this.tb_newPalletName = new System.Windows.Forms.TextBox();
- this.bt_RenamePallet = new System.Windows.Forms.Button();
- this.tb_RenamedPallet = new System.Windows.Forms.TextBox();
- ((System.ComponentModel.ISupportInitialize)(this.pb_ColorPreview)).BeginInit();
- this.SuspendLayout();
- //
- // lb_PalletsAvaliable
- //
- this.lb_PalletsAvaliable.FormattingEnabled = true;
- this.lb_PalletsAvaliable.ItemHeight = 15;
- this.lb_PalletsAvaliable.Location = new System.Drawing.Point(341, 31);
- this.lb_PalletsAvaliable.Name = "lb_PalletsAvaliable";
- this.lb_PalletsAvaliable.Size = new System.Drawing.Size(115, 274);
- this.lb_PalletsAvaliable.TabIndex = 0;
- this.lb_PalletsAvaliable.SelectedIndexChanged += new System.EventHandler(this.lb_PalletsAvaliable_SelectedIndexChanged);
- //
- // lbl_ColorsInPallet
- //
- this.lbl_ColorsInPallet.AutoSize = true;
- this.lbl_ColorsInPallet.Location = new System.Drawing.Point(220, 13);
- this.lbl_ColorsInPallet.Name = "lbl_ColorsInPallet";
- this.lbl_ColorsInPallet.Size = new System.Drawing.Size(92, 15);
- this.lbl_ColorsInPallet.TabIndex = 2;
- this.lbl_ColorsInPallet.Text = "Colors in Pallet: ";
- //
- // lbl_PalletsAvaliable
- //
- this.lbl_PalletsAvaliable.AutoSize = true;
- this.lbl_PalletsAvaliable.Location = new System.Drawing.Point(341, 13);
- this.lbl_PalletsAvaliable.Name = "lbl_PalletsAvaliable";
- this.lbl_PalletsAvaliable.Size = new System.Drawing.Size(92, 15);
- this.lbl_PalletsAvaliable.TabIndex = 3;
- this.lbl_PalletsAvaliable.Text = "Pallets Avaliable";
- //
- // bt_newPallet
- //
- this.bt_newPallet.Location = new System.Drawing.Point(12, 9);
- this.bt_newPallet.Name = "bt_newPallet";
- this.bt_newPallet.Size = new System.Drawing.Size(75, 23);
- this.bt_newPallet.TabIndex = 4;
- this.bt_newPallet.Text = "New Pallet";
- this.bt_newPallet.UseVisualStyleBackColor = true;
- this.bt_newPallet.Click += new System.EventHandler(this.bt_newPallet_Click);
- //
- // bt_addColor
- //
- this.bt_addColor.Location = new System.Drawing.Point(12, 38);
- this.bt_addColor.Name = "bt_addColor";
- this.bt_addColor.Size = new System.Drawing.Size(75, 23);
- this.bt_addColor.TabIndex = 5;
- this.bt_addColor.Text = "Add Color";
- this.bt_addColor.UseVisualStyleBackColor = true;
- this.bt_addColor.Click += new System.EventHandler(this.bt_addColor_Click);
- //
- // bt_DeleteColor
- //
- this.bt_DeleteColor.Location = new System.Drawing.Point(12, 67);
- this.bt_DeleteColor.Name = "bt_DeleteColor";
- this.bt_DeleteColor.Size = new System.Drawing.Size(75, 44);
- this.bt_DeleteColor.TabIndex = 6;
- this.bt_DeleteColor.Text = "Delete Color";
- this.bt_DeleteColor.UseVisualStyleBackColor = true;
- this.bt_DeleteColor.Click += new System.EventHandler(this.bt_DeleteColor_Click);
- //
- // bt_DeletePallet
- //
- this.bt_DeletePallet.Location = new System.Drawing.Point(12, 117);
- this.bt_DeletePallet.Name = "bt_DeletePallet";
- this.bt_DeletePallet.Size = new System.Drawing.Size(75, 44);
- this.bt_DeletePallet.TabIndex = 7;
- this.bt_DeletePallet.Text = "Delete Pallet";
- this.bt_DeletePallet.UseVisualStyleBackColor = true;
- this.bt_DeletePallet.Click += new System.EventHandler(this.bt_DeletePallet_Click);
- //
- // pb_ColorPreview
- //
- this.pb_ColorPreview.Location = new System.Drawing.Point(93, 39);
- this.pb_ColorPreview.Name = "pb_ColorPreview";
- this.pb_ColorPreview.Size = new System.Drawing.Size(121, 122);
- this.pb_ColorPreview.TabIndex = 8;
- this.pb_ColorPreview.TabStop = false;
- //
- // bt_Done
- //
- this.bt_Done.Location = new System.Drawing.Point(12, 280);
- this.bt_Done.Name = "bt_Done";
- this.bt_Done.Size = new System.Drawing.Size(75, 23);
- this.bt_Done.TabIndex = 9;
- this.bt_Done.Text = "Done";
- this.bt_Done.UseVisualStyleBackColor = true;
- this.bt_Done.Click += new System.EventHandler(this.bt_Done_Click);
- //
- // lv_ColorsInPallet
- //
- this.lv_ColorsInPallet.HideSelection = false;
- this.lv_ColorsInPallet.Location = new System.Drawing.Point(220, 31);
- this.lv_ColorsInPallet.Name = "lv_ColorsInPallet";
- this.lv_ColorsInPallet.Size = new System.Drawing.Size(115, 274);
- this.lv_ColorsInPallet.TabIndex = 10;
- this.lv_ColorsInPallet.UseCompatibleStateImageBehavior = false;
- this.lv_ColorsInPallet.SelectedIndexChanged += new System.EventHandler(this.lv_ColorsInPallet_SelectedIndexChanged);
- //
- // tb_newPalletName
- //
- this.tb_newPalletName.Location = new System.Drawing.Point(93, 10);
- this.tb_newPalletName.Name = "tb_newPalletName";
- this.tb_newPalletName.Size = new System.Drawing.Size(121, 23);
- this.tb_newPalletName.TabIndex = 11;
- this.tb_newPalletName.Text = "NewPalletName";
- //
- // bt_RenamePallet
- //
- this.bt_RenamePallet.Location = new System.Drawing.Point(12, 167);
- this.bt_RenamePallet.Name = "bt_RenamePallet";
- this.bt_RenamePallet.Size = new System.Drawing.Size(75, 44);
- this.bt_RenamePallet.TabIndex = 12;
- this.bt_RenamePallet.Text = "Rename Pallet";
- this.bt_RenamePallet.UseVisualStyleBackColor = true;
- this.bt_RenamePallet.Click += new System.EventHandler(this.bt_RenamePallet_Click);
- //
- // tb_RenamedPallet
- //
- this.tb_RenamedPallet.Location = new System.Drawing.Point(93, 167);
- this.tb_RenamedPallet.Name = "tb_RenamedPallet";
- this.tb_RenamedPallet.Size = new System.Drawing.Size(121, 23);
- this.tb_RenamedPallet.TabIndex = 13;
- this.tb_RenamedPallet.Text = "Renamed Pallet";
- //
- // ColorPicker
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(468, 315);
- this.Controls.Add(this.tb_RenamedPallet);
- this.Controls.Add(this.bt_RenamePallet);
- this.Controls.Add(this.tb_newPalletName);
- this.Controls.Add(this.lv_ColorsInPallet);
- this.Controls.Add(this.bt_Done);
- this.Controls.Add(this.pb_ColorPreview);
- this.Controls.Add(this.bt_DeletePallet);
- this.Controls.Add(this.bt_DeleteColor);
- this.Controls.Add(this.bt_addColor);
- this.Controls.Add(this.bt_newPallet);
- this.Controls.Add(this.lbl_PalletsAvaliable);
- this.Controls.Add(this.lbl_ColorsInPallet);
- this.Controls.Add(this.lb_PalletsAvaliable);
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
- this.MaximizeBox = false;
- this.MinimizeBox = false;
- this.Name = "ColorPicker";
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
- this.Text = "ColorPicker";
- this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.ColorPicker_FormClosing);
- this.Load += new System.EventHandler(this.ColorPicker_Load);
- ((System.ComponentModel.ISupportInitialize)(this.pb_ColorPreview)).EndInit();
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private System.Windows.Forms.ListBox lb_PalletsAvaliable;
- private System.Windows.Forms.Label lbl_ColorsInPallet;
- private System.Windows.Forms.Label lbl_PalletsAvaliable;
- private System.Windows.Forms.Button bt_newPallet;
- private System.Windows.Forms.Button bt_addColor;
- private System.Windows.Forms.Button bt_DeleteColor;
- private System.Windows.Forms.Button bt_DeletePallet;
- private System.Windows.Forms.PictureBox pb_ColorPreview;
- private System.Windows.Forms.Button bt_Done;
- private System.Windows.Forms.ListView lv_ColorsInPallet;
- private System.Windows.Forms.TextBox tb_newPalletName;
- private System.Windows.Forms.Button bt_RenamePallet;
- private System.Windows.Forms.TextBox tb_RenamedPallet;
- }
-}
\ No newline at end of file
diff --git a/WallpaperMaker/ColorPicker.cs b/WallpaperMaker/ColorPicker.cs
deleted file mode 100644
index 1d5fc32..0000000
--- a/WallpaperMaker/ColorPicker.cs
+++ /dev/null
@@ -1,274 +0,0 @@
-using SkiaSharp;
-using WallpaperMaker.Domain;
-
-namespace WallpaperMaker.WinForm;
-
-public partial class ColorPicker : Form
-{
- internal List ExistingPallets { get; private set; }
- private Pallet? selectedPallet { get; set; }
- private ListViewItem? selectedColor { get; set; }
-
- internal ColorPicker(List PalletList)
- {
- InitializeComponent();
- ExistingPallets = PalletList;
- }
-
- private void ColorPicker_Load(object sender, EventArgs e)
- {
- initForm();
- }
-
- private void lb_PalletsAvaliable_SelectedIndexChanged(object sender, EventArgs e)
- {
- if (lb_PalletsAvaliable.SelectedItem != null)
- {
- selectedPallet = findPalletByName(lb_PalletsAvaliable.SelectedItem.ToString()!);
- FillColorList();
- }
- }
-
- private void bt_newPallet_Click(object sender, EventArgs e)
- {
- AddPallet();
- refreshLists();
- }
-
- private void bt_addColor_Click(object sender, EventArgs e)
- {
- AddColor();
- refreshLists();
- }
-
- private void lv_ColorsInPallet_SelectedIndexChanged(object sender, EventArgs e)
- {
- ListView.SelectedIndexCollection indices = lv_ColorsInPallet.SelectedIndices;
- if (indices.Count > 0)
- {
- selectedColor = lv_ColorsInPallet.Items[indices[0]];
- updatePreview();
- }
- }
-
- private void bt_Done_Click(object sender, EventArgs e)
- {
- if (!ValidatePallets()) return;
- SaveAndClose();
- }
-
- private void bt_DeleteColor_Click(object sender, EventArgs e)
- {
- if (selectedColor != null && lv_ColorsInPallet.Items.Contains(selectedColor))
- {
- deleteColor();
- refreshLists();
- }
- else
- {
- MessageBox.Show("Select a color to delete", "Select Color First!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- }
- }
-
- private void bt_DeletePallet_Click(object sender, EventArgs e)
- {
- if (selectedPallet != null && lb_PalletsAvaliable.Items.Contains(selectedPallet.Name))
- {
- deletePallet();
- refreshLists();
- }
- else
- {
- MessageBox.Show("Select a Pallet to delete", "Select Pallet First!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- }
- }
-
- private void bt_RenamePallet_Click(object sender, EventArgs e)
- {
- if (selectedPallet != null && lb_PalletsAvaliable.Items.Contains(selectedPallet.Name))
- {
- RenamePallet();
- refreshLists();
- }
- else
- {
- MessageBox.Show("Select a Pallet to rename", "Select Pallet First!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- }
- }
-
- // Internal methods
- private void initForm()
- {
- if (ExistingPallets.Count == 0) return;
- FillPalletList();
- lb_PalletsAvaliable.SelectedIndex = 0;
- selectedPallet = ExistingPallets[0];
- FillColorList();
- }
-
- private Pallet? findPalletByName(string name)
- {
- return ExistingPallets.FirstOrDefault(p => p.Name == name);
- }
-
- private void FillPalletList()
- {
- lb_PalletsAvaliable.Items.Clear();
- foreach (Pallet item in ExistingPallets)
- {
- lb_PalletsAvaliable.Items.Add(item.Name);
- }
- }
-
- private void FillColorList()
- {
- lv_ColorsInPallet.Clear();
- if (selectedPallet == null) return;
-
- foreach (SKColor col in selectedPallet.Colors)
- {
- var lv = new ListViewItem($"{col.Red},{col.Green},{col.Blue}");
- lv.BackColor = WinFormUtils.SKColorToDrawingColor(col);
- lv_ColorsInPallet.Items.Add(lv);
- }
- }
-
- private void AddColor()
- {
- if (selectedPallet == null) return;
-
- using var cd = new ColorDialog();
- DialogResult result = cd.ShowDialog();
- if (result != DialogResult.OK) return;
-
- Color newColor = cd.Color;
- pb_ColorPreview.BackColor = newColor;
-
- var skColor = WinFormUtils.DrawingColorToSKColor(newColor);
- selectedPallet.AddColor(skColor);
-
- var lv = new ListViewItem($"{newColor.R},{newColor.G},{newColor.B}");
- lv.BackColor = newColor;
- lv_ColorsInPallet.Items.Add(lv);
- }
-
- private void AddPallet()
- {
- if (findPalletByName(tb_newPalletName.Text) != null)
- {
- MessageBox.Show("This Pallet name is already taken. Please choose another", "InvalidName", MessageBoxButtons.OK, MessageBoxIcon.Error);
- return;
- }
- ExistingPallets.Add(new Pallet(tb_newPalletName.Text, Array.Empty()));
- }
-
- private void refreshLists()
- {
- FillPalletList();
- FillColorList();
- if (ExistingPallets.Count < 1)
- {
- lv_ColorsInPallet.Refresh();
- return;
- }
- if (selectedPallet != null)
- lb_PalletsAvaliable.SelectedIndex = findInListBox(selectedPallet.Name);
- }
-
- private int findInListBox(string name)
- {
- for (int i = 0; i < lb_PalletsAvaliable.Items.Count; i++)
- {
- if (lb_PalletsAvaliable.Items[i].ToString() == name)
- return i;
- }
- return 0;
- }
-
- private void deleteColor()
- {
- if (selectedPallet == null || selectedColor == null) return;
-
- DialogResult results = MessageBox.Show("Are you sure? This cannot be undone.", "Confirm Delete", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
- if (results != DialogResult.OK) return;
-
- string[] parts = selectedColor.Text.Split(',');
- if (parts.Length >= 3)
- {
- byte r = byte.Parse(parts[0]);
- byte g = byte.Parse(parts[1]);
- byte b = byte.Parse(parts[2]);
- var colorToRemove = new SKColor(r, g, b);
- selectedPallet.RemoveColor(colorToRemove);
- }
- lv_ColorsInPallet.Items.Remove(selectedColor);
- }
-
- private void deletePallet()
- {
- DialogResult results = MessageBox.Show("Are you sure? This cannot be undone.", "Confirm Delete", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
- if (results == DialogResult.OK && selectedPallet != null)
- {
- ExistingPallets.Remove(selectedPallet);
- selectedPallet = ExistingPallets.FirstOrDefault();
- }
- }
-
- private void updatePreview()
- {
- ListView.SelectedIndexCollection indices = lv_ColorsInPallet.SelectedIndices;
- if (indices.Count > 0)
- {
- string[] color = lv_ColorsInPallet.Items[indices[0]].Text.Split(',');
- if (color.Length >= 3)
- pb_ColorPreview.BackColor = Color.FromArgb(255, int.Parse(color[0]), int.Parse(color[1]), int.Parse(color[2]));
- lv_ColorsInPallet.SelectedIndices.Clear();
- }
- }
-
- private void ColorPicker_FormClosing(object sender, FormClosingEventArgs e)
- {
- if (!ValidatePallets())
- {
- e.Cancel = true;
- return;
- }
- Properties.Settings.Default.UserColorPallets = Utilities.PackUpUserColorPallets(ExistingPallets);
- Properties.Settings.Default.Save();
- }
-
- private bool ValidatePallets()
- {
- if (ExistingPallets.Count < 1)
- {
- MessageBox.Show("There needs to be at least 1 Pallet with 1 Color!", "Not Enough Pallets!", MessageBoxButtons.OK, MessageBoxIcon.Error);
- return false;
- }
- foreach (Pallet item in ExistingPallets)
- {
- if (item.Colors.Count < 1)
- {
- MessageBox.Show("There needs to be at least 1 Color in each Pallet!", "Not Enough Colors!", MessageBoxButtons.OK, MessageBoxIcon.Error);
- return false;
- }
- }
- return true;
- }
-
- private void SaveAndClose()
- {
- Properties.Settings.Default.UserColorPallets = Utilities.PackUpUserColorPallets(ExistingPallets);
- Properties.Settings.Default.Save();
- this.Close();
- }
-
- private void RenamePallet()
- {
- if (findPalletByName(tb_RenamedPallet.Text) != null)
- {
- MessageBox.Show("This Pallet name is already taken. Please choose another", "InvalidName", MessageBoxButtons.OK, MessageBoxIcon.Error);
- return;
- }
- selectedPallet?.Rename(tb_RenamedPallet.Text);
- }
-}
diff --git a/WallpaperMaker/ColorPicker.resx b/WallpaperMaker/ColorPicker.resx
deleted file mode 100644
index 919be7c..0000000
--- a/WallpaperMaker/ColorPicker.resx
+++ /dev/null
@@ -1,63 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- True
-
-
\ No newline at end of file
diff --git a/WallpaperMaker/Form1.Designer.cs b/WallpaperMaker/Form1.Designer.cs
deleted file mode 100644
index fc4125f..0000000
--- a/WallpaperMaker/Form1.Designer.cs
+++ /dev/null
@@ -1,259 +0,0 @@
-
-namespace WallpaperMaker.WinForm
-{
- partial class frm_Main
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frm_Main));
- this.bt_Exit = new System.Windows.Forms.Button();
- this.bt_SaveOutput = new System.Windows.Forms.Button();
- this.bt_Generate = new System.Windows.Forms.Button();
- this.lbl_Preview = new System.Windows.Forms.Label();
- this.pb_Preview = new System.Windows.Forms.PictureBox();
- this.tb_xRes = new System.Windows.Forms.TextBox();
- this.tb_yRes = new System.Windows.Forms.TextBox();
- this.label1 = new System.Windows.Forms.Label();
- this.label2 = new System.Windows.Forms.Label();
- this.bt_AutoDetect = new System.Windows.Forms.Button();
- this.cb_MSLevel = new System.Windows.Forms.ComboBox();
- this.lbl_MultiSample = new System.Windows.Forms.Label();
- this.bt_Settings = new System.Windows.Forms.Button();
- this.bt_Colors = new System.Windows.Forms.Button();
- this.cb_CollorPalletUsed = new System.Windows.Forms.ComboBox();
- this.lbl_ColorPalletUsed = new System.Windows.Forms.Label();
- ((System.ComponentModel.ISupportInitialize)(this.pb_Preview)).BeginInit();
- this.SuspendLayout();
- //
- // bt_Exit
- //
- this.bt_Exit.Location = new System.Drawing.Point(797, 39);
- this.bt_Exit.Name = "bt_Exit";
- this.bt_Exit.Size = new System.Drawing.Size(75, 23);
- this.bt_Exit.TabIndex = 0;
- this.bt_Exit.Text = "Exit";
- this.bt_Exit.UseVisualStyleBackColor = true;
- this.bt_Exit.Click += new System.EventHandler(this.bt_Exit_Click);
- //
- // bt_SaveOutput
- //
- this.bt_SaveOutput.Location = new System.Drawing.Point(174, 12);
- this.bt_SaveOutput.Name = "bt_SaveOutput";
- this.bt_SaveOutput.Size = new System.Drawing.Size(75, 23);
- this.bt_SaveOutput.TabIndex = 1;
- this.bt_SaveOutput.Text = "Save Image";
- this.bt_SaveOutput.UseVisualStyleBackColor = true;
- this.bt_SaveOutput.Click += new System.EventHandler(this.bt_SaveOutput_Click);
- //
- // bt_Generate
- //
- this.bt_Generate.Location = new System.Drawing.Point(12, 12);
- this.bt_Generate.Name = "bt_Generate";
- this.bt_Generate.Size = new System.Drawing.Size(75, 23);
- this.bt_Generate.TabIndex = 6;
- this.bt_Generate.Text = "Generate";
- this.bt_Generate.UseVisualStyleBackColor = true;
- this.bt_Generate.Click += new System.EventHandler(this.bt_Generate_Click);
- //
- // lbl_Preview
- //
- this.lbl_Preview.AutoSize = true;
- this.lbl_Preview.Location = new System.Drawing.Point(12, 51);
- this.lbl_Preview.Name = "lbl_Preview";
- this.lbl_Preview.Size = new System.Drawing.Size(54, 15);
- this.lbl_Preview.TabIndex = 7;
- this.lbl_Preview.Text = "Preview: ";
- //
- // pb_Preview
- //
- this.pb_Preview.Location = new System.Drawing.Point(12, 69);
- this.pb_Preview.Name = "pb_Preview";
- this.pb_Preview.Size = new System.Drawing.Size(860, 369);
- this.pb_Preview.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
- this.pb_Preview.TabIndex = 8;
- this.pb_Preview.TabStop = false;
- //
- // tb_xRes
- //
- this.tb_xRes.Location = new System.Drawing.Point(469, 13);
- this.tb_xRes.MaxLength = 5;
- this.tb_xRes.Name = "tb_xRes";
- this.tb_xRes.Size = new System.Drawing.Size(100, 23);
- this.tb_xRes.TabIndex = 9;
- this.tb_xRes.Leave += new System.EventHandler(this.tb_xRes_Leave);
- //
- // tb_yRes
- //
- this.tb_yRes.Location = new System.Drawing.Point(469, 40);
- this.tb_yRes.MaxLength = 5;
- this.tb_yRes.Name = "tb_yRes";
- this.tb_yRes.Size = new System.Drawing.Size(100, 23);
- this.tb_yRes.TabIndex = 10;
- this.tb_yRes.Leave += new System.EventHandler(this.tb_yRes_Leave);
- //
- // label1
- //
- this.label1.AutoSize = true;
- this.label1.Location = new System.Drawing.Point(356, 43);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(107, 15);
- this.label1.TabIndex = 11;
- this.label1.Text = "Vertical resolution: ";
- //
- // label2
- //
- this.label2.AutoSize = true;
- this.label2.Location = new System.Drawing.Point(336, 16);
- this.label2.Name = "label2";
- this.label2.Size = new System.Drawing.Size(127, 15);
- this.label2.TabIndex = 12;
- this.label2.Text = "Horizontal Resolution: ";
- //
- // bt_AutoDetect
- //
- this.bt_AutoDetect.Location = new System.Drawing.Point(575, 12);
- this.bt_AutoDetect.Name = "bt_AutoDetect";
- this.bt_AutoDetect.Size = new System.Drawing.Size(75, 51);
- this.bt_AutoDetect.TabIndex = 13;
- this.bt_AutoDetect.Text = "Auto Detect";
- this.bt_AutoDetect.UseVisualStyleBackColor = true;
- this.bt_AutoDetect.Click += new System.EventHandler(this.bt_AutoDetect_Click);
- //
- // cb_MSLevel
- //
- this.cb_MSLevel.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cb_MSLevel.FormattingEnabled = true;
- this.cb_MSLevel.Location = new System.Drawing.Point(656, 40);
- this.cb_MSLevel.Name = "cb_MSLevel";
- this.cb_MSLevel.Size = new System.Drawing.Size(53, 23);
- this.cb_MSLevel.TabIndex = 15;
- //
- // lbl_MultiSample
- //
- this.lbl_MultiSample.AutoSize = true;
- this.lbl_MultiSample.Location = new System.Drawing.Point(656, 16);
- this.lbl_MultiSample.Name = "lbl_MultiSample";
- this.lbl_MultiSample.Size = new System.Drawing.Size(126, 15);
- this.lbl_MultiSample.TabIndex = 16;
- this.lbl_MultiSample.Text = "Multi-Sampling Level: ";
- //
- // bt_Settings
- //
- this.bt_Settings.Location = new System.Drawing.Point(93, 12);
- this.bt_Settings.Name = "bt_Settings";
- this.bt_Settings.Size = new System.Drawing.Size(75, 23);
- this.bt_Settings.TabIndex = 17;
- this.bt_Settings.Text = "Settings";
- this.bt_Settings.UseVisualStyleBackColor = true;
- this.bt_Settings.Click += new System.EventHandler(this.bt_Settings_Click);
- //
- // bt_Colors
- //
- this.bt_Colors.Location = new System.Drawing.Point(255, 12);
- this.bt_Colors.Name = "bt_Colors";
- this.bt_Colors.Size = new System.Drawing.Size(75, 23);
- this.bt_Colors.TabIndex = 18;
- this.bt_Colors.Text = "Colors";
- this.bt_Colors.UseVisualStyleBackColor = true;
- this.bt_Colors.Click += new System.EventHandler(this.bt_Colors_Click);
- //
- // cb_CollorPalletUsed
- //
- this.cb_CollorPalletUsed.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cb_CollorPalletUsed.FormattingEnabled = true;
- this.cb_CollorPalletUsed.Location = new System.Drawing.Point(209, 40);
- this.cb_CollorPalletUsed.Name = "cb_CollorPalletUsed";
- this.cb_CollorPalletUsed.Size = new System.Drawing.Size(121, 23);
- this.cb_CollorPalletUsed.TabIndex = 19;
- this.cb_CollorPalletUsed.TabStop = false;
- this.cb_CollorPalletUsed.SelectedIndexChanged += new System.EventHandler(this.cb_CollorPalletUsed_SelectedIndexChanged);
- //
- // lbl_ColorPalletUsed
- //
- this.lbl_ColorPalletUsed.AutoSize = true;
- this.lbl_ColorPalletUsed.Location = new System.Drawing.Point(100, 43);
- this.lbl_ColorPalletUsed.Name = "lbl_ColorPalletUsed";
- this.lbl_ColorPalletUsed.Size = new System.Drawing.Size(103, 15);
- this.lbl_ColorPalletUsed.TabIndex = 20;
- this.lbl_ColorPalletUsed.Text = "Color Pallet Used: ";
- //
- // frm_Main
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.AutoSize = true;
- this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
- this.ClientSize = new System.Drawing.Size(881, 450);
- this.Controls.Add(this.lbl_ColorPalletUsed);
- this.Controls.Add(this.cb_CollorPalletUsed);
- this.Controls.Add(this.bt_Colors);
- this.Controls.Add(this.bt_Settings);
- this.Controls.Add(this.lbl_MultiSample);
- this.Controls.Add(this.cb_MSLevel);
- this.Controls.Add(this.bt_AutoDetect);
- this.Controls.Add(this.label2);
- this.Controls.Add(this.label1);
- this.Controls.Add(this.tb_yRes);
- this.Controls.Add(this.tb_xRes);
- this.Controls.Add(this.pb_Preview);
- this.Controls.Add(this.lbl_Preview);
- this.Controls.Add(this.bt_Generate);
- this.Controls.Add(this.bt_SaveOutput);
- this.Controls.Add(this.bt_Exit);
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
- this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
- this.MaximizeBox = false;
- this.Name = "frm_Main";
- this.Text = "WallpaperMaker";
- this.Load += new System.EventHandler(this.frm_Main_Load);
- ((System.ComponentModel.ISupportInitialize)(this.pb_Preview)).EndInit();
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private System.Windows.Forms.Button bt_Exit;
- private System.Windows.Forms.Button bt_SaveOutput;
- private System.Windows.Forms.Button bt_Generate;
- private System.Windows.Forms.Label lbl_Preview;
- private System.Windows.Forms.PictureBox pb_Preview;
- private System.Windows.Forms.TextBox tb_xRes;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.Button bt_AutoDetect;
- private System.Windows.Forms.TextBox tb_yRes;
- private System.Windows.Forms.ComboBox cb_MSLevel;
- private System.Windows.Forms.Label lbl_MultiSample;
- private System.Windows.Forms.Button bt_Settings;
- private System.Windows.Forms.Button bt_Colors;
- private System.Windows.Forms.ComboBox cb_CollorPalletUsed;
- private System.Windows.Forms.Label lbl_ColorPalletUsed;
- }
-}
-
diff --git a/WallpaperMaker/Form1.cs b/WallpaperMaker/Form1.cs
deleted file mode 100644
index f25502e..0000000
--- a/WallpaperMaker/Form1.cs
+++ /dev/null
@@ -1,257 +0,0 @@
-using System.Drawing.Imaging;
-using SkiaSharp;
-using WallpaperMaker.Domain;
-
-namespace WallpaperMaker.WinForm;
-
-public partial class frm_Main : Form
-{
- internal List avaliablePallets { get; set; } = new();
- internal Pallet? PalletInUse { get; set; }
- internal Bitmap? finishedArt { get; set; }
- private SKBitmap? _skBitmap;
- public int xRes { get; set; }
- public int yRes { get; set; }
-
- public frm_Main()
- {
- InitializeComponent();
- initFormElements();
- }
-
- // UI EVENTS
- private void frm_Main_Load(object sender, EventArgs e)
- {
- if (avaliablePallets.Count > 0 && (PalletInUse == null || cb_CollorPalletUsed.SelectedIndex != avaliablePallets.IndexOf(PalletInUse)))
- {
- cb_CollorPalletUsed.SelectedIndex = 0;
- PalletInUse = avaliablePallets[0];
- }
- }
-
- private void bt_AutoDetect_Click(object sender, EventArgs e)
- {
- fillResolutionBoxes();
- setPreviewSize();
- }
-
- private async void bt_Generate_Click(object sender, EventArgs e)
- {
- bt_Generate.Enabled = false;
- try
- {
- await beginGeneratorAsync();
- }
- catch (Exception ex)
- {
- MessageBox.Show($"Generation failed: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- finally
- {
- bt_Generate.Enabled = true;
- }
- }
-
- private void bt_Exit_Click(object sender, EventArgs e)
- {
- Application.Exit();
- }
-
- private void bt_Resize_Click(object sender, EventArgs e)
- {
- setPreviewSize();
- updateMSList();
- }
-
- private void tb_xRes_Leave(object sender, EventArgs e)
- {
- if (!int.TryParse(tb_xRes.Text, out _))
- {
- tb_xRes.Text = WinFormUtils.GrabXRes().ToString();
- MessageBox.Show("This is a number only field");
- return;
- }
- setPreviewSize();
- updateMSList();
- }
-
- private void tb_yRes_Leave(object sender, EventArgs e)
- {
- if (!int.TryParse(tb_yRes.Text, out _))
- {
- tb_yRes.Text = WinFormUtils.GrabYRes().ToString();
- MessageBox.Show("This is a number only field");
- return;
- }
- setPreviewSize();
- updateMSList();
- }
-
- private void bt_SaveOutput_Click(object sender, EventArgs e)
- {
- SaveOutput();
- }
-
- private void bt_Settings_Click(object sender, EventArgs e)
- {
- var settings = new SettingsPannel();
- settings.ShowDialog();
- }
-
- private void bt_Colors_Click(object sender, EventArgs e)
- {
- var colors = new ColorPicker(avaliablePallets);
- colors.ShowDialog();
- avaliablePallets = colors.ExistingPallets;
- updatePalletUsed();
- }
-
- private void cb_CollorPalletUsed_SelectedIndexChanged(object sender, EventArgs e)
- {
- if (cb_CollorPalletUsed.SelectedIndex >= 0 && cb_CollorPalletUsed.SelectedIndex < avaliablePallets.Count)
- PalletInUse = avaliablePallets[cb_CollorPalletUsed.SelectedIndex];
- }
-
- // Form Functions
- private void updatePalletUsed()
- {
- updateAvaliablePallets();
- if (PalletInUse == null || !avaliablePallets.Contains(PalletInUse))
- {
- if (avaliablePallets.Count > 0)
- {
- PalletInUse = avaliablePallets[0];
- cb_CollorPalletUsed.SelectedIndex = 0;
- }
- }
- else if (cb_CollorPalletUsed.SelectedIndex >= 0)
- {
- PalletInUse = avaliablePallets[cb_CollorPalletUsed.SelectedIndex];
- }
- }
-
- private void updateAvaliablePallets()
- {
- cb_CollorPalletUsed.Items.Clear();
- foreach (Pallet item in avaliablePallets)
- {
- cb_CollorPalletUsed.Items.Add(item.Name);
- }
- }
-
- private void initFormElements()
- {
- fillResolutionBoxes();
- setPreviewSize();
- updateMSList();
- Size size = new Size(xRes / 2, yRes / 2);
- pb_Preview.MaximumSize = size;
- avaliablePallets = Utilities.UnpackUserColorPallets(Properties.Settings.Default.UserColorPallets);
- if (File.Exists(Path.Combine("Resources", "ColorPallets.json")))
- {
- avaliablePallets.AddRange(Utilities.UnpackExternalColorPallets());
- }
- updatePalletUsed();
- if (cb_CollorPalletUsed.Items.Count > 0)
- cb_CollorPalletUsed.SelectedIndex = 0;
- }
-
- private void fillResolutionBoxes()
- {
- tb_xRes.Text = WinFormUtils.GrabXRes().ToString();
- tb_yRes.Text = WinFormUtils.GrabYRes().ToString();
- }
-
- private void setPreviewSize()
- {
- if (int.TryParse(tb_xRes.Text, out int x) && int.TryParse(tb_yRes.Text, out int y))
- {
- xRes = x;
- yRes = y;
- }
- pb_Preview.Width = xRes / 2;
- pb_Preview.Height = yRes / 2;
- }
-
- private async Task beginGeneratorAsync()
- {
- finishedArt?.Dispose();
- finishedArt = null;
- _skBitmap?.Dispose();
- _skBitmap = null;
-
- int MSLevel = cb_MSLevel.SelectedIndex;
- setPreviewSize();
-
- if (PalletInUse == null) return;
-
- _skBitmap = await Task.Run(() =>
- {
- using var gen = new Generator(PalletInUse, xRes, yRes, MSLevel);
- return gen.Generate(Properties.Settings.Default.Seed);
- });
-
- finishedArt = WinFormUtils.SKBitmapToWinFormsBitmap(_skBitmap);
- pb_Preview.Image = finishedArt;
- }
-
- private void SaveOutput()
- {
- if (_skBitmap == null)
- {
- MessageBox.Show("There is nothing to save yet!", "Nothing to save!", MessageBoxButtons.OK, MessageBoxIcon.Error);
- return;
- }
-
- using var saveFileDialog1 = new SaveFileDialog();
- saveFileDialog1.Filter = "PNG Image|*.png|JPeg Image|*.jpg|Bitmap Image|*.bmp";
- saveFileDialog1.Title = "Save an Image File";
-
- if (saveFileDialog1.ShowDialog() != DialogResult.OK || string.IsNullOrEmpty(saveFileDialog1.FileName))
- return;
-
- using var image = SKImage.FromBitmap(_skBitmap);
- var format = saveFileDialog1.FilterIndex switch
- {
- 1 => SKEncodedImageFormat.Png,
- 2 => SKEncodedImageFormat.Jpeg,
- 3 => SKEncodedImageFormat.Bmp,
- _ => SKEncodedImageFormat.Png
- };
-
- using var data = image.Encode(format, 95);
- using var fs = File.OpenWrite(saveFileDialog1.FileName);
- data.SaveTo(fs);
- }
-
- private void updateMSList()
- {
- int prevSelectedIndex = cb_MSLevel.SelectedIndex;
- cb_MSLevel.Items.Clear();
- double maxSize = Math.Pow(2, 32);
- for (int i = 0; i <= 32; i++)
- {
- double resSize = (double)xRes * i * yRes * i * 4;
- if (resSize < maxSize && resSize >= 0)
- {
- cb_MSLevel.Items.Add(i);
- }
- else
- {
- break;
- }
- }
- if (prevSelectedIndex >= cb_MSLevel.Items.Count)
- {
- cb_MSLevel.SelectedIndex = cb_MSLevel.Items.Count - 1;
- }
- else if (prevSelectedIndex > 0)
- {
- cb_MSLevel.SelectedIndex = prevSelectedIndex;
- }
- else if (cb_MSLevel.Items.Count > 0)
- {
- cb_MSLevel.SelectedIndex = 0;
- }
- }
-}
diff --git a/WallpaperMaker/Form1.resx b/WallpaperMaker/Form1.resx
deleted file mode 100644
index a46eaf0..0000000
--- a/WallpaperMaker/Form1.resx
+++ /dev/null
@@ -1,2830 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- True
-
-
-
-
- AAABAAEAyMgAAAEAIAAIhwIAFgAAACgAAADIAAAAkAEAAAEAIAAAAAAAAHECAMIeAADCHgAAAAAAAAAA
- AADw+P//9vz///3+////+/L////u////5P//7cL/gEUT/4Y+CP+PPwT/lj4C/5Y/Af+UQAD/kEAA/41B
- AP+NQQD/kEAB/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+QPwL/jTsB/4Y9Cf/nrof////m///46P//9ur////4///36v///+v//927/4ZH
- G/+ANgD/jD0A/408AP+cSgP/lUUA/41BAP+LQQH/i0AC/41AAv+PPwL/kj8B/5c/AP+bQAD/nD8A/5k+
- AP+LNAD/nk4T/4Q9C/9uMAf/ekEh/7mSfP////j/////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////P6///4/P///vv9////9///+uH////i/6h6S/98QAz/iD4G/5A+
- BP+UPgL/lj8B/5Q/Af+QQAD/jUEA/41BAP+QQAH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Av+hTxX/eS4A/6RoPv//2Lf////t////
- 8f////L////w///qzv/Cjmn/fTsL/4Y7A/+VRgf/mEcD/44+AP+IOgD/jUEA/4tBAf+LQAL/jUAC/5A/
- Av+SPwH/lz8A/5tAAP+fQgD/nkMA/5pGBf+GOQD/gj4P/3tAGf+JVjb//+PP////+f//////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////+Pv///j3/////v7///zs////
- 5//rw5n/bTgF/34+BP+LPgX/kD8C/5Q9BP+WPgL/lD8B/5BAAP+PQQD/j0EA/5BAAf+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8C/487
- Af+AMgD/ezoN/7B8VP/+1bX///nc///u1P//6cz/vYll/3M2Cv+KQQ3/jD4D/4w8AP+XRgP/izoA/5FD
- AP+NQQD/jUAB/41AAv+PPwL/kD8C/5Q/Af+ZPwD/mz8A/5g9AP+gSQf/lUQH/3YuAP+ISx//YC0M/920
- m/////H////7////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///9+v////z/////+f//++b////h/4lbLP+ARQ3/hkAE/48/Av+UPgL/lj0E/5Y9BP+UPgL/kj8B/5BA
- AP+QQQD/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwL/lD0E/51LFP+COwn/bTED/3xIH/+EUyv/dkUd/3ZAF/9+QBL/aCEA/5lM
- FP+FNAD/jDoA/5lIBf+QQQD/lEYD/49BAP+PQAH/jz8C/5A/Av+SPwL/lj8B/5k/AP+bPwD/mT8A/5U+
- AP+KOwL/hEEQ/3A5Ev+OZEf///7q////9P////v/////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////30/////P///+/n////6//EnHL/aTMA/4xKD/+NQAH/kj8B/5Y+
- Av+XPQT/lj0E/5Q+Av+SPwH/kkAA/5JBAP+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5Q+Av+VPAP/izYA/4o8B/+KRA//fDsI/28z
- AP95Ogf/ikgT/4xBCf+RQQb/mEIG/4YvAP+hTQz/mUcG/44/AP+JPAD/kEAA/5BAAf+QPwL/kj8C/5Q+
- Av+WPwH/mT8A/5k/AP+hSQn/hjMA/4k/Cf+HSx3/ZDYU///lzf//++z////4/////P//////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////v////9////+u7//+3Q/3xN
- If90OQH/iUIC/44+AP+WPwD/lz0C/5c9BP+WPAX/lj0E/5Q/Af+SQAD/kkEA/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/lD8B/55E
- C/+PNgD/kD0F/5BDCv+GPQH/jEQI/5FICv+FNgD/lkIB/6VODP+SNgD/lDoA/6ZPD/+FMgD/hDcA/5VI
- Cv+QQAH/kkAA/5Q/Af+UPgL/lj4C/5c9Av+ZPgH/mT8A/5dAAv+PPwT/gTwK/3A5Dv+5knL////u////
- 9f////v////+////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////+/////z9///15/+rhWf/cT0O/4FCBv+MQAD/lEEA/5c/AP+ZPgH/lz0E/5Y8Bf+WPQT/lD4C/5RA
- AP+UQAD/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+UPwH/ljwD/51DCv+ZQQX/iTYA/4o6AP+fUQz/oE4H/4cyAP+UOAD/pEQA/5k4
- AP+kRgT/lDwA/4IxAP+JPQL/l0sQ/5I/Af+UQAD/lj8B/5Y/Af+WPgL/lz0C/5k+Af+ZPgH/kDgA/5ZH
- Dv98OQj/kV01///z1///8OD////5//78+///////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////18f///vX/7sex/2Y4Fv9vNQT/ikYL/4w+AP+aRgT/l0AA/5k/
- AP+XPQL/lj0E/5Q9BP+SPwL/kj8B/5JAAP+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5Q/Af+VOwD/m0EG/5U+AP+TPwD/l0MB/4s5
- AP+OOQD/qU8I/6VGAP+gQQD/nT4A/6JHBP+JMgD/olEU/5pMEf9+LwD/kD4E/5I/Av+SPwH/kkAA/5Y/
- AP+ZPwD/nT8A/5s+Af+ZRQv/gDcF/3tDGv/atJT////r////9f/38O3///////////////7/////////
- /v/////////+//////////7//////////v/////////+//////////7/////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////3l///02P+RWzr/ez4W/3Y0
- A/+QRg7/lUUI/4w6AP+UQAD/lkAA/5Y/AP+UPwH/kj8B/5A/Av+PPwL/jz8C/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5Q/
- Af+UPwH/lD8B/5I/Af+SQAD/kkAA/5RAAP+WQAD/lkAA/5ZAAP+WPwD/lj8A/5Q/Af+SPwH/kD8C/48+
- Bf+SPwz/jTwJ/45DBf+PRAD/jz4A/5hCAP+nRQD/nTwA/4w3Bf9/QRn/gV9C////8P////f/7/Ds///9
- /v///v/////+/////P////7////8/////v////z////+/////P////7////8/////v////z////+////
- /P////7////+////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////9//3J54/4BAF/96Nwr/h0AO/4o/B/+QQAX/lUIE/5RAAP+UQAD/lEAA/5JAAP+SPwH/jz8C/48/
- BP+PPwL/kD8C/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kD4E/5E9Df+OPAz/jEMF/4tDAP+MPgD/mUQA/6REAP+ZPAD/kkQW/2ky
- E//w2MT////0//b9+P/4//////3////+//////7////8/////P////z////8/////P////z////8////
- /P////z////8/////P////z////8/////P////7/////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////kvP+ERBv/eDcL/3k0A/+NRBD/iDsC/44+Af+WQwX/lEAA/5ZA
- AP+UQAD/kkAA/5I/Af+PPwL/jz8E/48/Av+QPwL/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPgT/jzsH/5E/CP+RQgP/jkAA/5JB
- AP+aRQD/nEIB/406A/9+ORH/toZq////8f////f/+v/7//H39v//////+Pb2/////v////7////+////
- /v////7////+/////v////7////+/////v////7////+/////v////7////+/////v//////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////yoZb/2onAP+NSBf/gTgG/4g9
- Bf+LPQL/k0ME/5I+AP+WQAD/lkAA/5RAAP+SQAD/kj8B/48/Av+PPwT/jz8E/5A/Av+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Av+POwH/kz8F/5M/AP+VQAD/m0YA/5lFA/+NPQL/fjkI/4dRLv//+OD///3w////+f////7/7PHw//3/
- ///2+ff////+/////v////7////+/////v////7////+/////v////7////+/////v////7////+////
- /v////7////+////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //+FPQ3/gDkH/5JHE/+IPQX/iDoA/5BAAf+YRAP/kjwA/5ZAAP+WQQD/lEAA/5JAAP+SPwH/jz8C/48/
- BP+PPwT/kD8C/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5E+AP+XQAD/lTsA/5o+AP+eRgb/jT0C/3k3BP93Qxr/2bKW////
- 8P////f///f0/////v/9////4Ofk//r//v/9//7////+/////v////7////+/////v////7////+////
- /v////7////+/////v////7////+/////v////7/////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////34yAP+VShL/gDMA/5BABf+PPwD/k0EA/5dBAP+XQQD/l0AA/5ZB
- AP+WQAD/kkAA/5BAAf+PPwL/jT4F/48/BP+QPwL/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SQAD/lkMA/5lCAP+aOgD/nTwA/5pA
- B/9+MgD/eEEW/5ZxT////+7///To///++///9/f///n6/////v/v+/X/9v/8//v//v////7////+////
- /v////7////+/////v////7////+/////v////7////+/////v////7////+/////v//////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////kEAF/5ZGC/+DMgD/lkMF/5RA
- AP+VPwD/l0EA/5hBAP+XQAD/lkEA/5ZAAP+SQAD/kEAB/48/Av+NPgX/jz8E/5A/Av+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5RA
- AP+XQwD/nEQA/508AP+fPAL/lDsI/3gwBv+PZEP/2sSr////9P/99/D///j4///9/////f//9vTz//T/
- /P/s/PX/+//+////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //+XRAb/jjsA/5dEBv+bRwb/kTsA/5M9AP+aQwD/kzwA/5dAAP+WQAD/lEAA/5JAAP+QPwL/jz8C/48/
- BP+PPwT/kD8C/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/lEAA/5RBAP+cRQD/nz0A/6A+CP+QOw7/dTYU/6iGbv////L/+/zz////
- /v///f////z////9//////7/8f/6//H//P/6//7/////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////5RAAP+UQAD/lEAA/5ZAAP+WQAD/l0AA/5dAAP+XQAD/lkAA/5ZA
- AP+UQAD/kkAA/5A/Av+PPwL/jz8E/48/BP+QPwL/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+UQAD/lUIA/5lEAP+bPgH/iy8A/49B
- Hf98Ri3////v//788v/6//7/+v/////9/////f////3//////v/0//z/8f/8//r//v//////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////lEAA/5RAAP+WQAD/lkAA/5ZB
- AP+WQQD/l0AA/5ZAAP+WQAD/lEAA/5JAAP+SPwH/kEAB/5A/Av+PPwT/kD8C/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5JB
- AP+SQAD/mEYA/4kyAP+YRxr/dDIV/+C1ov////f////8//b////2//////3////9/////v/////+//b/
- /v/z//7/+P38//39/f/9/f3//Pz8//v7+//9/f3/////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //+UQAD/lEAA/5RAAP+UQAD/lEAA/5RAAP+WQAD/lEAA/5RAAP+SQAD/kj8B/5I/Af+QQAH/kEAB/5A/
- Av+QPwL/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kkAA/48+AP+MPgD/iT0I/3YxCv+mclv////y///++v/7////9v////j/
- /////v////7////+//////7/+P/+//b////5/v3///7////+/////v////7///v6/P/5+Pr/+/r8///+
- /////v////7////+/////v////7////+/////v//////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////5RAAP+SQAD/lEAA/5JAAP+UQAD/kkAA/5JAAP+SQAD/kj8B/5I/
- Af+SPwH/kj8B/5BAAf+QQAH/kEAB/5BAAf+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/jj4A/4xDB/+APg7/bzsX//rV
- wf////f/+vLy//3+///6////+v////////////7////+/////v/7////+v////n7/P/7+vz//Pv9//79
- /////v////7////+/////v////7////+/////v////7////+/////v////7////+////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////kj8B/5BAAf+SPwH/kEAB/5I/
- Af+QQAH/kEAB/5BAAf+QPwL/kEAB/5BAAf+QQAH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5A/
- Av+PPwT/jUcS/2UvBv/Jo4X///vr////+f/68/b///7////+/////v///f/+//3//v/9//7//f////3/
- /////v////7////+///8+/3/+vn7//79/////v////7////+/////v////7////+/////v////7////+
- /////v////7/////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //+QPwL/jz8C/5A/Av+PPwL/kD8C/48/Av+PPwT/jz8C/5A/Av+QPwL/kD8C/5BAAf+SPwH/kkAA/5JA
- AP+SQAD/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kD8C/41ACP92NAT/g1cy///84v///vH/+PTz///9////+/////3////+
- ///9//z/+v/8//r//v/7//////3////8///69vv/+vn7//79/////v////7///79///7+vz/+fj6///+
- /////v////7////+/////v////7////+/////v//////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////48/BP+NPwT/jz8E/40/BP+PPwT/jT8E/40+Bf+NPwT/jz8E/48/
- Av+QPwL/kEAB/5I/Af+SQAD/lEAA/5RAAP+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+PPwT/ij4K/3s+Ev/cuZf////u////
- +P/s7u7///z////5/////P////7+//3/+//4//v/9v/8//r//////P////v////8/////v////7////+
- ///p6Oz/4uHl//Hw9P///v////7////+/////v////7////+/////v////7////+////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////jz8E/48/Av+PPwT/jz8E/48/
- BP+PPwT/jz8E/48/BP+PPwT/kD8C/5A/Av+QQAH/kj8B/5JAAP+UQAD/lEAA/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+QQAD/kEAA/5BA
- Af+SPwL/lD0E/5Q9BP+UPQT/lD0E/5Q+Av+UPwH/kkAA/5JAAP+SQAD/kkAA/5JAAP+SQAD/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5BA
- AP+QQAD/kkAA/5I/Af+SPwH/kj8B/5I/Av+SPwL/kD8C/5A/Av+QPwL/kD8C/5I/Af+SPwH/lD8B/4s+
- Bv96OhH/nG5P////6v////D////7//v////p5er///z////9/////v7//f/8//r//P/4//7/+//////8
- ////+/////z////3///d0N7/l4mb/1VEWf9CMEf/ZlVq/4+Bk///+v////z////9/////v////7////+
- /////v////7////+////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //+QPwL/kEAB/5A/Av+QPwL/kD8C/5A/Av+QPwL/kD8C/5A/Av+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kEAA/4xEAP+GPgD/lUYH/5I+BP+TNwT/mjsK/50+Df+dPgz/mj8I/5Y/Af+YRAL/lkMA/5ND
- AP+PPwD/izgA/5pGBP+SQAD/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+QQAD/j0EA/49CAP+QQQD/kkAA/5I/Af+UPgL/kj4E/5A9Bf+OPQT/lUQL/4o6
- AP+KOgD/nksO/5ZABP+KMQD/j0UV/187I//r3NP////4///++f////7/+fv7///+///++/3///7/////
- //////7//f/+//3////9//////7////9////8/////X//4tqjP9jOmf/Wypi/248dv9iMWf/XTRh/6KE
- of/+6/r///3///r38//7+fj////////9/////f////7/////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+QQAD/hz8A/4lCAP+PRAb/hDYB/4UzBP+NOQ//jDcP/4g1
- CP+EMwD/fS4A/45BAv+VRwT/iz0A/5REAP+bSAT/kj4A/5JAAP+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5BAAP+PQQD/jUIA/49BAP+QQAD/kj8B/5I/
- Av+SPQX/kD0F/488BP+PPgX/kD8G/449BP+OPAL/hzMA/6NME/9sKwD/rJeI//j4+P///////v7+////
- ///39/f///////////////////////////////////////////////////3////5///Uts//XTNc/3VA
- ef9yNHr/bCt2/2kscP91Q3n/ZkNl/+DI2v///f/////6/////P///////vz///v4/////v//////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5BAAf+QQgD/jkMF/3w2
- AP+CQhL/n2Q8/7+KZf/GlHD/yJdx/6FvQf95Qg//dzsA/4hFBv+FOwD/kUEA/6JODP+RPQD/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5BA
- AP+PQQD/j0EA/49AAf+QQAH/kD8C/5I/Av+SPgT/kz8F/486Av+SPwf/lEEK/4Y2AP+GOQH/kkYR/4lR
- KP//8OP///////r6+v////////////b29v//////////////////////////////////////////////
- /////v////n//8Cluf9SLFD/YC9j/2AnZv9xNnr/ajNy/1AgVP9NLUz/18LR///+///+/vj////8//3/
- ///7+f////z////+////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5dBBf+LOwT/dTMC/6l3Tf/kwp7///HR///31///+tn/9d64/7CNYf9yQg7/djsD/4pC
- Bv+MPAD/lUIE/5dCBP+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8C/5A/Av+PPwL/j0AB/41AAf+PQAH/kEAB/5Q/Af+aQgb/lTwD/5A4
- Av+WQw//iT0J/4tGFf90Ngb/6LuZ////9f//////8/Pz////////////+fn5///////8/Pz/////////
- ///////////////////////////////+///+8vj/uKOy/2E/Xv9xRnP/azhx/2Etaf9mM2z/eU9+/15A
- Xf/fztz///7///v79f/9//z/+vz8//n3/f///P////7/////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+UPgL/kTYA/4o3BP+GSiD/5cOf////4//9/+3/5vng/+j6
- 3f///+n/8OC7/4tmOv9oMwD/jUcR/4w+A/+KNwD/mkUH/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Av+WPAX/lD0F/48/BP+NQAL/i0EA/4tC
- AP+QQQD/lEAA/5xCAv+bPwT/kDQA/5A9Cv+FPxD/czkP/6J0S////+f////3//r6+v/6+vr///////7+
- /v/8/Pz///////r6+v/////////////////////////////////////////////+///czdX/b1Jr/1As
- UP9mOmn/aDpu/1QnWP9cOWH/gWiC/+ba5v//////+//6//3//v/7////9/f9//39/////v//////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5Y+Av+YOAP/kDsN/5pk
- O///89D////t/9X13P/F7Nb/1Pbe/+Lv1f///+f/sY5m/2w2B/+LRxL/kUIJ/4s6AP+TQAL/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/lD4C/5c7
- Bv+WOwj/kD0F/4tAAv+JQgD/iUMA/49DAP+WQQD/mj4A/509Af+VOQT/hTUG/3w7FP9tPRn//+LB////
- 7P////n/////////////////+fn5//7+/v///////f39////////////////////////////////////
- ///////////+///9//+7pbf/XT9c/1s2XP9rRW//Xjhi/2FDZv/Ou9D///j////////4/vn/+//+//n+
- /f/8/P///f3////+////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/lj4C/6E/Cf+RPQ3/mGY8///71//s/uH/yfHY/9D+6P/g//D/2OXN////5P+7kWz/ez8R/4xD
- D/+NPwT/kEEC/40/AP+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+UPQT/lzsI/5c6Cf+QPQb/i0AC/4hCAP+JQwD/j0QA/5ZCAP+cPgD/mzsA/5k+
- C/+AMgf/fEQh/7KNcf///+v///vp////+/////////////7+/v/8/Pz/////////////////////////
- /////////////////////////////////v/x8Oz////+///6///izN//spSx/45vkP+vkLH//uf////4
- /////P///P7+//f++//4/v3/9fn6//3+///9/v////7/////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+WPgL/nD0F/4c0AP+OXC7///fQ/+f21//U9Nv/3P/q/9fx
- 2v///+n///DS/7J9WP+LRRb/kkUN/4Y2AP+ORQH/jkMA/5BAAP+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5Q9BP+XOgn/lzkL/5A9Bv+LQAL/iUIA/4lE
- AP+PRAD/lkIA/55CAf+XOwD/kz4O/3w1D/+CUzT///Db//355/////j/+/z4//39/f///////Pz8////
- /////////Pz8///////////////////////////////////////////////+////+//+/fn///3////5
- ////9/////P////z////9/////r///v5///z9/j/+v////r////5/f7//f7///Tz9////v//////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5Q/Af+qTxL/fCwA/3tG
- E//HroL//fza//L/5P/m89v/+fff////6v/ksZH/nlYu/446Cv+UQAb/kEEA/4hDAP+PSgH/j0EA/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/lD0E/5c6
- Cf+WOgv/kD0G/41AAv+LQQD/i0MA/5BDAP+UQgD/mEAA/5E8BP+HOQv/cjQQ/+C3oP////H//v/3//f/
- +//9//7/////////////////////////////////////////////////////////////////////////
- //////7//f/5////+////v////z////5////+P////j////5////+////f3///r////4////+v////v/
- /////v////7/////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/lEAA/4ozAP+LPAD/fUQM/4NgLv+zonv/9evJ////5P//79T/16SE/7JrRv+ROg7/kDQA/5g/
- Av+RQAD/hEAA/4ZCAP+PQQD/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPgT/lDsI/5Q7Cf+SPAb/jz8C/49BAP+PQgD/kEIA/5JBAP+OPQD/j0MO/3k3
- Dv+jcFD////t//7y5v/7//z/9P/9//v/////////////////////////////////////////////////
- //////////////////////////////3//v/7//v//f/5/////v///f////v////6////+v////v////8
- ///7/v//+v////j////6////+///////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+UQAD/nkgC/5pMB/9+PwL/YzEA/2U+Ef+AXDT/kGNB/45W
- M/+RRiD/jzgM/5QxAP+cOQD/n0MC/5ZEAP+HQwD/hkIA/49BAP+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Av+QPQb/kDwI/5I9Bf+SPwL/lEAA/5RA
- AP+SQQD/j0AB/4g+Bv97PAr/ekYh//zXu/////H///jx//v////1/P///f//////////////////////
- /////////////////////////////////////////////////////////f/+//r/+//7//v////8////
- /v///f////z////7/////P////3///v+///6////+v////v////9//////7////+////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5RAAP+WQQD/izsA/4U+
- AP+JShD/gkkW/3U8D/94OA//ikAW/4o0Bv+XOAb/oTwF/6E+AP+cQAD/lkMA/41FAP+JQgD/j0EA/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kD8C/40+
- Bf+PPgX/kj4E/5Y+Av+ZPgH/mT4B/5Q/Af+LPgX/hEMQ/2AtAv/Am3n////r//nu4P////z/9vf7//r9
- ///9////////////////////////////////////////////////////////////////////////////
- ///9//7/+v/+//r//P////z////+/////v///v////3////9///9/f//+/7///r////6/////f//////
- //////7////+////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/lEAA/486AP+VQwD/kEIA/4M6AP99NAD/gDYG/4M1Bv+CMAD/lDwG/5xCCf+gQwb/mDsA/5E6
- AP+RPwD/j0ID/4w/AP+QQAH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+PQAH/iUAC/4lAAv+SPwL/mT4B/588Av+fPAL/ljwF/4g9Cf9xOQr/elYu////
- 4////+n///7z/////v//+/////z////+////////////////////////////////////////////////
- //////////////////////////////3////6////+v////3//v////7////+/////v///v////7///3+
- ///7/v//+v7///v+/////v/////+/////P////z////+////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+UQAD/kDsA/5hCAP+VQQD/jToA/447BP+aRhL/nkoW/5hF
- Dv+PPAD/lUAC/5VBAP+QPAD/jzwA/5VCBf+UQQn/kD0F/5I/Av+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/41AAf+GQgD/hkIA/5JAAP+dPQH/pDsC/6I7
- BP+WOwj/hDwM/2U1C//XvZn////q//X34/////n///7///3y+v//+/////7/////////////////////
- /////////////////////////////////////////////////////////f////r////6/////f//////
- /v////z////8/////v///v///f7///v+///6/v//+/7////+//////7////7////+/////7/////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5RAAP+dRgP/mUAA/5k/
- AP+cQgf/mT8I/4w0AP+CLwD/hDQA/4g+AP+KQAD/i0IA/4tBAP+PQgT/lEEJ/5U/C/+UOwj/kj4E/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/jUEA/4JE
- AP+ERAD/kkEA/58+AP+nOgL/pjkF/5c6Cf+COw//onlS////4//4++H/+//0//f88////////u32///6
- /////v//////////////////////////////////////////////////////////////////////////
- ///9////+v////r////9///////+/////P////z////+///////9/v//+/7///r9///7/v////7/////
- /v////v////7/////v//////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/lEAA/5A6AP+XQAD/m0EB/5U7AP+WPAP/mkMK/5ZECv+QQAP/j0UD/4xFAf+LRAH/ikMA/4w/
- Af+NOgL/kDcE/5A3BP+UPQT/lD4C/5Q+Av+UPgL/lD4C/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+NQgD/hkQA/4hEAP+UQAD/nT0B/6Q6BP+fOQn/jzkP/3k6FP/93Lv////q//z/
- 8P/2//f/7vf0//79////+v////j////+////////////////////////////////////////////////
- //////////////////////////////3////7/v//+/7///3///////7////8/////P////7///////3+
- ///7/v//+/7///3+/////v/////+////+/////v////+////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////f////3////9////+/7///3+
- ///9/v///f////////////7////8/////P////z////8/////v////////7/////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/lEAA/5RAAP+UPwH/lD8B/5Q+Av+SPwL/kj8C/5BA
- Af+QQAH/j0EA/49AAf+PQAH/kEAB/5I/Av+SPgT/lD0E/5Y8Bf+XPAX/lj0E/5Y9BP+WPQT/lD4C/5Q+
- Av+UPgL/kj8B/5I/Af+SQAD/kkAA/5JAAP+SQAD/kkAA/5BCAP+TSQH/jUEA/5A6AP+SOAD/pEgV/4s1
- C/96MxH/w5N3////7f////L/+P/4//P//v/2////+/3////6////+v////3/////////////////////
- //////////////////////////////////////////////////////////////3////9////////////
- //////7////+//////////////7///3////9//////7////////////////+/////v//////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////////////////////3/
- ///4/f7/+P////j+///y+P//8vb///j8///7/v///v7+////+/////f////z////9f////j////8///9
- ///7+v7///7/////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+UPgL/lzwF/5c7
- Bv+XPAX/ljwF/5Y9BP+WPQT/lD4C/5Q+Av+SPwH/kj8B/5JAAP+SQAD/kkAA/5JAAP+SQQD/kkEA/49A
- AP+NPgD/o08N/5A8Av+GNAT/iUAa/4pTNP//7tj////y////+P/2//z/8/////b////6/P////r////7
- /////f//////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////f////r////0/Pz/+P7///r8///6/P//+vv///f4/P///v3////5////
- 8/////H////z////+P////z///7///38/////v//////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5Q+Av+WPQT/ljwF/5Y8Bf+WPAX/lj0E/5Q9BP+UPgL/lD4C/5I/Af+SPwH/lD8B/5Q/
- Af+UQAD/lEAA/5RAAP+UQAD/lkIA/448AP+QPgD/iToB/4Q8Df94Ohb/67yh////7v////X////5//r/
- /v/2////+P7///v9/////P////3////+////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////9/////f/+//j7+f/18/L/+vX2//31
- 9v/68vL///r3////+/////j//v/2//v+9f/8/vj//v/9/////////f////3////+////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8C/5Q9BP+UPQX/lD0F/5Q9Bf+UPQT/lD0E/5Q+
- Av+UPgL/kj8B/5I/Af+UPwH/lD8B/5RAAP+UQAD/lEAA/5ZAAP+gSgT/jjkA/4M0AP+PRxH/cjUJ/6Fw
- UP///+v///zt////+P////z/+/////r////6////+/7///3+/////v//////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /v/4+PL////4////9/////X////0////9P////X////1////+f////z/+P79//b+/v/5/v///f7////9
- /////f////7/////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwL/kj4E/5I+
- BP+SPgT/kj4E/5I+BP+SPgT/lD4C/5Q+Av+UPgL/lD4C/5Q/Af+UPwH/lD8B/5Q/Af+WPwD/l0AA/51F
- AP+ROwD/kkkN/4VJFf9tPxb//93A///35f////f////8///+/////v///f7///3+///7////+/////v/
- /v//////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////8////9/////H///rk///lyv//3b///+nN///54v///+/////5//3/
- ///0/v//8f7///X8///6/P////3////9////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+QPwL/kD4E/5A+BP+SPgT/kj4E/5I+BP+UPgL/lD4C/5Q+Av+UPgL/lD8B/5Q/
- Af+UPwH/lD8B/5Y/AP+XPwD/kjgA/51ICv+EPwb/YS0A/8mng////+r////y////+////v////3////9
- /////f////7///3//v/6//z/+v/8//3//v//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////v////x//bhxv/VtZL/zaN5/82b
- bf/SoXX/8Mah///x2P////b//f////H9///t/f//9Pz///r8/////f7///39///+////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kEAB/48/Av+PPwL/jz8C/5A/Av+SPwL/kj8C/5Q+
- Av+UPgL/lj4C/5Y+Av+WPgL/lj4C/5Q/Af+UPwH/lD8B/5Y/Af+ROAD/mkoP/2ktAP+FWzD////j//75
- 5P////j/7vTz//v+////+/////v////9/////////f/8//r/+P/6//n//f/+////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- +P//79X/3r6a/8yhcP/fqG//56hr/9maXv/XonD/4ryZ///56f/6+vr/8f3//+38///0/P//+/v////8
- +v///fr////+////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+QQAH/jz8C/41A
- Av+PPwL/jz8C/5I/Av+SPwL/lD4C/5Q+Av+WPgL/lj4C/5Y+Av+UPgL/lD8B/5I/Af+SPwH/kj8C/5VA
- CP+CNwP/cz8R/+rLpP//+t3////0//P/+f/0////+P3///37////+/////3//////v////n/+v/3//j/
- +P/9//z/////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////3/+3Yuf/ZtYf/0Jti/+KjX//3rWX/76dh/9ufY//JnnP///Pe//n1
- 9P/w+v//7/z///b8////+/////74////+P////z/////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5BAAf+NQAH/jUAB/49AAf+PQAH/kj8C/5I/Av+UPgL/lj4C/5U9Af+TOwD/lT8D/5Q+
- Av+MOQD/kD8C/5ZFCP+PPgX/jD8O/3QzB/+kd1H////m////7v/v+ez/8f///+z7/v/2/P//+/v////7
- /////f/////+////+f/6//f/+v/3//3//P//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////f/7NGv/86jcP/ZoGL/8a1k/+ia
- Tf/soFT/8bFx/9Khc//44Mj/+fPs//b+///z/P//+Pv////+//////f////0/////P//////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kEAB/41AAf+NQAH/j0AB/5BAAf+SPwL/lD4C/5Y+
- Av+WPgL/lT0B/5U9Af+VPwP/kD0A/4o5AP+PPwL/kUQG/4c9Bf+BPRL/dkAd///hwf//+eD////y//j/
- +f/m9vX/7/////T9///7+/////z////9//////7////5//v/9//7//j//f/8////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- 9f/227n/0qd0/9SdYP/3tG///rNn//SrYf/lpmn/x5lq///v1f//+/H/+/7///X9///6+/////7+////
- 9f////X////8////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+QQAH/j0EA/41B
- AP+PQAH/kEAB/5I/Af+UPwH/lj4C/5c9Av+UPAD/lT8D/5M/Bf+OPAL/iz0C/45CB/+MQwf/fTsG/2Yx
- DP/FnYH////r////8P////P/+P/5//T////v+///9P7///r9/////f////7//////v////v////4//3/
- +f////7/////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////3///01P/jvI//x5hi/9ifYv/lpWT/3J5e/92lbv/iuI7///7k////
- 9f////7/+f3+//v7+/////z////3////9v////z/////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5BAAf+PQQD/j0EA/5BAAf+SPwH/lD8B/5Y/Af+XPQL/lz0C/5Q8AP+VPwP/jz0D/44+
- A/+QRAn/jEQI/4Q+Av90OQf/e1M2///86///+On////1///78v/q6+f/+v///+ny9f/2////+P7///v+
- ///9///////+/////P////v////7/////v//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////j////q///mv//fuY//0KR1/9Wi
- cP/TonL/67+W///z0v///+3////0////+//6/fv///38/////P////n///z4/////v//////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5BAAP+QQAD/kkAA/5RAAP+WPwH/lz4B/5c+
- Af+XPgH/lj4C/5ZABP+MOgD/ij4D/49GDP+CPgP/ejgA/3hEFf/RtqH////3////+P///ff///v3////
- /P/8+vn//f////j////2////9v////j////9//7////+/////P////z/////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- +f///+/////q///z2f/428D/+di+//bYvf//58/////u////8v////X////5//7/+/////7////////+
- ////+vv/////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kEAA/5JA
- AP+UQAD/lj8A/5c+Af+XPgH/mT4B/5k+Af+ZPwT/l0EF/4o6AP+IPwP/ikQJ/3g2AP+ERgr/oXRI////
- 8P///Pv////8//bp5////vz///78//718v////7/+v/+//b//v/0//7/9P/+//r///////////7////+
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////8///78P////T////1///78f////j////4///89P////j////1////
- 9v////j//f/8//v////7/v//+/3///r5/////v//////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SQAD/kkEA/5RAAP+WPwD/lz8A/5k/AP+bPgH/mT4B/5c9Av+XQQX/jDwB/4pB
- Bf+GQgf/eDkA/6hsMf/0yp/////1//f8/////P7///T2///8/v//9PP///38///++//9//z/9v/8//H/
- /P/z//7/+P/////+/////f////3////+////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////7/+//6//3//P/5+/z/9vn+//38
- ///9/P///fv///79//////z////7////+f/7//z/+v////X9///0+///9vz///v+////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5BAAP+SQAD/lj8B/5c+Af+ZPgH/lz4B/5Y/
- AP+UQAD/jjwA/5JCAf+OPgH/jEII/4RAC/94PQv/wI9h////5P////n/7/X6///9/////f///+/y///8
- /v//+Pb////8//3//P/4//z/9P/8//T//v/4//////7////9/////f////7/////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////////////////////3/
- ///7////9/z9//X7///2/f//9vz///H3///0+f//+/7///3////9//z//f/7//v//P/5/v//8/v///T8
- ///2/P//+/7/////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+QQAH/jUAC/48/
- Av+XPQT/mzsF/5k8BP+WPgL/jUIA/4lEAP+LRQD/kUgA/4o7AP+MPAX/hUEW/4BNLf//++b///7y////
- /P/9//////7////+/////v////7//////v////7////+//3//v/7//7/+/////3/////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////3////9/////f////v+///7/v//+/7///3+///9////////////
- /v////7//f/+//3////7////+/7///v+///9////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5BAAf+NQAL/jz8E/5c8Bf+bOwX/mTwF/5Q+Av+JQgD/hkUA/4dFAP+PSQD/gjMA/5xQ
- G/91NRL/4bah///+9f////7/////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kEAB/5BAAf+QPwL/ljwF/5c8Bf+WPAX/kj8C/41C
- AP+LQwD/ikMA/4Y+AP+NQwP/dzUC/7B8WP///+z////4////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/lD8B/5Q/
- Af+WPQT/lD0E/5Q9BP+SPwL/kEAA/49CAP+OQQD/iUIA/4pIDf9yOgv//+HB////8P//9/P//v7+////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5Q/Af+XPwD/lz8A/5Q/Af+QPwL/kD8C/5I/Av+UPwH/lEAA/5FBAv+ORQv/cjkF/8uh
- d////+n////y//779//9////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/lj8A/5s/AP+ZPwD/kEAA/41AAf+NQAL/kD8C/5c9
- Av+XPQT/kz0H/3s0Av+OXTH///zZ////7P/5+Or//f/+//j7///9////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+WPwD/nT8A/5s/
- AP+PQQD/iUEB/4lAAv+PPwT/lzwF/5k6CP+POQv/hUEW/+K7lf///+n////x/+/47v/6////9/z///3/
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5Y/AP+fPgD/mz8A/49BAP+IQQH/hkEC/4s/BP+WOwj/ljkM/4c0Dv+xdFL////l////
- 7v/6//f/8//8/93n5//6/////f//////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/lj8A/6FAAP+hRQT/hTkA/4A8AP+TUBH/jkUL/4Uw
- AP+WQRn/hjsb///exP///+7////z//P/+//r/vv/9P////n+///9////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+WPwH/nT4A/5k/
- AP+OQgD/hUEA/4RBBP97NQD/mUwe/3IoBP/VmH7///vo////9f/6//j/8f/+/+f5+P/2////+/7///3/
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5Q/Af+XPgH/kzwA/5NEBf+ORwj/fTkA/3s7Bf+HRhr/jFEx///w2/////L///z3//j/
- ///z////6vf5//j////9////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5ZABP+SPwL/jj4B/5JJC/+DPgX/gkYS/2s3
- Dv/ovqH////w////+P/18/P/+P////b////y+fz/+/////39/f//////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+QPwL/jz8E/5JB
- CP+MOgD/kUMI/4lBC/90Ogn/nnVO////6f////T//Pv3//X4/P/6/f//+fv///n6/v///////Pr5////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5A/Av+JPAP/jD8H/5A9Bf+KOQD/iEAK/3hAEf//5r/////r////9//4////+vz///37
- ///58/7///v//////v////v////+////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/jz8C/4g+Bv+HOwb/lD8H/4k2AP+USRX/x5Nk////
- 4v/+/+X/9P/4/+/////4/P///fj////1/////P/////8////+/////7/////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////lkAA/5ZAAP+UQAD/lEAA/5Q/
- Af+SPwH/kj8C/5I/Av+SPwL/kj8C/5I/Av+SPwH/kj8B/5RAAP+UQAD/kkAA/5BAAf+QQAH/kD8C/5I/
- Av+SPwL/lD4C/5Y+Av+WPgL/lj4C/5Y/Af+WPwH/lj8B/5Q/Af+UPwH/lD8B/5JAAP+UQAD/lEAA/5RA
- AP+UPwH/lD4C/5Q+Av+SPwL/kD8C/5BAAf+PQAH/j0AB/49AAf+QQAH/kj8B/5I/Av+QPgT/kEML/4g6
- Bf+OPgn/hDgH/5VYLP//+NH////h////8v/v//f/7/7///n7///89f////r////9////+/j////8////
- /v//////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////v////7////+/////v//////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //+WOwD/nEQA/5pCAP+XQAD/mUIC/5U/A/+OOQH/jjsE/5A9Bv+QPQb/kD0F/5I/Av+UQAD/lkAA/5ZB
- AP+UQQD/j0AB/41AAv+PPwT/kD4E/5Q9BP+XPQT/mzwE/508BP+fOwT/nTwC/508Av+bPgH/mT4B/5c/
- AP+WPwD/lEAA/5ZBAP+WQQD/l0AA/5c+Af+XPAX/ljwG/5I9Bf+PPwT/i0AC/4lBAf+JQgD/iUIA/41A
- Af+QPwL/lD0E/5Y9BP+ZPwb/jDkC/4pCEv9pMgv/5can////7f////X/+P/5//j////7/v////3////9
- /////f////////v//v/6//7//f//////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////7///3+///9/f///f7///3+///9/////f////3/
- ///9///////+/////v////7////+/////v////7////+/////v//////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////6RQCP+QOwD/kT4A/5hEAv+QOwD/lD4C/5pFDf+TPgb/kj0F/5I9
- Bf+SPgT/lD4C/5RAAP+UQAD/lkEA/5JBAP+NQAH/iz8E/40/BP+QPgT/lD0E/5c9BP+bOwX/nTwE/587
- BP+fPAL/nTwC/5s+Af+ZPgH/lz8A/5Y/AP+UQQD/lEIA/5ZCAP+XQAD/lz0C/5k8Bf+WPAb/kjwG/48+
- Bf+LQAL/iEIA/4hDAP+JQgD/jUEA/5A/Av+UPQT/lzwF/5Y5Af+bRxP/czQI/6R7Wv///+n//fzu//r/
- /P/4////+/7////+/////f////7//////v/9//7/+P////b////7////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////v///f7///39
- ///9/f///f7///3////9/////f////3//v////7////+/////P////z////+/////v////7////+////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////czEA/41KE/+EPwb/fDMA/5VH
- DP+ZSAv/jjcA/5E5AP+ZPwD/mT8A/5c/AP+WPwD/lEAA/5I/Af+QQAH/j0AB/41AAf+NQAL/jz8C/5A/
- Av+SPwL/lD4C/5Y9BP+XPQL/mT0C/5c9Av+XPQL/lj8B/5Q/Af+UQAD/kkAA/5JBAP+SQgD/lEIA/5Y/
- AP+WPgL/lzwF/5Y8Bv+SPAb/kD4E/41AAf+JQgD/iUIA/4tCAP+PQQD/kEAB/5Q9BP+WPAX/kzsF/4w/
- Dv98RBv//+LE////8P////j/+P/+//X+///7/v////7////9/////v/////+/////v/6////+P////3/
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////9/////f7///3+///9/////f////3////9/////f/+//3//v/9//z////8////
- /P////z////8/////P////7/////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //+8jmz/dkQg/2kzCv+FSRv/gDwH/4A0AP+VQQD/nEMA/51AAP+dQQD/m0AA/5dAAP+UQAD/kD8C/40/
- BP+NPwT/j0AB/49AAf+PQAH/kEAB/5BAAf+QQAH/kEAB/5I/Af+SPwL/kj8B/5I/Af+QQAH/kEAB/5BA
- Af+QQAH/kEEA/5BCAP+SQgD/lEAA/5Q+Av+UPQX/lD0F/5Q9Bf+QPwL/j0AB/41CAP+NQgD/j0IA/5BA
- AP+SPwH/lD0E/5I8Bv+TRBP/bSkA/9Kifv///+r///bo//3/+//z/f3/8f3///r//////v////7////+
- //////7////+//v////7/////f//////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////3////9/////f////3////9/////f////3/
- /v/9//7//f/8//3//P////z////8/////P////z////8/////P//////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////8v/kxrX/glxE/1gqCP+BSBv/lFEa/4s8AP+UPgD/nUEA/59C
- AP+dQQD/mUEA/5RAAP+PPwT/iz4G/4s+Bf+QQAH/kkAA/5JAAP+QQAD/j0EA/41BAP+NQQD/i0EA/4tB
- Af+LQQH/i0EB/41AAf+NQAH/jUAB/41AAf+PQQD/j0IA/5BCAP+QQAD/kj8C/5I+BP+UPQX/lD0E/5I/
- Af+QQAD/kEIA/5BCAP+QQgD/kkAA/5I/Av+SPQX/jTwJ/386D/+GUSz////m///34/////j/+f/9//T/
- ///0////+v/////+/////v////7+///+/v////7///////3/////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////f////v/
- /v/7////+//+//3//v/9//7//f/+//3//v/9//7//f/+//3//v/9//7//f/8//3//P/9//z//f/8////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////X1///++/////T/0rKb/3BD
- If9iKgD/hkEI/40/AP+WQQD/mUEA/5lBAP+XQAD/kkAA/48/BP+LPgb/jT4F/5Q/Af+WQAD/lEAA/5JB
- AP+PQQD/jUIA/4tCAP+JQgD/iEIA/4hCAP+JQQH/iUEB/4tBAf+NQAH/jUAC/49AAf+PQQD/j0IA/49B
- AP+PPwL/kD4E/5I+BP+UPgL/lEAA/5RAAP+UQgD/lEIA/5JBAP+SQAD/kD4E/489Bv+GPAz/bjUO/+m/
- ov///+3///ns////+//4////5fH1//P////6/v////7////+/////v7///7+/////v///v//////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////9//7/+//+//3//v/9//7//f/+//3//v///////f/+//3////9//7//f/+//v/
- /v/7//7/+//8//v//P/7//z//f//////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////f////3////69v////T//+TN/7WLaP9+Rxr/hkYQ/4g/Bf+NQAH/kEAA/5JAAP+QQAH/kD8C/48/
- BP+SPwL/mT8A/5s/AP+ZPwD/lkAA/5JBAP+PQgD/i0MA/4lCAP+IQwD/iEMA/4lCAP+LQQH/jUAB/48/
- Av+QPgT/kD8C/41BAP+NQgD/jUAB/41AAv+PPwT/kD4E/5I/Af+UQAD/l0AA/5dBAP+WQQD/lEEA/5BA
- Af+NPgX/iT0J/308EP+neVr////t///w4f////j/7/Hx//b////h7PT/8/7///r+/////v////7////+
- /v///v7///7+///+/////v//////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////v/9//7////////////////////////+
- //////////7///3////9////+//+//v//v/6//7/+v/8//r//P/9////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////n7///9/v////7////99v////T////t/+jCpP+RYjz/dD0S/30+
- DP+EPgj/iT8F/41AAv+PQAH/kj8B/5Y/AP+bPgD/nT4A/5s+AP+XQAD/lEAA/5BCAP+NQgD/i0MA/4lC
- AP+JQgD/i0EA/41BAP+PPwL/kD8C/5Q9BP+SPwL/jUEA/4tBAP+LQQH/i0AC/40/BP+PPwL/kj8B/5ZA
- AP+ZQQD/mUEA/5dBAP+UQAD/jT8E/4g+CP+APQz/cjsU///exv////H////3/////P/1+Pz/6/X8//P+
- ///w+f//+v7///3//////v////7+///+/v///v7///7////+////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////v////7////9/////f////3////9/////f////7///3////7////+/////r//v/4//z/+v/8//3/
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////7////////////////+////
- +/////j////0////7v/MqJD/il08/2MtBP96Own/jkcO/4o9AP+POwD/nEUC/5w9AP+ePgL/mz4B/5c9
- AP+VPwD/lEMA/5FDAP+MPwD/j0IA/49BAP+PQQD/kEAA/5I/Av+UPgL/lz0E/5Q9BP+PQAH/i0EA/4tB
- Af+JQAL/i0AC/41AAf+SQAD/lkAA/5c/AP+RNgD/oEYF/4s4AP+MQQn/fjsK/3I2DP/Xqon////u////
- 9/////v///////r9///2/f//9P3///b9///6/////f///////v////z///7+///+/////f////3/////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////T09P/7+/v/////////
- ///5+fn//v7+///+/////P////z////1//+4rbf/8+Xx///6///16fX///r////6////+f////3////+
- ///0+fj/+f/9//j//P/4//z//f//////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////z////8/////v////////7////+/////v/////7///99f/84M//tY1x/3VCGv95Ogj/j0kO/5NF
- A/+TPwD/jjQA/5k8BP+fQwj/nEMG/5hBAf+WQgD/kUAA/408AP+SQQD/kkEA/5RAAP+UQAD/lj8B/5c9
- Av+ZPAX/lj0E/5BAAf+NQQD/i0AC/4lAAv+LQAL/jUAB/5JAAP+WQAD/n0QB/55DAP+PNwD/lUMJ/4lC
- EP9xNgn/j187///v1f////L////5/////v/9/v//+vz///j8///2/P//+P7///r////9///////8////
- /P////7///7////9/////f////7/////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///8/Pz//f39////////////+vr6////////////+vf5///z////+f//1sTV/2hVZv9TP1L/x7PG///2
- ////9///9+T3///4////+P///vr////+///z+Pf/4unm//r//v/9////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////+P////n////8//3////4/v//9v3///j9///7/f////7/////
- +f////H/8cyw/5toQP93PAr/gkAF/4E4AP+fTRb/jjgC/4k0AP+UQAb/lkMF/4w4AP+OOgD/oEoI/5ZB
- AP+XQAD/l0AA/5c/AP+XPgH/mT0C/5k8Bf+XPQT/kj8B/49BAP+NQAL/i0AC/4lAAv+NQAH/kkAA/5ZA
- AP+hRgP/kTcA/5hABP+LPQj/fD4Q/2s6FP/bt5n////u////9//9//z//f////v+///7/P//+vz///r8
- ///6/v//+/////3//v////z////8/////v///v////3////9/////v//////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////+/v7///////7+/v/4+Pj//v7+///////89vv///f//+3T
- 6/9zWHL/VDdR/08xTv9jRWL/nX+c///m////9P///+r////0////+v//9/P5//3////7//7/7vPx//3/
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////4////+f////z/+/////b+
- ///z/f//8/z///T9///t8Pj/////////+P////D///vd/9OmgP+IVCb/gkcW/28sAP+KQQ//kEUR/4M2
- AP+ENgD/mEgJ/59LCv+TPQD/mT8A/5lAAP+ZPwD/mT8A/5k+Af+XPQL/lz0E/5Y9BP+UPwH/kkAA/49A
- Af+LQAL/iUAC/4tBAf+QQAD/lkAA/5s/AP+NMwD/nUgQ/4c+DP9iKQL/qYFk////7P////H////5//r/
- /v/7/v//+/3///38///9/P///fz///3+///7////+//8//3/+//9//v////+/////////f////3////+
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////f39//5+fn///////7+
- /v/29vb//f39///7////6///m3ia/1o2Wv9zTXH/Xzhe/1oxV/9uRWv/hmCE/+7L7f//8v////b///7u
- ////9/////3////////9//7/////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////v////8/////v/9////+P7///T+///0/f//9P7///j+///v8fH//Pbx////9f////H////t///f
- xf+1jGv/cT8V/3M4Cv95PAr/iEYT/45HDv+IPAH/jToA/5hBAf+ZPwD/mz8A/5s/AP+ZPwD/lz4B/5Y+
- Av+UPQT/lD4C/5Y/Af+WPwD/kEAB/41AAf+LQQH/i0EB/5BAAP+UQAD/lDoA/59FCv+LOAT/gz8S/3RE
- Iv//5c7////0//f47//6//z/+P////r////9/P////v////7/////f////7///3//v/7//v/+//7//v/
- +//9//7//f/////9/////f////7/////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////+Pj4//z8/P////////////39/f////////r//7aVt/9kNmT/Zzlo/2IyYv9oNWf/c0By/2c1
- Zf9SIU//dkpz/8mjx///7/////b////5///17vX/9PHz////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////3////6////+P////j////4////7vP0//v/
- //////z/9fHs////+f////j///v0///+7P/ryKb/pHpN/2k4Cv9sNQL/fj4I/303AP+FNQD/mkUH/5k/
- AP+bPwD/mz8A/5k/AP+WPwH/kj8C/48/BP+QPwL/lz4B/5c/AP+SPwH/jUAB/4tBAf+LQQH/kEAA/5RA
- AP+WPAD/nkUM/4QzAP9wLQb/2a2Q////8P////f/+P/8//b//v/4////+/7////9////+/////v////8
- /////v/////8//3/+f/6//n/+v/7//r//v/7/////fz////8/////v//////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////f39/////////////39/f/9/f3///////n5+f/Ux9X/cUly/1cj
- Wf9wOXD/WSJb/3o/ef9uM23/VhxT/3tDeP9fK1v/ZDhh/7KPsf//6P////j////7/////f//9fPz////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////+/7///v+///7/v///f////3/
- /v////z////7////+/////v/9Pbw//z//f/9////+fz///j7///7/f////36////6f//88f/yKR2/39R
- If9zOgb/kFAW/5lNEv+EMQD/lz8A/5k/AP+ZPwD/lj8A/5I/Af+PPwL/iz8E/41AAv+XPgH/mT8A/5Q/
- Af+PQAH/i0EB/4tBAf+QQAD/lEAA/5g/Av+QOQH/hzkK/5tdN////OX///bp//r/+//z////9P/+//j/
- ///7//////3////7////+/////z////+//////z//f/5//r/+f/4//n/+P/+//r////7/f///fz////+
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////9/f3////////////+vr6//7+
- /v//////zMzM/4Bxf/9gNWL/WR5b/4RIhf91OHj/WRdY/3Qzcf+DQ3//aCtl/283av9tPGj/XTRZ/4do
- g//p0+b///r///73/P///v//////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///6/f//+v7///v+///9///////+////+/////n////5////+f////v/+fz6//j8/f/4/v//9v3///L6
- ///9///////r////5P///+P//+vC/7qQZf9qNgf/ZikA/5NNF/+LPgX/kD8C/5I/Af+UQAD/lEAA/5RA
- AP+SQQD/kkEA/5ZBAP+WQAD/kkAA/5BAAf+PQAH/jz8C/5A/Av+QPgT/k0AJ/4w/Dv9yMgn/98ip///5
- 6P////n/+P///+79///2////+v////v+/////f////z////8/////f////7/////+/////n//f/4//v/
- +f/6//z/+v////v9///7/f///f//////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////3////9/////f//////
- /////v////v///76/////P////v///To9P+fkqD/QypE/2Y1Z/93PHn/XSBg/3Awcf9zMXL/djR1/2sq
- aP9wMm7/bDJp/287a/9qPGb/WzZY/3JTbv/GrcH///X////6/////f////7////+/////v////7/////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////3////9/////f/////////////////+/////v////7////+////
- /v///////f////3////7/v//+/7//////v////T////v////7v///+z///zh/+vPsf+eeFj/XCwI/3M8
- Ef98Ogn/i0AI/5ZDBf+aPwD/n0AA/6dDAP+eQQD/lkgA/4g/AP+RQwD/m0kI/5hABP+SOwP/lT8L/49A
- D/98OAv/aTIL/7GJbP///ez///Tu///9///x9P//7/b///f6///7/v//+Pz///n8///4/v//+P7///v+
- ///9///////7////+f////j////4////+//9////+/7///v+///9////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////v////7/////
- ///9////+//+//v//v/7/////f/////9////+P////j////z////5///s5K1/183YP9nOWj/bTlv/2w0
- b/9pLmv/aC1q/28zcP91OXb/czRy/2ouav9vNG7/Zy9k/204av9xQG7/XTFa/182W/+rhqj//+j////u
- /f//+/////z////6/////f///fj6//j19////v////7///3////9/////f////3////9/////f////3/
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////+////+f////f////3////
- 9/////T////y//bhzP/XuJ//bkUl/3ZCGv91MwP/gjUA/55IBv+gQgD/oDwA/6tOAP+VSgD/hD4A/4c3
- AP+QOQD/ljkA/5o9Bv+WPw3/hToM/31CGv9vRiX/8tjA////9P////v///3//+Hf6//9+/////7////+
- /////v//7/P4//j+///2////9fz///H29f////z////5////+P////j////7/////v/7/v//+/7///3/
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////+/////v////////3////7//7/+v/+//v////9//////3////5////9v////P//+fF
- 6v9hNmP/bj1x/2EtY/9pNG3/aTRt/283cv9xOXT/bzRx/2csaf9pLWr/bjJv/2sva/9mK2X/ajBn/283
- bP9nM2P/YTBe/3RFc/+RaI3//+j///7q9///8f7///r////2/v///f////7///77/f///////f////3/
- ///9/////f////3////9/////f//////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////7/+v75//v/+f/6/Pb/+vvy////+f////f////0///+7P//69P/sYVm/3lCG/95OAv/gTcB/5FB
- BP+cRQX/iTQA/5NFAP+YSgP/oEoE/6JFAP+gPgD/nDwA/5A6BP9+Ngb/bDgQ/8+si////+j///fl////
- 9f//9u3////7///69P//9/D////4////+//08O///f7///T5/P/6////+////////v////v////5////
- +f////z///////v+///7/v///f//////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////7////+/////////f////v//v/7//7/+/////3/
- /////f//+fH8///4///nzuj/YD9h/2tDbP9XKVf/bjtt/2UxZ/9jLmf/aDBr/242cf9tMm//ZSlm/2or
- af90NXP/cjNx/24ybv9qL2n/ZSxj/2kxZv9rNmj/ZzNj/1ktVv9oSWb/z7XM///3////9P////H8///2
- /v//+/7//////////v////7//f/+//3////9/////f////3+///9////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////3////7//7/+v/+//v//v/4+/n/+vj3///9+v////n////z///7
- 6////+3/7saq/45ePP96Pxf/g0MT/4E8Cv+JPwf/gTYA/5A+AP+ZPgD/nDsA/6I/AP+fQQD/kD0F/4A+
- Df98Tyn///nb////7P////D////w////7v///+f/69C2//faxf//5dT////0////+P////7/9PP1//n8
- ///7/////f///////P////v////7/////v//////+/7///v+///9////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////v////7///3/
- ///9////+//+//v//v/7/////f////v6/v//+/////L//8axx/9eQF3/TClL/3RLcf9hMmD/bTlu/2gz
- bP9lLWj/Zy1o/2wwbf9xMnD/cTJw/3Axb/9xMG7/dDVz/3I0cP9oLWf/aS9m/3E5bv91PXD/bDtp/1w2
- Wv9PME//up+5///v////+f///vH5///9/////Pv////8////+//9//z//f/+//3////9/////f7///3+
- /////v//////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////f////j9/v/4////+P////r/
- ///7/////f/////+//////z////4///s4f////H////t/8ylif90SSj/ZDQQ/3M4EP+QSRf/lUIK/481
- AP+XNgD/p0UA/5xBAP+IPAH/gkgX/+7Kpv///+f////w////7v/66s3/v6WA/2tEF/9tQRL/az4Y/21G
- Jv+5l4D///jo///68v///v3///7///v+///9/////f///////v////7////+//3////7/v//+/7///3/
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////+/////v///f////3////7//7/+//+//v//v/9////+vn7///9////+/////D//76k
- u/92V3L/Yz5e/1ouVf9mNWf/bztx/3A5cv9qMGv/bDBt/3U2dP91M3T/bCpr/2klZv9uLWv/djVz/3Y2
- cv9yMm3/bC9n/2wvZ/9pNGb/bEFu/104YP9bOl3/jnON/+3a6///+f////j5/////P////n////4//3/
- +f/9//z/+//+//v////7/v///f7////+////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///9////9/z9//T7/v/0+/7/9fz///f9///6/v//+/7///38/v//+vn////7////+P//9er////x//jd
- yf+fgGn/akAj/3U3Ef+IPAz/kj0F/6BICP+jSAX/gzIA/4RBCP+qe0/////n////7P////T////w/+DL
- q/9+Wiz/bjcA/4NFBf99Qw//YCwD/41gP//lxa7///nt////+////v//8/T4//v+///7/////f////3/
- ///9/////f////v////7////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////7////+///9/////f////v////7//7/+//+//v/
- /v///////Pn7///8////+v///+v6//jd8f94WnP/aURk/1MlU/9kMGX/bzhv/2wybP9qLmr/cDFv/3U0
- cv91MXL/dDBx/3Asbf9wLWv/dTJw/3Uyb/9uLmn/aytm/2gvZv9aKF7/c0l5/1UwWP9VNlX/aFJl//nq
- 8v///v7/9fLq////+P////f////4//3/+//7//7/+/////v+///7/v////7/////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////3////7////+v////r////4////+P7///j+///5/f//+/7///3+
- ///z8vT/+fX0////+v////n////3///16f/gxrb/gFA4/4FCIP98Ngf/i0AI/45BAv91MAD/nmk2//7a
- tP///+7////3//r48P//+ev/j3NR/1goAP+TTQf/kUMA/49ICf9uLwD/bDgQ/5FpTP//9ub////4///+
- ///9/v//+/7///v+///7////+/////v////7////+/////v/////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////v////7///3/
- ///9////+/////v//v/7//z/+//+//7//f//////+fL1//Hn7f//+v///+/8//zl9P+ggpv/c0ly/2Y1
- Z/9gLGH/ZzFm/20ybP9sLmr/cTBu/3s4dv97N3j/eDFz/3Irbf9uK2n/ci9t/3YzcP94NXL/cjZy/2cx
- bP93SX7/Rh9M/2VEZv+/pbz///n///vx8f////j////3////9f////f//f/5//v//P/7////+/7///v+
- /////v//////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////b4+P/3+fn/+fv8//n9
- /v/4/f//9/z///n9///6/v//9/v///v+///9/////v7+///+/f///fn///34////+P//+u3/0KSN/35K
- Jf9yOgn/gUYO/3lGDv+0j2P////n////9//x9PL/////////+P9dOx3/fkUS/4s5AP+iSwD/jkAA/4ZD
- DP93PRP/Zzsc////7v////f//vj5//z9///7/v//+v////v+///7////+/////v////7////+///////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////+/////v///f////3////7////+//+//v//P/9//z////+//j29f///v////3////0
- +v///P////r////z//+7l7v/gleE/1orWf9kMmL/cz1y/20zav9pLGb/czNv/2kmZP91MXL/ezR2/3Iu
- b/9vLGr/czBu/3Mwbv9pKmj/aTNu/10vZP9mP2z/h2aJ///w////+v////7+////9v////X////1////
- 9//9//j/+//8//v////7/v///f3////+////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////7////+/////P////7////+//3////9////+/////r////6////+v////v////7////+/////3/
- ///9//7////8///++/////T//eDF/6uKY/9XMwX/iGk8///xzv////D//f/+//P5///6+f////z6/3VP
- N/98PhD/lkEA/6JHAP+VRQT/g0AJ/3Y8Ev94TC3///7r////9////P3//f7///v+///6////+/7///v/
- ///7////+/////v////7////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////7////+///9/////f////3////9//7//f/8//3/
- /P////z////+/////v///v////7////+/////f////n////0///ivuL/i2KI/2M3YP9nOGb/ajVn/2sz
- aP9tMmz/czNv/2wraf91MnD/by5s/3U0cv94N3X/ZyZk/20xbf9pNm//Zjtu/3JMdv/83f7///b////x
- /P///v7//fry////9/////X////3//3/+P/9//z//f////3+///9/v////7/////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////v////v////7////+/////z////8/////v/9////+/////v/
- ///7////+/////r////6////+v////v////9////+vn7/////P////H///zg/+DQrP/p27f////t//r6
- 7v/3/f//5On4//36/////P//06qb/3tAGf+FNQD/kT0A/4Q7AP91NgT/eEQc/9WtkP////H////4//Tu
- 7//7/P//+/7///v+///7////+/////v////7////+/////v/////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////v////7///3/
- ///9/////f////3////9//7//f/8/////P////z////+/////v////7////+///+////+////+3////z
- ////6P//o4Ci/1cuVP9lOGP/bjxs/2s2aP9mLGP/ez54/2krZ/93OXX/bC5q/2IkYP+FRYH/Yylj/2Y4
- bP9RLVn/7cvw///t////7f////v//////v////v////4////9//9//j//f/5//3//P/9/////f7///3+
- /////v//////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////+////+/////n////5////
- +/////v////8/////P////7////+//3//v/9////+/////v////7////+/////r////4/v//+v////7/
- 9f////L////r////6f////X/+f78//b8///r7f////n////x+v//9e3/q3ld/4xKGv9+OAL/cTMD/39L
- Iv+tgF////vk///06P////v/9/Lz//3+///7/v//+/////3////9/////f////3////7////+///////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////3////9/////f////3////9/////f////3////9//7//f/+//3//v/9//7////+////
- /v////7////+///+////+v////f////y////9P//x6fG/2ZCZv9kOmP/XC5Z/35Kev9ZIVb/dTxz/2sx
- aP9iJ2H/e0B6/2suaP9pM2j/XTVf/6+Ss///8/////T////4/////P////7//////P////n//f/4//3/
- +f/9//v//f/8//3//////v////7/////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////7////7////+f////v////7////+/////z////8/////P////7////+/////v/9//7//f////v/
- ///7////+v////P8///2////9/75//v/+P/7//X/9//z//f/+P/6////+Pz///v6///98/////D5///9
- +f//8d3/8sSi/9inf//SpYD/7MWl///13v////H///Ts//349////v//+/7///3////9///////+////
- /v////7//f////v+///7/v///f//////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////f////3////9/////f////3////9/////f////3/
- ///9/////f/+//3////9//7//f/+//3//v/9//7////////5/v//+/////n///vp+v//9v//7tHr/21K
- bP9rQmj/XTBb/2s8av9nM2P/bzps/3I6b/9qMmf/bzZt/10tXf+RcpH///b///7s/f//+f////v///z2
- +///////+Pn3//3//P/9//v//f/8//3//P/9//7//f//////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////v////7////8/////P////z////8/////P////z////8////
- /v////7////+/////v///////f////3////7////9fj8//r////6////+P/8//j/+//4//z/9Pz7//r/
- ///y8fv///r////6////+/////f0////9P///+3////l////6v////D////0///48P////7///7///v+
- ///u8vP//f///////P////v////7/////v//////+/7///v+///9////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////9/////f////3/
- ///9/////f////3////9/////f////3////9////+/////v////7////+/////v////7/////f////z8
- /P/7+Pr///z///rr+f//8/////T//5h4l/9TLVH/dkx1/2Y4Y/9lNmT/bz1t/1kmWP9lMmT/hFuB//Xf
- 8f//+P7///z////9///z7fL///7///3////8/v7/+/////v////9/////f//////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////3////9/////f////3/
- ///////////+/////v////7////+/////v////7////+/////////////f////////////////////v/
- ///n7+7/7fj2//b////2/f///f7////8////+P////v////9///88/D//Pnx////9//19ef///ft////
- +P/78u7/9vLx//3+///6////9/z///v///////7////7////+f////n////8///////7/v//+/7///3/
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////3////9/////f////3////9/////f////3////9/////f////3////7////+v////r/
- ///6////+v////r//v/6//z/+P/5//3//P/39/f///z////6///24ff///T//8Ojwv92UHT/WC5X/1Mo
- U/9pO2n/XjBe/2k7af/oxef///z///j18P////z/8/Hw///////9////8PT1//v+///7/v//+/7///3+
- ///9//////////////////7////+////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///9////+v////j+///6////+v////v////9/////f//////////////////////////////////////
- /////v////7////69///9vP////+//v////4////+P////f6/v/69vv///z////1+P//+vv///78////
- /P/2//z/7P/+/+z//f/9//7///7////+///6/v//+P7///L7///v9vn/+////////P////n////4////
- +P////v////+//v+///7/v///f//////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////f/+//3//v/9/////f/////+/////v///f7///3+
- ///9/v///f7///v+///6////+v////j////4////9v/+/+j26//2//j/+P/3//j++f///v////v////4
- ////9v////P//9Gx0P9yTnL/dU50/21DbP9jOGP/zaLN///z///99fX////1//v/8//t8un/+//8/+/0
- 8//w9fj/+v7///r+///6/v//+/7///3+/////v///////////v////7/////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////3////6////+P7///r////6////+/7///3////9/////f//////
- ///////////////////////////////+/////v////78///z8f////7///7///H2+f/5/v//9/j8///+
- ////8/X///3+///+/P////z/8/b0//H//f/c9/T/7f/+////+P//8+n////3///68/////v//fr1////
- +//++/b////5////+f////n////7/////P////7//f////3/////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////9//7//f/+//3/
- ///9//////7////+///9/////f////3+///9////+/7///v////6////+v////j////4//7/+P/5/+35
- 7f/5//j/+//8//v7+////f////v////5////9v////X////v//+VeZb/Sy1K/6WGpf//5/////f/////
- /P////X/+//1//3/+f/w9vH/+/////v+///4+///+/7///v+///7/v///f7////+///////////+////
- /v//////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////3////9/////f////3/
- ///9//////////////////////////////////////////////////////////////////7////+////
- /////////f////3//////v/////////+/////v////79///7+v//////+/////b+/f////f////m///Z
- r//et5D/4r6a/+bHpv//6c7////t////8P////j////8/////v/9/////////////v////z////8////
- /v//////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////7////////9/////f////3/
- ///9/////f////3////9//7//f/8//3//v/9//7////////+/////v////3////8////+P///PP9///7
- ///FvMb/8+r0///7////+//////+/////P////z////+//3//v/9/////f////3////9/////f////3/
- /////v//////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////v7+////
- ///////////////66v/nvZD/5q9y/+GocP/YpW3/zp9s/9ewhP/32Lf////r////9f////z//f////v+
- ///7///////+////+/////v////+////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////+Li4v////////////v7+///////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////+/v7/////////////Pz8///////+/v7/8ODP/9Chbv/go1//6qxs/9uiZf/ToGj/yp5v/9a0
- kP///+r////0////+//9////+v////r////7///////+/////P//////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////Pz8////////////9/f3////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////5+fn////////////29vb///////b29v/YyLf/3Kp1/+Wj
- XP/op2L/2p5c/+exdf/VpnP/v5tz///+4v////L////7//3////6/v//+v7///r////9////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////////////////////Pz
- 8//////////////////8/Pz/////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////n5+f////////////b2
- 9v//////9vb2/9jJtv/ZqHD/46JX/+ipX//bn1n/6LJz/9Okbv+6l2z///fZ////8v////n//f////r+
- ///4/v//+P7///v+///9////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////8fHx///////7+/v/////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////+/v7/////////////Pz8///////+/v7/7+HP/8+gbP/gpF7/7LFs/96mZf/Xo2f/y55r/9Sx
- if///+n////y////+//9////+v7///j+///4/v//+/7///3/////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////6+vr//v7+///////5+fn///////n5+f//////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////7+/v//////////////////+uz/4byQ/92t
- c//Xpm7/z6Fr/8ecaf/TroL/9dm2////6v////T////7//3////6/v//+v7///r+///9////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////v7+//6+vr///////7+
- /v//////+vr6//39/f/7+/v/////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////+/v7/+/v7////
- /////////f39////9///+tz/68ig/8akef/Kp3//1LWO//ndu////+r////t////+P////7/+/7///r+
- ///7/v///f////////////7/////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////39/f////////////39/f/+/v7/////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////7////9P///+7////t////7f///+3////u////
- 8v////f////8//3////7/v//+/7///3////////////7////+/////7/////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////+////
- /P////n////4////9/////f////5/////P//////+/7///r+///7/v///////////P////n////5////
- /v//////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////v////0/v//8/////j////7///////+/////P////7//f////v+///6/v//+v7///v+
- ///////////7////+P////j////8////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////+v///+/+///t/f//8f7///b////6////+//+//3/
- ///7////+v////j+///6/v//+/7///////////v////4////+P////z/////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////6////8f3//+/+
- ///z////+P////v////9//z////+//3//v/6////+v7///j+///6/v///f///////P////n////5////
- /v//////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////v////0/v//8/////j////7//7////7////+f////v////8//v////6////+P7///r+
- ///9/v///////////P////z////+////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////f////r////6//7//f/7////+P////f////1////
- 9/////n////+//v////6/v//+v3///v+///9/////////////v//////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////f/+//3/
- /P////n////4////9/////f////4////+/////7//f////v+///6/v//+/7///3+/////v//////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////+/////v////z////8/////P////z////+/////////////f////3/
- ///9//////7/////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////////////7////+///+
- /////v//////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////v////7///7////+///////////////////9////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////+/////P////7////+/////////////f////v/
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////v////7////8////
- /v////7///////3////9////+/7/////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////+/////v////z////8/////P/9//7//f////3////9////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////9////+//+//v//v/7//z//f/8//3//P////7////+////
- /v//////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////3////4////9v////r/
- /v/7//z////8////+/////v////5////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////+/////T////z////+P////3//P////v////4////9f////T/////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////6////7fn9//H////n8fH////8////+P//8uX////u/9m+
- qf//////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////r////z////5fT3//r/
- //////v///ru////7v/107b/gls7////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////+/////P+///2////+fr4////+P////H//+7U/5NmQf9iLgX/////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////9////+v////v///////v///3w////6/+cb07/dTwP/4BB
- D///////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////////////////j1////
- 9/////D/roRn/2gxCv9/PAv/k0kT////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////+///79/////f///fp/9SwmP9kMRD/hUYa/4I4Av+SQgf/////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////z////4///87f/lxbL/Wi8U/4tRLf96Ngf/lkYP/403
- AP////7////+//////////////7////+/////v////////////////7////+/////v///////f////3/
- ///9////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////+/////v/////////////////////+/////v////7////+////
- /v////7////+/////v//////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////P////f//+vb/2RF
- Lv9lORz/azEN/303CP+aRxP/kTgA////+/////z///7+///+/////f////7////+/////v/////+////
- /P////v////8/////v/7////+P////r////9////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////v////7////+/////v//////////
- /v////z////7////+/////n////5////+/////v//f/8//3//v/9/////f//////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////8//r06f////H/5s64/3RPM/9mMA3/fzsQ/5I+Dv+VOwX////7///+/P///v////7////9
- ///9/f////7////+//////7////8////+/////v////8//v////4////+P////3/////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////+
- /////v////7////+///////////+/////P////v////5////+f////n////5//3/+//9//z/+//+//v/
- ///7/////f//////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////z////4//jx4v//++j//+XO/4RWN/9uMAz/j0EW/446
- Cv////z////+///+/////v///f3///v+///9/v///f////////////z////8/////P////7/+/////j/
- ///6/////f//////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////7////+/////v////7///////////7////8////+/////v////7//3/
- +//9//v//f/8//3//v/7////+/////v////9////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////v/8/Pb////4////
- 9P///Or///ff/6h2WP9vLwz/ejUN///+/////v////7///39///7/v//+/7///v+///9////////////
- /v////7////+/////v/9////+/////v////9////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////7////+/////v//////////
- /v////7////8//3/+//9//z//f/8//3//P/7//7/+/////r////6////+/////3/////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////T39f////z//PTt////9f////D///nj/7mKbv93RCT//f7///v+///7/v//+/7///r+
- ///6/v//+/7///v+///9//////////////////7////+/////v/9/////f//////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////v////7////+///////////+/////v/9//7//f/8//3//v/7//7/+/////r////6////+P////j/
- ///6/////f//////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////9////+/////H19v////7/9u3p///68f////L////u/8Gg
- jP/6/v//+v7///r////7/v//+/7///v+///9/////f////3////9/////f/////////////////+////
- /v////7/////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////+/////v////////////////7//f/+//3//v/7//7/+//+//v/
- ///6////+v////j////4////+P7///r////9////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////3////x9vn/+v////T2
- 9////fz///75////+P//8ub////0//j+///6////+/////3////////////+/////////////f////v/
- ///7/////f////////////7////8/////P////7/////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////+////////////////
- ///9/////f////v////7////+v////r////6////+v7///r+///6/f//+/7///3/////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////f////v+///u8fX/+/////3///////7/+Pjy////+P////j/+/7///3///////7////7////
- +f////n////7/////P//////+/////v+///7/v///f///////v////z////8/////v//////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////v////7///////////////////3////7////+/////r////6////+v////v+///7/v//+/7///v+
- ///9/v////7/////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////f7///3+///9////+/////P49v/7//z/+v/8//r/
- +///+/r////7////+P///fH///7u////8v////X///73/////v/9/v//+v7///r+///9/v//////////
- +/////v////+////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////v////7//////////////////f////v////6////+v///+zx
- 8v/7////9vj5///+/////v//+/f8///+////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /v/9//7/+//8//r//P/4//z/9v/8////9////O////nn////7f///+v///be///66P////T////8///+
- ///6/f//+P7///v+///////////7////+/////7/////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////+/////v//////////////
- ///9////+/////r////2+/z/+/////v9/f////////z9//Tu7///+/z///7/////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////v////z////8/////P/7//z/+v/8//j//P/2//z////u///95v+lg2b/aEMh/2hC
- H/+mgV////7j////8P////j///7///r8///4/f//+v3///3///////z////7/////v//////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////7////+//////////////7///3////7////+/////f8+//9////+vj3//76+f/38O3////8////
- +//+9fH////+////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////7////8////+/////v////7////+//9//v/+//8//r/
- /P/907b/b0Qj/249Ff90QRb/dkIT/3JBFf93TSr//+LJ////9f///v//+vz///b8///4/v//+/7/////
- /P////v////+////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////v////7////////////9/////f////v////9/////P7+//n3
- 9v////z////7///58/////j///Pq////+P////z/////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////v////v////7////
- +/////v////7/////P////z//f/8/6ZtRv9/Qxn/eTcG/4hFDv+HRAv/dzkD/39MIf+kfl7////y///+
- /v/7/P//9vz///b9///6/v/////+/////P////7/////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////+/////v////////////3/
- ///9/////f////3////8+vn////7///99v///PT////1////9P////L///nu/////P//////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////+/////P////z////8/////P////z////+/////v////7/hD4P/341A/+XSxD/iTsA/4Y2
- AP+ORQf/dDcF/3RII/////D///78//v8///0/P//9vz///j+//////7////8/////v//////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////7////+/////////////f////3////9///////+//79+f////v///fu////9f///u//2sGx////
- 8P///u/////7////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////f/+//3//v/////////////+/////v////7////+
- //+QQAn/mEYM/5Q+AP+eRgD/mEAA/4c2AP+KRxD/ekkh////7v////v/+/3///T8///0/f//+P7/////
- //////z////+////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////9/////f////3///////7////8///8
- 9f////b////0/76nl/9VOib/qIl0////8P////v/////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////3////7////+v////v/
- /////v////7////9/////f////3//7xvPv95KwD/nU0S/5JBBP+NPgD/kEcN/2swAP+sf13////u////
- +f///v//+P7///b+///4////+//+/////P////7/////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////////////////7////+
- ///////////+///////9////+/////v////7////+/////v////9//////7////+/////v///f////3/
- ///9///////+////+/////j///js////8f+4mYT/Vi8T/25AIf9sORj/x52A////8v////n////7////
- /P////7/+/////v////7//////7////+/////v////7//////v////7////8//3//P////7/////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////f////v////6////+/7///3//////f////7////9/////f///9i2/4RHJf95PRn/czkV/244
- Ff9uQB7/eVE1///o0f////H////3////+f////z/+v/8//j//P/4//z/+v/8//3//v//////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////////////////////3/
- ///////////+/////v///v7///7+///+/v////z//f/+//n//f/0//z/8v/8//L//f/y//3/9f////j/
- ///9/P//+fj///v+///3+v7/+/7///3///////v///rv////8f//9d3/tI1t/2o2Dv9+Ow7/kkMQ/4s0
- AP+GOAn/57OV///14v////L///ns//3/+f/x/Pn/8f3///b////9/P////v////8/////f/////8////
- +f/9//f/+//4//3//P//////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////f////3////9///////////+//////////7/////
- ////+OL///Xe/590X/9tRjD/aEUx/5J0Yf//+en////y////9f////f////4////+f/9//v/+v/7//j/
- /P/6//z//f//////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////f////3///////7////+///+/v///v7////8/////P/9//z/+v/8//T/
- /v/z//7/9P////b////4////+v////r9///6/P//6u31//v+///7/f3/+PXw////9/////H//+/X/7KL
- a/9uOhH/ezgH/5lID/+XPAD/mjYA/6BECf9/Oxb/8MGm////6/////H/+Pjs//j/+//y/v7/8fr+//v8
- /////P////v////9//////z////5//3/9f/7//f//f/8////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////76v////D///bm////8f////L///Ll////9f///PL////4////
- +f////v////8/////v/9////+/////v////9////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////3////7//7/+//+/////v////7///7+///+
- /v///v7////+/////v/7//7/+v////j////6/////P7////8/v/7/P//8fr+//T////6////8PDw////
- +/////f//+XX///85f+uf2P/czwX/3AvA/+ORRH/jDsC/486AP+dRgT/ijkA/20rAv96Ryf/+tO3///3
- 4f////L////3//v//v/6////+/7///39/////f////3//////v////v//f/5//3/+f////7/////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////1///06P////f///ft///1
- 7f////j/+PDp////+/////z////+///+//////////7////+///9/v///f//////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////f////r/
- /v/6//7//f/+/////v///v7///7+///+/v////7///79//3////7/////f////79/////P7///n8//75
- +//0////8/////r//v///vn////1///77P//9N//pm9U/3AwDf96Mgj/mEwb/5dKEv9/LwD/jT4A/5xO
- C/97MgD/g0ER/3g/GP9sPBr//tm9////7P///u7////4//7/+//7////+v////r+///7/v//+/////3/
- /v////z////8/////v//////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///6+/f////8/////v/7/Pr/+/z6/////v//////+vr6///+/////v////7////9/////f////3////9
- /////v////7/////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////9////+P/+//j//v/7//7////+///+/////v////7////+//////////7///3/
- /////v////3////8////+v7///v+//T////z//z/9frx////9f//8eD///vj/6RmSP95Lwv/jz0T/486
- CP+POQP/jzsB/44+Af+MQgL/iUMA/4RBAv+DQAn/ezkJ/30/Fv98SCT//9m8////7f////D//vnw//v/
- /P/2////8/////P////2////+/7////+/////v//////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////b////q9PT/5/Hx//j////4////7vX4//L3+v/7/v//+/7///3+
- ///9/f////3////9/////f////z////9/////v//////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////3////6//7/+v/+//3//v////7///7////+
- /////v////////3////7/////f/////+/////v////3////9/////v7/7PTt//r/+P////T///Ld///5
- 3/+LUjL/gzoU/4w3Cf+XOwj/n0AI/48zAP+NNgD/m0sM/49HB/99OwD/h0UE/4Y+Av+FOwP/jkcV/3Ux
- Bv+ESib//+jM////6P////L////4//T//P/v////7f////P////6/v////z////8/////v//////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////9P////T////0////7fb5//D5
- /f/4/v//+P7///r+///6////+/7///v+///9/v///f7////+/////f////7////+////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////////f////v/
- /v/7//z////+/////v///v////7////+///9////+v////X////1/fz/9vz7//r8/P///v3///7+////
- +/////f/9fHf////6v//9tv/dUgj/30+Ev+FNgX/okgR/4wsAP+kQwP/o0UE/5Y8AP+VQwL/kkUG/4M/
- AP+CPgD/j0MB/5xNDv+BMAD/kUIP/4I5Df+DRyP///XY///+5f////L/9v/4/+3//P/s////8f////j+
- ////+/////v////9////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///3/f//+P////D2+//3/v//+v////b7/v/6////8/j7//r////7////+/////v////7/////f////3/
- ///9////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////7//f/+/////P////7////+///+/////////f////j////w/Pz/6/z5/+j5
- 9v/p+PT/7/nz//j89v////r////3////7////+v/7c+y/3RMKf9xPBH/fz0K/5ZHDv+QOQD/pksI/5w9
- AP+YOwD/m0AA/5M9AP+LOwD/jEED/49FBf+LPAD/l0QA/5tCBf+QNgD/m0gV/4M8EP+DTin////g////
- 6//7//L/8f/4/+3//v/z////+v3////6////+v////3/////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////9/////v////3////+/////v////7////////9/////f////v/
- ///7//7/+//+//v//P/6//z/+v/8//v//v/9////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////v///fz////8/////v////7///3+///+
- ///5/v//8Pz8/9jt6v/b8u7/3vnw/9bv5f/g9Oj/7/3x//H67f////L////r/+W5nP+IWDb/azUM/3c8
- Cv+EQQj/ikAA/40/AP+WQgD/l0IA/5lBAP+ZQQD/l0AA/5Y/Af+UPgL/lD8B/5Q/AP+aRAD/oEUC/5w/
- Av+UOQL/jj0K/4hKHP9/Vi////TT////7f/6//T/6Pjt//b////7/v//+/H9///6/////f//////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////3////9/////f////7////+
- //////7////+/////v////7//f/8//3//P/7//v/+v/7//r/+//4//v/+v/8//3//v//////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////+
- /f////z////+///+/////v///f////b+/v/q+/j/4vn1/9j17P/S8OX/5//1/+X76f/a6tj/9v/s////
- 6f/cro//nmA8/20sBf96Ogr/ikkS/388AP+AOQD/l00F/5BEAP+SRAD/lkIA/5dBAP+ZPwD/mT4B/5s9
- Av+bPgH/lkAA/5tDAP+hRAD/oD8A/5k5AP+QOQH/hkAL/3pGGP+YelH///nX////7f/9//P////7//Tx
- 8///+/////v////+////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////f7///3+///9/v///f7///7+/////P////z////8/////P////v//f/7//v/+//6//v/+v/5//j/
- +f/6//v//f/+////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////79///+/v///v////7////+///7////8v37/+X28//X7+f/1/Xq/8jo
- 1//g++f/1urT/9rnzf/9/+f/1MOi/4dMJf+HOA//ey4A/4E2Av+KRAn/ikYF/4hDAP+HQgD/i0MA/49D
- AP+SQgD/lkEA/5k/AP+bPgH/nzwC/509Af+WPwD/mEIA/55DAP+fQQD/mj0A/5I7AP+GOQD/ezoH/25A
- Ef+ZeFH///zg////8P//+ez////7///2+P///f//////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////+/P///vz///78///+/P///vz////8///+/v////z////8////
- /P////z//f/8//v/+//7//v/+v/7//v//P/9//7/////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////7////+///9/v///P3///7///v/
- ///x/Pr/5PPv/9316//n//L/4frm/+b74v/u+tz////p/+/pxv9aPRb/ejcK/5VADv+UQQ3/iDgB/4c7
- AP+PRwf/jkcE/4I7AP+LQgD/jUIA/5BBAP+UQAD/lz4B/5s9Av+dPAL/mz0C/5U/AP+TQAD/lkEA/5lC
- AP+cQgH/mEEB/5A/Av+HPAT/ezwJ/206D/+xiWb///7j////8P//+e3////5//v49P//////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////7+///+/v///v7///7+///+
- /v///v7///7//////v////7////+/////v////7////+/////v////7////+////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////z+//38/v///v//+/////T8+//o9O7/3u7j/97u3f/z/+n/8vfa//Puzf///9v/2b+X/2U4
- DP+MRA7/jjoA/4w4AP+VQQf/kkEE/4k5AP+MPAD/mEgL/48/Av+PPwL/kj8C/5I/Av+UPgL/lj4C/5c9
- Av+WPgL/kUEC/45AAP+OPgD/kkEA/5dDAf+ZRQP/mkMD/5RBBP+MPAX/gzsL/28yCv+8jW3////o////
- 8P///O3////4/////v//////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////7////+/////v////7////+/////v////7////+/////v////7////+
- /////v//////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////9////+/////v////8/v//+vz9//3////7////+P/8//L68//6//j/1tzL/+Hh
- yf//+tz////b//vYsP+qfVL/dzwK/4pBBf+RPwD/kj0A/5M+AP+UPgL/lD0E/5U+Bf+WPwf/lD0F/5Q9
- Bf+UPQX/kj4E/5A+BP+QPwL/jz8C/41AAv+OQgf/ikED/4c/AP+JPwD/jkAA/5JBAP+YQQD/nEAA/55A
- Bf+ONgD/iTwO/3k7Ff/JoID////q////7f////X////8////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////j////4////+P////r////6////+/7///3+/////v////3////8
- ////+/////v////7////+/////v////8/////v//////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////3////3////+P////r////4/P3/+f3+//v/
- ///9//7//f/5/+7w5P////H////r///52f/mv5n/j1kw/28uAf+MQw//hTsA/5dKBf+bSgf/kDwA/5M5
- AP+gQwv/oUEM/5QxAP+bOgj/mToI/5Y8Bv+SPAb/jz8E/4lAAv+IQQL/hkEC/4dBBv+HQQb/hEEE/4VB
- AP+IQQD/jkAA/5hAAP+gPwD/ojsA/6hDDP+SNgf/i0AZ/3hIJv+vl3n////r//f96v////v/////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////+P////b////4////+P////r/
- ///6////+/7///3+/////f////3////7////+/////v////7////+/////z////+////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////9////+//+//v/
- ///9//////3////7////+/////v////8/////f/////+/////P////z////+/////////v////7///n8
- ///7////+/////n9/v/3+/z////+/////P////j////y///85v+XeFn/ZToT/31GGf98Owj/i0EJ/41A
- Av+PRAD/hzoA/4o7AP+bRwb/nUMI/5M2AP+WNgD/pEEN/5s7Bv+ZOwb/ljwG/5I9Bf+PPwT/iUAC/4ZC
- Af+GQQL/hTwC/4g/Bf+JQwf/iUQF/4tEAf+QQwD/mEEA/6JCAP+oQQP/lC0A/6ZGEf+OPA3/XiIA/3lQ
- Kf/Is43////q////9/////7////+/////v///v////7////////9////+/////r////6////+///////
- //////////7////+////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///9////+/////3////9/////f////3////9//////7////+/////v////7////+/////v////7////+
- /////v//////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////v//v/q+fH/7/35//v9///78v///uv////z////9P////L////7/////Pr//vrv////
- 9/////n////+///8////+v////v///rw9v///f///v3///7+/v////z////4////8v//8d3/oHJT/242
- Df+CQQ7/fzwA/4hCAP+XUgP/iEAA/49CAP+QQAD/kkAA/5I/Af+UPwH/lD4C/5Y+Av+WPgL/lj4C/5Q+
- Av+UPgL/kj8C/5A/Av+PQAH/j0AB/49AAf+PPwL/jz8C/48/Av+PQAH/j0AB/5BAAP+UQAD/lj8A/5Y9
- AP+cQwb/jTUA/5A9Bf+TSBD/bykA/4xOGP/rwJX////w////+/////v//fHv///9/v///f//7ejq//v+
- ///z////7////+/////0/////f/////+/////P7///z+///+////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////+//+//T/+//v+vf//fr///7s///Xt+D/m3Sh/5x0
- nf/cuNb/++Hv///9/v////f////0//j58P///fz///z////3///67Pj///v///73/P///v///Pn1////
- 9/////H//+bP/6Z0Vv9+PRb/gDYG/5hKD/+OQAD/jUIA/5NPAP+FQAD/kEIA/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/iTYA/5tICv+QPQD/jDkA/5xJC/+PPAD/iTYA/5lXJv/gwqn////1////
- +P////n///b0//7z9f///v//8fj7//H////t////7f////P////9//////3////8/v///P7///7/////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////9//7/7fLw///+
- ///46f7/hGmL/2Q8bP9qOW//Zzhp/2xDaf+kh57//Ov0/////P////n/+Pz3//v////7/f//8/H9///7
- ///x7PX///7/////+////O////3o///+4f+WaUT/czQI/34yAf+TPQf/mkIG/446AP+NPgD/jkgC/4lD
- AP+PQQD/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+QPQD/mkcJ/5A9AP+FMgD/k0AC/5lG
- CP+NOgD/di8A/39TNv/t0cD////y///16f////n////8//f8+//2////9P////T////2////+v/////+
- /////v////7+///+/v///v//////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////f7///v//6qSqv9VMFj/WCdd/285dP9rNm//XS9e/2NDYv+smar///3/////
- /v/7//7/+v////r9///19///+vz///X1+/////7////1///95///9tT/d00i/35FEv+NQgr/nkYK/55B
- BP+ZOQD/lTsA/5JBBP+KQQX/iUAE/48/Av+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5lG
- CP+QPQD/jzwA/5NAAv+QPQD/jzwA/5ZDBf+TRxL/czcT/3ZIMP//3sf////w////8v////n/+v/+//H7
- +//4/v//+/3///39/////f////3////+///////////+////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////7////8////9P//dVNx/3FEb/93P3r/aCtt/2cu
- bf9vPnb/ZUJq/3Bac///+///9ff4//r////y+vr/+P////j+///q7vP//f////n27v///+7///XS/2hE
- Fv92Pwb/iUIC/5lCAP+kQwD/oTsA/6E8AP+mRw//l0EL/4Q3Bv+HPAj/jz8E/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/k0AC/4k2AP+WQwX/o1AS/5RBA/+GMwD/jToA/5JBCP+IPRH/dDQR/3xN
- Lf//++D////w////9P/1/fb/9//+//39/////P////v////7/////f////7///r////6//7//f//////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////v////b6///x
- //9wSmj/YjFd/2kvav9mKGr/azFy/2Iwav9gPGj/Ykpo///5///49/v/+/////P69//5//7/+//+////
- /P//+/L////x//Hbv/9xTiP/dEIN/4A9AP+WRgD/nkAA/6U/AP+jOwD/pD0A/59ACP+NNwP/hDYI/5NF
- Fv+PPgX/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/jzwA/5VCBP+WQwX/kD0A/5E+
- AP+SPwH/ijYA/485Bf+OQRP/dzwU/29JJv///+n////u////9//9//z///7////7////+v////v////9
- ///9////9v////b//v/7////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////+/////P///+77/5Zzjv9gMlz/cTpx/2cua/9uN3b/bTt1/1IuWv+Sepr///f///76
- //////7////7//3+9f////T////y///+6P/kxqn/cUok/3A/D/+ESA3/ikAA/5Q+AP+lRgD/p0MA/6ZB
- AP+fPQD/kjUA/4o0AP+LPAv/lkcW/5A+BP+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5VC
- BP+VQgT/jzwA/4k2AP+OOwD/mEUH/5lGCP+VQAL/mDwB/486Av98NwX/dkMY/3VVMf///uP////y////
- +P///v7///z////7/////P////3///v////2////9v////v/////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////7////2+P//+v//5Mjc/1w3Wf9lN2X/bTtx/28+
- dv9VKl3/YD5n/93F4///+P//+/T5/////P////j////1////8P///+f/88ak/4JRKf9pMgX/gkMQ/4ZA
- Bf+JOgD/nkgG/5c8AP+aPQD/oUMC/6BDBP+WPgL/l0IK/5RCC/+GNgD/kD8C/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kD0A/5I/Af+RPgD/k0AC/5dEBv+PPAD/ijcA/5hBAf+iRgX/jzcA/5NG
- Df9/Pgv/ajgO/5RuTv//9uH////0////+f///v7///3////+/////v//+/////r////6/////f//////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////////////7///z7///+
- ////8///1L3T/4dmiP9QK1P/VS5b/3JQef/dv+L//+/////5////+/3///72////9P////H////p/+Ku
- hf+CQA//fzoI/5BKFf+CNgL/jD8H/5FAB/+NOwH/kD4E/5A/Av+QPwL/kD8C/5BAAf+QQAH/kEAB/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/lEAA/5E7AP+gSgT/kD4A/4o9BP+KRBX/cTYP/6F1WP//++b////y///78v/9/ff//f/+//v/
- ///9//////7///77/f//////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////v/9//z////+///9////9///9+L4/+vS7v/02fr//+3///7p////9/////v////8
- +v////f////y///z3v/ctpb/klEe/44+A/+MOQH/lUIL/4w4BP+NOQX/lUIP/4QzAP+JPQj/iD4G/4g/
- Bf+JQAL/jUEA/5BBAP+UQgD/lEEA/5JAAP+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SQQD/lUMA/55KAv+ROgD/kDgA/5VBDf99Mgb/gUMf/7GF
- Zv///eX///3r////9f/9//n//f/8///+/v///f////v+////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////f/+//r//P/0+/b/9Pb2///8////+/////n////4
- ////+P////P////6////+fz///b0///+9f//++z/zbWh/2M6Gf99NQD/m0QE/4ctAP+YPQb/nkMQ/4cw
- AP+RPQ3/hzkK/4Y9C/+CPgn/gj8G/4RBAv+JQgD/j0MA/5ZDAP+WQgD/lEAA/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5BAAP+NQQD/lEUA/5Q9
- AP+YOwD/oUIK/5M6CP98MQP/bzcO/7uYdv//+Nv////w//f66//9/ff////+///8/////P////7/////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////9//7/+P/+//b/
- +v/5/vz////////9///+9/z//PP9//72/////P////3////8/v////z////4////8//Uva3/Z0Ej/389
- Cv+YRQj/jzgA/5pACf+bPwz/jjIB/5M+Dv+NPg3/hj0J/4I/CP+AQQX/hEEC/4lCAP+PQwD/lkIA/5dC
- AP+UQAD/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kEAA/4U6AP+MPwD/nEUC/6NFBP+gPgL/nj8H/5NACf99Ogn/ajsP/8Omgf///+L////w///5
- 8P///vv///z////8/////v//////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////3////3/fz/+v////3//v////7////+/////v///////f////v+///5/v//9vr7////
- /v///fr////5///58P/WuaT/ekcc/3c1AP+SRxP/k0AM/4oxAP+cQAv/mkAK/445Af+NPwT/iEEC/4ZB
- Av+GQgH/i0EA/49BAP+UQAD/lkAA/5Q/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+QQAH/kEEC/4s8AP+ZRQT/oEYF/5Q4AP+RNwD/l0IE/41E
- CP96Pgj/az0O/8ekgv///+v////0///18f///f///vf8///+////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////7///3+///7/P///fv7//v5+P/9+vX/+/v1//b6
- 9f/z+vf/8fz6/+35+f/t+fv/+P////X39//79/b////7///87f/PrIr/dUQY/2svAf+EOgr/kT0J/55E
- C/+TNgD/mkAA/5RAAP+QQgD/i0IA/4tBAP+NQAH/jz8C/5I+BP+UPQT/kj8C/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Av+XRQv/izkA/488
- AP+WQgD/kz4A/5E9AP+SQAD/jT4A/4xECP9zNAH/fEgg/86ni/////H////5///5/P///v////7/////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////v////z////7
- /////f/////+////+/////n//f/7//j//P/t+/n/7////+3////v////9P////T5/P///v/////5////
- 7f+8nnv/ckMd/3c5C/+WRhH/mT4B/5Y1AP+nRgD/nUMA/5lDAP+UQgD/kEEA/48/Av+PPQb/kDsL/5I7
- Cf+SPgT/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8C/5Q8Bv+ROwX/jTsB/40/AP+SRwD/lUoA/5RGAP+SQQD/iDcA/55PFv9xLAH/cz0e/9q4
- qP////j//Pv9//j+///9////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////+/////v///////////////////////f////3////9/////f////3/////////////////
- ///////////////////9//////7///3//////v///f/////+////////////////////////////////
- //////7////+///+///78/3///n////9/////v////77////+v/9//v/+P/8//D9+//x////6/3+/+38
- ///0////9Pr///v+/////vr////x////7P+ylXb/bj0X/301Bv+TPAP/p0cF/588AP+gQgD/m0MA/5ZD
- AP+QQgD/jz8C/488CP+QOgz/kDsL/5I+BP+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+UPQT/jjMA/5xDEf+VRAv/hjsA/4ZBAP+NSQD/kUYA/5RC
- AP+gRgX/kDYA/5A7Df+AORT/fk0z/9O4pP////X/9/rx/////v//////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////v////z////8/////v////////////3////7/v//+/7///v+
- ///5/P//+/7///3////9/////f////39/f///////P7///f7/P/6+///+/////3+///7/////f7///3/
- ///9//////////////////7////+/////P////z////+///+/////v////7///////////7////+////
- /v/9//7/+/////r////6////+v////v////9/////f////v//v/0//n/+//1///14v+uiW3/ejoX/4o5
- DP+dPwr/lTQA/6JFAP+WQQD/jj4A/49BAP+QQwT/kD8G/446Bv+POQP/kj8C/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5Q9BP+ZOgj/lzoJ/488
- CP+GPwb/gkEE/4JCAf+JQQH/kj8B/508Av+jPgf/oDsH/401Bv+OSx7/aTwR//DYrv///+f////3////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////+/////P////z////+////
- /v///v///f////v+///6/v//+v7///r9///7/v///P7///n7/P/+/v7//////////P////n////5////
- +f////v//Pn1//f19P/8+vn/+Pj4/////////////////////v////7////8/////P////z////+////
- ////////////////////////////////////////////////////////////////////////+v/+/+//
- /P/y//f////y///96P+ufGD/djAL/4s5Cv+gRhD/jjUA/5lDAf+ZSAX/jj8A/4Y2AP+JOAD/kT8F/5hE
- Cv+SPwL/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/lj0E/5s6CP+XOgn/jzwJ/4g+Bv+CQAX/gkEE/4lABP+SPwL/oDwF/584Af+iOQb/lTkG/300
- Av+ASxj/clId/+vbsf////X/////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////7////8/////P////7////+///+///9////+/7///v+///3+v7/+v3///3/////////9/f3///9
- /P////z////3////6///8NL//unO///v2P//9+T////0////9/////n////8/////v//////////////
- /////////////////v//////////////////////////////////////////////////////////////
- ///////////////////9//7/9/77//3/+f////X////w///84v+fbEv/fDwT/4I2Bf+XRAz/jzkA/482
- AP+ZQQH/mkMD/5E8AP+NPAD/lUQH/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+UPgL/mTsG/5c7CP+QPQb/iz4F/4lABP+JQQH/j0AB/5Y/
- Af+eQAX/nDoE/5AxAP+YRBT/eDcK/2M0CP9qTSD/4dKx////9///////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////7////8/////v////////////3////9/v//+/7///f5
- +v/9/////////////v/++/f////7////+///9eL/6cec/9OpdP/Enm7/x6V6/8+0kv/z3sP///7r///3
- 6v////n////8///////9/////f////3////9////////////////////////////////////////////
- /////////////////////////////////////////////////v////7///v2////9////ez////s////
- 5/+FWDP/djoQ/4k/D/+NOgP/kjgA/5s9Av+iRQb/nkYG/5JAAP+KOgD/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5Q+Av+WPAX/ljwF/5I+
- BP+QPwL/kEAB/5JAAP+UQAD/lj8A/5tBBv+VPQf/mEQU/3w1Cf9uNxD/flcx/+nOrP//+uD////4////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////v////7/////////
- /////////f////3////9/////f39/////v////v////7///+9/////j////4/+nTt//gr3H/6Kxg/+Wu
- af/XqGv/w5tq/9W2j///7NH////x////9/////z///////3////9/v//+/7///v+///9////////////
- ///////////////////////////////////////////////////////////////////////////+///9
- /f////v///z1////9f////L/+O7W////5/+SaEX/ZCYA/49BE/+kSBX/mTUA/5QyAP+hRQT/n0oE/408
- AP+SQAD/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I+BP+UPgL/lD8B/5Y/AP+ZPwD/mUAA/5lAAP+XPwD/kD0A/49DDv98OAn/d0AZ/21C
- If/528D////t////8v////v/////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////+/////v///////////////////////f////////////7////8///89/////n///71////
- 9////O//yq+N/+CmW//2r1T/8rFg/+KqY//KnGL/xKF1/+XMrP///er////3////+////////f////v+
- ///7/v///f////3/////////////////////////////////////////////////////////////////
- //////////////////////7///3+//ns6v////v////5/+Lr3v////L////r///ozf+RYED/hkEa/4Qv
- Av+VNgT/nz4E/5k7AP+WPgD/nkoC/5RAAP+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+QQAH/kEAB/5BAAf+WQAD/mUAA/59AAP+fQAD/m0AA/5Y/
- AP+PQgn/cTAA/2UyB/+MY0L//uDH///y4P////X///bv/////v//////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////7////+////////////////////////////////////
- /v////z///v0////+P///vH////0///87P+/on3/5qha//uxU//qp1L/4qhd/92ucf/Kpnj/2L+f///7
- 6P////f////8///+///7/v///f////3/////////////////////////////////////////////////
- /////////////////////////////////////////////////v///f7///Ty/////P/t8ez/+P/7//r/
- +f/7++3////x//PRuv+hbk7/cCkD/4s5Cv+mSxT/ljoA/5M0AP+kSgP/lkAA/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5BAAf+NQQD/j0EA/5ZA
- AP+bQAD/oD8A/6A/AP+bPwD/kD8C/388Bf+LVyj/bkkj///y1/////H////4//zw8P///v//////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////v////7/////////
- //////////////////////7///z7////+///+/T////3////8v////L////y/8Omgf/do1j//LVd/+us
- XP/ep2L/1qp0/7iYbf/LtZn////x////+P////7//f////3////9/////////////v////z/////////
- //////////////////////////////////////////////////////////////////////////7////3
- 9////v7////+//3////x+fj/9v/8//3//P/9+O/////x/9+9pf+SXz7/djIH/4QzAP+YPgP/oEAA/5s8
- AP+WPwD/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kEAA/4tBAP+NQgD/lEAA/5lAAP+fPgD/nz4A/5Y+Av+JPgb/f0QT/3xSKP///Nz///zm////
- 9//79vX///z////9/////v//////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////+/////v///////////////////////////////v////7////7////+P///vT////1////
- 8v//8+P/996+/9CfYf/kqmL/36tp/8yfZv+6l2v/xq2L/+7dyP////X////7///////9/////f//////
- /v////z////7////+/////7/////////////////////////////////////////////////////////
- ///////////////////////////+/////v////////7///3+///9/v///f///////P/79u3////x/+3Q
- tf+BVC//hEIS/448Bf+aOgD/o0AC/5tCBf+LOAD/izgA/5A9AP+SPwH/lkMF/5hFB/+QPQD/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+QQAD/hDoA/5RLB/+YSQb/jTYA/5U8AP+bQgn/hzcC/307
- C/+bakL//+rJ////6////e7////6///+///39v///fz////+////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////7////+//////////////////////////////////37
- +v////z////5////9v////X////0////7///9Nn/472N/92xe//KonH/v592/8ivj//gzrf/+e7g////
- +f////7///////3////////////+////+/////n////5/////v//////////////////////////////
- //////////////////////////////////////////////3////7//7//f/+///+/////f////z////9
- ///9/f///f////3//P////P///nj/+7Ss/9xPhb/fzcI/55DEP+YOQH/mEAE/5I/Af+VQgT/mkcJ/5ZD
- Bf+OOwD/jjsA/5NAAv+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5BAAf+SSAb/jkcE/4Az
- AP+WSA3/lkYP/3UpAP+NSh3/qnZO///ry////+r///7t//f16//9//7/+v7///Dy/f/6/P///f7/////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////v////7/////////
- //////////////3//////////Pr5/////P////v///73///+9f////f////1////8P///9///+nG/+vT
- tf/n07r/9+jV////8f////n////8///////9/////////////v////z////7////+f////n////+////
- /////////////////////////////////////////////////////////////////////////f////j/
- /v/6//7///7////9////+/////v////8///7/v//+P///+bv5f////L////p/+PAn/98Qh7/hTYN/5VA
- EP+OOgD/kT4A/5E+AP+UQQP/l0QG/488AP+MOQD/l0QG/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kEAB/4c9AP+IQQL/jkgN/3c0AP9/Pw//hE0i/6FxT///8NT////t////8v//+/L////7//3/
- ///6/v//7PT7//j+///9////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////+/////v/////////////////9/////f////3////9/f3////+/////P///Pf///ny///+
- 9f////j////1////8f////D///7u///97/////b////5/////P///fz////////////////////+////
- /P////v////7////+/////7/////////////////////////////////////////////////////////
- ///////////////////9////+v/+//r//v///v////3////7////+/////v///v9///v9vn/+P/8//P3
- 7P////H////r/921mP95PR//fTcP/4k5Av+UQQP/jToA/4o3AP+WQwX/l0QG/5A9AP+TQAL/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+QQAH/jD4D/4xDCf94NgH/eUEQ/2w+Ff+pg2H////p////
- 8P//9er///33///+/v///v//+fv8//n+///2////9v////v/////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////7////8/////v////////////3////9/v//+/7///3/
- ///9//////////78+////fn////6////+v///fb//vjx///99v////n////7////+v///Pf///z4///9
- +f////7////+/////v////z////+/////v////7////+////////////////////////////////////
- ///////////////////////////////////////////////////9//7//f/+///+/////f////z////9
- /////P///fz///X6/f/7///////7///98v////L////u/8upkv9rOhr/fzYC/5ZDBf+WQwX/jzwA/5E+
- AP+VQgT/kj8B/447AP+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5A/Av+gTxb/fjMA/3Q5
- CP9uQBf/tZl3///+5/////L////5///+/v///f////z///v1+v/z8vT/+v////b//v/v+/X/+///////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////+/////P////z////+////
- /v///v///f////v+///7/v//+/7///r9///7/f7///////////////7////8///9/P///////f//////
- //////7////8/////P////v////7////+/////v////8/////P////7///////3////9////////////
- ////////////////////////////////////////////////////////////////////////////////
- /v////7////////+///9/v///f3///v+///9/f////7///Xy9P////7//PPv////+P////X///zu/8Cj
- iP+BQA3/jToA/5NAAv+WQwX/izgA/4s4AP+VQgT/k0AC/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8C/4k2AP+QRBT/dT4T/8Gdef///+v////0//v/+f/y9fn///v////4////+P////z////8
- /v/6//v/9v/5//H/9P/7//7/////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////7////8/////P////7////+///+///9////+/7///r+///6/v//+/7///v+///9/////f//////
- //////////////v+///7/v//+Pr7//r6+v///vr////6///+9////fT////5////+f////v////+////
- ///7/v//+v7///r+///9////////////////////////////////////////////////////////////
- /////////////////////v////7+///+/v///v//+/////j////2////+P////3+////+f7///z///vs
- 8P///f7///v7////+//t9uz////t/86TYf+cSQv/hjMA/5lGCP+NOgD/iTYA/5dEBv+WQwX/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPgT/mUMP/3wvAf/otIz////m//bz3v/2//f/8f///+by
- /P/v8f//+fP////5////+/////7///b78v/v/+7/9v/3//v//P//////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////v////z////7/////v////7///7///v////7/v//+v7///r+
- ///6/v//+/7///v+///8/v//+fv8//z8/P/9////8/f8//f7///7/v///////////P////n////4////
- 9/////j////5////+/////7//f////r+///4/v//+P7///3/////////////////////////////////
- ///////////////////////////////////////////////+/////f7///3+///+///6////9P////P/
- ///2/////f7////8////+/////v////z9////v//9/77//H//v////D////V/8ZzNf+EMQD/nEkL/5ZD
- Bf+NOgD/lkMF/447AP+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/
- Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I/Af+SPwH/kj8B/5I+BP+NNAH/8KJ3///0
- z////+n////y/+v99v/o/v//7P3///T5///99/////j////z/v///f7////4//b/9P/2//T/+//8////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////AAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAA=
-
-
-
\ No newline at end of file
diff --git a/WallpaperMaker/Program.cs b/WallpaperMaker/Program.cs
deleted file mode 100644
index b2087c4..0000000
--- a/WallpaperMaker/Program.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-namespace WallpaperMaker.WinForm;
-
-static class Program
-{
- [STAThread]
- static void Main()
- {
- Application.SetHighDpiMode(HighDpiMode.SystemAware);
- Application.EnableVisualStyles();
- Application.SetCompatibleTextRenderingDefault(false);
- Application.Run(new frm_Main());
- }
-}
diff --git a/WallpaperMaker/Properties/Resources.Designer.cs b/WallpaperMaker/Properties/Resources.Designer.cs
deleted file mode 100644
index 7ef2c0f..0000000
--- a/WallpaperMaker/Properties/Resources.Designer.cs
+++ /dev/null
@@ -1,63 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace WallpaperMaker.WinForm.Properties {
- using System;
-
-
- ///
- /// A strongly-typed resource class, for looking up localized strings, etc.
- ///
- // This class was auto-generated by the StronglyTypedResourceBuilder
- // class via a tool like ResGen or Visual Studio.
- // To add or remove a member, edit your .ResX file then rerun ResGen
- // with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources() {
- }
-
- ///
- /// Returns the cached ResourceManager instance used by this class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager {
- get {
- if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WallpaperMaker.WinForm.Properties.Resources", typeof(Resources).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- ///
- /// Overrides the current thread's CurrentUICulture property for all
- /// resource lookups using this strongly typed resource class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture {
- get {
- return resourceCulture;
- }
- set {
- resourceCulture = value;
- }
- }
- }
-}
diff --git a/WallpaperMaker/Properties/Resources.resx b/WallpaperMaker/Properties/Resources.resx
deleted file mode 100644
index 774ae44..0000000
--- a/WallpaperMaker/Properties/Resources.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
\ No newline at end of file
diff --git a/WallpaperMaker/Properties/Settings.Designer.cs b/WallpaperMaker/Properties/Settings.Designer.cs
deleted file mode 100644
index 3444c82..0000000
--- a/WallpaperMaker/Properties/Settings.Designer.cs
+++ /dev/null
@@ -1,77 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace WallpaperMaker.WinForm.Properties {
-
-
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.8.1.0")]
- internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
-
- private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
- public static Settings Default {
- get {
- return defaultInstance;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("330999996666001199999999999")]
- public string Seed {
- get {
- return ((string)(this["Seed"]));
- }
- set {
- this["Seed"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute(@"{
- ""Pallets"": [
- {
- ""Pallet"": {
- ""Name"": ""Sample Pallet"",
- ""Colors"": [
- ""229,244,227"",
- ""93,169,233"",
- ""0,63,145"",
- ""255,255,255"",
- ""109,50,109""
- ]
- }
- },
- {
- ""Pallet"": {
- ""Name"": ""Another Pallet"",
- ""Colors"": [
- ""109,238,170"",
- ""183,209,18"",
- ""216,236,126"",
- ""210,64,22"",
- ""177,107,7""
- ]
- }
- }
- ]
-}")]
- public string UserColorPallets {
- get {
- return ((string)(this["UserColorPallets"]));
- }
- set {
- this["UserColorPallets"] = value;
- }
- }
- }
-}
diff --git a/WallpaperMaker/Properties/Settings.settings b/WallpaperMaker/Properties/Settings.settings
deleted file mode 100644
index 8718f35..0000000
--- a/WallpaperMaker/Properties/Settings.settings
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
-
- 330999996666001199999999999
-
-
- {
- "Pallets": [
- {
- "Pallet": {
- "Name": "Sample Pallet",
- "Colors": [
- "229,244,227",
- "93,169,233",
- "0,63,145",
- "255,255,255",
- "109,50,109"
- ]
- }
- },
- {
- "Pallet": {
- "Name": "Another Pallet",
- "Colors": [
- "109,238,170",
- "183,209,18",
- "216,236,126",
- "210,64,22",
- "177,107,7"
- ]
- }
- }
- ]
-}
-
-
-
\ No newline at end of file
diff --git a/WallpaperMaker/SettingsPannel.Designer.cs b/WallpaperMaker/SettingsPannel.Designer.cs
deleted file mode 100644
index 333ff18..0000000
--- a/WallpaperMaker/SettingsPannel.Designer.cs
+++ /dev/null
@@ -1,392 +0,0 @@
-
-namespace WallpaperMaker.WinForm
-{
- partial class SettingsPannel
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- this.tb_AmoutRecs = new System.Windows.Forms.TrackBar();
- this.lbl_AmoutRecs = new System.Windows.Forms.Label();
- this.lbl_AmoutSquares = new System.Windows.Forms.Label();
- this.tb_AmoutSquares = new System.Windows.Forms.TrackBar();
- this.lbl_AmountEllies = new System.Windows.Forms.Label();
- this.tb_AmoutEllies = new System.Windows.Forms.TrackBar();
- this.lbl_AmountCircles = new System.Windows.Forms.Label();
- this.tb_AmoutCircles = new System.Windows.Forms.TrackBar();
- this.lbl_SizeRecs = new System.Windows.Forms.Label();
- this.tb_SizeRecs = new System.Windows.Forms.TrackBar();
- this.tb_SizeSquares = new System.Windows.Forms.TrackBar();
- this.tb_SizeEllies = new System.Windows.Forms.TrackBar();
- this.tb_SizeCircles = new System.Windows.Forms.TrackBar();
- this.cb_isEnabledRecs = new System.Windows.Forms.CheckBox();
- this.cb_isEnabledCircles = new System.Windows.Forms.CheckBox();
- this.cb_isEnabledEllis = new System.Windows.Forms.CheckBox();
- this.cb_isEnabledSquares = new System.Windows.Forms.CheckBox();
- this.lbl_SizeCircles = new System.Windows.Forms.Label();
- this.lbl_SizeEllies = new System.Windows.Forms.Label();
- this.lbl_SizeSquares = new System.Windows.Forms.Label();
- this.tb_ResultSeed = new System.Windows.Forms.TextBox();
- this.lbl_ResultSeed = new System.Windows.Forms.Label();
- this.bt_Done = new System.Windows.Forms.Button();
- this.bt_Cancel = new System.Windows.Forms.Button();
- ((System.ComponentModel.ISupportInitialize)(this.tb_AmoutRecs)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.tb_AmoutSquares)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.tb_AmoutEllies)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.tb_AmoutCircles)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.tb_SizeRecs)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.tb_SizeSquares)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.tb_SizeEllies)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.tb_SizeCircles)).BeginInit();
- this.SuspendLayout();
- //
- // tb_AmoutRecs
- //
- this.tb_AmoutRecs.Location = new System.Drawing.Point(107, 12);
- this.tb_AmoutRecs.Maximum = 9;
- this.tb_AmoutRecs.Minimum = 1;
- this.tb_AmoutRecs.Name = "tb_AmoutRecs";
- this.tb_AmoutRecs.Size = new System.Drawing.Size(104, 45);
- this.tb_AmoutRecs.TabIndex = 0;
- this.tb_AmoutRecs.Value = 1;
- this.tb_AmoutRecs.Scroll += new System.EventHandler(this.AnyBar_Scroll);
- //
- // lbl_AmoutRecs
- //
- this.lbl_AmoutRecs.AutoSize = true;
- this.lbl_AmoutRecs.Location = new System.Drawing.Point(13, 13);
- this.lbl_AmoutRecs.Name = "lbl_AmoutRecs";
- this.lbl_AmoutRecs.Size = new System.Drawing.Size(88, 15);
- this.lbl_AmoutRecs.TabIndex = 1;
- this.lbl_AmoutRecs.Text = "# of Rectangles";
- //
- // lbl_AmoutSquares
- //
- this.lbl_AmoutSquares.AutoSize = true;
- this.lbl_AmoutSquares.Location = new System.Drawing.Point(13, 64);
- this.lbl_AmoutSquares.Name = "lbl_AmoutSquares";
- this.lbl_AmoutSquares.Size = new System.Drawing.Size(72, 15);
- this.lbl_AmoutSquares.TabIndex = 3;
- this.lbl_AmoutSquares.Text = "# of Squares";
- //
- // tb_AmoutSquares
- //
- this.tb_AmoutSquares.Location = new System.Drawing.Point(107, 63);
- this.tb_AmoutSquares.Maximum = 9;
- this.tb_AmoutSquares.Minimum = 1;
- this.tb_AmoutSquares.Name = "tb_AmoutSquares";
- this.tb_AmoutSquares.Size = new System.Drawing.Size(104, 45);
- this.tb_AmoutSquares.TabIndex = 2;
- this.tb_AmoutSquares.Value = 1;
- this.tb_AmoutSquares.Scroll += new System.EventHandler(this.AnyBar_Scroll);
- //
- // lbl_AmountEllies
- //
- this.lbl_AmountEllies.AutoSize = true;
- this.lbl_AmountEllies.Location = new System.Drawing.Point(13, 115);
- this.lbl_AmountEllies.Name = "lbl_AmountEllies";
- this.lbl_AmountEllies.Size = new System.Drawing.Size(72, 15);
- this.lbl_AmountEllies.TabIndex = 5;
- this.lbl_AmountEllies.Text = "# of Ellipsies";
- //
- // tb_AmoutEllies
- //
- this.tb_AmoutEllies.Location = new System.Drawing.Point(107, 114);
- this.tb_AmoutEllies.Maximum = 9;
- this.tb_AmoutEllies.Minimum = 1;
- this.tb_AmoutEllies.Name = "tb_AmoutEllies";
- this.tb_AmoutEllies.Size = new System.Drawing.Size(104, 45);
- this.tb_AmoutEllies.TabIndex = 4;
- this.tb_AmoutEllies.Value = 1;
- this.tb_AmoutEllies.Scroll += new System.EventHandler(this.AnyBar_Scroll);
- //
- // lbl_AmountCircles
- //
- this.lbl_AmountCircles.AutoSize = true;
- this.lbl_AmountCircles.Location = new System.Drawing.Point(13, 166);
- this.lbl_AmountCircles.Name = "lbl_AmountCircles";
- this.lbl_AmountCircles.Size = new System.Drawing.Size(66, 15);
- this.lbl_AmountCircles.TabIndex = 7;
- this.lbl_AmountCircles.Text = "# of Circles";
- //
- // tb_AmoutCircles
- //
- this.tb_AmoutCircles.Location = new System.Drawing.Point(107, 165);
- this.tb_AmoutCircles.Maximum = 9;
- this.tb_AmoutCircles.Minimum = 1;
- this.tb_AmoutCircles.Name = "tb_AmoutCircles";
- this.tb_AmoutCircles.Size = new System.Drawing.Size(104, 45);
- this.tb_AmoutCircles.TabIndex = 6;
- this.tb_AmoutCircles.Value = 1;
- this.tb_AmoutCircles.Scroll += new System.EventHandler(this.AnyBar_Scroll);
- //
- // lbl_SizeRecs
- //
- this.lbl_SizeRecs.AutoSize = true;
- this.lbl_SizeRecs.Location = new System.Drawing.Point(217, 13);
- this.lbl_SizeRecs.Name = "lbl_SizeRecs";
- this.lbl_SizeRecs.Size = new System.Drawing.Size(27, 15);
- this.lbl_SizeRecs.TabIndex = 11;
- this.lbl_SizeRecs.Text = "Size";
- //
- // tb_SizeRecs
- //
- this.tb_SizeRecs.Location = new System.Drawing.Point(250, 12);
- this.tb_SizeRecs.Maximum = 9;
- this.tb_SizeRecs.Minimum = 1;
- this.tb_SizeRecs.Name = "tb_SizeRecs";
- this.tb_SizeRecs.Size = new System.Drawing.Size(104, 45);
- this.tb_SizeRecs.TabIndex = 10;
- this.tb_SizeRecs.Value = 1;
- this.tb_SizeRecs.Scroll += new System.EventHandler(this.AnyBar_Scroll);
- //
- // tb_SizeSquares
- //
- this.tb_SizeSquares.Location = new System.Drawing.Point(250, 63);
- this.tb_SizeSquares.Maximum = 9;
- this.tb_SizeSquares.Minimum = 1;
- this.tb_SizeSquares.Name = "tb_SizeSquares";
- this.tb_SizeSquares.Size = new System.Drawing.Size(104, 45);
- this.tb_SizeSquares.TabIndex = 12;
- this.tb_SizeSquares.Value = 1;
- this.tb_SizeSquares.Scroll += new System.EventHandler(this.AnyBar_Scroll);
- //
- // tb_SizeEllies
- //
- this.tb_SizeEllies.Location = new System.Drawing.Point(250, 114);
- this.tb_SizeEllies.Maximum = 9;
- this.tb_SizeEllies.Minimum = 1;
- this.tb_SizeEllies.Name = "tb_SizeEllies";
- this.tb_SizeEllies.Size = new System.Drawing.Size(104, 45);
- this.tb_SizeEllies.TabIndex = 14;
- this.tb_SizeEllies.Value = 1;
- this.tb_SizeEllies.Scroll += new System.EventHandler(this.AnyBar_Scroll);
- //
- // tb_SizeCircles
- //
- this.tb_SizeCircles.Location = new System.Drawing.Point(250, 165);
- this.tb_SizeCircles.Maximum = 9;
- this.tb_SizeCircles.Minimum = 1;
- this.tb_SizeCircles.Name = "tb_SizeCircles";
- this.tb_SizeCircles.Size = new System.Drawing.Size(104, 45);
- this.tb_SizeCircles.TabIndex = 16;
- this.tb_SizeCircles.Value = 1;
- this.tb_SizeCircles.Scroll += new System.EventHandler(this.AnyBar_Scroll);
- //
- // cb_isEnabledRecs
- //
- this.cb_isEnabledRecs.AutoSize = true;
- this.cb_isEnabledRecs.Checked = true;
- this.cb_isEnabledRecs.CheckState = System.Windows.Forms.CheckState.Checked;
- this.cb_isEnabledRecs.Location = new System.Drawing.Point(360, 12);
- this.cb_isEnabledRecs.Name = "cb_isEnabledRecs";
- this.cb_isEnabledRecs.Size = new System.Drawing.Size(73, 19);
- this.cb_isEnabledRecs.TabIndex = 20;
- this.cb_isEnabledRecs.Text = "Enabled?";
- this.cb_isEnabledRecs.UseVisualStyleBackColor = true;
- this.cb_isEnabledRecs.CheckedChanged += new System.EventHandler(this.cb_isEnabledRecs_CheckedChanged);
- //
- // cb_isEnabledCircles
- //
- this.cb_isEnabledCircles.AutoSize = true;
- this.cb_isEnabledCircles.Checked = true;
- this.cb_isEnabledCircles.CheckState = System.Windows.Forms.CheckState.Checked;
- this.cb_isEnabledCircles.Location = new System.Drawing.Point(360, 165);
- this.cb_isEnabledCircles.Name = "cb_isEnabledCircles";
- this.cb_isEnabledCircles.Size = new System.Drawing.Size(73, 19);
- this.cb_isEnabledCircles.TabIndex = 22;
- this.cb_isEnabledCircles.Text = "Enabled?";
- this.cb_isEnabledCircles.UseVisualStyleBackColor = true;
- this.cb_isEnabledCircles.CheckedChanged += new System.EventHandler(this.cb_isEnabledCircles_CheckedChanged);
- //
- // cb_isEnabledEllis
- //
- this.cb_isEnabledEllis.AutoSize = true;
- this.cb_isEnabledEllis.Checked = true;
- this.cb_isEnabledEllis.CheckState = System.Windows.Forms.CheckState.Checked;
- this.cb_isEnabledEllis.Location = new System.Drawing.Point(360, 114);
- this.cb_isEnabledEllis.Name = "cb_isEnabledEllis";
- this.cb_isEnabledEllis.Size = new System.Drawing.Size(73, 19);
- this.cb_isEnabledEllis.TabIndex = 23;
- this.cb_isEnabledEllis.Text = "Enabled?";
- this.cb_isEnabledEllis.UseVisualStyleBackColor = true;
- this.cb_isEnabledEllis.CheckedChanged += new System.EventHandler(this.cb_isEnabledEllis_CheckedChanged);
- //
- // cb_isEnabledSquares
- //
- this.cb_isEnabledSquares.AutoSize = true;
- this.cb_isEnabledSquares.Checked = true;
- this.cb_isEnabledSquares.CheckState = System.Windows.Forms.CheckState.Checked;
- this.cb_isEnabledSquares.Location = new System.Drawing.Point(360, 63);
- this.cb_isEnabledSquares.Name = "cb_isEnabledSquares";
- this.cb_isEnabledSquares.Size = new System.Drawing.Size(73, 19);
- this.cb_isEnabledSquares.TabIndex = 24;
- this.cb_isEnabledSquares.Text = "Enabled?";
- this.cb_isEnabledSquares.UseVisualStyleBackColor = true;
- this.cb_isEnabledSquares.CheckedChanged += new System.EventHandler(this.cb_isEnabledSquares_CheckedChanged);
- //
- // lbl_SizeCircles
- //
- this.lbl_SizeCircles.AutoSize = true;
- this.lbl_SizeCircles.Location = new System.Drawing.Point(217, 166);
- this.lbl_SizeCircles.Name = "lbl_SizeCircles";
- this.lbl_SizeCircles.Size = new System.Drawing.Size(27, 15);
- this.lbl_SizeCircles.TabIndex = 25;
- this.lbl_SizeCircles.Text = "Size";
- //
- // lbl_SizeEllies
- //
- this.lbl_SizeEllies.AutoSize = true;
- this.lbl_SizeEllies.Location = new System.Drawing.Point(217, 115);
- this.lbl_SizeEllies.Name = "lbl_SizeEllies";
- this.lbl_SizeEllies.Size = new System.Drawing.Size(27, 15);
- this.lbl_SizeEllies.TabIndex = 26;
- this.lbl_SizeEllies.Text = "Size";
- //
- // lbl_SizeSquares
- //
- this.lbl_SizeSquares.AutoSize = true;
- this.lbl_SizeSquares.Location = new System.Drawing.Point(217, 64);
- this.lbl_SizeSquares.Name = "lbl_SizeSquares";
- this.lbl_SizeSquares.Size = new System.Drawing.Size(27, 15);
- this.lbl_SizeSquares.TabIndex = 27;
- this.lbl_SizeSquares.Text = "Size";
- //
- // tb_ResultSeed
- //
- this.tb_ResultSeed.Location = new System.Drawing.Point(111, 216);
- this.tb_ResultSeed.Name = "tb_ResultSeed";
- this.tb_ResultSeed.ReadOnly = true;
- this.tb_ResultSeed.Size = new System.Drawing.Size(166, 23);
- this.tb_ResultSeed.TabIndex = 28;
- this.tb_ResultSeed.TabStop = false;
- //
- // lbl_ResultSeed
- //
- this.lbl_ResultSeed.AutoSize = true;
- this.lbl_ResultSeed.Location = new System.Drawing.Point(11, 219);
- this.lbl_ResultSeed.Name = "lbl_ResultSeed";
- this.lbl_ResultSeed.Size = new System.Drawing.Size(90, 15);
- this.lbl_ResultSeed.TabIndex = 29;
- this.lbl_ResultSeed.Text = "Resulting Seed: ";
- //
- // bt_Done
- //
- this.bt_Done.Location = new System.Drawing.Point(364, 215);
- this.bt_Done.Name = "bt_Done";
- this.bt_Done.Size = new System.Drawing.Size(75, 23);
- this.bt_Done.TabIndex = 30;
- this.bt_Done.Text = "Done";
- this.bt_Done.UseVisualStyleBackColor = true;
- this.bt_Done.Click += new System.EventHandler(this.bt_Done_Click);
- //
- // bt_Cancel
- //
- this.bt_Cancel.Location = new System.Drawing.Point(283, 215);
- this.bt_Cancel.Name = "bt_Cancel";
- this.bt_Cancel.Size = new System.Drawing.Size(75, 23);
- this.bt_Cancel.TabIndex = 31;
- this.bt_Cancel.Text = "Cancel";
- this.bt_Cancel.UseVisualStyleBackColor = true;
- this.bt_Cancel.Click += new System.EventHandler(this.bt_Cancel_Click);
- //
- // SettingsPannel
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(451, 251);
- this.Controls.Add(this.bt_Cancel);
- this.Controls.Add(this.bt_Done);
- this.Controls.Add(this.lbl_ResultSeed);
- this.Controls.Add(this.tb_ResultSeed);
- this.Controls.Add(this.lbl_SizeSquares);
- this.Controls.Add(this.lbl_SizeEllies);
- this.Controls.Add(this.lbl_SizeCircles);
- this.Controls.Add(this.cb_isEnabledSquares);
- this.Controls.Add(this.cb_isEnabledEllis);
- this.Controls.Add(this.cb_isEnabledCircles);
- this.Controls.Add(this.cb_isEnabledRecs);
- this.Controls.Add(this.tb_SizeCircles);
- this.Controls.Add(this.tb_SizeEllies);
- this.Controls.Add(this.tb_SizeSquares);
- this.Controls.Add(this.lbl_SizeRecs);
- this.Controls.Add(this.tb_SizeRecs);
- this.Controls.Add(this.lbl_AmountCircles);
- this.Controls.Add(this.tb_AmoutCircles);
- this.Controls.Add(this.lbl_AmountEllies);
- this.Controls.Add(this.tb_AmoutEllies);
- this.Controls.Add(this.lbl_AmoutSquares);
- this.Controls.Add(this.tb_AmoutSquares);
- this.Controls.Add(this.lbl_AmoutRecs);
- this.Controls.Add(this.tb_AmoutRecs);
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
- this.MaximizeBox = false;
- this.MinimizeBox = false;
- this.Name = "SettingsPannel";
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
- this.Text = "SettingsPannel";
- this.Load += new System.EventHandler(this.SettingsPannel_Load);
- ((System.ComponentModel.ISupportInitialize)(this.tb_AmoutRecs)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.tb_AmoutSquares)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.tb_AmoutEllies)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.tb_AmoutCircles)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.tb_SizeRecs)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.tb_SizeSquares)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.tb_SizeEllies)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.tb_SizeCircles)).EndInit();
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private System.Windows.Forms.TrackBar tb_AmoutRecs;
- private System.Windows.Forms.Label lbl_AmoutRecs;
- private System.Windows.Forms.Label lbl_AmoutSquares;
- private System.Windows.Forms.TrackBar tb_AmoutSquares;
- private System.Windows.Forms.Label lbl_AmountEllies;
- private System.Windows.Forms.TrackBar tb_AmoutEllies;
- private System.Windows.Forms.Label lbl_AmountCircles;
- private System.Windows.Forms.Label lbl_SizeRecs;
- private System.Windows.Forms.TrackBar tb_SizeRecs;
- private System.Windows.Forms.TrackBar tb_SizeSquares;
- private System.Windows.Forms.TrackBar tb_SizeEllies;
- private System.Windows.Forms.TrackBar tb_SizeCircles;
- private System.Windows.Forms.CheckBox cb_isEnabledRecs;
- private System.Windows.Forms.CheckBox cb_isEnabledCircles;
- private System.Windows.Forms.CheckBox cb_isEnabledEllis;
- private System.Windows.Forms.CheckBox cb_isEnabledSquares;
- private System.Windows.Forms.Label lbl_SizeCircles;
- private System.Windows.Forms.Label lbl_SizeEllies;
- private System.Windows.Forms.Label lbl_SizeSquares;
- private System.Windows.Forms.TextBox tb_ResultSeed;
- private System.Windows.Forms.Label lbl_ResultSeed;
- private System.Windows.Forms.TrackBar tb_AmoutCircles;
- private System.Windows.Forms.Button bt_Done;
- private System.Windows.Forms.Button bt_Cancel;
- }
-}
\ No newline at end of file
diff --git a/WallpaperMaker/SettingsPannel.cs b/WallpaperMaker/SettingsPannel.cs
deleted file mode 100644
index 7ca4e89..0000000
--- a/WallpaperMaker/SettingsPannel.cs
+++ /dev/null
@@ -1,156 +0,0 @@
-namespace WallpaperMaker.WinForm;
-
-public partial class SettingsPannel : Form
-{
- public SettingsPannel()
- {
- InitializeComponent();
- }
-
- private void SettingsPannel_Load(object sender, EventArgs e)
- {
- fillSeedTextbox(Properties.Settings.Default.Seed);
- loadFromSeed(Properties.Settings.Default.Seed);
- }
-
- private void AnyBar_Scroll(object sender, EventArgs e)
- {
- fillSeedTextbox(buildSeed());
- }
-
- private void cb_isEnabledRecs_CheckedChanged(object sender, EventArgs e)
- {
- toggleRowEnables(1, cb_isEnabledRecs.Checked);
- }
-
- private void cb_isEnabledSquares_CheckedChanged(object sender, EventArgs e)
- {
- toggleRowEnables(2, cb_isEnabledSquares.Checked);
- }
-
- private void cb_isEnabledEllis_CheckedChanged(object sender, EventArgs e)
- {
- toggleRowEnables(3, cb_isEnabledEllis.Checked);
- }
-
- private void cb_isEnabledCircles_CheckedChanged(object sender, EventArgs e)
- {
- toggleRowEnables(4, cb_isEnabledCircles.Checked);
- }
-
- private void bt_Done_Click(object sender, EventArgs e)
- {
- if (!cb_isEnabledRecs.Checked && !cb_isEnabledSquares.Checked && !cb_isEnabledEllis.Checked && !cb_isEnabledCircles.Checked)
- {
- MessageBox.Show("At least 1 Element needs to be Enabled", "Not enough elements Enabled", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- else
- {
- Properties.Settings.Default.Seed = tb_ResultSeed.Text;
- this.Close();
- }
- }
-
- private void bt_Cancel_Click(object sender, EventArgs e)
- {
- this.Close();
- }
-
- // Seed management
- private void fillSeedTextbox(string input)
- {
- tb_ResultSeed.Text = input;
- }
-
- private string buildSeed()
- {
- return $"{collectAmountSliderData()}99999{collectSizeSliderData()}9999999999";
- }
-
- private void loadFromSeed(string seed)
- {
- if (seed.Length < 27) return;
-
- // Each shape: amount at seed[i], size at seed[9 + i*2]
- loadRowFromSeed(seed[0], seed[9], 1);
- loadRowFromSeed(seed[1], seed[11], 2);
- loadRowFromSeed(seed[2], seed[13], 3);
- loadRowFromSeed(seed[3], seed[15], 4);
- }
-
- private void loadRowFromSeed(char amountChar, char sizeChar, int row)
- {
- int amount = amountChar - '0';
- int size = sizeChar - '0';
- bool enabled = amount > 0;
-
- var (checkBox, amountBar, sizeBar) = GetRowControls(row);
- if (checkBox == null || amountBar == null || sizeBar == null) return;
-
- checkBox.Checked = enabled;
- amountBar.Value = enabled ? Math.Clamp(amount, 1, 9) : 1;
- sizeBar.Value = Math.Clamp(size, 1, 9);
- toggleRowEnables(row, enabled);
- }
-
- private (CheckBox? cb, TrackBar? amount, TrackBar? size) GetRowControls(int row) => row switch
- {
- 1 => (cb_isEnabledRecs, tb_AmoutRecs, tb_SizeRecs),
- 2 => (cb_isEnabledSquares, tb_AmoutSquares, tb_SizeSquares),
- 3 => (cb_isEnabledEllis, tb_AmoutEllies, tb_SizeEllies),
- 4 => (cb_isEnabledCircles, tb_AmoutCircles, tb_SizeCircles),
- _ => (null, null, null)
- };
-
- private string collectAmountSliderData()
- {
- return string.Concat(
- cb_isEnabledRecs.Checked ? tb_AmoutRecs.Value : 0,
- cb_isEnabledSquares.Checked ? tb_AmoutSquares.Value : 0,
- cb_isEnabledEllis.Checked ? tb_AmoutEllies.Value : 0,
- cb_isEnabledCircles.Checked ? tb_AmoutCircles.Value : 0);
- }
-
- private string collectSizeSliderData()
- {
- static string sizeFor(bool enabled, TrackBar bar) =>
- enabled ? $"{bar.Value}{bar.Value}" : "00";
-
- return string.Concat(
- sizeFor(cb_isEnabledRecs.Checked, tb_SizeRecs),
- sizeFor(cb_isEnabledSquares.Checked, tb_SizeSquares),
- sizeFor(cb_isEnabledEllis.Checked, tb_SizeEllies),
- sizeFor(cb_isEnabledCircles.Checked, tb_SizeCircles));
- }
-
- private void toggleRowEnables(int row, bool isEnabled)
- {
- var (_, amountBar, sizeBar) = GetRowControls(row);
- if (amountBar == null || sizeBar == null) return;
-
- // Enable/disable the corresponding labels and sliders
- switch (row)
- {
- case 1:
- lbl_AmoutRecs.Enabled = isEnabled;
- lbl_SizeRecs.Enabled = isEnabled;
- break;
- case 2:
- lbl_AmoutSquares.Enabled = isEnabled;
- lbl_SizeSquares.Enabled = isEnabled;
- break;
- case 3:
- lbl_AmountEllies.Enabled = isEnabled;
- lbl_SizeEllies.Enabled = isEnabled;
- break;
- case 4:
- lbl_AmountCircles.Enabled = isEnabled;
- lbl_SizeCircles.Enabled = isEnabled;
- break;
- }
- amountBar.Enabled = isEnabled;
- sizeBar.Enabled = isEnabled;
-
- fillSeedTextbox(buildSeed());
- }
-}
diff --git a/WallpaperMaker/SettingsPannel.resx b/WallpaperMaker/SettingsPannel.resx
deleted file mode 100644
index 919be7c..0000000
--- a/WallpaperMaker/SettingsPannel.resx
+++ /dev/null
@@ -1,63 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- True
-
-
\ No newline at end of file
diff --git a/WallpaperMaker/WallpaperMaker.WinForm.csproj b/WallpaperMaker/WallpaperMaker.WinForm.csproj
deleted file mode 100644
index b10c697..0000000
--- a/WallpaperMaker/WallpaperMaker.WinForm.csproj
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
- WinExe
- net9.0-windows
- true
- enable
- enable
- AnyCPU;x64
- Dominik Essenhofer
- This application dynamically generates wallpapers for any resolution
- Dominik Essenhofer
-
- en
- Wallpaper Maker
- WallpaperMaker.WinForm.Program
- false
- AppIcon.ico
- latestmajor
-
-
-
-
-
-
-
-
-
-
-
-
- True
- True
- Resources.resx
-
-
- True
- True
- Settings.settings
-
-
-
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
-
-
-
-
-
- SettingsSingleFileGenerator
- Settings.Designer.cs
-
-
-
-
diff --git a/WallpaperMaker/WinFormUtils.cs b/WallpaperMaker/WinFormUtils.cs
deleted file mode 100644
index 1330057..0000000
--- a/WallpaperMaker/WinFormUtils.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-using System.Drawing;
-using System.Drawing.Imaging;
-using System.Windows.Forms;
-using SkiaSharp;
-
-namespace WallpaperMaker.WinForm;
-
-public static class WinFormUtils
-{
- internal static int GrabXRes()
- {
- var bounds = Screen.PrimaryScreen?.Bounds ?? new Rectangle(0, 0, 1920, 1080);
- return bounds.Width;
- }
-
- internal static int GrabYRes()
- {
- var bounds = Screen.PrimaryScreen?.Bounds ?? new Rectangle(0, 0, 1920, 1080);
- return bounds.Height;
- }
-
- internal static Bitmap SKBitmapToWinFormsBitmap(SKBitmap skBitmap)
- {
- using var image = SKImage.FromBitmap(skBitmap);
- using var data = image.Encode(SKEncodedImageFormat.Png, 100);
- using var stream = new MemoryStream(data.ToArray());
- return new Bitmap(stream);
- }
-
- internal static SKColor DrawingColorToSKColor(Color color)
- {
- return new SKColor(color.R, color.G, color.B, color.A);
- }
-
- internal static Color SKColorToDrawingColor(SKColor color)
- {
- return Color.FromArgb(color.Alpha, color.Red, color.Green, color.Blue);
- }
-}