{"version":3,"file":"index.mjs","sources":["../src/constants/ast-types.ts","../src/constants/json-types.ts","../src/constants/validation-modes.ts","../src/constants/input-types.ts","../src/constants/number-line-constants.ts","../src/utils/fraction-keys.ts","../src/lexer/tokens.ts","../src/errors/index.ts","../src/lexer/lexer.ts","../src/parser/grammar.ts","../src/ast/inline.ts","../src/ast/blocks.ts","../src/ast/number-line.ts","../src/ast/table.ts","../src/ast/vertical-operation.ts","../src/ast/matcher-item.ts","../src/ast/matcher.ts","../src/ast/pair-matcher.ts","../src/ast/tools.ts","../src/ast/radio-options.ts","../src/ast/validation.ts","../src/ast/document.ts","../src/parser/cst-visitor.ts","../src/parser/index.ts","../src/transformers/zod-schemas.ts","../src/transformers/json-schema.ts","../src/transformers/ast-to-json.ts","../src/utils/normalize.ts","../src/utils/number-line.utils.ts","../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/lodash.js","../src/validators/widget-validators/matcher.ts","../src/validators/widget-validators/pair-matcher.ts","../src/validators/widget-validators/visual-fraction.ts","../src/validators/simple.ts","../src/validators/evaluator.ts","../src/validators/expression.ts","../src/validators/mixed.ts","../src/validators/fraction-preprocessor.ts","../src/validators/index.ts","../src/renderer/dnd/schemas.ts","../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/utilities.esm.js","../node_modules/.pnpm/@dnd-kit+accessibility@3.1.1_react@19.2.4/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js","../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4/node_modules/@dnd-kit/core/dist/core.esm.js","../src/renderer/sounds/assets/drag-start.wav","../src/renderer/sounds/assets/drag-drop.wav","../src/renderer/sounds/assets/button-click.wav","../src/renderer/sounds/assets/select-input.wav","../src/renderer/sounds/assets/answer-correct.wav","../src/renderer/sounds/assets/answer-wrong.wav","../src/renderer/sounds/defaults.ts","../src/renderer/sounds/SoundContext.tsx","../src/renderer/dnd/drop-targets/DndContext.tsx","../src/renderer/dnd/drop-targets/DndWrappers.tsx","../src/renderer/dnd/movable-tools/hooks/useDrag.ts","../src/renderer/dnd/movable-tools/hooks/useRotate.ts","../src/renderer/dnd/hooks/useJiggle.ts","../src/renderer/dnd/movable-tools/geometry-svgs/RulerSvg.tsx","../src/renderer/dnd/movable-tools/geometry-svgs/ProtractorSvg.tsx","../src/renderer/dnd/movable-tools/geometry-svgs/SetSquareSvg.tsx","../src/renderer/dnd/movable-tools/DraggableTool.tsx","../src/renderer/dnd/movable-tools/ToolsOverlay.tsx","../src/renderer/widgets/chip-drop.ts","../src/renderer/widgets/PlacedInputChip.tsx","../src/renderer/widgets/InlineInput.tsx","../src/renderer/widgets/drag-widgets/shared/SingleDragOption.tsx","../src/renderer/widgets/PillBackground.tsx","../src/renderer/widgets/drag-widgets/DragOptions.tsx","../src/renderer/widgets/drag-widgets/InlineDragOption.tsx","../src/renderer/widgets/NumericKeypad.tsx","../src/renderer/widgets/FractionInput.tsx","../src/renderer/utils/group-palette.ts","../src/renderer/widgets/visual-fraction/part-utils.ts","../src/renderer/widgets/visual-fraction/use-visual-fraction-state.ts","../src/renderer/widgets/visual-fraction/types.ts","../src/renderer/utils/visual-fraction-geometry.ts","../src/renderer/widgets/visual-fraction/shapes/part-interactions.ts","../src/renderer/widgets/visual-fraction/shapes/BarShape.tsx","../src/renderer/widgets/visual-fraction/shapes/GridShape.tsx","../src/renderer/widgets/visual-fraction/shapes/CircleShape.tsx","../src/renderer/widgets/visual-fraction/shapes/TriangleShape.tsx","../src/renderer/widgets/visual-fraction/VisualFraction.tsx","../src/renderer/widgets/RadioOptions.tsx","../src/renderer/widgets/DiamondKeypad.tsx","../src/renderer/widgets/matcher/MatcherWidget.tsx","../src/renderer/utils/text-direction.ts","../src/renderer/utils/bidi-detection.ts","../src/renderer/widgets/pair-matcher/usePairLines.ts","../src/renderer/utils/pair-matcher.utils.ts","../src/renderer/widgets/pair-matcher/PairMatcherWidget.tsx","../src/renderer/widgets/type-guards.ts","../src/renderer/widgets/WidgetRenderer.tsx","../src/renderer/utils/number-line.utils.ts","../src/renderer/components/layouts/number-line/HighlightBands.tsx","../src/renderer/components/layouts/number-line/CursorBalls.tsx","../src/renderer/components/layouts/number-line/FreeDragAxis.tsx","../src/renderer/components/layouts/number-line/AxisTicks.tsx","../src/renderer/components/layouts/number-line/AxisLabels.tsx","../src/renderer/components/layouts/number-line/HighlightLabelsRow.tsx","../src/renderer/components/layouts/number-line/CounterControls.tsx","../src/renderer/components/layouts/number-line/ArrowArcsRow.tsx","../src/renderer/components/layouts/number-line/useMeasuredPositionContentHeight.ts","../src/renderer/components/layouts/number-line/NumberLineRenderer.tsx","../src/renderer/components/layouts/clock/ClockRenderer.tsx","../src/renderer/utils/layout-grouping.ts","../src/renderer/components/LayoutRenderer.tsx","../src/renderer/components/ExerciseRenderer.tsx","../src/renderer/renderExercise.tsx","../src/index.ts"],"sourcesContent":["/**\n * AST Node Type Constants\n *\n * Single source of truth for all AST node type strings.\n * Use these constants instead of string literals to ensure type safety\n * and make refactoring easier.\n *\n * @example\n * ```typescript\n * import { AST_TYPES } from './constants/ast-types';\n *\n * const node = {\n *   type: AST_TYPES.HIGHLIGHTED_TEXT,\n *   value: \"123\"\n * };\n * ```\n */\n\n/**\n * AST Node Types\n *\n * These are the internal AST representation types used during parsing.\n */\nexport const AST_TYPES = {\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Inline Elements\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  /** Regular text without special formatting */\n  FREE_TEXT: 'FreeText',\n\n  /** Explicit spacing element */\n  SPACE: 'Space',\n\n  /** Text with optional character-range highlighting */\n  HIGHLIGHTED_TEXT: 'HighlightedText',\n\n  /** Text with color and optional character-range coloring */\n  COLOR_TEXT: 'ColorText',\n\n  /** Bold text with optional character-range bolding */\n  BOLD_TEXT: 'BoldText',\n\n  /** Inline input widget (string or numeric) */\n  INLINE_INPUT: 'InlineInput',\n\n  /** Single inline draggable option (appears in-flow with text) */\n  INLINE_DRAG_OPTION: 'InlineDragOption',\n\n  /** Inline fraction widget (numerator/denominator with optional inputs) */\n  FRACTION: 'Fraction',\n\n  /** Inline image element */\n  IMAGE: 'Image',\n\n  /** Clock widget — analog/digital, display or interactive */\n  CLOCK: 'Clock',\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Blocks\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  /** Question/instruction text block */\n  TEXT_BLOCK: 'TextBlock',\n\n  /** Line containing inline elements */\n  LINE_BLOCK: 'LineBlock',\n\n  /** Table layout block */\n  TABLE_BLOCK: 'TableBlock',\n\n  /** Row within a table */\n  TABLE_ROW: 'TableRow',\n\n  /** Cell within a table row */\n  TABLE_CELL: 'TableCell',\n\n  /** Vertical operation (column arithmetic) block */\n  VERTICAL_OPERATION_BLOCK: 'VerticalOperationBlock',\n\n  /** Row within a vertical operation */\n  VOP_ROW: 'VopRow',\n\n  /** Cell within a vertical-operation row */\n  VOP_CELL: 'VopCell',\n\n  /** Separator line within a vertical operation */\n  VOP_SEPARATOR: 'VopSeparator',\n\n  /** Carry row within a vertical operation */\n  VOP_CARRY_ROW: 'VopCarryRow',\n\n  /** Number line layout block */\n  NUMBER_LINE_BLOCK: 'NumberLineBlock',\n\n  /** A position marker on the number line */\n  NUMBER_LINE_POSITION: 'NumberLinePosition',\n\n  /** A draggable cursor on the number line */\n  NUMBER_LINE_CURSOR: 'NumberLineCursor',\n\n  /** A dynamic subdivision counter embedded in a number line */\n  NUMBER_LINE_COUNTER: 'NumberLineCounter',\n\n  /** A highlighted range on the number line axis */\n  NUMBER_LINE_HIGHLIGHT: 'NumberLineHighlight',\n\n  /** An arrow annotation spanning a number line interval */\n  NUMBER_LINE_ARROW: 'NumberLineArrow',\n\n  /** Matcher layout block */\n  MATCHER_BLOCK: 'MatcherBlock',\n\n  /** Row within a matcher */\n  MATCHER_ROW: 'MatcherRow',\n\n  /** Item within a matcher row */\n  MATCHER_ITEM: 'MatcherItem',\n\n  /** Pair-matcher layout block (top-row ↔ bottom-row pairing) */\n  PAIR_MATCHER_BLOCK: 'PairMatcherBlock',\n\n  /** Visual fraction inline widget */\n  VISUAL_FRACTION: 'VisualFraction',\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Tools\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  /** Drag-and-drop options tool */\n  DRAG_OPTIONS: 'DragOptions',\n\n  /** Radio button options tool */\n  RADIO_OPTIONS: 'RadioOptions',\n\n  /** Numeric keypad input tool */\n  NUMERIC_KEYPAD: 'NumericKeypad',\n\n  /** Geometry ruler tool */\n  GEOMETRY_RULER: 'GeometryRuler',\n\n  /** Geometry protractor tool */\n  GEOMETRY_PROTRACTOR: 'GeometryProtractor',\n\n  /** Geometry set square tool */\n  GEOMETRY_SET_SQUARE: 'GeometrySetSquare',\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Validation\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  /** Simple answer matching validation */\n  SIMPLE_VALIDATION: 'SimpleValidation',\n\n  /** Expression-based validation */\n  EXPRESSION_VALIDATION: 'ExpressionValidation',\n\n  /** Mixed validation: per-widget simple answers + expression over free variables */\n  MIXED_VALIDATION: 'MixedValidation',\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Document\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  /** Root exercise document */\n  EXERCISE_DOCUMENT: 'ExerciseDocument',\n} as const;\n\n/**\n * Type helper to get all AST type values as a union type\n */\nexport type ASTType = typeof AST_TYPES[keyof typeof AST_TYPES];\n","/**\n * JSON Layout Type Constants\n *\n * Single source of truth for all JSON output type strings.\n * These are the types used in the portable JSON format consumed by renderers.\n *\n * Use these constants instead of string literals to ensure type safety\n * and make refactoring easier.\n *\n * @example\n * ```typescript\n * import { JSON_TYPES } from './constants/json-types';\n *\n * const layoutItem = {\n *   id: 'text_1',\n *   type: JSON_TYPES.HIGHLIGHTED_TEXT,\n *   value: \"123\"\n * };\n * ```\n */\n\n/**\n * JSON Layout Item Types\n *\n * These are the types used in the JSON output format.\n */\nexport const JSON_TYPES = {\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Layout Items\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  /** Question/instruction text */\n  QUESTION_TEXT: 'question-text',\n\n  /** Regular text element */\n  TEXT: 'text',\n\n  /** Spacing element */\n  SPACE: 'space',\n\n  /** Text with optional highlighting */\n  HIGHLIGHTED_TEXT: 'highlighted-text',\n\n  /** Text with color styling */\n  COLOR_TEXT: 'color-text',\n\n  /** Bold text */\n  BOLD_TEXT: 'bold-text',\n\n  /** Inline image */\n  IMAGE: 'image',\n\n  /** Reference to a widget */\n  WIDGET_REF: 'widget-ref',\n\n  /** Clock widget (inline): analog or digital, display or interactive */\n  CLOCK: 'clock',\n\n  /** Line break element */\n  LINEBREAK: 'linebreak',\n\n  /** Grouped layout items */\n  GROUP: 'group',\n\n  /** Operator symbol */\n  OPERATOR: 'operator',\n\n  /** Table layout block */\n  TABLE: 'table',\n\n  /** Row within a table */\n  TABLE_ROW: 'table-row',\n\n  /** Cell within a table */\n  TABLE_CELL: 'table-cell',\n\n  /** Vertical operation (column arithmetic) block */\n  VERTICAL_OPERATION: 'vertical-operation',\n\n  /** Row within a vertical operation */\n  VOP_ROW: 'vop-row',\n\n  /** Cell within a vertical-operation row */\n  VOP_CELL: 'vop-cell',\n\n  /** Separator within a vertical operation */\n  VOP_SEPARATOR: 'vop-separator',\n\n  /** Carry row within a vertical operation */\n  VOP_CARRY_ROW: 'vop-carry-row',\n\n  /** Number line layout block */\n  NUMBER_LINE: 'number-line',\n\n  /** Position marker within a number line */\n  NUMBER_LINE_POSITION: 'number-line-position',\n\n  /** Dynamic subdivision counter embedded in a number line */\n  NUMBER_LINE_COUNTER: 'number-line-counter',\n\n  /** Highlighted range within a number line */\n  NUMBER_LINE_HIGHLIGHT: 'number-line-highlight',\n\n  /** Draggable cursor within a number line */\n  NUMBER_LINE_CURSOR: 'number-line-cursor',\n  /** Arrow annotation within a number line */\n  NUMBER_LINE_ARROW: 'number-line-arrow',\n\n  /** Matcher layout block */\n  MATCHER: 'matcher',\n\n  /** Row within a matcher */\n  MATCHER_ROW: 'matcher-row',\n\n  /** Item within a matcher row */\n  MATCHER_ITEM: 'matcher-item',\n  /** Pair-matcher widget (top-row ↔ bottom-row pairing) */\n  PAIR_MATCHER: 'pair-matcher',\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Widget Types\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  /** Inline input widget (string or numeric) */\n  INLINE_INPUT: 'inline-input',\n\n  /** Drag-and-drop options widget */\n  DRAG_OPTIONS: 'drag-options',\n\n  /** Single inline draggable option (appears in-flow with text) */\n  INLINE_DRAG_OPTION: 'inline-drag-option',\n\n  /** Radio button options widget */\n  RADIO_OPTIONS: 'radio-options',\n\n  /** Numeric keypad widget */\n  NUMERIC_KEYPAD: 'numeric-keypad',\n\n  /** Inline fraction widget */\n  FRACTION: 'fraction',\n\n  /** Visual fraction widget */\n  VISUAL_FRACTION: 'visual-fraction',\n\n  /** Ruler geometry tool widget */\n  RULER: 'ruler',\n\n  /** Protractor geometry tool widget */\n  PROTRACTOR: 'protractor',\n\n  /** Set square geometry tool widget */\n  SET_SQUARE: 'set-square',\n\n} as const;\n\n/**\n * Reserved widget ID used by the transformer to store the drag-options widget.\n * Components detect drag mode by checking `widgets[DRAG_OPTIONS_WIDGET_ID]`.\n */\nexport const DRAG_OPTIONS_WIDGET_ID = '_drag_options' as const;\n\n/**\n * Reserved widget ID for the ruler geometry tool.\n */\nexport const RULER_WIDGET_ID = '_ruler' as const;\n\n/**\n * Reserved widget ID for the protractor geometry tool.\n */\nexport const PROTRACTOR_WIDGET_ID = '_protractor' as const;\n\n/**\n * Reserved widget ID for the set square geometry tool.\n */\nexport const SET_SQUARE_WIDGET_ID = '_set_square' as const;\n\n/**\n * Widget types that carry internal state and must be remounted (key change)\n * when the exercise is reset. Add a new type here to opt it in automatically;\n * no other file needs to change.\n */\nexport const STATEFUL_WIDGET_TYPES: Set<string> = new Set([\n  JSON_TYPES.MATCHER,\n  JSON_TYPES.PAIR_MATCHER,\n  JSON_TYPES.VISUAL_FRACTION,\n]);\n/**\n * Prefix used to build widget IDs for inline-drag-option chips.\n * Each distinct chip value gets its own entry: `${INLINE_DRAG_OPT_PREFIX}<value>`.\n *\n * @example\n * `${INLINE_DRAG_OPT_PREFIX}0` → '_inline_drag_opt_0'\n */\nexport const INLINE_DRAG_OPT_PREFIX = '_inline_drag_opt_' as const;\n/**\n * Layout item types that are CSS boxes (not pure text).\n * These need `dir=\"rtl\"` on their line container to be ordered correctly\n * in an RTL context — the Unicode Bidi Algorithm only reorders characters,\n * not DOM elements.\n *\n * Add new types here whenever a new inline CSS-box widget is introduced.\n */\nexport const RTL_INLINE_WIDGET_TYPES = new Set<string>([\n  JSON_TYPES.INLINE_INPUT,\n  JSON_TYPES.INLINE_DRAG_OPTION,\n  JSON_TYPES.FRACTION,\n  JSON_TYPES.VISUAL_FRACTION,\n]);\n\n/**\n * Type helper to get all JSON type values as a union type\n */\nexport type JSONType = typeof JSON_TYPES[keyof typeof JSON_TYPES];\n","/**\n * Validation Mode Constants\n *\n * Single source of truth for all validation mode strings.\n * Use these constants instead of string literals to ensure type safety\n * and make refactoring easier.\n *\n * @example\n * ```typescript\n * import { VALIDATION_MODES } from './constants/validation-modes';\n *\n * const validation = {\n *   mode: VALIDATION_MODES.SIMPLE,\n *   answers: { x: \"5\" }\n * };\n * ```\n */\n\n/**\n * Validation Modes\n *\n * These are the validation modes used in the JSON format.\n */\nexport const VALIDATION_MODES = {\n  /** Simple answer matching validation */\n  SIMPLE: 'simple',\n\n  /** Expression-based validation using JavaScript expressions */\n  EXPRESSION: 'expression',\n\n  /** Mixed: simple per-widget answers AND a boolean expression over free variables */\n  MIXED: 'mixed',\n} as const;\n\n/**\n * Type helper to get all validation mode values as a union type\n */\nexport type ValidationMode = typeof VALIDATION_MODES[keyof typeof VALIDATION_MODES];\n","/**\n * Input Type Constants\n *\n * Single source of truth for all input type strings.\n * Use these constants instead of string literals to ensure type safety\n * and make refactoring easier.\n *\n * @example\n * ```typescript\n * import { INPUT_TYPES } from './constants/input-types';\n *\n * const widget = {\n *   type: 'inline-input',\n *   inputType: INPUT_TYPES.NUMERIC,\n *   digits: 2\n * };\n * ```\n */\n\n/**\n * Input Types\n *\n * These are the input types used for inline input widgets.\n */\nexport const INPUT_TYPES = {\n  /** String/text input */\n  STRING: 'string',\n\n  /** Numeric input (digits only) */\n  NUMERIC: 'numeric',\n} as const;\n\n/**\n * Type helper to get all input type values as a union type\n */\nexport type InputType = typeof INPUT_TYPES[keyof typeof INPUT_TYPES];\n","/**\n * Number Line Constants\n *\n * Single source of truth for all number line values: styles, labels,\n * highlight colors, layout geometry, and float precision.\n * Use these constants instead of string literals or magic numbers.\n *\n * @example\n * ```typescript\n * import { NUMBER_LINE_STYLES, INTERNAL_PRECISION } from './constants/number-line-constants';\n * ```\n */\n\nexport const NUMBER_LINE_STYLES = ['arrow-right', 'arrow-left', 'arrow-both', 'line'] as const;\n\nexport type NumberLineStyle = typeof NUMBER_LINE_STYLES[number];\n\n/**\n * Decimal precision used for float normalization across the number-line pipeline.\n * Drives `cleanFloat`, `nlNormalize`, and `normalize` — change here to update all.\n */\nexport const INTERNAL_PRECISION = 9;\n\n/** Decimal places used when displaying tick labels and rounding rendered tick values. */\nexport const DISPLAY_PRECISION = 2;\n\n/**\n * Percentage reserved on each side of the number line for arrows.\n * Single source of truth shared by JS snap logic and CSS via `--nl-side-pad`.\n */\nexport const SIDE_PAD = 7;\n\n/** CSS custom property name used to bridge SIDE_PAD into the stylesheet. */\nexport const CSS_VAR_SIDE_PAD = '--nl-side-pad';\n\n/**\n * Label visibility modes for a number line.\n * Controls which numeric tick labels are rendered on the axis.\n * by default all labels are shown\n */\nexport const NUMBER_LINE_LABELS = ['all', 'extremes', 'min-only', 'max-only', 'none'] as const;\n\nexport type NumberLineLabels = typeof NUMBER_LINE_LABELS[number];\n\n/**\n * Allowed highlight colors for number line ranges.\n * Deliberately kept to a small semantic set so renderers can map them\n * to design-token colors without handling arbitrary CSS strings.\n */\nexport const NUMBER_LINE_HIGHLIGHT_COLORS = ['blue', 'red', 'green', 'orange', 'purple', 'yellow'] as const;\n\nexport type NumberLineHighlightColor = typeof NUMBER_LINE_HIGHLIGHT_COLORS[number];\n\n/**\n * Drag interaction modes for a number line.\n * - `'axis'`  : draggable tokens snapped onto the axis (FreeDragAxis)\n * - `'inputs'`: standard position input fields (default)\n */\nexport const NUMBER_LINE_DRAG_MODES = ['axis', 'inputs'] as const;\n\nexport type NumberLineDragMode = typeof NUMBER_LINE_DRAG_MODES[number];\n","/**\n * Centralized fraction compound key utilities.\n *\n * Fraction widgets use compound keys (e.g., \"x__num\", \"x__den\") in the\n * UI values map for sub-inputs. These keys are UI-only — they never appear\n * in the widgets map or validation answers.\n */\n\nexport type FractionPart = 'num' | 'den';\n\nexport function getFractionKey(widgetId: string, part: FractionPart): string {\n  return `${widgetId}__${part}`;\n}\n\nexport function isFractionKey(key: string): boolean {\n  return key.endsWith('__num') || key.endsWith('__den');\n}\n\nexport function parseFractionKey(key: string): { widgetId: string; part: FractionPart } | null {\n  const match = key.match(/^(.+)__(num|den)$/);\n  if (!match) return null;\n  return { widgetId: match[1]!, part: match[2] as FractionPart };\n}\n","/**\n * Token definitions for the Math Exercise DSL\n *\n * Token order matters in Chevrotain - more specific tokens must come before\n * less specific ones (e.g., keywords before identifiers).\n */\nimport { createToken, Lexer, TokenType } from 'chevrotain';\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Whitespace & Comments\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Newline is SIGNIFICANT in our DSL - it separates lines!\n * Do NOT skip it!\n */\nexport const Newline = createToken({\n  name: 'Newline',\n  pattern: /\\r?\\n/,\n  line_breaks: true\n});\n\n/**\n * Space is SIGNIFICANT in line content - it creates explicit spacing!\n * Multiple consecutive spaces are treated as one space element\n */\nexport const Space = createToken({\n  name: 'Space',\n  pattern: / +/  // One or more spaces\n});\n\n/**\n * Whitespace (tabs only) - skip these\n */\nexport const WhiteSpace = createToken({\n  name: 'WhiteSpace',\n  pattern: /\\t+/,  // Only tabs\n  group: Lexer.SKIPPED\n});\n\nexport const Comment = createToken({\n  name: 'Comment',\n  pattern: /\\/\\/[^\\n]*/,\n  group: Lexer.SKIPPED\n});\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Component Keywords (must come before Identifier for correct matching)\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport const QUESTION_TEXT = createToken({\n  name: 'QUESTION_TEXT',\n  pattern: /QUESTION_TEXT/\n});\n\nexport const TEXT_HIGHLIGHTER = createToken({\n  name: 'TEXT_HIGHLIGHTER',\n  pattern: /TEXT_HIGHLIGHTER/\n});\n\nexport const COLOR_TEXT = createToken({\n  name: 'COLOR_TEXT',\n  pattern: /COLOR_TEXT/\n});\n\nexport const BOLD_TEXT = createToken({\n  name: 'BOLD_TEXT',\n  pattern: /BOLD_TEXT/\n});\n\nexport const HIGHLIGHT_TEXT = createToken({\n  name: 'HIGHLIGHT_TEXT',\n  pattern: /HIGHLIGHT_TEXT/\n});\n\nexport const W_S_I = createToken({\n  name: 'W_S_I',\n  pattern: /W_S_I/\n});\n\nexport const STRING_INPUT = createToken({\n  name: 'STRING_INPUT',\n  pattern: /STRING_INPUT/\n});\n\nexport const INLINE_DRAG_OPTION = createToken({\n  name: 'INLINE_DRAG_OPTION',\n  pattern: /INLINE_DRAG_OPTION/\n});\n\nexport const DRAGABLE_BUTTONS_OPTIONS = createToken({\n  name: 'DRAGABLE_BUTTONS_OPTIONS',\n  pattern: /DRAGABLE_BUTTONS_OPTIONS/\n});\n\nexport const RADIO_BUTTONS_OPTIONS = createToken({\n  name: 'RADIO_BUTTONS_OPTIONS',\n  pattern: /RADIO_BUTTONS_OPTIONS/\n});\n\nexport const NUMERIC_KEYPAD = createToken({\n  name: 'NUMERIC_KEYPAD',\n  pattern: /NUMERIC_KEYPAD/\n});\n\nexport const WIDGET_ANSWER = createToken({\n  name: 'WIDGET_ANSWER',\n  pattern: /WIDGET_ANSWER/\n});\n\nexport const W_N_I = createToken({\n  name: 'W_N_I',\n  pattern: /W_N_I/\n});\n\nexport const NUMERIC_INPUT = createToken({\n  name: 'NUMERIC_INPUT',\n  pattern: /NUMERIC_INPUT/\n});\n\nexport const NUMBER_LINE = createToken({\n  name: 'NUMBER_LINE',\n  pattern: /NUMBER_LINE/\n});\n\nexport const POSITION = createToken({\n  name: 'POSITION',\n  pattern: /POSITION/\n});\n\nexport const CURSOR = createToken({\n  name: 'CURSOR',\n  pattern: /CURSOR/\n});\nexport const ARROW = createToken({\n  name: 'ARROW',\n  pattern: /ARROW/\n});\n\nexport const TABLE = createToken({\n  name: 'TABLE',\n  pattern: /TABLE/\n});\n\nexport const ROW = createToken({\n  name: 'ROW',\n  pattern: /ROW/\n});\n\nexport const CELL = createToken({\n  name: 'CELL',\n  pattern: /CELL/\n});\n\nexport const COUNTER = createToken({\n  name: 'COUNTER',\n  pattern: /COUNTER/\n});\n\nexport const CLOCK = createToken({\n  name: 'CLOCK',\n  pattern: /CLOCK/\n});\n\n/**\n * HIGHLIGHT must use a negative lookahead to avoid shadowing HIGHLIGHT_TEXT.\n * Chevrotain uses longest-match, but being explicit avoids any edge-case\n * ambiguity in tooling (linters, debuggers).\n */\nexport const HIGHLIGHT = createToken({\n  name: 'HIGHLIGHT',\n  pattern: /HIGHLIGHT(?!_TEXT)/\n});\n\nexport const VISUAL_FRACTION = createToken({\n  name: 'VISUAL_FRACTION',\n  pattern: /VISUAL_FRACTION/\n});\nexport const FRACTION = createToken({\n  name: 'FRACTION',\n  pattern: /FRACTION/\n});\n\nexport const PAIR_MATCHER = createToken({\n  name: 'PAIR_MATCHER',\n  pattern: /PAIR_MATCHER/\n});\nexport const MATCHER = createToken({\n  name: 'MATCHER',\n  pattern: /MATCHER/\n});\n\n\nexport const TOP_ROW = createToken({\n  name: 'TOP_ROW',\n  pattern: /TOP_ROW/\n});\n\nexport const BOTTOM_ROW = createToken({\n  name: 'BOTTOM_ROW',\n  pattern: /BOTTOM_ROW/\n});\n\nexport const ITEM = createToken({\n  name: 'ITEM',\n  pattern: /ITEM/\n});\n\nexport const ANSWERS = createToken({\n  name: 'ANSWERS',\n  pattern: /ANSWERS/\n});\n\nexport const IMAGE = createToken({\n  name: 'IMAGE',\n  pattern: /IMAGE/\n});\n\nexport const VERTICAL_OPERATION = createToken({\n  name: 'VERTICAL_OPERATION',\n  pattern: /VERTICAL_OPERATION/\n});\n\nexport const PROTRACTOR = createToken({\n  name: 'PROTRACTOR',\n  pattern: /PROTRACTOR/\n});\n\nexport const SET_SQUARE = createToken({\n  name: 'SET_SQUARE',\n  pattern: /SET_SQUARE/\n});\n\nexport const RULER = createToken({\n  name: 'RULER',\n  pattern: /RULER/\n});\n\n/**\n * Matches only inside a VERTICAL_OPERATION body. Lookahead allows `SEP`,\n * `SEP {}`, `SEP\\n` while avoiding collision with a `SEP`-prefixed identifier.\n */\nexport const SEP = createToken({\n  name: 'SEP',\n  pattern: /SEP(?![a-zA-Z0-9_])/\n});\n\nexport const CARRY = createToken({\n  name: 'CARRY',\n  pattern: /CARRY(?![a-zA-Z0-9_])/\n});\n\n/**\n * Matches only when immediately followed by `[` (widget form `INPUT[...]`).\n * Prevents shadowing the word \"INPUT\" when used as plain Identifier/FreeText.\n */\nexport const INPUT = createToken({\n  name: 'INPUT',\n  pattern: /INPUT(?=\\s*\\[)/\n});\n\n/**\n * Standalone underscore placeholder for empty cells in VERTICAL_OPERATION.\n * Lookahead prevents matching leading underscore of identifiers like `_foo`.\n */\nexport const Underscore = createToken({\n  name: 'Underscore',\n  pattern: /_(?![a-zA-Z0-9_])/\n});\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Literals\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport const NumberLiteral = createToken({\n  name: 'NumberLiteral',\n  pattern: /-?\\d+(\\.\\d+)?/\n});\n\nexport const StringLiteral = createToken({\n  name: 'StringLiteral',\n  pattern: /\"[^\"]*\"/\n});\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Identifiers (for widget parameter names, variable references)\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport const Identifier = createToken({\n  name: 'Identifier',\n  pattern: /[a-zA-Z_][a-zA-Z0-9_]*/\n});\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Operators\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport const Plus = createToken({\n  name: 'Plus',\n  pattern: /\\+/\n});\n\nexport const Minus = createToken({\n  name: 'Minus',\n  pattern: /−|-/  // Unicode minus (U+2212) and ASCII hyphen-minus\n});\n\nexport const Multiply = createToken({\n  name: 'Multiply',\n  pattern: /×|\\*/  // Unicode multiplication sign and ASCII asterisk\n});\n\nexport const Divide = createToken({\n  name: 'Divide',\n  pattern: /÷|\\//  // Unicode division sign and ASCII forward slash\n});\n\nexport const Equals = createToken({\n  name: 'Equals',\n  pattern: /=/\n});\n\nexport const LessThan = createToken({\n  name: 'LessThan',\n  pattern: /</\n});\n\nexport const GreaterThan = createToken({\n  name: 'GreaterThan',\n  pattern: />/\n});\n\nexport const Question = createToken({\n  name: 'Question',\n  pattern: /\\?/\n});\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Delimiters\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport const LParen = createToken({\n  name: 'LParen',\n  pattern: /\\(/\n});\n\nexport const RParen = createToken({\n  name: 'RParen',\n  pattern: /\\)/\n});\n\nexport const LBracket = createToken({\n  name: 'LBracket',\n  pattern: /\\[/\n});\n\nexport const RBracket = createToken({\n  name: 'RBracket',\n  pattern: /\\]/\n});\n\nexport const Comma = createToken({\n  name: 'Comma',\n  pattern: /,/\n});\n\nexport const LBrace = createToken({\n  name: 'LBrace',\n  pattern: /\\{/\n});\n\nexport const RBrace = createToken({\n  name: 'RBrace',\n  pattern: /\\}/\n});\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Free Text (Natural writing - no component wrapper needed!)\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * FreeText captures any natural text/numbers that aren't special components.\n * This enables the \"just type it\" experience!\n *\n * Pattern: Match anything that's NOT a component start, newline, or special character\n * - NOT starting with uppercase component names followed by [\n * - NOT newlines (those are significant line separators)\n * - NOT spaces (they have their own token)\n * - NOT operators and delimiters (they have their own tokens)\n *\n * Must come LAST in token order to act as fallback!\n */\nexport const FreeText = createToken({\n  name: 'FreeText',\n  pattern: /(?:[^A-Z\\n\\r \\t+\\-−×*÷/=<>?()\\[\\],{}]|(?![A-Z_]+[\\[{])[A-Z])+/,\n  line_breaks: false\n});\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Token Order (CRITICAL for correct matching)\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * All tokens in order of matching priority.\n *\n * CRITICAL ORDER RULES:\n * 1. Newline BEFORE Space and WhiteSpace\n * 2. Space BEFORE WhiteSpace (spaces are significant)\n * 3. Component keywords BEFORE Identifier\n * 4. FreeText LAST (acts as fallback for natural text)\n */\nexport const allTokens: TokenType[] = [\n  // Newline (significant!) - FIRST\n  Newline,\n\n  // Space (significant!) - BEFORE WhiteSpace\n  Space,\n\n  // Skipped tokens\n  WhiteSpace,\n  Comment,\n\n  // Component keywords (before Identifier!)\n  QUESTION_TEXT,\n  TEXT_HIGHLIGHTER,\n  COLOR_TEXT,\n  BOLD_TEXT,\n  HIGHLIGHT_TEXT,\n  W_S_I,\n  STRING_INPUT,\n  INLINE_DRAG_OPTION,\n  DRAGABLE_BUTTONS_OPTIONS,\n  RADIO_BUTTONS_OPTIONS,\n  NUMERIC_KEYPAD,\n  WIDGET_ANSWER,\n  W_N_I,\n  NUMERIC_INPUT,\n  NUMBER_LINE,\n  POSITION,\n  CURSOR,\n  ARROW,\n  TABLE,\n  ROW,\n  TOP_ROW,\n  BOTTOM_ROW,\n  CELL,\n  COUNTER,\n  CLOCK,\n  HIGHLIGHT,\n  VISUAL_FRACTION,\n  FRACTION,\n  PAIR_MATCHER,\n  MATCHER,\n  ITEM,\n  ANSWERS,\n  IMAGE,\n  VERTICAL_OPERATION,\n  PROTRACTOR,\n  SET_SQUARE,\n  RULER,\n  SEP,\n  CARRY,\n  INPUT,\n  Underscore,\n\n  // Literals\n  NumberLiteral,\n  StringLiteral,\n\n  // Identifiers (after keywords)\n  Identifier,\n\n  // Operators\n  Plus,\n  Minus,\n  Multiply,\n  Divide,\n  Equals,\n  LessThan,\n  GreaterThan,\n  Question,\n\n  // Delimiters\n  LParen,\n  RParen,\n  LBracket,\n  RBracket,\n  Comma,\n  LBrace,\n  RBrace,\n\n  // FreeText - LAST (fallback for natural text)\n  FreeText\n];\n","/**\n * Error types for the Math Exercise Engine\n */\nimport { ILexingError, IRecognitionException } from 'chevrotain';\n\n/**\n * Source position information for error reporting\n */\nexport interface SourcePosition {\n  startLine: number;\n  startColumn: number;\n  endLine: number;\n  endColumn: number;\n}\n\n/**\n * Base error class for all engine errors\n */\nexport class EngineError extends Error {\n  constructor(message: string) {\n    super(message);\n    this.name = 'EngineError';\n  }\n}\n\n/**\n * Error thrown when lexer fails to tokenize input\n */\nexport class LexerError extends EngineError {\n  public readonly lexerErrors: ILexingError[];\n  public readonly positions: SourcePosition[];\n\n  constructor(errors: ILexingError[]) {\n    const messages = errors.map(e => \n      `Line ${e.line}, Column ${e.column}: ${e.message}`\n    );\n    super(`Lexer errors:\\n${messages.join('\\n')}`);\n    this.name = 'LexerError';\n    this.lexerErrors = errors;\n    this.positions = errors.map(e => ({\n      startLine: e.line ?? 1,\n      startColumn: e.column ?? 1,\n      endLine: e.line ?? 1,\n      endColumn: (e.column ?? 1) + (e.length ?? 1)\n    }));\n  }\n}\n\n/**\n * Error thrown when parser fails to parse tokens\n */\nexport class ParseError extends EngineError {\n  public readonly parseErrors: IRecognitionException[];\n  public readonly positions: SourcePosition[];\n\n  constructor(errors: IRecognitionException[]) {\n    const messages = errors.map(e => {\n      const token = e.token;\n      return `Line ${token.startLine}, Column ${token.startColumn}: ${e.message}`;\n    });\n    super(`Parse errors:\\n${messages.join('\\n')}`);\n    this.name = 'ParseError';\n    this.parseErrors = errors;\n    this.positions = errors.map(e => ({\n      startLine: e.token.startLine ?? 1,\n      startColumn: e.token.startColumn ?? 1,\n      endLine: e.token.endLine ?? 1,\n      endColumn: e.token.endColumn ?? 1\n    }));\n  }\n}\n\n/**\n * Error thrown during AST transformation\n */\nexport class TransformError extends EngineError {\n  public readonly position?: SourcePosition;\n\n  constructor(message: string, position?: SourcePosition) {\n    super(message);\n    this.name = 'TransformError';\n    this.position = position;\n  }\n}\n\n/**\n * Error thrown during validation\n */\nexport class ValidationError extends EngineError {\n  public readonly details: Record<string, string>;\n\n  constructor(message: string, details: Record<string, string> = {}) {\n    super(message);\n    this.name = 'ValidationError';\n    this.details = details;\n  }\n}\n","/**\n * Chevrotain Lexer for the Math Exercise DSL\n */\nimport { Lexer, IToken, ILexingError } from 'chevrotain';\nimport { allTokens } from './tokens';\nimport { LexerError } from '../errors';\n\n/**\n * The lexer instance - reusable across all tokenize calls\n */\nexport const MathExerciseLexer = new Lexer(allTokens, {\n  ensureOptimizations: false,  // Can't optimize FreeText token (it uses complement sets)\n  positionTracking: 'full'\n});\n\n/**\n * Result of tokenization\n */\nexport interface TokenizeResult {\n  tokens: IToken[];\n  errors: ILexingError[];\n}\n\n/**\n * Tokenize a DSL input string\n *\n * Non-breaking spaces (U+00A0) copied from Slack/Teams are replaced with\n * regular spaces before tokenization to avoid silent parse failures.\n *\n * @param input - The DSL text to tokenize\n * @returns Array of tokens\n * @throws LexerError if tokenization fails\n */\nexport function tokenize(input: string): IToken[] {\n  const result = MathExerciseLexer.tokenize(input.replace(/\\u00A0/g, ' '));\n\n  if (result.errors.length > 0) {\n    throw new LexerError(result.errors);\n  }\n\n  return result.tokens;\n}\n\n/**\n * Tokenize without throwing - returns both tokens and errors\n * Useful for error-tolerant parsing (e.g., in editors)\n *\n * Non-breaking spaces (U+00A0) are sanitized the same way as in tokenize().\n */\nexport function tokenizeSafe(input: string): TokenizeResult {\n  const result = MathExerciseLexer.tokenize(input.replace(/\\u00A0/g, ' '));\n  return {\n    tokens: result.tokens,\n    errors: result.errors\n  };\n}\n","/**\n * Chevrotain Parser for Natural Math Exercise DSL\n *\n * Supports natural writing like:\n * QUESTION_TEXT[\"Solve\"]\n * 25 + W_S_I[name=\"a\", length=2, answer=\"5\"] = 30\n * NUMERIC_KEYPAD[includeOperators=true]\n * WIDGET_ANSWER[type=\"simple\"]\n */\nimport { CstParser } from 'chevrotain';\nimport {\n  allTokens,\n  QUESTION_TEXT,\n  TEXT_HIGHLIGHTER,\n  COLOR_TEXT,\n  BOLD_TEXT,\n  HIGHLIGHT_TEXT,\n  W_S_I,\n  STRING_INPUT,\n  W_N_I,\n  NUMERIC_INPUT,\n  DRAGABLE_BUTTONS_OPTIONS,\n  INLINE_DRAG_OPTION,\n  RADIO_BUTTONS_OPTIONS,\n  NUMERIC_KEYPAD,\n  WIDGET_ANSWER,\n  TABLE,\n  ROW,\n  CELL,\n  NUMBER_LINE,\n  POSITION,\n  ARROW,\n  COUNTER,\n  CLOCK,\n  HIGHLIGHT,\n  CURSOR,\n  VISUAL_FRACTION,\n  FRACTION,\n  MATCHER,\n  PAIR_MATCHER,\n  TOP_ROW,\n  BOTTOM_ROW,\n  ITEM,\n  ANSWERS,\n  IMAGE,\n  VERTICAL_OPERATION,\n  SEP,\n  CARRY,\n  INPUT,\n  Underscore,\n  RULER,\n  PROTRACTOR,\n  SET_SQUARE,\n  NumberLiteral,\n  StringLiteral,\n  Identifier,\n  LBracket,\n  RBracket,\n  LBrace,\n  RBrace,\n  LParen,\n  RParen,\n  Comma,\n  Equals,\n  Plus,\n  Minus,\n  Multiply,\n  Divide,\n  LessThan,\n  GreaterThan,\n  Question,\n  Newline,\n  Space,\n  FreeText,\n} from '../lexer/tokens';\n\n/**\n * Natural DSL Parser\n *\n * Grammar:\n * - exerciseDocument: QUESTION_TEXT[...] line* tools validation\n * - line: inlineElement+ (implicit newline separation)\n * - inlineElement: FreeText | TEXT_HIGHLIGHTER[...] | W_S_I[...]\n * - tools: (DRAGABLE_BUTTONS_OPTIONS[...] | NUMERIC_KEYPAD[...])*\n * - validation: WIDGET_ANSWER[type=\"simple\"|\"expression\"]\n */\nexport class MathExerciseParser extends CstParser {\n  constructor() {\n    super(allTokens, {\n      recoveryEnabled: true,\n      nodeLocationTracking: 'full',\n    });\n\n    this.performSelfAnalysis();\n  }\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Top-level Document\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  /**\n   * exerciseDocument: [newlines] question lines tools validation [newlines] [spaces]\n   */\n  public exerciseDocument = this.RULE('exerciseDocument', () => {\n    // Optional leading newlines and spaces\n    this.MANY(() => {\n      this.OR([{ ALT: () => this.CONSUME(Newline) }, { ALT: () => this.CONSUME(Space) }]);\n    });\n\n    // Question (optional)\n    this.OPTION(() => {\n      this.SUBRULE(this.question);\n    });\n\n    // Content blocks: lines and tables (zero or more)\n    // GATE: BACKTRACK ensures the loop stops when remaining tokens can't form a\n    // valid contentBlock (e.g. trailing indentation spaces before EOF).\n    // Note: this causes each block to be parsed speculatively before being committed —\n    // acceptable for the short DSLs this engine handles.\n    this.MANY2({\n      GATE: this.BACKTRACK(this.contentBlock),\n      DEF: () => this.SUBRULE(this.contentBlock),\n    });\n\n    // Tools (zero or more)\n    this.MANY3(() => {\n      this.SUBRULE(this.tool);\n    });\n\n    // Validation (optional - not needed for display-only/hint exercises)\n    this.OPTION2(() => {\n      this.SUBRULE(this.validation);\n    });\n    // Optional trailing newlines and spaces (for indented DSL strings)\n    this.MANY4(() => {\n      this.OR2([{ ALT: () => this.CONSUME2(Newline) }, { ALT: () => this.CONSUME2(Space) }]);\n    });\n  });\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Question Block\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  /**\n   * question: QUESTION_TEXT[value]\n   */\n  private question = this.RULE('question', () => {\n    this.CONSUME(QUESTION_TEXT);\n    this.CONSUME(LBracket);\n    this.CONSUME(StringLiteral, { LABEL: 'value' });\n    this.CONSUME(RBracket);\n\n    // Consume newlines and spaces after question\n    this.MANY(() => {\n      this.OR([{ ALT: () => this.CONSUME(Newline) }, { ALT: () => this.CONSUME(Space) }]);\n    });\n  });\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Content Block (line or table)\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  /**\n   * contentBlock: table | line\n   *\n   * Uses BACKTRACK on table to resolve ambiguity — both table and line\n   * can start with whitespace (Space/Newline), so LL(k) lookahead alone\n   * can't distinguish them. BACKTRACK speculatively tries parsing table\n   * first; if it succeeds, that alternative is chosen.\n   */\n  private contentBlock = this.RULE('contentBlock', () => {\n    this.OR([\n      {\n        GATE: this.BACKTRACK(this.table),\n        ALT: () => this.SUBRULE(this.table),\n      },\n      {\n        GATE: this.BACKTRACK(this.radioButtons),\n        ALT: () => this.SUBRULE(this.radioButtons),\n      },\n      {\n        GATE: this.BACKTRACK(this.numberLine),\n        ALT: () => this.SUBRULE(this.numberLine),\n      },\n      {\n        GATE: this.BACKTRACK(this.pairMatcher),\n        ALT: () => this.SUBRULE(this.pairMatcher),\n      },\n      {\n        GATE: this.BACKTRACK(this.matcher),\n        ALT: () => this.SUBRULE(this.matcher),\n      },\n      {\n        GATE: this.BACKTRACK(this.verticalOperation),\n        ALT: () => this.SUBRULE(this.verticalOperation),\n      },\n      { ALT: () => this.SUBRULE(this.line) },\n    ]);\n  });\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Table Block\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  /**\n   * table: TABLE[parameterList] { row+ }\n   */\n  private table = this.RULE('table', () => {\n    // Skip leading whitespace/newlines\n    this.MANY(() => {\n      this.OR2([{ ALT: () => this.CONSUME(Space) }, { ALT: () => this.CONSUME(Newline) }]);\n    });\n\n    this.CONSUME(TABLE);\n    this.CONSUME(LBracket);\n    this.SUBRULE(this.parameterList);\n    this.CONSUME(RBracket);\n\n    // Skip whitespace before opening brace\n    this.MANY2(() => {\n      this.OR3([{ ALT: () => this.CONSUME2(Space) }, { ALT: () => this.CONSUME2(Newline) }]);\n    });\n\n    this.CONSUME(LBrace);\n\n    // Skip whitespace after opening brace\n    this.MANY3(() => {\n      this.OR4([{ ALT: () => this.CONSUME3(Space) }, { ALT: () => this.CONSUME3(Newline) }]);\n    });\n\n    // One or more rows\n    this.AT_LEAST_ONE(() => {\n      this.SUBRULE(this.row);\n    });\n\n    this.CONSUME(RBrace);\n\n    // Consume trailing whitespace\n    this.MANY4(() => {\n      this.OR5([{ ALT: () => this.CONSUME4(Newline) }, { ALT: () => this.CONSUME4(Space) }]);\n    });\n  });\n\n  /**\n   * row: ROW { cell+ }\n   */\n  private row = this.RULE('row', () => {\n    // Skip leading whitespace\n    this.MANY(() => {\n      this.OR([{ ALT: () => this.CONSUME(Space) }, { ALT: () => this.CONSUME(Newline) }]);\n    });\n\n    this.CONSUME(ROW);\n\n    // Skip whitespace before brace\n    this.MANY2(() => {\n      this.OR2([{ ALT: () => this.CONSUME2(Space) }, { ALT: () => this.CONSUME2(Newline) }]);\n    });\n\n    this.CONSUME(LBrace);\n\n    // Skip whitespace after opening brace\n    this.MANY3(() => {\n      this.OR3([{ ALT: () => this.CONSUME3(Space) }, { ALT: () => this.CONSUME3(Newline) }]);\n    });\n\n    // One or more cells\n    this.AT_LEAST_ONE(() => {\n      this.SUBRULE(this.cell);\n    });\n\n    this.CONSUME(RBrace);\n\n    // Skip trailing whitespace\n    this.MANY4(() => {\n      this.OR4([{ ALT: () => this.CONSUME4(Space) }, { ALT: () => this.CONSUME4(Newline) }]);\n    });\n  });\n\n  /**\n   * cell: CELL [parameterList]? { inlineElement* }\n   */\n  private cell = this.RULE('cell', () => {\n    // Skip leading whitespace\n    this.MANY(() => {\n      this.OR([{ ALT: () => this.CONSUME(Space) }, { ALT: () => this.CONSUME(Newline) }]);\n    });\n\n    this.CONSUME(CELL);\n\n    // Optional parameter list [colspan=2]\n    this.OPTION(() => {\n      this.CONSUME(LBracket);\n      this.SUBRULE(this.parameterList);\n      this.CONSUME(RBracket);\n    });\n\n    // Skip whitespace before brace\n    this.MANY2(() => {\n      this.OR2([{ ALT: () => this.CONSUME2(Space) }, { ALT: () => this.CONSUME2(Newline) }]);\n    });\n\n    this.CONSUME(LBrace);\n\n    // Cell content: zero or more inline elements (with optional whitespace between)\n    this.MANY3(() => {\n      this.OR3([\n        { ALT: () => this.SUBRULE(this.inlineElement) },\n        { ALT: () => this.CONSUME3(Newline) },\n      ]);\n    });\n\n    this.CONSUME(RBrace);\n\n    // Skip trailing whitespace\n    this.MANY4(() => {\n      this.OR4([{ ALT: () => this.CONSUME4(Space) }, { ALT: () => this.CONSUME4(Newline) }]);\n    });\n  });\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Number Line Block\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  /**\n   * numberLine: NUMBER_LINE[parameterList] { position* }\n   */\n  private numberLine = this.RULE('numberLine', () => {\n    // Skip leading whitespace/newlines\n    this.MANY(() => {\n      this.OR2([{ ALT: () => this.CONSUME(Space) }, { ALT: () => this.CONSUME(Newline) }]);\n    });\n\n    this.CONSUME(NUMBER_LINE);\n    this.CONSUME(LBracket);\n    this.SUBRULE(this.parameterList);\n    this.CONSUME(RBracket);\n\n    // Skip whitespace before opening brace\n    this.MANY2(() => {\n      this.OR3([{ ALT: () => this.CONSUME2(Space) }, { ALT: () => this.CONSUME2(Newline) }]);\n    });\n\n    this.CONSUME(LBrace);\n\n    // Skip whitespace after opening brace\n    this.MANY3(() => {\n      this.OR4([{ ALT: () => this.CONSUME3(Space) }, { ALT: () => this.CONSUME3(Newline) }]);\n    });\n\n    // Zero or more children: positions, counters, highlights, arrows.\n    // MANY3 (above) consumed whitespace after '{'; each child consumes its own\n    // trailing whitespace — so at every iteration LA(1) is unambiguously\n    // POSITION, COUNTER, HIGHLIGHT, or ARROW. Same pattern as table → row → cell.\n    this.MANY4(() => {\n      this.OR6([\n        { ALT: () => this.SUBRULE(this.position) },\n        { ALT: () => this.SUBRULE(this.counter) },\n        { ALT: () => this.SUBRULE(this.highlight) },\n        { ALT: () => this.SUBRULE(this.cursor) },\n        { ALT: () => this.SUBRULE(this.arrow) },\n      ]);\n    });\n\n    this.CONSUME(RBrace);\n\n    // Consume trailing whitespace\n    this.MANY5(() => {\n      this.OR5([{ ALT: () => this.CONSUME4(Newline) }, { ALT: () => this.CONSUME4(Space) }]);\n    });\n  });\n\n  /**\n   * position: POSITION[value=number] { inlineElement+ }\n   */\n  private position = this.RULE('position', () => {\n    // No leading whitespace: parent's MANY3 / each child's trailing MANY\n    // guarantee LA(1) = POSITION when this rule is entered.\n    this.CONSUME(POSITION);\n    this.CONSUME(LBracket);\n    this.SUBRULE(this.parameterList);\n    this.CONSUME(RBracket);\n\n    // Skip whitespace before brace\n    this.MANY2(() => {\n      this.OR2([{ ALT: () => this.CONSUME2(Space) }, { ALT: () => this.CONSUME2(Newline) }]);\n    });\n\n    this.CONSUME(LBrace);\n\n    // Skip whitespace after opening brace\n    this.MANY3(() => {\n      this.OR3([{ ALT: () => this.CONSUME3(Space) }, { ALT: () => this.CONSUME3(Newline) }]);\n    });\n\n    // Content: inline elements with optional whitespace between\n    // (validated non-empty in cst-visitor)\n    this.MANY4(() => {\n      this.OR4([\n        { ALT: () => this.SUBRULE(this.inlineElement) },\n        { ALT: () => this.CONSUME4(Newline) },\n      ]);\n    });\n\n    this.CONSUME(RBrace);\n\n    // Skip trailing whitespace\n    this.MANY5(() => {\n      this.OR5([{ ALT: () => this.CONSUME5(Space) }, { ALT: () => this.CONSUME5(Newline) }]);\n    });\n  });\n\n  /**\n   * counter: COUNTER[parameterList]\n   *\n   * Dynamic subdivision control. step = (max_line - min_line) / counter_value.\n   */\n  private counter = this.RULE('counter', () => {\n    // No leading whitespace: parent's MANY3 / each child's trailing MANY\n    // guarantee LA(1) = COUNTER when this rule is entered.\n    this.CONSUME(COUNTER);\n    this.CONSUME(LBracket);\n    this.SUBRULE(this.parameterList);\n    this.CONSUME(RBracket);\n\n    // Skip trailing whitespace\n    this.MANY2(() => {\n      this.OR2([{ ALT: () => this.CONSUME2(Space) }, { ALT: () => this.CONSUME2(Newline) }]);\n    });\n  });\n\n  /**\n   * highlight: HIGHLIGHT[parameterList]\n   *\n   * Colored range on the axis with optional label.\n   */\n  private highlight = this.RULE('highlight', () => {\n    // No leading whitespace: parent's MANY3 / each child's trailing MANY\n    // guarantee LA(1) = HIGHLIGHT when this rule is entered.\n    this.CONSUME(HIGHLIGHT);\n    this.CONSUME(LBracket);\n    this.SUBRULE(this.parameterList);\n    this.CONSUME(RBracket);\n\n    // Skip trailing whitespace\n    this.MANY2(() => {\n      this.OR2([{ ALT: () => this.CONSUME2(Space) }, { ALT: () => this.CONSUME2(Newline) }]);\n    });\n  });\n\n  /**\n   * cursor: CURSOR[value=N, answer=N, color=\"...\", fillRange=bool, label=\"...\"]\n   *\n   * Interactive draggable cursor on the number line.\n   * - value:      initial display position (default: 0)\n   * - answer:     correct target position (required)\n   * - color?:     hex fill color string\n   * - fillRange?: fill between the initial value and current cursor position (default: false)\n   * - label?:     display label shown above the cursor ball\n   */\n  private cursor = this.RULE('cursor', () => {\n    // No leading whitespace: parent's MANY4 / each child's trailing MANY\n    // guarantee LA(1) = CURSOR when this rule is entered.\n    this.CONSUME(CURSOR);\n    this.CONSUME(LBracket);\n    this.SUBRULE(this.parameterList);\n    this.CONSUME(RBracket);\n\n    // Trailing whitespace\n    this.MANY2(() => {\n      this.OR2([{ ALT: () => this.CONSUME2(Space) }, { ALT: () => this.CONSUME2(Newline) }]);\n    });\n  });\n\n  /**\n   * arrow: ARROW[from=number,to=number] { inlineElement* }\n   */\n  private arrow = this.RULE('arrow', () => {\n    // No leading whitespace: parent's MANY3 / each child's trailing MANY\n    // guarantee LA(1) = ARROW when this rule is entered.\n    this.CONSUME(ARROW);\n    this.CONSUME(LBracket);\n    this.SUBRULE(this.parameterList);\n    this.CONSUME(RBracket);\n    // Skip whitespace before brace\n    this.MANY2(() => {\n      this.OR2([{ ALT: () => this.CONSUME2(Space) }, { ALT: () => this.CONSUME2(Newline) }]);\n    });\n\n    this.CONSUME(LBrace);\n\n    // Skip whitespace after opening brace\n    this.MANY3(() => {\n      this.OR3([{ ALT: () => this.CONSUME3(Space) }, { ALT: () => this.CONSUME3(Newline) }]);\n    });\n\n    // Optional content: inline elements with optional whitespace between.\n    this.MANY4(() => {\n      this.OR4([\n        { ALT: () => this.SUBRULE(this.inlineElement) },\n        { ALT: () => this.CONSUME4(Newline) },\n      ]);\n    });\n\n    this.CONSUME(RBrace);\n\n    // Skip trailing whitespace\n    this.MANY5(() => {\n      this.OR5([{ ALT: () => this.CONSUME5(Space) }, { ALT: () => this.CONSUME5(Newline) }]);\n    });\n  });\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Matcher Block\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  /**\n   * matcher: MATCHER[name=\"m1\"] { matcherRow+ matcherAnswers }\n   */\n  private matcher = this.RULE('matcher', () => {\n    // Skip leading whitespace/newlines\n    this.MANY(() => {\n      this.OR([{ ALT: () => this.CONSUME(Space) }, { ALT: () => this.CONSUME(Newline) }]);\n    });\n\n    this.CONSUME(MATCHER);\n    this.CONSUME(LBracket);\n    this.SUBRULE(this.parameterList);\n    this.CONSUME(RBracket);\n\n    // Skip whitespace before opening brace\n    this.MANY2(() => {\n      this.OR2([{ ALT: () => this.CONSUME2(Space) }, { ALT: () => this.CONSUME2(Newline) }]);\n    });\n\n    this.CONSUME(LBrace);\n\n    // Skip whitespace after opening brace\n    this.MANY3(() => {\n      this.OR3([{ ALT: () => this.CONSUME3(Space) }, { ALT: () => this.CONSUME3(Newline) }]);\n    });\n\n    // One or more rows\n    this.AT_LEAST_ONE(() => {\n      this.SUBRULE(this.matcherRow);\n    });\n\n    // ANSWERS block\n    this.SUBRULE(this.matcherAnswers);\n\n    this.CONSUME(RBrace);\n\n    // Consume trailing whitespace\n    this.MANY4(() => {\n      this.OR4([{ ALT: () => this.CONSUME4(Newline) }, { ALT: () => this.CONSUME4(Space) }]);\n    });\n  });\n\n  /**\n   * matcherRow: ROW { matcherItem+ }\n   */\n  private matcherRow = this.RULE('matcherRow', () => {\n    // Skip leading whitespace\n    this.MANY(() => {\n      this.OR([{ ALT: () => this.CONSUME(Space) }, { ALT: () => this.CONSUME(Newline) }]);\n    });\n\n    this.CONSUME(ROW);\n\n    // Skip whitespace before brace\n    this.MANY2(() => {\n      this.OR2([{ ALT: () => this.CONSUME2(Space) }, { ALT: () => this.CONSUME2(Newline) }]);\n    });\n\n    this.CONSUME(LBrace);\n\n    // Skip whitespace after opening brace\n    this.MANY3(() => {\n      this.OR3([{ ALT: () => this.CONSUME3(Space) }, { ALT: () => this.CONSUME3(Newline) }]);\n    });\n\n    // One or more items\n    this.AT_LEAST_ONE(() => {\n      this.SUBRULE(this.matcherItem);\n    });\n\n    this.CONSUME(RBrace);\n\n    // Skip trailing whitespace\n    this.MANY4(() => {\n      this.OR4([{ ALT: () => this.CONSUME4(Space) }, { ALT: () => this.CONSUME4(Newline) }]);\n    });\n  });\n\n  /**\n   * matcherItem: ITEM[id=\"A\"] { inlineElement* }\n   */\n  private matcherItem = this.RULE('matcherItem', () => {\n    // Skip leading whitespace\n    this.MANY(() => {\n      this.OR([{ ALT: () => this.CONSUME(Space) }, { ALT: () => this.CONSUME(Newline) }]);\n    });\n\n    this.CONSUME(ITEM);\n    this.CONSUME(LBracket);\n    this.SUBRULE(this.parameterList);\n    this.CONSUME(RBracket);\n\n    // Skip whitespace before brace\n    this.MANY2(() => {\n      this.OR2([{ ALT: () => this.CONSUME2(Space) }, { ALT: () => this.CONSUME2(Newline) }]);\n    });\n\n    this.CONSUME(LBrace);\n\n    // Skip whitespace after opening brace\n    this.MANY3(() => {\n      this.OR3([{ ALT: () => this.CONSUME3(Space) }, { ALT: () => this.CONSUME3(Newline) }]);\n    });\n\n    // Display-only inline content: no inputs / widgets allowed inside ITEM.\n    // `displayOnly=true` gates out the `inlineInput` alternative.\n    this.MANY4(() => {\n      this.OR4([\n        { ALT: () => this.SUBRULE(this.inlineElement, { ARGS: [true] }) },\n        { ALT: () => this.CONSUME4(Newline) },\n      ]);\n    });\n\n    this.CONSUME(RBrace);\n\n    // Skip trailing whitespace\n    this.MANY5(() => {\n      this.OR5([{ ALT: () => this.CONSUME5(Space) }, { ALT: () => this.CONSUME5(Newline) }]);\n    });\n  });\n\n  /**\n   * matcherAnswers: ANSWERS { answerSet+ }\n   * Sets separated by optional whitespace/newlines — no comma required between sets.\n   * answerSet: [ Identifier (, Identifier)* ]\n   */\n  private matcherAnswers = this.RULE('matcherAnswers', () => {\n    // Skip leading whitespace\n    this.MANY(() => {\n      this.OR([{ ALT: () => this.CONSUME(Space) }, { ALT: () => this.CONSUME(Newline) }]);\n    });\n\n    this.CONSUME(ANSWERS);\n\n    // Skip whitespace before brace\n    this.MANY2(() => {\n      this.OR2([{ ALT: () => this.CONSUME2(Space) }, { ALT: () => this.CONSUME2(Newline) }]);\n    });\n\n    this.CONSUME(LBrace);\n\n    // Skip whitespace after opening brace\n    this.MANY3(() => {\n      this.OR3([{ ALT: () => this.CONSUME3(Space) }, { ALT: () => this.CONSUME3(Newline) }]);\n    });\n\n    // One or more answer sets — comma between sets is optional (whitespace suffices)\n    this.AT_LEAST_ONE(() => {\n      this.SUBRULE(this.matcherAnswerSet);\n      // Consume optional whitespace and/or trailing comma after each set\n      this.MANY4(() => {\n        this.OR4([\n          { ALT: () => this.CONSUME4(Space) },\n          { ALT: () => this.CONSUME4(Newline) },\n          { ALT: () => this.CONSUME(Comma) },\n        ]);\n      });\n    });\n\n    this.CONSUME(RBrace);\n\n    // Skip trailing whitespace\n    this.MANY5(() => {\n      this.OR5([{ ALT: () => this.CONSUME5(Newline) }, { ALT: () => this.CONSUME5(Space) }]);\n    });\n  });\n\n  /**\n   * matcherAnswerSet: [ Identifier (, Identifier)* ]\n   */\n  private matcherAnswerSet = this.RULE('matcherAnswerSet', () => {\n    this.CONSUME(LBracket);\n\n    // Skip spaces\n    this.MANY(() => {\n      this.CONSUME(Space);\n    });\n\n    // First id\n    this.CONSUME(Identifier, { LABEL: 'ids' });\n\n    // Additional ids\n    this.MANY2(() => {\n      this.MANY3(() => {\n        this.CONSUME2(Space);\n      });\n      this.CONSUME(Comma);\n      this.MANY4(() => {\n        this.CONSUME3(Space);\n      });\n      this.CONSUME2(Identifier, { LABEL: 'ids' });\n    });\n\n    // Skip spaces\n    this.MANY5(() => {\n      this.CONSUME4(Space);\n    });\n\n    this.CONSUME(RBracket);\n  });\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Pair Matcher Block\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  /**\n   * pairMatcher: PAIR_MATCHER[name=\"m1\"] { pairMatcherTopSection pairMatcherBottomSection pairMatcherAnswers }\n   */\n  private pairMatcher = this.RULE('pairMatcher', () => {\n    // Skip leading whitespace/newlines\n    this.MANY(() => {\n      this.OR([{ ALT: () => this.CONSUME(Space) }, { ALT: () => this.CONSUME(Newline) }]);\n    });\n\n    this.CONSUME(PAIR_MATCHER);\n    this.CONSUME(LBracket);\n    this.SUBRULE(this.parameterList);\n    this.CONSUME(RBracket);\n\n    // Skip whitespace before opening brace\n    this.MANY2(() => {\n      this.OR2([{ ALT: () => this.CONSUME2(Space) }, { ALT: () => this.CONSUME2(Newline) }]);\n    });\n\n    this.CONSUME(LBrace);\n\n    // Skip whitespace after opening brace\n    this.MANY3(() => {\n      this.OR3([{ ALT: () => this.CONSUME3(Space) }, { ALT: () => this.CONSUME3(Newline) }]);\n    });\n\n    // TOP section\n    this.SUBRULE(this.pairMatcherTopSection);\n\n    // BOTTOM section\n    this.SUBRULE(this.pairMatcherBottomSection);\n\n    // ANSWERS block (reuse matcherAnswers — same syntax)\n    this.SUBRULE(this.matcherAnswers);\n\n    this.CONSUME(RBrace);\n\n    // Consume trailing whitespace\n    this.MANY4(() => {\n      this.OR4([{ ALT: () => this.CONSUME4(Newline) }, { ALT: () => this.CONSUME4(Space) }]);\n    });\n  });\n\n  /**\n   * pairMatcherTopSection: TOP_ROW { matcherItem+ }\n   */\n  private pairMatcherTopSection = this.RULE('pairMatcherTopSection', () => {\n    this.MANY(() => {\n      this.OR([{ ALT: () => this.CONSUME(Space) }, { ALT: () => this.CONSUME(Newline) }]);\n    });\n\n    this.CONSUME(TOP_ROW);\n\n    this.MANY2(() => {\n      this.OR2([{ ALT: () => this.CONSUME2(Space) }, { ALT: () => this.CONSUME2(Newline) }]);\n    });\n\n    this.CONSUME(LBrace);\n\n    this.MANY3(() => {\n      this.OR3([{ ALT: () => this.CONSUME3(Space) }, { ALT: () => this.CONSUME3(Newline) }]);\n    });\n\n    this.AT_LEAST_ONE(() => {\n      this.SUBRULE(this.matcherItem);\n    });\n\n    this.CONSUME(RBrace);\n\n    this.MANY4(() => {\n      this.OR4([{ ALT: () => this.CONSUME4(Space) }, { ALT: () => this.CONSUME4(Newline) }]);\n    });\n  });\n\n  /**\n   * pairMatcherBottomSection: BOTTOM_ROW { matcherItem+ }\n   */\n  private pairMatcherBottomSection = this.RULE('pairMatcherBottomSection', () => {\n    this.MANY(() => {\n      this.OR([{ ALT: () => this.CONSUME(Space) }, { ALT: () => this.CONSUME(Newline) }]);\n    });\n\n    this.CONSUME(BOTTOM_ROW);\n\n    this.MANY2(() => {\n      this.OR2([{ ALT: () => this.CONSUME2(Space) }, { ALT: () => this.CONSUME2(Newline) }]);\n    });\n\n    this.CONSUME(LBrace);\n\n    this.MANY3(() => {\n      this.OR3([{ ALT: () => this.CONSUME3(Space) }, { ALT: () => this.CONSUME3(Newline) }]);\n    });\n\n    this.AT_LEAST_ONE(() => {\n      this.SUBRULE(this.matcherItem);\n    });\n\n    this.CONSUME(RBrace);\n\n    this.MANY4(() => {\n      this.OR4([{ ALT: () => this.CONSUME4(Space) }, { ALT: () => this.CONSUME4(Newline) }]);\n    });\n  });\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Vertical Operation Block (column arithmetic)\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  /**\n   * verticalOperation: VERTICAL_OPERATION [op=\"...\"]? { (vopRow | vopSep)+ }\n   */\n  private verticalOperation = this.RULE('verticalOperation', () => {\n    this.MANY(() => {\n      this.OR([{ ALT: () => this.CONSUME(Space) }, { ALT: () => this.CONSUME(Newline) }]);\n    });\n\n    this.CONSUME(VERTICAL_OPERATION);\n    this.OPTION(() => {\n      this.CONSUME(LBracket);\n      this.SUBRULE(this.parameterList);\n      this.CONSUME(RBracket);\n    });\n\n    this.MANY2(() => {\n      this.OR2([{ ALT: () => this.CONSUME2(Space) }, { ALT: () => this.CONSUME2(Newline) }]);\n    });\n\n    this.CONSUME(LBrace);\n\n    this.MANY3(() => {\n      this.OR3([{ ALT: () => this.CONSUME3(Space) }, { ALT: () => this.CONSUME3(Newline) }]);\n    });\n\n    this.AT_LEAST_ONE(() => {\n      this.OR4([\n        { ALT: () => this.SUBRULE(this.vopRow) },\n        { ALT: () => this.SUBRULE(this.vopCarry) },\n        { ALT: () => this.SUBRULE(this.vopSep) },\n      ]);\n    });\n\n    this.CONSUME(RBrace);\n\n    this.MANY4(() => {\n      this.OR5([{ ALT: () => this.CONSUME4(Newline) }, { ALT: () => this.CONSUME4(Space) }]);\n    });\n  });\n\n  /**\n   * vopRow: ROW [parameterList]? { vopCell (, vopCell)* }\n   */\n  private vopRow = this.RULE('vopRow', () => {\n    this.CONSUME(ROW);\n\n    // Optional [op=\"...\"] on the row itself\n    this.OPTION(() => {\n      this.CONSUME(LBracket);\n      this.SUBRULE(this.parameterList);\n      this.CONSUME(RBracket);\n    });\n\n    this.MANY(() => {\n      this.OR([{ ALT: () => this.CONSUME(Space) }, { ALT: () => this.CONSUME(Newline) }]);\n    });\n\n    this.CONSUME(LBrace);\n\n    this.MANY2(() => {\n      this.OR2([{ ALT: () => this.CONSUME2(Space) }, { ALT: () => this.CONSUME2(Newline) }]);\n    });\n\n    this.SUBRULE(this.vopCell);\n\n    this.MANY3(() => {\n      this.MANY4(() => {\n        this.OR3([{ ALT: () => this.CONSUME3(Space) }, { ALT: () => this.CONSUME3(Newline) }]);\n      });\n      this.CONSUME(Comma);\n      this.MANY5(() => {\n        this.OR4([{ ALT: () => this.CONSUME4(Space) }, { ALT: () => this.CONSUME4(Newline) }]);\n      });\n      this.SUBRULE2(this.vopCell);\n    });\n\n    this.MANY6(() => {\n      this.OR5([{ ALT: () => this.CONSUME5(Space) }, { ALT: () => this.CONSUME5(Newline) }]);\n    });\n\n    this.CONSUME(RBrace);\n\n    this.MANY7(() => {\n      this.OR6([{ ALT: () => this.CONSUME6(Space) }, { ALT: () => this.CONSUME6(Newline) }]);\n    });\n  });\n\n  /**\n   * vopCell: NumberLiteral | StringLiteral | Underscore | INPUT[parameterList]\n   *        | colorText | boldText | textHighlighter\n   */\n  private vopCell = this.RULE('vopCell', () => {\n    this.OR([\n      { ALT: () => this.CONSUME(NumberLiteral) },\n      { ALT: () => this.CONSUME(StringLiteral) },\n      { ALT: () => this.CONSUME(Underscore) },\n      {\n        ALT: () => {\n          this.CONSUME(INPUT);\n          this.CONSUME(LBracket);\n          this.SUBRULE(this.parameterList);\n          this.CONSUME(RBracket);\n        },\n      },\n      { ALT: () => this.SUBRULE(this.colorText) },\n      { ALT: () => this.SUBRULE(this.boldText) },\n      { ALT: () => this.SUBRULE(this.textHighlighter) },\n    ]);\n  });\n\n  /**\n   * vopCarry: CARRY { vopCell (, vopCell)* }\n   */\n  private vopCarry = this.RULE('vopCarry', () => {\n    this.CONSUME(CARRY);\n\n    this.MANY(() => {\n      this.OR([{ ALT: () => this.CONSUME(Space) }, { ALT: () => this.CONSUME(Newline) }]);\n    });\n\n    this.CONSUME(LBrace);\n\n    this.MANY2(() => {\n      this.OR2([{ ALT: () => this.CONSUME2(Space) }, { ALT: () => this.CONSUME2(Newline) }]);\n    });\n\n    this.SUBRULE(this.vopCell);\n\n    this.MANY3(() => {\n      this.MANY4(() => {\n        this.OR3([{ ALT: () => this.CONSUME3(Space) }, { ALT: () => this.CONSUME3(Newline) }]);\n      });\n      this.CONSUME(Comma);\n      this.MANY5(() => {\n        this.OR4([{ ALT: () => this.CONSUME4(Space) }, { ALT: () => this.CONSUME4(Newline) }]);\n      });\n      this.SUBRULE2(this.vopCell);\n    });\n\n    this.MANY6(() => {\n      this.OR5([{ ALT: () => this.CONSUME5(Space) }, { ALT: () => this.CONSUME5(Newline) }]);\n    });\n\n    this.CONSUME(RBrace);\n\n    this.MANY7(() => {\n      this.OR6([{ ALT: () => this.CONSUME6(Newline) }, { ALT: () => this.CONSUME6(Space) }]);\n    });\n  });\n\n  /**\n   * vopSep: SEP\n   */\n  private vopSep = this.RULE('vopSep', () => {\n    this.CONSUME(SEP);\n    // Optional empty braces for visual symmetry: SEP {} or SEP\n    this.OPTION(() => {\n      this.MANY(() => {\n        this.OR([{ ALT: () => this.CONSUME(Space) }, { ALT: () => this.CONSUME(Newline) }]);\n      });\n      this.CONSUME(LBrace);\n      this.MANY2(() => {\n        this.OR2([{ ALT: () => this.CONSUME2(Space) }, { ALT: () => this.CONSUME2(Newline) }]);\n      });\n      this.CONSUME(RBrace);\n    });\n\n    this.MANY3(() => {\n      this.OR3([{ ALT: () => this.CONSUME3(Space) }, { ALT: () => this.CONSUME3(Newline) }]);\n    });\n  });\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Line Block (natural writing!)\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  /**\n   * line: [spaces] inlineElement+ Newline [spaces]\n   *\n   * A line is a sequence of inline elements followed by a newline.\n   * Leading/trailing spaces on each line are skipped (indentation in multi-line strings).\n   */\n  private line = this.RULE('line', () => {\n    // Skip leading spaces (indentation)\n    this.MANY(() => {\n      this.CONSUME(Space);\n    });\n\n    // At least one inline element\n    this.AT_LEAST_ONE(() => {\n      this.SUBRULE(this.inlineElement);\n    });\n\n    // Skip trailing spaces before newline\n    this.MANY2(() => {\n      this.CONSUME2(Space);\n    });\n\n    // Line ends with newline (optional — last line may have no trailing newline)\n    this.MANY3(() => {\n      this.CONSUME(Newline);\n    });\n  });\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Inline Elements (within a line)\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  /**\n   * inlineElement: FreeText | Identifier | NumberLiteral | StringLiteral | Space | TEXT_HIGHLIGHTER[...] | W_S_I[...] | operators\n   *\n   * Accepts any token that can appear in natural text.\n   *\n   * When `displayOnly=true`, interactive widgets (currently `inlineInput`) are\n   * gated out — used by MATCHER ITEM blocks to forbid inputs.\n   */\n  private inlineElement = this.RULE('inlineElement', (displayOnly: boolean = false) => {\n    this.OR([\n      // Free text (natural writing - just type it!)\n      { ALT: () => this.CONSUME(FreeText) },\n\n      // Identifiers (as free text - words like \"John\", \"apples\")\n      { ALT: () => this.CONSUME(Identifier) },\n\n      // Numbers (as free text)\n      { ALT: () => this.CONSUME(NumberLiteral) },\n\n      // Strings (as free text)\n      { ALT: () => this.CONSUME(StringLiteral) },\n\n      // Space (explicit spacing)\n      { ALT: () => this.CONSUME(Space) },\n\n      // Operators (for math expressions)\n      { ALT: () => this.CONSUME(Plus) },\n      { ALT: () => this.CONSUME(Minus) },\n      { ALT: () => this.CONSUME(Multiply) },\n      { ALT: () => this.CONSUME(Divide) },\n      { ALT: () => this.CONSUME(Equals) },\n      { ALT: () => this.CONSUME(LessThan) },\n      { ALT: () => this.CONSUME(GreaterThan) },\n      { ALT: () => this.CONSUME(Question) },\n\n      // Punctuation\n      { ALT: () => this.CONSUME(Comma) },\n\n      // Parentheses (for grouping)\n      { ALT: () => this.CONSUME(LParen) },\n      { ALT: () => this.CONSUME(RParen) },\n\n      // TEXT_HIGHLIGHTER / HIGHLIGHT_TEXT (for highlighting)\n      { ALT: () => this.SUBRULE(this.textHighlighter) },\n\n      // COLOR_TEXT (for colored text)\n      { ALT: () => this.SUBRULE(this.colorText) },\n\n      // BOLD_TEXT (for bold text)\n      { ALT: () => this.SUBRULE(this.boldText) },\n\n      // FRACTION (inline fraction widget)\n      { ALT: () => this.SUBRULE(this.fraction) },\n\n      // IMAGE (inline image element)\n      { ALT: () => this.SUBRULE(this.image) },\n      // VISUAL_FRACTION — always allowed; display-only when answer=[] or absence of answer parameter, interactive when answer=[...] with values.\n      { ALT: () => this.SUBRULE(this.visualFraction) },\n\n      // W_S_I (inline input widget) — excluded in display-only contexts (e.g. MATCHER ITEM)\n      { GATE: () => !displayOnly, ALT: () => this.SUBRULE(this.inlineInput) },\n\n      // INLINE_DRAG_OPTION (single draggable option inline with text) — excluded in display-only\n      { GATE: () => !displayOnly, ALT: () => this.SUBRULE(this.inlineDragOption) },\n\n      // CLOCK (inline clock widget)\n      { ALT: () => this.SUBRULE(this.clock) },\n    ]);\n  });\n\n  /**\n   * clock: CLOCK[parameterList]\n   *\n   * Parameters (validated in visitor):\n   * - name?, mode? (\"display\"|\"interactive\"), type (\"analog\"|\"digital\"),\n   *   value (HH:MM), answer? (HH:MM), format? (\"12h\"|\"24h\"), snap?\n   */\n  private clock = this.RULE('clock', () => {\n    this.CONSUME(CLOCK);\n    this.CONSUME(LBracket);\n    this.SUBRULE(this.parameterList);\n    this.CONSUME(RBracket);\n  });\n\n  /**\n   * textHighlighter: TEXT_HIGHLIGHTER[value=\"...\", start=N, end=N] | HIGHLIGHT_TEXT[value=\"...\", start=N, end=N]\n   *\n   * TEXT_HIGHLIGHTER = text highlighting component (alias: HIGHLIGHT_TEXT)\n   * HIGHLIGHT_TEXT = alias for TEXT_HIGHLIGHTER\n   */\n  private textHighlighter = this.RULE('textHighlighter', () => {\n    this.OR([\n      { ALT: () => this.CONSUME(TEXT_HIGHLIGHTER) },\n      { ALT: () => this.CONSUME(HIGHLIGHT_TEXT) },\n    ]);\n    this.CONSUME(LBracket);\n    this.SUBRULE(this.parameterList);\n    this.CONSUME(RBracket);\n  });\n\n  /**\n   * colorText: COLOR_TEXT[value=\"...\", color=\"red\", start=N, end=N]\n   */\n  private colorText = this.RULE('colorText', () => {\n    this.CONSUME(COLOR_TEXT);\n    this.CONSUME(LBracket);\n    this.SUBRULE(this.parameterList);\n    this.CONSUME(RBracket);\n  });\n\n  /**\n   * boldText: BOLD_TEXT[value=\"...\", start=N, end=N]\n   */\n  private boldText = this.RULE('boldText', () => {\n    this.CONSUME(BOLD_TEXT);\n    this.CONSUME(LBracket);\n    this.SUBRULE(this.parameterList);\n    this.CONSUME(RBracket);\n  });\n\n  /**\n   * fraction: FRACTION[name=\"x\", numerator=5, denominator=3, answer=\"5/3\", simplified=true]\n   */\n  private fraction = this.RULE('fraction', () => {\n    this.CONSUME(FRACTION);\n    this.CONSUME(LBracket);\n    this.SUBRULE(this.parameterList);\n    this.CONSUME(RBracket);\n  });\n\n  /**\n   * image: IMAGE[name=\"fig1\", src=\"https://...\", alt=\"cat\", width=120, height=80]\n   */\n  private image = this.RULE('image', () => {\n    this.CONSUME(IMAGE);\n    this.CONSUME(LBracket);\n    this.SUBRULE(this.parameterList);\n    this.CONSUME(RBracket);\n  });\n  /**\n   * visualFraction: VISUAL_FRACTION[name=\"vf1\", shape=\"bar\", divisions=8, filled=[3], answer=[2]]\n   */\n  private visualFraction = this.RULE('visualFraction', () => {\n    this.CONSUME(VISUAL_FRACTION);\n    this.CONSUME(LBracket);\n    this.SUBRULE(this.parameterList);\n    this.CONSUME(RBracket);\n  });\n\n  /**\n   * numberArray: [ number (, number)* ]\n   *\n   * Used for filled=[] and answer=[] parameters of VISUAL_FRACTION.\n   */\n  private numberArray = this.RULE('numberArray', () => {\n    this.CONSUME(LBracket);\n\n    // Skip spaces after opening bracket\n    this.MANY(() => {\n      this.CONSUME(Space);\n    });\n\n    // Optional list of numbers (may be empty)\n    this.OPTION(() => {\n      this.CONSUME(NumberLiteral, { LABEL: 'items' });\n\n      this.MANY2(() => {\n        this.MANY3(() => { this.CONSUME2(Space); });\n        this.CONSUME(Comma);\n        this.MANY4(() => { this.CONSUME3(Space); });\n        this.CONSUME2(NumberLiteral, { LABEL: 'items' });\n      });\n\n      // Optional trailing comma\n      this.OPTION2(() => {\n        this.MANY5(() => { this.CONSUME4(Space); });\n        this.CONSUME2(Comma);\n      });\n    });\n\n    this.MANY6(() => { this.CONSUME5(Space); });\n    this.CONSUME(RBracket);\n  });\n\n  /**\n   * inlineInput: W_S_I[...] | STRING_INPUT[...] | W_N_I[...] | NUMERIC_INPUT[...]\n   *\n   * W_S_I = string input widget (alias: STRING_INPUT)\n   * STRING_INPUT = alias for W_S_I\n   * W_N_I = numeric input widget (alias: NUMERIC_INPUT)\n   * NUMERIC_INPUT = alias for W_N_I\n   * W_S_I/STRING_INPUT uses \"length\" parameter, W_N_I/NUMERIC_INPUT uses \"digits\" parameter.\n   */\n  private inlineInput = this.RULE('inlineInput', () => {\n    this.OR([\n      { ALT: () => this.CONSUME(W_S_I, { LABEL: 'stringInput' }) },\n      { ALT: () => this.CONSUME(STRING_INPUT, { LABEL: 'stringInput' }) },\n      { ALT: () => this.CONSUME(W_N_I, { LABEL: 'numericInput' }) },\n      { ALT: () => this.CONSUME(NUMERIC_INPUT, { LABEL: 'numericInput' }) },\n    ]);\n    this.CONSUME(LBracket);\n    this.SUBRULE(this.parameterList);\n    this.CONSUME(RBracket);\n  });\n\n  /**\n   * inlineDragOption: INLINE_DRAG_OPTION[\"value\"]\n   *\n   * A single draggable option rendered inline within the text flow.\n   *\n   * @example INLINE_DRAG_OPTION[\"94\"]\n   */\n  private inlineDragOption = this.RULE('inlineDragOption', () => {\n    this.CONSUME(INLINE_DRAG_OPTION);\n    this.CONSUME(LBracket);\n    this.CONSUME(StringLiteral);\n    this.CONSUME(RBracket);\n  });\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Tools\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  /**\n   * tool: dragableButtons | numericKeypad\n   */\n  private tool = this.RULE('tool', () => {\n    this.OR([\n      { ALT: () => this.SUBRULE(this.dragableButtons) },\n      { ALT: () => this.SUBRULE(this.numericKeypad) },\n      { ALT: () => this.SUBRULE(this.rulerTool) },\n      { ALT: () => this.SUBRULE(this.protractorTool) },\n      { ALT: () => this.SUBRULE(this.setSquareTool) },\n    ]);\n  });\n\n  /**\n   * dragableButtons: DRAGABLE_BUTTONS_OPTIONS[\">\", \"<\", \"=\"]\n   */\n  private dragableButtons = this.RULE('dragableButtons', () => {\n    this.CONSUME(DRAGABLE_BUTTONS_OPTIONS);\n    this.CONSUME(LBracket);\n    this.SUBRULE(this.stringList);\n    this.CONSUME(RBracket);\n\n    // Consume newlines and spaces after tool\n    this.MANY(() => {\n      this.OR([{ ALT: () => this.CONSUME(Newline) }, { ALT: () => this.CONSUME(Space) }]);\n    });\n  });\n\n  /**\n   * radioButtons: RADIO_BUTTONS_OPTIONS[name=\"q1\", answer=\"apple\", options={\"apple\", \"orange\", \"banana\"}]\n   */\n  private radioButtons = this.RULE('radioButtons', () => {\n    // Skip leading whitespace/newlines\n    this.MANY(() => {\n      this.OR([{ ALT: () => this.CONSUME(Newline) }, { ALT: () => this.CONSUME(Space) }]);\n    });\n\n    this.CONSUME(RADIO_BUTTONS_OPTIONS);\n    this.CONSUME(LBracket);\n    this.SUBRULE(this.parameterList);\n    this.CONSUME(RBracket);\n\n    // Consume trailing newlines\n    this.MANY2(() => {\n      this.OR2([{ ALT: () => this.CONSUME2(Newline) }, { ALT: () => this.CONSUME2(Space) }]);\n    });\n  });\n\n  /**\n   * numericKeypad: NUMERIC_KEYPAD[] or NUMERIC_KEYPAD[includeOperators=true]\n   */\n  private numericKeypad = this.RULE('numericKeypad', () => {\n    this.CONSUME(NUMERIC_KEYPAD);\n    this.CONSUME(LBracket);\n    this.OPTION(() => {\n      this.SUBRULE(this.parameterList);\n    });\n    this.CONSUME(RBracket);\n\n    // Consume newlines and spaces after tool\n    this.MANY(() => {\n      this.OR([{ ALT: () => this.CONSUME(Newline) }, { ALT: () => this.CONSUME(Space) }]);\n    });\n  });\n\n  /**\n   * rulerTool: RULER[] or RULER[size=1]\n   */\n  private rulerTool = this.RULE('rulerTool', () => {\n    this.CONSUME(RULER);\n    this.CONSUME(LBracket);\n    this.OPTION(() => {\n      this.SUBRULE(this.parameterList);\n    });\n    this.CONSUME(RBracket);\n\n    this.MANY(() => {\n      this.OR([{ ALT: () => this.CONSUME(Newline) }, { ALT: () => this.CONSUME(Space) }]);\n    });\n  });\n\n  /**\n   * protractorTool: PROTRACTOR[] or PROTRACTOR[size=1]\n   */\n  private protractorTool = this.RULE('protractorTool', () => {\n    this.CONSUME(PROTRACTOR);\n    this.CONSUME(LBracket);\n    this.OPTION(() => {\n      this.SUBRULE(this.parameterList);\n    });\n    this.CONSUME(RBracket);\n\n    this.MANY(() => {\n      this.OR([{ ALT: () => this.CONSUME(Newline) }, { ALT: () => this.CONSUME(Space) }]);\n    });\n  });\n\n  /**\n   * setSquareTool: SET_SQUARE[] or SET_SQUARE[size=1]\n   */\n  private setSquareTool = this.RULE('setSquareTool', () => {\n    this.CONSUME(SET_SQUARE);\n    this.CONSUME(LBracket);\n    this.OPTION(() => {\n      this.SUBRULE(this.parameterList);\n    });\n    this.CONSUME(RBracket);\n\n    this.MANY(() => {\n      this.OR([{ ALT: () => this.CONSUME(Newline) }, { ALT: () => this.CONSUME(Space) }]);\n    });\n  });\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Validation\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  /**\n   * validation: WIDGET_ANSWER[type=\"simple\"|\"expression\", ...]\n   */\n  private validation = this.RULE('validation', () => {\n    this.CONSUME(WIDGET_ANSWER);\n    this.CONSUME(LBracket);\n    this.SUBRULE(this.parameterList);\n    this.CONSUME(RBracket);\n  });\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Parameter Lists\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  /**\n   * parameterList: parameter (, parameter)*\n   *\n   * Note: Spaces are consumed and ignored inside parameter lists\n   */\n  private parameterList = this.RULE('parameterList', () => {\n    // Skip leading spaces\n    this.MANY(() => {\n      this.CONSUME(Space);\n    });\n\n    this.SUBRULE(this.parameter);\n\n    this.MANY2(() => {\n      // Skip spaces before comma\n      this.MANY3(() => {\n        this.CONSUME2(Space);\n      });\n\n      this.CONSUME(Comma);\n\n      // Skip spaces after comma\n      this.MANY4(() => {\n        this.CONSUME3(Space);\n      });\n\n      this.SUBRULE2(this.parameter);\n    });\n\n    // Skip trailing spaces\n    this.MANY5(() => {\n      this.CONSUME4(Space);\n    });\n  });\n\n  /**\n   * parameter: name=value\n   */\n  private parameter = this.RULE('parameter', () => {\n    this.CONSUME(Identifier, { LABEL: 'key' });\n    this.CONSUME(Equals);\n    this.OR([\n      // String value\n      { ALT: () => this.CONSUME(StringLiteral, { LABEL: 'value' }) },\n\n      // Number value\n      { ALT: () => this.CONSUME(NumberLiteral, { LABEL: 'value' }) },\n\n      // Boolean value (as identifier: true/false)\n      { ALT: () => this.CONSUME2(Identifier, { LABEL: 'value' }) },\n\n      // Tuple value: (start, end)\n      { ALT: () => this.SUBRULE(this.tuple, { LABEL: 'value' }) },\n\n      // Curly-brace string list: {\"a\", \"b\", \"c\"}\n      { ALT: () => this.SUBRULE(this.curlyStringList, { LABEL: 'value' }) },\n\n      // Square-bracket number array: [1, 2, 3]  — used by VISUAL_FRACTION filled/answer\n      { ALT: () => this.SUBRULE(this.numberArray, { LABEL: 'value' }) },\n    ]);\n  });\n\n  /**\n   * tuple: (value, value)\n   *\n   * Note: Spaces are consumed and ignored inside tuples\n   */\n  private tuple = this.RULE('tuple', () => {\n    this.CONSUME(LParen);\n\n    // Skip spaces after opening paren\n    this.MANY(() => {\n      this.CONSUME(Space);\n    });\n\n    this.OR([\n      { ALT: () => this.CONSUME(NumberLiteral, { LABEL: 'start' }) },\n      { ALT: () => this.CONSUME(Identifier, { LABEL: 'start' }) },\n    ]);\n\n    // Skip spaces before comma\n    this.MANY2(() => {\n      this.CONSUME2(Space);\n    });\n\n    this.CONSUME(Comma);\n\n    // Skip spaces after comma\n    this.MANY3(() => {\n      this.CONSUME3(Space);\n    });\n\n    this.OR2([\n      { ALT: () => this.CONSUME2(NumberLiteral, { LABEL: 'end' }) },\n      { ALT: () => this.CONSUME2(Identifier, { LABEL: 'end' }) },\n    ]);\n\n    // Skip spaces before closing paren\n    this.MANY4(() => {\n      this.CONSUME4(Space);\n    });\n\n    this.CONSUME(RParen);\n  });\n\n  /**\n   * stringList: \"str1\", \"str2\", ...\n   *\n   * Note: Spaces are consumed and ignored inside string lists\n   */\n  private stringList = this.RULE('stringList', () => {\n    // Skip leading spaces\n    this.MANY(() => {\n      this.CONSUME(Space);\n    });\n\n    this.CONSUME(StringLiteral);\n\n    this.MANY2(() => {\n      // Skip spaces before comma\n      this.MANY3(() => {\n        this.CONSUME2(Space);\n      });\n\n      this.CONSUME(Comma);\n\n      // Skip spaces after comma\n      this.MANY4(() => {\n        this.CONSUME3(Space);\n      });\n\n      this.CONSUME2(StringLiteral);\n    });\n\n    // Skip trailing spaces\n    this.MANY5(() => {\n      this.CONSUME4(Space);\n    });\n  });\n\n  /**\n   * curlyStringList: { \"string1\", \"string2\", ... }\n   */\n  private curlyStringList = this.RULE('curlyStringList', () => {\n    this.CONSUME(LBrace);\n    this.SUBRULE(this.stringList);\n    this.CONSUME(RBrace);\n  });\n}\n\n// Export singleton instance\nexport const parser = new MathExerciseParser();\n","/**\n * Inline Element AST Nodes\n *\n * Inline elements appear WITHIN lines (in-flow with text):\n * - PlainText: Regular text\n * - HighlightedText: Text with optional highlighting\n * - InlineInput: Small input widget within a line\n */\n\nimport { z } from 'zod';\nimport { AST_TYPES, INPUT_TYPES } from '../constants';\n\nfunction parseOrThrow<T>(schema: z.ZodType<T>, data: unknown, label: string): T {\n  const result = schema.safeParse(data);\n  if (!result.success) {\n    const issue = result.error.issues[0];\n    if (!issue) throw new Error(`${label}: validation failed`);\n    const path = issue.path.length > 0 ? issue.path.join('.') : '<root>';\n    throw new Error(`${label}: ${path} ${issue.message}`);\n  }\n  return result.data;\n}\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Visual Fraction Shape Constants\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport const VISUAL_FRACTION_SHAPES = ['bar', 'circle', 'triangle', 'grid'] as const;\nexport type VisualFractionShape = (typeof VISUAL_FRACTION_SHAPES)[number];\n\n/** Named enum for visual fraction shapes — use instead of raw string literals. */\nexport const VISUAL_FRACTION_SHAPE = {\n  BAR: 'bar',\n  CIRCLE: 'circle',\n  TRIANGLE: 'triangle',\n  GRID: 'grid',\n} as const satisfies Record<string, VisualFractionShape>;\n\n/** Default shape size in rem — used as SVG viewport for circle/triangle, and as part-cell size for bar/grid. */\nexport const VISUAL_FRACTION_DEFAULT_SIZE = 1.35;\n\n/**\n * Maximum number of divisions allowed for any VisualFraction shape.\n * Enforced by both the AST schema (DSL parse) and the JSON schema (external data).\n * Edit this single value to raise or lower the limit across the entire pipeline.\n */\nexport const VISUAL_FRACTION_MAX_DIVISIONS = 100;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Free Text Inline (Natural writing - no wrapper needed!)\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Free text inline schema - plain text/numbers WITHOUT special formatting\n *\n * Use this for normal text. Only use NUMBER_TEXT when you need highlighting!\n *\n * @example\n * { type: \"FreeText\", value: \"25 + \" }\n * { type: \"FreeText\", value: \" = 30\" }\n */\nexport const FreeTextInlineSchema = z.object({\n  type: z.literal(AST_TYPES.FREE_TEXT),\n  value: z.string(),\n});\n\nexport type FreeTextInline = z.infer<typeof FreeTextInlineSchema>;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Space Inline\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Space inline schema - explicit spacing element\n *\n * Represents one or more consecutive spaces as a single space element.\n * This allows for deterministic and explicit control over spacing in the layout.\n *\n * @example\n * { type: \"Space\" }\n */\nexport const SpaceInlineSchema = z.object({\n  type: z.literal(AST_TYPES.SPACE),\n});\n\nexport type SpaceInline = z.infer<typeof SpaceInlineSchema>;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Highlighted Text Inline\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Highlighted text inline schema - text with optional highlighting\n *\n * highlight: [start, end] character positions for visual emphasis\n *\n * @example\n * {\n *   type: \"HighlightedText\",\n *   value: \"151 000\",\n *   highlight: [0, 3]  // Highlights \"151\"\n * }\n */\nexport const HighlightedTextInlineSchema = z.object({\n  type: z.literal(AST_TYPES.HIGHLIGHTED_TEXT),\n  value: z.string(),\n  highlight: z.tuple([z.number(), z.number()]).optional(),\n});\n\nexport type HighlightedTextInline = z.infer<typeof HighlightedTextInlineSchema>;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Color Text Inline\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Color text inline schema - text with color and optional range coloring\n *\n * highlight: [start, end] character positions for colored range\n * color: CSS color value (e.g., \"red\", \"#ff0000\")\n *\n * @example\n * {\n *   type: \"ColorText\",\n *   value: \"123456\",\n *   color: \"red\",\n *   highlight: [0, 3]  // Colors \"123\" in red\n * }\n */\nexport const ColorTextInlineSchema = z.object({\n  type: z.literal(AST_TYPES.COLOR_TEXT),\n  value: z.string(),\n  color: z.string(),\n  highlight: z.tuple([z.number(), z.number()]).optional(),\n});\n\nexport type ColorTextInline = z.infer<typeof ColorTextInlineSchema>;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Bold Text Inline\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Bold text inline schema - text with optional range bolding\n *\n * highlight: [start, end] character positions for bold range\n *\n * @example\n * {\n *   type: \"BoldText\",\n *   value: \"123456\",\n *   highlight: [0, 3]  // Bolds \"123\"\n * }\n */\nexport const BoldTextInlineSchema = z.object({\n  type: z.literal(AST_TYPES.BOLD_TEXT),\n  value: z.string(),\n  highlight: z.tuple([z.number(), z.number()]).optional(),\n});\n\nexport type BoldTextInline = z.infer<typeof BoldTextInlineSchema>;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Inline Input Widget\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Inline input widget schema - small input that appears within a line\n *\n * This is for SHORT inputs (1-5 characters) that flow with text\n * For longer inputs, consider a standalone tool\n *\n * @example String input (W_S_I):\n * {\n *   type: \"InlineInput\",\n *   name: \"x\",\n *   inputType: \"string\",\n *   length: 5,        // Visual width in characters\n *   answer: \"hello\"\n * }\n *\n * @example Numeric input (W_N_I):\n * {\n *   type: \"InlineInput\",\n *   name: \"x\",\n *   inputType: \"numeric\",\n *   digits: 2,        // Maximum number of digits\n *   answer: 42\n * }\n */\nexport const InlineInputWidgetSchema = z.discriminatedUnion('inputType', [\n  z.object({\n    type: z.literal(AST_TYPES.INLINE_INPUT),\n    name: z.string(),\n    inputType: z.literal(INPUT_TYPES.STRING),\n    length: z.number().int().positive(),\n    placeholder: z.string().max(32).optional(),\n    answer: z.union([z.string(), z.number()]).optional(),\n  }),\n  z.object({\n    type: z.literal(AST_TYPES.INLINE_INPUT),\n    name: z.string(),\n    inputType: z.literal(INPUT_TYPES.NUMERIC),\n    digits: z.number().int().positive(),\n    placeholder: z.string().max(32).optional(),\n    answer: z.union([z.string(), z.number()]).optional(),\n  }),\n]);\n\nexport type InlineInputWidget = z.infer<typeof InlineInputWidgetSchema>;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Fraction Inline Widget\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Fraction inline widget schema\n *\n * Modes determined by presence of numerator/denominator:\n * - both provided → readonly display\n * - only numerator → denominator input\n * - only denominator → numerator input\n * - neither → both are inputs\n *\n * @example Readonly: { type: \"Fraction\", name: \"x\", numerator: 5, denominator: 3 }\n * @example Denominator input: { type: \"Fraction\", name: \"y\", numerator: 5, answer: \"5/3\" }\n * @example Both inputs: { type: \"Fraction\", name: \"z\", answer: \"5/3\" }\n */\nexport const FractionInlineSchema = z.object({\n  type: z.literal(AST_TYPES.FRACTION),\n  name: z.string(),\n  numerator: z.number().optional(),\n  denominator: z.number().optional(),\n  answer: z.string().optional(),\n  simplified: z.boolean().default(true),\n  placeholder: z.string().max(32).optional(),\n});\n\nexport type FractionInline = z.infer<typeof FractionInlineSchema>;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Image Inline\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Image inline schema\n *\n * @example\n * {\n *   type: \"Image\",\n *   name: \"fig1\",\n *   src: \"https://example.com/fig1.png\",\n *   alt: \"A cat\",\n *   width: 120,\n *   height: 80\n * }\n */\nconst IMAGE_SRC_SCHEME_RE = /^(https?:\\/\\/|data:image\\/)/i;\n\nexport const ImageInlineSchema = z.object({\n  type: z.literal(AST_TYPES.IMAGE),\n  name: z.string().min(1),\n  src: z\n    .string()\n    .url()\n    .refine((s) => IMAGE_SRC_SCHEME_RE.test(s), {\n      message: 'src must use http(s) or data:image scheme',\n    }),\n  alt: z.string(),\n  width: z.number().positive().optional(),\n  height: z.number().positive().optional(),\n});\n\nexport type ImageInline = z.infer<typeof ImageInlineSchema>;\n// Visual Fraction Inline\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Visual Fraction inline widget schema.\n *\n * @example\n * VISUAL_FRACTION[name=\"vf1\", shape=\"bar\", divisions=8, filled=[3], answer=[2], label=\"3/8\"]\n */\nexport const VisualFractionInlineSchema = z\n  .object({\n    type: z.literal(AST_TYPES.VISUAL_FRACTION),\n    name: z.string(),\n    shape: z.enum(VISUAL_FRACTION_SHAPES).default('bar'),\n    divisions: z\n      .number()\n      .int()\n      .positive()\n      .max(VISUAL_FRACTION_MAX_DIVISIONS, {\n        message: `divisions cannot exceed ${VISUAL_FRACTION_MAX_DIVISIONS}`,\n      }),\n    filled: z.array(z.number().int().nonnegative()).default([]),\n    answer: z.array(z.number().int().nonnegative()).default([]),\n    orientation: z.enum(['horizontal', 'vertical']).optional(),\n    label: z.string().optional(),\n    /** Unified author size.\n     * - bar / grid:         overrides `--visual-fraction-part-size` (cell size).\n     * - circle / triangle:  maps to `--visual-fraction-size` with the renderer scale factor.\n     * Omit to use CSS defaults. */\n    size: z.number().positive().optional(),\n  })\n  .superRefine(validateVisualFractionCapacity);\nexport type VisualFractionInline = z.infer<typeof VisualFractionInlineSchema>;\n\nexport function validateVisualFractionCapacity(\n  data: {\n    divisions: number;\n    filled: number[];\n    answer: number[];\n    shape?: VisualFractionShape;\n  },\n  ctx: z.RefinementCtx\n): void {\n  const filledTotal = data.filled.reduce((sum, count) => sum + count, 0);\n  const answerTotal = data.answer.reduce((sum, count) => sum + count, 0);\n\n  if (filledTotal > data.divisions) {\n    ctx.addIssue({\n      code: z.ZodIssueCode.custom,\n      message: `filled total (${filledTotal}) cannot exceed divisions (${data.divisions})`,\n      path: ['filled'],\n    });\n  }\n\n  if (filledTotal + answerTotal > data.divisions) {\n    ctx.addIssue({\n      code: z.ZodIssueCode.custom,\n      message: `filled + answer total (${filledTotal + answerTotal}) cannot exceed divisions (${data.divisions})`,\n      path: ['answer'],\n    });\n  }\n\n  const shape = data.shape;\n\n  if (shape === 'triangle' && !isPerfectSquare(data.divisions)) {\n    ctx.addIssue({\n      code: z.ZodIssueCode.custom,\n      message: `triangle divisions (${data.divisions}) must be a perfect square to render equal triangle parts`,\n      path: ['divisions'],\n    });\n  }\n\n  if (shape === 'grid' && !isPerfectSquare(data.divisions)) {\n    ctx.addIssue({\n      code: z.ZodIssueCode.custom,\n      message: `grid divisions (${data.divisions}) must be a perfect square to render equal rows and columns`,\n      path: ['divisions'],\n    });\n  }\n}\n\nfunction isPerfectSquare(value: number): boolean {\n  const root = Math.sqrt(value);\n  return Number.isInteger(root);\n}\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Inline Drag Option\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * A single draggable option rendered inline within the text flow.\n *\n * Unlike DragOptionsTool (which groups all options in a fixed container),\n * this element is placed directly in the line alongside other text elements.\n *\n * @example\n * INLINE_DRAG_OPTION[\"94\"]  → { type: \"InlineDragOption\", value: \"94\" }\n */\nexport const InlineDragOptionSchema = z.object({\n  type: z.literal(AST_TYPES.INLINE_DRAG_OPTION),\n  value: z.string().min(1),\n});\n\nexport type InlineDragOption = z.infer<typeof InlineDragOptionSchema>;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Clock Inline Widget\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport const CLOCK_TYPES = ['analog', 'digital'] as const;\nexport const CLOCK_MODES = ['display', 'interactive'] as const;\nexport const CLOCK_FORMATS = ['12h', '24h'] as const;\n\nexport type ClockType = typeof CLOCK_TYPES[number];\nexport type ClockMode = typeof CLOCK_MODES[number];\nexport type ClockFormat = typeof CLOCK_FORMATS[number];\n\n// 24h internal format: 00-23 hours, 00-59 minutes\nexport const CLOCK_TIME_REGEX = /^([01]\\d|2[0-3]):[0-5]\\d$/;\nconst TimeStringSchema = z.string().regex(CLOCK_TIME_REGEX, 'must be \"HH:MM\" in 24h format');\n\nconst DisplayClockInlineSchema = z.object({\n  type: z.literal(AST_TYPES.CLOCK),\n  mode: z.literal('display'),\n  clockType: z.enum(CLOCK_TYPES),\n  value: TimeStringSchema,\n  format: z.enum(CLOCK_FORMATS).optional(),\n  name: z.string().optional(),\n});\n\nconst InteractiveClockInlineSchema = z.object({\n  type: z.literal(AST_TYPES.CLOCK),\n  mode: z.literal('interactive'),\n  clockType: z.literal('analog'),\n  value: TimeStringSchema,\n  answer: TimeStringSchema,\n  format: z.enum(CLOCK_FORMATS).optional(),\n  snap: z.number().int().min(1).max(60).optional(),\n  name: z.string(),\n});\n\nexport const ClockInlineSchema = z.discriminatedUnion('mode', [\n  DisplayClockInlineSchema,\n  InteractiveClockInlineSchema,\n]);\n\nexport type ClockInline = z.infer<typeof ClockInlineSchema>;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Union Type\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Union of all inline element types\n */\nexport const InlineNodeSchema = z.union([\n  FreeTextInlineSchema,\n  SpaceInlineSchema,\n  HighlightedTextInlineSchema,\n  ColorTextInlineSchema,\n  BoldTextInlineSchema,\n  InlineInputWidgetSchema,\n  FractionInlineSchema,\n  ImageInlineSchema,\n  VisualFractionInlineSchema,\n  InlineDragOptionSchema,\n  ClockInlineSchema,\n]);\n\nexport type InlineNode = z.infer<typeof InlineNodeSchema>;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Factory Functions\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Create a free text inline element\n */\nexport function createFreeText(value: string): FreeTextInline {\n  return FreeTextInlineSchema.parse({\n    type: AST_TYPES.FREE_TEXT,\n    value,\n  });\n}\n\n/**\n * Create a space inline element\n */\nexport function createSpace(): SpaceInline {\n  return SpaceInlineSchema.parse({\n    type: AST_TYPES.SPACE,\n  });\n}\n\n/**\n * Create a highlighted text inline element\n */\nexport function createHighlightedText(\n  value: string,\n  highlight?: [number, number]\n): HighlightedTextInline {\n  return HighlightedTextInlineSchema.parse({\n    type: AST_TYPES.HIGHLIGHTED_TEXT,\n    value,\n    highlight,\n  });\n}\n\n/**\n * Create a color text inline element\n */\nexport function createColorText(\n  value: string,\n  color: string,\n  highlight?: [number, number]\n): ColorTextInline {\n  return ColorTextInlineSchema.parse({\n    type: AST_TYPES.COLOR_TEXT,\n    value,\n    color,\n    highlight,\n  });\n}\n\n/**\n * Create a bold text inline element\n */\nexport function createBoldText(value: string, highlight?: [number, number]): BoldTextInline {\n  return BoldTextInlineSchema.parse({\n    type: AST_TYPES.BOLD_TEXT,\n    value,\n    highlight,\n  });\n}\n\n/**\n * Create a string inline input widget (W_S_I)\n */\nexport function createStringInput(\n  name: string,\n  length: number,\n  answer?: string | number,\n  placeholder?: string\n): InlineInputWidget {\n  return parseOrThrow(\n    InlineInputWidgetSchema,\n    {\n      type: AST_TYPES.INLINE_INPUT,\n      name,\n      inputType: INPUT_TYPES.STRING,\n      length,\n      placeholder,\n      answer,\n    },\n    'STRING_INPUT'\n  );\n}\n\n/**\n * Create a numeric inline input widget (W_N_I)\n */\nexport function createNumericInput(\n  name: string,\n  digits: number,\n  answer?: string | number,\n  placeholder?: string\n): InlineInputWidget {\n  return parseOrThrow(\n    InlineInputWidgetSchema,\n    {\n      type: AST_TYPES.INLINE_INPUT,\n      name,\n      inputType: INPUT_TYPES.NUMERIC,\n      digits,\n      placeholder,\n      answer,\n    },\n    'NUMERIC_INPUT'\n  );\n}\n\n/**\n * Create an image inline element\n */\nexport function createImage(\n  name: string,\n  src: string,\n  alt: string,\n  options: { width?: number; height?: number } = {}\n): ImageInline {\n  return ImageInlineSchema.parse({\n    type: AST_TYPES.IMAGE,\n    name,\n    src,\n    alt,\n    ...options,\n  });\n}\n\n/**\n * Create a fraction inline widget\n */\nexport function createFraction(\n  name: string,\n  options: {\n    numerator?: number;\n    denominator?: number;\n    answer?: string;\n    simplified?: boolean;\n    placeholder?: string;\n  } = {}\n): FractionInline {\n  return FractionInlineSchema.parse({\n    type: AST_TYPES.FRACTION,\n    name,\n    ...options,\n  });\n}\n\n/**\n * Create a visual fraction inline widget\n */\nexport function createVisualFraction(\n  name: string,\n  divisions: number,\n  options: {\n    shape?: VisualFractionShape;\n    filled?: number[];\n    answer?: number[];\n    orientation?: 'horizontal' | 'vertical';\n    label?: string;\n    /** Unified author size. */\n    size?: number;\n  } = {}\n): VisualFractionInline {\n  return VisualFractionInlineSchema.parse({\n    type: AST_TYPES.VISUAL_FRACTION,\n    name,\n    divisions,\n    ...options,\n  });\n}\n\n/**\n * Create a single inline draggable option\n */\nexport function createInlineDragOption(value: string): InlineDragOption {\n  return InlineDragOptionSchema.parse({\n    type: AST_TYPES.INLINE_DRAG_OPTION,\n    value,\n  });\n}\n\n/**\n * Create a display-mode clock inline widget\n */\nexport function createDisplayClock(params: {\n  clockType: ClockType;\n  value: string;\n  format?: ClockFormat;\n  name?: string;\n}): ClockInline {\n  return ClockInlineSchema.parse({\n    type: AST_TYPES.CLOCK,\n    mode: 'display',\n    ...params,\n  });\n}\n\n/**\n * Create an interactive-mode clock inline widget (analog only)\n */\nexport function createInteractiveClock(params: {\n  name: string;\n  value: string;\n  answer: string;\n  format?: ClockFormat;\n  snap?: number;\n}): ClockInline {\n  return ClockInlineSchema.parse({\n    type: AST_TYPES.CLOCK,\n    mode: 'interactive',\n    clockType: 'analog',\n    ...params,\n  });\n}\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Type Guards\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport function isFreeText(value: unknown): value is FreeTextInline {\n  return FreeTextInlineSchema.safeParse(value).success;\n}\n\nexport function isSpace(value: unknown): value is SpaceInline {\n  return SpaceInlineSchema.safeParse(value).success;\n}\n\nexport function isHighlightedText(value: unknown): value is HighlightedTextInline {\n  return HighlightedTextInlineSchema.safeParse(value).success;\n}\n\nexport function isColorText(value: unknown): value is ColorTextInline {\n  return ColorTextInlineSchema.safeParse(value).success;\n}\n\nexport function isBoldText(value: unknown): value is BoldTextInline {\n  return BoldTextInlineSchema.safeParse(value).success;\n}\n\nexport function isInlineInput(value: unknown): value is InlineInputWidget {\n  return InlineInputWidgetSchema.safeParse(value).success;\n}\n\nexport function isFraction(value: unknown): value is FractionInline {\n  return FractionInlineSchema.safeParse(value).success;\n}\n\nexport function isImage(value: unknown): value is ImageInline {\n  return ImageInlineSchema.safeParse(value).success;\n}\n\nexport function isClock(value: unknown): value is ClockInline {\n  return ClockInlineSchema.safeParse(value).success;\n}\n\nexport function isInlineNode(value: unknown): value is InlineNode {\n  return InlineNodeSchema.safeParse(value).success;\n}\n\nexport function isVisualFractionInline(value: unknown): value is VisualFractionInline {\n  return VisualFractionInlineSchema.safeParse(value).success;\n}\n\nexport function isInlineDragOption(value: unknown): value is InlineDragOption {\n  return InlineDragOptionSchema.safeParse(value).success;\n}\n","/**\n * Block-level AST Nodes\n *\n * Blocks represent structural units:\n * - TextBlock: The question/instruction text\n * - LineBlock: A visual row containing inline elements\n */\n\nimport { z } from 'zod';\nimport { InlineNodeSchema, type InlineNode } from './inline';\nimport { AST_TYPES } from '../constants';\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Text Block (Question)\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Text block schema - represents the question/instruction\n * \n * @example\n * {\n *   type: \"TextBlock\",\n *   value: \"أقارن كل عددين باستعمال الرمر المناسب\"\n * }\n */\nexport const TextBlockSchema = z.object({\n  type: z.literal(AST_TYPES.TEXT_BLOCK),\n  value: z.string()\n});\n\nexport type TextBlock = z.infer<typeof TextBlockSchema>;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Line Block (Visual Row)\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Line block schema - represents a visual row of inline elements\n * \n * One line = one visual row in the UI\n * Contains an ordered sequence of inline elements\n * \n * @example\n * {\n *   type: \"LineBlock\",\n *   inlines: [\n *     { type: \"HighlightedText\", value: \"151 000\", highlight: [0, 3] },\n *     { type: \"InlineInput\", name: \"x\", length: 1 },\n *     { type: \"HighlightedText\", value: \"54 000\", highlight: [0, 3] }\n *   ]\n * }\n */\nexport const LineBlockSchema = z.object({\n  type: z.literal(AST_TYPES.LINE_BLOCK),\n  inlines: z.array(InlineNodeSchema)\n});\n\nexport type LineBlock = z.infer<typeof LineBlockSchema>;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Factory Functions\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Create a text block (question)\n */\nexport function createTextBlock(value: string): TextBlock {\n  return TextBlockSchema.parse({\n    type: AST_TYPES.TEXT_BLOCK,\n    value\n  });\n}\n\n/**\n * Create a line block\n */\nexport function createLineBlock(inlines: InlineNode[]): LineBlock {\n  return LineBlockSchema.parse({\n    type: AST_TYPES.LINE_BLOCK,\n    inlines\n  });\n}\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Type Guards\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport function isTextBlock(value: unknown): value is TextBlock {\n  return TextBlockSchema.safeParse(value).success;\n}\n\nexport function isLineBlock(value: unknown): value is LineBlock {\n  return LineBlockSchema.safeParse(value).success;\n}\n","/**\n * Number Line AST Nodes\n *\n * Block-level layout nodes for number line structure:\n * NumberLineBlock → NumberLinePosition[] → InlineNode[]\n */\n\nimport { z } from 'zod';\nimport { InlineNodeSchema } from './inline';\nimport { AST_TYPES } from '../constants';\nimport { NUMBER_LINE_STYLES, NumberLineStyle, NUMBER_LINE_LABELS, NumberLineLabels, NUMBER_LINE_HIGHLIGHT_COLORS, NumberLineHighlightColor, NUMBER_LINE_DRAG_MODES, NumberLineDragMode } from '../constants/number-line-constants';\n\n/**\n * A single position marker on the number line.\n * Contains at least one inline element (text, input, etc.).\n *\n * @example\n * {\n *   type: \"NumberLinePosition\",\n *   value: 20,\n *   inlines: [{ type: \"InlineInput\", name: \"a\", digits: 3 }]\n * }\n */\nexport const NumberLinePositionSchema = z.object({\n  type: z.literal(AST_TYPES.NUMBER_LINE_POSITION),\n  value: z.number().finite({ message: 'POSITION: value must be a finite number' }),\n  inlines: z.array(InlineNodeSchema).min(1)\n});\n\nexport type NumberLinePosition = z.infer<typeof NumberLinePositionSchema>;\n\nexport function createNumberLinePosition(\n  value: number,\n  inlines: z.infer<typeof InlineNodeSchema>[]\n): NumberLinePosition {\n  // Internal node rule: empty or whitespace-only content is not allowed\n  const hasRealContent = inlines.some((n) => n.type !== AST_TYPES.SPACE);\n  if (!hasRealContent) {\n    throw new Error(`POSITION[value=${value}]: content cannot be empty or whitespace only`);\n  }\n\n  // Internal node rule: max one input widget\n  const inputs = inlines.filter((i) => i.type === AST_TYPES.INLINE_INPUT);\n  if (inputs.length > 1) {\n    throw new Error(\n      `POSITION[value=${value}]: only one input widget is allowed, got ${inputs.length}`\n    );\n  }\n\n  return NumberLinePositionSchema.parse({\n    type: AST_TYPES.NUMBER_LINE_POSITION,\n    value,\n    inlines\n  });\n}\n\nexport function isNumberLinePosition(value: unknown): value is NumberLinePosition {\n  return NumberLinePositionSchema.safeParse(value).success;\n}\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Number Line Counter\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Counter node — dynamic subdivision control embedded in a number line.\n * The number line step is recomputed as: (max - min) / counter_value.\n *\n * Invariant: min >= 1 (a subdivision of 0 is meaningless).\n * The `default` fallback lives only in createNumberLineCounter, not here,\n * to avoid Zod transform side-effects on the parsed shape.\n */\nexport const NumberLineCounterSchema = z.object({\n  type: z.literal(AST_TYPES.NUMBER_LINE_COUNTER),\n  min: z.number().int().min(1, { message: 'COUNTER: min must be >= 1' }),\n  max: z.number().int().positive({ message: 'COUNTER: max must be > 0' }),\n  default: z.number().int().nonnegative().optional(),\n  name: z.string().optional(),\n  answer: z.number().int().positive({ message: 'COUNTER: answer must be a positive integer' }).optional(),\n}).refine((d) => d.min <= d.max, {\n  message: 'COUNTER: min must be <= max',\n});\n\nexport type NumberLineCounter = z.infer<typeof NumberLineCounterSchema>;\n\nexport function createNumberLineCounter(\n  max: number,\n  min?: number,\n  defaultValue?: number,\n  name?: string,\n  answer?: number\n): NumberLineCounter {\n  return NumberLineCounterSchema.parse({\n    type: AST_TYPES.NUMBER_LINE_COUNTER,\n    min: min ?? 1,\n    max,\n    ...(defaultValue !== undefined && { default: defaultValue }),\n    ...(name !== undefined && { name }),\n    ...(answer !== undefined && { answer }),\n  });\n}\n\nexport function isNumberLineCounter(value: unknown): value is NumberLineCounter {\n  return NumberLineCounterSchema.safeParse(value).success;\n}\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Number Line Highlight\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * A highlighted range on the number line axis.\n *\n * `color` is constrained to the semantic set in NUMBER_LINE_HIGHLIGHT_COLORS\n * so renderers can safely map values to design tokens.\n */\nexport const NumberLineHighlightSchema = z.object({\n  type: z.literal(AST_TYPES.NUMBER_LINE_HIGHLIGHT),\n  from: z.number().finite({ message: 'HIGHLIGHT: from must be a finite number' }),\n  to: z.number().finite({ message: 'HIGHLIGHT: to must be a finite number' }),\n  color: z.enum(NUMBER_LINE_HIGHLIGHT_COLORS, {\n    errorMap: () => ({\n      message: `HIGHLIGHT: color must be one of ${NUMBER_LINE_HIGHLIGHT_COLORS.join(', ')}`\n    })\n  }).optional(),\n  label: z.string().optional(),\n}).refine((d) => d.from < d.to, {\n  message: 'HIGHLIGHT: from must be less than to',\n});\n\nexport type NumberLineHighlight = z.infer<typeof NumberLineHighlightSchema>;\n\nexport function createNumberLineHighlight(\n  from: number,\n  to: number,\n  color?: NumberLineHighlightColor,\n  label?: string\n): NumberLineHighlight {\n  return NumberLineHighlightSchema.parse({\n    type: AST_TYPES.NUMBER_LINE_HIGHLIGHT,\n    from,\n    to,\n    ...(color !== undefined && { color }),\n    ...(label !== undefined && { label }),\n  });\n}\n\nexport function isNumberLineHighlight(value: unknown): value is NumberLineHighlight {\n  return NumberLineHighlightSchema.safeParse(value).success;\n}\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Number Line cursor\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport const NumberLineCursorSchema = z.object({\n  type: z.literal(AST_TYPES.NUMBER_LINE_CURSOR),\n  value: z.number().finite({ message: 'CURSOR: value must be a finite number' }).default(0),\n  answer: z.number({required_error: 'CURSOR: answer is required'}).finite({ message: 'CURSOR: answer must be a finite number' }),\n  color: z.string().regex(/^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/, {\n    message: 'CURSOR: color must be a hex value (e.g. \"#3B82F6\" or \"#F00\")'\n  }).optional(),\n  fillRange: z.boolean().default(false),\n  label: z.string().optional(),\n});\n\nexport type NumberLineCursor = z.infer<typeof NumberLineCursorSchema>;\n\nexport function createNumberLineCursor(\n  answer: number,\n  value?: number,\n  color?: string,\n  fillRange?: boolean,\n  label?: string\n): NumberLineCursor {\n  return NumberLineCursorSchema.parse({\n    type: AST_TYPES.NUMBER_LINE_CURSOR,\n    answer,\n    ...(value !== undefined && { value }),\n    ...(color !== undefined && { color }),\n    ...(fillRange !== undefined && { fillRange }),\n    ...(label !== undefined && { label }),\n  });\n}\n\nexport function isNumberLineCursor(value: unknown): value is NumberLineCursor {\n  return NumberLineCursorSchema.safeParse(value).success;\n}\n// Number Line Arrow\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * A left-to-right arrow annotation above a number line interval.\n *\n * Optional content is inline so authors can write labels such as `+1`, `+ 10`, or richer\n * inline elements that already exist in the DSL.\n */\nexport const NumberLineArrowSchema = z.object({\n  type: z.literal(AST_TYPES.NUMBER_LINE_ARROW),\n  from: z.number().finite({ message: 'ARROW: from must be a finite number' }),\n  to: z.number().finite({ message: 'ARROW: to must be a finite number' }),\n  color: z.string().optional(),\n  inlines: z.array(InlineNodeSchema),\n}).refine((d) => d.from < d.to, {\n  message: 'ARROW: from must be less than to',\n});\n\nexport type NumberLineArrow = z.infer<typeof NumberLineArrowSchema>;\n\nexport function createNumberLineArrow(\n  from: number,\n  to: number,\n  inlines: z.infer<typeof InlineNodeSchema>[],\n  color?: string,\n): NumberLineArrow {\n  return NumberLineArrowSchema.parse({\n    type: AST_TYPES.NUMBER_LINE_ARROW,\n    from,\n    to,\n    ...(color !== undefined && { color }),\n    inlines,\n  });\n}\n\nexport function isNumberLineArrow(value: unknown): value is NumberLineArrow {\n  return NumberLineArrowSchema.safeParse(value).success;\n}\n\n/**\n * Number line block schema — the root node for a number line exercise element.\n *\n * @example\n * {\n *   type: \"NumberLineBlock\",\n *   min: 0, max: 100, step: 10, minorTicks: 0, style: \"arrow-right\",\n *   positions: [\n *     { type: \"NumberLinePosition\", value: 20, inlines: [...] }\n *   ]\n * }\n */\nexport const NumberLineBlockSchema = z.object({\n  type: z.literal(AST_TYPES.NUMBER_LINE_BLOCK),\n  min: z.number().finite({ message: 'NUMBER_LINE: min must be a finite number' }),\n  max: z.number().finite({ message: 'NUMBER_LINE: max must be a finite number' }),\n  step: z.number()\n  .positive({ message: 'NUMBER_LINE: step must be greater than 0' })\n  .default(1),\n  minorTicks: z.number().int().nonnegative({ message: 'NUMBER_LINE: minorTicks must be >= 0' }).optional(),\n  style: z.enum(NUMBER_LINE_STYLES, {\n  errorMap: () => ({\n    message: `NUMBER_LINE: style must be one of ${NUMBER_LINE_STYLES.join(', ')}`\n  })\n}).optional(),\n  labelVisibility: z.enum(NUMBER_LINE_LABELS, {\n  errorMap: () => ({\n    message: `NUMBER_LINE: labelVisibility must be one of ${NUMBER_LINE_LABELS.join(', ')}`\n  })\n}).optional(),\n  counter: NumberLineCounterSchema.optional(),\n  highlights: z.array(NumberLineHighlightSchema).optional(),\n  cursors: z.array(NumberLineCursorSchema).optional(),\n  arrows: z.array(NumberLineArrowSchema).optional(),\n  dragMode: z.enum(NUMBER_LINE_DRAG_MODES, {\n  errorMap: () => ({\n    message: `NUMBER_LINE: dragMode must be one of ${NUMBER_LINE_DRAG_MODES.join(', ')}`\n  })\n}).optional(),\n  positions: z.array(NumberLinePositionSchema)\n}).refine((data) => data.min < data.max, {\n  message: 'NUMBER_LINE: min must be less than max'\n}).superRefine((data, ctx) => {\n  const seen = new Set<number>();\n  for (const pos of data.positions) {\n    if (pos.value < data.min || pos.value > data.max) {\n      ctx.addIssue({\n        code: z.ZodIssueCode.custom,\n        message: `NUMBER_LINE: POSITION value (${pos.value}) must be within [${data.min}, ${data.max}]`\n      });\n    }\n    if (seen.has(pos.value)) {\n      ctx.addIssue({\n        code: z.ZodIssueCode.custom,\n        message: `NUMBER_LINE: duplicate POSITION value (${pos.value})`\n      });\n    }\n    seen.add(pos.value);\n  }\n  // Validate highlights are within [min, max]\n  for (const h of data.highlights ?? []) {\n    if (h.from < data.min || h.to > data.max) {\n      ctx.addIssue({\n        code: z.ZodIssueCode.custom,\n        message: `NUMBER_LINE: HIGHLIGHT range [${h.from}, ${h.to}] must be within [${data.min}, ${data.max}]`\n      });\n    }\n  }\n  // Validate arrows are within [min, max]\n  for (const arrow of data.arrows ?? []) {\n    if (arrow.from < data.min || arrow.to > data.max) {\n      ctx.addIssue({\n        code: z.ZodIssueCode.custom,\n        message: `NUMBER_LINE: ARROW range [${arrow.from}, ${arrow.to}] must be within [${data.min}, ${data.max}]`\n      });\n    }\n  }\n  // Validate counter default is within counter's own [min, max]\n  if (data.counter?.default !== undefined) {\n    if (data.counter.default < data.counter.min || data.counter.default > data.counter.max) {\n      ctx.addIssue({\n        code: z.ZodIssueCode.custom,\n        message: `NUMBER_LINE: COUNTER default (${data.counter.default}) must be within [${data.counter.min}, ${data.counter.max}]`\n      });\n    }\n  }\n  // Validate cursor value and answer are within [min, max]\n  for (const c of data.cursors ?? []) {\n    if (c.value < data.min || c.value > data.max) {\n      ctx.addIssue({\n        code: z.ZodIssueCode.custom,\n        message: `NUMBER_LINE: CURSOR value (${c.value}) must be within [${data.min}, ${data.max}]`\n      });\n    }\n    if (c.answer < data.min || c.answer > data.max) {\n      ctx.addIssue({\n        code: z.ZodIssueCode.custom,\n        message: `NUMBER_LINE: CURSOR answer (${c.answer}) must be within [${data.min}, ${data.max}]`\n      });\n    }\n  }\n});\n\nexport type NumberLineBlock = z.infer<typeof NumberLineBlockSchema>;\n\nexport function createNumberLineBlock(\n  min: number,\n  max: number,\n  positions: NumberLinePosition[],\n  step?: number,\n  minorTicks?: number,\n  style?: NumberLineStyle,\n  labelVisibility?: NumberLineLabels,\n  counter?: NumberLineCounter,\n  highlights?: NumberLineHighlight[],\n  cursors?: NumberLineCursor[],\n  arrows?: NumberLineArrow[],\n  dragMode?: NumberLineDragMode\n): NumberLineBlock {\n  return NumberLineBlockSchema.parse({\n    type: AST_TYPES.NUMBER_LINE_BLOCK,\n    min,\n    max,\n    step,\n    minorTicks,\n    style,\n    labelVisibility,\n    counter,\n    highlights,\n    cursors,\n    arrows,\n    dragMode,\n    positions\n  });\n}\n\nexport function isNumberLineBlock(value: unknown): value is NumberLineBlock {\n  return NumberLineBlockSchema.safeParse(value).success;\n}\n","/**\n * Table AST Nodes\n *\n * Block-level layout nodes for table structure:\n * TableBlock → TableRow[] → TableCell[] → InlineNode[]\n */\n\nimport { z } from 'zod';\nimport { InlineNodeSchema } from './inline';\nimport { AST_TYPES } from '../constants';\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Table Cell\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport const TableCellSchema = z.object({\n  type: z.literal(AST_TYPES.TABLE_CELL),\n  colspan: z.number().int().positive().optional(),\n  inlines: z.array(InlineNodeSchema)\n});\n\nexport type TableCell = z.infer<typeof TableCellSchema>;\n\nexport function createTableCell(\n  inlines: z.infer<typeof InlineNodeSchema>[],\n  colspan?: number\n): TableCell {\n  return TableCellSchema.parse({\n    type: AST_TYPES.TABLE_CELL,\n    colspan,\n    inlines\n  });\n}\n\nexport function isTableCell(value: unknown): value is TableCell {\n  return TableCellSchema.safeParse(value).success;\n}\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Table Row\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport const TableRowSchema = z.object({\n  type: z.literal(AST_TYPES.TABLE_ROW),\n  cells: z.array(TableCellSchema).min(1)\n});\n\nexport type TableRow = z.infer<typeof TableRowSchema>;\n\nexport function createTableRow(cells: TableCell[]): TableRow {\n  return TableRowSchema.parse({\n    type: AST_TYPES.TABLE_ROW,\n    cells\n  });\n}\n\nexport function isTableRow(value: unknown): value is TableRow {\n  return TableRowSchema.safeParse(value).success;\n}\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Table Block\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport const TableBlockSchema = z.object({\n  type: z.literal(AST_TYPES.TABLE_BLOCK),\n  cols: z.number().int().positive(),\n  rows: z.array(TableRowSchema).min(1)\n});\n\nexport type TableBlock = z.infer<typeof TableBlockSchema>;\n\nexport function createTableBlock(\n  cols: number,\n  rows: TableRow[]\n): TableBlock {\n  return TableBlockSchema.parse({\n    type: AST_TYPES.TABLE_BLOCK,\n    cols,\n    rows\n  });\n}\n\nexport function isTableBlock(value: unknown): value is TableBlock {\n  return TableBlockSchema.safeParse(value).success;\n}\n","/**\n * Vertical Operation AST Nodes\n *\n * Column-arithmetic block:\n *   VerticalOperationBlock → (VopRow | VopSeparator)[]\n *   VopRow → VopCell[]\n *   VopCell = digit | label | color | bold | highlight | input | empty\n */\n\nimport { z } from 'zod';\nimport { AST_TYPES } from '../constants';\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Operator\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport const VOP_OPERATORS = ['+', '-', '×', '÷', '='] as const;\nexport type VopOperator = (typeof VOP_OPERATORS)[number];\n\n/**\n * Normalize operator shorthand. Accepts `x`/`*` → `×`, `/` → `÷`, passes through `+`/`-`.\n */\nexport function normalizeVopOperator(raw: string): VopOperator {\n  const map: Record<string, VopOperator> = {\n    '+': '+',\n    '-': '-',\n    '−': '-',\n    '*': '×',\n    'x': '×',\n    'X': '×',\n    '×': '×',\n    '/': '÷',\n    '÷': '÷',\n    '=': '=',\n  };\n  const op = map[raw];\n  if (!op) throw new Error(`VERTICAL_OPERATION: unsupported op \"${raw}\"`);\n  return op;\n}\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Cell\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport const VopDigitCellSchema = z.object({\n  type: z.literal(AST_TYPES.VOP_CELL),\n  kind: z.literal('digit'),\n  value: z.string(),\n});\n\nexport const VopLabelCellSchema = z.object({\n  type: z.literal(AST_TYPES.VOP_CELL),\n  kind: z.literal('label'),\n  value: z.string(),\n});\n\nexport const VopInputCellSchema = z.object({\n  type: z.literal(AST_TYPES.VOP_CELL),\n  kind: z.literal('input'),\n  name: z.string().min(1),\n  digits: z.number().int().positive().default(1),\n  answer: z.union([z.string(), z.number()]).optional(),\n});\n\nexport const VopEmptyCellSchema = z.object({\n  type: z.literal(AST_TYPES.VOP_CELL),\n  kind: z.literal('empty'),\n});\n\nexport const VopColorCellSchema = z.object({\n  type: z.literal(AST_TYPES.VOP_CELL),\n  kind: z.literal('color'),\n  value: z.string(),\n  color: z.string(),\n});\n\nexport const VopBoldCellSchema = z.object({\n  type: z.literal(AST_TYPES.VOP_CELL),\n  kind: z.literal('bold'),\n  value: z.string(),\n});\n\nexport const VopHighlightCellSchema = z.object({\n  type: z.literal(AST_TYPES.VOP_CELL),\n  kind: z.literal('highlight'),\n  value: z.string(),\n});\n\nexport const VopCellSchema = z.discriminatedUnion('kind', [\n  VopDigitCellSchema,\n  VopLabelCellSchema,\n  VopColorCellSchema,\n  VopBoldCellSchema,\n  VopHighlightCellSchema,\n  VopInputCellSchema,\n  VopEmptyCellSchema,\n]);\n\nexport type VopDigitCell = z.infer<typeof VopDigitCellSchema>;\nexport type VopLabelCell = z.infer<typeof VopLabelCellSchema>;\nexport type VopInputCell = z.infer<typeof VopInputCellSchema>;\nexport type VopEmptyCell = z.infer<typeof VopEmptyCellSchema>;\nexport type VopColorCell = z.infer<typeof VopColorCellSchema>;\nexport type VopBoldCell = z.infer<typeof VopBoldCellSchema>;\nexport type VopHighlightCell = z.infer<typeof VopHighlightCellSchema>;\nexport type VopCell = z.infer<typeof VopCellSchema>;\n\nexport function createVopDigitCell(value: string): VopDigitCell {\n  return VopDigitCellSchema.parse({ type: AST_TYPES.VOP_CELL, kind: 'digit', value });\n}\n\nexport function createVopInputCell(\n  name: string,\n  digits = 1,\n  answer?: string | number\n): VopInputCell {\n  return VopInputCellSchema.parse({\n    type: AST_TYPES.VOP_CELL,\n    kind: 'input',\n    name,\n    digits,\n    answer,\n  });\n}\n\nexport function createVopLabelCell(value: string): VopLabelCell {\n  return VopLabelCellSchema.parse({ type: AST_TYPES.VOP_CELL, kind: 'label', value });\n}\n\nexport function createVopEmptyCell(): VopEmptyCell {\n  return VopEmptyCellSchema.parse({ type: AST_TYPES.VOP_CELL, kind: 'empty' });\n}\n\nexport function createVopColorCell(value: string, color: string): VopColorCell {\n  return VopColorCellSchema.parse({ type: AST_TYPES.VOP_CELL, kind: 'color', value, color });\n}\n\nexport function createVopBoldCell(value: string): VopBoldCell {\n  return VopBoldCellSchema.parse({ type: AST_TYPES.VOP_CELL, kind: 'bold', value });\n}\n\nexport function createVopHighlightCell(value: string): VopHighlightCell {\n  return VopHighlightCellSchema.parse({ type: AST_TYPES.VOP_CELL, kind: 'highlight', value });\n}\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Row\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport const VopRowSchema = z.object({\n  type: z.literal(AST_TYPES.VOP_ROW),\n  cells: z.array(VopCellSchema).min(1),\n  op: z.enum(VOP_OPERATORS).optional(),\n});\n\nexport type VopRow = z.infer<typeof VopRowSchema>;\n\nexport function createVopRow(cells: VopCell[], op?: VopOperator): VopRow {\n  return VopRowSchema.parse({ type: AST_TYPES.VOP_ROW, cells, op });\n}\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Carry Row\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport const VopCarryRowSchema = z.object({\n  type: z.literal(AST_TYPES.VOP_CARRY_ROW),\n  cells: z.array(VopCellSchema).min(1),\n});\n\nexport type VopCarryRow = z.infer<typeof VopCarryRowSchema>;\n\nexport function createVopCarryRow(cells: VopCell[]): VopCarryRow {\n  return VopCarryRowSchema.parse({ type: AST_TYPES.VOP_CARRY_ROW, cells });\n}\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Separator\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport const VopSeparatorSchema = z.object({\n  type: z.literal(AST_TYPES.VOP_SEPARATOR),\n});\n\nexport type VopSeparator = z.infer<typeof VopSeparatorSchema>;\n\nexport function createVopSeparator(): VopSeparator {\n  return VopSeparatorSchema.parse({ type: AST_TYPES.VOP_SEPARATOR });\n}\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Block\n// ═══════════════════════════════════════════════════════════════════════════\n\nconst VopBlockItemSchema = z.union([VopRowSchema, VopCarryRowSchema, VopSeparatorSchema]);\nexport type VopBlockItem = z.infer<typeof VopBlockItemSchema>;\n\nexport const VerticalOperationBlockSchema = z.object({\n  type: z.literal(AST_TYPES.VERTICAL_OPERATION_BLOCK),\n  op: z.enum(VOP_OPERATORS).optional(),\n  items: z.array(VopBlockItemSchema).min(1),\n});\n\nexport type VerticalOperationBlock = z.infer<typeof VerticalOperationBlockSchema>;\n\nexport function createVerticalOperationBlock(\n  op: VopOperator | undefined,\n  items: VopBlockItem[]\n): VerticalOperationBlock {\n  return VerticalOperationBlockSchema.parse({\n    type: AST_TYPES.VERTICAL_OPERATION_BLOCK,\n    op,\n    items,\n  });\n}\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Type Guards\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport function isVopCell(value: unknown): value is VopCell {\n  return VopCellSchema.safeParse(value).success;\n}\n\nexport function isVopRow(value: unknown): value is VopRow {\n  return VopRowSchema.safeParse(value).success;\n}\n\nexport function isVopCarryRow(value: unknown): value is VopCarryRow {\n  return VopCarryRowSchema.safeParse(value).success;\n}\n\nexport function isVopSeparator(value: unknown): value is VopSeparator {\n  return VopSeparatorSchema.safeParse(value).success;\n}\n\nexport function isVerticalOperationBlock(value: unknown): value is VerticalOperationBlock {\n  return VerticalOperationBlockSchema.safeParse(value).success;\n}\n","/**\n * Shared Matcher Item types\n *\n * Used by both MATCHER and PAIR_MATCHER widgets.\n * DisplayInlineNode — the set of inline nodes allowed inside a matcher card (display-only).\n * MatcherItem       — a single card with an id and inline content.\n */\n\nimport { z } from 'zod';\nimport {\n  FreeTextInlineSchema,\n  SpaceInlineSchema,\n  HighlightedTextInlineSchema,\n  ColorTextInlineSchema,\n  BoldTextInlineSchema,\n  FractionInlineSchema,\n  ImageInlineSchema,\n  VisualFractionInlineSchema,\n} from './inline';\nimport { AST_TYPES } from '../constants';\n\n/** Fraction restricted to display mode — both numerator and denominator required. */\nconst DisplayFractionInlineSchema = FractionInlineSchema.refine(\n  f => f.numerator !== undefined && f.denominator !== undefined,\n  { message: 'FRACTION inside MATCHER ITEM must be in display mode (both numerator and denominator required)' },\n);\n\n/**\n * VisualFraction restricted to display mode — answer must be empty.\n * Interactive fractions (answer ≠ []) are not allowed inside a Matcher card.\n */\nconst DisplayVisualFractionInlineSchema = VisualFractionInlineSchema.refine(\n  vf => vf.answer.length === 0,\n  { message: 'VISUAL_FRACTION inside MATCHER ITEM must be display-only (answer must be empty: answer=[])' },\n);\n\nexport const DisplayInlineNodeSchema = z.union([\n  FreeTextInlineSchema,\n  SpaceInlineSchema,\n  HighlightedTextInlineSchema,\n  ColorTextInlineSchema,\n  BoldTextInlineSchema,\n  DisplayFractionInlineSchema,\n  ImageInlineSchema,\n  DisplayVisualFractionInlineSchema,\n]);\n\nexport type DisplayInlineNode = z.infer<typeof DisplayInlineNodeSchema>;\n\nexport const MatcherItemSchema = z.object({\n  type: z.literal(AST_TYPES.MATCHER_ITEM),\n  itemId: z\n    .string()\n    .min(1)\n    .regex(/^[^|]+$/, { message: \"itemId cannot contain '|' (reserved for validation encoding)\" }),\n  inlines: z.array(DisplayInlineNodeSchema),\n});\n\nexport type MatcherItem = z.infer<typeof MatcherItemSchema>;\n\nexport function createMatcherItem(itemId: string, inlines: DisplayInlineNode[]): MatcherItem {\n  return MatcherItemSchema.parse({ type: AST_TYPES.MATCHER_ITEM, itemId, inlines });\n}\n\nexport function isMatcherItem(value: unknown): value is MatcherItem {\n  return MatcherItemSchema.safeParse(value).success;\n}\n","/**\n * Matcher AST Nodes\n *\n * Hierarchy:\n *   MatcherBlock\n *     └─ MatcherRow[]\n *          └─ MatcherItem[]        ← display-only, no inputs allowed\n *               └─ DisplayInlineNode[]\n *     └─ answers: string[][]       ← unordered groups of itemIds\n *\n * Invariants enforced by the schema:\n *   1. itemIds are globally unique across all rows\n *   2. Every itemId referenced in `answers` is declared in a row\n *   3. No itemId appears in more than one answer group\n *   4. Every answer group contains at least 1 itemId\n */\n\nimport { z } from 'zod';\nimport {\n  MatcherItemSchema,\n  MatcherItem,\n} from './matcher-item';\nimport { AST_TYPES } from '../constants';\n\n// Matcher Row\n\nexport const MatcherRowSchema = z.object({\n  type: z.literal(AST_TYPES.MATCHER_ROW),\n\n  /** At least one item per row */\n  items: z.array(MatcherItemSchema).min(1),\n});\n\nexport type MatcherRow = z.infer<typeof MatcherRowSchema>;\n\nexport function createMatcherRow(items: MatcherItem[]): MatcherRow {\n  return MatcherRowSchema.parse({ type: AST_TYPES.MATCHER_ROW, items });\n}\n\nexport function isMatcherRow(value: unknown): value is MatcherRow {\n  return MatcherRowSchema.safeParse(value).success;\n}\n\n// Matcher Block\n\nexport const MatcherBlockSchema = z\n  .object({\n    type: z.literal(AST_TYPES.MATCHER_BLOCK),\n    name: z.string().min(1),\n\n    /** Optional palette of colors for the renderer (one per answer group) */\n    colors: z.array(z.string()).optional(),\n\n    /** At least one row required */\n    rows: z.array(MatcherRowSchema).min(1),\n    answers: z.array(z.array(z.string().min(1)).min(1)).min(1),\n  })\n  .superRefine((data, ctx) => {\n    const declaredIds = collectDeclaredItemIds(data, ctx);\n    validateAnswerReferences(data, declaredIds, ctx);\n    validateAnswerUniqueness(data, ctx);\n  });\n\nexport type MatcherBlock = z.infer<typeof MatcherBlockSchema>;\n\n// superRefine helpers\n\n/**\n * Invariant 1 — itemIds are globally unique across all rows.\n *\n * Returns the set of all valid declared itemIds so subsequent validators can\n * re-use it without rescanning the rows.\n */\nfunction collectDeclaredItemIds(\n  data: z.infer<typeof MatcherBlockSchema>,\n  ctx: z.RefinementCtx,\n): Set<string> {\n  const declared = new Set<string>();\n\n  data.rows.forEach((row, rowIndex) => {\n    row.items.forEach((item, itemIndex) => {\n      if (declared.has(item.itemId)) {\n        ctx.addIssue({\n          code: z.ZodIssueCode.custom,\n          message: `Duplicate itemId \"${item.itemId}\" — each item must have a unique id across all rows`,\n          path: ['rows', rowIndex, 'items', itemIndex, 'itemId'],\n        });\n      } else {\n        declared.add(item.itemId);\n      }\n    });\n  });\n\n  return declared;\n}\n\n/**\n * Invariant 2 — every itemId referenced in `answers` is declared in a row.\n */\nfunction validateAnswerReferences(\n  data: z.infer<typeof MatcherBlockSchema>,\n  declaredIds: Set<string>,\n  ctx: z.RefinementCtx,\n): void {\n  data.answers.forEach((group, groupIndex) => {\n    group.forEach((id, idIndex) => {\n      if (!declaredIds.has(id)) {\n        ctx.addIssue({\n          code: z.ZodIssueCode.custom,\n          message: `answers[${groupIndex}][${idIndex}]: itemId \"${id}\" is not declared in any ROW`,\n          path: ['answers', groupIndex, idIndex],\n        });\n      }\n    });\n  });\n}\n\n/**\n * Invariant 3 — no itemId appears in more than one answer group.\n *\n * Checked globally across all groups (not just within a single group).\n */\nfunction validateAnswerUniqueness(\n  data: z.infer<typeof MatcherBlockSchema>,\n  ctx: z.RefinementCtx,\n): void {\n  const seen = new Set<string>();\n\n  data.answers.forEach((group, groupIndex) => {\n    group.forEach((id, idIndex) => {\n      if (seen.has(id)) {\n        ctx.addIssue({\n          code: z.ZodIssueCode.custom,\n          message: `answers[${groupIndex}][${idIndex}]: itemId \"${id}\" appears in more than one answer group`,\n          path: ['answers', groupIndex, idIndex],\n        });\n      } else {\n        seen.add(id);\n      }\n    });\n  });\n}\n\n// Factory and type guard\nexport function createMatcherBlock(\n  name: string,\n  rows: MatcherRow[],\n  answers: string[][],\n  colors?: string[],\n): MatcherBlock {\n  return MatcherBlockSchema.parse({ type: AST_TYPES.MATCHER_BLOCK, name, rows, answers, colors });\n}\n\nexport function isMatcherBlock(value: unknown): value is MatcherBlock {\n  return MatcherBlockSchema.safeParse(value).success;\n}\n","/**\n * PairMatcher AST Nodes\n *\n * Hierarchy:\n *   PairMatcherBlock\n *     ├─ topItems: MatcherItem[]     ← items in the TOP row\n *     ├─ bottomItems: MatcherItem[]  ← items in the BOTTOM row\n *     └─ answers: [string, string][] ← each pair is [topId, bottomId]\n *\n * Invariants enforced by the schema:\n *   1. itemIds are globally unique across top and bottom\n *   2. Every topId in an answer pair must appear in topItems\n *   3. Every bottomId in an answer pair must appear in bottomItems\n *   4. No id appears in more than one answer pair (same position)\n */\n\nimport { z } from 'zod';\nimport { MatcherItemSchema, MatcherItem } from './matcher-item';\nimport { AST_TYPES } from '../constants';\n\nexport const PairMatcherBlockSchema = z\n  .object({\n    type: z.literal(AST_TYPES.PAIR_MATCHER_BLOCK),\n    name: z.string().min(1),\n\n    /** Items in the top row — at least one required */\n    topItems: z.array(MatcherItemSchema).min(1),\n\n    /** Items in the bottom row — at least one required */\n    bottomItems: z.array(MatcherItemSchema).min(1),\n\n    /**\n     * Each answer pair is [topId, bottomId].\n     * At least one pair is required.\n     */\n    answers: z\n      .array(z.tuple([z.string().min(1), z.string().min(1)]))\n      .min(1),\n  })\n  .superRefine((data, ctx) => {\n    // Single pass: build a registry of every declared id with its origin.\n    // Catches within-section duplicates and cross-section collisions at once.\n    type IdOrigin = { section: 'topItems' | 'bottomItems'; index: number };\n    const idRegistry = new Map<string, IdOrigin>();\n\n    const sections = [\n      { key: 'topItems' as const, items: data.topItems },\n      { key: 'bottomItems' as const, items: data.bottomItems },\n    ];\n\n    for (const { key, items } of sections) {\n      for (let i = 0; i < items.length; i++) {\n        const { itemId } = items[i]!;\n        const existing = idRegistry.get(itemId);\n        if (existing) {\n          const isCrossSection = existing.section !== key;\n          ctx.addIssue({\n            code: z.ZodIssueCode.custom,\n            message: isCrossSection\n              ? `itemId \"${itemId}\" appears in both TOP and BOTTOM — ids must be globally unique`\n              : `Duplicate itemId \"${itemId}\" in ${key === 'topItems' ? 'TOP' : 'BOTTOM'} section`,\n            path: [key, i, 'itemId'],\n          });\n        } else {\n          idRegistry.set(itemId, { section: key, index: i });\n        }\n      }\n    }\n\n    // Derive lookup sets for answer validation from the registry.\n    const topIds    = new Set(data.topItems.map(it => it.itemId));\n    const bottomIds = new Set(data.bottomItems.map(it => it.itemId));\n\n    // Single pass over answers: check references and per-position uniqueness.\n    const usedTopIds    = new Set<string>();\n    const usedBottomIds = new Set<string>();\n\n    data.answers.forEach(([topId, bottomId], i) => {\n      if (!topIds.has(topId)) {\n        ctx.addIssue({\n          code: z.ZodIssueCode.custom,\n          message: `Answer pair [${topId}, ${bottomId}]: \"${topId}\" is not declared in TOP section`,\n          path: ['answers', i, 0],\n        });\n      }\n      if (!bottomIds.has(bottomId)) {\n        ctx.addIssue({\n          code: z.ZodIssueCode.custom,\n          message: `Answer pair [${topId}, ${bottomId}]: \"${bottomId}\" is not declared in BOTTOM section`,\n          path: ['answers', i, 1],\n        });\n      }\n\n      if (usedTopIds.has(topId)) {\n        ctx.addIssue({\n          code: z.ZodIssueCode.custom,\n          message: `topId \"${topId}\" appears in more than one answer pair`,\n          path: ['answers', i, 0],\n        });\n      } else {\n        usedTopIds.add(topId);\n      }\n\n      if (usedBottomIds.has(bottomId)) {\n        ctx.addIssue({\n          code: z.ZodIssueCode.custom,\n          message: `bottomId \"${bottomId}\" appears in more than one answer pair`,\n          path: ['answers', i, 1],\n        });\n      } else {\n        usedBottomIds.add(bottomId);\n      }\n    });\n  });\n\nexport type PairMatcherBlock = z.infer<typeof PairMatcherBlockSchema>;\n\nexport function createPairMatcherBlock(\n  name: string,\n  topItems: MatcherItem[],\n  bottomItems: MatcherItem[],\n  answers: [string, string][],\n): PairMatcherBlock {\n  return PairMatcherBlockSchema.parse({\n    type: AST_TYPES.PAIR_MATCHER_BLOCK,\n    name,\n    topItems,\n    bottomItems,\n    answers,\n  });\n}\n\nexport function isPairMatcherBlock(value: unknown): value is PairMatcherBlock {\n  return PairMatcherBlockSchema.safeParse(value).success;\n}\n","/**\n * Tool AST Nodes\n *\n * Tools are STANDALONE interactive elements (NOT inline):\n * - DragOptionsTool: Draggable buttons/options\n * - NumericKeypadTool: On-screen numeric keypad\n *\n * Tools appear OUTSIDE of lines as separate UI components.\n */\n\nimport { z } from 'zod';\nimport { AST_TYPES } from '../constants';\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Drag Options Tool\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Drag options tool schema - draggable buttons/options\n *\n * Common use cases:\n * - Comparison symbols: [\"<\", \">\", \"=\"]\n * - Yes/No: [\"نعم\", \"لا\"]\n * - Multiple choice: [\"A\", \"B\", \"C\", \"D\"]\n *\n * @example\n * {\n *   type: \"DragOptions\",\n *   options: [\"<\", \">\", \"=\"]\n * }\n */\nexport const DragOptionsToolSchema = z.object({\n  type: z.literal(AST_TYPES.DRAG_OPTIONS),\n  options: z.array(z.string()).min(1)\n});\n\nexport type DragOptionsTool = z.infer<typeof DragOptionsToolSchema>;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Numeric Keypad Tool\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Numeric keypad tool schema - on-screen number pad\n *\n * Use cases:\n * - Touch-friendly number entry\n * - Restricting input to numbers only\n * - Consistent cross-device experience\n *\n * @example\n * {\n *   type: \"NumericKeypad\",\n *   includeOperators: true\n * }\n */\nexport const NumericKeypadToolSchema = z.object({\n  type: z.literal(AST_TYPES.NUMERIC_KEYPAD),\n  includeOperators: z.boolean().optional(),\n  includeDecimal: z.boolean().optional(),\n  style: z.enum(['diamond', 'classic']).optional()\n});\n\nexport type NumericKeypadTool = z.infer<typeof NumericKeypadToolSchema>;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Geometry Tools\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport const RulerToolSchema = z.object({\n  type: z.literal(AST_TYPES.GEOMETRY_RULER),\n  size: z.number().optional().default(1)\n});\n\nexport type RulerTool = z.infer<typeof RulerToolSchema>;\n\nexport const ProtractorToolSchema = z.object({\n  type: z.literal(AST_TYPES.GEOMETRY_PROTRACTOR),\n  size: z.number().optional().default(1)\n});\n\nexport type ProtractorTool = z.infer<typeof ProtractorToolSchema>;\n\nexport const SetSquareToolSchema = z.object({\n  type: z.literal(AST_TYPES.GEOMETRY_SET_SQUARE),\n  size: z.number().optional().default(1)\n});\n\nexport type SetSquareTool = z.infer<typeof SetSquareToolSchema>;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Union Type\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Union of all tool types\n */\nexport const ToolNodeSchema = z.discriminatedUnion(\"type\", [\n  DragOptionsToolSchema,\n  NumericKeypadToolSchema,\n  RulerToolSchema,\n  ProtractorToolSchema,\n  SetSquareToolSchema\n]);\n\nexport type ToolNode = z.infer<typeof ToolNodeSchema>;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Factory Functions\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Create a drag options tool\n */\nexport function createDragOptions(options: string[]): DragOptionsTool {\n  return DragOptionsToolSchema.parse({\n    type: AST_TYPES.DRAG_OPTIONS,\n    options\n  });\n}\n\n/**\n * Create a numeric keypad tool\n */\nexport function createNumericKeypad(\n  includeOperators?: boolean,\n  includeDecimal?: boolean,\n  style?: 'diamond' | 'classic'\n): NumericKeypadTool {\n  return NumericKeypadToolSchema.parse({\n    type: AST_TYPES.NUMERIC_KEYPAD,\n    includeOperators,\n    includeDecimal,\n    style\n  });\n}\n\nexport function createRulerTool(size?: number): RulerTool {\n  return RulerToolSchema.parse({ type: AST_TYPES.GEOMETRY_RULER, size });\n}\n\nexport function createProtractorTool(size?: number): ProtractorTool {\n  return ProtractorToolSchema.parse({ type: AST_TYPES.GEOMETRY_PROTRACTOR, size });\n}\n\nexport function createSetSquareTool(size?: number): SetSquareTool {\n  return SetSquareToolSchema.parse({ type: AST_TYPES.GEOMETRY_SET_SQUARE, size });\n}\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Type Guards\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport function isDragOptions(value: unknown): value is DragOptionsTool {\n  return DragOptionsToolSchema.safeParse(value).success;\n}\n\nexport function isNumericKeypad(value: unknown): value is NumericKeypadTool {\n  return NumericKeypadToolSchema.safeParse(value).success;\n}\n\nexport function isRulerTool(value: unknown): value is RulerTool {\n  return RulerToolSchema.safeParse(value).success;\n}\n\nexport function isProtractorTool(value: unknown): value is ProtractorTool {\n  return ProtractorToolSchema.safeParse(value).success;\n}\n\nexport function isSetSquareTool(value: unknown): value is SetSquareTool {\n  return SetSquareToolSchema.safeParse(value).success;\n}\n\nexport function isToolNode(value: unknown): value is ToolNode {\n  return ToolNodeSchema.safeParse(value).success;\n}\n\n","/**\n * Radio Options AST Node\n *\n * A content block for single-choice radio button questions.\n * Appears in the content flow alongside lines and tables.\n * Participates in validation via name/answer.\n */\n\nimport { z } from 'zod';\nimport { AST_TYPES } from '../constants';\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Radio Options Block\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Radio options block schema - single-choice radio buttons\n *\n * @example\n * {\n *   type: \"RadioOptions\",\n *   name: \"q1\",\n *   options: [\"apple\", \"orange\", \"banana\"],\n *   answer: \"apple\"\n * }\n */\nexport const RadioOptionsBlockSchema = z.object({\n  type: z.literal(AST_TYPES.RADIO_OPTIONS),\n  name: z.string(),\n  options: z.array(z.string()).min(2),\n  answer: z.string()\n});\n\nexport type RadioOptionsBlock = z.infer<typeof RadioOptionsBlockSchema>;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Factory Function\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport function createRadioOptions(name: string, options: string[], answer: string): RadioOptionsBlock {\n  return RadioOptionsBlockSchema.parse({\n    type: AST_TYPES.RADIO_OPTIONS,\n    name,\n    options,\n    answer\n  });\n}\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Type Guard\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport function isRadioOptions(value: unknown): value is RadioOptionsBlock {\n  return RadioOptionsBlockSchema.safeParse(value).success;\n}\n","/**\n * Validation AST Nodes\n *\n * Validation defines how student answers are checked:\n * - SimpleValidation: Direct answer matching\n * - (Future) ExpressionValidation: Expression-based validation\n */\n\nimport { z } from 'zod';\nimport { AST_TYPES } from '../constants';\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Simple Validation\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Simple validation schema - direct answer matching\n * \n * Each input has a predetermined correct answer.\n * No complex expressions or calculations.\n * \n * @example\n * {\n *   type: \"SimpleValidation\"\n * }\n * \n * Note: Actual answer values are stored separately (in widget definitions)\n */\nexport const SimpleValidationSchema = z.object({\n  type: z.literal(AST_TYPES.SIMPLE_VALIDATION)\n});\n\nexport type SimpleValidation = z.infer<typeof SimpleValidationSchema>;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Expression Validation\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Expression validation schema - validates using a boolean expression\n * \n * The expression can reference widget values by name.\n * Example: \"a + b === 10\"\n * \n * @example\n * {\n *   type: \"ExpressionValidation\",\n *   expression: \"a + b === 10\"\n * }\n */\nexport const ExpressionValidationSchema = z.object({\n  type: z.literal(AST_TYPES.EXPRESSION_VALIDATION),\n  expression: z.string()\n});\n\nexport type ExpressionValidation = z.infer<typeof ExpressionValidationSchema>;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Mixed Validation\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Mixed validation schema — combines simple per-widget answers with an expression.\n *\n * Semantics:\n *   - Widgets that declare an `answer` are validated via simple equality.\n *   - Widgets referenced in `expression` but without `answer` are free variables.\n *   - The exercise is correct iff every simple-answer widget matches AND the\n *     boolean expression evaluates true with user inputs in scope.\n *\n * @example\n * {\n *   type: \"MixedValidation\",\n *   expression: \"x + y === a + b\"\n * }\n */\nexport const MixedValidationSchema = z.object({\n  type: z.literal(AST_TYPES.MIXED_VALIDATION),\n  expression: z.string().min(1)\n});\n\nexport type MixedValidation = z.infer<typeof MixedValidationSchema>;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Union Type\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Union of all validation types\n */\nexport const ValidationNodeSchema = z.discriminatedUnion(\"type\", [\n  SimpleValidationSchema,\n  ExpressionValidationSchema,\n  MixedValidationSchema\n]);\n\nexport type ValidationNode = z.infer<typeof ValidationNodeSchema>;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Factory Functions\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Create a simple validation node\n */\nexport function createSimpleValidation(): SimpleValidation {\n  return SimpleValidationSchema.parse({\n    type: AST_TYPES.SIMPLE_VALIDATION\n  });\n}\n\n/**\n * Create an expression validation node\n */\nexport function createExpressionValidation(expression: string): ExpressionValidation {\n  return ExpressionValidationSchema.parse({\n    type: AST_TYPES.EXPRESSION_VALIDATION,\n    expression\n  });\n}\n\n/**\n * Create a mixed validation node\n */\nexport function createMixedValidation(expression: string): MixedValidation {\n  return MixedValidationSchema.parse({\n    type: AST_TYPES.MIXED_VALIDATION,\n    expression\n  });\n}\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Type Guards\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport function isSimpleValidation(value: unknown): value is SimpleValidation {\n  return SimpleValidationSchema.safeParse(value).success;\n}\n\nexport function isExpressionValidation(value: unknown): value is ExpressionValidation {\n  return ExpressionValidationSchema.safeParse(value).success;\n}\n\nexport function isMixedValidation(value: unknown): value is MixedValidation {\n  return MixedValidationSchema.safeParse(value).success;\n}\n\nexport function isValidationNode(value: unknown): value is ValidationNode {\n  return ValidationNodeSchema.safeParse(value).success;\n}\n\n","/**\n * Exercise Document AST Node\n *\n * The root node representing a complete exercise:\n * Exercise = Question + Lines + Tools + Validation\n */\n\nimport { z } from 'zod';\nimport { TextBlockSchema, LineBlock } from './blocks';\nimport { LineBlockSchema } from './blocks';\nimport { NumberLineBlock, NumberLineBlockSchema } from './number-line';\nimport { TableBlock, TableBlockSchema } from './table';\nimport { RadioOptionsBlockSchema } from './radio-options';\nimport { MatcherBlock, MatcherBlockSchema } from './matcher';\nimport { PairMatcherBlock, PairMatcherBlockSchema } from './pair-matcher';\nimport { VerticalOperationBlockSchema } from './vertical-operation';\nimport { ToolNodeSchema } from './tools';\nimport { ValidationNodeSchema } from './validation';\nimport { AST_TYPES } from '../constants';\nimport type { InlineNode } from './inline';\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Content Block (LineBlock | TableBlock | RadioOptionsBlock)\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport const ContentBlockSchema = z.union([LineBlockSchema, TableBlockSchema, RadioOptionsBlockSchema, NumberLineBlockSchema, MatcherBlockSchema, PairMatcherBlockSchema, VerticalOperationBlockSchema]);\nexport type ContentBlock = z.infer<typeof ContentBlockSchema>;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Exercise Document\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Exercise document schema - the complete exercise structure\n *\n * Structure:\n * 1. Question: What the student should do\n * 2. Lines: Visual rows with inline elements\n * 3. Tools: Standalone interactive elements (optional)\n * 4. Validation: How to check answers\n *\n * @example\n * {\n *   type: \"ExerciseDocument\",\n *   question: {\n *     type: \"TextBlock\",\n *     value: \"أقارن كل عددين باستعمال الرمر المناسب\"\n *   },\n *   lines: [\n *     {\n *       type: \"LineBlock\",\n *       inlines: [\n *         { type: \"HighlightedText\", value: \"151 000\", highlight: [0, 3] },\n *         { type: \"InlineInput\", name: \"x\", length: 1 },\n *         { type: \"HighlightedText\", value: \"54 000\", highlight: [0, 3] }\n *       ]\n *     }\n *   ],\n *   tools: [\n *     { type: \"DragOptions\", options: [\"<\", \">\", \"=\"] }\n *   ],\n *   validation: {\n *     type: \"SimpleValidation\"\n *   }\n * }\n */\nexport const ExerciseDocumentSchema = z.object({\n  type: z.literal(AST_TYPES.EXERCISE_DOCUMENT),\n  question: TextBlockSchema.optional(),\n  lines: z.array(ContentBlockSchema),\n  tools: z.array(ToolNodeSchema).optional(),\n  validation: ValidationNodeSchema.optional()\n}).superRefine((doc, ctx) => {\n  const seen = new Set<string>();\n  const record = (name: string, path: (string | number)[]): void => {\n    if (seen.has(name)) {\n      ctx.addIssue({\n        code: z.ZodIssueCode.custom,\n        message: `Duplicate name \"${name}\" — widget/image names must be unique across the document`,\n        path,\n      });\n    } else {\n      seen.add(name);\n    }\n  };\n\n  const visitInlines = (inlines: InlineNode[], basePath: (string | number)[]): void => {\n    inlines.forEach((inline, i) => {\n      if (inline.type === AST_TYPES.INLINE_INPUT || inline.type === AST_TYPES.FRACTION || inline.type === AST_TYPES.IMAGE) {\n        record(inline.name, [...basePath, i, 'name']);\n      }\n    });\n  };\n\n  doc.lines.forEach((block, bi) => {\n    if (block.type === AST_TYPES.LINE_BLOCK) {\n      visitInlines((block as LineBlock).inlines, ['lines', bi, 'inlines']);\n    } else if (block.type === AST_TYPES.TABLE_BLOCK) {\n      (block as TableBlock).rows.forEach((row, ri) => {\n        row.cells.forEach((cell, ci) => {\n          visitInlines(cell.inlines, ['lines', bi, 'rows', ri, 'cells', ci, 'inlines']);\n        });\n      });\n    } else if (block.type === AST_TYPES.NUMBER_LINE_BLOCK) {\n      (block as NumberLineBlock).positions.forEach((pos, pi) => {\n        visitInlines(pos.inlines, ['lines', bi, 'positions', pi, 'inlines']);\n      });\n    } else if (block.type === AST_TYPES.MATCHER_BLOCK) {\n      const m = block as MatcherBlock;\n      record(m.name, ['lines', bi, 'name']);\n      m.rows.forEach((row, ri) => {\n        row.items.forEach((item, ii) => {\n          visitInlines(item.inlines as InlineNode[], ['lines', bi, 'rows', ri, 'items', ii, 'inlines']);\n        });\n      });\n    } else if (block.type === AST_TYPES.PAIR_MATCHER_BLOCK) {\n      const pm = block as PairMatcherBlock;\n      record(pm.name, ['lines', bi, 'name']);\n      [...pm.topItems, ...pm.bottomItems].forEach((item, ii) => {\n        visitInlines(item.inlines as InlineNode[], ['lines', bi, 'items', ii, 'inlines']);\n      });\n    } else if (block.type === AST_TYPES.RADIO_OPTIONS) {\n      record(block.name, ['lines', bi, 'name']);\n    }\n  });\n});\n\nexport type ExerciseDocument = z.infer<typeof ExerciseDocumentSchema>;\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Factory Function\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Create an exercise document\n */\nexport function createExerciseDocument(\n  question: z.infer<typeof TextBlockSchema> | undefined,\n  lines: ContentBlock[],\n  validation?: z.infer<typeof ValidationNodeSchema>,\n  tools?: z.infer<typeof ToolNodeSchema>[]\n): ExerciseDocument {\n  return ExerciseDocumentSchema.parse({\n    type: AST_TYPES.EXERCISE_DOCUMENT,\n    question,\n    lines,\n    tools,\n    validation\n  });\n}\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Type Guard\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport function isExerciseDocument(value: unknown): value is ExerciseDocument {\n  return ExerciseDocumentSchema.safeParse(value).success;\n}\n","/**\n * CST to AST Visitor for Natural DSL\n *\n * Transforms Chevrotain's CST into our Zod-validated AST\n */\nimport { IToken, CstNode, CstChildrenDictionary } from 'chevrotain';\nimport { parser } from './grammar';\nimport {\n  createFreeText,\n  createSpace,\n  createHighlightedText,\n  createColorText,\n  createBoldText,\n  createStringInput,\n  createNumericInput,\n  createFraction,\n  createImage,\n  createVisualFraction,\n  createInlineDragOption,\n  createDisplayClock,\n  createInteractiveClock,\n  CLOCK_TIME_REGEX,\n  CLOCK_TYPES,\n  CLOCK_MODES,\n  CLOCK_FORMATS,\n  ClockType,\n  ClockMode,\n  ClockFormat,\n  InlineNode,\n  type VisualFractionInline,\n  type VisualFractionShape,\n  type ColorTextInline,\n  type BoldTextInline,\n  type HighlightedTextInline,\n} from '../ast/inline';\nimport {\n  createTextBlock,\n  createLineBlock,\n  TextBlock,\n  LineBlock\n} from '../ast/blocks';\nimport {\n  createNumberLineBlock,\n  createNumberLinePosition,\n  createNumberLineCounter,\n  createNumberLineHighlight,\n  createNumberLineCursor,\n  createNumberLineArrow,\n  NumberLineBlock,\n  NumberLinePosition,\n  NumberLineCounter,\n  NumberLineHighlight,\n  NumberLineCursor,\n  NumberLineArrow\n} from '../ast/number-line';\nimport type { NumberLineHighlightColor, NumberLineDragMode } from '../constants/number-line-constants';\nimport {\n  createTableBlock,\n  createTableRow,\n  createTableCell,\n  TableBlock,\n  TableRow,\n  TableCell\n} from '../ast/table';\nimport {\n  createVerticalOperationBlock,\n  createVopRow,\n  createVopCarryRow,\n  createVopSeparator,\n  createVopDigitCell,\n  createVopLabelCell,\n  createVopInputCell,\n  createVopEmptyCell,\n  createVopColorCell,\n  createVopBoldCell,\n  createVopHighlightCell,\n  normalizeVopOperator,\n  VerticalOperationBlock,\n  VopBlockItem,\n  VopRow,\n  VopCarryRow,\n  VopSeparator,\n  VopCell\n} from '../ast/vertical-operation';\nimport type { ContentBlock } from '../ast/document';\nimport {\n  createMatcherBlock,\n  createMatcherRow,\n  MatcherBlock,\n  MatcherRow,\n} from '../ast/matcher';\nimport {\n  createMatcherItem,\n  MatcherItem,\n  DisplayInlineNode,\n} from '../ast/matcher-item';\nimport {\n  createPairMatcherBlock,\n  PairMatcherBlock,\n} from '../ast/pair-matcher';\nimport {\n  createDragOptions,\n  createNumericKeypad,\n  createRulerTool,\n  createProtractorTool,\n  createSetSquareTool,\n  ToolNode\n} from '../ast/tools';\nimport {\n  createRadioOptions,\n  RadioOptionsBlock\n} from '../ast/radio-options';\nimport {\n  createSimpleValidation,\n  createExpressionValidation,\n  createMixedValidation,\n  ValidationNode\n} from '../ast/validation';\nimport {\n  createExerciseDocument,\n  ExerciseDocument\n} from '../ast/document';\nimport { NumberLineStyle, NumberLineLabels } from '../constants';\n\n/** Union of possible DSL parameter values */\ntype ParamValue = string | number | boolean | [number, number] | string[] | number[];\n\n// Get base visitor\nconst BaseCstVisitor = parser.getBaseCstVisitorConstructor();\n\n/**\n * Visitor that transforms CST nodes into AST nodes\n */\nclass NaturalDSLVisitor extends BaseCstVisitor {\n  constructor() {\n    super();\n    this.validateVisitor();\n  }\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Top-level Document\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  exerciseDocument(ctx: CstChildrenDictionary): ExerciseDocument {\n    const question: TextBlock | undefined = ctx.question\n      ? this.visit(ctx.question as CstNode[])\n      : undefined;\n    const contentBlocks: ContentBlock[] = ctx.contentBlock\n      ? (ctx.contentBlock as CstNode[]).map((cb) => this.visit(cb))\n      : [];\n    const tools: ToolNode[] = ctx.tool\n      ? (ctx.tool as CstNode[]).map((t) => this.visit(t))\n      : [];\n    const validation: ValidationNode | undefined = ctx.validation\n      ? this.visit(ctx.validation as CstNode[])\n      : undefined;\n\n    return createExerciseDocument(question, contentBlocks, validation, tools);\n  }\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Question Block\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  question(ctx: CstChildrenDictionary): TextBlock {\n    const valueToken = ctx.value![0] as IToken;\n    const value = this.extractString(valueToken.image);\n    return createTextBlock(value);\n  }\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Content Block\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  contentBlock(ctx: CstChildrenDictionary): ContentBlock {\n    if (ctx.table) return this.visit(ctx.table as CstNode[]);\n    if (ctx.radioButtons) return this.visit(ctx.radioButtons as CstNode[]);\n    if (ctx.numberLine) return this.visit(ctx.numberLine as CstNode[]);\n    if (ctx.pairMatcher) return this.visit(ctx.pairMatcher as CstNode[]);\n    if (ctx.matcher) return this.visit(ctx.matcher as CstNode[]);\n    if (ctx.verticalOperation) return this.visit(ctx.verticalOperation as CstNode[]);\n    if (ctx.line) return this.visit(ctx.line as CstNode[]);\n    throw new Error('Unknown content block');\n  }\n\n  radioButtons(ctx: CstChildrenDictionary): RadioOptionsBlock {\n    const params = this.visit(ctx.parameterList as CstNode[]);\n    const name = params.name as string;\n    const answer = params.answer as string;\n    const options = params.options as string[];\n    return createRadioOptions(name, options, answer);\n  }\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Table Block\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  table(ctx: CstChildrenDictionary): TableBlock {\n    const params = this.visit(ctx.parameterList as CstNode[]);\n    const cols = params.cols as number;\n    const rows: TableRow[] = (ctx.row as CstNode[]).map((r) => this.visit(r));\n    return createTableBlock(cols, rows);\n  }\n\n  row(ctx: CstChildrenDictionary): TableRow {\n    const cells: TableCell[] = (ctx.cell as CstNode[]).map((c) => this.visit(c));\n    return createTableRow(cells);\n  }\n\n  cell(ctx: CstChildrenDictionary): TableCell {\n    const params = ctx.parameterList\n      ? this.visit(ctx.parameterList as CstNode[])\n      : {};\n    const colspan = params.colspan as number | undefined;\n    const inlines: InlineNode[] = ctx.inlineElement\n      ? (ctx.inlineElement as CstNode[]).map((elem) => this.visit(elem))\n      : [];\n    return createTableCell(inlines, colspan);\n  }\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Number Line Block\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  numberLine(ctx: CstChildrenDictionary): NumberLineBlock {\n    const params = this.visit(ctx.parameterList as CstNode[]);\n\n    if (params.min === undefined || params.max === undefined) {\n      throw new Error('NUMBER_LINE requires parameters: min and max');\n    }\n\n    const min        = Number(params.min);\n    const max        = Number(params.max);\n    const step       = params.step       !== undefined ? Number(params.step)       : undefined;\n    const minorTicks = params.minorTicks !== undefined ? Number(params.minorTicks) : undefined;\n    const style             = params.style          as NumberLineStyle  | undefined;\n    const labelVisibility  = params.labelVisibility as NumberLineLabels | undefined;\n    const dragMode         = params.dragMode        as NumberLineDragMode | undefined;\n\n    const positions: NumberLinePosition[] = ctx.position\n      ? (ctx.position as CstNode[]).map((p) => this.visit(p))\n      : [];\n\n    const rawCounters = ctx.counter as CstNode[] | undefined;\n    if (rawCounters && rawCounters.length > 1) {\n      throw new Error('NUMBER_LINE: only one COUNTER block is allowed');\n    }\n    const counter: NumberLineCounter | undefined = rawCounters\n      ? this.visit(rawCounters)\n      : undefined;\n\n    const highlights: NumberLineHighlight[] = ctx.highlight\n      ? (ctx.highlight as CstNode[]).map((h) => this.visit(h))\n      : [];\n\n    const cursors: NumberLineCursor[] = ctx.cursor\n      ? (ctx.cursor as CstNode[]).map((c) => this.visit(c))\n      : [];\n\n    const arrows: NumberLineArrow[] = ctx.arrow\n      ? (ctx.arrow as CstNode[]).map((a) => this.visit(a))\n      : [];\n\n    return createNumberLineBlock(min, max, positions, step, minorTicks, style, labelVisibility, counter, highlights, cursors.length > 0 ? cursors : undefined, arrows.length > 0 ? arrows : undefined, dragMode);\n  }\n\n  position(ctx: CstChildrenDictionary): NumberLinePosition {\n    const params = this.visit(ctx.parameterList as CstNode[]);\n\n    if (params.value === undefined) {\n      throw new Error('POSITION requires parameter: value');\n    }\n\n    const value = Number(params.value);\n\n    const inlines: InlineNode[] = ctx.inlineElement\n      ? (ctx.inlineElement as CstNode[]).map((elem) => this.visit(elem))\n      : [];\n\n    return createNumberLinePosition(value, inlines);\n  }\n\n  counter(ctx: CstChildrenDictionary): NumberLineCounter {\n    const params = this.visit(ctx.parameterList as CstNode[]);\n\n    if (params.max === undefined) {\n      throw new Error('COUNTER requires parameter: max');\n    }\n\n    const max          = Number(params.max);\n    const min          = params.min     !== undefined ? Number(params.min)     : undefined;\n    const defaultValue = params.default !== undefined ? Number(params.default) : undefined;\n    const name         = params.name    as string | undefined;\n    const answer       = params.answer  !== undefined ? Number(params.answer)  : undefined;\n\n    return createNumberLineCounter(max, min, defaultValue, name, answer);\n  }\n\n  highlight(ctx: CstChildrenDictionary): NumberLineHighlight {\n    const params = this.visit(ctx.parameterList as CstNode[]);\n\n    if (params.from === undefined || params.to === undefined) {\n      throw new Error('HIGHLIGHT requires parameters: from and to');\n    }\n\n    const from  = Number(params.from);\n    const to    = Number(params.to);\n    const color = params.color as NumberLineHighlightColor | undefined;\n    const label = params.label as string | undefined;\n\n    return createNumberLineHighlight(from, to, color, label);\n  }\n\n  cursor(ctx: CstChildrenDictionary): NumberLineCursor {\n    const params = this.visit(ctx.parameterList as CstNode[]);\n\n    if (params.answer === undefined) {\n      throw new Error('CURSOR requires parameter: answer');\n    }\n\n    const answer    = Number(params.answer);\n    const value     = params.value     !== undefined ? Number(params.value)     : undefined;\n    const color     = params.color     as string | undefined;\n    const fillRange = params.fillRange !== undefined\n      ? params.fillRange === true || params.fillRange === 'true'\n      : undefined;\n    const label     = params.label     as string | undefined;\n\n    return createNumberLineCursor(answer, value, color, fillRange, label);\n  }\n\n  arrow(ctx: CstChildrenDictionary): NumberLineArrow {\n    const params = this.visit(ctx.parameterList as CstNode[]);\n\n    if (params.from === undefined || params.to === undefined) {\n      throw new Error('ARROW requires parameters: from and to');\n    }\n\n    const from  = Number(params.from);\n    const to    = Number(params.to);\n    const color = params.color as string | undefined;\n    const inlines: InlineNode[] = ctx.inlineElement\n      ? (ctx.inlineElement as CstNode[]).map((elem) => this.visit(elem))\n      : [];\n\n    return createNumberLineArrow(from, to, inlines, color);\n  }\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Matcher Block\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  matcher(ctx: CstChildrenDictionary): MatcherBlock {\n    const params = this.visit(ctx.parameterList as CstNode[]);\n    const name = params.name as string;\n    const colors = params.colors as string[] | undefined;\n    const rows: MatcherRow[] = (ctx.matcherRow as CstNode[]).map(r => this.visit(r));\n    const answers: string[][] = this.visit(ctx.matcherAnswers as CstNode[]);\n    return createMatcherBlock(name, rows, answers, colors);\n  }\n\n  matcherRow(ctx: CstChildrenDictionary): MatcherRow {\n    const items: MatcherItem[] = (ctx.matcherItem as CstNode[]).map(i => this.visit(i));\n    return createMatcherRow(items);\n  }\n\n  matcherItem(ctx: CstChildrenDictionary): MatcherItem {\n    const params = this.visit(ctx.parameterList as CstNode[]);\n    const itemId = params.id as string;\n    // Grammar gates out `inlineInput` inside ITEM (displayOnly=true), so every\n    // visited node is a DisplayInlineNode; AST-level DisplayInlineNodeSchema\n    // enforces the invariant as a safety net.\n    const inlines: DisplayInlineNode[] = ctx.inlineElement\n      ? (ctx.inlineElement as CstNode[]).map(e => this.visit(e) as DisplayInlineNode)\n      : [];\n    return createMatcherItem(itemId, inlines);\n  }\n\n  matcherAnswers(ctx: CstChildrenDictionary): string[][] {\n    return ctx.matcherAnswerSet\n      ? (ctx.matcherAnswerSet as CstNode[]).map(s => this.visit(s))\n      : [];\n  }\n\n  matcherAnswerSet(ctx: CstChildrenDictionary): string[] {\n    return ctx.ids\n      ? (ctx.ids as IToken[]).map(t => t.image)\n      : [];\n  }\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Pair Matcher Block\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  pairMatcher(ctx: CstChildrenDictionary): PairMatcherBlock {\n    const params = this.visit(ctx.parameterList as CstNode[]);\n    const name = params.name as string;\n\n    const topItems: MatcherItem[] = this.visit(ctx.pairMatcherTopSection as CstNode[]);\n    const bottomItems: MatcherItem[] = this.visit(ctx.pairMatcherBottomSection as CstNode[]);\n    const rawAnswers: string[][] = this.visit(ctx.matcherAnswers as CstNode[]);\n    return createPairMatcherBlock(name, topItems, bottomItems, rawAnswers as [string, string][]);\n  }\n\n  pairMatcherTopSection(ctx: CstChildrenDictionary): MatcherItem[] {\n    return this.visitMatcherItemList(ctx);\n  }\n\n  pairMatcherBottomSection(ctx: CstChildrenDictionary): MatcherItem[] {\n    return this.visitMatcherItemList(ctx);\n  }\n\n  /**\n   * Maps `ctx.matcherItem` CST nodes to MatcherItem AST nodes.\n   * Shared by pairMatcherTopSection and pairMatcherBottomSection because their\n   * grammar rules are structurally identical — both are `matcherItem+` lists\n   * wrapped in a labelled section keyword.\n   */\n  private visitMatcherItemList(ctx: CstChildrenDictionary): MatcherItem[] {\n    return ctx.matcherItem\n      ? (ctx.matcherItem as CstNode[]).map(i => this.visit(i))\n      : [];\n  }\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Vertical Operation Block\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  verticalOperation(ctx: CstChildrenDictionary): VerticalOperationBlock {\n    const params = ctx.parameterList ? this.visit(ctx.parameterList as CstNode[]) : {};\n    const op = params.op !== undefined ? normalizeVopOperator(String(params.op)) : undefined;\n\n    // Rebuild source order via CST startOffset so rows + seps interleave correctly.\n    const tagged: Array<{ offset: number; node: VopBlockItem }> = [];\n    (ctx.vopRow as CstNode[] | undefined)?.forEach((cstNode, i) => {\n      tagged.push({ offset: cstNode.location?.startOffset ?? i, node: this.visit(cstNode) });\n    });\n    (ctx.vopCarry as CstNode[] | undefined)?.forEach((cstNode, i) => {\n      tagged.push({ offset: cstNode.location?.startOffset ?? i, node: this.visit(cstNode) });\n    });\n    (ctx.vopSep as CstNode[] | undefined)?.forEach((cstNode, i) => {\n      tagged.push({ offset: cstNode.location?.startOffset ?? i, node: this.visit(cstNode) });\n    });\n    tagged.sort((a, b) => a.offset - b.offset);\n    const items = tagged.map((t) => t.node);\n\n    return createVerticalOperationBlock(op, items);\n  }\n\n  vopRow(ctx: CstChildrenDictionary): VopRow {\n    const cells: VopCell[] = ctx.vopCell\n      ? (ctx.vopCell as CstNode[]).map((c) => this.visit(c))\n      : [];\n    const rowParams = ctx.parameterList ? this.visit(ctx.parameterList as CstNode[]) : {};\n    const op = rowParams.op !== undefined ? normalizeVopOperator(String(rowParams.op)) : undefined;\n    return createVopRow(cells, op);\n  }\n\n  vopCarry(ctx: CstChildrenDictionary): VopCarryRow {\n    const cells: VopCell[] = ctx.vopCell\n      ? (ctx.vopCell as CstNode[]).map((c) => this.visit(c))\n      : [];\n    return createVopCarryRow(cells);\n  }\n\n  vopSep(_ctx: CstChildrenDictionary): VopSeparator {\n    return createVopSeparator();\n  }\n\n  vopCell(ctx: CstChildrenDictionary): VopCell {\n    if (ctx.NumberLiteral) {\n      const token = ctx.NumberLiteral[0] as IToken;\n      return createVopDigitCell(token.image);\n    }\n    if (ctx.StringLiteral) {\n      const token = ctx.StringLiteral[0] as IToken;\n      const value = token.image.slice(1, -1); // strip quotes\n      return createVopLabelCell(value);\n    }\n    if (ctx.Underscore) {\n      return createVopEmptyCell();\n    }\n    if (ctx.INPUT) {\n      const params = this.visit(ctx.parameterList as CstNode[]);\n      const name = params.name as string | undefined;\n      if (!name) {\n        throw new Error('INPUT inside VERTICAL_OPERATION requires parameter: name');\n      }\n      const digits = params.digits !== undefined ? Number(params.digits) : 1;\n      const answer = params.answer as string | number | undefined;\n      return createVopInputCell(name, digits, answer);\n    }\n    if (ctx.colorText) {\n      const inline = this.visit(ctx.colorText as CstNode[]) as ColorTextInline;\n      return createVopColorCell(inline.value, inline.color);\n    }\n    if (ctx.boldText) {\n      const inline = this.visit(ctx.boldText as CstNode[]) as BoldTextInline;\n      return createVopBoldCell(inline.value);\n    }\n    if (ctx.textHighlighter) {\n      const inline = this.visit(ctx.textHighlighter as CstNode[]) as HighlightedTextInline;\n      return createVopHighlightCell(inline.value);\n    }\n    throw new Error('Unknown vopCell');\n  }\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Line Block\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  line(ctx: CstChildrenDictionary): LineBlock {\n    const inlines: InlineNode[] = (ctx.inlineElement as CstNode[]).map((elem) => this.visit(elem));\n    return createLineBlock(inlines);\n  }\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Inline Elements\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  inlineElement(ctx: CstChildrenDictionary): InlineNode {\n    if (ctx.FreeText) {\n      const token = ctx.FreeText[0] as IToken;\n      return createFreeText(token.image);\n    }\n\n    if (ctx.Identifier) {\n      const token = ctx.Identifier[0] as IToken;\n      return createFreeText(token.image);\n    }\n\n    if (ctx.NumberLiteral) {\n      const token = ctx.NumberLiteral[0] as IToken;\n      return createFreeText(token.image);\n    }\n\n    if (ctx.StringLiteral) {\n      const token = ctx.StringLiteral[0] as IToken;\n      // Remove quotes from string\n      const value = token.image.slice(1, -1);\n      return createFreeText(value);\n    }\n\n    if (ctx.Space) {\n      // Space token (one or more spaces becomes a single Space element)\n      return createSpace();\n    }\n\n    // Operators\n    if (ctx.Plus) {\n      const token = ctx.Plus[0] as IToken;\n      return createFreeText(token.image);\n    }\n\n    if (ctx.Minus) {\n      const token = ctx.Minus[0] as IToken;\n      return createFreeText(token.image);\n    }\n\n    if (ctx.Multiply) {\n      const token = ctx.Multiply[0] as IToken;\n      return createFreeText(token.image);\n    }\n\n    if (ctx.Divide) {\n      const token = ctx.Divide[0] as IToken;\n      return createFreeText(token.image);\n    }\n\n    if (ctx.Equals) {\n      const token = ctx.Equals[0] as IToken;\n      return createFreeText(token.image);\n    }\n\n    if (ctx.LessThan) {\n      const token = ctx.LessThan[0] as IToken;\n      return createFreeText(token.image);\n    }\n\n    if (ctx.GreaterThan) {\n      const token = ctx.GreaterThan[0] as IToken;\n      return createFreeText(token.image);\n    }\n\n    if (ctx.Question) {\n      const token = ctx.Question[0] as IToken;\n      return createFreeText(token.image);\n    }\n\n    // Punctuation\n    if (ctx.Comma) {\n      const token = ctx.Comma[0] as IToken;\n      return createFreeText(token.image);\n    }\n\n    // Parentheses\n    if (ctx.LParen) {\n      const token = ctx.LParen[0] as IToken;\n      return createFreeText(token.image);\n    }\n\n    if (ctx.RParen) {\n      const token = ctx.RParen[0] as IToken;\n      return createFreeText(token.image);\n    }\n\n    if (ctx.textHighlighter) {\n      return this.visit(ctx.textHighlighter as CstNode[]);\n    }\n\n    if (ctx.colorText) {\n      return this.visit(ctx.colorText as CstNode[]);\n    }\n\n    if (ctx.boldText) {\n      return this.visit(ctx.boldText as CstNode[]);\n    }\n\n    if (ctx.fraction) {\n      return this.visit(ctx.fraction as CstNode[]);\n    }\n\n    if (ctx.image) {\n      return this.visit(ctx.image as CstNode[]);\n    }\n\n    if (ctx.visualFraction) {\n      return this.visit(ctx.visualFraction as CstNode[]);\n    }\n\n    if (ctx.inlineInput) {\n      return this.visit(ctx.inlineInput as CstNode[]);\n    }\n\n    if (ctx.inlineDragOption) {\n      return this.visit(ctx.inlineDragOption as CstNode[]);\n    }\n\n    if (ctx.clock) {\n      return this.visit(ctx.clock as CstNode[]);\n    }\n\n    throw new Error('Unknown inline element');\n  }\n\n  // Manual checks below duplicate what ClockInlineSchema.parse() enforces, but produce\n  // DSL-friendly error messages (e.g. 'CLOCK: value is required') instead of Zod paths.\n  clock(ctx: CstChildrenDictionary): InlineNode {\n    const params = this.visit(ctx.parameterList as CstNode[]) as Record<string, unknown>;\n\n    const mode = (params.mode ?? 'display') as ClockMode;\n    if (!(CLOCK_MODES as readonly string[]).includes(mode)) {\n      throw new Error(`CLOCK: mode must be one of ${CLOCK_MODES.join(', ')} (got \"${mode}\")`);\n    }\n\n    const clockType = params.type as ClockType;\n    if (!clockType) {\n      throw new Error('CLOCK: type is required (\"analog\" or \"digital\")');\n    }\n    if (!(CLOCK_TYPES as readonly string[]).includes(clockType)) {\n      throw new Error(`CLOCK: type must be one of ${CLOCK_TYPES.join(', ')} (got \"${clockType}\")`);\n    }\n\n    const value = params.value as string;\n    if (!value) {\n      throw new Error('CLOCK: value is required (\"HH:MM\" 24h format)');\n    }\n    if (!CLOCK_TIME_REGEX.test(value)) {\n      throw new Error(`CLOCK: value must be \"HH:MM\" in 24h format (got \"${value}\")`);\n    }\n\n    const format = params.format as ClockFormat | undefined;\n    if (format !== undefined && !(CLOCK_FORMATS as readonly string[]).includes(format)) {\n      throw new Error(`CLOCK: format must be one of ${CLOCK_FORMATS.join(', ')} (got \"${format}\")`);\n    }\n\n    const name = params.name as string | undefined;\n    const answer = params.answer as string | undefined;\n    const snap = params.snap as number | undefined;\n\n    if (mode === 'display') {\n      if (answer !== undefined) {\n        throw new Error('CLOCK: \"answer\" is only valid when mode=\"interactive\"');\n      }\n      if (snap !== undefined) {\n        throw new Error('CLOCK: \"snap\" is only valid when mode=\"interactive\"');\n      }\n      return createDisplayClock({ clockType, value, format, name });\n    }\n\n    // mode === 'interactive'\n    if (clockType !== 'analog') {\n      throw new Error('CLOCK: interactive mode requires type=\"analog\" (digital clocks cannot be interactive)');\n    }\n    if (answer === undefined) {\n      throw new Error('CLOCK: interactive mode requires \"answer\"');\n    }\n    if (!CLOCK_TIME_REGEX.test(answer)) {\n      throw new Error(`CLOCK: answer must be \"HH:MM\" in 24h format (got \"${answer}\")`);\n    }\n    if (!name) {\n      throw new Error('CLOCK: interactive mode requires \"name\" (for answer validation)');\n    }\n    if (snap !== undefined && (!Number.isInteger(snap) || snap < 1 || snap > 60)) {\n      throw new Error(`CLOCK: snap must be an integer in 1..60 (got ${snap})`);\n    }\n\n    return createInteractiveClock({ name, value, answer, format, snap });\n  }\n\n  textHighlighter(ctx: CstChildrenDictionary): InlineNode {\n    const params = this.visit(ctx.parameterList as CstNode[]);\n    const value = params.value as string;\n\n    // Convert start and end parameters to highlight tuple\n    let highlight: [number, number] | undefined = undefined;\n    if (params.start !== undefined && params.end !== undefined) {\n      highlight = [params.start as number, params.end as number];\n    }\n\n    return createHighlightedText(value, highlight);\n  }\n\n  colorText(ctx: CstChildrenDictionary): InlineNode {\n    const params = this.visit(ctx.parameterList as CstNode[]);\n    const value = params.value as string;\n    const color = params.color as string;\n\n    let highlight: [number, number] | undefined = undefined;\n    if (params.start !== undefined && params.end !== undefined) {\n      highlight = [params.start as number, params.end as number];\n    }\n\n    return createColorText(value, color, highlight);\n  }\n\n  boldText(ctx: CstChildrenDictionary): InlineNode {\n    const params = this.visit(ctx.parameterList as CstNode[]);\n    const value = params.value as string;\n\n    let highlight: [number, number] | undefined = undefined;\n    if (params.start !== undefined && params.end !== undefined) {\n      highlight = [params.start as number, params.end as number];\n    }\n\n    return createBoldText(value, highlight);\n  }\n\n  fraction(ctx: CstChildrenDictionary): InlineNode {\n    const params = this.visit(ctx.parameterList as CstNode[]);\n    const name = params.name as string;\n    const numerator = params.numerator as number | undefined;\n    const denominator = params.denominator as number | undefined;\n    const answer = params.answer as string | undefined;\n    const simplified = params.simplified !== undefined\n      ? (params.simplified as boolean)\n      : undefined;\n    const placeholder = params.placeholder as string | undefined;\n\n    return createFraction(name, { numerator, denominator, answer, simplified, placeholder });\n  }\n\n  image(ctx: CstChildrenDictionary): InlineNode {\n    const params = this.visit(ctx.parameterList as CstNode[]);\n    const name = params.name as string;\n    const src = params.src as string;\n    const alt = params.alt as string;\n    const width = params.width as number | undefined;\n    const height = params.height as number | undefined;\n    return createImage(name, src, alt, { width, height });\n  }\n  visualFraction(ctx: CstChildrenDictionary): VisualFractionInline {\n    const params = this.visit(ctx.parameterList as CstNode[]);\n    const name = params.name as string;\n    const divisions = params.divisions as number;\n    const shape = params.shape as VisualFractionShape | undefined;\n    const filled = (params.filled as number[] | undefined) ?? [];\n    const answer = (params.answer as number[] | undefined) ?? [];\n    const orientation = params.orientation as 'horizontal' | 'vertical' | undefined;\n    const label = params.label !== undefined ? (params.label as string) : undefined;\n    const size = params.size !== undefined ? (params.size as number) : undefined;\n\n    return createVisualFraction(name, divisions, { shape, filled, answer, orientation, label, size });\n  }\n\n  numberArray(ctx: CstChildrenDictionary): number[] {\n    return ctx.items\n      ? (ctx.items as IToken[]).map(t => parseFloat(t.image))\n      : [];\n  }\n\n  inlineInput(ctx: CstChildrenDictionary): InlineNode {\n    const params = this.visit(ctx.parameterList as CstNode[]);\n    const name = params.name as string;\n    const answer = params.answer as string | number | undefined;\n    const placeholder = params.placeholder as string | undefined;\n\n    // W_S_I / STRING_INPUT uses \"length\" parameter for string inputs\n    if (ctx.stringInput) {\n      const length = params.length as number;\n      return createStringInput(name, length, answer, placeholder);\n    }\n\n    // W_N_I / NUMERIC_INPUT uses \"digits\" parameter for numeric inputs\n    const digits = params.digits as number;\n    return createNumericInput(name, digits, answer, placeholder);\n  }\n\n  inlineDragOption(ctx: CstChildrenDictionary): InlineNode {\n    const valueToken = (ctx.StringLiteral as IToken[])[0]!;\n    const value = this.extractString(valueToken.image);\n    return createInlineDragOption(value);\n  }\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Tools\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  tool(ctx: CstChildrenDictionary): ToolNode {\n    if (ctx.dragableButtons) {\n      return this.visit(ctx.dragableButtons as CstNode[]);\n    }\n\n    if (ctx.numericKeypad) {\n      return this.visit(ctx.numericKeypad as CstNode[]);\n    }\n\n    if (ctx.rulerTool) {\n      return this.visit(ctx.rulerTool as CstNode[]);\n    }\n\n    if (ctx.protractorTool) {\n      return this.visit(ctx.protractorTool as CstNode[]);\n    }\n\n    if (ctx.setSquareTool) {\n      return this.visit(ctx.setSquareTool as CstNode[]);\n    }\n\n    throw new Error('Unknown tool');\n  }\n\n  dragableButtons(ctx: CstChildrenDictionary): ToolNode {\n    const strings = this.visit(ctx.stringList as CstNode[]);\n    return createDragOptions(strings);\n  }\n\n  numericKeypad(ctx: CstChildrenDictionary): ToolNode {\n    const params = ctx.parameterList\n      ? this.visit(ctx.parameterList as CstNode[])\n      : {};\n    const includeOperators = params.includeOperators === true || params.includeOperators === 'true';\n    const includeDecimal = params.includeDecimal === true || params.includeDecimal === 'true';\n    const style = params.style as 'diamond' | 'classic' | undefined;\n    return createNumericKeypad(includeOperators || undefined, includeDecimal || undefined, style);\n  }\n\n  rulerTool(ctx: CstChildrenDictionary): ToolNode {\n    const params = ctx.parameterList\n      ? this.visit(ctx.parameterList as CstNode[])\n      : {};\n    const size = params.size !== undefined ? Number(params.size) : undefined;\n    return createRulerTool(size);\n  }\n\n  protractorTool(ctx: CstChildrenDictionary): ToolNode {\n    const params = ctx.parameterList\n      ? this.visit(ctx.parameterList as CstNode[])\n      : {};\n    const size = params.size !== undefined ? Number(params.size) : undefined;\n    return createProtractorTool(size);\n  }\n\n  setSquareTool(ctx: CstChildrenDictionary): ToolNode {\n    const params = ctx.parameterList\n      ? this.visit(ctx.parameterList as CstNode[])\n      : {};\n    const size = params.size !== undefined ? Number(params.size) : undefined;\n    return createSetSquareTool(size);\n  }\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Validation\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  validation(ctx: CstChildrenDictionary): ValidationNode {\n    const params = this.visit(ctx.parameterList as CstNode[]);\n    const type = params.type as string;\n\n    if (type === 'simple') {\n      return createSimpleValidation();\n    } else if (type === 'expression') {\n      const expression = params.expression as string;\n      return createExpressionValidation(expression);\n    } else if (type === 'mixed') {\n      const expression = params.expression as string | undefined;\n      if (!expression || expression.trim() === '') {\n        throw new Error('Mixed validation requires a non-empty expression');\n      }\n      return createMixedValidation(expression);\n    }\n\n    throw new Error(`Unknown validation type: ${type}`);\n  }\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Parameter Lists\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  parameterList(ctx: CstChildrenDictionary): Record<string, ParamValue> {\n    const result: Record<string, ParamValue> = {};\n\n    if (ctx.parameter) {\n      (ctx.parameter as CstNode[]).forEach((param) => {\n        const [key, value] = this.visit(param);\n        result[key] = value;\n      });\n    }\n\n    return result;\n  }\n\n  parameter(ctx: CstChildrenDictionary): [string, ParamValue] {\n    const key = (ctx.key![0] as IToken).image;\n\n    // Extract value\n    let value: ParamValue | undefined;\n\n    if (ctx.value) {\n      const valueToken = ctx.value[0] as IToken;\n\n      // Check if it's a token with tokenType property\n      if (valueToken && valueToken.tokenType && valueToken.tokenType.name) {\n        // Check token type\n        if (valueToken.tokenType.name === 'StringLiteral') {\n          value = this.extractString(valueToken.image);\n        } else if (valueToken.tokenType.name === 'NumberLiteral') {\n          value = parseFloat(valueToken.image);\n        } else if (valueToken.tokenType.name === 'Identifier') {\n          // Boolean or identifier\n          const id = valueToken.image;\n          if (id === 'true') value = true;\n          else if (id === 'false') value = false;\n          else value = id;\n        } else {\n          // Unknown token type\n          value = valueToken.image;\n        }\n      } else {\n        // Tuple or other CST node\n        value = this.visit(ctx.value as CstNode[]);\n      }\n    }\n\n    return [key, value!];\n  }\n\n  tuple(ctx: CstChildrenDictionary): [number, number] {\n    const start = parseFloat((ctx.start![0] as IToken).image);\n    const end = parseFloat((ctx.end![0] as IToken).image);\n    return [start, end];\n  }\n\n  stringList(ctx: CstChildrenDictionary): string[] {\n    return ctx.StringLiteral!.map((token) => this.extractString((token as IToken).image));\n  }\n\n  curlyStringList(ctx: CstChildrenDictionary): string[] {\n    return this.visit(ctx.stringList as CstNode[]);\n  }\n\n  // ═══════════════════════════════════════════════════════════════════════════\n  // Helpers\n  // ═══════════════════════════════════════════════════════════════════════════\n\n  /**\n   * Extract string content from quoted string token\n   */\n  private extractString(quotedString: string): string {\n    return quotedString.slice(1, -1); // Remove quotes\n  }\n}\n\n// Export singleton visitor instance\nexport const visitor = new NaturalDSLVisitor();\n","import { IToken, CstNode } from 'chevrotain';\nimport { parser } from './grammar';\nimport { visitor } from './cst-visitor';\nimport { ExerciseDocument } from '../ast/document';\nimport { ParseError } from '../errors';\n\nexport { parser };\n\n/**\n * Parse DSL tokens into CST\n */\nexport function parse(tokens: IToken[]) {\n  parser.input = tokens;\n  const cst = parser.exerciseDocument();\n  \n  if (parser.errors.length > 0) {\n    throw new ParseError(parser.errors);\n  }\n  \n  return cst;\n}\n\n/**\n * Parse DSL tokens into CST (safe version - returns errors instead of throwing)\n */\nexport function parseSafe(tokens: IToken[]) {\n  try {\n    return { success: true as const, cst: parse(tokens) };\n  } catch (error) {\n    return { success: false as const, error };\n  }\n}\n\n/**\n * Transform CST to AST\n */\nexport function toAST(cst: CstNode): ExerciseDocument {\n  return visitor.visit(cst);\n}\n","/**\n * Zod Runtime Validation Schemas\n *\n * These provide runtime validation for the JSON schema types.\n * Use these to validate external data at runtime.\n */\n\nimport { z } from 'zod';\nimport { JSON_TYPES, VALIDATION_MODES, INPUT_TYPES, NUMBER_LINE_STYLES, NUMBER_LINE_LABELS, NUMBER_LINE_HIGHLIGHT_COLORS, NUMBER_LINE_DRAG_MODES } from '../constants';\nimport { VISUAL_FRACTION_MAX_DIVISIONS, validateVisualFractionCapacity, CLOCK_TIME_REGEX } from '../ast/inline';\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Layout Schemas\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport const TextItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.TEXT),\n  value: z.string(),\n});\n\nexport const QuestionTextSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.QUESTION_TEXT),\n  value: z.string(),\n});\n\nexport const WidgetRefSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.WIDGET_REF),\n  widgetId: z.string(),\n});\n\nexport const HighlightedTextSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.HIGHLIGHTED_TEXT),\n  value: z.string(),\n  highlight: z.tuple([z.number(), z.number()]).optional(),\n});\n\nexport const ColorTextSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.COLOR_TEXT),\n  value: z.string(),\n  color: z.string(),\n  highlight: z.tuple([z.number(), z.number()]).optional(),\n});\n\nexport const BoldTextSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.BOLD_TEXT),\n  value: z.string(),\n  highlight: z.tuple([z.number(), z.number()]).optional(),\n});\n\nconst IMAGE_SRC_SCHEME_RE = /^(https?:\\/\\/|data:image\\/)/i;\n\nexport const ImageItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.IMAGE),\n  name: z.string().min(1),\n  src: z.string().url().refine((s) => IMAGE_SRC_SCHEME_RE.test(s), {\n    message: 'src must use http(s) or data:image scheme',\n  }),\n  alt: z.string(),\n  width: z.number().positive().optional(),\n  height: z.number().positive().optional(),\n});\n\nexport const SpaceItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.SPACE),\n});\n\nexport const LinebreakSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.LINEBREAK),\n});\n\nexport const OperatorSchema = z.enum(['+', '-', '×', '÷', '=', '<', '>', '?']);\n\nexport const OperatorItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.OPERATOR),\n  operator: OperatorSchema,\n});\n\n// ── Clock ────────────────────────────────────────────────────────────────────\nconst ClockTimeSchema = z.string().regex(CLOCK_TIME_REGEX);\nconst ClockFormatSchema = z.enum(['12h', '24h']);\n\nconst ClockDisplayItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.CLOCK),\n  mode: z.literal('display'),\n  clockType: z.enum(['analog', 'digital']),\n  value: ClockTimeSchema,\n  format: ClockFormatSchema.optional(),\n  name: z.string().optional(),\n});\n\nconst ClockInteractiveItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.CLOCK),\n  mode: z.literal('interactive'),\n  clockType: z.literal('analog'),\n  value: ClockTimeSchema,\n  format: ClockFormatSchema.optional(),\n  snap: z.number().int().min(1).max(60).optional(),\n  name: z.string(),\n});\n\nexport const ClockItemSchema = z.discriminatedUnion('mode', [\n  ClockDisplayItemSchema,\n  ClockInteractiveItemSchema,\n]);\n\n// Recursive type for GroupItem and Table\nexport const LayoutItemSchema: z.ZodType<any> = z.lazy(() =>\n  z.union([\n    QuestionTextSchema,\n    TextItemSchema,\n    WidgetRefSchema,\n    HighlightedTextSchema,\n    ColorTextSchema,\n    BoldTextSchema,\n    ImageItemSchema,\n    SpaceItemSchema,\n    LinebreakSchema,\n    GroupItemSchema,\n    OperatorItemSchema,\n    TableItemSchema,\n    NumberLineItemSchema,\n    VerticalOperationItemSchema,\n    ClockItemSchema,\n  ])\n);\n\nexport const GroupItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.GROUP),\n  items: z.array(LayoutItemSchema),\n});\n\n// Table schemas\nexport const TableCellItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.TABLE_CELL),\n  colspan: z.number().int().positive().optional(),\n  items: z.array(LayoutItemSchema),\n});\n\nexport const TableRowItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.TABLE_ROW),\n  cells: z.array(TableCellItemSchema),\n});\n\nexport const TableItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.TABLE),\n  cols: z.number().int().positive(),\n  rows: z.array(TableRowItemSchema),\n});\n\n// Number line schemas\nexport const NumberLinePositionItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.NUMBER_LINE_POSITION),\n  value: z.number().finite(),\n  content: z.array(LayoutItemSchema),\n});\n\nexport const NumberLineCounterItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.NUMBER_LINE_COUNTER),\n  min: z.number().int().min(1),\n  max: z.number().int().positive(),\n  default: z.number().int().nonnegative().optional(),\n  name: z.string().optional(),\n  answer: z.number().int().positive().optional(),\n});\n\nexport const NumberLineHighlightItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.NUMBER_LINE_HIGHLIGHT),\n  from: z.number().finite(),\n  to: z.number().finite(),\n  color: z.enum(NUMBER_LINE_HIGHLIGHT_COLORS).optional(),\n  label: z.string().optional(),\n});\n\nexport const NumberLineCursorItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.NUMBER_LINE_CURSOR),\n  value: z.number().finite(),\n  answer: z.number().finite(),\n  color: z.string().regex(/^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/).optional(),\n  fillRange: z.boolean(),\n  label: z.string().optional(),\n});\nexport const NumberLineArrowItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.NUMBER_LINE_ARROW),\n  from: z.number().finite(),\n  to: z.number().finite(),\n  color: z.string().optional(),\n  content: z.array(LayoutItemSchema),\n});\n\nexport const NumberLineItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.NUMBER_LINE),\n  min: z.number().finite(),\n  max: z.number().finite(),\n  step: z.number().positive(),\n  minorTicks: z.number().int().nonnegative().optional(),\n  style: z.enum(NUMBER_LINE_STYLES).optional(),\n  labelVisibility: z.enum(NUMBER_LINE_LABELS).optional(),\n  counter: NumberLineCounterItemSchema.optional(),\n  highlights: z.array(NumberLineHighlightItemSchema).optional(),\n  cursors: z.array(NumberLineCursorItemSchema).optional(),\n  arrows: z.array(NumberLineArrowItemSchema).optional(),\n  dragMode: z.enum(NUMBER_LINE_DRAG_MODES).optional(),\n  positions: z.array(NumberLinePositionItemSchema),\n});\n\n// Matcher schemas\nexport const MatcherItemContentSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.MATCHER_ITEM),\n  /** Item identifier (no pipe allowed) */\n  itemId: z.string().min(1).regex(/^[^|]+$/),\n  /** Display-only inline content */\n  content: z.array(LayoutItemSchema),\n});\n\nexport const MatcherRowItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.MATCHER_ROW),\n  items: z.array(MatcherItemContentSchema).min(1),\n});\n\n// Vertical operation schemas\nexport const VopOperatorJSONSchema = z.enum(['+', '-', '×', '÷', '=']);\n\nexport const VopDigitCellItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.VOP_CELL),\n  kind: z.literal('digit'),\n  value: z.string(),\n});\n\nexport const VopInputCellItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.VOP_CELL),\n  kind: z.literal('input'),\n  widgetId: z.string(),\n});\n\nexport const VopLabelCellItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.VOP_CELL),\n  kind: z.literal('label'),\n  value: z.string(),\n});\n\nexport const VopEmptyCellItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.VOP_CELL),\n  kind: z.literal('empty'),\n});\n\nexport const VopColorCellItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.VOP_CELL),\n  kind: z.literal('color'),\n  value: z.string(),\n  color: z.string(),\n});\n\nexport const VopBoldCellItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.VOP_CELL),\n  kind: z.literal('bold'),\n  value: z.string(),\n});\n\nexport const VopHighlightCellItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.VOP_CELL),\n  kind: z.literal('highlight'),\n  value: z.string(),\n});\n\nexport const VopCellItemSchema = z.discriminatedUnion('kind', [\n  VopDigitCellItemSchema,\n  VopLabelCellItemSchema,\n  VopColorCellItemSchema,\n  VopBoldCellItemSchema,\n  VopHighlightCellItemSchema,\n  VopInputCellItemSchema,\n  VopEmptyCellItemSchema,\n]);\n\nexport const VopRowItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.VOP_ROW),\n  cells: z.array(VopCellItemSchema),\n  op: VopOperatorJSONSchema.optional(),\n});\n\nexport const VopCarryRowItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.VOP_CARRY_ROW),\n  cells: z.array(VopCellItemSchema),\n});\n\nexport const VopSeparatorItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.VOP_SEPARATOR),\n});\n\nexport const VerticalOperationItemSchema = z.object({\n  id: z.string(),\n  type: z.literal(JSON_TYPES.VERTICAL_OPERATION),\n  op: VopOperatorJSONSchema.optional(),\n  cols: z.number().int().positive(),\n  items: z.array(z.union([VopRowItemSchema, VopCarryRowItemSchema, VopSeparatorItemSchema])),\n});\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Widget Schemas\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport const StringInputJSONSchema = z.object({\n  type: z.literal(JSON_TYPES.INLINE_INPUT),\n  inputType: z.literal(INPUT_TYPES.STRING),\n  length: z.number().int().positive(),\n  placeholder: z.string().max(32).optional(),\n});\n\nexport const NumericInputJSONSchema = z.object({\n  type: z.literal(JSON_TYPES.INLINE_INPUT),\n  inputType: z.literal(INPUT_TYPES.NUMERIC),\n  digits: z.number().int().positive(),\n  placeholder: z.string().max(32).optional(),\n});\n\nexport const InlineInputJSONSchema = z.discriminatedUnion('inputType', [\n  StringInputJSONSchema,\n  NumericInputJSONSchema,\n]);\n\nexport const DragOptionsJSONSchema = z.object({\n  type: z.literal(JSON_TYPES.DRAG_OPTIONS),\n  options: z.array(z.string()),\n});\n\n// NOTE: Only `value` is stored — it serves as both the drop payload and the\n// displayed label. If a future case needs the displayed text to differ from\n// the drop value (e.g. rich/formatted labels, or a stable opaque id), a\n// separate `label` (display) and `id` (payload) field should be added here.\nexport const InlineDragOptionJSONSchema = z.object({\n  type: z.literal(JSON_TYPES.INLINE_DRAG_OPTION),\n  value: z.string().min(1),\n});\n\nexport const RadioOptionsJSONSchema = z.object({\n  type: z.literal(JSON_TYPES.RADIO_OPTIONS),\n  options: z.array(z.string()),\n});\n\nexport const NumericKeypadJSONSchema = z.object({\n  type: z.literal(JSON_TYPES.NUMERIC_KEYPAD),\n  includeOperators: z.boolean().optional(),\n  includeDecimal: z.boolean().optional(),\n  style: z.enum(['diamond', 'classic']).optional(),\n});\n\nexport const FractionJSONSchema = z.object({\n  type: z.literal(JSON_TYPES.FRACTION),\n  numerator: z.number().nullable(),\n  denominator: z.number().nullable(),\n  simplified: z.boolean(),\n  placeholder: z.string().max(32).optional(),\n});\n/**\n * Matcher widget — rows of items, keyed by name in the widgets record.\n * The name is the key in the widgets record (like radio-options).\n * Rows/items carry IDs for renderer React keys.\n */\nexport const MatcherWidgetJSONSchema = z.object({\n  type: z.literal(JSON_TYPES.MATCHER),\n  rows: z.array(MatcherRowItemSchema).min(1),\n  /** Optional color palette for the renderer (one color per answer group) */\n  colors: z.array(z.string()).optional(),\n  /** Number of answer groups — equals answers.length, stored here to avoid prop-drilling. */\n  groupCount: z.number().int().min(1),\n});\n\n/**\n * Pair-Matcher widget — top row ↔ bottom row pairing.\n * topItems / bottomItems carry IDs for React keys.\n */\nexport const PairMatcherWidgetJSONSchema = z.object({\n  type: z.literal(JSON_TYPES.PAIR_MATCHER),\n  topItems: z.array(MatcherItemContentSchema).min(1),\n  bottomItems: z.array(MatcherItemContentSchema).min(1),\n});\n\nexport const VisualFractionJSONSchema = z.object({\n  type: z.literal(JSON_TYPES.VISUAL_FRACTION),\n  shape: z.enum(['bar', 'circle', 'triangle', 'grid']).default('bar'),\n  divisions: z.number().int().positive().max(VISUAL_FRACTION_MAX_DIVISIONS, {\n    message: `divisions cannot exceed ${VISUAL_FRACTION_MAX_DIVISIONS}`,\n  }),\n  filled: z.array(z.number().int().nonnegative()),\n  answer: z.array(z.number().int().nonnegative()),\n  orientation: z.enum(['horizontal', 'vertical']).optional(),\n  /** Optional label text rendered near the shape — replaces the old showLabel boolean */\n  label: z.string().optional(),\n  /** Overall shape size in unified author units.\n   * - bar / grid:         overrides `--visual-fraction-part-size` CSS custom property (cell size in rem).\n   * - circle / triangle:  overrides `--visual-fraction-size` through the renderer scale factor.\n   */\n  size: z.number().positive().optional(),\n}).superRefine(validateVisualFractionCapacity);\n\nexport const RulerWidgetSchema = z.object({\n  type: z.literal(JSON_TYPES.RULER),\n  size: z.number().optional(),\n});\n\nexport const ProtractorWidgetSchema = z.object({\n  type: z.literal(JSON_TYPES.PROTRACTOR),\n  size: z.number().optional(),\n});\n\nexport const SetSquareWidgetSchema = z.object({\n  type: z.literal(JSON_TYPES.SET_SQUARE),\n  size: z.number().optional(),\n});\n\nexport const WidgetJSONSchema = z.union([\n  InlineInputJSONSchema,\n  DragOptionsJSONSchema,\n  InlineDragOptionJSONSchema,\n  RadioOptionsJSONSchema,\n  NumericKeypadJSONSchema,\n  FractionJSONSchema,\n  MatcherWidgetJSONSchema,\n  PairMatcherWidgetJSONSchema,\n  VisualFractionJSONSchema,\n  RulerWidgetSchema,\n  ProtractorWidgetSchema,\n  SetSquareWidgetSchema,\n]);\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Validation Schema\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport const ValidationJSONSchema = z.object({\n  mode: z.enum([VALIDATION_MODES.SIMPLE, VALIDATION_MODES.EXPRESSION, VALIDATION_MODES.MIXED]),\n  // Simple answers: string|number per widget id.\n  // Matcher answers: string[][] keyed by matcher name. Outer/inner min(1)\n  // mirrors MatcherBlockSchema invariants in src/ast/matcher.ts.\n  // VisualFraction answers: number[] — one count per color group.\n  answers: z.record(\n    z.union([\n      z.string(),\n      z.number(),\n      z.array(z.array(z.string().min(1)).min(1)).min(1),\n      z.array(z.number().int().nonnegative()),\n    ])\n  ).optional(),\n  expression: z.string().optional(),\n  variables: z.array(z.string()).optional(),\n});\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Metadata Schema\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport const ExerciseMetaSchema = z.object({\n  createdAt: z.string().optional(),\n  author: z.string().optional(),\n  tags: z.array(z.string()).optional(),\n  difficulty: z.number().optional(),\n});\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Main Exercise Schema\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport const ExerciseJSONSchema = z.object({\n  version: z.literal('2.0'),\n  id: z.string().optional(),\n  layout: z.array(LayoutItemSchema),\n  widgets: z.record(WidgetJSONSchema),\n  validation: ValidationJSONSchema.optional(),\n  meta: ExerciseMetaSchema.optional(),\n});\n\nexport type ValidatedExerciseJSON = ExerciseJSON & { validation: ValidationJSON };\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Helper Functions\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Validate an exercise JSON object at runtime\n *\n * @param data - The data to validate\n * @returns Parsed and validated exercise JSON\n * @throws ZodError if validation fails\n *\n * @example\n * ```typescript\n * try {\n *   const validated = validateExerciseJSON(unknownData);\n *   console.log('Valid exercise:', validated);\n * } catch (error) {\n *   console.error('Validation failed:', error);\n * }\n * ```\n */\nexport function validateExerciseJSON(data: unknown) {\n  return ExerciseJSONSchema.parse(data);\n}\n\n/**\n * Safely validate an exercise JSON object at runtime\n *\n * @param data - The data to validate\n * @returns Success result with data or error result\n *\n * @example\n * ```typescript\n * const result = validateExerciseJSONSafe(unknownData);\n * if (result.success) {\n *   console.log('Valid exercise:', result.data);\n * } else {\n *   console.error('Validation errors:', result.error.errors);\n * }\n * ```\n */\nexport function validateExerciseJSONSafe(data: unknown) {\n  return ExerciseJSONSchema.safeParse(data);\n}\n\n/**\n * Validate a widget JSON object at runtime\n *\n * @param data - The data to validate\n * @returns Parsed and validated widget JSON\n * @throws ZodError if validation fails\n */\nexport function validateWidgetJSON(data: unknown) {\n  return WidgetJSONSchema.parse(data);\n}\n\n/**\n * Safely validate a widget JSON object at runtime\n *\n * @param data - The data to validate\n * @returns Success result with data or error result\n */\nexport function validateWidgetJSONSafe(data: unknown) {\n  return WidgetJSONSchema.safeParse(data);\n}\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Inferred TypeScript Types\n// ═══════════════════════════════════════════════════════════════════════════\n\n// Layout Types\nexport type QuestionText = z.infer<typeof QuestionTextSchema>;\nexport type TextItem = z.infer<typeof TextItemSchema>;\nexport type WidgetRef = z.infer<typeof WidgetRefSchema>;\nexport type HighlightedText = z.infer<typeof HighlightedTextSchema>;\nexport type ColorText = z.infer<typeof ColorTextSchema>;\nexport type BoldText = z.infer<typeof BoldTextSchema>;\nexport type ImageItem = z.infer<typeof ImageItemSchema>;\nexport type SpaceItem = z.infer<typeof SpaceItemSchema>;\nexport type Linebreak = z.infer<typeof LinebreakSchema>;\nexport type OperatorItem = z.infer<typeof OperatorItemSchema>;\nexport type GroupItem = z.infer<typeof GroupItemSchema>;\nexport type TableCellItem = z.infer<typeof TableCellItemSchema>;\nexport type TableRowItem = z.infer<typeof TableRowItemSchema>;\nexport type TableItem = z.infer<typeof TableItemSchema>;\nexport type NumberLinePositionItem = z.infer<typeof NumberLinePositionItemSchema>;\nexport type NumberLineCounterItem = z.infer<typeof NumberLineCounterItemSchema>;\nexport type NumberLineHighlightItem = z.infer<typeof NumberLineHighlightItemSchema>;\nexport type NumberLineCursorItem = z.infer<typeof NumberLineCursorItemSchema>;\nexport type NumberLineArrowItem = z.infer<typeof NumberLineArrowItemSchema>;\nexport type NumberLineItem = z.infer<typeof NumberLineItemSchema>;\nexport type MatcherItemContent = z.infer<typeof MatcherItemContentSchema>;\nexport type MatcherRowItem = z.infer<typeof MatcherRowItemSchema>;\nexport type MatcherWidgetJSON = z.infer<typeof MatcherWidgetJSONSchema>;\nexport type PairMatcherWidgetJSON = z.infer<typeof PairMatcherWidgetJSONSchema>;\nexport type VopDigitCellItem = z.infer<typeof VopDigitCellItemSchema>;\nexport type VopLabelCellItem = z.infer<typeof VopLabelCellItemSchema>;\nexport type VopInputCellItem = z.infer<typeof VopInputCellItemSchema>;\nexport type VopEmptyCellItem = z.infer<typeof VopEmptyCellItemSchema>;\nexport type VopColorCellItem = z.infer<typeof VopColorCellItemSchema>;\nexport type VopBoldCellItem = z.infer<typeof VopBoldCellItemSchema>;\nexport type VopHighlightCellItem = z.infer<typeof VopHighlightCellItemSchema>;\nexport type VopCellItem = z.infer<typeof VopCellItemSchema>;\nexport type VopRowItem = z.infer<typeof VopRowItemSchema>;\nexport type VopCarryRowItem = z.infer<typeof VopCarryRowItemSchema>;\nexport type VopSeparatorItem = z.infer<typeof VopSeparatorItemSchema>;\nexport type VerticalOperationItem = z.infer<typeof VerticalOperationItemSchema>;\nexport type ClockItem = z.infer<typeof ClockItemSchema>;\nexport type LayoutItem = z.infer<typeof LayoutItemSchema>;\n\n// Widget Types\nexport type InlineInputJSON = z.infer<typeof InlineInputJSONSchema>;\nexport type DragOptionsJSON = z.infer<typeof DragOptionsJSONSchema>;\nexport type InlineDragOptionJSON = z.infer<typeof InlineDragOptionJSONSchema>;\nexport type RadioOptionsJSON = z.infer<typeof RadioOptionsJSONSchema>;\nexport type NumericKeypadJSON = z.infer<typeof NumericKeypadJSONSchema>;\nexport type FractionJSON = z.infer<typeof FractionJSONSchema>;\nexport type VisualFractionJSON = z.infer<typeof VisualFractionJSONSchema>;\nexport type RulerWidgetJSON = z.infer<typeof RulerWidgetSchema>;\nexport type ProtractorWidgetJSON = z.infer<typeof ProtractorWidgetSchema>;\nexport type SetSquareWidgetJSON = z.infer<typeof SetSquareWidgetSchema>;\nexport type WidgetJSON = z.infer<typeof WidgetJSONSchema>;\n\n// Validation Types\nexport type ValidationJSON = z.infer<typeof ValidationJSONSchema>;\n\n// Meta Types\nexport type ExerciseMeta = z.infer<typeof ExerciseMetaSchema>;\n\n// Main Exercise Type\nexport type ExerciseJSON = z.infer<typeof ExerciseJSONSchema>;\n","/**\n * JSON Schema Types\n *\n * These define the output format of the transformation.\n * This is the \"contract\" between the package and host apps.\n *\n * All types are inferred from Zod schemas for maximum type safety.\n */\n\n// Re-export all Zod-inferred types\nexport type {\n  // Layout Types\n  QuestionText,\n  TextItem,\n  WidgetRef,\n  HighlightedText,\n  ColorText,\n  BoldText,\n  ImageItem,\n  SpaceItem,\n  Linebreak,\n  OperatorItem,\n  GroupItem,\n  TableItem,\n  TableRowItem,\n  TableCellItem,\n  NumberLinePositionItem,\n  NumberLineCounterItem,\n  NumberLineHighlightItem,\n  NumberLineCursorItem,\n  NumberLineArrowItem,\n  NumberLineItem,\n  VopCellItem,\n  VopDigitCellItem,\n  VopLabelCellItem,\n  VopInputCellItem,\n  VopEmptyCellItem,\n  VopColorCellItem,\n  VopBoldCellItem,\n  VopHighlightCellItem,\n  VopRowItem,\n  VopCarryRowItem,\n  VopSeparatorItem,\n  VerticalOperationItem,\n  ClockItem,\n  LayoutItem,\n\n  // Widget Types\n  InlineInputJSON,\n  DragOptionsJSON,\n  RadioOptionsJSON,\n  NumericKeypadJSON,\n  FractionJSON,\n  MatcherItemContent,\n  MatcherRowItem,\n  MatcherWidgetJSON,\n  RulerWidgetJSON,\n  ProtractorWidgetJSON,\n  SetSquareWidgetJSON,\n  WidgetJSON,\n\n  // Validation Types\n  ValidationJSON,\n\n  // Meta Types\n  ExerciseMeta,\n\n  // Main Exercise Type\n  ExerciseJSON,\n  ValidatedExerciseJSON,\n} from './zod-schemas';\n\n// Re-export Zod schemas for runtime validation\nexport {\n  QuestionTextSchema,\n  TextItemSchema,\n  WidgetRefSchema,\n  HighlightedTextSchema,\n  ColorTextSchema,\n  BoldTextSchema,\n  ImageItemSchema,\n  SpaceItemSchema,\n  LinebreakSchema,\n  OperatorItemSchema,\n  GroupItemSchema,\n  TableItemSchema,\n  TableRowItemSchema,\n  TableCellItemSchema,\n  NumberLinePositionItemSchema,\n  NumberLineCounterItemSchema,\n  NumberLineHighlightItemSchema,\n  NumberLineCursorItemSchema,\n  NumberLineArrowItemSchema,\n  NumberLineItemSchema,\n  VopCellItemSchema,\n  VopColorCellItemSchema,\n  VopBoldCellItemSchema,\n  VopHighlightCellItemSchema,\n  VopRowItemSchema,\n  VopCarryRowItemSchema,\n  VopSeparatorItemSchema,\n  VerticalOperationItemSchema,\n  ClockItemSchema,\n  LayoutItemSchema,\n  InlineInputJSONSchema,\n  DragOptionsJSONSchema,\n  RadioOptionsJSONSchema,\n  NumericKeypadJSONSchema,\n  FractionJSONSchema,\n  MatcherItemContentSchema,\n  MatcherRowItemSchema,\n  MatcherWidgetJSONSchema,\n  RulerWidgetSchema,\n  ProtractorWidgetSchema,\n  SetSquareWidgetSchema,\n  WidgetJSONSchema,\n  ValidationJSONSchema,\n  ExerciseMetaSchema,\n  ExerciseJSONSchema,\n  validateExerciseJSON,\n  validateExerciseJSONSafe,\n  validateWidgetJSON,\n  validateWidgetJSONSafe,\n} from './zod-schemas';\n\nimport type { LayoutItem, WidgetJSON, GroupItem } from './zod-schemas';\nimport { JSON_TYPES } from '../constants';\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Type Guards\n// ═══════════════════════════════════════════════════════════════════════════\n\n/**\n * Type guard for QuestionText\n */\nexport function isQuestionText(item: LayoutItem): item is Extract<LayoutItem, { type: 'question-text' }> {\n  return item.type === JSON_TYPES.QUESTION_TEXT;\n}\n\n/**\n * Type guard for TextItem\n */\nexport function isTextItem(item: LayoutItem): item is Extract<LayoutItem, { type: 'text' }> {\n  return item.type === JSON_TYPES.TEXT;\n}\n\n/**\n * Type guard for WidgetRef\n */\nexport function isWidgetRef(item: LayoutItem): item is Extract<LayoutItem, { type: 'widget-ref' }> {\n  return item.type === JSON_TYPES.WIDGET_REF;\n}\n\n/**\n * Type guard for HighlightedText\n */\nexport function isHighlightedText(item: LayoutItem): item is Extract<LayoutItem, { type: 'highlighted-text' }> {\n  return item.type === JSON_TYPES.HIGHLIGHTED_TEXT;\n}\n\n/**\n * Type guard for ColorText\n */\nexport function isColorText(item: LayoutItem): item is Extract<LayoutItem, { type: 'color-text' }> {\n  return item.type === JSON_TYPES.COLOR_TEXT;\n}\n\n/**\n * Type guard for BoldText\n */\nexport function isBoldText(item: LayoutItem): item is Extract<LayoutItem, { type: 'bold-text' }> {\n  return item.type === JSON_TYPES.BOLD_TEXT;\n}\n\n/**\n * Type guard for ImageItem\n */\nexport function isImageItem(item: LayoutItem): item is Extract<LayoutItem, { type: 'image' }> {\n  return item.type === JSON_TYPES.IMAGE;\n}\n\n/**\n * Type guard for SpaceItem\n */\nexport function isSpaceItem(item: LayoutItem): item is Extract<LayoutItem, { type: 'space' }> {\n  return item.type === JSON_TYPES.SPACE;\n}\n\n/**\n * Type guard for Linebreak\n */\nexport function isLinebreak(item: LayoutItem): item is Extract<LayoutItem, { type: 'linebreak' }> {\n  return item.type === JSON_TYPES.LINEBREAK;\n}\n\n/**\n * Type guard for GroupItem\n */\nexport function isGroupItem(item: LayoutItem): item is GroupItem {\n  return item.type === JSON_TYPES.GROUP;\n}\n\n/**\n * Type guard for NumberLineItem\n */\nexport function isNumberLineItem(item: LayoutItem): item is Extract<LayoutItem, { type: 'number-line' }> {\n  return item.type === JSON_TYPES.NUMBER_LINE;\n}\n\n/**\n * Type guard for OperatorItem\n */\nexport function isOperatorItem(item: LayoutItem): item is Extract<LayoutItem, { type: 'operator' }> {\n  return item.type === JSON_TYPES.OPERATOR;\n}\n\n/**\n * Type guard for TableItem\n */\nexport function isTableItem(item: LayoutItem): item is Extract<LayoutItem, { type: 'table' }> {\n  return item.type === JSON_TYPES.TABLE;\n}\n\n/**\n * Type guard for TableRowItem\n */\nexport function isTableRowItem(item: LayoutItem): item is Extract<LayoutItem, { type: 'table-row' }> {\n  return item.type === JSON_TYPES.TABLE_ROW;\n}\n\n/**\n * Type guard for TableCellItem\n */\nexport function isTableCellItem(item: LayoutItem): item is Extract<LayoutItem, { type: 'table-cell' }> {\n  return item.type === JSON_TYPES.TABLE_CELL;\n}\n\n/**\n * Type guard for VerticalOperationItem\n */\nexport function isVerticalOperationItem(item: LayoutItem): item is Extract<LayoutItem, { type: 'vertical-operation' }> {\n  return item.type === JSON_TYPES.VERTICAL_OPERATION;\n}\n\n/**\n * Type guard for ClockItem\n */\nexport function isClockItem(item: LayoutItem): item is Extract<LayoutItem, { type: 'clock' }> {\n  return item.type === JSON_TYPES.CLOCK;\n}\n\n/**\n * Type guard for InlineInputJSON\n */\nexport function isInlineInputJSON(widget: WidgetJSON): widget is Extract<WidgetJSON, { type: 'inline-input' }> {\n  return widget.type === JSON_TYPES.INLINE_INPUT;\n}\n\n/**\n * Type guard for DragOptionsJSON\n */\nexport function isDragOptionsJSON(widget: WidgetJSON): widget is Extract<WidgetJSON, { type: 'drag-options' }> {\n  return widget.type === JSON_TYPES.DRAG_OPTIONS;\n}\n\n/**\n * Type guard for InlineDragOptionJSON\n */\nexport function isInlineDragOptionJSON(widget: WidgetJSON): widget is Extract<WidgetJSON, { type: 'inline-drag-option' }> {\n  return widget.type === JSON_TYPES.INLINE_DRAG_OPTION;\n}\n\n/**\n * Type guard for RadioOptionsJSON\n */\nexport function isRadioOptionsJSON(widget: WidgetJSON): widget is Extract<WidgetJSON, { type: 'radio-options' }> {\n  return widget.type === JSON_TYPES.RADIO_OPTIONS;\n}\n\n/**\n * Type guard for NumericKeypadJSON\n */\nexport function isNumericKeypadJSON(widget: WidgetJSON): widget is Extract<WidgetJSON, { type: 'numeric-keypad' }> {\n  return widget.type === JSON_TYPES.NUMERIC_KEYPAD;\n}\n\n/**\n * Type guard for FractionJSON\n */\nexport function isFractionJSON(widget: WidgetJSON): widget is Extract<WidgetJSON, { type: 'fraction' }> {\n  return widget.type === JSON_TYPES.FRACTION;\n}\n\n/**\n * Type guard for MatcherWidgetJSON\n */\nexport function isMatcherWidget(widget: WidgetJSON): widget is Extract<WidgetJSON, { type: 'matcher' }> {\n  return widget.type === JSON_TYPES.MATCHER;\n}\n\n/**\n * Type guard for RulerWidgetJSON\n */\nexport function isRulerWidget(widget: WidgetJSON): widget is Extract<WidgetJSON, { type: 'ruler' }> {\n  return widget.type === JSON_TYPES.RULER;\n}\n\n/**\n * Type guard for ProtractorWidgetJSON\n */\nexport function isProtractorWidget(widget: WidgetJSON): widget is Extract<WidgetJSON, { type: 'protractor' }> {\n  return widget.type === JSON_TYPES.PROTRACTOR;\n}\n\n/**\n * Type guard for SetSquareWidgetJSON\n */\nexport function isSetSquareWidget(widget: WidgetJSON): widget is Extract<WidgetJSON, { type: 'set-square' }> {\n  return widget.type === JSON_TYPES.SET_SQUARE;\n}\n","/**\n * AST to JSON Transformer for Natural DSL\n *\n * Converts natural DSL AST to portable JSON format\n */\nimport { ExerciseDocument, ContentBlock } from '../ast/document';\nimport { LineBlock } from '../ast/blocks';\nimport { NumberLineBlock } from '../ast/number-line';\nimport { TableBlock } from '../ast/table';\nimport { RadioOptionsBlock } from '../ast/radio-options';\nimport { MatcherBlock } from '../ast/matcher';\nimport { MatcherItem } from '../ast/matcher-item';\nimport { PairMatcherBlock } from '../ast/pair-matcher';\nimport { InlineNode } from '../ast/inline';\nimport { ValidationNode } from '../ast/validation';\nimport { VerticalOperationBlock, VopBlockItem, VopRow, VopCarryRow } from '../ast/vertical-operation';\nimport type { ExerciseJSON, LayoutItem, ValidationJSON, WidgetJSON } from './json-schema';\nimport type { TableItem, TableCellItem, TableRowItem, NumberLineItem, NumberLinePositionItem, NumberLineCounterItem, NumberLineHighlightItem, NumberLineCursorItem, NumberLineArrowItem, MatcherWidgetJSON, MatcherRowItem, MatcherItemContent, PairMatcherWidgetJSON, VerticalOperationItem, VopRowItem, VopCarryRowItem, VopSeparatorItem, VopCellItem } from './zod-schemas';\nimport { AST_TYPES, JSON_TYPES, VALIDATION_MODES, INPUT_TYPES, INLINE_DRAG_OPT_PREFIX, RULER_WIDGET_ID, PROTRACTOR_WIDGET_ID, SET_SQUARE_WIDGET_ID } from '../constants';\n\n/**\n * ID Generator for layout items\n * Generates unique, deterministic IDs for each layout item\n */\nclass LayoutIdGenerator {\n  private counter: number = 0;\n\n  reset(): void {\n    this.counter = 0;\n  }\n\n  generate(type: string): string {\n    return `${type}_${++this.counter}`;\n  }\n}\n\n/**\n * Transform AST to JSON\n *\n * The JSON format is what gets consumed by renderers and validators\n */\nexport function toJSON(ast: ExerciseDocument): ExerciseJSON {\n  // Reset ID generator for each transformation\n  const idGenerator = new LayoutIdGenerator();\n  // Stores widget definitions and their expected answers, populated across the collection phases below.\n  const widgets: Record<string, WidgetJSON> = {};\n  const answers: Record<string, string | number | string[][] | number[]> = {};\n\n  // Pre-pass: assign a unique widgetId to every INLINE_DRAG_OPTION node by\n  // reference, using a sequential global counter (same pattern as idGenerator).\n  // Both the layout build and the widget collection loop read from this same\n  // map so layout widget-refs and widget entries are always in sync.\n  // The array is cached here and reused below to avoid walking the AST twice.\n  const allInlines = collectAllInlines(ast.lines);\n  const inlineDragIds = new Map<InlineNode, string>();\n  {\n    let counter = 0;\n    for (const inline of allInlines) {\n      if (inline.type === AST_TYPES.INLINE_DRAG_OPTION) {\n        inlineDragIds.set(inline, `${INLINE_DRAG_OPT_PREFIX}${counter++}`);\n      }\n    }\n  }\n\n  // Build layout from question and lines\n  const layout: LayoutItem[] = [];\n\n  // Add question (if present)\n  if (ast.question) {\n    layout.push({\n      id: idGenerator.generate(JSON_TYPES.QUESTION_TEXT),\n      type: JSON_TYPES.QUESTION_TEXT,\n      value: ast.question.value\n    });\n  }\n\n  // Add content blocks (lines, tables, and radio options)\n  for (const block of ast.lines) {\n    if (block.type === AST_TYPES.TABLE_BLOCK) {\n      layout.push(transformTable(block as TableBlock, idGenerator, inlineDragIds));\n    } else if (block.type === AST_TYPES.NUMBER_LINE_BLOCK) {\n      const nlItem = transformNumberLine(block as NumberLineBlock, idGenerator, inlineDragIds);\n      layout.push(nlItem);\n      // Collect counter answer inline — no second pass over layout needed.\n      if (nlItem.counter?.answer !== undefined) {\n        answers[nlItem.counter.id] = nlItem.counter.answer;\n      }\n      // Collect cursor answers (every cursor has a required answer).\n      for (const cursor of nlItem.cursors ?? []) {\n        answers[cursor.id] = cursor.answer;\n      }\n    } else if (block.type === AST_TYPES.MATCHER_BLOCK) {\n      const matcherBlock = block as MatcherBlock;\n      layout.push({\n        id: idGenerator.generate(JSON_TYPES.WIDGET_REF),\n        type: JSON_TYPES.WIDGET_REF,\n        widgetId: matcherBlock.name,\n      });\n      layout.push({\n        id: idGenerator.generate(JSON_TYPES.LINEBREAK),\n        type: JSON_TYPES.LINEBREAK,\n      });\n      // widget and answers are collected in the loop below\n    } else if (block.type === AST_TYPES.PAIR_MATCHER_BLOCK) {\n      const pmBlock = block as PairMatcherBlock;\n      layout.push({\n        id: idGenerator.generate(JSON_TYPES.WIDGET_REF),\n        type: JSON_TYPES.WIDGET_REF,\n        widgetId: pmBlock.name,\n      });\n      layout.push({\n        id: idGenerator.generate(JSON_TYPES.LINEBREAK),\n        type: JSON_TYPES.LINEBREAK,\n      });\n      // widget and answers collected below\n    } else if (block.type === AST_TYPES.VERTICAL_OPERATION_BLOCK) {\n      layout.push(transformVerticalOperation(block as VerticalOperationBlock, idGenerator));\n    } else if (block.type === AST_TYPES.RADIO_OPTIONS) {\n      const radioBlock = block as RadioOptionsBlock;\n      layout.push({\n        id: idGenerator.generate(JSON_TYPES.WIDGET_REF),\n        type: JSON_TYPES.WIDGET_REF,\n        widgetId: radioBlock.name\n      });\n      layout.push({\n        id: idGenerator.generate(JSON_TYPES.LINEBREAK),\n        type: JSON_TYPES.LINEBREAK\n      });\n    } else {\n      const lineItems = transformLine(block as LineBlock, idGenerator, inlineDragIds);\n      layout.push(...lineItems);\n    }\n  }\n  // Collect widgets and answers from inline inputs (across both lines and table cells)\n  for (const inline of allInlines) {\n    if (inline.type === AST_TYPES.INLINE_INPUT) {\n      if (inline.inputType === INPUT_TYPES.STRING) {\n        widgets[inline.name] = {\n          type: JSON_TYPES.INLINE_INPUT,\n          inputType: INPUT_TYPES.STRING,\n          length: inline.length,\n          placeholder: inline.placeholder,\n        };\n      } else {\n        widgets[inline.name] = {\n          type: JSON_TYPES.INLINE_INPUT,\n          inputType: INPUT_TYPES.NUMERIC,\n          digits: inline.digits,\n          placeholder: inline.placeholder,\n        };\n      }\n\n      if (inline.answer !== undefined) {\n        answers[inline.name] = inline.answer;\n      }\n    } else if (inline.type === AST_TYPES.CLOCK && inline.mode === 'interactive') {\n      answers[inline.name] = inline.answer;\n    }\n\n    if (inline.type === AST_TYPES.FRACTION) {\n      widgets[inline.name] = {\n        type: JSON_TYPES.FRACTION,\n        numerator: inline.numerator ?? null,\n        denominator: inline.denominator ?? null,\n        simplified: inline.simplified ?? true,\n        placeholder: inline.placeholder,\n      } as any;\n\n      if (inline.answer !== undefined) {\n        answers[inline.name] = inline.answer;\n      }\n    }\n\n    if (inline.type === AST_TYPES.INLINE_DRAG_OPTION) {\n      const widgetId = inlineDragIds.get(inline)!;\n      widgets[widgetId] = {\n        type: JSON_TYPES.INLINE_DRAG_OPTION,\n        value: inline.value,\n      };\n    }\n\n    if (inline.type === AST_TYPES.VISUAL_FRACTION) {\n      const answerArr = inline.answer ?? [];\n      widgets[inline.name] = {\n        type: JSON_TYPES.VISUAL_FRACTION,\n        shape: inline.shape,\n        divisions: inline.divisions,\n        filled: inline.filled ?? [],\n        answer: answerArr,\n        ...(inline.orientation !== undefined && { orientation: inline.orientation }),\n        ...(inline.label !== undefined && { label: inline.label }),\n        ...(inline.size !== undefined && { size: inline.size }),\n      } satisfies import('./zod-schemas').VisualFractionJSON;\n\n      if (answerArr.length > 0) {\n        answers[inline.name] = answerArr;\n      }\n    }\n  }\n\n  // Collect widgets + answers from VERTICAL_OPERATION input cells\n  for (const block of ast.lines) {\n    if (block.type !== AST_TYPES.VERTICAL_OPERATION_BLOCK) continue;\n    const vop = block as VerticalOperationBlock;\n    for (const item of vop.items) {\n      if (item.type !== AST_TYPES.VOP_ROW && item.type !== AST_TYPES.VOP_CARRY_ROW) continue;\n      for (const cell of (item as VopRow | VopCarryRow).cells) {\n        if (cell.kind !== 'input') continue;\n        if (widgets[cell.name]) {\n          throw new Error(`VERTICAL_OPERATION: duplicate INPUT name \"${cell.name}\"`);\n        }\n        widgets[cell.name] = {\n          type: JSON_TYPES.INLINE_INPUT,\n          inputType: INPUT_TYPES.NUMERIC,\n          digits: cell.digits,\n        };\n        if (cell.answer !== undefined) {\n          answers[cell.name] = cell.answer;\n        }\n      }\n    }\n  }\n\n  // Collect widgets and answers from radio options blocks\n  for (const block of ast.lines) {\n    if (block.type === AST_TYPES.RADIO_OPTIONS) {\n      const radioBlock = block as RadioOptionsBlock;\n      widgets[radioBlock.name] = {\n        type: JSON_TYPES.RADIO_OPTIONS,\n        options: radioBlock.options\n      };\n      answers[radioBlock.name] = radioBlock.answer;\n    } else if (block.type === AST_TYPES.MATCHER_BLOCK) {\n      const matcherBlock = block as MatcherBlock;\n      widgets[matcherBlock.name] = buildMatcherWidget(matcherBlock, idGenerator, inlineDragIds);\n      answers[matcherBlock.name] = matcherBlock.answers;\n    } else if (block.type === AST_TYPES.PAIR_MATCHER_BLOCK) {\n      const pmBlock = block as PairMatcherBlock;\n      widgets[pmBlock.name] = buildPairMatcherWidget(pmBlock, idGenerator, inlineDragIds);\n      answers[pmBlock.name] = pmBlock.answers;\n    }\n  }\n\n  // Add tools to widgets\n  if (ast.tools) {\n    for (const tool of ast.tools) {\n      if (tool.type === AST_TYPES.DRAG_OPTIONS) {\n        widgets['_drag_options'] = {\n          type: JSON_TYPES.DRAG_OPTIONS,\n          options: tool.options\n        };\n      } else if (tool.type === AST_TYPES.NUMERIC_KEYPAD) {\n        widgets['_numeric_keypad'] = {\n          type: JSON_TYPES.NUMERIC_KEYPAD,\n          includeOperators: tool.includeOperators,\n          includeDecimal: tool.includeDecimal,\n          style: tool.style\n        };\n      } else if (tool.type === AST_TYPES.GEOMETRY_RULER) {\n        widgets[RULER_WIDGET_ID] = {\n          type: JSON_TYPES.RULER,\n          size: tool.size\n        };\n      } else if (tool.type === AST_TYPES.GEOMETRY_PROTRACTOR) {\n        widgets[PROTRACTOR_WIDGET_ID] = {\n          type: JSON_TYPES.PROTRACTOR,\n          size: tool.size\n        };\n      } else if (tool.type === AST_TYPES.GEOMETRY_SET_SQUARE) {\n        widgets[SET_SQUARE_WIDGET_ID] = {\n          type: JSON_TYPES.SET_SQUARE,\n          size: tool.size\n        };\n      }\n    }\n  }\n\n  // Transform validation (optional - not present for display-only exercises)\n  return {\n    version: '2.0',  // Natural DSL version\n    layout,\n    widgets,\n    ...(ast.validation ? { validation: transformValidation(ast.validation, answers, widgets) } : {}),\n  };\n}\n\n/**\n * Collect all inline nodes from content blocks (lines and table cells)\n */\nfunction collectAllInlines(blocks: ContentBlock[]): InlineNode[] {\n  const result: InlineNode[] = [];\n  for (const block of blocks) {\n    if (block.type === AST_TYPES.LINE_BLOCK) {\n      result.push(...(block as LineBlock).inlines);\n    } else if (block.type === AST_TYPES.TABLE_BLOCK) {\n      for (const row of (block as TableBlock).rows) {\n        for (const cell of row.cells) {\n          result.push(...cell.inlines);\n        }\n      }\n    } else if (block.type === AST_TYPES.NUMBER_LINE_BLOCK) {\n      const numberLine = block as NumberLineBlock;\n      for (const position of numberLine.positions) {\n        result.push(...position.inlines);\n      }\n      for (const arrow of numberLine.arrows ?? []) {\n        result.push(...arrow.inlines);\n      }\n    } else if (block.type === AST_TYPES.MATCHER_BLOCK) {\n      for (const row of (block as MatcherBlock).rows) {\n        for (const item of row.items) {\n          result.push(...(item.inlines as InlineNode[]));\n        }\n      }\n    } else if (block.type === AST_TYPES.PAIR_MATCHER_BLOCK) {\n      const pm = block as PairMatcherBlock;\n      for (const item of [...pm.topItems, ...pm.bottomItems]) {\n        result.push(...(item.inlines as InlineNode[]));\n      }\n    }\n  }\n  return result;\n}\n\n/**\n * Transform a number line block into a layout item\n */\nfunction transformNumberLine(numberLine: NumberLineBlock, idGenerator: LayoutIdGenerator, inlineDragIds: Map<InlineNode, string>): NumberLineItem {\n  // ── 4. Positions (content) — built first so ids are numerically lowest ───\n  const positions: NumberLinePositionItem[] = numberLine.positions.map(pos => {\n    const content = pos.inlines.map(inline => transformInline(inline, idGenerator, inlineDragIds));\n    return {\n      id: idGenerator.generate(JSON_TYPES.NUMBER_LINE_POSITION),\n      type: JSON_TYPES.NUMBER_LINE_POSITION,\n      value: pos.value,\n      content\n    };\n  });\n\n  // ── 3b. Counter overlay ───────────────────────────────────────────────────\n  let counterItem: NumberLineCounterItem | undefined;\n  if (numberLine.counter !== undefined) {\n    const c = numberLine.counter;\n    counterItem = {\n      id:   idGenerator.generate(JSON_TYPES.NUMBER_LINE_COUNTER),\n      type: JSON_TYPES.NUMBER_LINE_COUNTER,\n      min:  c.min,\n      max:  c.max,\n      ...(c.default !== undefined && { default: c.default }),\n      ...(c.name    !== undefined && { name:    c.name }),\n      ...(c.answer  !== undefined && { answer:  c.answer }),\n    };\n  }\n\n  // ── 3c. Highlight overlays ────────────────────────────────────────────────\n  let highlights: NumberLineHighlightItem[] | undefined;\n  if (numberLine.highlights !== undefined && numberLine.highlights.length > 0) {\n    highlights = numberLine.highlights.map(h => ({\n      id:   idGenerator.generate(JSON_TYPES.NUMBER_LINE_HIGHLIGHT),\n      type: JSON_TYPES.NUMBER_LINE_HIGHLIGHT,\n      from: h.from,\n      to:   h.to,\n      ...(h.color !== undefined && { color: h.color }),\n      ...(h.label !== undefined && { label: h.label }),\n    }));\n  }\n\n  // ── 3d. Cursor overlays ───────────────────────────────────────────────────\n  let cursors: NumberLineCursorItem[] | undefined;\n  if (numberLine.cursors !== undefined && numberLine.cursors.length > 0) {\n    cursors = numberLine.cursors.map(c => ({\n      id:        idGenerator.generate(JSON_TYPES.NUMBER_LINE_CURSOR),\n      type:      JSON_TYPES.NUMBER_LINE_CURSOR,\n      value:     c.value,\n      answer:    c.answer,\n      fillRange: c.fillRange,\n      ...(c.color !== undefined && { color: c.color }),\n      ...(c.label !== undefined && { label: c.label }),\n    }));\n  }\n  // ── 3e. Arrow annotations ────────────────────────────────────────────────\n  let arrows: NumberLineArrowItem[] | undefined;\n  if (numberLine.arrows !== undefined && numberLine.arrows.length > 0) {\n    arrows = numberLine.arrows.map(a => ({\n      id:      idGenerator.generate(JSON_TYPES.NUMBER_LINE_ARROW),\n      type:    JSON_TYPES.NUMBER_LINE_ARROW,\n      from:    a.from,\n      to:      a.to,\n      ...(a.color !== undefined && { color: a.color }),\n      content: a.inlines.map(inline => transformInline(inline, idGenerator, inlineDragIds)),\n    }));\n  }\n\n  // ── Assemble in logical key order ────────────────────────────────────────\n  //   1. Core range   : id, type, min, max, step\n  //   2. Visual       : minorTicks?, style?, labelVisibility?\n  //   3. Overlays     : counter?, highlights?, cursors? , arrows?\n  //   4. Content      : positions\n  const item: NumberLineItem = {\n    id:   idGenerator.generate(JSON_TYPES.NUMBER_LINE),\n    type: JSON_TYPES.NUMBER_LINE,\n    min:  numberLine.min,\n    max:  numberLine.max,\n    step: numberLine.step,\n    ...(numberLine.minorTicks       !== undefined && { minorTicks:       numberLine.minorTicks }),\n    ...(numberLine.style            !== undefined && { style:            numberLine.style }),\n    ...(numberLine.labelVisibility  !== undefined && { labelVisibility:  numberLine.labelVisibility }),\n    ...(counterItem           !== undefined && { counter:    counterItem }),\n    ...(highlights            !== undefined && { highlights }),\n    ...(cursors               !== undefined && { cursors }),\n    ...(arrows                !== undefined && { arrows }),\n    ...(numberLine.dragMode   !== undefined && { dragMode:   numberLine.dragMode }),\n    positions,\n  };\n\n  return item satisfies NumberLineItem;\n}\n\n/**\n * Serialise a flat list of MatcherItem AST nodes into MatcherItemContent JSON\n * objects.  Shared by buildMatcherWidget (per-row items) and\n * buildPairMatcherWidget (top/bottom flat lists).\n */\nfunction mapMatcherItemList(\n  items: MatcherItem[],\n  idGenerator: LayoutIdGenerator,\n  inlineDragIds: Map<InlineNode, string>,\n): MatcherItemContent[] {\n  return items.map(item => ({\n    id: idGenerator.generate(JSON_TYPES.MATCHER_ITEM),\n    type: JSON_TYPES.MATCHER_ITEM,\n    itemId: item.itemId,\n    content: item.inlines.map(inline => transformInline(inline as InlineNode, idGenerator, inlineDragIds)),\n  }));\n}\n\n/**\n * Build a matcher widget entry (goes into the widgets record, not the layout).\n * The matcher name is used as the key in widgets, like radio-options.\n */\nfunction buildMatcherWidget(matcher: MatcherBlock, idGenerator: LayoutIdGenerator, inlineDragIds: Map<InlineNode, string>): MatcherWidgetJSON {\n  const rows: MatcherRowItem[] = matcher.rows.map(row => ({\n    id: idGenerator.generate(JSON_TYPES.MATCHER_ROW),\n    type: JSON_TYPES.MATCHER_ROW,\n    items: mapMatcherItemList(row.items, idGenerator, inlineDragIds),\n  } satisfies MatcherRowItem));\n\n  const result: MatcherWidgetJSON = {\n    type: JSON_TYPES.MATCHER,\n    rows,\n    groupCount: matcher.answers.length,\n  };\n  if (matcher.colors !== undefined) {\n    result.colors = matcher.colors;\n  }\n  return result;\n}\n\n/**\n * Build a pair-matcher widget entry.\n * Top and bottom items are serialised identically to matcher items via the\n * shared mapMatcherItemList helper.\n */\nfunction buildPairMatcherWidget(pm: PairMatcherBlock, idGenerator: LayoutIdGenerator, inlineDragIds: Map<InlineNode, string>): PairMatcherWidgetJSON {\n  return {\n    type: JSON_TYPES.PAIR_MATCHER,\n    topItems: mapMatcherItemList(pm.topItems, idGenerator, inlineDragIds),\n    bottomItems: mapMatcherItemList(pm.bottomItems, idGenerator, inlineDragIds),\n  };\n}\n\nfunction transformVerticalOperation(\n  vop: VerticalOperationBlock,\n  idGenerator: LayoutIdGenerator\n): VerticalOperationItem {\n  const anyRowHasOp = vop.items.some(\n    (item) => item.type === AST_TYPES.VOP_ROW && (item as VopRow).op !== undefined\n  );\n  if (!anyRowHasOp && vop.op === undefined) {\n    throw new Error('VERTICAL_OPERATION: at least one op is required (set op on the block or on individual ROWs)');\n  }\n\n  let cols = 1;\n  for (const item of vop.items) {\n    if (item.type === AST_TYPES.VOP_ROW || item.type === AST_TYPES.VOP_CARRY_ROW) {\n      cols = Math.max(cols, (item as VopRow | VopCarryRow).cells.length);\n    }\n  }\n\n  function buildCells(row: VopRow | VopCarryRow): VopCellItem[] {\n    return row.cells.map((cell) => {\n      const id = idGenerator.generate(JSON_TYPES.VOP_CELL);\n      if (cell.kind === 'digit') return { id, type: JSON_TYPES.VOP_CELL, kind: 'digit', value: cell.value };\n      if (cell.kind === 'label') return { id, type: JSON_TYPES.VOP_CELL, kind: 'label', value: cell.value };\n      if (cell.kind === 'color') return { id, type: JSON_TYPES.VOP_CELL, kind: 'color', value: cell.value, color: cell.color };\n      if (cell.kind === 'bold') return { id, type: JSON_TYPES.VOP_CELL, kind: 'bold', value: cell.value };\n      if (cell.kind === 'highlight') return { id, type: JSON_TYPES.VOP_CELL, kind: 'highlight', value: cell.value };\n      if (cell.kind === 'input') return { id, type: JSON_TYPES.VOP_CELL, kind: 'input', widgetId: cell.name };\n      return { id, type: JSON_TYPES.VOP_CELL, kind: 'empty' };\n    });\n  }\n\n  const items: Array<VopRowItem | VopCarryRowItem | VopSeparatorItem> = vop.items.map((item: VopBlockItem) => {\n    if (item.type === AST_TYPES.VOP_SEPARATOR) {\n      return {\n        id: idGenerator.generate(JSON_TYPES.VOP_SEPARATOR),\n        type: JSON_TYPES.VOP_SEPARATOR,\n      } satisfies VopSeparatorItem;\n    }\n    if (item.type === AST_TYPES.VOP_CARRY_ROW) {\n      return {\n        id: idGenerator.generate(JSON_TYPES.VOP_CARRY_ROW),\n        type: JSON_TYPES.VOP_CARRY_ROW,\n        cells: buildCells(item as VopCarryRow),\n      } satisfies VopCarryRowItem;\n    }\n    const row = item as VopRow;\n    return {\n      id: idGenerator.generate(JSON_TYPES.VOP_ROW),\n      type: JSON_TYPES.VOP_ROW,\n      cells: buildCells(row),\n      ...(row.op !== undefined && { op: row.op }),\n    } satisfies VopRowItem;\n  });\n\n  return {\n    id: idGenerator.generate(JSON_TYPES.VERTICAL_OPERATION),\n    type: JSON_TYPES.VERTICAL_OPERATION,\n    op: vop.op,\n    cols,\n    items,\n  } satisfies VerticalOperationItem;\n}\n\nfunction transformTable(table: TableBlock, idGenerator: LayoutIdGenerator, inlineDragIds: Map<InlineNode, string>): TableItem {\n  const rows: TableRowItem[] = table.rows.map(row => {\n    const cells: TableCellItem[] = row.cells.map(cell => {\n      const items = cell.inlines.map(inline => transformInline(inline, idGenerator, inlineDragIds));\n      const cellItem: TableCellItem = {\n        id: idGenerator.generate(JSON_TYPES.TABLE_CELL),\n        type: JSON_TYPES.TABLE_CELL,\n        items\n      };\n      if (cell.colspan !== undefined) {\n        cellItem.colspan = cell.colspan;\n      }\n      return cellItem;\n    });\n\n    return {\n      id: idGenerator.generate(JSON_TYPES.TABLE_ROW),\n      type: JSON_TYPES.TABLE_ROW,\n      cells\n    } satisfies TableRowItem;\n  });\n\n  return {\n    id: idGenerator.generate(JSON_TYPES.TABLE),\n    type: JSON_TYPES.TABLE,\n    cols: table.cols,\n    rows\n  } satisfies TableItem;\n}\n\n/**\n * Transform a line block into layout items\n */\nfunction transformLine(line: LineBlock, idGenerator: LayoutIdGenerator, inlineDragIds: Map<InlineNode, string>): LayoutItem[] {\n  const items: LayoutItem[] = [];\n\n  for (const inline of line.inlines) {\n    items.push(transformInline(inline, idGenerator, inlineDragIds));\n  }\n\n  // Add implicit line break\n  items.push({\n    id: idGenerator.generate(JSON_TYPES.LINEBREAK),\n    type: JSON_TYPES.LINEBREAK\n  });\n\n  return items;\n}\n\n/**\n * Transform an inline element into a layout item\n */\nfunction transformInline(inline: InlineNode, idGenerator: LayoutIdGenerator, inlineDragIds: Map<InlineNode, string>): LayoutItem {\n  switch (inline.type) {\n    case AST_TYPES.FREE_TEXT: {\n      const trimmed = inline.value.trim();\n      const operators = ['+', '-', '×', '÷', '=', '<', '>', '?'];\n\n      if (operators.includes(trimmed) && inline.value.trim() === inline.value) {\n        return {\n          id: idGenerator.generate('operator'),\n          type: 'operator',\n          operator: trimmed\n        };\n      }\n\n      return {\n        id: idGenerator.generate(JSON_TYPES.TEXT),\n        type: JSON_TYPES.TEXT,\n        value: inline.value\n      };\n    }\n\n    case AST_TYPES.SPACE:\n      return {\n        id: idGenerator.generate(JSON_TYPES.SPACE),\n        type: JSON_TYPES.SPACE\n      };\n\n    case AST_TYPES.HIGHLIGHTED_TEXT:\n      return {\n        id: idGenerator.generate(JSON_TYPES.HIGHLIGHTED_TEXT),\n        type: JSON_TYPES.HIGHLIGHTED_TEXT,\n        value: inline.value,\n        highlight: inline.highlight\n      };\n\n    case AST_TYPES.COLOR_TEXT:\n      return {\n        id: idGenerator.generate(JSON_TYPES.COLOR_TEXT),\n        type: JSON_TYPES.COLOR_TEXT,\n        value: inline.value,\n        color: inline.color,\n        highlight: inline.highlight\n      };\n\n    case AST_TYPES.BOLD_TEXT:\n      return {\n        id: idGenerator.generate(JSON_TYPES.BOLD_TEXT),\n        type: JSON_TYPES.BOLD_TEXT,\n        value: inline.value,\n        highlight: inline.highlight\n      };\n\n    case AST_TYPES.INLINE_INPUT:\n      return {\n        id: idGenerator.generate(JSON_TYPES.WIDGET_REF),\n        type: JSON_TYPES.WIDGET_REF,\n        widgetId: inline.name\n      };\n\n    case AST_TYPES.FRACTION:\n      return {\n        id: idGenerator.generate(JSON_TYPES.WIDGET_REF),\n        type: JSON_TYPES.WIDGET_REF,\n        widgetId: inline.name\n      };\n\n    case AST_TYPES.IMAGE:\n      return {\n        id: idGenerator.generate(JSON_TYPES.IMAGE),\n        type: JSON_TYPES.IMAGE,\n        name: inline.name,\n        src: inline.src,\n        alt: inline.alt,\n        ...(inline.width !== undefined && { width: inline.width }),\n        ...(inline.height !== undefined && { height: inline.height }),\n      };\n\n    case AST_TYPES.VISUAL_FRACTION:\n      return {\n        id: idGenerator.generate(JSON_TYPES.WIDGET_REF),\n        type: JSON_TYPES.WIDGET_REF,\n        widgetId: inline.name\n      };\n\n    case AST_TYPES.INLINE_DRAG_OPTION:\n      return {\n        id: idGenerator.generate(JSON_TYPES.WIDGET_REF),\n        type: JSON_TYPES.WIDGET_REF,\n        widgetId: inlineDragIds.get(inline)!,\n      };\n\n    case AST_TYPES.CLOCK: {\n      const base = {\n        id: idGenerator.generate(JSON_TYPES.CLOCK),\n        type: JSON_TYPES.CLOCK,\n        mode: inline.mode,\n        clockType: inline.clockType,\n        value: inline.value,\n        ...(inline.format !== undefined && { format: inline.format }),\n        ...(inline.name !== undefined && { name: inline.name }),\n      };\n      if (inline.mode === 'interactive') {\n        return { ...base, ...(inline.snap !== undefined && { snap: inline.snap }) };\n      }\n      return base;\n    }\n\n    default:\n      throw new Error(`Unknown inline type: ${(inline as any).type}`);\n  }\n}\n\n/**\n * Transform validation node into JSON validation\n */\nfunction transformValidation(\n  validation: ValidationNode,\n  answers: Record<string, string | number | string[][] | number[]>,\n  widgets: Record<string, WidgetJSON>\n): ValidationJSON {\n  if (validation.type === AST_TYPES.SIMPLE_VALIDATION) {\n    return {\n      mode: VALIDATION_MODES.SIMPLE,\n      answers\n    };\n  } else if (validation.type === AST_TYPES.EXPRESSION_VALIDATION) {\n    // Get valid variable names from widgets (these are the actual input names)\n    const validVariableNames = Object.keys(widgets);\n\n    // Extract variables from the expression, filtered by valid widget names\n    const variables = extractVariables(validation.expression, validVariableNames);\n\n    return {\n      mode: VALIDATION_MODES.EXPRESSION,\n      expression: validation.expression,\n      variables\n    };\n  } else if (validation.type === AST_TYPES.MIXED_VALIDATION) {\n    const validVariableNames = Object.keys(widgets);\n    const variables = extractVariables(validation.expression, validVariableNames);\n\n    // Dead-widget guard: any interactive widget without an `answer` and not\n    // referenced by the expression is unreachable in mixed mode. Display-only\n    // widgets (fully-literal fraction, filled visual-fraction with no answer)\n    // are still allowed for hint/illustration purposes.\n    const inExpression = new Set(variables);\n    for (const [name, widget] of Object.entries(widgets)) {\n      if (name.startsWith('_')) continue; // tools (e.g. _drag_options, _numeric_keypad)\n      if (name in answers) continue;\n      if (inExpression.has(name)) continue;\n\n      // Display-only allowances (no answer expected):\n      //   FRACTION with both literal numerator AND denominator → static display\n      if (widget.type === JSON_TYPES.FRACTION) {\n        const w = widget as any;\n        if (w.numerator !== null && w.denominator !== null) continue;\n      }\n      //   VISUAL_FRACTION with `filled` set and no `answer` → static display\n      if (widget.type === JSON_TYPES.VISUAL_FRACTION) {\n        const w = widget as any;\n        if (Array.isArray(w.filled) && w.filled.length > 0) continue;\n      }\n\n      throw new Error(\n        `Mixed validation: widget \"${name}\" has no \\`answer\\` and is not referenced in expression \"${validation.expression}\"`\n      );\n    }\n\n    return {\n      mode: VALIDATION_MODES.MIXED,\n      expression: validation.expression,\n      answers,\n      variables\n    };\n  }\n\n  throw new Error(`Unknown validation type: ${(validation as any).type}`);\n}\n\n/**\n * Extract variable names from an expression\n * Simple regex-based extraction\n *\n * @param expression - The expression to analyze\n * @param validVariables - Optional list of valid variable names to filter by (e.g., from exercise widgets)\n */\nfunction extractVariables(expression: string, validVariables?: string[]): string[] {\n  const matches = expression.match(/\\b[a-zA-Z_][a-zA-Z0-9_]*\\b/g) || [];\n\n  // Filter out boolean literals and keywords\n  const variables = matches.filter(v =>\n    v !== 'true' &&\n    v !== 'false' &&\n    v !== 'null' &&\n    v !== 'undefined'\n  );\n\n  // Return unique variables\n  const uniqueVars = Array.from(new Set(variables));\n\n  // If validVariables is provided, only return variables that are in the valid list\n  if (validVariables && validVariables.length > 0) {\n    return uniqueVars.filter(v => validVariables.includes(v));\n  }\n\n  return uniqueVars;\n}\n","import { INTERNAL_PRECISION } from '../constants';\n\n/**\n * Normalises a value for comparison: rounds numbers (and numeric strings) to\n * INTERNAL_PRECISION decimal places; trims/lowercases/unquotes other strings.\n */\nexport function normalize(value: string | number): string {\n  if (typeof value === 'number') {\n    return String(Math.round(value * 10 ** INTERNAL_PRECISION) / 10 ** INTERNAL_PRECISION);\n  }\n  const trimmed = String(value).trim().toLowerCase().replace(/^[\"']|[\"']$/g, '');\n  const asNum = Number(trimmed);\n  if (trimmed !== '' && !isNaN(asNum)) {\n    return String(Math.round(asNum * 10 ** INTERNAL_PRECISION) / 10 ** INTERNAL_PRECISION);\n  }\n  return trimmed;\n}\n","\nimport { normalize } from './index';\n\n// Number-line encoding contract — shared between validators and renderer.\n\n/** Prefix that marks NL drag values. Uses \\x00 (null byte) — cannot appear in\n *  user-typed text, making `startsWith(NL_DRAG_PREFIX)` an exact discriminant. */\nexport const NL_DRAG_PREFIX = '\\x00nl-drag\\x00' as const;\n\n/** Returns true only for values produced by `encodeNLDragValue`. */\nexport const isNLDragEncoded = (v: string): boolean => v.startsWith(NL_DRAG_PREFIX);\n\n/** Encodes a chip drop as `NL_DRAG_PREFIX + label + \"@\" + position`.\n *  Both chip identity and placement travel together for validation. */\nexport const encodeNLDragValue = (label: string, position: number): string =>\n  `${NL_DRAG_PREFIX}${label}@${String(position)}`;\n\n\n/**\n * Validates a drag answer by comparing chip label and snap position independently.\n *\n * - `expectedLabel`    — the correct answer value (from `answer=` on the widget)\n * - `expectedPosition` — the axis value where the chip must land (from `POSITION[value=…]` in the DSL)\n * @example\n * // POSITION[value=3] with NUMERIC_INPUT[answer=7]: chip '7' must land at 3\n * isNLDragCorrect(encodeNLDragValue('7', 3), '7', 3)   // → true\n */\nexport function isNLDragCorrect(\n  encoded: string,\n  expectedLabel: string | number,\n  expectedPosition: string | number\n): boolean {\n  const payload  = encoded.slice(NL_DRAG_PREFIX.length);\n  const atIdx    = payload.lastIndexOf('@'); // lastIndexOf: position is always the last segment, labels may contain '@'\n  const label    = normalize(payload.slice(0, atIdx));\n  const position = normalize(payload.slice(atIdx + 1));\n  return label === normalize(expectedLabel) && position === normalize(expectedPosition);\n}\n","/**\n * @license\n * Lodash <https://lodash.com/>\n * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n;(function() {\n\n  /** Used as a safe reference for `undefined` in pre-ES5 environments. */\n  var undefined;\n\n  /** Used as the semantic version number. */\n  var VERSION = '4.17.21';\n\n  /** Used as the size to enable large array optimizations. */\n  var LARGE_ARRAY_SIZE = 200;\n\n  /** Error message constants. */\n  var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',\n      FUNC_ERROR_TEXT = 'Expected a function',\n      INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`';\n\n  /** Used to stand-in for `undefined` hash values. */\n  var HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n  /** Used as the maximum memoize cache size. */\n  var MAX_MEMOIZE_SIZE = 500;\n\n  /** Used as the internal argument placeholder. */\n  var PLACEHOLDER = '__lodash_placeholder__';\n\n  /** Used to compose bitmasks for cloning. */\n  var CLONE_DEEP_FLAG = 1,\n      CLONE_FLAT_FLAG = 2,\n      CLONE_SYMBOLS_FLAG = 4;\n\n  /** Used to compose bitmasks for value comparisons. */\n  var COMPARE_PARTIAL_FLAG = 1,\n      COMPARE_UNORDERED_FLAG = 2;\n\n  /** Used to compose bitmasks for function metadata. */\n  var WRAP_BIND_FLAG = 1,\n      WRAP_BIND_KEY_FLAG = 2,\n      WRAP_CURRY_BOUND_FLAG = 4,\n      WRAP_CURRY_FLAG = 8,\n      WRAP_CURRY_RIGHT_FLAG = 16,\n      WRAP_PARTIAL_FLAG = 32,\n      WRAP_PARTIAL_RIGHT_FLAG = 64,\n      WRAP_ARY_FLAG = 128,\n      WRAP_REARG_FLAG = 256,\n      WRAP_FLIP_FLAG = 512;\n\n  /** Used as default options for `_.truncate`. */\n  var DEFAULT_TRUNC_LENGTH = 30,\n      DEFAULT_TRUNC_OMISSION = '...';\n\n  /** Used to detect hot functions by number of calls within a span of milliseconds. */\n  var HOT_COUNT = 800,\n      HOT_SPAN = 16;\n\n  /** Used to indicate the type of lazy iteratees. */\n  var LAZY_FILTER_FLAG = 1,\n      LAZY_MAP_FLAG = 2,\n      LAZY_WHILE_FLAG = 3;\n\n  /** Used as references for various `Number` constants. */\n  var INFINITY = 1 / 0,\n      MAX_SAFE_INTEGER = 9007199254740991,\n      MAX_INTEGER = 1.7976931348623157e+308,\n      NAN = 0 / 0;\n\n  /** Used as references for the maximum length and index of an array. */\n  var MAX_ARRAY_LENGTH = 4294967295,\n      MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,\n      HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;\n\n  /** Used to associate wrap methods with their bit flags. */\n  var wrapFlags = [\n    ['ary', WRAP_ARY_FLAG],\n    ['bind', WRAP_BIND_FLAG],\n    ['bindKey', WRAP_BIND_KEY_FLAG],\n    ['curry', WRAP_CURRY_FLAG],\n    ['curryRight', WRAP_CURRY_RIGHT_FLAG],\n    ['flip', WRAP_FLIP_FLAG],\n    ['partial', WRAP_PARTIAL_FLAG],\n    ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\n    ['rearg', WRAP_REARG_FLAG]\n  ];\n\n  /** `Object#toString` result references. */\n  var argsTag = '[object Arguments]',\n      arrayTag = '[object Array]',\n      asyncTag = '[object AsyncFunction]',\n      boolTag = '[object Boolean]',\n      dateTag = '[object Date]',\n      domExcTag = '[object DOMException]',\n      errorTag = '[object Error]',\n      funcTag = '[object Function]',\n      genTag = '[object GeneratorFunction]',\n      mapTag = '[object Map]',\n      numberTag = '[object Number]',\n      nullTag = '[object Null]',\n      objectTag = '[object Object]',\n      promiseTag = '[object Promise]',\n      proxyTag = '[object Proxy]',\n      regexpTag = '[object RegExp]',\n      setTag = '[object Set]',\n      stringTag = '[object String]',\n      symbolTag = '[object Symbol]',\n      undefinedTag = '[object Undefined]',\n      weakMapTag = '[object WeakMap]',\n      weakSetTag = '[object WeakSet]';\n\n  var arrayBufferTag = '[object ArrayBuffer]',\n      dataViewTag = '[object DataView]',\n      float32Tag = '[object Float32Array]',\n      float64Tag = '[object Float64Array]',\n      int8Tag = '[object Int8Array]',\n      int16Tag = '[object Int16Array]',\n      int32Tag = '[object Int32Array]',\n      uint8Tag = '[object Uint8Array]',\n      uint8ClampedTag = '[object Uint8ClampedArray]',\n      uint16Tag = '[object Uint16Array]',\n      uint32Tag = '[object Uint32Array]';\n\n  /** Used to match empty string literals in compiled template source. */\n  var reEmptyStringLeading = /\\b__p \\+= '';/g,\n      reEmptyStringMiddle = /\\b(__p \\+=) '' \\+/g,\n      reEmptyStringTrailing = /(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g;\n\n  /** Used to match HTML entities and HTML characters. */\n  var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g,\n      reUnescapedHtml = /[&<>\"']/g,\n      reHasEscapedHtml = RegExp(reEscapedHtml.source),\n      reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\n\n  /** Used to match template delimiters. */\n  var reEscape = /<%-([\\s\\S]+?)%>/g,\n      reEvaluate = /<%([\\s\\S]+?)%>/g,\n      reInterpolate = /<%=([\\s\\S]+?)%>/g;\n\n  /** Used to match property names within property paths. */\n  var reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n      reIsPlainProp = /^\\w*$/,\n      rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n  /**\n   * Used to match `RegExp`\n   * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n   */\n  var reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n      reHasRegExpChar = RegExp(reRegExpChar.source);\n\n  /** Used to match leading whitespace. */\n  var reTrimStart = /^\\s+/;\n\n  /** Used to match a single whitespace character. */\n  var reWhitespace = /\\s/;\n\n  /** Used to match wrap detail comments. */\n  var reWrapComment = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,\n      reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n      reSplitDetails = /,? & /;\n\n  /** Used to match words composed of alphanumeric characters. */\n  var reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n  /**\n   * Used to validate the `validate` option in `_.template` variable.\n   *\n   * Forbids characters which could potentially change the meaning of the function argument definition:\n   * - \"(),\" (modification of function parameters)\n   * - \"=\" (default value)\n   * - \"[]{}\" (destructuring of function parameters)\n   * - \"/\" (beginning of a comment)\n   * - whitespace\n   */\n  var reForbiddenIdentifierChars = /[()=,{}\\[\\]\\/\\s]/;\n\n  /** Used to match backslashes in property paths. */\n  var reEscapeChar = /\\\\(\\\\)?/g;\n\n  /**\n   * Used to match\n   * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).\n   */\n  var reEsTemplate = /\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g;\n\n  /** Used to match `RegExp` flags from their coerced string values. */\n  var reFlags = /\\w*$/;\n\n  /** Used to detect bad signed hexadecimal string values. */\n  var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n  /** Used to detect binary string values. */\n  var reIsBinary = /^0b[01]+$/i;\n\n  /** Used to detect host constructors (Safari). */\n  var reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n  /** Used to detect octal string values. */\n  var reIsOctal = /^0o[0-7]+$/i;\n\n  /** Used to detect unsigned integer values. */\n  var reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n  /** Used to match Latin Unicode letters (excluding mathematical operators). */\n  var reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n  /** Used to ensure capturing order of template delimiters. */\n  var reNoMatch = /($^)/;\n\n  /** Used to match unescaped characters in compiled string literals. */\n  var reUnescapedString = /['\\n\\r\\u2028\\u2029\\\\]/g;\n\n  /** Used to compose unicode character classes. */\n  var rsAstralRange = '\\\\ud800-\\\\udfff',\n      rsComboMarksRange = '\\\\u0300-\\\\u036f',\n      reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n      rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n      rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n      rsDingbatRange = '\\\\u2700-\\\\u27bf',\n      rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n      rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n      rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n      rsPunctuationRange = '\\\\u2000-\\\\u206f',\n      rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n      rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n      rsVarRange = '\\\\ufe0e\\\\ufe0f',\n      rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n  /** Used to compose unicode capture groups. */\n  var rsApos = \"['\\u2019]\",\n      rsAstral = '[' + rsAstralRange + ']',\n      rsBreak = '[' + rsBreakRange + ']',\n      rsCombo = '[' + rsComboRange + ']',\n      rsDigits = '\\\\d+',\n      rsDingbat = '[' + rsDingbatRange + ']',\n      rsLower = '[' + rsLowerRange + ']',\n      rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n      rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n      rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n      rsNonAstral = '[^' + rsAstralRange + ']',\n      rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n      rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n      rsUpper = '[' + rsUpperRange + ']',\n      rsZWJ = '\\\\u200d';\n\n  /** Used to compose unicode regexes. */\n  var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n      rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n      rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n      rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n      reOptMod = rsModifier + '?',\n      rsOptVar = '[' + rsVarRange + ']?',\n      rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n      rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n      rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n      rsSeq = rsOptVar + reOptMod + rsOptJoin,\n      rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,\n      rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n  /** Used to match apostrophes. */\n  var reApos = RegExp(rsApos, 'g');\n\n  /**\n   * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n   * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n   */\n  var reComboMark = RegExp(rsCombo, 'g');\n\n  /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\n  var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n  /** Used to match complex or compound words. */\n  var reUnicodeWord = RegExp([\n    rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n    rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n    rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n    rsUpper + '+' + rsOptContrUpper,\n    rsOrdUpper,\n    rsOrdLower,\n    rsDigits,\n    rsEmoji\n  ].join('|'), 'g');\n\n  /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\n  var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange  + rsComboRange + rsVarRange + ']');\n\n  /** Used to detect strings that need a more robust regexp to match words. */\n  var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n  /** Used to assign default `context` object properties. */\n  var contextProps = [\n    'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array',\n    'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object',\n    'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array',\n    'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap',\n    '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout'\n  ];\n\n  /** Used to make template sourceURLs easier to identify. */\n  var templateCounter = -1;\n\n  /** Used to identify `toStringTag` values of typed arrays. */\n  var typedArrayTags = {};\n  typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n  typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n  typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n  typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n  typedArrayTags[uint32Tag] = true;\n  typedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n  typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n  typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\n  typedArrayTags[errorTag] = typedArrayTags[funcTag] =\n  typedArrayTags[mapTag] = typedArrayTags[numberTag] =\n  typedArrayTags[objectTag] = typedArrayTags[regexpTag] =\n  typedArrayTags[setTag] = typedArrayTags[stringTag] =\n  typedArrayTags[weakMapTag] = false;\n\n  /** Used to identify `toStringTag` values supported by `_.clone`. */\n  var cloneableTags = {};\n  cloneableTags[argsTag] = cloneableTags[arrayTag] =\n  cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\n  cloneableTags[boolTag] = cloneableTags[dateTag] =\n  cloneableTags[float32Tag] = cloneableTags[float64Tag] =\n  cloneableTags[int8Tag] = cloneableTags[int16Tag] =\n  cloneableTags[int32Tag] = cloneableTags[mapTag] =\n  cloneableTags[numberTag] = cloneableTags[objectTag] =\n  cloneableTags[regexpTag] = cloneableTags[setTag] =\n  cloneableTags[stringTag] = cloneableTags[symbolTag] =\n  cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n  cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n  cloneableTags[errorTag] = cloneableTags[funcTag] =\n  cloneableTags[weakMapTag] = false;\n\n  /** Used to map Latin Unicode letters to basic Latin letters. */\n  var deburredLetters = {\n    // Latin-1 Supplement block.\n    '\\xc0': 'A',  '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n    '\\xe0': 'a',  '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n    '\\xc7': 'C',  '\\xe7': 'c',\n    '\\xd0': 'D',  '\\xf0': 'd',\n    '\\xc8': 'E',  '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n    '\\xe8': 'e',  '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n    '\\xcc': 'I',  '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n    '\\xec': 'i',  '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n    '\\xd1': 'N',  '\\xf1': 'n',\n    '\\xd2': 'O',  '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n    '\\xf2': 'o',  '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n    '\\xd9': 'U',  '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n    '\\xf9': 'u',  '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n    '\\xdd': 'Y',  '\\xfd': 'y', '\\xff': 'y',\n    '\\xc6': 'Ae', '\\xe6': 'ae',\n    '\\xde': 'Th', '\\xfe': 'th',\n    '\\xdf': 'ss',\n    // Latin Extended-A block.\n    '\\u0100': 'A',  '\\u0102': 'A', '\\u0104': 'A',\n    '\\u0101': 'a',  '\\u0103': 'a', '\\u0105': 'a',\n    '\\u0106': 'C',  '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n    '\\u0107': 'c',  '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n    '\\u010e': 'D',  '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n    '\\u0112': 'E',  '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n    '\\u0113': 'e',  '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n    '\\u011c': 'G',  '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n    '\\u011d': 'g',  '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n    '\\u0124': 'H',  '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n    '\\u0128': 'I',  '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n    '\\u0129': 'i',  '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n    '\\u0134': 'J',  '\\u0135': 'j',\n    '\\u0136': 'K',  '\\u0137': 'k', '\\u0138': 'k',\n    '\\u0139': 'L',  '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n    '\\u013a': 'l',  '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n    '\\u0143': 'N',  '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n    '\\u0144': 'n',  '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n    '\\u014c': 'O',  '\\u014e': 'O', '\\u0150': 'O',\n    '\\u014d': 'o',  '\\u014f': 'o', '\\u0151': 'o',\n    '\\u0154': 'R',  '\\u0156': 'R', '\\u0158': 'R',\n    '\\u0155': 'r',  '\\u0157': 'r', '\\u0159': 'r',\n    '\\u015a': 'S',  '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n    '\\u015b': 's',  '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n    '\\u0162': 'T',  '\\u0164': 'T', '\\u0166': 'T',\n    '\\u0163': 't',  '\\u0165': 't', '\\u0167': 't',\n    '\\u0168': 'U',  '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n    '\\u0169': 'u',  '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n    '\\u0174': 'W',  '\\u0175': 'w',\n    '\\u0176': 'Y',  '\\u0177': 'y', '\\u0178': 'Y',\n    '\\u0179': 'Z',  '\\u017b': 'Z', '\\u017d': 'Z',\n    '\\u017a': 'z',  '\\u017c': 'z', '\\u017e': 'z',\n    '\\u0132': 'IJ', '\\u0133': 'ij',\n    '\\u0152': 'Oe', '\\u0153': 'oe',\n    '\\u0149': \"'n\", '\\u017f': 's'\n  };\n\n  /** Used to map characters to HTML entities. */\n  var htmlEscapes = {\n    '&': '&amp;',\n    '<': '&lt;',\n    '>': '&gt;',\n    '\"': '&quot;',\n    \"'\": '&#39;'\n  };\n\n  /** Used to map HTML entities to characters. */\n  var htmlUnescapes = {\n    '&amp;': '&',\n    '&lt;': '<',\n    '&gt;': '>',\n    '&quot;': '\"',\n    '&#39;': \"'\"\n  };\n\n  /** Used to escape characters for inclusion in compiled string literals. */\n  var stringEscapes = {\n    '\\\\': '\\\\',\n    \"'\": \"'\",\n    '\\n': 'n',\n    '\\r': 'r',\n    '\\u2028': 'u2028',\n    '\\u2029': 'u2029'\n  };\n\n  /** Built-in method references without a dependency on `root`. */\n  var freeParseFloat = parseFloat,\n      freeParseInt = parseInt;\n\n  /** Detect free variable `global` from Node.js. */\n  var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n  /** Detect free variable `self`. */\n  var freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n  /** Used as a reference to the global object. */\n  var root = freeGlobal || freeSelf || Function('return this')();\n\n  /** Detect free variable `exports`. */\n  var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n  /** Detect free variable `module`. */\n  var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n  /** Detect the popular CommonJS extension `module.exports`. */\n  var moduleExports = freeModule && freeModule.exports === freeExports;\n\n  /** Detect free variable `process` from Node.js. */\n  var freeProcess = moduleExports && freeGlobal.process;\n\n  /** Used to access faster Node.js helpers. */\n  var nodeUtil = (function() {\n    try {\n      // Use `util.types` for Node.js 10+.\n      var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n      if (types) {\n        return types;\n      }\n\n      // Legacy `process.binding('util')` for Node.js < 10.\n      return freeProcess && freeProcess.binding && freeProcess.binding('util');\n    } catch (e) {}\n  }());\n\n  /* Node.js helper references. */\n  var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer,\n      nodeIsDate = nodeUtil && nodeUtil.isDate,\n      nodeIsMap = nodeUtil && nodeUtil.isMap,\n      nodeIsRegExp = nodeUtil && nodeUtil.isRegExp,\n      nodeIsSet = nodeUtil && nodeUtil.isSet,\n      nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n  /*--------------------------------------------------------------------------*/\n\n  /**\n   * A faster alternative to `Function#apply`, this function invokes `func`\n   * with the `this` binding of `thisArg` and the arguments of `args`.\n   *\n   * @private\n   * @param {Function} func The function to invoke.\n   * @param {*} thisArg The `this` binding of `func`.\n   * @param {Array} args The arguments to invoke `func` with.\n   * @returns {*} Returns the result of `func`.\n   */\n  function apply(func, thisArg, args) {\n    switch (args.length) {\n      case 0: return func.call(thisArg);\n      case 1: return func.call(thisArg, args[0]);\n      case 2: return func.call(thisArg, args[0], args[1]);\n      case 3: return func.call(thisArg, args[0], args[1], args[2]);\n    }\n    return func.apply(thisArg, args);\n  }\n\n  /**\n   * A specialized version of `baseAggregator` for arrays.\n   *\n   * @private\n   * @param {Array} [array] The array to iterate over.\n   * @param {Function} setter The function to set `accumulator` values.\n   * @param {Function} iteratee The iteratee to transform keys.\n   * @param {Object} accumulator The initial aggregated object.\n   * @returns {Function} Returns `accumulator`.\n   */\n  function arrayAggregator(array, setter, iteratee, accumulator) {\n    var index = -1,\n        length = array == null ? 0 : array.length;\n\n    while (++index < length) {\n      var value = array[index];\n      setter(accumulator, value, iteratee(value), array);\n    }\n    return accumulator;\n  }\n\n  /**\n   * A specialized version of `_.forEach` for arrays without support for\n   * iteratee shorthands.\n   *\n   * @private\n   * @param {Array} [array] The array to iterate over.\n   * @param {Function} iteratee The function invoked per iteration.\n   * @returns {Array} Returns `array`.\n   */\n  function arrayEach(array, iteratee) {\n    var index = -1,\n        length = array == null ? 0 : array.length;\n\n    while (++index < length) {\n      if (iteratee(array[index], index, array) === false) {\n        break;\n      }\n    }\n    return array;\n  }\n\n  /**\n   * A specialized version of `_.forEachRight` for arrays without support for\n   * iteratee shorthands.\n   *\n   * @private\n   * @param {Array} [array] The array to iterate over.\n   * @param {Function} iteratee The function invoked per iteration.\n   * @returns {Array} Returns `array`.\n   */\n  function arrayEachRight(array, iteratee) {\n    var length = array == null ? 0 : array.length;\n\n    while (length--) {\n      if (iteratee(array[length], length, array) === false) {\n        break;\n      }\n    }\n    return array;\n  }\n\n  /**\n   * A specialized version of `_.every` for arrays without support for\n   * iteratee shorthands.\n   *\n   * @private\n   * @param {Array} [array] The array to iterate over.\n   * @param {Function} predicate The function invoked per iteration.\n   * @returns {boolean} Returns `true` if all elements pass the predicate check,\n   *  else `false`.\n   */\n  function arrayEvery(array, predicate) {\n    var index = -1,\n        length = array == null ? 0 : array.length;\n\n    while (++index < length) {\n      if (!predicate(array[index], index, array)) {\n        return false;\n      }\n    }\n    return true;\n  }\n\n  /**\n   * A specialized version of `_.filter` for arrays without support for\n   * iteratee shorthands.\n   *\n   * @private\n   * @param {Array} [array] The array to iterate over.\n   * @param {Function} predicate The function invoked per iteration.\n   * @returns {Array} Returns the new filtered array.\n   */\n  function arrayFilter(array, predicate) {\n    var index = -1,\n        length = array == null ? 0 : array.length,\n        resIndex = 0,\n        result = [];\n\n    while (++index < length) {\n      var value = array[index];\n      if (predicate(value, index, array)) {\n        result[resIndex++] = value;\n      }\n    }\n    return result;\n  }\n\n  /**\n   * A specialized version of `_.includes` for arrays without support for\n   * specifying an index to search from.\n   *\n   * @private\n   * @param {Array} [array] The array to inspect.\n   * @param {*} target The value to search for.\n   * @returns {boolean} Returns `true` if `target` is found, else `false`.\n   */\n  function arrayIncludes(array, value) {\n    var length = array == null ? 0 : array.length;\n    return !!length && baseIndexOf(array, value, 0) > -1;\n  }\n\n  /**\n   * This function is like `arrayIncludes` except that it accepts a comparator.\n   *\n   * @private\n   * @param {Array} [array] The array to inspect.\n   * @param {*} target The value to search for.\n   * @param {Function} comparator The comparator invoked per element.\n   * @returns {boolean} Returns `true` if `target` is found, else `false`.\n   */\n  function arrayIncludesWith(array, value, comparator) {\n    var index = -1,\n        length = array == null ? 0 : array.length;\n\n    while (++index < length) {\n      if (comparator(value, array[index])) {\n        return true;\n      }\n    }\n    return false;\n  }\n\n  /**\n   * A specialized version of `_.map` for arrays without support for iteratee\n   * shorthands.\n   *\n   * @private\n   * @param {Array} [array] The array to iterate over.\n   * @param {Function} iteratee The function invoked per iteration.\n   * @returns {Array} Returns the new mapped array.\n   */\n  function arrayMap(array, iteratee) {\n    var index = -1,\n        length = array == null ? 0 : array.length,\n        result = Array(length);\n\n    while (++index < length) {\n      result[index] = iteratee(array[index], index, array);\n    }\n    return result;\n  }\n\n  /**\n   * Appends the elements of `values` to `array`.\n   *\n   * @private\n   * @param {Array} array The array to modify.\n   * @param {Array} values The values to append.\n   * @returns {Array} Returns `array`.\n   */\n  function arrayPush(array, values) {\n    var index = -1,\n        length = values.length,\n        offset = array.length;\n\n    while (++index < length) {\n      array[offset + index] = values[index];\n    }\n    return array;\n  }\n\n  /**\n   * A specialized version of `_.reduce` for arrays without support for\n   * iteratee shorthands.\n   *\n   * @private\n   * @param {Array} [array] The array to iterate over.\n   * @param {Function} iteratee The function invoked per iteration.\n   * @param {*} [accumulator] The initial value.\n   * @param {boolean} [initAccum] Specify using the first element of `array` as\n   *  the initial value.\n   * @returns {*} Returns the accumulated value.\n   */\n  function arrayReduce(array, iteratee, accumulator, initAccum) {\n    var index = -1,\n        length = array == null ? 0 : array.length;\n\n    if (initAccum && length) {\n      accumulator = array[++index];\n    }\n    while (++index < length) {\n      accumulator = iteratee(accumulator, array[index], index, array);\n    }\n    return accumulator;\n  }\n\n  /**\n   * A specialized version of `_.reduceRight` for arrays without support for\n   * iteratee shorthands.\n   *\n   * @private\n   * @param {Array} [array] The array to iterate over.\n   * @param {Function} iteratee The function invoked per iteration.\n   * @param {*} [accumulator] The initial value.\n   * @param {boolean} [initAccum] Specify using the last element of `array` as\n   *  the initial value.\n   * @returns {*} Returns the accumulated value.\n   */\n  function arrayReduceRight(array, iteratee, accumulator, initAccum) {\n    var length = array == null ? 0 : array.length;\n    if (initAccum && length) {\n      accumulator = array[--length];\n    }\n    while (length--) {\n      accumulator = iteratee(accumulator, array[length], length, array);\n    }\n    return accumulator;\n  }\n\n  /**\n   * A specialized version of `_.some` for arrays without support for iteratee\n   * shorthands.\n   *\n   * @private\n   * @param {Array} [array] The array to iterate over.\n   * @param {Function} predicate The function invoked per iteration.\n   * @returns {boolean} Returns `true` if any element passes the predicate check,\n   *  else `false`.\n   */\n  function arraySome(array, predicate) {\n    var index = -1,\n        length = array == null ? 0 : array.length;\n\n    while (++index < length) {\n      if (predicate(array[index], index, array)) {\n        return true;\n      }\n    }\n    return false;\n  }\n\n  /**\n   * Gets the size of an ASCII `string`.\n   *\n   * @private\n   * @param {string} string The string inspect.\n   * @returns {number} Returns the string size.\n   */\n  var asciiSize = baseProperty('length');\n\n  /**\n   * Converts an ASCII `string` to an array.\n   *\n   * @private\n   * @param {string} string The string to convert.\n   * @returns {Array} Returns the converted array.\n   */\n  function asciiToArray(string) {\n    return string.split('');\n  }\n\n  /**\n   * Splits an ASCII `string` into an array of its words.\n   *\n   * @private\n   * @param {string} The string to inspect.\n   * @returns {Array} Returns the words of `string`.\n   */\n  function asciiWords(string) {\n    return string.match(reAsciiWord) || [];\n  }\n\n  /**\n   * The base implementation of methods like `_.findKey` and `_.findLastKey`,\n   * without support for iteratee shorthands, which iterates over `collection`\n   * using `eachFunc`.\n   *\n   * @private\n   * @param {Array|Object} collection The collection to inspect.\n   * @param {Function} predicate The function invoked per iteration.\n   * @param {Function} eachFunc The function to iterate over `collection`.\n   * @returns {*} Returns the found element or its key, else `undefined`.\n   */\n  function baseFindKey(collection, predicate, eachFunc) {\n    var result;\n    eachFunc(collection, function(value, key, collection) {\n      if (predicate(value, key, collection)) {\n        result = key;\n        return false;\n      }\n    });\n    return result;\n  }\n\n  /**\n   * The base implementation of `_.findIndex` and `_.findLastIndex` without\n   * support for iteratee shorthands.\n   *\n   * @private\n   * @param {Array} array The array to inspect.\n   * @param {Function} predicate The function invoked per iteration.\n   * @param {number} fromIndex The index to search from.\n   * @param {boolean} [fromRight] Specify iterating from right to left.\n   * @returns {number} Returns the index of the matched value, else `-1`.\n   */\n  function baseFindIndex(array, predicate, fromIndex, fromRight) {\n    var length = array.length,\n        index = fromIndex + (fromRight ? 1 : -1);\n\n    while ((fromRight ? index-- : ++index < length)) {\n      if (predicate(array[index], index, array)) {\n        return index;\n      }\n    }\n    return -1;\n  }\n\n  /**\n   * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n   *\n   * @private\n   * @param {Array} array The array to inspect.\n   * @param {*} value The value to search for.\n   * @param {number} fromIndex The index to search from.\n   * @returns {number} Returns the index of the matched value, else `-1`.\n   */\n  function baseIndexOf(array, value, fromIndex) {\n    return value === value\n      ? strictIndexOf(array, value, fromIndex)\n      : baseFindIndex(array, baseIsNaN, fromIndex);\n  }\n\n  /**\n   * This function is like `baseIndexOf` except that it accepts a comparator.\n   *\n   * @private\n   * @param {Array} array The array to inspect.\n   * @param {*} value The value to search for.\n   * @param {number} fromIndex The index to search from.\n   * @param {Function} comparator The comparator invoked per element.\n   * @returns {number} Returns the index of the matched value, else `-1`.\n   */\n  function baseIndexOfWith(array, value, fromIndex, comparator) {\n    var index = fromIndex - 1,\n        length = array.length;\n\n    while (++index < length) {\n      if (comparator(array[index], value)) {\n        return index;\n      }\n    }\n    return -1;\n  }\n\n  /**\n   * The base implementation of `_.isNaN` without support for number objects.\n   *\n   * @private\n   * @param {*} value The value to check.\n   * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n   */\n  function baseIsNaN(value) {\n    return value !== value;\n  }\n\n  /**\n   * The base implementation of `_.mean` and `_.meanBy` without support for\n   * iteratee shorthands.\n   *\n   * @private\n   * @param {Array} array The array to iterate over.\n   * @param {Function} iteratee The function invoked per iteration.\n   * @returns {number} Returns the mean.\n   */\n  function baseMean(array, iteratee) {\n    var length = array == null ? 0 : array.length;\n    return length ? (baseSum(array, iteratee) / length) : NAN;\n  }\n\n  /**\n   * The base implementation of `_.property` without support for deep paths.\n   *\n   * @private\n   * @param {string} key The key of the property to get.\n   * @returns {Function} Returns the new accessor function.\n   */\n  function baseProperty(key) {\n    return function(object) {\n      return object == null ? undefined : object[key];\n    };\n  }\n\n  /**\n   * The base implementation of `_.propertyOf` without support for deep paths.\n   *\n   * @private\n   * @param {Object} object The object to query.\n   * @returns {Function} Returns the new accessor function.\n   */\n  function basePropertyOf(object) {\n    return function(key) {\n      return object == null ? undefined : object[key];\n    };\n  }\n\n  /**\n   * The base implementation of `_.reduce` and `_.reduceRight`, without support\n   * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n   *\n   * @private\n   * @param {Array|Object} collection The collection to iterate over.\n   * @param {Function} iteratee The function invoked per iteration.\n   * @param {*} accumulator The initial value.\n   * @param {boolean} initAccum Specify using the first or last element of\n   *  `collection` as the initial value.\n   * @param {Function} eachFunc The function to iterate over `collection`.\n   * @returns {*} Returns the accumulated value.\n   */\n  function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n    eachFunc(collection, function(value, index, collection) {\n      accumulator = initAccum\n        ? (initAccum = false, value)\n        : iteratee(accumulator, value, index, collection);\n    });\n    return accumulator;\n  }\n\n  /**\n   * The base implementation of `_.sortBy` which uses `comparer` to define the\n   * sort order of `array` and replaces criteria objects with their corresponding\n   * values.\n   *\n   * @private\n   * @param {Array} array The array to sort.\n   * @param {Function} comparer The function to define sort order.\n   * @returns {Array} Returns `array`.\n   */\n  function baseSortBy(array, comparer) {\n    var length = array.length;\n\n    array.sort(comparer);\n    while (length--) {\n      array[length] = array[length].value;\n    }\n    return array;\n  }\n\n  /**\n   * The base implementation of `_.sum` and `_.sumBy` without support for\n   * iteratee shorthands.\n   *\n   * @private\n   * @param {Array} array The array to iterate over.\n   * @param {Function} iteratee The function invoked per iteration.\n   * @returns {number} Returns the sum.\n   */\n  function baseSum(array, iteratee) {\n    var result,\n        index = -1,\n        length = array.length;\n\n    while (++index < length) {\n      var current = iteratee(array[index]);\n      if (current !== undefined) {\n        result = result === undefined ? current : (result + current);\n      }\n    }\n    return result;\n  }\n\n  /**\n   * The base implementation of `_.times` without support for iteratee shorthands\n   * or max array length checks.\n   *\n   * @private\n   * @param {number} n The number of times to invoke `iteratee`.\n   * @param {Function} iteratee The function invoked per iteration.\n   * @returns {Array} Returns the array of results.\n   */\n  function baseTimes(n, iteratee) {\n    var index = -1,\n        result = Array(n);\n\n    while (++index < n) {\n      result[index] = iteratee(index);\n    }\n    return result;\n  }\n\n  /**\n   * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array\n   * of key-value pairs for `object` corresponding to the property names of `props`.\n   *\n   * @private\n   * @param {Object} object The object to query.\n   * @param {Array} props The property names to get values for.\n   * @returns {Object} Returns the key-value pairs.\n   */\n  function baseToPairs(object, props) {\n    return arrayMap(props, function(key) {\n      return [key, object[key]];\n    });\n  }\n\n  /**\n   * The base implementation of `_.trim`.\n   *\n   * @private\n   * @param {string} string The string to trim.\n   * @returns {string} Returns the trimmed string.\n   */\n  function baseTrim(string) {\n    return string\n      ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n      : string;\n  }\n\n  /**\n   * The base implementation of `_.unary` without support for storing metadata.\n   *\n   * @private\n   * @param {Function} func The function to cap arguments for.\n   * @returns {Function} Returns the new capped function.\n   */\n  function baseUnary(func) {\n    return function(value) {\n      return func(value);\n    };\n  }\n\n  /**\n   * The base implementation of `_.values` and `_.valuesIn` which creates an\n   * array of `object` property values corresponding to the property names\n   * of `props`.\n   *\n   * @private\n   * @param {Object} object The object to query.\n   * @param {Array} props The property names to get values for.\n   * @returns {Object} Returns the array of property values.\n   */\n  function baseValues(object, props) {\n    return arrayMap(props, function(key) {\n      return object[key];\n    });\n  }\n\n  /**\n   * Checks if a `cache` value for `key` exists.\n   *\n   * @private\n   * @param {Object} cache The cache to query.\n   * @param {string} key The key of the entry to check.\n   * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n   */\n  function cacheHas(cache, key) {\n    return cache.has(key);\n  }\n\n  /**\n   * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n   * that is not found in the character symbols.\n   *\n   * @private\n   * @param {Array} strSymbols The string symbols to inspect.\n   * @param {Array} chrSymbols The character symbols to find.\n   * @returns {number} Returns the index of the first unmatched string symbol.\n   */\n  function charsStartIndex(strSymbols, chrSymbols) {\n    var index = -1,\n        length = strSymbols.length;\n\n    while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n    return index;\n  }\n\n  /**\n   * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n   * that is not found in the character symbols.\n   *\n   * @private\n   * @param {Array} strSymbols The string symbols to inspect.\n   * @param {Array} chrSymbols The character symbols to find.\n   * @returns {number} Returns the index of the last unmatched string symbol.\n   */\n  function charsEndIndex(strSymbols, chrSymbols) {\n    var index = strSymbols.length;\n\n    while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n    return index;\n  }\n\n  /**\n   * Gets the number of `placeholder` occurrences in `array`.\n   *\n   * @private\n   * @param {Array} array The array to inspect.\n   * @param {*} placeholder The placeholder to search for.\n   * @returns {number} Returns the placeholder count.\n   */\n  function countHolders(array, placeholder) {\n    var length = array.length,\n        result = 0;\n\n    while (length--) {\n      if (array[length] === placeholder) {\n        ++result;\n      }\n    }\n    return result;\n  }\n\n  /**\n   * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n   * letters to basic Latin letters.\n   *\n   * @private\n   * @param {string} letter The matched letter to deburr.\n   * @returns {string} Returns the deburred letter.\n   */\n  var deburrLetter = basePropertyOf(deburredLetters);\n\n  /**\n   * Used by `_.escape` to convert characters to HTML entities.\n   *\n   * @private\n   * @param {string} chr The matched character to escape.\n   * @returns {string} Returns the escaped character.\n   */\n  var escapeHtmlChar = basePropertyOf(htmlEscapes);\n\n  /**\n   * Used by `_.template` to escape characters for inclusion in compiled string literals.\n   *\n   * @private\n   * @param {string} chr The matched character to escape.\n   * @returns {string} Returns the escaped character.\n   */\n  function escapeStringChar(chr) {\n    return '\\\\' + stringEscapes[chr];\n  }\n\n  /**\n   * Gets the value at `key` of `object`.\n   *\n   * @private\n   * @param {Object} [object] The object to query.\n   * @param {string} key The key of the property to get.\n   * @returns {*} Returns the property value.\n   */\n  function getValue(object, key) {\n    return object == null ? undefined : object[key];\n  }\n\n  /**\n   * Checks if `string` contains Unicode symbols.\n   *\n   * @private\n   * @param {string} string The string to inspect.\n   * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n   */\n  function hasUnicode(string) {\n    return reHasUnicode.test(string);\n  }\n\n  /**\n   * Checks if `string` contains a word composed of Unicode symbols.\n   *\n   * @private\n   * @param {string} string The string to inspect.\n   * @returns {boolean} Returns `true` if a word is found, else `false`.\n   */\n  function hasUnicodeWord(string) {\n    return reHasUnicodeWord.test(string);\n  }\n\n  /**\n   * Converts `iterator` to an array.\n   *\n   * @private\n   * @param {Object} iterator The iterator to convert.\n   * @returns {Array} Returns the converted array.\n   */\n  function iteratorToArray(iterator) {\n    var data,\n        result = [];\n\n    while (!(data = iterator.next()).done) {\n      result.push(data.value);\n    }\n    return result;\n  }\n\n  /**\n   * Converts `map` to its key-value pairs.\n   *\n   * @private\n   * @param {Object} map The map to convert.\n   * @returns {Array} Returns the key-value pairs.\n   */\n  function mapToArray(map) {\n    var index = -1,\n        result = Array(map.size);\n\n    map.forEach(function(value, key) {\n      result[++index] = [key, value];\n    });\n    return result;\n  }\n\n  /**\n   * Creates a unary function that invokes `func` with its argument transformed.\n   *\n   * @private\n   * @param {Function} func The function to wrap.\n   * @param {Function} transform The argument transform.\n   * @returns {Function} Returns the new function.\n   */\n  function overArg(func, transform) {\n    return function(arg) {\n      return func(transform(arg));\n    };\n  }\n\n  /**\n   * Replaces all `placeholder` elements in `array` with an internal placeholder\n   * and returns an array of their indexes.\n   *\n   * @private\n   * @param {Array} array The array to modify.\n   * @param {*} placeholder The placeholder to replace.\n   * @returns {Array} Returns the new array of placeholder indexes.\n   */\n  function replaceHolders(array, placeholder) {\n    var index = -1,\n        length = array.length,\n        resIndex = 0,\n        result = [];\n\n    while (++index < length) {\n      var value = array[index];\n      if (value === placeholder || value === PLACEHOLDER) {\n        array[index] = PLACEHOLDER;\n        result[resIndex++] = index;\n      }\n    }\n    return result;\n  }\n\n  /**\n   * Converts `set` to an array of its values.\n   *\n   * @private\n   * @param {Object} set The set to convert.\n   * @returns {Array} Returns the values.\n   */\n  function setToArray(set) {\n    var index = -1,\n        result = Array(set.size);\n\n    set.forEach(function(value) {\n      result[++index] = value;\n    });\n    return result;\n  }\n\n  /**\n   * Converts `set` to its value-value pairs.\n   *\n   * @private\n   * @param {Object} set The set to convert.\n   * @returns {Array} Returns the value-value pairs.\n   */\n  function setToPairs(set) {\n    var index = -1,\n        result = Array(set.size);\n\n    set.forEach(function(value) {\n      result[++index] = [value, value];\n    });\n    return result;\n  }\n\n  /**\n   * A specialized version of `_.indexOf` which performs strict equality\n   * comparisons of values, i.e. `===`.\n   *\n   * @private\n   * @param {Array} array The array to inspect.\n   * @param {*} value The value to search for.\n   * @param {number} fromIndex The index to search from.\n   * @returns {number} Returns the index of the matched value, else `-1`.\n   */\n  function strictIndexOf(array, value, fromIndex) {\n    var index = fromIndex - 1,\n        length = array.length;\n\n    while (++index < length) {\n      if (array[index] === value) {\n        return index;\n      }\n    }\n    return -1;\n  }\n\n  /**\n   * A specialized version of `_.lastIndexOf` which performs strict equality\n   * comparisons of values, i.e. `===`.\n   *\n   * @private\n   * @param {Array} array The array to inspect.\n   * @param {*} value The value to search for.\n   * @param {number} fromIndex The index to search from.\n   * @returns {number} Returns the index of the matched value, else `-1`.\n   */\n  function strictLastIndexOf(array, value, fromIndex) {\n    var index = fromIndex + 1;\n    while (index--) {\n      if (array[index] === value) {\n        return index;\n      }\n    }\n    return index;\n  }\n\n  /**\n   * Gets the number of symbols in `string`.\n   *\n   * @private\n   * @param {string} string The string to inspect.\n   * @returns {number} Returns the string size.\n   */\n  function stringSize(string) {\n    return hasUnicode(string)\n      ? unicodeSize(string)\n      : asciiSize(string);\n  }\n\n  /**\n   * Converts `string` to an array.\n   *\n   * @private\n   * @param {string} string The string to convert.\n   * @returns {Array} Returns the converted array.\n   */\n  function stringToArray(string) {\n    return hasUnicode(string)\n      ? unicodeToArray(string)\n      : asciiToArray(string);\n  }\n\n  /**\n   * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n   * character of `string`.\n   *\n   * @private\n   * @param {string} string The string to inspect.\n   * @returns {number} Returns the index of the last non-whitespace character.\n   */\n  function trimmedEndIndex(string) {\n    var index = string.length;\n\n    while (index-- && reWhitespace.test(string.charAt(index))) {}\n    return index;\n  }\n\n  /**\n   * Used by `_.unescape` to convert HTML entities to characters.\n   *\n   * @private\n   * @param {string} chr The matched character to unescape.\n   * @returns {string} Returns the unescaped character.\n   */\n  var unescapeHtmlChar = basePropertyOf(htmlUnescapes);\n\n  /**\n   * Gets the size of a Unicode `string`.\n   *\n   * @private\n   * @param {string} string The string inspect.\n   * @returns {number} Returns the string size.\n   */\n  function unicodeSize(string) {\n    var result = reUnicode.lastIndex = 0;\n    while (reUnicode.test(string)) {\n      ++result;\n    }\n    return result;\n  }\n\n  /**\n   * Converts a Unicode `string` to an array.\n   *\n   * @private\n   * @param {string} string The string to convert.\n   * @returns {Array} Returns the converted array.\n   */\n  function unicodeToArray(string) {\n    return string.match(reUnicode) || [];\n  }\n\n  /**\n   * Splits a Unicode `string` into an array of its words.\n   *\n   * @private\n   * @param {string} The string to inspect.\n   * @returns {Array} Returns the words of `string`.\n   */\n  function unicodeWords(string) {\n    return string.match(reUnicodeWord) || [];\n  }\n\n  /*--------------------------------------------------------------------------*/\n\n  /**\n   * Create a new pristine `lodash` function using the `context` object.\n   *\n   * @static\n   * @memberOf _\n   * @since 1.1.0\n   * @category Util\n   * @param {Object} [context=root] The context object.\n   * @returns {Function} Returns a new `lodash` function.\n   * @example\n   *\n   * _.mixin({ 'foo': _.constant('foo') });\n   *\n   * var lodash = _.runInContext();\n   * lodash.mixin({ 'bar': lodash.constant('bar') });\n   *\n   * _.isFunction(_.foo);\n   * // => true\n   * _.isFunction(_.bar);\n   * // => false\n   *\n   * lodash.isFunction(lodash.foo);\n   * // => false\n   * lodash.isFunction(lodash.bar);\n   * // => true\n   *\n   * // Create a suped-up `defer` in Node.js.\n   * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;\n   */\n  var runInContext = (function runInContext(context) {\n    context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps));\n\n    /** Built-in constructor references. */\n    var Array = context.Array,\n        Date = context.Date,\n        Error = context.Error,\n        Function = context.Function,\n        Math = context.Math,\n        Object = context.Object,\n        RegExp = context.RegExp,\n        String = context.String,\n        TypeError = context.TypeError;\n\n    /** Used for built-in method references. */\n    var arrayProto = Array.prototype,\n        funcProto = Function.prototype,\n        objectProto = Object.prototype;\n\n    /** Used to detect overreaching core-js shims. */\n    var coreJsData = context['__core-js_shared__'];\n\n    /** Used to resolve the decompiled source of functions. */\n    var funcToString = funcProto.toString;\n\n    /** Used to check objects for own properties. */\n    var hasOwnProperty = objectProto.hasOwnProperty;\n\n    /** Used to generate unique IDs. */\n    var idCounter = 0;\n\n    /** Used to detect methods masquerading as native. */\n    var maskSrcKey = (function() {\n      var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n      return uid ? ('Symbol(src)_1.' + uid) : '';\n    }());\n\n    /**\n     * Used to resolve the\n     * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n     * of values.\n     */\n    var nativeObjectToString = objectProto.toString;\n\n    /** Used to infer the `Object` constructor. */\n    var objectCtorString = funcToString.call(Object);\n\n    /** Used to restore the original `_` reference in `_.noConflict`. */\n    var oldDash = root._;\n\n    /** Used to detect if a method is native. */\n    var reIsNative = RegExp('^' +\n      funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n      .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n    );\n\n    /** Built-in value references. */\n    var Buffer = moduleExports ? context.Buffer : undefined,\n        Symbol = context.Symbol,\n        Uint8Array = context.Uint8Array,\n        allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n        getPrototype = overArg(Object.getPrototypeOf, Object),\n        objectCreate = Object.create,\n        propertyIsEnumerable = objectProto.propertyIsEnumerable,\n        splice = arrayProto.splice,\n        spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined,\n        symIterator = Symbol ? Symbol.iterator : undefined,\n        symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n    var defineProperty = (function() {\n      try {\n        var func = getNative(Object, 'defineProperty');\n        func({}, '', {});\n        return func;\n      } catch (e) {}\n    }());\n\n    /** Mocked built-ins. */\n    var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout,\n        ctxNow = Date && Date.now !== root.Date.now && Date.now,\n        ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;\n\n    /* Built-in method references for those with the same name as other `lodash` methods. */\n    var nativeCeil = Math.ceil,\n        nativeFloor = Math.floor,\n        nativeGetSymbols = Object.getOwnPropertySymbols,\n        nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n        nativeIsFinite = context.isFinite,\n        nativeJoin = arrayProto.join,\n        nativeKeys = overArg(Object.keys, Object),\n        nativeMax = Math.max,\n        nativeMin = Math.min,\n        nativeNow = Date.now,\n        nativeParseInt = context.parseInt,\n        nativeRandom = Math.random,\n        nativeReverse = arrayProto.reverse;\n\n    /* Built-in method references that are verified to be native. */\n    var DataView = getNative(context, 'DataView'),\n        Map = getNative(context, 'Map'),\n        Promise = getNative(context, 'Promise'),\n        Set = getNative(context, 'Set'),\n        WeakMap = getNative(context, 'WeakMap'),\n        nativeCreate = getNative(Object, 'create');\n\n    /** Used to store function metadata. */\n    var metaMap = WeakMap && new WeakMap;\n\n    /** Used to lookup unminified function names. */\n    var realNames = {};\n\n    /** Used to detect maps, sets, and weakmaps. */\n    var dataViewCtorString = toSource(DataView),\n        mapCtorString = toSource(Map),\n        promiseCtorString = toSource(Promise),\n        setCtorString = toSource(Set),\n        weakMapCtorString = toSource(WeakMap);\n\n    /** Used to convert symbols to primitives and strings. */\n    var symbolProto = Symbol ? Symbol.prototype : undefined,\n        symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n        symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Creates a `lodash` object which wraps `value` to enable implicit method\n     * chain sequences. Methods that operate on and return arrays, collections,\n     * and functions can be chained together. Methods that retrieve a single value\n     * or may return a primitive value will automatically end the chain sequence\n     * and return the unwrapped value. Otherwise, the value must be unwrapped\n     * with `_#value`.\n     *\n     * Explicit chain sequences, which must be unwrapped with `_#value`, may be\n     * enabled using `_.chain`.\n     *\n     * The execution of chained methods is lazy, that is, it's deferred until\n     * `_#value` is implicitly or explicitly called.\n     *\n     * Lazy evaluation allows several methods to support shortcut fusion.\n     * Shortcut fusion is an optimization to merge iteratee calls; this avoids\n     * the creation of intermediate arrays and can greatly reduce the number of\n     * iteratee executions. Sections of a chain sequence qualify for shortcut\n     * fusion if the section is applied to an array and iteratees accept only\n     * one argument. The heuristic for whether a section qualifies for shortcut\n     * fusion is subject to change.\n     *\n     * Chaining is supported in custom builds as long as the `_#value` method is\n     * directly or indirectly included in the build.\n     *\n     * In addition to lodash methods, wrappers have `Array` and `String` methods.\n     *\n     * The wrapper `Array` methods are:\n     * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\n     *\n     * The wrapper `String` methods are:\n     * `replace` and `split`\n     *\n     * The wrapper methods that support shortcut fusion are:\n     * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\n     * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\n     * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\n     *\n     * The chainable wrapper methods are:\n     * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\n     * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\n     * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\n     * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\n     * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\n     * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\n     * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\n     * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\n     * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\n     * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\n     * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\n     * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\n     * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\n     * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\n     * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\n     * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\n     * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\n     * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\n     * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\n     * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\n     * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\n     * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\n     * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\n     * `zipObject`, `zipObjectDeep`, and `zipWith`\n     *\n     * The wrapper methods that are **not** chainable by default are:\n     * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\n     * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\n     * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\n     * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\n     * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\n     * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\n     * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\n     * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\n     * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\n     * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\n     * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\n     * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\n     * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\n     * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\n     * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\n     * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\n     * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\n     * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\n     * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\n     * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\n     * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\n     * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\n     * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\n     * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\n     * `upperFirst`, `value`, and `words`\n     *\n     * @name _\n     * @constructor\n     * @category Seq\n     * @param {*} value The value to wrap in a `lodash` instance.\n     * @returns {Object} Returns the new `lodash` wrapper instance.\n     * @example\n     *\n     * function square(n) {\n     *   return n * n;\n     * }\n     *\n     * var wrapped = _([1, 2, 3]);\n     *\n     * // Returns an unwrapped value.\n     * wrapped.reduce(_.add);\n     * // => 6\n     *\n     * // Returns a wrapped value.\n     * var squares = wrapped.map(square);\n     *\n     * _.isArray(squares);\n     * // => false\n     *\n     * _.isArray(squares.value());\n     * // => true\n     */\n    function lodash(value) {\n      if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {\n        if (value instanceof LodashWrapper) {\n          return value;\n        }\n        if (hasOwnProperty.call(value, '__wrapped__')) {\n          return wrapperClone(value);\n        }\n      }\n      return new LodashWrapper(value);\n    }\n\n    /**\n     * The base implementation of `_.create` without support for assigning\n     * properties to the created object.\n     *\n     * @private\n     * @param {Object} proto The object to inherit from.\n     * @returns {Object} Returns the new object.\n     */\n    var baseCreate = (function() {\n      function object() {}\n      return function(proto) {\n        if (!isObject(proto)) {\n          return {};\n        }\n        if (objectCreate) {\n          return objectCreate(proto);\n        }\n        object.prototype = proto;\n        var result = new object;\n        object.prototype = undefined;\n        return result;\n      };\n    }());\n\n    /**\n     * The function whose prototype chain sequence wrappers inherit from.\n     *\n     * @private\n     */\n    function baseLodash() {\n      // No operation performed.\n    }\n\n    /**\n     * The base constructor for creating `lodash` wrapper objects.\n     *\n     * @private\n     * @param {*} value The value to wrap.\n     * @param {boolean} [chainAll] Enable explicit method chain sequences.\n     */\n    function LodashWrapper(value, chainAll) {\n      this.__wrapped__ = value;\n      this.__actions__ = [];\n      this.__chain__ = !!chainAll;\n      this.__index__ = 0;\n      this.__values__ = undefined;\n    }\n\n    /**\n     * By default, the template delimiters used by lodash are like those in\n     * embedded Ruby (ERB) as well as ES2015 template strings. Change the\n     * following template settings to use alternative delimiters.\n     *\n     * @static\n     * @memberOf _\n     * @type {Object}\n     */\n    lodash.templateSettings = {\n\n      /**\n       * Used to detect `data` property values to be HTML-escaped.\n       *\n       * @memberOf _.templateSettings\n       * @type {RegExp}\n       */\n      'escape': reEscape,\n\n      /**\n       * Used to detect code to be evaluated.\n       *\n       * @memberOf _.templateSettings\n       * @type {RegExp}\n       */\n      'evaluate': reEvaluate,\n\n      /**\n       * Used to detect `data` property values to inject.\n       *\n       * @memberOf _.templateSettings\n       * @type {RegExp}\n       */\n      'interpolate': reInterpolate,\n\n      /**\n       * Used to reference the data object in the template text.\n       *\n       * @memberOf _.templateSettings\n       * @type {string}\n       */\n      'variable': '',\n\n      /**\n       * Used to import variables into the compiled template.\n       *\n       * @memberOf _.templateSettings\n       * @type {Object}\n       */\n      'imports': {\n\n        /**\n         * A reference to the `lodash` function.\n         *\n         * @memberOf _.templateSettings.imports\n         * @type {Function}\n         */\n        '_': lodash\n      }\n    };\n\n    // Ensure wrappers are instances of `baseLodash`.\n    lodash.prototype = baseLodash.prototype;\n    lodash.prototype.constructor = lodash;\n\n    LodashWrapper.prototype = baseCreate(baseLodash.prototype);\n    LodashWrapper.prototype.constructor = LodashWrapper;\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\n     *\n     * @private\n     * @constructor\n     * @param {*} value The value to wrap.\n     */\n    function LazyWrapper(value) {\n      this.__wrapped__ = value;\n      this.__actions__ = [];\n      this.__dir__ = 1;\n      this.__filtered__ = false;\n      this.__iteratees__ = [];\n      this.__takeCount__ = MAX_ARRAY_LENGTH;\n      this.__views__ = [];\n    }\n\n    /**\n     * Creates a clone of the lazy wrapper object.\n     *\n     * @private\n     * @name clone\n     * @memberOf LazyWrapper\n     * @returns {Object} Returns the cloned `LazyWrapper` object.\n     */\n    function lazyClone() {\n      var result = new LazyWrapper(this.__wrapped__);\n      result.__actions__ = copyArray(this.__actions__);\n      result.__dir__ = this.__dir__;\n      result.__filtered__ = this.__filtered__;\n      result.__iteratees__ = copyArray(this.__iteratees__);\n      result.__takeCount__ = this.__takeCount__;\n      result.__views__ = copyArray(this.__views__);\n      return result;\n    }\n\n    /**\n     * Reverses the direction of lazy iteration.\n     *\n     * @private\n     * @name reverse\n     * @memberOf LazyWrapper\n     * @returns {Object} Returns the new reversed `LazyWrapper` object.\n     */\n    function lazyReverse() {\n      if (this.__filtered__) {\n        var result = new LazyWrapper(this);\n        result.__dir__ = -1;\n        result.__filtered__ = true;\n      } else {\n        result = this.clone();\n        result.__dir__ *= -1;\n      }\n      return result;\n    }\n\n    /**\n     * Extracts the unwrapped value from its lazy wrapper.\n     *\n     * @private\n     * @name value\n     * @memberOf LazyWrapper\n     * @returns {*} Returns the unwrapped value.\n     */\n    function lazyValue() {\n      var array = this.__wrapped__.value(),\n          dir = this.__dir__,\n          isArr = isArray(array),\n          isRight = dir < 0,\n          arrLength = isArr ? array.length : 0,\n          view = getView(0, arrLength, this.__views__),\n          start = view.start,\n          end = view.end,\n          length = end - start,\n          index = isRight ? end : (start - 1),\n          iteratees = this.__iteratees__,\n          iterLength = iteratees.length,\n          resIndex = 0,\n          takeCount = nativeMin(length, this.__takeCount__);\n\n      if (!isArr || (!isRight && arrLength == length && takeCount == length)) {\n        return baseWrapperValue(array, this.__actions__);\n      }\n      var result = [];\n\n      outer:\n      while (length-- && resIndex < takeCount) {\n        index += dir;\n\n        var iterIndex = -1,\n            value = array[index];\n\n        while (++iterIndex < iterLength) {\n          var data = iteratees[iterIndex],\n              iteratee = data.iteratee,\n              type = data.type,\n              computed = iteratee(value);\n\n          if (type == LAZY_MAP_FLAG) {\n            value = computed;\n          } else if (!computed) {\n            if (type == LAZY_FILTER_FLAG) {\n              continue outer;\n            } else {\n              break outer;\n            }\n          }\n        }\n        result[resIndex++] = value;\n      }\n      return result;\n    }\n\n    // Ensure `LazyWrapper` is an instance of `baseLodash`.\n    LazyWrapper.prototype = baseCreate(baseLodash.prototype);\n    LazyWrapper.prototype.constructor = LazyWrapper;\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Creates a hash object.\n     *\n     * @private\n     * @constructor\n     * @param {Array} [entries] The key-value pairs to cache.\n     */\n    function Hash(entries) {\n      var index = -1,\n          length = entries == null ? 0 : entries.length;\n\n      this.clear();\n      while (++index < length) {\n        var entry = entries[index];\n        this.set(entry[0], entry[1]);\n      }\n    }\n\n    /**\n     * Removes all key-value entries from the hash.\n     *\n     * @private\n     * @name clear\n     * @memberOf Hash\n     */\n    function hashClear() {\n      this.__data__ = nativeCreate ? nativeCreate(null) : {};\n      this.size = 0;\n    }\n\n    /**\n     * Removes `key` and its value from the hash.\n     *\n     * @private\n     * @name delete\n     * @memberOf Hash\n     * @param {Object} hash The hash to modify.\n     * @param {string} key The key of the value to remove.\n     * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n     */\n    function hashDelete(key) {\n      var result = this.has(key) && delete this.__data__[key];\n      this.size -= result ? 1 : 0;\n      return result;\n    }\n\n    /**\n     * Gets the hash value for `key`.\n     *\n     * @private\n     * @name get\n     * @memberOf Hash\n     * @param {string} key The key of the value to get.\n     * @returns {*} Returns the entry value.\n     */\n    function hashGet(key) {\n      var data = this.__data__;\n      if (nativeCreate) {\n        var result = data[key];\n        return result === HASH_UNDEFINED ? undefined : result;\n      }\n      return hasOwnProperty.call(data, key) ? data[key] : undefined;\n    }\n\n    /**\n     * Checks if a hash value for `key` exists.\n     *\n     * @private\n     * @name has\n     * @memberOf Hash\n     * @param {string} key The key of the entry to check.\n     * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n     */\n    function hashHas(key) {\n      var data = this.__data__;\n      return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n    }\n\n    /**\n     * Sets the hash `key` to `value`.\n     *\n     * @private\n     * @name set\n     * @memberOf Hash\n     * @param {string} key The key of the value to set.\n     * @param {*} value The value to set.\n     * @returns {Object} Returns the hash instance.\n     */\n    function hashSet(key, value) {\n      var data = this.__data__;\n      this.size += this.has(key) ? 0 : 1;\n      data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n      return this;\n    }\n\n    // Add methods to `Hash`.\n    Hash.prototype.clear = hashClear;\n    Hash.prototype['delete'] = hashDelete;\n    Hash.prototype.get = hashGet;\n    Hash.prototype.has = hashHas;\n    Hash.prototype.set = hashSet;\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Creates an list cache object.\n     *\n     * @private\n     * @constructor\n     * @param {Array} [entries] The key-value pairs to cache.\n     */\n    function ListCache(entries) {\n      var index = -1,\n          length = entries == null ? 0 : entries.length;\n\n      this.clear();\n      while (++index < length) {\n        var entry = entries[index];\n        this.set(entry[0], entry[1]);\n      }\n    }\n\n    /**\n     * Removes all key-value entries from the list cache.\n     *\n     * @private\n     * @name clear\n     * @memberOf ListCache\n     */\n    function listCacheClear() {\n      this.__data__ = [];\n      this.size = 0;\n    }\n\n    /**\n     * Removes `key` and its value from the list cache.\n     *\n     * @private\n     * @name delete\n     * @memberOf ListCache\n     * @param {string} key The key of the value to remove.\n     * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n     */\n    function listCacheDelete(key) {\n      var data = this.__data__,\n          index = assocIndexOf(data, key);\n\n      if (index < 0) {\n        return false;\n      }\n      var lastIndex = data.length - 1;\n      if (index == lastIndex) {\n        data.pop();\n      } else {\n        splice.call(data, index, 1);\n      }\n      --this.size;\n      return true;\n    }\n\n    /**\n     * Gets the list cache value for `key`.\n     *\n     * @private\n     * @name get\n     * @memberOf ListCache\n     * @param {string} key The key of the value to get.\n     * @returns {*} Returns the entry value.\n     */\n    function listCacheGet(key) {\n      var data = this.__data__,\n          index = assocIndexOf(data, key);\n\n      return index < 0 ? undefined : data[index][1];\n    }\n\n    /**\n     * Checks if a list cache value for `key` exists.\n     *\n     * @private\n     * @name has\n     * @memberOf ListCache\n     * @param {string} key The key of the entry to check.\n     * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n     */\n    function listCacheHas(key) {\n      return assocIndexOf(this.__data__, key) > -1;\n    }\n\n    /**\n     * Sets the list cache `key` to `value`.\n     *\n     * @private\n     * @name set\n     * @memberOf ListCache\n     * @param {string} key The key of the value to set.\n     * @param {*} value The value to set.\n     * @returns {Object} Returns the list cache instance.\n     */\n    function listCacheSet(key, value) {\n      var data = this.__data__,\n          index = assocIndexOf(data, key);\n\n      if (index < 0) {\n        ++this.size;\n        data.push([key, value]);\n      } else {\n        data[index][1] = value;\n      }\n      return this;\n    }\n\n    // Add methods to `ListCache`.\n    ListCache.prototype.clear = listCacheClear;\n    ListCache.prototype['delete'] = listCacheDelete;\n    ListCache.prototype.get = listCacheGet;\n    ListCache.prototype.has = listCacheHas;\n    ListCache.prototype.set = listCacheSet;\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Creates a map cache object to store key-value pairs.\n     *\n     * @private\n     * @constructor\n     * @param {Array} [entries] The key-value pairs to cache.\n     */\n    function MapCache(entries) {\n      var index = -1,\n          length = entries == null ? 0 : entries.length;\n\n      this.clear();\n      while (++index < length) {\n        var entry = entries[index];\n        this.set(entry[0], entry[1]);\n      }\n    }\n\n    /**\n     * Removes all key-value entries from the map.\n     *\n     * @private\n     * @name clear\n     * @memberOf MapCache\n     */\n    function mapCacheClear() {\n      this.size = 0;\n      this.__data__ = {\n        'hash': new Hash,\n        'map': new (Map || ListCache),\n        'string': new Hash\n      };\n    }\n\n    /**\n     * Removes `key` and its value from the map.\n     *\n     * @private\n     * @name delete\n     * @memberOf MapCache\n     * @param {string} key The key of the value to remove.\n     * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n     */\n    function mapCacheDelete(key) {\n      var result = getMapData(this, key)['delete'](key);\n      this.size -= result ? 1 : 0;\n      return result;\n    }\n\n    /**\n     * Gets the map value for `key`.\n     *\n     * @private\n     * @name get\n     * @memberOf MapCache\n     * @param {string} key The key of the value to get.\n     * @returns {*} Returns the entry value.\n     */\n    function mapCacheGet(key) {\n      return getMapData(this, key).get(key);\n    }\n\n    /**\n     * Checks if a map value for `key` exists.\n     *\n     * @private\n     * @name has\n     * @memberOf MapCache\n     * @param {string} key The key of the entry to check.\n     * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n     */\n    function mapCacheHas(key) {\n      return getMapData(this, key).has(key);\n    }\n\n    /**\n     * Sets the map `key` to `value`.\n     *\n     * @private\n     * @name set\n     * @memberOf MapCache\n     * @param {string} key The key of the value to set.\n     * @param {*} value The value to set.\n     * @returns {Object} Returns the map cache instance.\n     */\n    function mapCacheSet(key, value) {\n      var data = getMapData(this, key),\n          size = data.size;\n\n      data.set(key, value);\n      this.size += data.size == size ? 0 : 1;\n      return this;\n    }\n\n    // Add methods to `MapCache`.\n    MapCache.prototype.clear = mapCacheClear;\n    MapCache.prototype['delete'] = mapCacheDelete;\n    MapCache.prototype.get = mapCacheGet;\n    MapCache.prototype.has = mapCacheHas;\n    MapCache.prototype.set = mapCacheSet;\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     *\n     * Creates an array cache object to store unique values.\n     *\n     * @private\n     * @constructor\n     * @param {Array} [values] The values to cache.\n     */\n    function SetCache(values) {\n      var index = -1,\n          length = values == null ? 0 : values.length;\n\n      this.__data__ = new MapCache;\n      while (++index < length) {\n        this.add(values[index]);\n      }\n    }\n\n    /**\n     * Adds `value` to the array cache.\n     *\n     * @private\n     * @name add\n     * @memberOf SetCache\n     * @alias push\n     * @param {*} value The value to cache.\n     * @returns {Object} Returns the cache instance.\n     */\n    function setCacheAdd(value) {\n      this.__data__.set(value, HASH_UNDEFINED);\n      return this;\n    }\n\n    /**\n     * Checks if `value` is in the array cache.\n     *\n     * @private\n     * @name has\n     * @memberOf SetCache\n     * @param {*} value The value to search for.\n     * @returns {number} Returns `true` if `value` is found, else `false`.\n     */\n    function setCacheHas(value) {\n      return this.__data__.has(value);\n    }\n\n    // Add methods to `SetCache`.\n    SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\n    SetCache.prototype.has = setCacheHas;\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Creates a stack cache object to store key-value pairs.\n     *\n     * @private\n     * @constructor\n     * @param {Array} [entries] The key-value pairs to cache.\n     */\n    function Stack(entries) {\n      var data = this.__data__ = new ListCache(entries);\n      this.size = data.size;\n    }\n\n    /**\n     * Removes all key-value entries from the stack.\n     *\n     * @private\n     * @name clear\n     * @memberOf Stack\n     */\n    function stackClear() {\n      this.__data__ = new ListCache;\n      this.size = 0;\n    }\n\n    /**\n     * Removes `key` and its value from the stack.\n     *\n     * @private\n     * @name delete\n     * @memberOf Stack\n     * @param {string} key The key of the value to remove.\n     * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n     */\n    function stackDelete(key) {\n      var data = this.__data__,\n          result = data['delete'](key);\n\n      this.size = data.size;\n      return result;\n    }\n\n    /**\n     * Gets the stack value for `key`.\n     *\n     * @private\n     * @name get\n     * @memberOf Stack\n     * @param {string} key The key of the value to get.\n     * @returns {*} Returns the entry value.\n     */\n    function stackGet(key) {\n      return this.__data__.get(key);\n    }\n\n    /**\n     * Checks if a stack value for `key` exists.\n     *\n     * @private\n     * @name has\n     * @memberOf Stack\n     * @param {string} key The key of the entry to check.\n     * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n     */\n    function stackHas(key) {\n      return this.__data__.has(key);\n    }\n\n    /**\n     * Sets the stack `key` to `value`.\n     *\n     * @private\n     * @name set\n     * @memberOf Stack\n     * @param {string} key The key of the value to set.\n     * @param {*} value The value to set.\n     * @returns {Object} Returns the stack cache instance.\n     */\n    function stackSet(key, value) {\n      var data = this.__data__;\n      if (data instanceof ListCache) {\n        var pairs = data.__data__;\n        if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n          pairs.push([key, value]);\n          this.size = ++data.size;\n          return this;\n        }\n        data = this.__data__ = new MapCache(pairs);\n      }\n      data.set(key, value);\n      this.size = data.size;\n      return this;\n    }\n\n    // Add methods to `Stack`.\n    Stack.prototype.clear = stackClear;\n    Stack.prototype['delete'] = stackDelete;\n    Stack.prototype.get = stackGet;\n    Stack.prototype.has = stackHas;\n    Stack.prototype.set = stackSet;\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Creates an array of the enumerable property names of the array-like `value`.\n     *\n     * @private\n     * @param {*} value The value to query.\n     * @param {boolean} inherited Specify returning inherited property names.\n     * @returns {Array} Returns the array of property names.\n     */\n    function arrayLikeKeys(value, inherited) {\n      var isArr = isArray(value),\n          isArg = !isArr && isArguments(value),\n          isBuff = !isArr && !isArg && isBuffer(value),\n          isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n          skipIndexes = isArr || isArg || isBuff || isType,\n          result = skipIndexes ? baseTimes(value.length, String) : [],\n          length = result.length;\n\n      for (var key in value) {\n        if ((inherited || hasOwnProperty.call(value, key)) &&\n            !(skipIndexes && (\n               // Safari 9 has enumerable `arguments.length` in strict mode.\n               key == 'length' ||\n               // Node.js 0.10 has enumerable non-index properties on buffers.\n               (isBuff && (key == 'offset' || key == 'parent')) ||\n               // PhantomJS 2 has enumerable non-index properties on typed arrays.\n               (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n               // Skip index properties.\n               isIndex(key, length)\n            ))) {\n          result.push(key);\n        }\n      }\n      return result;\n    }\n\n    /**\n     * A specialized version of `_.sample` for arrays.\n     *\n     * @private\n     * @param {Array} array The array to sample.\n     * @returns {*} Returns the random element.\n     */\n    function arraySample(array) {\n      var length = array.length;\n      return length ? array[baseRandom(0, length - 1)] : undefined;\n    }\n\n    /**\n     * A specialized version of `_.sampleSize` for arrays.\n     *\n     * @private\n     * @param {Array} array The array to sample.\n     * @param {number} n The number of elements to sample.\n     * @returns {Array} Returns the random elements.\n     */\n    function arraySampleSize(array, n) {\n      return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));\n    }\n\n    /**\n     * A specialized version of `_.shuffle` for arrays.\n     *\n     * @private\n     * @param {Array} array The array to shuffle.\n     * @returns {Array} Returns the new shuffled array.\n     */\n    function arrayShuffle(array) {\n      return shuffleSelf(copyArray(array));\n    }\n\n    /**\n     * This function is like `assignValue` except that it doesn't assign\n     * `undefined` values.\n     *\n     * @private\n     * @param {Object} object The object to modify.\n     * @param {string} key The key of the property to assign.\n     * @param {*} value The value to assign.\n     */\n    function assignMergeValue(object, key, value) {\n      if ((value !== undefined && !eq(object[key], value)) ||\n          (value === undefined && !(key in object))) {\n        baseAssignValue(object, key, value);\n      }\n    }\n\n    /**\n     * Assigns `value` to `key` of `object` if the existing value is not equivalent\n     * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n     * for equality comparisons.\n     *\n     * @private\n     * @param {Object} object The object to modify.\n     * @param {string} key The key of the property to assign.\n     * @param {*} value The value to assign.\n     */\n    function assignValue(object, key, value) {\n      var objValue = object[key];\n      if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n          (value === undefined && !(key in object))) {\n        baseAssignValue(object, key, value);\n      }\n    }\n\n    /**\n     * Gets the index at which the `key` is found in `array` of key-value pairs.\n     *\n     * @private\n     * @param {Array} array The array to inspect.\n     * @param {*} key The key to search for.\n     * @returns {number} Returns the index of the matched value, else `-1`.\n     */\n    function assocIndexOf(array, key) {\n      var length = array.length;\n      while (length--) {\n        if (eq(array[length][0], key)) {\n          return length;\n        }\n      }\n      return -1;\n    }\n\n    /**\n     * Aggregates elements of `collection` on `accumulator` with keys transformed\n     * by `iteratee` and values set by `setter`.\n     *\n     * @private\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} setter The function to set `accumulator` values.\n     * @param {Function} iteratee The iteratee to transform keys.\n     * @param {Object} accumulator The initial aggregated object.\n     * @returns {Function} Returns `accumulator`.\n     */\n    function baseAggregator(collection, setter, iteratee, accumulator) {\n      baseEach(collection, function(value, key, collection) {\n        setter(accumulator, value, iteratee(value), collection);\n      });\n      return accumulator;\n    }\n\n    /**\n     * The base implementation of `_.assign` without support for multiple sources\n     * or `customizer` functions.\n     *\n     * @private\n     * @param {Object} object The destination object.\n     * @param {Object} source The source object.\n     * @returns {Object} Returns `object`.\n     */\n    function baseAssign(object, source) {\n      return object && copyObject(source, keys(source), object);\n    }\n\n    /**\n     * The base implementation of `_.assignIn` without support for multiple sources\n     * or `customizer` functions.\n     *\n     * @private\n     * @param {Object} object The destination object.\n     * @param {Object} source The source object.\n     * @returns {Object} Returns `object`.\n     */\n    function baseAssignIn(object, source) {\n      return object && copyObject(source, keysIn(source), object);\n    }\n\n    /**\n     * The base implementation of `assignValue` and `assignMergeValue` without\n     * value checks.\n     *\n     * @private\n     * @param {Object} object The object to modify.\n     * @param {string} key The key of the property to assign.\n     * @param {*} value The value to assign.\n     */\n    function baseAssignValue(object, key, value) {\n      if (key == '__proto__' && defineProperty) {\n        defineProperty(object, key, {\n          'configurable': true,\n          'enumerable': true,\n          'value': value,\n          'writable': true\n        });\n      } else {\n        object[key] = value;\n      }\n    }\n\n    /**\n     * The base implementation of `_.at` without support for individual paths.\n     *\n     * @private\n     * @param {Object} object The object to iterate over.\n     * @param {string[]} paths The property paths to pick.\n     * @returns {Array} Returns the picked elements.\n     */\n    function baseAt(object, paths) {\n      var index = -1,\n          length = paths.length,\n          result = Array(length),\n          skip = object == null;\n\n      while (++index < length) {\n        result[index] = skip ? undefined : get(object, paths[index]);\n      }\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.clamp` which doesn't coerce arguments.\n     *\n     * @private\n     * @param {number} number The number to clamp.\n     * @param {number} [lower] The lower bound.\n     * @param {number} upper The upper bound.\n     * @returns {number} Returns the clamped number.\n     */\n    function baseClamp(number, lower, upper) {\n      if (number === number) {\n        if (upper !== undefined) {\n          number = number <= upper ? number : upper;\n        }\n        if (lower !== undefined) {\n          number = number >= lower ? number : lower;\n        }\n      }\n      return number;\n    }\n\n    /**\n     * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n     * traversed objects.\n     *\n     * @private\n     * @param {*} value The value to clone.\n     * @param {boolean} bitmask The bitmask flags.\n     *  1 - Deep clone\n     *  2 - Flatten inherited properties\n     *  4 - Clone symbols\n     * @param {Function} [customizer] The function to customize cloning.\n     * @param {string} [key] The key of `value`.\n     * @param {Object} [object] The parent object of `value`.\n     * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n     * @returns {*} Returns the cloned value.\n     */\n    function baseClone(value, bitmask, customizer, key, object, stack) {\n      var result,\n          isDeep = bitmask & CLONE_DEEP_FLAG,\n          isFlat = bitmask & CLONE_FLAT_FLAG,\n          isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n      if (customizer) {\n        result = object ? customizer(value, key, object, stack) : customizer(value);\n      }\n      if (result !== undefined) {\n        return result;\n      }\n      if (!isObject(value)) {\n        return value;\n      }\n      var isArr = isArray(value);\n      if (isArr) {\n        result = initCloneArray(value);\n        if (!isDeep) {\n          return copyArray(value, result);\n        }\n      } else {\n        var tag = getTag(value),\n            isFunc = tag == funcTag || tag == genTag;\n\n        if (isBuffer(value)) {\n          return cloneBuffer(value, isDeep);\n        }\n        if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n          result = (isFlat || isFunc) ? {} : initCloneObject(value);\n          if (!isDeep) {\n            return isFlat\n              ? copySymbolsIn(value, baseAssignIn(result, value))\n              : copySymbols(value, baseAssign(result, value));\n          }\n        } else {\n          if (!cloneableTags[tag]) {\n            return object ? value : {};\n          }\n          result = initCloneByTag(value, tag, isDeep);\n        }\n      }\n      // Check for circular references and return its corresponding clone.\n      stack || (stack = new Stack);\n      var stacked = stack.get(value);\n      if (stacked) {\n        return stacked;\n      }\n      stack.set(value, result);\n\n      if (isSet(value)) {\n        value.forEach(function(subValue) {\n          result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n        });\n      } else if (isMap(value)) {\n        value.forEach(function(subValue, key) {\n          result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n        });\n      }\n\n      var keysFunc = isFull\n        ? (isFlat ? getAllKeysIn : getAllKeys)\n        : (isFlat ? keysIn : keys);\n\n      var props = isArr ? undefined : keysFunc(value);\n      arrayEach(props || value, function(subValue, key) {\n        if (props) {\n          key = subValue;\n          subValue = value[key];\n        }\n        // Recursively populate clone (susceptible to call stack limits).\n        assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n      });\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.conforms` which doesn't clone `source`.\n     *\n     * @private\n     * @param {Object} source The object of property predicates to conform to.\n     * @returns {Function} Returns the new spec function.\n     */\n    function baseConforms(source) {\n      var props = keys(source);\n      return function(object) {\n        return baseConformsTo(object, source, props);\n      };\n    }\n\n    /**\n     * The base implementation of `_.conformsTo` which accepts `props` to check.\n     *\n     * @private\n     * @param {Object} object The object to inspect.\n     * @param {Object} source The object of property predicates to conform to.\n     * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n     */\n    function baseConformsTo(object, source, props) {\n      var length = props.length;\n      if (object == null) {\n        return !length;\n      }\n      object = Object(object);\n      while (length--) {\n        var key = props[length],\n            predicate = source[key],\n            value = object[key];\n\n        if ((value === undefined && !(key in object)) || !predicate(value)) {\n          return false;\n        }\n      }\n      return true;\n    }\n\n    /**\n     * The base implementation of `_.delay` and `_.defer` which accepts `args`\n     * to provide to `func`.\n     *\n     * @private\n     * @param {Function} func The function to delay.\n     * @param {number} wait The number of milliseconds to delay invocation.\n     * @param {Array} args The arguments to provide to `func`.\n     * @returns {number|Object} Returns the timer id or timeout object.\n     */\n    function baseDelay(func, wait, args) {\n      if (typeof func != 'function') {\n        throw new TypeError(FUNC_ERROR_TEXT);\n      }\n      return setTimeout(function() { func.apply(undefined, args); }, wait);\n    }\n\n    /**\n     * The base implementation of methods like `_.difference` without support\n     * for excluding multiple arrays or iteratee shorthands.\n     *\n     * @private\n     * @param {Array} array The array to inspect.\n     * @param {Array} values The values to exclude.\n     * @param {Function} [iteratee] The iteratee invoked per element.\n     * @param {Function} [comparator] The comparator invoked per element.\n     * @returns {Array} Returns the new array of filtered values.\n     */\n    function baseDifference(array, values, iteratee, comparator) {\n      var index = -1,\n          includes = arrayIncludes,\n          isCommon = true,\n          length = array.length,\n          result = [],\n          valuesLength = values.length;\n\n      if (!length) {\n        return result;\n      }\n      if (iteratee) {\n        values = arrayMap(values, baseUnary(iteratee));\n      }\n      if (comparator) {\n        includes = arrayIncludesWith;\n        isCommon = false;\n      }\n      else if (values.length >= LARGE_ARRAY_SIZE) {\n        includes = cacheHas;\n        isCommon = false;\n        values = new SetCache(values);\n      }\n      outer:\n      while (++index < length) {\n        var value = array[index],\n            computed = iteratee == null ? value : iteratee(value);\n\n        value = (comparator || value !== 0) ? value : 0;\n        if (isCommon && computed === computed) {\n          var valuesIndex = valuesLength;\n          while (valuesIndex--) {\n            if (values[valuesIndex] === computed) {\n              continue outer;\n            }\n          }\n          result.push(value);\n        }\n        else if (!includes(values, computed, comparator)) {\n          result.push(value);\n        }\n      }\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.forEach` without support for iteratee shorthands.\n     *\n     * @private\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} iteratee The function invoked per iteration.\n     * @returns {Array|Object} Returns `collection`.\n     */\n    var baseEach = createBaseEach(baseForOwn);\n\n    /**\n     * The base implementation of `_.forEachRight` without support for iteratee shorthands.\n     *\n     * @private\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} iteratee The function invoked per iteration.\n     * @returns {Array|Object} Returns `collection`.\n     */\n    var baseEachRight = createBaseEach(baseForOwnRight, true);\n\n    /**\n     * The base implementation of `_.every` without support for iteratee shorthands.\n     *\n     * @private\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} predicate The function invoked per iteration.\n     * @returns {boolean} Returns `true` if all elements pass the predicate check,\n     *  else `false`\n     */\n    function baseEvery(collection, predicate) {\n      var result = true;\n      baseEach(collection, function(value, index, collection) {\n        result = !!predicate(value, index, collection);\n        return result;\n      });\n      return result;\n    }\n\n    /**\n     * The base implementation of methods like `_.max` and `_.min` which accepts a\n     * `comparator` to determine the extremum value.\n     *\n     * @private\n     * @param {Array} array The array to iterate over.\n     * @param {Function} iteratee The iteratee invoked per iteration.\n     * @param {Function} comparator The comparator used to compare values.\n     * @returns {*} Returns the extremum value.\n     */\n    function baseExtremum(array, iteratee, comparator) {\n      var index = -1,\n          length = array.length;\n\n      while (++index < length) {\n        var value = array[index],\n            current = iteratee(value);\n\n        if (current != null && (computed === undefined\n              ? (current === current && !isSymbol(current))\n              : comparator(current, computed)\n            )) {\n          var computed = current,\n              result = value;\n        }\n      }\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.fill` without an iteratee call guard.\n     *\n     * @private\n     * @param {Array} array The array to fill.\n     * @param {*} value The value to fill `array` with.\n     * @param {number} [start=0] The start position.\n     * @param {number} [end=array.length] The end position.\n     * @returns {Array} Returns `array`.\n     */\n    function baseFill(array, value, start, end) {\n      var length = array.length;\n\n      start = toInteger(start);\n      if (start < 0) {\n        start = -start > length ? 0 : (length + start);\n      }\n      end = (end === undefined || end > length) ? length : toInteger(end);\n      if (end < 0) {\n        end += length;\n      }\n      end = start > end ? 0 : toLength(end);\n      while (start < end) {\n        array[start++] = value;\n      }\n      return array;\n    }\n\n    /**\n     * The base implementation of `_.filter` without support for iteratee shorthands.\n     *\n     * @private\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} predicate The function invoked per iteration.\n     * @returns {Array} Returns the new filtered array.\n     */\n    function baseFilter(collection, predicate) {\n      var result = [];\n      baseEach(collection, function(value, index, collection) {\n        if (predicate(value, index, collection)) {\n          result.push(value);\n        }\n      });\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.flatten` with support for restricting flattening.\n     *\n     * @private\n     * @param {Array} array The array to flatten.\n     * @param {number} depth The maximum recursion depth.\n     * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n     * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n     * @param {Array} [result=[]] The initial result value.\n     * @returns {Array} Returns the new flattened array.\n     */\n    function baseFlatten(array, depth, predicate, isStrict, result) {\n      var index = -1,\n          length = array.length;\n\n      predicate || (predicate = isFlattenable);\n      result || (result = []);\n\n      while (++index < length) {\n        var value = array[index];\n        if (depth > 0 && predicate(value)) {\n          if (depth > 1) {\n            // Recursively flatten arrays (susceptible to call stack limits).\n            baseFlatten(value, depth - 1, predicate, isStrict, result);\n          } else {\n            arrayPush(result, value);\n          }\n        } else if (!isStrict) {\n          result[result.length] = value;\n        }\n      }\n      return result;\n    }\n\n    /**\n     * The base implementation of `baseForOwn` which iterates over `object`\n     * properties returned by `keysFunc` and invokes `iteratee` for each property.\n     * Iteratee functions may exit iteration early by explicitly returning `false`.\n     *\n     * @private\n     * @param {Object} object The object to iterate over.\n     * @param {Function} iteratee The function invoked per iteration.\n     * @param {Function} keysFunc The function to get the keys of `object`.\n     * @returns {Object} Returns `object`.\n     */\n    var baseFor = createBaseFor();\n\n    /**\n     * This function is like `baseFor` except that it iterates over properties\n     * in the opposite order.\n     *\n     * @private\n     * @param {Object} object The object to iterate over.\n     * @param {Function} iteratee The function invoked per iteration.\n     * @param {Function} keysFunc The function to get the keys of `object`.\n     * @returns {Object} Returns `object`.\n     */\n    var baseForRight = createBaseFor(true);\n\n    /**\n     * The base implementation of `_.forOwn` without support for iteratee shorthands.\n     *\n     * @private\n     * @param {Object} object The object to iterate over.\n     * @param {Function} iteratee The function invoked per iteration.\n     * @returns {Object} Returns `object`.\n     */\n    function baseForOwn(object, iteratee) {\n      return object && baseFor(object, iteratee, keys);\n    }\n\n    /**\n     * The base implementation of `_.forOwnRight` without support for iteratee shorthands.\n     *\n     * @private\n     * @param {Object} object The object to iterate over.\n     * @param {Function} iteratee The function invoked per iteration.\n     * @returns {Object} Returns `object`.\n     */\n    function baseForOwnRight(object, iteratee) {\n      return object && baseForRight(object, iteratee, keys);\n    }\n\n    /**\n     * The base implementation of `_.functions` which creates an array of\n     * `object` function property names filtered from `props`.\n     *\n     * @private\n     * @param {Object} object The object to inspect.\n     * @param {Array} props The property names to filter.\n     * @returns {Array} Returns the function names.\n     */\n    function baseFunctions(object, props) {\n      return arrayFilter(props, function(key) {\n        return isFunction(object[key]);\n      });\n    }\n\n    /**\n     * The base implementation of `_.get` without support for default values.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @param {Array|string} path The path of the property to get.\n     * @returns {*} Returns the resolved value.\n     */\n    function baseGet(object, path) {\n      path = castPath(path, object);\n\n      var index = 0,\n          length = path.length;\n\n      while (object != null && index < length) {\n        object = object[toKey(path[index++])];\n      }\n      return (index && index == length) ? object : undefined;\n    }\n\n    /**\n     * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n     * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n     * symbols of `object`.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @param {Function} keysFunc The function to get the keys of `object`.\n     * @param {Function} symbolsFunc The function to get the symbols of `object`.\n     * @returns {Array} Returns the array of property names and symbols.\n     */\n    function baseGetAllKeys(object, keysFunc, symbolsFunc) {\n      var result = keysFunc(object);\n      return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n    }\n\n    /**\n     * The base implementation of `getTag` without fallbacks for buggy environments.\n     *\n     * @private\n     * @param {*} value The value to query.\n     * @returns {string} Returns the `toStringTag`.\n     */\n    function baseGetTag(value) {\n      if (value == null) {\n        return value === undefined ? undefinedTag : nullTag;\n      }\n      return (symToStringTag && symToStringTag in Object(value))\n        ? getRawTag(value)\n        : objectToString(value);\n    }\n\n    /**\n     * The base implementation of `_.gt` which doesn't coerce arguments.\n     *\n     * @private\n     * @param {*} value The value to compare.\n     * @param {*} other The other value to compare.\n     * @returns {boolean} Returns `true` if `value` is greater than `other`,\n     *  else `false`.\n     */\n    function baseGt(value, other) {\n      return value > other;\n    }\n\n    /**\n     * The base implementation of `_.has` without support for deep paths.\n     *\n     * @private\n     * @param {Object} [object] The object to query.\n     * @param {Array|string} key The key to check.\n     * @returns {boolean} Returns `true` if `key` exists, else `false`.\n     */\n    function baseHas(object, key) {\n      return object != null && hasOwnProperty.call(object, key);\n    }\n\n    /**\n     * The base implementation of `_.hasIn` without support for deep paths.\n     *\n     * @private\n     * @param {Object} [object] The object to query.\n     * @param {Array|string} key The key to check.\n     * @returns {boolean} Returns `true` if `key` exists, else `false`.\n     */\n    function baseHasIn(object, key) {\n      return object != null && key in Object(object);\n    }\n\n    /**\n     * The base implementation of `_.inRange` which doesn't coerce arguments.\n     *\n     * @private\n     * @param {number} number The number to check.\n     * @param {number} start The start of the range.\n     * @param {number} end The end of the range.\n     * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n     */\n    function baseInRange(number, start, end) {\n      return number >= nativeMin(start, end) && number < nativeMax(start, end);\n    }\n\n    /**\n     * The base implementation of methods like `_.intersection`, without support\n     * for iteratee shorthands, that accepts an array of arrays to inspect.\n     *\n     * @private\n     * @param {Array} arrays The arrays to inspect.\n     * @param {Function} [iteratee] The iteratee invoked per element.\n     * @param {Function} [comparator] The comparator invoked per element.\n     * @returns {Array} Returns the new array of shared values.\n     */\n    function baseIntersection(arrays, iteratee, comparator) {\n      var includes = comparator ? arrayIncludesWith : arrayIncludes,\n          length = arrays[0].length,\n          othLength = arrays.length,\n          othIndex = othLength,\n          caches = Array(othLength),\n          maxLength = Infinity,\n          result = [];\n\n      while (othIndex--) {\n        var array = arrays[othIndex];\n        if (othIndex && iteratee) {\n          array = arrayMap(array, baseUnary(iteratee));\n        }\n        maxLength = nativeMin(array.length, maxLength);\n        caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n          ? new SetCache(othIndex && array)\n          : undefined;\n      }\n      array = arrays[0];\n\n      var index = -1,\n          seen = caches[0];\n\n      outer:\n      while (++index < length && result.length < maxLength) {\n        var value = array[index],\n            computed = iteratee ? iteratee(value) : value;\n\n        value = (comparator || value !== 0) ? value : 0;\n        if (!(seen\n              ? cacheHas(seen, computed)\n              : includes(result, computed, comparator)\n            )) {\n          othIndex = othLength;\n          while (--othIndex) {\n            var cache = caches[othIndex];\n            if (!(cache\n                  ? cacheHas(cache, computed)\n                  : includes(arrays[othIndex], computed, comparator))\n                ) {\n              continue outer;\n            }\n          }\n          if (seen) {\n            seen.push(computed);\n          }\n          result.push(value);\n        }\n      }\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.invert` and `_.invertBy` which inverts\n     * `object` with values transformed by `iteratee` and set by `setter`.\n     *\n     * @private\n     * @param {Object} object The object to iterate over.\n     * @param {Function} setter The function to set `accumulator` values.\n     * @param {Function} iteratee The iteratee to transform values.\n     * @param {Object} accumulator The initial inverted object.\n     * @returns {Function} Returns `accumulator`.\n     */\n    function baseInverter(object, setter, iteratee, accumulator) {\n      baseForOwn(object, function(value, key, object) {\n        setter(accumulator, iteratee(value), key, object);\n      });\n      return accumulator;\n    }\n\n    /**\n     * The base implementation of `_.invoke` without support for individual\n     * method arguments.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @param {Array|string} path The path of the method to invoke.\n     * @param {Array} args The arguments to invoke the method with.\n     * @returns {*} Returns the result of the invoked method.\n     */\n    function baseInvoke(object, path, args) {\n      path = castPath(path, object);\n      object = parent(object, path);\n      var func = object == null ? object : object[toKey(last(path))];\n      return func == null ? undefined : apply(func, object, args);\n    }\n\n    /**\n     * The base implementation of `_.isArguments`.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n     */\n    function baseIsArguments(value) {\n      return isObjectLike(value) && baseGetTag(value) == argsTag;\n    }\n\n    /**\n     * The base implementation of `_.isArrayBuffer` without Node.js optimizations.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n     */\n    function baseIsArrayBuffer(value) {\n      return isObjectLike(value) && baseGetTag(value) == arrayBufferTag;\n    }\n\n    /**\n     * The base implementation of `_.isDate` without Node.js optimizations.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n     */\n    function baseIsDate(value) {\n      return isObjectLike(value) && baseGetTag(value) == dateTag;\n    }\n\n    /**\n     * The base implementation of `_.isEqual` which supports partial comparisons\n     * and tracks traversed objects.\n     *\n     * @private\n     * @param {*} value The value to compare.\n     * @param {*} other The other value to compare.\n     * @param {boolean} bitmask The bitmask flags.\n     *  1 - Unordered comparison\n     *  2 - Partial comparison\n     * @param {Function} [customizer] The function to customize comparisons.\n     * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n     * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n     */\n    function baseIsEqual(value, other, bitmask, customizer, stack) {\n      if (value === other) {\n        return true;\n      }\n      if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n        return value !== value && other !== other;\n      }\n      return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n    }\n\n    /**\n     * A specialized version of `baseIsEqual` for arrays and objects which performs\n     * deep comparisons and tracks traversed objects enabling objects with circular\n     * references to be compared.\n     *\n     * @private\n     * @param {Object} object The object to compare.\n     * @param {Object} other The other object to compare.\n     * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n     * @param {Function} customizer The function to customize comparisons.\n     * @param {Function} equalFunc The function to determine equivalents of values.\n     * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n     * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n     */\n    function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n      var objIsArr = isArray(object),\n          othIsArr = isArray(other),\n          objTag = objIsArr ? arrayTag : getTag(object),\n          othTag = othIsArr ? arrayTag : getTag(other);\n\n      objTag = objTag == argsTag ? objectTag : objTag;\n      othTag = othTag == argsTag ? objectTag : othTag;\n\n      var objIsObj = objTag == objectTag,\n          othIsObj = othTag == objectTag,\n          isSameTag = objTag == othTag;\n\n      if (isSameTag && isBuffer(object)) {\n        if (!isBuffer(other)) {\n          return false;\n        }\n        objIsArr = true;\n        objIsObj = false;\n      }\n      if (isSameTag && !objIsObj) {\n        stack || (stack = new Stack);\n        return (objIsArr || isTypedArray(object))\n          ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n          : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n      }\n      if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n        var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n            othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n        if (objIsWrapped || othIsWrapped) {\n          var objUnwrapped = objIsWrapped ? object.value() : object,\n              othUnwrapped = othIsWrapped ? other.value() : other;\n\n          stack || (stack = new Stack);\n          return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n        }\n      }\n      if (!isSameTag) {\n        return false;\n      }\n      stack || (stack = new Stack);\n      return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n    }\n\n    /**\n     * The base implementation of `_.isMap` without Node.js optimizations.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n     */\n    function baseIsMap(value) {\n      return isObjectLike(value) && getTag(value) == mapTag;\n    }\n\n    /**\n     * The base implementation of `_.isMatch` without support for iteratee shorthands.\n     *\n     * @private\n     * @param {Object} object The object to inspect.\n     * @param {Object} source The object of property values to match.\n     * @param {Array} matchData The property names, values, and compare flags to match.\n     * @param {Function} [customizer] The function to customize comparisons.\n     * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n     */\n    function baseIsMatch(object, source, matchData, customizer) {\n      var index = matchData.length,\n          length = index,\n          noCustomizer = !customizer;\n\n      if (object == null) {\n        return !length;\n      }\n      object = Object(object);\n      while (index--) {\n        var data = matchData[index];\n        if ((noCustomizer && data[2])\n              ? data[1] !== object[data[0]]\n              : !(data[0] in object)\n            ) {\n          return false;\n        }\n      }\n      while (++index < length) {\n        data = matchData[index];\n        var key = data[0],\n            objValue = object[key],\n            srcValue = data[1];\n\n        if (noCustomizer && data[2]) {\n          if (objValue === undefined && !(key in object)) {\n            return false;\n          }\n        } else {\n          var stack = new Stack;\n          if (customizer) {\n            var result = customizer(objValue, srcValue, key, object, source, stack);\n          }\n          if (!(result === undefined\n                ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n                : result\n              )) {\n            return false;\n          }\n        }\n      }\n      return true;\n    }\n\n    /**\n     * The base implementation of `_.isNative` without bad shim checks.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a native function,\n     *  else `false`.\n     */\n    function baseIsNative(value) {\n      if (!isObject(value) || isMasked(value)) {\n        return false;\n      }\n      var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n      return pattern.test(toSource(value));\n    }\n\n    /**\n     * The base implementation of `_.isRegExp` without Node.js optimizations.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n     */\n    function baseIsRegExp(value) {\n      return isObjectLike(value) && baseGetTag(value) == regexpTag;\n    }\n\n    /**\n     * The base implementation of `_.isSet` without Node.js optimizations.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n     */\n    function baseIsSet(value) {\n      return isObjectLike(value) && getTag(value) == setTag;\n    }\n\n    /**\n     * The base implementation of `_.isTypedArray` without Node.js optimizations.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n     */\n    function baseIsTypedArray(value) {\n      return isObjectLike(value) &&\n        isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n    }\n\n    /**\n     * The base implementation of `_.iteratee`.\n     *\n     * @private\n     * @param {*} [value=_.identity] The value to convert to an iteratee.\n     * @returns {Function} Returns the iteratee.\n     */\n    function baseIteratee(value) {\n      // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n      // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n      if (typeof value == 'function') {\n        return value;\n      }\n      if (value == null) {\n        return identity;\n      }\n      if (typeof value == 'object') {\n        return isArray(value)\n          ? baseMatchesProperty(value[0], value[1])\n          : baseMatches(value);\n      }\n      return property(value);\n    }\n\n    /**\n     * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the array of property names.\n     */\n    function baseKeys(object) {\n      if (!isPrototype(object)) {\n        return nativeKeys(object);\n      }\n      var result = [];\n      for (var key in Object(object)) {\n        if (hasOwnProperty.call(object, key) && key != 'constructor') {\n          result.push(key);\n        }\n      }\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the array of property names.\n     */\n    function baseKeysIn(object) {\n      if (!isObject(object)) {\n        return nativeKeysIn(object);\n      }\n      var isProto = isPrototype(object),\n          result = [];\n\n      for (var key in object) {\n        if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n          result.push(key);\n        }\n      }\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.lt` which doesn't coerce arguments.\n     *\n     * @private\n     * @param {*} value The value to compare.\n     * @param {*} other The other value to compare.\n     * @returns {boolean} Returns `true` if `value` is less than `other`,\n     *  else `false`.\n     */\n    function baseLt(value, other) {\n      return value < other;\n    }\n\n    /**\n     * The base implementation of `_.map` without support for iteratee shorthands.\n     *\n     * @private\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} iteratee The function invoked per iteration.\n     * @returns {Array} Returns the new mapped array.\n     */\n    function baseMap(collection, iteratee) {\n      var index = -1,\n          result = isArrayLike(collection) ? Array(collection.length) : [];\n\n      baseEach(collection, function(value, key, collection) {\n        result[++index] = iteratee(value, key, collection);\n      });\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.matches` which doesn't clone `source`.\n     *\n     * @private\n     * @param {Object} source The object of property values to match.\n     * @returns {Function} Returns the new spec function.\n     */\n    function baseMatches(source) {\n      var matchData = getMatchData(source);\n      if (matchData.length == 1 && matchData[0][2]) {\n        return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n      }\n      return function(object) {\n        return object === source || baseIsMatch(object, source, matchData);\n      };\n    }\n\n    /**\n     * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n     *\n     * @private\n     * @param {string} path The path of the property to get.\n     * @param {*} srcValue The value to match.\n     * @returns {Function} Returns the new spec function.\n     */\n    function baseMatchesProperty(path, srcValue) {\n      if (isKey(path) && isStrictComparable(srcValue)) {\n        return matchesStrictComparable(toKey(path), srcValue);\n      }\n      return function(object) {\n        var objValue = get(object, path);\n        return (objValue === undefined && objValue === srcValue)\n          ? hasIn(object, path)\n          : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n      };\n    }\n\n    /**\n     * The base implementation of `_.merge` without support for multiple sources.\n     *\n     * @private\n     * @param {Object} object The destination object.\n     * @param {Object} source The source object.\n     * @param {number} srcIndex The index of `source`.\n     * @param {Function} [customizer] The function to customize merged values.\n     * @param {Object} [stack] Tracks traversed source values and their merged\n     *  counterparts.\n     */\n    function baseMerge(object, source, srcIndex, customizer, stack) {\n      if (object === source) {\n        return;\n      }\n      baseFor(source, function(srcValue, key) {\n        stack || (stack = new Stack);\n        if (isObject(srcValue)) {\n          baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n        }\n        else {\n          var newValue = customizer\n            ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n            : undefined;\n\n          if (newValue === undefined) {\n            newValue = srcValue;\n          }\n          assignMergeValue(object, key, newValue);\n        }\n      }, keysIn);\n    }\n\n    /**\n     * A specialized version of `baseMerge` for arrays and objects which performs\n     * deep merges and tracks traversed objects enabling objects with circular\n     * references to be merged.\n     *\n     * @private\n     * @param {Object} object The destination object.\n     * @param {Object} source The source object.\n     * @param {string} key The key of the value to merge.\n     * @param {number} srcIndex The index of `source`.\n     * @param {Function} mergeFunc The function to merge values.\n     * @param {Function} [customizer] The function to customize assigned values.\n     * @param {Object} [stack] Tracks traversed source values and their merged\n     *  counterparts.\n     */\n    function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n      var objValue = safeGet(object, key),\n          srcValue = safeGet(source, key),\n          stacked = stack.get(srcValue);\n\n      if (stacked) {\n        assignMergeValue(object, key, stacked);\n        return;\n      }\n      var newValue = customizer\n        ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n        : undefined;\n\n      var isCommon = newValue === undefined;\n\n      if (isCommon) {\n        var isArr = isArray(srcValue),\n            isBuff = !isArr && isBuffer(srcValue),\n            isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n        newValue = srcValue;\n        if (isArr || isBuff || isTyped) {\n          if (isArray(objValue)) {\n            newValue = objValue;\n          }\n          else if (isArrayLikeObject(objValue)) {\n            newValue = copyArray(objValue);\n          }\n          else if (isBuff) {\n            isCommon = false;\n            newValue = cloneBuffer(srcValue, true);\n          }\n          else if (isTyped) {\n            isCommon = false;\n            newValue = cloneTypedArray(srcValue, true);\n          }\n          else {\n            newValue = [];\n          }\n        }\n        else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n          newValue = objValue;\n          if (isArguments(objValue)) {\n            newValue = toPlainObject(objValue);\n          }\n          else if (!isObject(objValue) || isFunction(objValue)) {\n            newValue = initCloneObject(srcValue);\n          }\n        }\n        else {\n          isCommon = false;\n        }\n      }\n      if (isCommon) {\n        // Recursively merge objects and arrays (susceptible to call stack limits).\n        stack.set(srcValue, newValue);\n        mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n        stack['delete'](srcValue);\n      }\n      assignMergeValue(object, key, newValue);\n    }\n\n    /**\n     * The base implementation of `_.nth` which doesn't coerce arguments.\n     *\n     * @private\n     * @param {Array} array The array to query.\n     * @param {number} n The index of the element to return.\n     * @returns {*} Returns the nth element of `array`.\n     */\n    function baseNth(array, n) {\n      var length = array.length;\n      if (!length) {\n        return;\n      }\n      n += n < 0 ? length : 0;\n      return isIndex(n, length) ? array[n] : undefined;\n    }\n\n    /**\n     * The base implementation of `_.orderBy` without param guards.\n     *\n     * @private\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n     * @param {string[]} orders The sort orders of `iteratees`.\n     * @returns {Array} Returns the new sorted array.\n     */\n    function baseOrderBy(collection, iteratees, orders) {\n      if (iteratees.length) {\n        iteratees = arrayMap(iteratees, function(iteratee) {\n          if (isArray(iteratee)) {\n            return function(value) {\n              return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n            }\n          }\n          return iteratee;\n        });\n      } else {\n        iteratees = [identity];\n      }\n\n      var index = -1;\n      iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n\n      var result = baseMap(collection, function(value, key, collection) {\n        var criteria = arrayMap(iteratees, function(iteratee) {\n          return iteratee(value);\n        });\n        return { 'criteria': criteria, 'index': ++index, 'value': value };\n      });\n\n      return baseSortBy(result, function(object, other) {\n        return compareMultiple(object, other, orders);\n      });\n    }\n\n    /**\n     * The base implementation of `_.pick` without support for individual\n     * property identifiers.\n     *\n     * @private\n     * @param {Object} object The source object.\n     * @param {string[]} paths The property paths to pick.\n     * @returns {Object} Returns the new object.\n     */\n    function basePick(object, paths) {\n      return basePickBy(object, paths, function(value, path) {\n        return hasIn(object, path);\n      });\n    }\n\n    /**\n     * The base implementation of  `_.pickBy` without support for iteratee shorthands.\n     *\n     * @private\n     * @param {Object} object The source object.\n     * @param {string[]} paths The property paths to pick.\n     * @param {Function} predicate The function invoked per property.\n     * @returns {Object} Returns the new object.\n     */\n    function basePickBy(object, paths, predicate) {\n      var index = -1,\n          length = paths.length,\n          result = {};\n\n      while (++index < length) {\n        var path = paths[index],\n            value = baseGet(object, path);\n\n        if (predicate(value, path)) {\n          baseSet(result, castPath(path, object), value);\n        }\n      }\n      return result;\n    }\n\n    /**\n     * A specialized version of `baseProperty` which supports deep paths.\n     *\n     * @private\n     * @param {Array|string} path The path of the property to get.\n     * @returns {Function} Returns the new accessor function.\n     */\n    function basePropertyDeep(path) {\n      return function(object) {\n        return baseGet(object, path);\n      };\n    }\n\n    /**\n     * The base implementation of `_.pullAllBy` without support for iteratee\n     * shorthands.\n     *\n     * @private\n     * @param {Array} array The array to modify.\n     * @param {Array} values The values to remove.\n     * @param {Function} [iteratee] The iteratee invoked per element.\n     * @param {Function} [comparator] The comparator invoked per element.\n     * @returns {Array} Returns `array`.\n     */\n    function basePullAll(array, values, iteratee, comparator) {\n      var indexOf = comparator ? baseIndexOfWith : baseIndexOf,\n          index = -1,\n          length = values.length,\n          seen = array;\n\n      if (array === values) {\n        values = copyArray(values);\n      }\n      if (iteratee) {\n        seen = arrayMap(array, baseUnary(iteratee));\n      }\n      while (++index < length) {\n        var fromIndex = 0,\n            value = values[index],\n            computed = iteratee ? iteratee(value) : value;\n\n        while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {\n          if (seen !== array) {\n            splice.call(seen, fromIndex, 1);\n          }\n          splice.call(array, fromIndex, 1);\n        }\n      }\n      return array;\n    }\n\n    /**\n     * The base implementation of `_.pullAt` without support for individual\n     * indexes or capturing the removed elements.\n     *\n     * @private\n     * @param {Array} array The array to modify.\n     * @param {number[]} indexes The indexes of elements to remove.\n     * @returns {Array} Returns `array`.\n     */\n    function basePullAt(array, indexes) {\n      var length = array ? indexes.length : 0,\n          lastIndex = length - 1;\n\n      while (length--) {\n        var index = indexes[length];\n        if (length == lastIndex || index !== previous) {\n          var previous = index;\n          if (isIndex(index)) {\n            splice.call(array, index, 1);\n          } else {\n            baseUnset(array, index);\n          }\n        }\n      }\n      return array;\n    }\n\n    /**\n     * The base implementation of `_.random` without support for returning\n     * floating-point numbers.\n     *\n     * @private\n     * @param {number} lower The lower bound.\n     * @param {number} upper The upper bound.\n     * @returns {number} Returns the random number.\n     */\n    function baseRandom(lower, upper) {\n      return lower + nativeFloor(nativeRandom() * (upper - lower + 1));\n    }\n\n    /**\n     * The base implementation of `_.range` and `_.rangeRight` which doesn't\n     * coerce arguments.\n     *\n     * @private\n     * @param {number} start The start of the range.\n     * @param {number} end The end of the range.\n     * @param {number} step The value to increment or decrement by.\n     * @param {boolean} [fromRight] Specify iterating from right to left.\n     * @returns {Array} Returns the range of numbers.\n     */\n    function baseRange(start, end, step, fromRight) {\n      var index = -1,\n          length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n          result = Array(length);\n\n      while (length--) {\n        result[fromRight ? length : ++index] = start;\n        start += step;\n      }\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.repeat` which doesn't coerce arguments.\n     *\n     * @private\n     * @param {string} string The string to repeat.\n     * @param {number} n The number of times to repeat the string.\n     * @returns {string} Returns the repeated string.\n     */\n    function baseRepeat(string, n) {\n      var result = '';\n      if (!string || n < 1 || n > MAX_SAFE_INTEGER) {\n        return result;\n      }\n      // Leverage the exponentiation by squaring algorithm for a faster repeat.\n      // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.\n      do {\n        if (n % 2) {\n          result += string;\n        }\n        n = nativeFloor(n / 2);\n        if (n) {\n          string += string;\n        }\n      } while (n);\n\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n     *\n     * @private\n     * @param {Function} func The function to apply a rest parameter to.\n     * @param {number} [start=func.length-1] The start position of the rest parameter.\n     * @returns {Function} Returns the new function.\n     */\n    function baseRest(func, start) {\n      return setToString(overRest(func, start, identity), func + '');\n    }\n\n    /**\n     * The base implementation of `_.sample`.\n     *\n     * @private\n     * @param {Array|Object} collection The collection to sample.\n     * @returns {*} Returns the random element.\n     */\n    function baseSample(collection) {\n      return arraySample(values(collection));\n    }\n\n    /**\n     * The base implementation of `_.sampleSize` without param guards.\n     *\n     * @private\n     * @param {Array|Object} collection The collection to sample.\n     * @param {number} n The number of elements to sample.\n     * @returns {Array} Returns the random elements.\n     */\n    function baseSampleSize(collection, n) {\n      var array = values(collection);\n      return shuffleSelf(array, baseClamp(n, 0, array.length));\n    }\n\n    /**\n     * The base implementation of `_.set`.\n     *\n     * @private\n     * @param {Object} object The object to modify.\n     * @param {Array|string} path The path of the property to set.\n     * @param {*} value The value to set.\n     * @param {Function} [customizer] The function to customize path creation.\n     * @returns {Object} Returns `object`.\n     */\n    function baseSet(object, path, value, customizer) {\n      if (!isObject(object)) {\n        return object;\n      }\n      path = castPath(path, object);\n\n      var index = -1,\n          length = path.length,\n          lastIndex = length - 1,\n          nested = object;\n\n      while (nested != null && ++index < length) {\n        var key = toKey(path[index]),\n            newValue = value;\n\n        if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n          return object;\n        }\n\n        if (index != lastIndex) {\n          var objValue = nested[key];\n          newValue = customizer ? customizer(objValue, key, nested) : undefined;\n          if (newValue === undefined) {\n            newValue = isObject(objValue)\n              ? objValue\n              : (isIndex(path[index + 1]) ? [] : {});\n          }\n        }\n        assignValue(nested, key, newValue);\n        nested = nested[key];\n      }\n      return object;\n    }\n\n    /**\n     * The base implementation of `setData` without support for hot loop shorting.\n     *\n     * @private\n     * @param {Function} func The function to associate metadata with.\n     * @param {*} data The metadata.\n     * @returns {Function} Returns `func`.\n     */\n    var baseSetData = !metaMap ? identity : function(func, data) {\n      metaMap.set(func, data);\n      return func;\n    };\n\n    /**\n     * The base implementation of `setToString` without support for hot loop shorting.\n     *\n     * @private\n     * @param {Function} func The function to modify.\n     * @param {Function} string The `toString` result.\n     * @returns {Function} Returns `func`.\n     */\n    var baseSetToString = !defineProperty ? identity : function(func, string) {\n      return defineProperty(func, 'toString', {\n        'configurable': true,\n        'enumerable': false,\n        'value': constant(string),\n        'writable': true\n      });\n    };\n\n    /**\n     * The base implementation of `_.shuffle`.\n     *\n     * @private\n     * @param {Array|Object} collection The collection to shuffle.\n     * @returns {Array} Returns the new shuffled array.\n     */\n    function baseShuffle(collection) {\n      return shuffleSelf(values(collection));\n    }\n\n    /**\n     * The base implementation of `_.slice` without an iteratee call guard.\n     *\n     * @private\n     * @param {Array} array The array to slice.\n     * @param {number} [start=0] The start position.\n     * @param {number} [end=array.length] The end position.\n     * @returns {Array} Returns the slice of `array`.\n     */\n    function baseSlice(array, start, end) {\n      var index = -1,\n          length = array.length;\n\n      if (start < 0) {\n        start = -start > length ? 0 : (length + start);\n      }\n      end = end > length ? length : end;\n      if (end < 0) {\n        end += length;\n      }\n      length = start > end ? 0 : ((end - start) >>> 0);\n      start >>>= 0;\n\n      var result = Array(length);\n      while (++index < length) {\n        result[index] = array[index + start];\n      }\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.some` without support for iteratee shorthands.\n     *\n     * @private\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} predicate The function invoked per iteration.\n     * @returns {boolean} Returns `true` if any element passes the predicate check,\n     *  else `false`.\n     */\n    function baseSome(collection, predicate) {\n      var result;\n\n      baseEach(collection, function(value, index, collection) {\n        result = predicate(value, index, collection);\n        return !result;\n      });\n      return !!result;\n    }\n\n    /**\n     * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which\n     * performs a binary search of `array` to determine the index at which `value`\n     * should be inserted into `array` in order to maintain its sort order.\n     *\n     * @private\n     * @param {Array} array The sorted array to inspect.\n     * @param {*} value The value to evaluate.\n     * @param {boolean} [retHighest] Specify returning the highest qualified index.\n     * @returns {number} Returns the index at which `value` should be inserted\n     *  into `array`.\n     */\n    function baseSortedIndex(array, value, retHighest) {\n      var low = 0,\n          high = array == null ? low : array.length;\n\n      if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {\n        while (low < high) {\n          var mid = (low + high) >>> 1,\n              computed = array[mid];\n\n          if (computed !== null && !isSymbol(computed) &&\n              (retHighest ? (computed <= value) : (computed < value))) {\n            low = mid + 1;\n          } else {\n            high = mid;\n          }\n        }\n        return high;\n      }\n      return baseSortedIndexBy(array, value, identity, retHighest);\n    }\n\n    /**\n     * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`\n     * which invokes `iteratee` for `value` and each element of `array` to compute\n     * their sort ranking. The iteratee is invoked with one argument; (value).\n     *\n     * @private\n     * @param {Array} array The sorted array to inspect.\n     * @param {*} value The value to evaluate.\n     * @param {Function} iteratee The iteratee invoked per element.\n     * @param {boolean} [retHighest] Specify returning the highest qualified index.\n     * @returns {number} Returns the index at which `value` should be inserted\n     *  into `array`.\n     */\n    function baseSortedIndexBy(array, value, iteratee, retHighest) {\n      var low = 0,\n          high = array == null ? 0 : array.length;\n      if (high === 0) {\n        return 0;\n      }\n\n      value = iteratee(value);\n      var valIsNaN = value !== value,\n          valIsNull = value === null,\n          valIsSymbol = isSymbol(value),\n          valIsUndefined = value === undefined;\n\n      while (low < high) {\n        var mid = nativeFloor((low + high) / 2),\n            computed = iteratee(array[mid]),\n            othIsDefined = computed !== undefined,\n            othIsNull = computed === null,\n            othIsReflexive = computed === computed,\n            othIsSymbol = isSymbol(computed);\n\n        if (valIsNaN) {\n          var setLow = retHighest || othIsReflexive;\n        } else if (valIsUndefined) {\n          setLow = othIsReflexive && (retHighest || othIsDefined);\n        } else if (valIsNull) {\n          setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);\n        } else if (valIsSymbol) {\n          setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);\n        } else if (othIsNull || othIsSymbol) {\n          setLow = false;\n        } else {\n          setLow = retHighest ? (computed <= value) : (computed < value);\n        }\n        if (setLow) {\n          low = mid + 1;\n        } else {\n          high = mid;\n        }\n      }\n      return nativeMin(high, MAX_ARRAY_INDEX);\n    }\n\n    /**\n     * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without\n     * support for iteratee shorthands.\n     *\n     * @private\n     * @param {Array} array The array to inspect.\n     * @param {Function} [iteratee] The iteratee invoked per element.\n     * @returns {Array} Returns the new duplicate free array.\n     */\n    function baseSortedUniq(array, iteratee) {\n      var index = -1,\n          length = array.length,\n          resIndex = 0,\n          result = [];\n\n      while (++index < length) {\n        var value = array[index],\n            computed = iteratee ? iteratee(value) : value;\n\n        if (!index || !eq(computed, seen)) {\n          var seen = computed;\n          result[resIndex++] = value === 0 ? 0 : value;\n        }\n      }\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.toNumber` which doesn't ensure correct\n     * conversions of binary, hexadecimal, or octal string values.\n     *\n     * @private\n     * @param {*} value The value to process.\n     * @returns {number} Returns the number.\n     */\n    function baseToNumber(value) {\n      if (typeof value == 'number') {\n        return value;\n      }\n      if (isSymbol(value)) {\n        return NAN;\n      }\n      return +value;\n    }\n\n    /**\n     * The base implementation of `_.toString` which doesn't convert nullish\n     * values to empty strings.\n     *\n     * @private\n     * @param {*} value The value to process.\n     * @returns {string} Returns the string.\n     */\n    function baseToString(value) {\n      // Exit early for strings to avoid a performance hit in some environments.\n      if (typeof value == 'string') {\n        return value;\n      }\n      if (isArray(value)) {\n        // Recursively convert values (susceptible to call stack limits).\n        return arrayMap(value, baseToString) + '';\n      }\n      if (isSymbol(value)) {\n        return symbolToString ? symbolToString.call(value) : '';\n      }\n      var result = (value + '');\n      return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n    }\n\n    /**\n     * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n     *\n     * @private\n     * @param {Array} array The array to inspect.\n     * @param {Function} [iteratee] The iteratee invoked per element.\n     * @param {Function} [comparator] The comparator invoked per element.\n     * @returns {Array} Returns the new duplicate free array.\n     */\n    function baseUniq(array, iteratee, comparator) {\n      var index = -1,\n          includes = arrayIncludes,\n          length = array.length,\n          isCommon = true,\n          result = [],\n          seen = result;\n\n      if (comparator) {\n        isCommon = false;\n        includes = arrayIncludesWith;\n      }\n      else if (length >= LARGE_ARRAY_SIZE) {\n        var set = iteratee ? null : createSet(array);\n        if (set) {\n          return setToArray(set);\n        }\n        isCommon = false;\n        includes = cacheHas;\n        seen = new SetCache;\n      }\n      else {\n        seen = iteratee ? [] : result;\n      }\n      outer:\n      while (++index < length) {\n        var value = array[index],\n            computed = iteratee ? iteratee(value) : value;\n\n        value = (comparator || value !== 0) ? value : 0;\n        if (isCommon && computed === computed) {\n          var seenIndex = seen.length;\n          while (seenIndex--) {\n            if (seen[seenIndex] === computed) {\n              continue outer;\n            }\n          }\n          if (iteratee) {\n            seen.push(computed);\n          }\n          result.push(value);\n        }\n        else if (!includes(seen, computed, comparator)) {\n          if (seen !== result) {\n            seen.push(computed);\n          }\n          result.push(value);\n        }\n      }\n      return result;\n    }\n\n    /**\n     * The base implementation of `_.unset`.\n     *\n     * @private\n     * @param {Object} object The object to modify.\n     * @param {Array|string} path The property path to unset.\n     * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n     */\n    function baseUnset(object, path) {\n      path = castPath(path, object);\n      object = parent(object, path);\n      return object == null || delete object[toKey(last(path))];\n    }\n\n    /**\n     * The base implementation of `_.update`.\n     *\n     * @private\n     * @param {Object} object The object to modify.\n     * @param {Array|string} path The path of the property to update.\n     * @param {Function} updater The function to produce the updated value.\n     * @param {Function} [customizer] The function to customize path creation.\n     * @returns {Object} Returns `object`.\n     */\n    function baseUpdate(object, path, updater, customizer) {\n      return baseSet(object, path, updater(baseGet(object, path)), customizer);\n    }\n\n    /**\n     * The base implementation of methods like `_.dropWhile` and `_.takeWhile`\n     * without support for iteratee shorthands.\n     *\n     * @private\n     * @param {Array} array The array to query.\n     * @param {Function} predicate The function invoked per iteration.\n     * @param {boolean} [isDrop] Specify dropping elements instead of taking them.\n     * @param {boolean} [fromRight] Specify iterating from right to left.\n     * @returns {Array} Returns the slice of `array`.\n     */\n    function baseWhile(array, predicate, isDrop, fromRight) {\n      var length = array.length,\n          index = fromRight ? length : -1;\n\n      while ((fromRight ? index-- : ++index < length) &&\n        predicate(array[index], index, array)) {}\n\n      return isDrop\n        ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))\n        : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));\n    }\n\n    /**\n     * The base implementation of `wrapperValue` which returns the result of\n     * performing a sequence of actions on the unwrapped `value`, where each\n     * successive action is supplied the return value of the previous.\n     *\n     * @private\n     * @param {*} value The unwrapped value.\n     * @param {Array} actions Actions to perform to resolve the unwrapped value.\n     * @returns {*} Returns the resolved value.\n     */\n    function baseWrapperValue(value, actions) {\n      var result = value;\n      if (result instanceof LazyWrapper) {\n        result = result.value();\n      }\n      return arrayReduce(actions, function(result, action) {\n        return action.func.apply(action.thisArg, arrayPush([result], action.args));\n      }, result);\n    }\n\n    /**\n     * The base implementation of methods like `_.xor`, without support for\n     * iteratee shorthands, that accepts an array of arrays to inspect.\n     *\n     * @private\n     * @param {Array} arrays The arrays to inspect.\n     * @param {Function} [iteratee] The iteratee invoked per element.\n     * @param {Function} [comparator] The comparator invoked per element.\n     * @returns {Array} Returns the new array of values.\n     */\n    function baseXor(arrays, iteratee, comparator) {\n      var length = arrays.length;\n      if (length < 2) {\n        return length ? baseUniq(arrays[0]) : [];\n      }\n      var index = -1,\n          result = Array(length);\n\n      while (++index < length) {\n        var array = arrays[index],\n            othIndex = -1;\n\n        while (++othIndex < length) {\n          if (othIndex != index) {\n            result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);\n          }\n        }\n      }\n      return baseUniq(baseFlatten(result, 1), iteratee, comparator);\n    }\n\n    /**\n     * This base implementation of `_.zipObject` which assigns values using `assignFunc`.\n     *\n     * @private\n     * @param {Array} props The property identifiers.\n     * @param {Array} values The property values.\n     * @param {Function} assignFunc The function to assign values.\n     * @returns {Object} Returns the new object.\n     */\n    function baseZipObject(props, values, assignFunc) {\n      var index = -1,\n          length = props.length,\n          valsLength = values.length,\n          result = {};\n\n      while (++index < length) {\n        var value = index < valsLength ? values[index] : undefined;\n        assignFunc(result, props[index], value);\n      }\n      return result;\n    }\n\n    /**\n     * Casts `value` to an empty array if it's not an array like object.\n     *\n     * @private\n     * @param {*} value The value to inspect.\n     * @returns {Array|Object} Returns the cast array-like object.\n     */\n    function castArrayLikeObject(value) {\n      return isArrayLikeObject(value) ? value : [];\n    }\n\n    /**\n     * Casts `value` to `identity` if it's not a function.\n     *\n     * @private\n     * @param {*} value The value to inspect.\n     * @returns {Function} Returns cast function.\n     */\n    function castFunction(value) {\n      return typeof value == 'function' ? value : identity;\n    }\n\n    /**\n     * Casts `value` to a path array if it's not one.\n     *\n     * @private\n     * @param {*} value The value to inspect.\n     * @param {Object} [object] The object to query keys on.\n     * @returns {Array} Returns the cast property path array.\n     */\n    function castPath(value, object) {\n      if (isArray(value)) {\n        return value;\n      }\n      return isKey(value, object) ? [value] : stringToPath(toString(value));\n    }\n\n    /**\n     * A `baseRest` alias which can be replaced with `identity` by module\n     * replacement plugins.\n     *\n     * @private\n     * @type {Function}\n     * @param {Function} func The function to apply a rest parameter to.\n     * @returns {Function} Returns the new function.\n     */\n    var castRest = baseRest;\n\n    /**\n     * Casts `array` to a slice if it's needed.\n     *\n     * @private\n     * @param {Array} array The array to inspect.\n     * @param {number} start The start position.\n     * @param {number} [end=array.length] The end position.\n     * @returns {Array} Returns the cast slice.\n     */\n    function castSlice(array, start, end) {\n      var length = array.length;\n      end = end === undefined ? length : end;\n      return (!start && end >= length) ? array : baseSlice(array, start, end);\n    }\n\n    /**\n     * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout).\n     *\n     * @private\n     * @param {number|Object} id The timer id or timeout object of the timer to clear.\n     */\n    var clearTimeout = ctxClearTimeout || function(id) {\n      return root.clearTimeout(id);\n    };\n\n    /**\n     * Creates a clone of  `buffer`.\n     *\n     * @private\n     * @param {Buffer} buffer The buffer to clone.\n     * @param {boolean} [isDeep] Specify a deep clone.\n     * @returns {Buffer} Returns the cloned buffer.\n     */\n    function cloneBuffer(buffer, isDeep) {\n      if (isDeep) {\n        return buffer.slice();\n      }\n      var length = buffer.length,\n          result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n      buffer.copy(result);\n      return result;\n    }\n\n    /**\n     * Creates a clone of `arrayBuffer`.\n     *\n     * @private\n     * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n     * @returns {ArrayBuffer} Returns the cloned array buffer.\n     */\n    function cloneArrayBuffer(arrayBuffer) {\n      var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n      new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n      return result;\n    }\n\n    /**\n     * Creates a clone of `dataView`.\n     *\n     * @private\n     * @param {Object} dataView The data view to clone.\n     * @param {boolean} [isDeep] Specify a deep clone.\n     * @returns {Object} Returns the cloned data view.\n     */\n    function cloneDataView(dataView, isDeep) {\n      var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n      return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n    }\n\n    /**\n     * Creates a clone of `regexp`.\n     *\n     * @private\n     * @param {Object} regexp The regexp to clone.\n     * @returns {Object} Returns the cloned regexp.\n     */\n    function cloneRegExp(regexp) {\n      var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n      result.lastIndex = regexp.lastIndex;\n      return result;\n    }\n\n    /**\n     * Creates a clone of the `symbol` object.\n     *\n     * @private\n     * @param {Object} symbol The symbol object to clone.\n     * @returns {Object} Returns the cloned symbol object.\n     */\n    function cloneSymbol(symbol) {\n      return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n    }\n\n    /**\n     * Creates a clone of `typedArray`.\n     *\n     * @private\n     * @param {Object} typedArray The typed array to clone.\n     * @param {boolean} [isDeep] Specify a deep clone.\n     * @returns {Object} Returns the cloned typed array.\n     */\n    function cloneTypedArray(typedArray, isDeep) {\n      var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n      return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n    }\n\n    /**\n     * Compares values to sort them in ascending order.\n     *\n     * @private\n     * @param {*} value The value to compare.\n     * @param {*} other The other value to compare.\n     * @returns {number} Returns the sort order indicator for `value`.\n     */\n    function compareAscending(value, other) {\n      if (value !== other) {\n        var valIsDefined = value !== undefined,\n            valIsNull = value === null,\n            valIsReflexive = value === value,\n            valIsSymbol = isSymbol(value);\n\n        var othIsDefined = other !== undefined,\n            othIsNull = other === null,\n            othIsReflexive = other === other,\n            othIsSymbol = isSymbol(other);\n\n        if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n            (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n            (valIsNull && othIsDefined && othIsReflexive) ||\n            (!valIsDefined && othIsReflexive) ||\n            !valIsReflexive) {\n          return 1;\n        }\n        if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n            (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n            (othIsNull && valIsDefined && valIsReflexive) ||\n            (!othIsDefined && valIsReflexive) ||\n            !othIsReflexive) {\n          return -1;\n        }\n      }\n      return 0;\n    }\n\n    /**\n     * Used by `_.orderBy` to compare multiple properties of a value to another\n     * and stable sort them.\n     *\n     * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n     * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n     * of corresponding values.\n     *\n     * @private\n     * @param {Object} object The object to compare.\n     * @param {Object} other The other object to compare.\n     * @param {boolean[]|string[]} orders The order to sort by for each property.\n     * @returns {number} Returns the sort order indicator for `object`.\n     */\n    function compareMultiple(object, other, orders) {\n      var index = -1,\n          objCriteria = object.criteria,\n          othCriteria = other.criteria,\n          length = objCriteria.length,\n          ordersLength = orders.length;\n\n      while (++index < length) {\n        var result = compareAscending(objCriteria[index], othCriteria[index]);\n        if (result) {\n          if (index >= ordersLength) {\n            return result;\n          }\n          var order = orders[index];\n          return result * (order == 'desc' ? -1 : 1);\n        }\n      }\n      // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n      // that causes it, under certain circumstances, to provide the same value for\n      // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n      // for more details.\n      //\n      // This also ensures a stable sort in V8 and other engines.\n      // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n      return object.index - other.index;\n    }\n\n    /**\n     * Creates an array that is the composition of partially applied arguments,\n     * placeholders, and provided arguments into a single array of arguments.\n     *\n     * @private\n     * @param {Array} args The provided arguments.\n     * @param {Array} partials The arguments to prepend to those provided.\n     * @param {Array} holders The `partials` placeholder indexes.\n     * @params {boolean} [isCurried] Specify composing for a curried function.\n     * @returns {Array} Returns the new array of composed arguments.\n     */\n    function composeArgs(args, partials, holders, isCurried) {\n      var argsIndex = -1,\n          argsLength = args.length,\n          holdersLength = holders.length,\n          leftIndex = -1,\n          leftLength = partials.length,\n          rangeLength = nativeMax(argsLength - holdersLength, 0),\n          result = Array(leftLength + rangeLength),\n          isUncurried = !isCurried;\n\n      while (++leftIndex < leftLength) {\n        result[leftIndex] = partials[leftIndex];\n      }\n      while (++argsIndex < holdersLength) {\n        if (isUncurried || argsIndex < argsLength) {\n          result[holders[argsIndex]] = args[argsIndex];\n        }\n      }\n      while (rangeLength--) {\n        result[leftIndex++] = args[argsIndex++];\n      }\n      return result;\n    }\n\n    /**\n     * This function is like `composeArgs` except that the arguments composition\n     * is tailored for `_.partialRight`.\n     *\n     * @private\n     * @param {Array} args The provided arguments.\n     * @param {Array} partials The arguments to append to those provided.\n     * @param {Array} holders The `partials` placeholder indexes.\n     * @params {boolean} [isCurried] Specify composing for a curried function.\n     * @returns {Array} Returns the new array of composed arguments.\n     */\n    function composeArgsRight(args, partials, holders, isCurried) {\n      var argsIndex = -1,\n          argsLength = args.length,\n          holdersIndex = -1,\n          holdersLength = holders.length,\n          rightIndex = -1,\n          rightLength = partials.length,\n          rangeLength = nativeMax(argsLength - holdersLength, 0),\n          result = Array(rangeLength + rightLength),\n          isUncurried = !isCurried;\n\n      while (++argsIndex < rangeLength) {\n        result[argsIndex] = args[argsIndex];\n      }\n      var offset = argsIndex;\n      while (++rightIndex < rightLength) {\n        result[offset + rightIndex] = partials[rightIndex];\n      }\n      while (++holdersIndex < holdersLength) {\n        if (isUncurried || argsIndex < argsLength) {\n          result[offset + holders[holdersIndex]] = args[argsIndex++];\n        }\n      }\n      return result;\n    }\n\n    /**\n     * Copies the values of `source` to `array`.\n     *\n     * @private\n     * @param {Array} source The array to copy values from.\n     * @param {Array} [array=[]] The array to copy values to.\n     * @returns {Array} Returns `array`.\n     */\n    function copyArray(source, array) {\n      var index = -1,\n          length = source.length;\n\n      array || (array = Array(length));\n      while (++index < length) {\n        array[index] = source[index];\n      }\n      return array;\n    }\n\n    /**\n     * Copies properties of `source` to `object`.\n     *\n     * @private\n     * @param {Object} source The object to copy properties from.\n     * @param {Array} props The property identifiers to copy.\n     * @param {Object} [object={}] The object to copy properties to.\n     * @param {Function} [customizer] The function to customize copied values.\n     * @returns {Object} Returns `object`.\n     */\n    function copyObject(source, props, object, customizer) {\n      var isNew = !object;\n      object || (object = {});\n\n      var index = -1,\n          length = props.length;\n\n      while (++index < length) {\n        var key = props[index];\n\n        var newValue = customizer\n          ? customizer(object[key], source[key], key, object, source)\n          : undefined;\n\n        if (newValue === undefined) {\n          newValue = source[key];\n        }\n        if (isNew) {\n          baseAssignValue(object, key, newValue);\n        } else {\n          assignValue(object, key, newValue);\n        }\n      }\n      return object;\n    }\n\n    /**\n     * Copies own symbols of `source` to `object`.\n     *\n     * @private\n     * @param {Object} source The object to copy symbols from.\n     * @param {Object} [object={}] The object to copy symbols to.\n     * @returns {Object} Returns `object`.\n     */\n    function copySymbols(source, object) {\n      return copyObject(source, getSymbols(source), object);\n    }\n\n    /**\n     * Copies own and inherited symbols of `source` to `object`.\n     *\n     * @private\n     * @param {Object} source The object to copy symbols from.\n     * @param {Object} [object={}] The object to copy symbols to.\n     * @returns {Object} Returns `object`.\n     */\n    function copySymbolsIn(source, object) {\n      return copyObject(source, getSymbolsIn(source), object);\n    }\n\n    /**\n     * Creates a function like `_.groupBy`.\n     *\n     * @private\n     * @param {Function} setter The function to set accumulator values.\n     * @param {Function} [initializer] The accumulator object initializer.\n     * @returns {Function} Returns the new aggregator function.\n     */\n    function createAggregator(setter, initializer) {\n      return function(collection, iteratee) {\n        var func = isArray(collection) ? arrayAggregator : baseAggregator,\n            accumulator = initializer ? initializer() : {};\n\n        return func(collection, setter, getIteratee(iteratee, 2), accumulator);\n      };\n    }\n\n    /**\n     * Creates a function like `_.assign`.\n     *\n     * @private\n     * @param {Function} assigner The function to assign values.\n     * @returns {Function} Returns the new assigner function.\n     */\n    function createAssigner(assigner) {\n      return baseRest(function(object, sources) {\n        var index = -1,\n            length = sources.length,\n            customizer = length > 1 ? sources[length - 1] : undefined,\n            guard = length > 2 ? sources[2] : undefined;\n\n        customizer = (assigner.length > 3 && typeof customizer == 'function')\n          ? (length--, customizer)\n          : undefined;\n\n        if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n          customizer = length < 3 ? undefined : customizer;\n          length = 1;\n        }\n        object = Object(object);\n        while (++index < length) {\n          var source = sources[index];\n          if (source) {\n            assigner(object, source, index, customizer);\n          }\n        }\n        return object;\n      });\n    }\n\n    /**\n     * Creates a `baseEach` or `baseEachRight` function.\n     *\n     * @private\n     * @param {Function} eachFunc The function to iterate over a collection.\n     * @param {boolean} [fromRight] Specify iterating from right to left.\n     * @returns {Function} Returns the new base function.\n     */\n    function createBaseEach(eachFunc, fromRight) {\n      return function(collection, iteratee) {\n        if (collection == null) {\n          return collection;\n        }\n        if (!isArrayLike(collection)) {\n          return eachFunc(collection, iteratee);\n        }\n        var length = collection.length,\n            index = fromRight ? length : -1,\n            iterable = Object(collection);\n\n        while ((fromRight ? index-- : ++index < length)) {\n          if (iteratee(iterable[index], index, iterable) === false) {\n            break;\n          }\n        }\n        return collection;\n      };\n    }\n\n    /**\n     * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n     *\n     * @private\n     * @param {boolean} [fromRight] Specify iterating from right to left.\n     * @returns {Function} Returns the new base function.\n     */\n    function createBaseFor(fromRight) {\n      return function(object, iteratee, keysFunc) {\n        var index = -1,\n            iterable = Object(object),\n            props = keysFunc(object),\n            length = props.length;\n\n        while (length--) {\n          var key = props[fromRight ? length : ++index];\n          if (iteratee(iterable[key], key, iterable) === false) {\n            break;\n          }\n        }\n        return object;\n      };\n    }\n\n    /**\n     * Creates a function that wraps `func` to invoke it with the optional `this`\n     * binding of `thisArg`.\n     *\n     * @private\n     * @param {Function} func The function to wrap.\n     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n     * @param {*} [thisArg] The `this` binding of `func`.\n     * @returns {Function} Returns the new wrapped function.\n     */\n    function createBind(func, bitmask, thisArg) {\n      var isBind = bitmask & WRAP_BIND_FLAG,\n          Ctor = createCtor(func);\n\n      function wrapper() {\n        var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n        return fn.apply(isBind ? thisArg : this, arguments);\n      }\n      return wrapper;\n    }\n\n    /**\n     * Creates a function like `_.lowerFirst`.\n     *\n     * @private\n     * @param {string} methodName The name of the `String` case method to use.\n     * @returns {Function} Returns the new case function.\n     */\n    function createCaseFirst(methodName) {\n      return function(string) {\n        string = toString(string);\n\n        var strSymbols = hasUnicode(string)\n          ? stringToArray(string)\n          : undefined;\n\n        var chr = strSymbols\n          ? strSymbols[0]\n          : string.charAt(0);\n\n        var trailing = strSymbols\n          ? castSlice(strSymbols, 1).join('')\n          : string.slice(1);\n\n        return chr[methodName]() + trailing;\n      };\n    }\n\n    /**\n     * Creates a function like `_.camelCase`.\n     *\n     * @private\n     * @param {Function} callback The function to combine each word.\n     * @returns {Function} Returns the new compounder function.\n     */\n    function createCompounder(callback) {\n      return function(string) {\n        return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n      };\n    }\n\n    /**\n     * Creates a function that produces an instance of `Ctor` regardless of\n     * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n     *\n     * @private\n     * @param {Function} Ctor The constructor to wrap.\n     * @returns {Function} Returns the new wrapped function.\n     */\n    function createCtor(Ctor) {\n      return function() {\n        // Use a `switch` statement to work with class constructors. See\n        // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n        // for more details.\n        var args = arguments;\n        switch (args.length) {\n          case 0: return new Ctor;\n          case 1: return new Ctor(args[0]);\n          case 2: return new Ctor(args[0], args[1]);\n          case 3: return new Ctor(args[0], args[1], args[2]);\n          case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n          case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n          case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n          case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n        }\n        var thisBinding = baseCreate(Ctor.prototype),\n            result = Ctor.apply(thisBinding, args);\n\n        // Mimic the constructor's `return` behavior.\n        // See https://es5.github.io/#x13.2.2 for more details.\n        return isObject(result) ? result : thisBinding;\n      };\n    }\n\n    /**\n     * Creates a function that wraps `func` to enable currying.\n     *\n     * @private\n     * @param {Function} func The function to wrap.\n     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n     * @param {number} arity The arity of `func`.\n     * @returns {Function} Returns the new wrapped function.\n     */\n    function createCurry(func, bitmask, arity) {\n      var Ctor = createCtor(func);\n\n      function wrapper() {\n        var length = arguments.length,\n            args = Array(length),\n            index = length,\n            placeholder = getHolder(wrapper);\n\n        while (index--) {\n          args[index] = arguments[index];\n        }\n        var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n          ? []\n          : replaceHolders(args, placeholder);\n\n        length -= holders.length;\n        if (length < arity) {\n          return createRecurry(\n            func, bitmask, createHybrid, wrapper.placeholder, undefined,\n            args, holders, undefined, undefined, arity - length);\n        }\n        var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n        return apply(fn, this, args);\n      }\n      return wrapper;\n    }\n\n    /**\n     * Creates a `_.find` or `_.findLast` function.\n     *\n     * @private\n     * @param {Function} findIndexFunc The function to find the collection index.\n     * @returns {Function} Returns the new find function.\n     */\n    function createFind(findIndexFunc) {\n      return function(collection, predicate, fromIndex) {\n        var iterable = Object(collection);\n        if (!isArrayLike(collection)) {\n          var iteratee = getIteratee(predicate, 3);\n          collection = keys(collection);\n          predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n        }\n        var index = findIndexFunc(collection, predicate, fromIndex);\n        return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n      };\n    }\n\n    /**\n     * Creates a `_.flow` or `_.flowRight` function.\n     *\n     * @private\n     * @param {boolean} [fromRight] Specify iterating from right to left.\n     * @returns {Function} Returns the new flow function.\n     */\n    function createFlow(fromRight) {\n      return flatRest(function(funcs) {\n        var length = funcs.length,\n            index = length,\n            prereq = LodashWrapper.prototype.thru;\n\n        if (fromRight) {\n          funcs.reverse();\n        }\n        while (index--) {\n          var func = funcs[index];\n          if (typeof func != 'function') {\n            throw new TypeError(FUNC_ERROR_TEXT);\n          }\n          if (prereq && !wrapper && getFuncName(func) == 'wrapper') {\n            var wrapper = new LodashWrapper([], true);\n          }\n        }\n        index = wrapper ? index : length;\n        while (++index < length) {\n          func = funcs[index];\n\n          var funcName = getFuncName(func),\n              data = funcName == 'wrapper' ? getData(func) : undefined;\n\n          if (data && isLaziable(data[0]) &&\n                data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&\n                !data[4].length && data[9] == 1\n              ) {\n            wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);\n          } else {\n            wrapper = (func.length == 1 && isLaziable(func))\n              ? wrapper[funcName]()\n              : wrapper.thru(func);\n          }\n        }\n        return function() {\n          var args = arguments,\n              value = args[0];\n\n          if (wrapper && args.length == 1 && isArray(value)) {\n            return wrapper.plant(value).value();\n          }\n          var index = 0,\n              result = length ? funcs[index].apply(this, args) : value;\n\n          while (++index < length) {\n            result = funcs[index].call(this, result);\n          }\n          return result;\n        };\n      });\n    }\n\n    /**\n     * Creates a function that wraps `func` to invoke it with optional `this`\n     * binding of `thisArg`, partial application, and currying.\n     *\n     * @private\n     * @param {Function|string} func The function or method name to wrap.\n     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n     * @param {*} [thisArg] The `this` binding of `func`.\n     * @param {Array} [partials] The arguments to prepend to those provided to\n     *  the new function.\n     * @param {Array} [holders] The `partials` placeholder indexes.\n     * @param {Array} [partialsRight] The arguments to append to those provided\n     *  to the new function.\n     * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\n     * @param {Array} [argPos] The argument positions of the new function.\n     * @param {number} [ary] The arity cap of `func`.\n     * @param {number} [arity] The arity of `func`.\n     * @returns {Function} Returns the new wrapped function.\n     */\n    function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\n      var isAry = bitmask & WRAP_ARY_FLAG,\n          isBind = bitmask & WRAP_BIND_FLAG,\n          isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\n          isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\n          isFlip = bitmask & WRAP_FLIP_FLAG,\n          Ctor = isBindKey ? undefined : createCtor(func);\n\n      function wrapper() {\n        var length = arguments.length,\n            args = Array(length),\n            index = length;\n\n        while (index--) {\n          args[index] = arguments[index];\n        }\n        if (isCurried) {\n          var placeholder = getHolder(wrapper),\n              holdersCount = countHolders(args, placeholder);\n        }\n        if (partials) {\n          args = composeArgs(args, partials, holders, isCurried);\n        }\n        if (partialsRight) {\n          args = composeArgsRight(args, partialsRight, holdersRight, isCurried);\n        }\n        length -= holdersCount;\n        if (isCurried && length < arity) {\n          var newHolders = replaceHolders(args, placeholder);\n          return createRecurry(\n            func, bitmask, createHybrid, wrapper.placeholder, thisArg,\n            args, newHolders, argPos, ary, arity - length\n          );\n        }\n        var thisBinding = isBind ? thisArg : this,\n            fn = isBindKey ? thisBinding[func] : func;\n\n        length = args.length;\n        if (argPos) {\n          args = reorder(args, argPos);\n        } else if (isFlip && length > 1) {\n          args.reverse();\n        }\n        if (isAry && ary < length) {\n          args.length = ary;\n        }\n        if (this && this !== root && this instanceof wrapper) {\n          fn = Ctor || createCtor(fn);\n        }\n        return fn.apply(thisBinding, args);\n      }\n      return wrapper;\n    }\n\n    /**\n     * Creates a function like `_.invertBy`.\n     *\n     * @private\n     * @param {Function} setter The function to set accumulator values.\n     * @param {Function} toIteratee The function to resolve iteratees.\n     * @returns {Function} Returns the new inverter function.\n     */\n    function createInverter(setter, toIteratee) {\n      return function(object, iteratee) {\n        return baseInverter(object, setter, toIteratee(iteratee), {});\n      };\n    }\n\n    /**\n     * Creates a function that performs a mathematical operation on two values.\n     *\n     * @private\n     * @param {Function} operator The function to perform the operation.\n     * @param {number} [defaultValue] The value used for `undefined` arguments.\n     * @returns {Function} Returns the new mathematical operation function.\n     */\n    function createMathOperation(operator, defaultValue) {\n      return function(value, other) {\n        var result;\n        if (value === undefined && other === undefined) {\n          return defaultValue;\n        }\n        if (value !== undefined) {\n          result = value;\n        }\n        if (other !== undefined) {\n          if (result === undefined) {\n            return other;\n          }\n          if (typeof value == 'string' || typeof other == 'string') {\n            value = baseToString(value);\n            other = baseToString(other);\n          } else {\n            value = baseToNumber(value);\n            other = baseToNumber(other);\n          }\n          result = operator(value, other);\n        }\n        return result;\n      };\n    }\n\n    /**\n     * Creates a function like `_.over`.\n     *\n     * @private\n     * @param {Function} arrayFunc The function to iterate over iteratees.\n     * @returns {Function} Returns the new over function.\n     */\n    function createOver(arrayFunc) {\n      return flatRest(function(iteratees) {\n        iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n        return baseRest(function(args) {\n          var thisArg = this;\n          return arrayFunc(iteratees, function(iteratee) {\n            return apply(iteratee, thisArg, args);\n          });\n        });\n      });\n    }\n\n    /**\n     * Creates the padding for `string` based on `length`. The `chars` string\n     * is truncated if the number of characters exceeds `length`.\n     *\n     * @private\n     * @param {number} length The padding length.\n     * @param {string} [chars=' '] The string used as padding.\n     * @returns {string} Returns the padding for `string`.\n     */\n    function createPadding(length, chars) {\n      chars = chars === undefined ? ' ' : baseToString(chars);\n\n      var charsLength = chars.length;\n      if (charsLength < 2) {\n        return charsLength ? baseRepeat(chars, length) : chars;\n      }\n      var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));\n      return hasUnicode(chars)\n        ? castSlice(stringToArray(result), 0, length).join('')\n        : result.slice(0, length);\n    }\n\n    /**\n     * Creates a function that wraps `func` to invoke it with the `this` binding\n     * of `thisArg` and `partials` prepended to the arguments it receives.\n     *\n     * @private\n     * @param {Function} func The function to wrap.\n     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n     * @param {*} thisArg The `this` binding of `func`.\n     * @param {Array} partials The arguments to prepend to those provided to\n     *  the new function.\n     * @returns {Function} Returns the new wrapped function.\n     */\n    function createPartial(func, bitmask, thisArg, partials) {\n      var isBind = bitmask & WRAP_BIND_FLAG,\n          Ctor = createCtor(func);\n\n      function wrapper() {\n        var argsIndex = -1,\n            argsLength = arguments.length,\n            leftIndex = -1,\n            leftLength = partials.length,\n            args = Array(leftLength + argsLength),\n            fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n\n        while (++leftIndex < leftLength) {\n          args[leftIndex] = partials[leftIndex];\n        }\n        while (argsLength--) {\n          args[leftIndex++] = arguments[++argsIndex];\n        }\n        return apply(fn, isBind ? thisArg : this, args);\n      }\n      return wrapper;\n    }\n\n    /**\n     * Creates a `_.range` or `_.rangeRight` function.\n     *\n     * @private\n     * @param {boolean} [fromRight] Specify iterating from right to left.\n     * @returns {Function} Returns the new range function.\n     */\n    function createRange(fromRight) {\n      return function(start, end, step) {\n        if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n          end = step = undefined;\n        }\n        // Ensure the sign of `-0` is preserved.\n        start = toFinite(start);\n        if (end === undefined) {\n          end = start;\n          start = 0;\n        } else {\n          end = toFinite(end);\n        }\n        step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n        return baseRange(start, end, step, fromRight);\n      };\n    }\n\n    /**\n     * Creates a function that performs a relational operation on two values.\n     *\n     * @private\n     * @param {Function} operator The function to perform the operation.\n     * @returns {Function} Returns the new relational operation function.\n     */\n    function createRelationalOperation(operator) {\n      return function(value, other) {\n        if (!(typeof value == 'string' && typeof other == 'string')) {\n          value = toNumber(value);\n          other = toNumber(other);\n        }\n        return operator(value, other);\n      };\n    }\n\n    /**\n     * Creates a function that wraps `func` to continue currying.\n     *\n     * @private\n     * @param {Function} func The function to wrap.\n     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n     * @param {Function} wrapFunc The function to create the `func` wrapper.\n     * @param {*} placeholder The placeholder value.\n     * @param {*} [thisArg] The `this` binding of `func`.\n     * @param {Array} [partials] The arguments to prepend to those provided to\n     *  the new function.\n     * @param {Array} [holders] The `partials` placeholder indexes.\n     * @param {Array} [argPos] The argument positions of the new function.\n     * @param {number} [ary] The arity cap of `func`.\n     * @param {number} [arity] The arity of `func`.\n     * @returns {Function} Returns the new wrapped function.\n     */\n    function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n      var isCurry = bitmask & WRAP_CURRY_FLAG,\n          newHolders = isCurry ? holders : undefined,\n          newHoldersRight = isCurry ? undefined : holders,\n          newPartials = isCurry ? partials : undefined,\n          newPartialsRight = isCurry ? undefined : partials;\n\n      bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n      bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n      if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n        bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n      }\n      var newData = [\n        func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n        newHoldersRight, argPos, ary, arity\n      ];\n\n      var result = wrapFunc.apply(undefined, newData);\n      if (isLaziable(func)) {\n        setData(result, newData);\n      }\n      result.placeholder = placeholder;\n      return setWrapToString(result, func, bitmask);\n    }\n\n    /**\n     * Creates a function like `_.round`.\n     *\n     * @private\n     * @param {string} methodName The name of the `Math` method to use when rounding.\n     * @returns {Function} Returns the new round function.\n     */\n    function createRound(methodName) {\n      var func = Math[methodName];\n      return function(number, precision) {\n        number = toNumber(number);\n        precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);\n        if (precision && nativeIsFinite(number)) {\n          // Shift with exponential notation to avoid floating-point issues.\n          // See [MDN](https://mdn.io/round#Examples) for more details.\n          var pair = (toString(number) + 'e').split('e'),\n              value = func(pair[0] + 'e' + (+pair[1] + precision));\n\n          pair = (toString(value) + 'e').split('e');\n          return +(pair[0] + 'e' + (+pair[1] - precision));\n        }\n        return func(number);\n      };\n    }\n\n    /**\n     * Creates a set object of `values`.\n     *\n     * @private\n     * @param {Array} values The values to add to the set.\n     * @returns {Object} Returns the new set.\n     */\n    var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n      return new Set(values);\n    };\n\n    /**\n     * Creates a `_.toPairs` or `_.toPairsIn` function.\n     *\n     * @private\n     * @param {Function} keysFunc The function to get the keys of a given object.\n     * @returns {Function} Returns the new pairs function.\n     */\n    function createToPairs(keysFunc) {\n      return function(object) {\n        var tag = getTag(object);\n        if (tag == mapTag) {\n          return mapToArray(object);\n        }\n        if (tag == setTag) {\n          return setToPairs(object);\n        }\n        return baseToPairs(object, keysFunc(object));\n      };\n    }\n\n    /**\n     * Creates a function that either curries or invokes `func` with optional\n     * `this` binding and partially applied arguments.\n     *\n     * @private\n     * @param {Function|string} func The function or method name to wrap.\n     * @param {number} bitmask The bitmask flags.\n     *    1 - `_.bind`\n     *    2 - `_.bindKey`\n     *    4 - `_.curry` or `_.curryRight` of a bound function\n     *    8 - `_.curry`\n     *   16 - `_.curryRight`\n     *   32 - `_.partial`\n     *   64 - `_.partialRight`\n     *  128 - `_.rearg`\n     *  256 - `_.ary`\n     *  512 - `_.flip`\n     * @param {*} [thisArg] The `this` binding of `func`.\n     * @param {Array} [partials] The arguments to be partially applied.\n     * @param {Array} [holders] The `partials` placeholder indexes.\n     * @param {Array} [argPos] The argument positions of the new function.\n     * @param {number} [ary] The arity cap of `func`.\n     * @param {number} [arity] The arity of `func`.\n     * @returns {Function} Returns the new wrapped function.\n     */\n    function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n      var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n      if (!isBindKey && typeof func != 'function') {\n        throw new TypeError(FUNC_ERROR_TEXT);\n      }\n      var length = partials ? partials.length : 0;\n      if (!length) {\n        bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n        partials = holders = undefined;\n      }\n      ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);\n      arity = arity === undefined ? arity : toInteger(arity);\n      length -= holders ? holders.length : 0;\n\n      if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n        var partialsRight = partials,\n            holdersRight = holders;\n\n        partials = holders = undefined;\n      }\n      var data = isBindKey ? undefined : getData(func);\n\n      var newData = [\n        func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n        argPos, ary, arity\n      ];\n\n      if (data) {\n        mergeData(newData, data);\n      }\n      func = newData[0];\n      bitmask = newData[1];\n      thisArg = newData[2];\n      partials = newData[3];\n      holders = newData[4];\n      arity = newData[9] = newData[9] === undefined\n        ? (isBindKey ? 0 : func.length)\n        : nativeMax(newData[9] - length, 0);\n\n      if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n        bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n      }\n      if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n        var result = createBind(func, bitmask, thisArg);\n      } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n        result = createCurry(func, bitmask, arity);\n      } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n        result = createPartial(func, bitmask, thisArg, partials);\n      } else {\n        result = createHybrid.apply(undefined, newData);\n      }\n      var setter = data ? baseSetData : setData;\n      return setWrapToString(setter(result, newData), func, bitmask);\n    }\n\n    /**\n     * Used by `_.defaults` to customize its `_.assignIn` use to assign properties\n     * of source objects to the destination object for all destination properties\n     * that resolve to `undefined`.\n     *\n     * @private\n     * @param {*} objValue The destination value.\n     * @param {*} srcValue The source value.\n     * @param {string} key The key of the property to assign.\n     * @param {Object} object The parent object of `objValue`.\n     * @returns {*} Returns the value to assign.\n     */\n    function customDefaultsAssignIn(objValue, srcValue, key, object) {\n      if (objValue === undefined ||\n          (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n        return srcValue;\n      }\n      return objValue;\n    }\n\n    /**\n     * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n     * objects into destination objects that are passed thru.\n     *\n     * @private\n     * @param {*} objValue The destination value.\n     * @param {*} srcValue The source value.\n     * @param {string} key The key of the property to merge.\n     * @param {Object} object The parent object of `objValue`.\n     * @param {Object} source The parent object of `srcValue`.\n     * @param {Object} [stack] Tracks traversed source values and their merged\n     *  counterparts.\n     * @returns {*} Returns the value to assign.\n     */\n    function customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n      if (isObject(objValue) && isObject(srcValue)) {\n        // Recursively merge objects and arrays (susceptible to call stack limits).\n        stack.set(srcValue, objValue);\n        baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);\n        stack['delete'](srcValue);\n      }\n      return objValue;\n    }\n\n    /**\n     * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n     * objects.\n     *\n     * @private\n     * @param {*} value The value to inspect.\n     * @param {string} key The key of the property to inspect.\n     * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n     */\n    function customOmitClone(value) {\n      return isPlainObject(value) ? undefined : value;\n    }\n\n    /**\n     * A specialized version of `baseIsEqualDeep` for arrays with support for\n     * partial deep comparisons.\n     *\n     * @private\n     * @param {Array} array The array to compare.\n     * @param {Array} other The other array to compare.\n     * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n     * @param {Function} customizer The function to customize comparisons.\n     * @param {Function} equalFunc The function to determine equivalents of values.\n     * @param {Object} stack Tracks traversed `array` and `other` objects.\n     * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n     */\n    function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n      var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n          arrLength = array.length,\n          othLength = other.length;\n\n      if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n        return false;\n      }\n      // Check that cyclic values are equal.\n      var arrStacked = stack.get(array);\n      var othStacked = stack.get(other);\n      if (arrStacked && othStacked) {\n        return arrStacked == other && othStacked == array;\n      }\n      var index = -1,\n          result = true,\n          seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n      stack.set(array, other);\n      stack.set(other, array);\n\n      // Ignore non-index properties.\n      while (++index < arrLength) {\n        var arrValue = array[index],\n            othValue = other[index];\n\n        if (customizer) {\n          var compared = isPartial\n            ? customizer(othValue, arrValue, index, other, array, stack)\n            : customizer(arrValue, othValue, index, array, other, stack);\n        }\n        if (compared !== undefined) {\n          if (compared) {\n            continue;\n          }\n          result = false;\n          break;\n        }\n        // Recursively compare arrays (susceptible to call stack limits).\n        if (seen) {\n          if (!arraySome(other, function(othValue, othIndex) {\n                if (!cacheHas(seen, othIndex) &&\n                    (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n                  return seen.push(othIndex);\n                }\n              })) {\n            result = false;\n            break;\n          }\n        } else if (!(\n              arrValue === othValue ||\n                equalFunc(arrValue, othValue, bitmask, customizer, stack)\n            )) {\n          result = false;\n          break;\n        }\n      }\n      stack['delete'](array);\n      stack['delete'](other);\n      return result;\n    }\n\n    /**\n     * A specialized version of `baseIsEqualDeep` for comparing objects of\n     * the same `toStringTag`.\n     *\n     * **Note:** This function only supports comparing values with tags of\n     * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n     *\n     * @private\n     * @param {Object} object The object to compare.\n     * @param {Object} other The other object to compare.\n     * @param {string} tag The `toStringTag` of the objects to compare.\n     * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n     * @param {Function} customizer The function to customize comparisons.\n     * @param {Function} equalFunc The function to determine equivalents of values.\n     * @param {Object} stack Tracks traversed `object` and `other` objects.\n     * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n     */\n    function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n      switch (tag) {\n        case dataViewTag:\n          if ((object.byteLength != other.byteLength) ||\n              (object.byteOffset != other.byteOffset)) {\n            return false;\n          }\n          object = object.buffer;\n          other = other.buffer;\n\n        case arrayBufferTag:\n          if ((object.byteLength != other.byteLength) ||\n              !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n            return false;\n          }\n          return true;\n\n        case boolTag:\n        case dateTag:\n        case numberTag:\n          // Coerce booleans to `1` or `0` and dates to milliseconds.\n          // Invalid dates are coerced to `NaN`.\n          return eq(+object, +other);\n\n        case errorTag:\n          return object.name == other.name && object.message == other.message;\n\n        case regexpTag:\n        case stringTag:\n          // Coerce regexes to strings and treat strings, primitives and objects,\n          // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n          // for more details.\n          return object == (other + '');\n\n        case mapTag:\n          var convert = mapToArray;\n\n        case setTag:\n          var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n          convert || (convert = setToArray);\n\n          if (object.size != other.size && !isPartial) {\n            return false;\n          }\n          // Assume cyclic values are equal.\n          var stacked = stack.get(object);\n          if (stacked) {\n            return stacked == other;\n          }\n          bitmask |= COMPARE_UNORDERED_FLAG;\n\n          // Recursively compare objects (susceptible to call stack limits).\n          stack.set(object, other);\n          var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n          stack['delete'](object);\n          return result;\n\n        case symbolTag:\n          if (symbolValueOf) {\n            return symbolValueOf.call(object) == symbolValueOf.call(other);\n          }\n      }\n      return false;\n    }\n\n    /**\n     * A specialized version of `baseIsEqualDeep` for objects with support for\n     * partial deep comparisons.\n     *\n     * @private\n     * @param {Object} object The object to compare.\n     * @param {Object} other The other object to compare.\n     * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n     * @param {Function} customizer The function to customize comparisons.\n     * @param {Function} equalFunc The function to determine equivalents of values.\n     * @param {Object} stack Tracks traversed `object` and `other` objects.\n     * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n     */\n    function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n      var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n          objProps = getAllKeys(object),\n          objLength = objProps.length,\n          othProps = getAllKeys(other),\n          othLength = othProps.length;\n\n      if (objLength != othLength && !isPartial) {\n        return false;\n      }\n      var index = objLength;\n      while (index--) {\n        var key = objProps[index];\n        if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n          return false;\n        }\n      }\n      // Check that cyclic values are equal.\n      var objStacked = stack.get(object);\n      var othStacked = stack.get(other);\n      if (objStacked && othStacked) {\n        return objStacked == other && othStacked == object;\n      }\n      var result = true;\n      stack.set(object, other);\n      stack.set(other, object);\n\n      var skipCtor = isPartial;\n      while (++index < objLength) {\n        key = objProps[index];\n        var objValue = object[key],\n            othValue = other[key];\n\n        if (customizer) {\n          var compared = isPartial\n            ? customizer(othValue, objValue, key, other, object, stack)\n            : customizer(objValue, othValue, key, object, other, stack);\n        }\n        // Recursively compare objects (susceptible to call stack limits).\n        if (!(compared === undefined\n              ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n              : compared\n            )) {\n          result = false;\n          break;\n        }\n        skipCtor || (skipCtor = key == 'constructor');\n      }\n      if (result && !skipCtor) {\n        var objCtor = object.constructor,\n            othCtor = other.constructor;\n\n        // Non `Object` object instances with different constructors are not equal.\n        if (objCtor != othCtor &&\n            ('constructor' in object && 'constructor' in other) &&\n            !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n              typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n          result = false;\n        }\n      }\n      stack['delete'](object);\n      stack['delete'](other);\n      return result;\n    }\n\n    /**\n     * A specialized version of `baseRest` which flattens the rest array.\n     *\n     * @private\n     * @param {Function} func The function to apply a rest parameter to.\n     * @returns {Function} Returns the new function.\n     */\n    function flatRest(func) {\n      return setToString(overRest(func, undefined, flatten), func + '');\n    }\n\n    /**\n     * Creates an array of own enumerable property names and symbols of `object`.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the array of property names and symbols.\n     */\n    function getAllKeys(object) {\n      return baseGetAllKeys(object, keys, getSymbols);\n    }\n\n    /**\n     * Creates an array of own and inherited enumerable property names and\n     * symbols of `object`.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the array of property names and symbols.\n     */\n    function getAllKeysIn(object) {\n      return baseGetAllKeys(object, keysIn, getSymbolsIn);\n    }\n\n    /**\n     * Gets metadata for `func`.\n     *\n     * @private\n     * @param {Function} func The function to query.\n     * @returns {*} Returns the metadata for `func`.\n     */\n    var getData = !metaMap ? noop : function(func) {\n      return metaMap.get(func);\n    };\n\n    /**\n     * Gets the name of `func`.\n     *\n     * @private\n     * @param {Function} func The function to query.\n     * @returns {string} Returns the function name.\n     */\n    function getFuncName(func) {\n      var result = (func.name + ''),\n          array = realNames[result],\n          length = hasOwnProperty.call(realNames, result) ? array.length : 0;\n\n      while (length--) {\n        var data = array[length],\n            otherFunc = data.func;\n        if (otherFunc == null || otherFunc == func) {\n          return data.name;\n        }\n      }\n      return result;\n    }\n\n    /**\n     * Gets the argument placeholder value for `func`.\n     *\n     * @private\n     * @param {Function} func The function to inspect.\n     * @returns {*} Returns the placeholder value.\n     */\n    function getHolder(func) {\n      var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func;\n      return object.placeholder;\n    }\n\n    /**\n     * Gets the appropriate \"iteratee\" function. If `_.iteratee` is customized,\n     * this function returns the custom method, otherwise it returns `baseIteratee`.\n     * If arguments are provided, the chosen function is invoked with them and\n     * its result is returned.\n     *\n     * @private\n     * @param {*} [value] The value to convert to an iteratee.\n     * @param {number} [arity] The arity of the created iteratee.\n     * @returns {Function} Returns the chosen function or its result.\n     */\n    function getIteratee() {\n      var result = lodash.iteratee || iteratee;\n      result = result === iteratee ? baseIteratee : result;\n      return arguments.length ? result(arguments[0], arguments[1]) : result;\n    }\n\n    /**\n     * Gets the data for `map`.\n     *\n     * @private\n     * @param {Object} map The map to query.\n     * @param {string} key The reference key.\n     * @returns {*} Returns the map data.\n     */\n    function getMapData(map, key) {\n      var data = map.__data__;\n      return isKeyable(key)\n        ? data[typeof key == 'string' ? 'string' : 'hash']\n        : data.map;\n    }\n\n    /**\n     * Gets the property names, values, and compare flags of `object`.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the match data of `object`.\n     */\n    function getMatchData(object) {\n      var result = keys(object),\n          length = result.length;\n\n      while (length--) {\n        var key = result[length],\n            value = object[key];\n\n        result[length] = [key, value, isStrictComparable(value)];\n      }\n      return result;\n    }\n\n    /**\n     * Gets the native function at `key` of `object`.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @param {string} key The key of the method to get.\n     * @returns {*} Returns the function if it's native, else `undefined`.\n     */\n    function getNative(object, key) {\n      var value = getValue(object, key);\n      return baseIsNative(value) ? value : undefined;\n    }\n\n    /**\n     * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n     *\n     * @private\n     * @param {*} value The value to query.\n     * @returns {string} Returns the raw `toStringTag`.\n     */\n    function getRawTag(value) {\n      var isOwn = hasOwnProperty.call(value, symToStringTag),\n          tag = value[symToStringTag];\n\n      try {\n        value[symToStringTag] = undefined;\n        var unmasked = true;\n      } catch (e) {}\n\n      var result = nativeObjectToString.call(value);\n      if (unmasked) {\n        if (isOwn) {\n          value[symToStringTag] = tag;\n        } else {\n          delete value[symToStringTag];\n        }\n      }\n      return result;\n    }\n\n    /**\n     * Creates an array of the own enumerable symbols of `object`.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the array of symbols.\n     */\n    var getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n      if (object == null) {\n        return [];\n      }\n      object = Object(object);\n      return arrayFilter(nativeGetSymbols(object), function(symbol) {\n        return propertyIsEnumerable.call(object, symbol);\n      });\n    };\n\n    /**\n     * Creates an array of the own and inherited enumerable symbols of `object`.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the array of symbols.\n     */\n    var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n      var result = [];\n      while (object) {\n        arrayPush(result, getSymbols(object));\n        object = getPrototype(object);\n      }\n      return result;\n    };\n\n    /**\n     * Gets the `toStringTag` of `value`.\n     *\n     * @private\n     * @param {*} value The value to query.\n     * @returns {string} Returns the `toStringTag`.\n     */\n    var getTag = baseGetTag;\n\n    // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\n    if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n        (Map && getTag(new Map) != mapTag) ||\n        (Promise && getTag(Promise.resolve()) != promiseTag) ||\n        (Set && getTag(new Set) != setTag) ||\n        (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n      getTag = function(value) {\n        var result = baseGetTag(value),\n            Ctor = result == objectTag ? value.constructor : undefined,\n            ctorString = Ctor ? toSource(Ctor) : '';\n\n        if (ctorString) {\n          switch (ctorString) {\n            case dataViewCtorString: return dataViewTag;\n            case mapCtorString: return mapTag;\n            case promiseCtorString: return promiseTag;\n            case setCtorString: return setTag;\n            case weakMapCtorString: return weakMapTag;\n          }\n        }\n        return result;\n      };\n    }\n\n    /**\n     * Gets the view, applying any `transforms` to the `start` and `end` positions.\n     *\n     * @private\n     * @param {number} start The start of the view.\n     * @param {number} end The end of the view.\n     * @param {Array} transforms The transformations to apply to the view.\n     * @returns {Object} Returns an object containing the `start` and `end`\n     *  positions of the view.\n     */\n    function getView(start, end, transforms) {\n      var index = -1,\n          length = transforms.length;\n\n      while (++index < length) {\n        var data = transforms[index],\n            size = data.size;\n\n        switch (data.type) {\n          case 'drop':      start += size; break;\n          case 'dropRight': end -= size; break;\n          case 'take':      end = nativeMin(end, start + size); break;\n          case 'takeRight': start = nativeMax(start, end - size); break;\n        }\n      }\n      return { 'start': start, 'end': end };\n    }\n\n    /**\n     * Extracts wrapper details from the `source` body comment.\n     *\n     * @private\n     * @param {string} source The source to inspect.\n     * @returns {Array} Returns the wrapper details.\n     */\n    function getWrapDetails(source) {\n      var match = source.match(reWrapDetails);\n      return match ? match[1].split(reSplitDetails) : [];\n    }\n\n    /**\n     * Checks if `path` exists on `object`.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @param {Array|string} path The path to check.\n     * @param {Function} hasFunc The function to check properties.\n     * @returns {boolean} Returns `true` if `path` exists, else `false`.\n     */\n    function hasPath(object, path, hasFunc) {\n      path = castPath(path, object);\n\n      var index = -1,\n          length = path.length,\n          result = false;\n\n      while (++index < length) {\n        var key = toKey(path[index]);\n        if (!(result = object != null && hasFunc(object, key))) {\n          break;\n        }\n        object = object[key];\n      }\n      if (result || ++index != length) {\n        return result;\n      }\n      length = object == null ? 0 : object.length;\n      return !!length && isLength(length) && isIndex(key, length) &&\n        (isArray(object) || isArguments(object));\n    }\n\n    /**\n     * Initializes an array clone.\n     *\n     * @private\n     * @param {Array} array The array to clone.\n     * @returns {Array} Returns the initialized clone.\n     */\n    function initCloneArray(array) {\n      var length = array.length,\n          result = new array.constructor(length);\n\n      // Add properties assigned by `RegExp#exec`.\n      if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n        result.index = array.index;\n        result.input = array.input;\n      }\n      return result;\n    }\n\n    /**\n     * Initializes an object clone.\n     *\n     * @private\n     * @param {Object} object The object to clone.\n     * @returns {Object} Returns the initialized clone.\n     */\n    function initCloneObject(object) {\n      return (typeof object.constructor == 'function' && !isPrototype(object))\n        ? baseCreate(getPrototype(object))\n        : {};\n    }\n\n    /**\n     * Initializes an object clone based on its `toStringTag`.\n     *\n     * **Note:** This function only supports cloning values with tags of\n     * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n     *\n     * @private\n     * @param {Object} object The object to clone.\n     * @param {string} tag The `toStringTag` of the object to clone.\n     * @param {boolean} [isDeep] Specify a deep clone.\n     * @returns {Object} Returns the initialized clone.\n     */\n    function initCloneByTag(object, tag, isDeep) {\n      var Ctor = object.constructor;\n      switch (tag) {\n        case arrayBufferTag:\n          return cloneArrayBuffer(object);\n\n        case boolTag:\n        case dateTag:\n          return new Ctor(+object);\n\n        case dataViewTag:\n          return cloneDataView(object, isDeep);\n\n        case float32Tag: case float64Tag:\n        case int8Tag: case int16Tag: case int32Tag:\n        case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n          return cloneTypedArray(object, isDeep);\n\n        case mapTag:\n          return new Ctor;\n\n        case numberTag:\n        case stringTag:\n          return new Ctor(object);\n\n        case regexpTag:\n          return cloneRegExp(object);\n\n        case setTag:\n          return new Ctor;\n\n        case symbolTag:\n          return cloneSymbol(object);\n      }\n    }\n\n    /**\n     * Inserts wrapper `details` in a comment at the top of the `source` body.\n     *\n     * @private\n     * @param {string} source The source to modify.\n     * @returns {Array} details The details to insert.\n     * @returns {string} Returns the modified source.\n     */\n    function insertWrapDetails(source, details) {\n      var length = details.length;\n      if (!length) {\n        return source;\n      }\n      var lastIndex = length - 1;\n      details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\n      details = details.join(length > 2 ? ', ' : ' ');\n      return source.replace(reWrapComment, '{\\n/* [wrapped with ' + details + '] */\\n');\n    }\n\n    /**\n     * Checks if `value` is a flattenable `arguments` object or array.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n     */\n    function isFlattenable(value) {\n      return isArray(value) || isArguments(value) ||\n        !!(spreadableSymbol && value && value[spreadableSymbol]);\n    }\n\n    /**\n     * Checks if `value` is a valid array-like index.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n     * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n     */\n    function isIndex(value, length) {\n      var type = typeof value;\n      length = length == null ? MAX_SAFE_INTEGER : length;\n\n      return !!length &&\n        (type == 'number' ||\n          (type != 'symbol' && reIsUint.test(value))) &&\n            (value > -1 && value % 1 == 0 && value < length);\n    }\n\n    /**\n     * Checks if the given arguments are from an iteratee call.\n     *\n     * @private\n     * @param {*} value The potential iteratee value argument.\n     * @param {*} index The potential iteratee index or key argument.\n     * @param {*} object The potential iteratee object argument.\n     * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n     *  else `false`.\n     */\n    function isIterateeCall(value, index, object) {\n      if (!isObject(object)) {\n        return false;\n      }\n      var type = typeof index;\n      if (type == 'number'\n            ? (isArrayLike(object) && isIndex(index, object.length))\n            : (type == 'string' && index in object)\n          ) {\n        return eq(object[index], value);\n      }\n      return false;\n    }\n\n    /**\n     * Checks if `value` is a property name and not a property path.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @param {Object} [object] The object to query keys on.\n     * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n     */\n    function isKey(value, object) {\n      if (isArray(value)) {\n        return false;\n      }\n      var type = typeof value;\n      if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n          value == null || isSymbol(value)) {\n        return true;\n      }\n      return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n        (object != null && value in Object(object));\n    }\n\n    /**\n     * Checks if `value` is suitable for use as unique object key.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n     */\n    function isKeyable(value) {\n      var type = typeof value;\n      return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n        ? (value !== '__proto__')\n        : (value === null);\n    }\n\n    /**\n     * Checks if `func` has a lazy counterpart.\n     *\n     * @private\n     * @param {Function} func The function to check.\n     * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n     *  else `false`.\n     */\n    function isLaziable(func) {\n      var funcName = getFuncName(func),\n          other = lodash[funcName];\n\n      if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {\n        return false;\n      }\n      if (func === other) {\n        return true;\n      }\n      var data = getData(other);\n      return !!data && func === data[0];\n    }\n\n    /**\n     * Checks if `func` has its source masked.\n     *\n     * @private\n     * @param {Function} func The function to check.\n     * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n     */\n    function isMasked(func) {\n      return !!maskSrcKey && (maskSrcKey in func);\n    }\n\n    /**\n     * Checks if `func` is capable of being masked.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `func` is maskable, else `false`.\n     */\n    var isMaskable = coreJsData ? isFunction : stubFalse;\n\n    /**\n     * Checks if `value` is likely a prototype object.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n     */\n    function isPrototype(value) {\n      var Ctor = value && value.constructor,\n          proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n      return value === proto;\n    }\n\n    /**\n     * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n     *\n     * @private\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` if suitable for strict\n     *  equality comparisons, else `false`.\n     */\n    function isStrictComparable(value) {\n      return value === value && !isObject(value);\n    }\n\n    /**\n     * A specialized version of `matchesProperty` for source values suitable\n     * for strict equality comparisons, i.e. `===`.\n     *\n     * @private\n     * @param {string} key The key of the property to get.\n     * @param {*} srcValue The value to match.\n     * @returns {Function} Returns the new spec function.\n     */\n    function matchesStrictComparable(key, srcValue) {\n      return function(object) {\n        if (object == null) {\n          return false;\n        }\n        return object[key] === srcValue &&\n          (srcValue !== undefined || (key in Object(object)));\n      };\n    }\n\n    /**\n     * A specialized version of `_.memoize` which clears the memoized function's\n     * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n     *\n     * @private\n     * @param {Function} func The function to have its output memoized.\n     * @returns {Function} Returns the new memoized function.\n     */\n    function memoizeCapped(func) {\n      var result = memoize(func, function(key) {\n        if (cache.size === MAX_MEMOIZE_SIZE) {\n          cache.clear();\n        }\n        return key;\n      });\n\n      var cache = result.cache;\n      return result;\n    }\n\n    /**\n     * Merges the function metadata of `source` into `data`.\n     *\n     * Merging metadata reduces the number of wrappers used to invoke a function.\n     * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`\n     * may be applied regardless of execution order. Methods like `_.ary` and\n     * `_.rearg` modify function arguments, making the order in which they are\n     * executed important, preventing the merging of metadata. However, we make\n     * an exception for a safe combined case where curried functions have `_.ary`\n     * and or `_.rearg` applied.\n     *\n     * @private\n     * @param {Array} data The destination metadata.\n     * @param {Array} source The source metadata.\n     * @returns {Array} Returns `data`.\n     */\n    function mergeData(data, source) {\n      var bitmask = data[1],\n          srcBitmask = source[1],\n          newBitmask = bitmask | srcBitmask,\n          isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);\n\n      var isCombo =\n        ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||\n        ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||\n        ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));\n\n      // Exit early if metadata can't be merged.\n      if (!(isCommon || isCombo)) {\n        return data;\n      }\n      // Use source `thisArg` if available.\n      if (srcBitmask & WRAP_BIND_FLAG) {\n        data[2] = source[2];\n        // Set when currying a bound function.\n        newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;\n      }\n      // Compose partial arguments.\n      var value = source[3];\n      if (value) {\n        var partials = data[3];\n        data[3] = partials ? composeArgs(partials, value, source[4]) : value;\n        data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];\n      }\n      // Compose partial right arguments.\n      value = source[5];\n      if (value) {\n        partials = data[5];\n        data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;\n        data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];\n      }\n      // Use source `argPos` if available.\n      value = source[7];\n      if (value) {\n        data[7] = value;\n      }\n      // Use source `ary` if it's smaller.\n      if (srcBitmask & WRAP_ARY_FLAG) {\n        data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);\n      }\n      // Use source `arity` if one is not provided.\n      if (data[9] == null) {\n        data[9] = source[9];\n      }\n      // Use source `func` and merge bitmasks.\n      data[0] = source[0];\n      data[1] = newBitmask;\n\n      return data;\n    }\n\n    /**\n     * This function is like\n     * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n     * except that it includes inherited enumerable properties.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the array of property names.\n     */\n    function nativeKeysIn(object) {\n      var result = [];\n      if (object != null) {\n        for (var key in Object(object)) {\n          result.push(key);\n        }\n      }\n      return result;\n    }\n\n    /**\n     * Converts `value` to a string using `Object.prototype.toString`.\n     *\n     * @private\n     * @param {*} value The value to convert.\n     * @returns {string} Returns the converted string.\n     */\n    function objectToString(value) {\n      return nativeObjectToString.call(value);\n    }\n\n    /**\n     * A specialized version of `baseRest` which transforms the rest array.\n     *\n     * @private\n     * @param {Function} func The function to apply a rest parameter to.\n     * @param {number} [start=func.length-1] The start position of the rest parameter.\n     * @param {Function} transform The rest array transform.\n     * @returns {Function} Returns the new function.\n     */\n    function overRest(func, start, transform) {\n      start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n      return function() {\n        var args = arguments,\n            index = -1,\n            length = nativeMax(args.length - start, 0),\n            array = Array(length);\n\n        while (++index < length) {\n          array[index] = args[start + index];\n        }\n        index = -1;\n        var otherArgs = Array(start + 1);\n        while (++index < start) {\n          otherArgs[index] = args[index];\n        }\n        otherArgs[start] = transform(array);\n        return apply(func, this, otherArgs);\n      };\n    }\n\n    /**\n     * Gets the parent value at `path` of `object`.\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @param {Array} path The path to get the parent value of.\n     * @returns {*} Returns the parent value.\n     */\n    function parent(object, path) {\n      return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n    }\n\n    /**\n     * Reorder `array` according to the specified indexes where the element at\n     * the first index is assigned as the first element, the element at\n     * the second index is assigned as the second element, and so on.\n     *\n     * @private\n     * @param {Array} array The array to reorder.\n     * @param {Array} indexes The arranged array indexes.\n     * @returns {Array} Returns `array`.\n     */\n    function reorder(array, indexes) {\n      var arrLength = array.length,\n          length = nativeMin(indexes.length, arrLength),\n          oldArray = copyArray(array);\n\n      while (length--) {\n        var index = indexes[length];\n        array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;\n      }\n      return array;\n    }\n\n    /**\n     * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n     *\n     * @private\n     * @param {Object} object The object to query.\n     * @param {string} key The key of the property to get.\n     * @returns {*} Returns the property value.\n     */\n    function safeGet(object, key) {\n      if (key === 'constructor' && typeof object[key] === 'function') {\n        return;\n      }\n\n      if (key == '__proto__') {\n        return;\n      }\n\n      return object[key];\n    }\n\n    /**\n     * Sets metadata for `func`.\n     *\n     * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n     * period of time, it will trip its breaker and transition to an identity\n     * function to avoid garbage collection pauses in V8. See\n     * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n     * for more details.\n     *\n     * @private\n     * @param {Function} func The function to associate metadata with.\n     * @param {*} data The metadata.\n     * @returns {Function} Returns `func`.\n     */\n    var setData = shortOut(baseSetData);\n\n    /**\n     * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout).\n     *\n     * @private\n     * @param {Function} func The function to delay.\n     * @param {number} wait The number of milliseconds to delay invocation.\n     * @returns {number|Object} Returns the timer id or timeout object.\n     */\n    var setTimeout = ctxSetTimeout || function(func, wait) {\n      return root.setTimeout(func, wait);\n    };\n\n    /**\n     * Sets the `toString` method of `func` to return `string`.\n     *\n     * @private\n     * @param {Function} func The function to modify.\n     * @param {Function} string The `toString` result.\n     * @returns {Function} Returns `func`.\n     */\n    var setToString = shortOut(baseSetToString);\n\n    /**\n     * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n     * with wrapper details in a comment at the top of the source body.\n     *\n     * @private\n     * @param {Function} wrapper The function to modify.\n     * @param {Function} reference The reference function.\n     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n     * @returns {Function} Returns `wrapper`.\n     */\n    function setWrapToString(wrapper, reference, bitmask) {\n      var source = (reference + '');\n      return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\n    }\n\n    /**\n     * Creates a function that'll short out and invoke `identity` instead\n     * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n     * milliseconds.\n     *\n     * @private\n     * @param {Function} func The function to restrict.\n     * @returns {Function} Returns the new shortable function.\n     */\n    function shortOut(func) {\n      var count = 0,\n          lastCalled = 0;\n\n      return function() {\n        var stamp = nativeNow(),\n            remaining = HOT_SPAN - (stamp - lastCalled);\n\n        lastCalled = stamp;\n        if (remaining > 0) {\n          if (++count >= HOT_COUNT) {\n            return arguments[0];\n          }\n        } else {\n          count = 0;\n        }\n        return func.apply(undefined, arguments);\n      };\n    }\n\n    /**\n     * A specialized version of `_.shuffle` which mutates and sets the size of `array`.\n     *\n     * @private\n     * @param {Array} array The array to shuffle.\n     * @param {number} [size=array.length] The size of `array`.\n     * @returns {Array} Returns `array`.\n     */\n    function shuffleSelf(array, size) {\n      var index = -1,\n          length = array.length,\n          lastIndex = length - 1;\n\n      size = size === undefined ? length : size;\n      while (++index < size) {\n        var rand = baseRandom(index, lastIndex),\n            value = array[rand];\n\n        array[rand] = array[index];\n        array[index] = value;\n      }\n      array.length = size;\n      return array;\n    }\n\n    /**\n     * Converts `string` to a property path array.\n     *\n     * @private\n     * @param {string} string The string to convert.\n     * @returns {Array} Returns the property path array.\n     */\n    var stringToPath = memoizeCapped(function(string) {\n      var result = [];\n      if (string.charCodeAt(0) === 46 /* . */) {\n        result.push('');\n      }\n      string.replace(rePropName, function(match, number, quote, subString) {\n        result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n      });\n      return result;\n    });\n\n    /**\n     * Converts `value` to a string key if it's not a string or symbol.\n     *\n     * @private\n     * @param {*} value The value to inspect.\n     * @returns {string|symbol} Returns the key.\n     */\n    function toKey(value) {\n      if (typeof value == 'string' || isSymbol(value)) {\n        return value;\n      }\n      var result = (value + '');\n      return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n    }\n\n    /**\n     * Converts `func` to its source code.\n     *\n     * @private\n     * @param {Function} func The function to convert.\n     * @returns {string} Returns the source code.\n     */\n    function toSource(func) {\n      if (func != null) {\n        try {\n          return funcToString.call(func);\n        } catch (e) {}\n        try {\n          return (func + '');\n        } catch (e) {}\n      }\n      return '';\n    }\n\n    /**\n     * Updates wrapper `details` based on `bitmask` flags.\n     *\n     * @private\n     * @returns {Array} details The details to modify.\n     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n     * @returns {Array} Returns `details`.\n     */\n    function updateWrapDetails(details, bitmask) {\n      arrayEach(wrapFlags, function(pair) {\n        var value = '_.' + pair[0];\n        if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {\n          details.push(value);\n        }\n      });\n      return details.sort();\n    }\n\n    /**\n     * Creates a clone of `wrapper`.\n     *\n     * @private\n     * @param {Object} wrapper The wrapper to clone.\n     * @returns {Object} Returns the cloned wrapper.\n     */\n    function wrapperClone(wrapper) {\n      if (wrapper instanceof LazyWrapper) {\n        return wrapper.clone();\n      }\n      var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);\n      result.__actions__ = copyArray(wrapper.__actions__);\n      result.__index__  = wrapper.__index__;\n      result.__values__ = wrapper.__values__;\n      return result;\n    }\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Creates an array of elements split into groups the length of `size`.\n     * If `array` can't be split evenly, the final chunk will be the remaining\n     * elements.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Array\n     * @param {Array} array The array to process.\n     * @param {number} [size=1] The length of each chunk\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {Array} Returns the new array of chunks.\n     * @example\n     *\n     * _.chunk(['a', 'b', 'c', 'd'], 2);\n     * // => [['a', 'b'], ['c', 'd']]\n     *\n     * _.chunk(['a', 'b', 'c', 'd'], 3);\n     * // => [['a', 'b', 'c'], ['d']]\n     */\n    function chunk(array, size, guard) {\n      if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {\n        size = 1;\n      } else {\n        size = nativeMax(toInteger(size), 0);\n      }\n      var length = array == null ? 0 : array.length;\n      if (!length || size < 1) {\n        return [];\n      }\n      var index = 0,\n          resIndex = 0,\n          result = Array(nativeCeil(length / size));\n\n      while (index < length) {\n        result[resIndex++] = baseSlice(array, index, (index += size));\n      }\n      return result;\n    }\n\n    /**\n     * Creates an array with all falsey values removed. The values `false`, `null`,\n     * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {Array} array The array to compact.\n     * @returns {Array} Returns the new array of filtered values.\n     * @example\n     *\n     * _.compact([0, 1, false, 2, '', 3]);\n     * // => [1, 2, 3]\n     */\n    function compact(array) {\n      var index = -1,\n          length = array == null ? 0 : array.length,\n          resIndex = 0,\n          result = [];\n\n      while (++index < length) {\n        var value = array[index];\n        if (value) {\n          result[resIndex++] = value;\n        }\n      }\n      return result;\n    }\n\n    /**\n     * Creates a new array concatenating `array` with any additional arrays\n     * and/or values.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to concatenate.\n     * @param {...*} [values] The values to concatenate.\n     * @returns {Array} Returns the new concatenated array.\n     * @example\n     *\n     * var array = [1];\n     * var other = _.concat(array, 2, [3], [[4]]);\n     *\n     * console.log(other);\n     * // => [1, 2, 3, [4]]\n     *\n     * console.log(array);\n     * // => [1]\n     */\n    function concat() {\n      var length = arguments.length;\n      if (!length) {\n        return [];\n      }\n      var args = Array(length - 1),\n          array = arguments[0],\n          index = length;\n\n      while (index--) {\n        args[index - 1] = arguments[index];\n      }\n      return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));\n    }\n\n    /**\n     * Creates an array of `array` values not included in the other given arrays\n     * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n     * for equality comparisons. The order and references of result values are\n     * determined by the first array.\n     *\n     * **Note:** Unlike `_.pullAll`, this method returns a new array.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {...Array} [values] The values to exclude.\n     * @returns {Array} Returns the new array of filtered values.\n     * @see _.without, _.xor\n     * @example\n     *\n     * _.difference([2, 1], [2, 3]);\n     * // => [1]\n     */\n    var difference = baseRest(function(array, values) {\n      return isArrayLikeObject(array)\n        ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\n        : [];\n    });\n\n    /**\n     * This method is like `_.difference` except that it accepts `iteratee` which\n     * is invoked for each element of `array` and `values` to generate the criterion\n     * by which they're compared. The order and references of result values are\n     * determined by the first array. The iteratee is invoked with one argument:\n     * (value).\n     *\n     * **Note:** Unlike `_.pullAllBy`, this method returns a new array.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {...Array} [values] The values to exclude.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {Array} Returns the new array of filtered values.\n     * @example\n     *\n     * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n     * // => [1.2]\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');\n     * // => [{ 'x': 2 }]\n     */\n    var differenceBy = baseRest(function(array, values) {\n      var iteratee = last(values);\n      if (isArrayLikeObject(iteratee)) {\n        iteratee = undefined;\n      }\n      return isArrayLikeObject(array)\n        ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2))\n        : [];\n    });\n\n    /**\n     * This method is like `_.difference` except that it accepts `comparator`\n     * which is invoked to compare elements of `array` to `values`. The order and\n     * references of result values are determined by the first array. The comparator\n     * is invoked with two arguments: (arrVal, othVal).\n     *\n     * **Note:** Unlike `_.pullAllWith`, this method returns a new array.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {...Array} [values] The values to exclude.\n     * @param {Function} [comparator] The comparator invoked per element.\n     * @returns {Array} Returns the new array of filtered values.\n     * @example\n     *\n     * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n     *\n     * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);\n     * // => [{ 'x': 2, 'y': 1 }]\n     */\n    var differenceWith = baseRest(function(array, values) {\n      var comparator = last(values);\n      if (isArrayLikeObject(comparator)) {\n        comparator = undefined;\n      }\n      return isArrayLikeObject(array)\n        ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator)\n        : [];\n    });\n\n    /**\n     * Creates a slice of `array` with `n` elements dropped from the beginning.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.5.0\n     * @category Array\n     * @param {Array} array The array to query.\n     * @param {number} [n=1] The number of elements to drop.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {Array} Returns the slice of `array`.\n     * @example\n     *\n     * _.drop([1, 2, 3]);\n     * // => [2, 3]\n     *\n     * _.drop([1, 2, 3], 2);\n     * // => [3]\n     *\n     * _.drop([1, 2, 3], 5);\n     * // => []\n     *\n     * _.drop([1, 2, 3], 0);\n     * // => [1, 2, 3]\n     */\n    function drop(array, n, guard) {\n      var length = array == null ? 0 : array.length;\n      if (!length) {\n        return [];\n      }\n      n = (guard || n === undefined) ? 1 : toInteger(n);\n      return baseSlice(array, n < 0 ? 0 : n, length);\n    }\n\n    /**\n     * Creates a slice of `array` with `n` elements dropped from the end.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Array\n     * @param {Array} array The array to query.\n     * @param {number} [n=1] The number of elements to drop.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {Array} Returns the slice of `array`.\n     * @example\n     *\n     * _.dropRight([1, 2, 3]);\n     * // => [1, 2]\n     *\n     * _.dropRight([1, 2, 3], 2);\n     * // => [1]\n     *\n     * _.dropRight([1, 2, 3], 5);\n     * // => []\n     *\n     * _.dropRight([1, 2, 3], 0);\n     * // => [1, 2, 3]\n     */\n    function dropRight(array, n, guard) {\n      var length = array == null ? 0 : array.length;\n      if (!length) {\n        return [];\n      }\n      n = (guard || n === undefined) ? 1 : toInteger(n);\n      n = length - n;\n      return baseSlice(array, 0, n < 0 ? 0 : n);\n    }\n\n    /**\n     * Creates a slice of `array` excluding elements dropped from the end.\n     * Elements are dropped until `predicate` returns falsey. The predicate is\n     * invoked with three arguments: (value, index, array).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Array\n     * @param {Array} array The array to query.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @returns {Array} Returns the slice of `array`.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney',  'active': true },\n     *   { 'user': 'fred',    'active': false },\n     *   { 'user': 'pebbles', 'active': false }\n     * ];\n     *\n     * _.dropRightWhile(users, function(o) { return !o.active; });\n     * // => objects for ['barney']\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false });\n     * // => objects for ['barney', 'fred']\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.dropRightWhile(users, ['active', false]);\n     * // => objects for ['barney']\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.dropRightWhile(users, 'active');\n     * // => objects for ['barney', 'fred', 'pebbles']\n     */\n    function dropRightWhile(array, predicate) {\n      return (array && array.length)\n        ? baseWhile(array, getIteratee(predicate, 3), true, true)\n        : [];\n    }\n\n    /**\n     * Creates a slice of `array` excluding elements dropped from the beginning.\n     * Elements are dropped until `predicate` returns falsey. The predicate is\n     * invoked with three arguments: (value, index, array).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Array\n     * @param {Array} array The array to query.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @returns {Array} Returns the slice of `array`.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney',  'active': false },\n     *   { 'user': 'fred',    'active': false },\n     *   { 'user': 'pebbles', 'active': true }\n     * ];\n     *\n     * _.dropWhile(users, function(o) { return !o.active; });\n     * // => objects for ['pebbles']\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.dropWhile(users, { 'user': 'barney', 'active': false });\n     * // => objects for ['fred', 'pebbles']\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.dropWhile(users, ['active', false]);\n     * // => objects for ['pebbles']\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.dropWhile(users, 'active');\n     * // => objects for ['barney', 'fred', 'pebbles']\n     */\n    function dropWhile(array, predicate) {\n      return (array && array.length)\n        ? baseWhile(array, getIteratee(predicate, 3), true)\n        : [];\n    }\n\n    /**\n     * Fills elements of `array` with `value` from `start` up to, but not\n     * including, `end`.\n     *\n     * **Note:** This method mutates `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.2.0\n     * @category Array\n     * @param {Array} array The array to fill.\n     * @param {*} value The value to fill `array` with.\n     * @param {number} [start=0] The start position.\n     * @param {number} [end=array.length] The end position.\n     * @returns {Array} Returns `array`.\n     * @example\n     *\n     * var array = [1, 2, 3];\n     *\n     * _.fill(array, 'a');\n     * console.log(array);\n     * // => ['a', 'a', 'a']\n     *\n     * _.fill(Array(3), 2);\n     * // => [2, 2, 2]\n     *\n     * _.fill([4, 6, 8, 10], '*', 1, 3);\n     * // => [4, '*', '*', 10]\n     */\n    function fill(array, value, start, end) {\n      var length = array == null ? 0 : array.length;\n      if (!length) {\n        return [];\n      }\n      if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {\n        start = 0;\n        end = length;\n      }\n      return baseFill(array, value, start, end);\n    }\n\n    /**\n     * This method is like `_.find` except that it returns the index of the first\n     * element `predicate` returns truthy for instead of the element itself.\n     *\n     * @static\n     * @memberOf _\n     * @since 1.1.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @param {number} [fromIndex=0] The index to search from.\n     * @returns {number} Returns the index of the found element, else `-1`.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney',  'active': false },\n     *   { 'user': 'fred',    'active': false },\n     *   { 'user': 'pebbles', 'active': true }\n     * ];\n     *\n     * _.findIndex(users, function(o) { return o.user == 'barney'; });\n     * // => 0\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.findIndex(users, { 'user': 'fred', 'active': false });\n     * // => 1\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.findIndex(users, ['active', false]);\n     * // => 0\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.findIndex(users, 'active');\n     * // => 2\n     */\n    function findIndex(array, predicate, fromIndex) {\n      var length = array == null ? 0 : array.length;\n      if (!length) {\n        return -1;\n      }\n      var index = fromIndex == null ? 0 : toInteger(fromIndex);\n      if (index < 0) {\n        index = nativeMax(length + index, 0);\n      }\n      return baseFindIndex(array, getIteratee(predicate, 3), index);\n    }\n\n    /**\n     * This method is like `_.findIndex` except that it iterates over elements\n     * of `collection` from right to left.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.0.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @param {number} [fromIndex=array.length-1] The index to search from.\n     * @returns {number} Returns the index of the found element, else `-1`.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney',  'active': true },\n     *   { 'user': 'fred',    'active': false },\n     *   { 'user': 'pebbles', 'active': false }\n     * ];\n     *\n     * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\n     * // => 2\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.findLastIndex(users, { 'user': 'barney', 'active': true });\n     * // => 0\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.findLastIndex(users, ['active', false]);\n     * // => 2\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.findLastIndex(users, 'active');\n     * // => 0\n     */\n    function findLastIndex(array, predicate, fromIndex) {\n      var length = array == null ? 0 : array.length;\n      if (!length) {\n        return -1;\n      }\n      var index = length - 1;\n      if (fromIndex !== undefined) {\n        index = toInteger(fromIndex);\n        index = fromIndex < 0\n          ? nativeMax(length + index, 0)\n          : nativeMin(index, length - 1);\n      }\n      return baseFindIndex(array, getIteratee(predicate, 3), index, true);\n    }\n\n    /**\n     * Flattens `array` a single level deep.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {Array} array The array to flatten.\n     * @returns {Array} Returns the new flattened array.\n     * @example\n     *\n     * _.flatten([1, [2, [3, [4]], 5]]);\n     * // => [1, 2, [3, [4]], 5]\n     */\n    function flatten(array) {\n      var length = array == null ? 0 : array.length;\n      return length ? baseFlatten(array, 1) : [];\n    }\n\n    /**\n     * Recursively flattens `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Array\n     * @param {Array} array The array to flatten.\n     * @returns {Array} Returns the new flattened array.\n     * @example\n     *\n     * _.flattenDeep([1, [2, [3, [4]], 5]]);\n     * // => [1, 2, 3, 4, 5]\n     */\n    function flattenDeep(array) {\n      var length = array == null ? 0 : array.length;\n      return length ? baseFlatten(array, INFINITY) : [];\n    }\n\n    /**\n     * Recursively flatten `array` up to `depth` times.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.4.0\n     * @category Array\n     * @param {Array} array The array to flatten.\n     * @param {number} [depth=1] The maximum recursion depth.\n     * @returns {Array} Returns the new flattened array.\n     * @example\n     *\n     * var array = [1, [2, [3, [4]], 5]];\n     *\n     * _.flattenDepth(array, 1);\n     * // => [1, 2, [3, [4]], 5]\n     *\n     * _.flattenDepth(array, 2);\n     * // => [1, 2, 3, [4], 5]\n     */\n    function flattenDepth(array, depth) {\n      var length = array == null ? 0 : array.length;\n      if (!length) {\n        return [];\n      }\n      depth = depth === undefined ? 1 : toInteger(depth);\n      return baseFlatten(array, depth);\n    }\n\n    /**\n     * The inverse of `_.toPairs`; this method returns an object composed\n     * from key-value `pairs`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} pairs The key-value pairs.\n     * @returns {Object} Returns the new object.\n     * @example\n     *\n     * _.fromPairs([['a', 1], ['b', 2]]);\n     * // => { 'a': 1, 'b': 2 }\n     */\n    function fromPairs(pairs) {\n      var index = -1,\n          length = pairs == null ? 0 : pairs.length,\n          result = {};\n\n      while (++index < length) {\n        var pair = pairs[index];\n        result[pair[0]] = pair[1];\n      }\n      return result;\n    }\n\n    /**\n     * Gets the first element of `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @alias first\n     * @category Array\n     * @param {Array} array The array to query.\n     * @returns {*} Returns the first element of `array`.\n     * @example\n     *\n     * _.head([1, 2, 3]);\n     * // => 1\n     *\n     * _.head([]);\n     * // => undefined\n     */\n    function head(array) {\n      return (array && array.length) ? array[0] : undefined;\n    }\n\n    /**\n     * Gets the index at which the first occurrence of `value` is found in `array`\n     * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n     * for equality comparisons. If `fromIndex` is negative, it's used as the\n     * offset from the end of `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {*} value The value to search for.\n     * @param {number} [fromIndex=0] The index to search from.\n     * @returns {number} Returns the index of the matched value, else `-1`.\n     * @example\n     *\n     * _.indexOf([1, 2, 1, 2], 2);\n     * // => 1\n     *\n     * // Search from the `fromIndex`.\n     * _.indexOf([1, 2, 1, 2], 2, 2);\n     * // => 3\n     */\n    function indexOf(array, value, fromIndex) {\n      var length = array == null ? 0 : array.length;\n      if (!length) {\n        return -1;\n      }\n      var index = fromIndex == null ? 0 : toInteger(fromIndex);\n      if (index < 0) {\n        index = nativeMax(length + index, 0);\n      }\n      return baseIndexOf(array, value, index);\n    }\n\n    /**\n     * Gets all but the last element of `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {Array} array The array to query.\n     * @returns {Array} Returns the slice of `array`.\n     * @example\n     *\n     * _.initial([1, 2, 3]);\n     * // => [1, 2]\n     */\n    function initial(array) {\n      var length = array == null ? 0 : array.length;\n      return length ? baseSlice(array, 0, -1) : [];\n    }\n\n    /**\n     * Creates an array of unique values that are included in all given arrays\n     * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n     * for equality comparisons. The order and references of result values are\n     * determined by the first array.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {...Array} [arrays] The arrays to inspect.\n     * @returns {Array} Returns the new array of intersecting values.\n     * @example\n     *\n     * _.intersection([2, 1], [2, 3]);\n     * // => [2]\n     */\n    var intersection = baseRest(function(arrays) {\n      var mapped = arrayMap(arrays, castArrayLikeObject);\n      return (mapped.length && mapped[0] === arrays[0])\n        ? baseIntersection(mapped)\n        : [];\n    });\n\n    /**\n     * This method is like `_.intersection` except that it accepts `iteratee`\n     * which is invoked for each element of each `arrays` to generate the criterion\n     * by which they're compared. The order and references of result values are\n     * determined by the first array. The iteratee is invoked with one argument:\n     * (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {...Array} [arrays] The arrays to inspect.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {Array} Returns the new array of intersecting values.\n     * @example\n     *\n     * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n     * // => [2.1]\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n     * // => [{ 'x': 1 }]\n     */\n    var intersectionBy = baseRest(function(arrays) {\n      var iteratee = last(arrays),\n          mapped = arrayMap(arrays, castArrayLikeObject);\n\n      if (iteratee === last(mapped)) {\n        iteratee = undefined;\n      } else {\n        mapped.pop();\n      }\n      return (mapped.length && mapped[0] === arrays[0])\n        ? baseIntersection(mapped, getIteratee(iteratee, 2))\n        : [];\n    });\n\n    /**\n     * This method is like `_.intersection` except that it accepts `comparator`\n     * which is invoked to compare elements of `arrays`. The order and references\n     * of result values are determined by the first array. The comparator is\n     * invoked with two arguments: (arrVal, othVal).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {...Array} [arrays] The arrays to inspect.\n     * @param {Function} [comparator] The comparator invoked per element.\n     * @returns {Array} Returns the new array of intersecting values.\n     * @example\n     *\n     * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n     * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n     *\n     * _.intersectionWith(objects, others, _.isEqual);\n     * // => [{ 'x': 1, 'y': 2 }]\n     */\n    var intersectionWith = baseRest(function(arrays) {\n      var comparator = last(arrays),\n          mapped = arrayMap(arrays, castArrayLikeObject);\n\n      comparator = typeof comparator == 'function' ? comparator : undefined;\n      if (comparator) {\n        mapped.pop();\n      }\n      return (mapped.length && mapped[0] === arrays[0])\n        ? baseIntersection(mapped, undefined, comparator)\n        : [];\n    });\n\n    /**\n     * Converts all elements in `array` into a string separated by `separator`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to convert.\n     * @param {string} [separator=','] The element separator.\n     * @returns {string} Returns the joined string.\n     * @example\n     *\n     * _.join(['a', 'b', 'c'], '~');\n     * // => 'a~b~c'\n     */\n    function join(array, separator) {\n      return array == null ? '' : nativeJoin.call(array, separator);\n    }\n\n    /**\n     * Gets the last element of `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {Array} array The array to query.\n     * @returns {*} Returns the last element of `array`.\n     * @example\n     *\n     * _.last([1, 2, 3]);\n     * // => 3\n     */\n    function last(array) {\n      var length = array == null ? 0 : array.length;\n      return length ? array[length - 1] : undefined;\n    }\n\n    /**\n     * This method is like `_.indexOf` except that it iterates over elements of\n     * `array` from right to left.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {*} value The value to search for.\n     * @param {number} [fromIndex=array.length-1] The index to search from.\n     * @returns {number} Returns the index of the matched value, else `-1`.\n     * @example\n     *\n     * _.lastIndexOf([1, 2, 1, 2], 2);\n     * // => 3\n     *\n     * // Search from the `fromIndex`.\n     * _.lastIndexOf([1, 2, 1, 2], 2, 2);\n     * // => 1\n     */\n    function lastIndexOf(array, value, fromIndex) {\n      var length = array == null ? 0 : array.length;\n      if (!length) {\n        return -1;\n      }\n      var index = length;\n      if (fromIndex !== undefined) {\n        index = toInteger(fromIndex);\n        index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);\n      }\n      return value === value\n        ? strictLastIndexOf(array, value, index)\n        : baseFindIndex(array, baseIsNaN, index, true);\n    }\n\n    /**\n     * Gets the element at index `n` of `array`. If `n` is negative, the nth\n     * element from the end is returned.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.11.0\n     * @category Array\n     * @param {Array} array The array to query.\n     * @param {number} [n=0] The index of the element to return.\n     * @returns {*} Returns the nth element of `array`.\n     * @example\n     *\n     * var array = ['a', 'b', 'c', 'd'];\n     *\n     * _.nth(array, 1);\n     * // => 'b'\n     *\n     * _.nth(array, -2);\n     * // => 'c';\n     */\n    function nth(array, n) {\n      return (array && array.length) ? baseNth(array, toInteger(n)) : undefined;\n    }\n\n    /**\n     * Removes all given values from `array` using\n     * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n     * for equality comparisons.\n     *\n     * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`\n     * to remove elements from an array by predicate.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.0.0\n     * @category Array\n     * @param {Array} array The array to modify.\n     * @param {...*} [values] The values to remove.\n     * @returns {Array} Returns `array`.\n     * @example\n     *\n     * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n     *\n     * _.pull(array, 'a', 'c');\n     * console.log(array);\n     * // => ['b', 'b']\n     */\n    var pull = baseRest(pullAll);\n\n    /**\n     * This method is like `_.pull` except that it accepts an array of values to remove.\n     *\n     * **Note:** Unlike `_.difference`, this method mutates `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to modify.\n     * @param {Array} values The values to remove.\n     * @returns {Array} Returns `array`.\n     * @example\n     *\n     * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n     *\n     * _.pullAll(array, ['a', 'c']);\n     * console.log(array);\n     * // => ['b', 'b']\n     */\n    function pullAll(array, values) {\n      return (array && array.length && values && values.length)\n        ? basePullAll(array, values)\n        : array;\n    }\n\n    /**\n     * This method is like `_.pullAll` except that it accepts `iteratee` which is\n     * invoked for each element of `array` and `values` to generate the criterion\n     * by which they're compared. The iteratee is invoked with one argument: (value).\n     *\n     * **Note:** Unlike `_.differenceBy`, this method mutates `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to modify.\n     * @param {Array} values The values to remove.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {Array} Returns `array`.\n     * @example\n     *\n     * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];\n     *\n     * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');\n     * console.log(array);\n     * // => [{ 'x': 2 }]\n     */\n    function pullAllBy(array, values, iteratee) {\n      return (array && array.length && values && values.length)\n        ? basePullAll(array, values, getIteratee(iteratee, 2))\n        : array;\n    }\n\n    /**\n     * This method is like `_.pullAll` except that it accepts `comparator` which\n     * is invoked to compare elements of `array` to `values`. The comparator is\n     * invoked with two arguments: (arrVal, othVal).\n     *\n     * **Note:** Unlike `_.differenceWith`, this method mutates `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.6.0\n     * @category Array\n     * @param {Array} array The array to modify.\n     * @param {Array} values The values to remove.\n     * @param {Function} [comparator] The comparator invoked per element.\n     * @returns {Array} Returns `array`.\n     * @example\n     *\n     * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];\n     *\n     * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);\n     * console.log(array);\n     * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]\n     */\n    function pullAllWith(array, values, comparator) {\n      return (array && array.length && values && values.length)\n        ? basePullAll(array, values, undefined, comparator)\n        : array;\n    }\n\n    /**\n     * Removes elements from `array` corresponding to `indexes` and returns an\n     * array of removed elements.\n     *\n     * **Note:** Unlike `_.at`, this method mutates `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Array\n     * @param {Array} array The array to modify.\n     * @param {...(number|number[])} [indexes] The indexes of elements to remove.\n     * @returns {Array} Returns the new array of removed elements.\n     * @example\n     *\n     * var array = ['a', 'b', 'c', 'd'];\n     * var pulled = _.pullAt(array, [1, 3]);\n     *\n     * console.log(array);\n     * // => ['a', 'c']\n     *\n     * console.log(pulled);\n     * // => ['b', 'd']\n     */\n    var pullAt = flatRest(function(array, indexes) {\n      var length = array == null ? 0 : array.length,\n          result = baseAt(array, indexes);\n\n      basePullAt(array, arrayMap(indexes, function(index) {\n        return isIndex(index, length) ? +index : index;\n      }).sort(compareAscending));\n\n      return result;\n    });\n\n    /**\n     * Removes all elements from `array` that `predicate` returns truthy for\n     * and returns an array of the removed elements. The predicate is invoked\n     * with three arguments: (value, index, array).\n     *\n     * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`\n     * to pull elements from an array by value.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.0.0\n     * @category Array\n     * @param {Array} array The array to modify.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @returns {Array} Returns the new array of removed elements.\n     * @example\n     *\n     * var array = [1, 2, 3, 4];\n     * var evens = _.remove(array, function(n) {\n     *   return n % 2 == 0;\n     * });\n     *\n     * console.log(array);\n     * // => [1, 3]\n     *\n     * console.log(evens);\n     * // => [2, 4]\n     */\n    function remove(array, predicate) {\n      var result = [];\n      if (!(array && array.length)) {\n        return result;\n      }\n      var index = -1,\n          indexes = [],\n          length = array.length;\n\n      predicate = getIteratee(predicate, 3);\n      while (++index < length) {\n        var value = array[index];\n        if (predicate(value, index, array)) {\n          result.push(value);\n          indexes.push(index);\n        }\n      }\n      basePullAt(array, indexes);\n      return result;\n    }\n\n    /**\n     * Reverses `array` so that the first element becomes the last, the second\n     * element becomes the second to last, and so on.\n     *\n     * **Note:** This method mutates `array` and is based on\n     * [`Array#reverse`](https://mdn.io/Array/reverse).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to modify.\n     * @returns {Array} Returns `array`.\n     * @example\n     *\n     * var array = [1, 2, 3];\n     *\n     * _.reverse(array);\n     * // => [3, 2, 1]\n     *\n     * console.log(array);\n     * // => [3, 2, 1]\n     */\n    function reverse(array) {\n      return array == null ? array : nativeReverse.call(array);\n    }\n\n    /**\n     * Creates a slice of `array` from `start` up to, but not including, `end`.\n     *\n     * **Note:** This method is used instead of\n     * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n     * returned.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Array\n     * @param {Array} array The array to slice.\n     * @param {number} [start=0] The start position.\n     * @param {number} [end=array.length] The end position.\n     * @returns {Array} Returns the slice of `array`.\n     */\n    function slice(array, start, end) {\n      var length = array == null ? 0 : array.length;\n      if (!length) {\n        return [];\n      }\n      if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n        start = 0;\n        end = length;\n      }\n      else {\n        start = start == null ? 0 : toInteger(start);\n        end = end === undefined ? length : toInteger(end);\n      }\n      return baseSlice(array, start, end);\n    }\n\n    /**\n     * Uses a binary search to determine the lowest index at which `value`\n     * should be inserted into `array` in order to maintain its sort order.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {Array} array The sorted array to inspect.\n     * @param {*} value The value to evaluate.\n     * @returns {number} Returns the index at which `value` should be inserted\n     *  into `array`.\n     * @example\n     *\n     * _.sortedIndex([30, 50], 40);\n     * // => 1\n     */\n    function sortedIndex(array, value) {\n      return baseSortedIndex(array, value);\n    }\n\n    /**\n     * This method is like `_.sortedIndex` except that it accepts `iteratee`\n     * which is invoked for `value` and each element of `array` to compute their\n     * sort ranking. The iteratee is invoked with one argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The sorted array to inspect.\n     * @param {*} value The value to evaluate.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {number} Returns the index at which `value` should be inserted\n     *  into `array`.\n     * @example\n     *\n     * var objects = [{ 'x': 4 }, { 'x': 5 }];\n     *\n     * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n     * // => 0\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.sortedIndexBy(objects, { 'x': 4 }, 'x');\n     * // => 0\n     */\n    function sortedIndexBy(array, value, iteratee) {\n      return baseSortedIndexBy(array, value, getIteratee(iteratee, 2));\n    }\n\n    /**\n     * This method is like `_.indexOf` except that it performs a binary\n     * search on a sorted `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {*} value The value to search for.\n     * @returns {number} Returns the index of the matched value, else `-1`.\n     * @example\n     *\n     * _.sortedIndexOf([4, 5, 5, 5, 6], 5);\n     * // => 1\n     */\n    function sortedIndexOf(array, value) {\n      var length = array == null ? 0 : array.length;\n      if (length) {\n        var index = baseSortedIndex(array, value);\n        if (index < length && eq(array[index], value)) {\n          return index;\n        }\n      }\n      return -1;\n    }\n\n    /**\n     * This method is like `_.sortedIndex` except that it returns the highest\n     * index at which `value` should be inserted into `array` in order to\n     * maintain its sort order.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Array\n     * @param {Array} array The sorted array to inspect.\n     * @param {*} value The value to evaluate.\n     * @returns {number} Returns the index at which `value` should be inserted\n     *  into `array`.\n     * @example\n     *\n     * _.sortedLastIndex([4, 5, 5, 5, 6], 5);\n     * // => 4\n     */\n    function sortedLastIndex(array, value) {\n      return baseSortedIndex(array, value, true);\n    }\n\n    /**\n     * This method is like `_.sortedLastIndex` except that it accepts `iteratee`\n     * which is invoked for `value` and each element of `array` to compute their\n     * sort ranking. The iteratee is invoked with one argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The sorted array to inspect.\n     * @param {*} value The value to evaluate.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {number} Returns the index at which `value` should be inserted\n     *  into `array`.\n     * @example\n     *\n     * var objects = [{ 'x': 4 }, { 'x': 5 }];\n     *\n     * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n     * // => 1\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x');\n     * // => 1\n     */\n    function sortedLastIndexBy(array, value, iteratee) {\n      return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true);\n    }\n\n    /**\n     * This method is like `_.lastIndexOf` except that it performs a binary\n     * search on a sorted `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {*} value The value to search for.\n     * @returns {number} Returns the index of the matched value, else `-1`.\n     * @example\n     *\n     * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);\n     * // => 3\n     */\n    function sortedLastIndexOf(array, value) {\n      var length = array == null ? 0 : array.length;\n      if (length) {\n        var index = baseSortedIndex(array, value, true) - 1;\n        if (eq(array[index], value)) {\n          return index;\n        }\n      }\n      return -1;\n    }\n\n    /**\n     * This method is like `_.uniq` except that it's designed and optimized\n     * for sorted arrays.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @returns {Array} Returns the new duplicate free array.\n     * @example\n     *\n     * _.sortedUniq([1, 1, 2]);\n     * // => [1, 2]\n     */\n    function sortedUniq(array) {\n      return (array && array.length)\n        ? baseSortedUniq(array)\n        : [];\n    }\n\n    /**\n     * This method is like `_.uniqBy` except that it's designed and optimized\n     * for sorted arrays.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {Function} [iteratee] The iteratee invoked per element.\n     * @returns {Array} Returns the new duplicate free array.\n     * @example\n     *\n     * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);\n     * // => [1.1, 2.3]\n     */\n    function sortedUniqBy(array, iteratee) {\n      return (array && array.length)\n        ? baseSortedUniq(array, getIteratee(iteratee, 2))\n        : [];\n    }\n\n    /**\n     * Gets all but the first element of `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to query.\n     * @returns {Array} Returns the slice of `array`.\n     * @example\n     *\n     * _.tail([1, 2, 3]);\n     * // => [2, 3]\n     */\n    function tail(array) {\n      var length = array == null ? 0 : array.length;\n      return length ? baseSlice(array, 1, length) : [];\n    }\n\n    /**\n     * Creates a slice of `array` with `n` elements taken from the beginning.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {Array} array The array to query.\n     * @param {number} [n=1] The number of elements to take.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {Array} Returns the slice of `array`.\n     * @example\n     *\n     * _.take([1, 2, 3]);\n     * // => [1]\n     *\n     * _.take([1, 2, 3], 2);\n     * // => [1, 2]\n     *\n     * _.take([1, 2, 3], 5);\n     * // => [1, 2, 3]\n     *\n     * _.take([1, 2, 3], 0);\n     * // => []\n     */\n    function take(array, n, guard) {\n      if (!(array && array.length)) {\n        return [];\n      }\n      n = (guard || n === undefined) ? 1 : toInteger(n);\n      return baseSlice(array, 0, n < 0 ? 0 : n);\n    }\n\n    /**\n     * Creates a slice of `array` with `n` elements taken from the end.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Array\n     * @param {Array} array The array to query.\n     * @param {number} [n=1] The number of elements to take.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {Array} Returns the slice of `array`.\n     * @example\n     *\n     * _.takeRight([1, 2, 3]);\n     * // => [3]\n     *\n     * _.takeRight([1, 2, 3], 2);\n     * // => [2, 3]\n     *\n     * _.takeRight([1, 2, 3], 5);\n     * // => [1, 2, 3]\n     *\n     * _.takeRight([1, 2, 3], 0);\n     * // => []\n     */\n    function takeRight(array, n, guard) {\n      var length = array == null ? 0 : array.length;\n      if (!length) {\n        return [];\n      }\n      n = (guard || n === undefined) ? 1 : toInteger(n);\n      n = length - n;\n      return baseSlice(array, n < 0 ? 0 : n, length);\n    }\n\n    /**\n     * Creates a slice of `array` with elements taken from the end. Elements are\n     * taken until `predicate` returns falsey. The predicate is invoked with\n     * three arguments: (value, index, array).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Array\n     * @param {Array} array The array to query.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @returns {Array} Returns the slice of `array`.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney',  'active': true },\n     *   { 'user': 'fred',    'active': false },\n     *   { 'user': 'pebbles', 'active': false }\n     * ];\n     *\n     * _.takeRightWhile(users, function(o) { return !o.active; });\n     * // => objects for ['fred', 'pebbles']\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false });\n     * // => objects for ['pebbles']\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.takeRightWhile(users, ['active', false]);\n     * // => objects for ['fred', 'pebbles']\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.takeRightWhile(users, 'active');\n     * // => []\n     */\n    function takeRightWhile(array, predicate) {\n      return (array && array.length)\n        ? baseWhile(array, getIteratee(predicate, 3), false, true)\n        : [];\n    }\n\n    /**\n     * Creates a slice of `array` with elements taken from the beginning. Elements\n     * are taken until `predicate` returns falsey. The predicate is invoked with\n     * three arguments: (value, index, array).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Array\n     * @param {Array} array The array to query.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @returns {Array} Returns the slice of `array`.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney',  'active': false },\n     *   { 'user': 'fred',    'active': false },\n     *   { 'user': 'pebbles', 'active': true }\n     * ];\n     *\n     * _.takeWhile(users, function(o) { return !o.active; });\n     * // => objects for ['barney', 'fred']\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.takeWhile(users, { 'user': 'barney', 'active': false });\n     * // => objects for ['barney']\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.takeWhile(users, ['active', false]);\n     * // => objects for ['barney', 'fred']\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.takeWhile(users, 'active');\n     * // => []\n     */\n    function takeWhile(array, predicate) {\n      return (array && array.length)\n        ? baseWhile(array, getIteratee(predicate, 3))\n        : [];\n    }\n\n    /**\n     * Creates an array of unique values, in order, from all given arrays using\n     * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n     * for equality comparisons.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {...Array} [arrays] The arrays to inspect.\n     * @returns {Array} Returns the new array of combined values.\n     * @example\n     *\n     * _.union([2], [1, 2]);\n     * // => [2, 1]\n     */\n    var union = baseRest(function(arrays) {\n      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n    });\n\n    /**\n     * This method is like `_.union` except that it accepts `iteratee` which is\n     * invoked for each element of each `arrays` to generate the criterion by\n     * which uniqueness is computed. Result values are chosen from the first\n     * array in which the value occurs. The iteratee is invoked with one argument:\n     * (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {...Array} [arrays] The arrays to inspect.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {Array} Returns the new array of combined values.\n     * @example\n     *\n     * _.unionBy([2.1], [1.2, 2.3], Math.floor);\n     * // => [2.1, 1.2]\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n     * // => [{ 'x': 1 }, { 'x': 2 }]\n     */\n    var unionBy = baseRest(function(arrays) {\n      var iteratee = last(arrays);\n      if (isArrayLikeObject(iteratee)) {\n        iteratee = undefined;\n      }\n      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2));\n    });\n\n    /**\n     * This method is like `_.union` except that it accepts `comparator` which\n     * is invoked to compare elements of `arrays`. Result values are chosen from\n     * the first array in which the value occurs. The comparator is invoked\n     * with two arguments: (arrVal, othVal).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {...Array} [arrays] The arrays to inspect.\n     * @param {Function} [comparator] The comparator invoked per element.\n     * @returns {Array} Returns the new array of combined values.\n     * @example\n     *\n     * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n     * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n     *\n     * _.unionWith(objects, others, _.isEqual);\n     * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n     */\n    var unionWith = baseRest(function(arrays) {\n      var comparator = last(arrays);\n      comparator = typeof comparator == 'function' ? comparator : undefined;\n      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator);\n    });\n\n    /**\n     * Creates a duplicate-free version of an array, using\n     * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n     * for equality comparisons, in which only the first occurrence of each element\n     * is kept. The order of result values is determined by the order they occur\n     * in the array.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @returns {Array} Returns the new duplicate free array.\n     * @example\n     *\n     * _.uniq([2, 1, 2]);\n     * // => [2, 1]\n     */\n    function uniq(array) {\n      return (array && array.length) ? baseUniq(array) : [];\n    }\n\n    /**\n     * This method is like `_.uniq` except that it accepts `iteratee` which is\n     * invoked for each element in `array` to generate the criterion by which\n     * uniqueness is computed. The order of result values is determined by the\n     * order they occur in the array. The iteratee is invoked with one argument:\n     * (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {Array} Returns the new duplicate free array.\n     * @example\n     *\n     * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n     * // => [2.1, 1.2]\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n     * // => [{ 'x': 1 }, { 'x': 2 }]\n     */\n    function uniqBy(array, iteratee) {\n      return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : [];\n    }\n\n    /**\n     * This method is like `_.uniq` except that it accepts `comparator` which\n     * is invoked to compare elements of `array`. The order of result values is\n     * determined by the order they occur in the array.The comparator is invoked\n     * with two arguments: (arrVal, othVal).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {Function} [comparator] The comparator invoked per element.\n     * @returns {Array} Returns the new duplicate free array.\n     * @example\n     *\n     * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];\n     *\n     * _.uniqWith(objects, _.isEqual);\n     * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\n     */\n    function uniqWith(array, comparator) {\n      comparator = typeof comparator == 'function' ? comparator : undefined;\n      return (array && array.length) ? baseUniq(array, undefined, comparator) : [];\n    }\n\n    /**\n     * This method is like `_.zip` except that it accepts an array of grouped\n     * elements and creates an array regrouping the elements to their pre-zip\n     * configuration.\n     *\n     * @static\n     * @memberOf _\n     * @since 1.2.0\n     * @category Array\n     * @param {Array} array The array of grouped elements to process.\n     * @returns {Array} Returns the new array of regrouped elements.\n     * @example\n     *\n     * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]);\n     * // => [['a', 1, true], ['b', 2, false]]\n     *\n     * _.unzip(zipped);\n     * // => [['a', 'b'], [1, 2], [true, false]]\n     */\n    function unzip(array) {\n      if (!(array && array.length)) {\n        return [];\n      }\n      var length = 0;\n      array = arrayFilter(array, function(group) {\n        if (isArrayLikeObject(group)) {\n          length = nativeMax(group.length, length);\n          return true;\n        }\n      });\n      return baseTimes(length, function(index) {\n        return arrayMap(array, baseProperty(index));\n      });\n    }\n\n    /**\n     * This method is like `_.unzip` except that it accepts `iteratee` to specify\n     * how regrouped values should be combined. The iteratee is invoked with the\n     * elements of each group: (...group).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.8.0\n     * @category Array\n     * @param {Array} array The array of grouped elements to process.\n     * @param {Function} [iteratee=_.identity] The function to combine\n     *  regrouped values.\n     * @returns {Array} Returns the new array of regrouped elements.\n     * @example\n     *\n     * var zipped = _.zip([1, 2], [10, 20], [100, 200]);\n     * // => [[1, 10, 100], [2, 20, 200]]\n     *\n     * _.unzipWith(zipped, _.add);\n     * // => [3, 30, 300]\n     */\n    function unzipWith(array, iteratee) {\n      if (!(array && array.length)) {\n        return [];\n      }\n      var result = unzip(array);\n      if (iteratee == null) {\n        return result;\n      }\n      return arrayMap(result, function(group) {\n        return apply(iteratee, undefined, group);\n      });\n    }\n\n    /**\n     * Creates an array excluding all given values using\n     * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n     * for equality comparisons.\n     *\n     * **Note:** Unlike `_.pull`, this method returns a new array.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {Array} array The array to inspect.\n     * @param {...*} [values] The values to exclude.\n     * @returns {Array} Returns the new array of filtered values.\n     * @see _.difference, _.xor\n     * @example\n     *\n     * _.without([2, 1, 2, 3], 1, 2);\n     * // => [3]\n     */\n    var without = baseRest(function(array, values) {\n      return isArrayLikeObject(array)\n        ? baseDifference(array, values)\n        : [];\n    });\n\n    /**\n     * Creates an array of unique values that is the\n     * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n     * of the given arrays. The order of result values is determined by the order\n     * they occur in the arrays.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.4.0\n     * @category Array\n     * @param {...Array} [arrays] The arrays to inspect.\n     * @returns {Array} Returns the new array of filtered values.\n     * @see _.difference, _.without\n     * @example\n     *\n     * _.xor([2, 1], [2, 3]);\n     * // => [1, 3]\n     */\n    var xor = baseRest(function(arrays) {\n      return baseXor(arrayFilter(arrays, isArrayLikeObject));\n    });\n\n    /**\n     * This method is like `_.xor` except that it accepts `iteratee` which is\n     * invoked for each element of each `arrays` to generate the criterion by\n     * which by which they're compared. The order of result values is determined\n     * by the order they occur in the arrays. The iteratee is invoked with one\n     * argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {...Array} [arrays] The arrays to inspect.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {Array} Returns the new array of filtered values.\n     * @example\n     *\n     * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n     * // => [1.2, 3.4]\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n     * // => [{ 'x': 2 }]\n     */\n    var xorBy = baseRest(function(arrays) {\n      var iteratee = last(arrays);\n      if (isArrayLikeObject(iteratee)) {\n        iteratee = undefined;\n      }\n      return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2));\n    });\n\n    /**\n     * This method is like `_.xor` except that it accepts `comparator` which is\n     * invoked to compare elements of `arrays`. The order of result values is\n     * determined by the order they occur in the arrays. The comparator is invoked\n     * with two arguments: (arrVal, othVal).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Array\n     * @param {...Array} [arrays] The arrays to inspect.\n     * @param {Function} [comparator] The comparator invoked per element.\n     * @returns {Array} Returns the new array of filtered values.\n     * @example\n     *\n     * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n     * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n     *\n     * _.xorWith(objects, others, _.isEqual);\n     * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n     */\n    var xorWith = baseRest(function(arrays) {\n      var comparator = last(arrays);\n      comparator = typeof comparator == 'function' ? comparator : undefined;\n      return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator);\n    });\n\n    /**\n     * Creates an array of grouped elements, the first of which contains the\n     * first elements of the given arrays, the second of which contains the\n     * second elements of the given arrays, and so on.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Array\n     * @param {...Array} [arrays] The arrays to process.\n     * @returns {Array} Returns the new array of grouped elements.\n     * @example\n     *\n     * _.zip(['a', 'b'], [1, 2], [true, false]);\n     * // => [['a', 1, true], ['b', 2, false]]\n     */\n    var zip = baseRest(unzip);\n\n    /**\n     * This method is like `_.fromPairs` except that it accepts two arrays,\n     * one of property identifiers and one of corresponding values.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.4.0\n     * @category Array\n     * @param {Array} [props=[]] The property identifiers.\n     * @param {Array} [values=[]] The property values.\n     * @returns {Object} Returns the new object.\n     * @example\n     *\n     * _.zipObject(['a', 'b'], [1, 2]);\n     * // => { 'a': 1, 'b': 2 }\n     */\n    function zipObject(props, values) {\n      return baseZipObject(props || [], values || [], assignValue);\n    }\n\n    /**\n     * This method is like `_.zipObject` except that it supports property paths.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.1.0\n     * @category Array\n     * @param {Array} [props=[]] The property identifiers.\n     * @param {Array} [values=[]] The property values.\n     * @returns {Object} Returns the new object.\n     * @example\n     *\n     * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);\n     * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }\n     */\n    function zipObjectDeep(props, values) {\n      return baseZipObject(props || [], values || [], baseSet);\n    }\n\n    /**\n     * This method is like `_.zip` except that it accepts `iteratee` to specify\n     * how grouped values should be combined. The iteratee is invoked with the\n     * elements of each group: (...group).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.8.0\n     * @category Array\n     * @param {...Array} [arrays] The arrays to process.\n     * @param {Function} [iteratee=_.identity] The function to combine\n     *  grouped values.\n     * @returns {Array} Returns the new array of grouped elements.\n     * @example\n     *\n     * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) {\n     *   return a + b + c;\n     * });\n     * // => [111, 222]\n     */\n    var zipWith = baseRest(function(arrays) {\n      var length = arrays.length,\n          iteratee = length > 1 ? arrays[length - 1] : undefined;\n\n      iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined;\n      return unzipWith(arrays, iteratee);\n    });\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Creates a `lodash` wrapper instance that wraps `value` with explicit method\n     * chain sequences enabled. The result of such sequences must be unwrapped\n     * with `_#value`.\n     *\n     * @static\n     * @memberOf _\n     * @since 1.3.0\n     * @category Seq\n     * @param {*} value The value to wrap.\n     * @returns {Object} Returns the new `lodash` wrapper instance.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney',  'age': 36 },\n     *   { 'user': 'fred',    'age': 40 },\n     *   { 'user': 'pebbles', 'age': 1 }\n     * ];\n     *\n     * var youngest = _\n     *   .chain(users)\n     *   .sortBy('age')\n     *   .map(function(o) {\n     *     return o.user + ' is ' + o.age;\n     *   })\n     *   .head()\n     *   .value();\n     * // => 'pebbles is 1'\n     */\n    function chain(value) {\n      var result = lodash(value);\n      result.__chain__ = true;\n      return result;\n    }\n\n    /**\n     * This method invokes `interceptor` and returns `value`. The interceptor\n     * is invoked with one argument; (value). The purpose of this method is to\n     * \"tap into\" a method chain sequence in order to modify intermediate results.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Seq\n     * @param {*} value The value to provide to `interceptor`.\n     * @param {Function} interceptor The function to invoke.\n     * @returns {*} Returns `value`.\n     * @example\n     *\n     * _([1, 2, 3])\n     *  .tap(function(array) {\n     *    // Mutate input array.\n     *    array.pop();\n     *  })\n     *  .reverse()\n     *  .value();\n     * // => [2, 1]\n     */\n    function tap(value, interceptor) {\n      interceptor(value);\n      return value;\n    }\n\n    /**\n     * This method is like `_.tap` except that it returns the result of `interceptor`.\n     * The purpose of this method is to \"pass thru\" values replacing intermediate\n     * results in a method chain sequence.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Seq\n     * @param {*} value The value to provide to `interceptor`.\n     * @param {Function} interceptor The function to invoke.\n     * @returns {*} Returns the result of `interceptor`.\n     * @example\n     *\n     * _('  abc  ')\n     *  .chain()\n     *  .trim()\n     *  .thru(function(value) {\n     *    return [value];\n     *  })\n     *  .value();\n     * // => ['abc']\n     */\n    function thru(value, interceptor) {\n      return interceptor(value);\n    }\n\n    /**\n     * This method is the wrapper version of `_.at`.\n     *\n     * @name at\n     * @memberOf _\n     * @since 1.0.0\n     * @category Seq\n     * @param {...(string|string[])} [paths] The property paths to pick.\n     * @returns {Object} Returns the new `lodash` wrapper instance.\n     * @example\n     *\n     * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n     *\n     * _(object).at(['a[0].b.c', 'a[1]']).value();\n     * // => [3, 4]\n     */\n    var wrapperAt = flatRest(function(paths) {\n      var length = paths.length,\n          start = length ? paths[0] : 0,\n          value = this.__wrapped__,\n          interceptor = function(object) { return baseAt(object, paths); };\n\n      if (length > 1 || this.__actions__.length ||\n          !(value instanceof LazyWrapper) || !isIndex(start)) {\n        return this.thru(interceptor);\n      }\n      value = value.slice(start, +start + (length ? 1 : 0));\n      value.__actions__.push({\n        'func': thru,\n        'args': [interceptor],\n        'thisArg': undefined\n      });\n      return new LodashWrapper(value, this.__chain__).thru(function(array) {\n        if (length && !array.length) {\n          array.push(undefined);\n        }\n        return array;\n      });\n    });\n\n    /**\n     * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.\n     *\n     * @name chain\n     * @memberOf _\n     * @since 0.1.0\n     * @category Seq\n     * @returns {Object} Returns the new `lodash` wrapper instance.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney', 'age': 36 },\n     *   { 'user': 'fred',   'age': 40 }\n     * ];\n     *\n     * // A sequence without explicit chaining.\n     * _(users).head();\n     * // => { 'user': 'barney', 'age': 36 }\n     *\n     * // A sequence with explicit chaining.\n     * _(users)\n     *   .chain()\n     *   .head()\n     *   .pick('user')\n     *   .value();\n     * // => { 'user': 'barney' }\n     */\n    function wrapperChain() {\n      return chain(this);\n    }\n\n    /**\n     * Executes the chain sequence and returns the wrapped result.\n     *\n     * @name commit\n     * @memberOf _\n     * @since 3.2.0\n     * @category Seq\n     * @returns {Object} Returns the new `lodash` wrapper instance.\n     * @example\n     *\n     * var array = [1, 2];\n     * var wrapped = _(array).push(3);\n     *\n     * console.log(array);\n     * // => [1, 2]\n     *\n     * wrapped = wrapped.commit();\n     * console.log(array);\n     * // => [1, 2, 3]\n     *\n     * wrapped.last();\n     * // => 3\n     *\n     * console.log(array);\n     * // => [1, 2, 3]\n     */\n    function wrapperCommit() {\n      return new LodashWrapper(this.value(), this.__chain__);\n    }\n\n    /**\n     * Gets the next value on a wrapped object following the\n     * [iterator protocol](https://mdn.io/iteration_protocols#iterator).\n     *\n     * @name next\n     * @memberOf _\n     * @since 4.0.0\n     * @category Seq\n     * @returns {Object} Returns the next iterator value.\n     * @example\n     *\n     * var wrapped = _([1, 2]);\n     *\n     * wrapped.next();\n     * // => { 'done': false, 'value': 1 }\n     *\n     * wrapped.next();\n     * // => { 'done': false, 'value': 2 }\n     *\n     * wrapped.next();\n     * // => { 'done': true, 'value': undefined }\n     */\n    function wrapperNext() {\n      if (this.__values__ === undefined) {\n        this.__values__ = toArray(this.value());\n      }\n      var done = this.__index__ >= this.__values__.length,\n          value = done ? undefined : this.__values__[this.__index__++];\n\n      return { 'done': done, 'value': value };\n    }\n\n    /**\n     * Enables the wrapper to be iterable.\n     *\n     * @name Symbol.iterator\n     * @memberOf _\n     * @since 4.0.0\n     * @category Seq\n     * @returns {Object} Returns the wrapper object.\n     * @example\n     *\n     * var wrapped = _([1, 2]);\n     *\n     * wrapped[Symbol.iterator]() === wrapped;\n     * // => true\n     *\n     * Array.from(wrapped);\n     * // => [1, 2]\n     */\n    function wrapperToIterator() {\n      return this;\n    }\n\n    /**\n     * Creates a clone of the chain sequence planting `value` as the wrapped value.\n     *\n     * @name plant\n     * @memberOf _\n     * @since 3.2.0\n     * @category Seq\n     * @param {*} value The value to plant.\n     * @returns {Object} Returns the new `lodash` wrapper instance.\n     * @example\n     *\n     * function square(n) {\n     *   return n * n;\n     * }\n     *\n     * var wrapped = _([1, 2]).map(square);\n     * var other = wrapped.plant([3, 4]);\n     *\n     * other.value();\n     * // => [9, 16]\n     *\n     * wrapped.value();\n     * // => [1, 4]\n     */\n    function wrapperPlant(value) {\n      var result,\n          parent = this;\n\n      while (parent instanceof baseLodash) {\n        var clone = wrapperClone(parent);\n        clone.__index__ = 0;\n        clone.__values__ = undefined;\n        if (result) {\n          previous.__wrapped__ = clone;\n        } else {\n          result = clone;\n        }\n        var previous = clone;\n        parent = parent.__wrapped__;\n      }\n      previous.__wrapped__ = value;\n      return result;\n    }\n\n    /**\n     * This method is the wrapper version of `_.reverse`.\n     *\n     * **Note:** This method mutates the wrapped array.\n     *\n     * @name reverse\n     * @memberOf _\n     * @since 0.1.0\n     * @category Seq\n     * @returns {Object} Returns the new `lodash` wrapper instance.\n     * @example\n     *\n     * var array = [1, 2, 3];\n     *\n     * _(array).reverse().value()\n     * // => [3, 2, 1]\n     *\n     * console.log(array);\n     * // => [3, 2, 1]\n     */\n    function wrapperReverse() {\n      var value = this.__wrapped__;\n      if (value instanceof LazyWrapper) {\n        var wrapped = value;\n        if (this.__actions__.length) {\n          wrapped = new LazyWrapper(this);\n        }\n        wrapped = wrapped.reverse();\n        wrapped.__actions__.push({\n          'func': thru,\n          'args': [reverse],\n          'thisArg': undefined\n        });\n        return new LodashWrapper(wrapped, this.__chain__);\n      }\n      return this.thru(reverse);\n    }\n\n    /**\n     * Executes the chain sequence to resolve the unwrapped value.\n     *\n     * @name value\n     * @memberOf _\n     * @since 0.1.0\n     * @alias toJSON, valueOf\n     * @category Seq\n     * @returns {*} Returns the resolved unwrapped value.\n     * @example\n     *\n     * _([1, 2, 3]).value();\n     * // => [1, 2, 3]\n     */\n    function wrapperValue() {\n      return baseWrapperValue(this.__wrapped__, this.__actions__);\n    }\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Creates an object composed of keys generated from the results of running\n     * each element of `collection` thru `iteratee`. The corresponding value of\n     * each key is the number of times the key was returned by `iteratee`. The\n     * iteratee is invoked with one argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 0.5.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n     * @returns {Object} Returns the composed aggregate object.\n     * @example\n     *\n     * _.countBy([6.1, 4.2, 6.3], Math.floor);\n     * // => { '4': 1, '6': 2 }\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.countBy(['one', 'two', 'three'], 'length');\n     * // => { '3': 2, '5': 1 }\n     */\n    var countBy = createAggregator(function(result, value, key) {\n      if (hasOwnProperty.call(result, key)) {\n        ++result[key];\n      } else {\n        baseAssignValue(result, key, 1);\n      }\n    });\n\n    /**\n     * Checks if `predicate` returns truthy for **all** elements of `collection`.\n     * Iteration is stopped once `predicate` returns falsey. The predicate is\n     * invoked with three arguments: (value, index|key, collection).\n     *\n     * **Note:** This method returns `true` for\n     * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n     * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n     * elements of empty collections.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {boolean} Returns `true` if all elements pass the predicate check,\n     *  else `false`.\n     * @example\n     *\n     * _.every([true, 1, null, 'yes'], Boolean);\n     * // => false\n     *\n     * var users = [\n     *   { 'user': 'barney', 'age': 36, 'active': false },\n     *   { 'user': 'fred',   'age': 40, 'active': false }\n     * ];\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.every(users, { 'user': 'barney', 'active': false });\n     * // => false\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.every(users, ['active', false]);\n     * // => true\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.every(users, 'active');\n     * // => false\n     */\n    function every(collection, predicate, guard) {\n      var func = isArray(collection) ? arrayEvery : baseEvery;\n      if (guard && isIterateeCall(collection, predicate, guard)) {\n        predicate = undefined;\n      }\n      return func(collection, getIteratee(predicate, 3));\n    }\n\n    /**\n     * Iterates over elements of `collection`, returning an array of all elements\n     * `predicate` returns truthy for. The predicate is invoked with three\n     * arguments: (value, index|key, collection).\n     *\n     * **Note:** Unlike `_.remove`, this method returns a new array.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @returns {Array} Returns the new filtered array.\n     * @see _.reject\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney', 'age': 36, 'active': true },\n     *   { 'user': 'fred',   'age': 40, 'active': false }\n     * ];\n     *\n     * _.filter(users, function(o) { return !o.active; });\n     * // => objects for ['fred']\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.filter(users, { 'age': 36, 'active': true });\n     * // => objects for ['barney']\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.filter(users, ['active', false]);\n     * // => objects for ['fred']\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.filter(users, 'active');\n     * // => objects for ['barney']\n     *\n     * // Combining several predicates using `_.overEvery` or `_.overSome`.\n     * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));\n     * // => objects for ['fred', 'barney']\n     */\n    function filter(collection, predicate) {\n      var func = isArray(collection) ? arrayFilter : baseFilter;\n      return func(collection, getIteratee(predicate, 3));\n    }\n\n    /**\n     * Iterates over elements of `collection`, returning the first element\n     * `predicate` returns truthy for. The predicate is invoked with three\n     * arguments: (value, index|key, collection).\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to inspect.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @param {number} [fromIndex=0] The index to search from.\n     * @returns {*} Returns the matched element, else `undefined`.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney',  'age': 36, 'active': true },\n     *   { 'user': 'fred',    'age': 40, 'active': false },\n     *   { 'user': 'pebbles', 'age': 1,  'active': true }\n     * ];\n     *\n     * _.find(users, function(o) { return o.age < 40; });\n     * // => object for 'barney'\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.find(users, { 'age': 1, 'active': true });\n     * // => object for 'pebbles'\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.find(users, ['active', false]);\n     * // => object for 'fred'\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.find(users, 'active');\n     * // => object for 'barney'\n     */\n    var find = createFind(findIndex);\n\n    /**\n     * This method is like `_.find` except that it iterates over elements of\n     * `collection` from right to left.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.0.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to inspect.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @param {number} [fromIndex=collection.length-1] The index to search from.\n     * @returns {*} Returns the matched element, else `undefined`.\n     * @example\n     *\n     * _.findLast([1, 2, 3, 4], function(n) {\n     *   return n % 2 == 1;\n     * });\n     * // => 3\n     */\n    var findLast = createFind(findLastIndex);\n\n    /**\n     * Creates a flattened array of values by running each element in `collection`\n     * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n     * with three arguments: (value, index|key, collection).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @returns {Array} Returns the new flattened array.\n     * @example\n     *\n     * function duplicate(n) {\n     *   return [n, n];\n     * }\n     *\n     * _.flatMap([1, 2], duplicate);\n     * // => [1, 1, 2, 2]\n     */\n    function flatMap(collection, iteratee) {\n      return baseFlatten(map(collection, iteratee), 1);\n    }\n\n    /**\n     * This method is like `_.flatMap` except that it recursively flattens the\n     * mapped results.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.7.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @returns {Array} Returns the new flattened array.\n     * @example\n     *\n     * function duplicate(n) {\n     *   return [[[n, n]]];\n     * }\n     *\n     * _.flatMapDeep([1, 2], duplicate);\n     * // => [1, 1, 2, 2]\n     */\n    function flatMapDeep(collection, iteratee) {\n      return baseFlatten(map(collection, iteratee), INFINITY);\n    }\n\n    /**\n     * This method is like `_.flatMap` except that it recursively flattens the\n     * mapped results up to `depth` times.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.7.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @param {number} [depth=1] The maximum recursion depth.\n     * @returns {Array} Returns the new flattened array.\n     * @example\n     *\n     * function duplicate(n) {\n     *   return [[[n, n]]];\n     * }\n     *\n     * _.flatMapDepth([1, 2], duplicate, 2);\n     * // => [[1, 1], [2, 2]]\n     */\n    function flatMapDepth(collection, iteratee, depth) {\n      depth = depth === undefined ? 1 : toInteger(depth);\n      return baseFlatten(map(collection, iteratee), depth);\n    }\n\n    /**\n     * Iterates over elements of `collection` and invokes `iteratee` for each element.\n     * The iteratee is invoked with three arguments: (value, index|key, collection).\n     * Iteratee functions may exit iteration early by explicitly returning `false`.\n     *\n     * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n     * property are iterated like arrays. To avoid this behavior use `_.forIn`\n     * or `_.forOwn` for object iteration.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @alias each\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @returns {Array|Object} Returns `collection`.\n     * @see _.forEachRight\n     * @example\n     *\n     * _.forEach([1, 2], function(value) {\n     *   console.log(value);\n     * });\n     * // => Logs `1` then `2`.\n     *\n     * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n     *   console.log(key);\n     * });\n     * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n     */\n    function forEach(collection, iteratee) {\n      var func = isArray(collection) ? arrayEach : baseEach;\n      return func(collection, getIteratee(iteratee, 3));\n    }\n\n    /**\n     * This method is like `_.forEach` except that it iterates over elements of\n     * `collection` from right to left.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.0.0\n     * @alias eachRight\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @returns {Array|Object} Returns `collection`.\n     * @see _.forEach\n     * @example\n     *\n     * _.forEachRight([1, 2], function(value) {\n     *   console.log(value);\n     * });\n     * // => Logs `2` then `1`.\n     */\n    function forEachRight(collection, iteratee) {\n      var func = isArray(collection) ? arrayEachRight : baseEachRight;\n      return func(collection, getIteratee(iteratee, 3));\n    }\n\n    /**\n     * Creates an object composed of keys generated from the results of running\n     * each element of `collection` thru `iteratee`. The order of grouped values\n     * is determined by the order they occur in `collection`. The corresponding\n     * value of each key is an array of elements responsible for generating the\n     * key. The iteratee is invoked with one argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n     * @returns {Object} Returns the composed aggregate object.\n     * @example\n     *\n     * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n     * // => { '4': [4.2], '6': [6.1, 6.3] }\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.groupBy(['one', 'two', 'three'], 'length');\n     * // => { '3': ['one', 'two'], '5': ['three'] }\n     */\n    var groupBy = createAggregator(function(result, value, key) {\n      if (hasOwnProperty.call(result, key)) {\n        result[key].push(value);\n      } else {\n        baseAssignValue(result, key, [value]);\n      }\n    });\n\n    /**\n     * Checks if `value` is in `collection`. If `collection` is a string, it's\n     * checked for a substring of `value`, otherwise\n     * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n     * is used for equality comparisons. If `fromIndex` is negative, it's used as\n     * the offset from the end of `collection`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object|string} collection The collection to inspect.\n     * @param {*} value The value to search for.\n     * @param {number} [fromIndex=0] The index to search from.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n     * @returns {boolean} Returns `true` if `value` is found, else `false`.\n     * @example\n     *\n     * _.includes([1, 2, 3], 1);\n     * // => true\n     *\n     * _.includes([1, 2, 3], 1, 2);\n     * // => false\n     *\n     * _.includes({ 'a': 1, 'b': 2 }, 1);\n     * // => true\n     *\n     * _.includes('abcd', 'bc');\n     * // => true\n     */\n    function includes(collection, value, fromIndex, guard) {\n      collection = isArrayLike(collection) ? collection : values(collection);\n      fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;\n\n      var length = collection.length;\n      if (fromIndex < 0) {\n        fromIndex = nativeMax(length + fromIndex, 0);\n      }\n      return isString(collection)\n        ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n        : (!!length && baseIndexOf(collection, value, fromIndex) > -1);\n    }\n\n    /**\n     * Invokes the method at `path` of each element in `collection`, returning\n     * an array of the results of each invoked method. Any additional arguments\n     * are provided to each invoked method. If `path` is a function, it's invoked\n     * for, and `this` bound to, each element in `collection`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Array|Function|string} path The path of the method to invoke or\n     *  the function invoked per iteration.\n     * @param {...*} [args] The arguments to invoke each method with.\n     * @returns {Array} Returns the array of results.\n     * @example\n     *\n     * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');\n     * // => [[1, 5, 7], [1, 2, 3]]\n     *\n     * _.invokeMap([123, 456], String.prototype.split, '');\n     * // => [['1', '2', '3'], ['4', '5', '6']]\n     */\n    var invokeMap = baseRest(function(collection, path, args) {\n      var index = -1,\n          isFunc = typeof path == 'function',\n          result = isArrayLike(collection) ? Array(collection.length) : [];\n\n      baseEach(collection, function(value) {\n        result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);\n      });\n      return result;\n    });\n\n    /**\n     * Creates an object composed of keys generated from the results of running\n     * each element of `collection` thru `iteratee`. The corresponding value of\n     * each key is the last element responsible for generating the key. The\n     * iteratee is invoked with one argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n     * @returns {Object} Returns the composed aggregate object.\n     * @example\n     *\n     * var array = [\n     *   { 'dir': 'left', 'code': 97 },\n     *   { 'dir': 'right', 'code': 100 }\n     * ];\n     *\n     * _.keyBy(array, function(o) {\n     *   return String.fromCharCode(o.code);\n     * });\n     * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }\n     *\n     * _.keyBy(array, 'dir');\n     * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }\n     */\n    var keyBy = createAggregator(function(result, value, key) {\n      baseAssignValue(result, key, value);\n    });\n\n    /**\n     * Creates an array of values by running each element in `collection` thru\n     * `iteratee`. The iteratee is invoked with three arguments:\n     * (value, index|key, collection).\n     *\n     * Many lodash methods are guarded to work as iteratees for methods like\n     * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n     *\n     * The guarded methods are:\n     * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n     * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n     * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n     * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @returns {Array} Returns the new mapped array.\n     * @example\n     *\n     * function square(n) {\n     *   return n * n;\n     * }\n     *\n     * _.map([4, 8], square);\n     * // => [16, 64]\n     *\n     * _.map({ 'a': 4, 'b': 8 }, square);\n     * // => [16, 64] (iteration order is not guaranteed)\n     *\n     * var users = [\n     *   { 'user': 'barney' },\n     *   { 'user': 'fred' }\n     * ];\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.map(users, 'user');\n     * // => ['barney', 'fred']\n     */\n    function map(collection, iteratee) {\n      var func = isArray(collection) ? arrayMap : baseMap;\n      return func(collection, getIteratee(iteratee, 3));\n    }\n\n    /**\n     * This method is like `_.sortBy` except that it allows specifying the sort\n     * orders of the iteratees to sort by. If `orders` is unspecified, all values\n     * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n     * descending or \"asc\" for ascending sort order of corresponding values.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n     *  The iteratees to sort by.\n     * @param {string[]} [orders] The sort orders of `iteratees`.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n     * @returns {Array} Returns the new sorted array.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'fred',   'age': 48 },\n     *   { 'user': 'barney', 'age': 34 },\n     *   { 'user': 'fred',   'age': 40 },\n     *   { 'user': 'barney', 'age': 36 }\n     * ];\n     *\n     * // Sort by `user` in ascending order and by `age` in descending order.\n     * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n     * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n     */\n    function orderBy(collection, iteratees, orders, guard) {\n      if (collection == null) {\n        return [];\n      }\n      if (!isArray(iteratees)) {\n        iteratees = iteratees == null ? [] : [iteratees];\n      }\n      orders = guard ? undefined : orders;\n      if (!isArray(orders)) {\n        orders = orders == null ? [] : [orders];\n      }\n      return baseOrderBy(collection, iteratees, orders);\n    }\n\n    /**\n     * Creates an array of elements split into two groups, the first of which\n     * contains elements `predicate` returns truthy for, the second of which\n     * contains elements `predicate` returns falsey for. The predicate is\n     * invoked with one argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @returns {Array} Returns the array of grouped elements.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney',  'age': 36, 'active': false },\n     *   { 'user': 'fred',    'age': 40, 'active': true },\n     *   { 'user': 'pebbles', 'age': 1,  'active': false }\n     * ];\n     *\n     * _.partition(users, function(o) { return o.active; });\n     * // => objects for [['fred'], ['barney', 'pebbles']]\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.partition(users, { 'age': 1, 'active': false });\n     * // => objects for [['pebbles'], ['barney', 'fred']]\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.partition(users, ['active', false]);\n     * // => objects for [['barney', 'pebbles'], ['fred']]\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.partition(users, 'active');\n     * // => objects for [['fred'], ['barney', 'pebbles']]\n     */\n    var partition = createAggregator(function(result, value, key) {\n      result[key ? 0 : 1].push(value);\n    }, function() { return [[], []]; });\n\n    /**\n     * Reduces `collection` to a value which is the accumulated result of running\n     * each element in `collection` thru `iteratee`, where each successive\n     * invocation is supplied the return value of the previous. If `accumulator`\n     * is not given, the first element of `collection` is used as the initial\n     * value. The iteratee is invoked with four arguments:\n     * (accumulator, value, index|key, collection).\n     *\n     * Many lodash methods are guarded to work as iteratees for methods like\n     * `_.reduce`, `_.reduceRight`, and `_.transform`.\n     *\n     * The guarded methods are:\n     * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n     * and `sortBy`\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @param {*} [accumulator] The initial value.\n     * @returns {*} Returns the accumulated value.\n     * @see _.reduceRight\n     * @example\n     *\n     * _.reduce([1, 2], function(sum, n) {\n     *   return sum + n;\n     * }, 0);\n     * // => 3\n     *\n     * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n     *   (result[value] || (result[value] = [])).push(key);\n     *   return result;\n     * }, {});\n     * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n     */\n    function reduce(collection, iteratee, accumulator) {\n      var func = isArray(collection) ? arrayReduce : baseReduce,\n          initAccum = arguments.length < 3;\n\n      return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach);\n    }\n\n    /**\n     * This method is like `_.reduce` except that it iterates over elements of\n     * `collection` from right to left.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @param {*} [accumulator] The initial value.\n     * @returns {*} Returns the accumulated value.\n     * @see _.reduce\n     * @example\n     *\n     * var array = [[0, 1], [2, 3], [4, 5]];\n     *\n     * _.reduceRight(array, function(flattened, other) {\n     *   return flattened.concat(other);\n     * }, []);\n     * // => [4, 5, 2, 3, 0, 1]\n     */\n    function reduceRight(collection, iteratee, accumulator) {\n      var func = isArray(collection) ? arrayReduceRight : baseReduce,\n          initAccum = arguments.length < 3;\n\n      return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight);\n    }\n\n    /**\n     * The opposite of `_.filter`; this method returns the elements of `collection`\n     * that `predicate` does **not** return truthy for.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @returns {Array} Returns the new filtered array.\n     * @see _.filter\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney', 'age': 36, 'active': false },\n     *   { 'user': 'fred',   'age': 40, 'active': true }\n     * ];\n     *\n     * _.reject(users, function(o) { return !o.active; });\n     * // => objects for ['fred']\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.reject(users, { 'age': 40, 'active': true });\n     * // => objects for ['barney']\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.reject(users, ['active', false]);\n     * // => objects for ['fred']\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.reject(users, 'active');\n     * // => objects for ['barney']\n     */\n    function reject(collection, predicate) {\n      var func = isArray(collection) ? arrayFilter : baseFilter;\n      return func(collection, negate(getIteratee(predicate, 3)));\n    }\n\n    /**\n     * Gets a random element from `collection`.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.0.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to sample.\n     * @returns {*} Returns the random element.\n     * @example\n     *\n     * _.sample([1, 2, 3, 4]);\n     * // => 2\n     */\n    function sample(collection) {\n      var func = isArray(collection) ? arraySample : baseSample;\n      return func(collection);\n    }\n\n    /**\n     * Gets `n` random elements at unique keys from `collection` up to the\n     * size of `collection`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to sample.\n     * @param {number} [n=1] The number of elements to sample.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {Array} Returns the random elements.\n     * @example\n     *\n     * _.sampleSize([1, 2, 3], 2);\n     * // => [3, 1]\n     *\n     * _.sampleSize([1, 2, 3], 4);\n     * // => [2, 3, 1]\n     */\n    function sampleSize(collection, n, guard) {\n      if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) {\n        n = 1;\n      } else {\n        n = toInteger(n);\n      }\n      var func = isArray(collection) ? arraySampleSize : baseSampleSize;\n      return func(collection, n);\n    }\n\n    /**\n     * Creates an array of shuffled values, using a version of the\n     * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to shuffle.\n     * @returns {Array} Returns the new shuffled array.\n     * @example\n     *\n     * _.shuffle([1, 2, 3, 4]);\n     * // => [4, 1, 3, 2]\n     */\n    function shuffle(collection) {\n      var func = isArray(collection) ? arrayShuffle : baseShuffle;\n      return func(collection);\n    }\n\n    /**\n     * Gets the size of `collection` by returning its length for array-like\n     * values or the number of own enumerable string keyed properties for objects.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object|string} collection The collection to inspect.\n     * @returns {number} Returns the collection size.\n     * @example\n     *\n     * _.size([1, 2, 3]);\n     * // => 3\n     *\n     * _.size({ 'a': 1, 'b': 2 });\n     * // => 2\n     *\n     * _.size('pebbles');\n     * // => 7\n     */\n    function size(collection) {\n      if (collection == null) {\n        return 0;\n      }\n      if (isArrayLike(collection)) {\n        return isString(collection) ? stringSize(collection) : collection.length;\n      }\n      var tag = getTag(collection);\n      if (tag == mapTag || tag == setTag) {\n        return collection.size;\n      }\n      return baseKeys(collection).length;\n    }\n\n    /**\n     * Checks if `predicate` returns truthy for **any** element of `collection`.\n     * Iteration is stopped once `predicate` returns truthy. The predicate is\n     * invoked with three arguments: (value, index|key, collection).\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {boolean} Returns `true` if any element passes the predicate check,\n     *  else `false`.\n     * @example\n     *\n     * _.some([null, 0, 'yes', false], Boolean);\n     * // => true\n     *\n     * var users = [\n     *   { 'user': 'barney', 'active': true },\n     *   { 'user': 'fred',   'active': false }\n     * ];\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.some(users, { 'user': 'barney', 'active': false });\n     * // => false\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.some(users, ['active', false]);\n     * // => true\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.some(users, 'active');\n     * // => true\n     */\n    function some(collection, predicate, guard) {\n      var func = isArray(collection) ? arraySome : baseSome;\n      if (guard && isIterateeCall(collection, predicate, guard)) {\n        predicate = undefined;\n      }\n      return func(collection, getIteratee(predicate, 3));\n    }\n\n    /**\n     * Creates an array of elements, sorted in ascending order by the results of\n     * running each element in a collection thru each iteratee. This method\n     * performs a stable sort, that is, it preserves the original sort order of\n     * equal elements. The iteratees are invoked with one argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Collection\n     * @param {Array|Object} collection The collection to iterate over.\n     * @param {...(Function|Function[])} [iteratees=[_.identity]]\n     *  The iteratees to sort by.\n     * @returns {Array} Returns the new sorted array.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'fred',   'age': 48 },\n     *   { 'user': 'barney', 'age': 36 },\n     *   { 'user': 'fred',   'age': 30 },\n     *   { 'user': 'barney', 'age': 34 }\n     * ];\n     *\n     * _.sortBy(users, [function(o) { return o.user; }]);\n     * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n     *\n     * _.sortBy(users, ['user', 'age']);\n     * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n     */\n    var sortBy = baseRest(function(collection, iteratees) {\n      if (collection == null) {\n        return [];\n      }\n      var length = iteratees.length;\n      if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n        iteratees = [];\n      } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n        iteratees = [iteratees[0]];\n      }\n      return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n    });\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Gets the timestamp of the number of milliseconds that have elapsed since\n     * the Unix epoch (1 January 1970 00:00:00 UTC).\n     *\n     * @static\n     * @memberOf _\n     * @since 2.4.0\n     * @category Date\n     * @returns {number} Returns the timestamp.\n     * @example\n     *\n     * _.defer(function(stamp) {\n     *   console.log(_.now() - stamp);\n     * }, _.now());\n     * // => Logs the number of milliseconds it took for the deferred invocation.\n     */\n    var now = ctxNow || function() {\n      return root.Date.now();\n    };\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * The opposite of `_.before`; this method creates a function that invokes\n     * `func` once it's called `n` or more times.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Function\n     * @param {number} n The number of calls before `func` is invoked.\n     * @param {Function} func The function to restrict.\n     * @returns {Function} Returns the new restricted function.\n     * @example\n     *\n     * var saves = ['profile', 'settings'];\n     *\n     * var done = _.after(saves.length, function() {\n     *   console.log('done saving!');\n     * });\n     *\n     * _.forEach(saves, function(type) {\n     *   asyncSave({ 'type': type, 'complete': done });\n     * });\n     * // => Logs 'done saving!' after the two async saves have completed.\n     */\n    function after(n, func) {\n      if (typeof func != 'function') {\n        throw new TypeError(FUNC_ERROR_TEXT);\n      }\n      n = toInteger(n);\n      return function() {\n        if (--n < 1) {\n          return func.apply(this, arguments);\n        }\n      };\n    }\n\n    /**\n     * Creates a function that invokes `func`, with up to `n` arguments,\n     * ignoring any additional arguments.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Function\n     * @param {Function} func The function to cap arguments for.\n     * @param {number} [n=func.length] The arity cap.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {Function} Returns the new capped function.\n     * @example\n     *\n     * _.map(['6', '8', '10'], _.ary(parseInt, 1));\n     * // => [6, 8, 10]\n     */\n    function ary(func, n, guard) {\n      n = guard ? undefined : n;\n      n = (func && n == null) ? func.length : n;\n      return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);\n    }\n\n    /**\n     * Creates a function that invokes `func`, with the `this` binding and arguments\n     * of the created function, while it's called less than `n` times. Subsequent\n     * calls to the created function return the result of the last `func` invocation.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Function\n     * @param {number} n The number of calls at which `func` is no longer invoked.\n     * @param {Function} func The function to restrict.\n     * @returns {Function} Returns the new restricted function.\n     * @example\n     *\n     * jQuery(element).on('click', _.before(5, addContactToList));\n     * // => Allows adding up to 4 contacts to the list.\n     */\n    function before(n, func) {\n      var result;\n      if (typeof func != 'function') {\n        throw new TypeError(FUNC_ERROR_TEXT);\n      }\n      n = toInteger(n);\n      return function() {\n        if (--n > 0) {\n          result = func.apply(this, arguments);\n        }\n        if (n <= 1) {\n          func = undefined;\n        }\n        return result;\n      };\n    }\n\n    /**\n     * Creates a function that invokes `func` with the `this` binding of `thisArg`\n     * and `partials` prepended to the arguments it receives.\n     *\n     * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,\n     * may be used as a placeholder for partially applied arguments.\n     *\n     * **Note:** Unlike native `Function#bind`, this method doesn't set the \"length\"\n     * property of bound functions.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Function\n     * @param {Function} func The function to bind.\n     * @param {*} thisArg The `this` binding of `func`.\n     * @param {...*} [partials] The arguments to be partially applied.\n     * @returns {Function} Returns the new bound function.\n     * @example\n     *\n     * function greet(greeting, punctuation) {\n     *   return greeting + ' ' + this.user + punctuation;\n     * }\n     *\n     * var object = { 'user': 'fred' };\n     *\n     * var bound = _.bind(greet, object, 'hi');\n     * bound('!');\n     * // => 'hi fred!'\n     *\n     * // Bound with placeholders.\n     * var bound = _.bind(greet, object, _, '!');\n     * bound('hi');\n     * // => 'hi fred!'\n     */\n    var bind = baseRest(function(func, thisArg, partials) {\n      var bitmask = WRAP_BIND_FLAG;\n      if (partials.length) {\n        var holders = replaceHolders(partials, getHolder(bind));\n        bitmask |= WRAP_PARTIAL_FLAG;\n      }\n      return createWrap(func, bitmask, thisArg, partials, holders);\n    });\n\n    /**\n     * Creates a function that invokes the method at `object[key]` with `partials`\n     * prepended to the arguments it receives.\n     *\n     * This method differs from `_.bind` by allowing bound functions to reference\n     * methods that may be redefined or don't yet exist. See\n     * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)\n     * for more details.\n     *\n     * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic\n     * builds, may be used as a placeholder for partially applied arguments.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.10.0\n     * @category Function\n     * @param {Object} object The object to invoke the method on.\n     * @param {string} key The key of the method.\n     * @param {...*} [partials] The arguments to be partially applied.\n     * @returns {Function} Returns the new bound function.\n     * @example\n     *\n     * var object = {\n     *   'user': 'fred',\n     *   'greet': function(greeting, punctuation) {\n     *     return greeting + ' ' + this.user + punctuation;\n     *   }\n     * };\n     *\n     * var bound = _.bindKey(object, 'greet', 'hi');\n     * bound('!');\n     * // => 'hi fred!'\n     *\n     * object.greet = function(greeting, punctuation) {\n     *   return greeting + 'ya ' + this.user + punctuation;\n     * };\n     *\n     * bound('!');\n     * // => 'hiya fred!'\n     *\n     * // Bound with placeholders.\n     * var bound = _.bindKey(object, 'greet', _, '!');\n     * bound('hi');\n     * // => 'hiya fred!'\n     */\n    var bindKey = baseRest(function(object, key, partials) {\n      var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;\n      if (partials.length) {\n        var holders = replaceHolders(partials, getHolder(bindKey));\n        bitmask |= WRAP_PARTIAL_FLAG;\n      }\n      return createWrap(key, bitmask, object, partials, holders);\n    });\n\n    /**\n     * Creates a function that accepts arguments of `func` and either invokes\n     * `func` returning its result, if at least `arity` number of arguments have\n     * been provided, or returns a function that accepts the remaining `func`\n     * arguments, and so on. The arity of `func` may be specified if `func.length`\n     * is not sufficient.\n     *\n     * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n     * may be used as a placeholder for provided arguments.\n     *\n     * **Note:** This method doesn't set the \"length\" property of curried functions.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.0.0\n     * @category Function\n     * @param {Function} func The function to curry.\n     * @param {number} [arity=func.length] The arity of `func`.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {Function} Returns the new curried function.\n     * @example\n     *\n     * var abc = function(a, b, c) {\n     *   return [a, b, c];\n     * };\n     *\n     * var curried = _.curry(abc);\n     *\n     * curried(1)(2)(3);\n     * // => [1, 2, 3]\n     *\n     * curried(1, 2)(3);\n     * // => [1, 2, 3]\n     *\n     * curried(1, 2, 3);\n     * // => [1, 2, 3]\n     *\n     * // Curried with placeholders.\n     * curried(1)(_, 3)(2);\n     * // => [1, 2, 3]\n     */\n    function curry(func, arity, guard) {\n      arity = guard ? undefined : arity;\n      var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n      result.placeholder = curry.placeholder;\n      return result;\n    }\n\n    /**\n     * This method is like `_.curry` except that arguments are applied to `func`\n     * in the manner of `_.partialRight` instead of `_.partial`.\n     *\n     * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic\n     * builds, may be used as a placeholder for provided arguments.\n     *\n     * **Note:** This method doesn't set the \"length\" property of curried functions.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Function\n     * @param {Function} func The function to curry.\n     * @param {number} [arity=func.length] The arity of `func`.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {Function} Returns the new curried function.\n     * @example\n     *\n     * var abc = function(a, b, c) {\n     *   return [a, b, c];\n     * };\n     *\n     * var curried = _.curryRight(abc);\n     *\n     * curried(3)(2)(1);\n     * // => [1, 2, 3]\n     *\n     * curried(2, 3)(1);\n     * // => [1, 2, 3]\n     *\n     * curried(1, 2, 3);\n     * // => [1, 2, 3]\n     *\n     * // Curried with placeholders.\n     * curried(3)(1, _)(2);\n     * // => [1, 2, 3]\n     */\n    function curryRight(func, arity, guard) {\n      arity = guard ? undefined : arity;\n      var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n      result.placeholder = curryRight.placeholder;\n      return result;\n    }\n\n    /**\n     * Creates a debounced function that delays invoking `func` until after `wait`\n     * milliseconds have elapsed since the last time the debounced function was\n     * invoked. The debounced function comes with a `cancel` method to cancel\n     * delayed `func` invocations and a `flush` method to immediately invoke them.\n     * Provide `options` to indicate whether `func` should be invoked on the\n     * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n     * with the last arguments provided to the debounced function. Subsequent\n     * calls to the debounced function return the result of the last `func`\n     * invocation.\n     *\n     * **Note:** If `leading` and `trailing` options are `true`, `func` is\n     * invoked on the trailing edge of the timeout only if the debounced function\n     * is invoked more than once during the `wait` timeout.\n     *\n     * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n     * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n     *\n     * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n     * for details over the differences between `_.debounce` and `_.throttle`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Function\n     * @param {Function} func The function to debounce.\n     * @param {number} [wait=0] The number of milliseconds to delay.\n     * @param {Object} [options={}] The options object.\n     * @param {boolean} [options.leading=false]\n     *  Specify invoking on the leading edge of the timeout.\n     * @param {number} [options.maxWait]\n     *  The maximum time `func` is allowed to be delayed before it's invoked.\n     * @param {boolean} [options.trailing=true]\n     *  Specify invoking on the trailing edge of the timeout.\n     * @returns {Function} Returns the new debounced function.\n     * @example\n     *\n     * // Avoid costly calculations while the window size is in flux.\n     * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n     *\n     * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n     * jQuery(element).on('click', _.debounce(sendMail, 300, {\n     *   'leading': true,\n     *   'trailing': false\n     * }));\n     *\n     * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n     * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n     * var source = new EventSource('/stream');\n     * jQuery(source).on('message', debounced);\n     *\n     * // Cancel the trailing debounced invocation.\n     * jQuery(window).on('popstate', debounced.cancel);\n     */\n    function debounce(func, wait, options) {\n      var lastArgs,\n          lastThis,\n          maxWait,\n          result,\n          timerId,\n          lastCallTime,\n          lastInvokeTime = 0,\n          leading = false,\n          maxing = false,\n          trailing = true;\n\n      if (typeof func != 'function') {\n        throw new TypeError(FUNC_ERROR_TEXT);\n      }\n      wait = toNumber(wait) || 0;\n      if (isObject(options)) {\n        leading = !!options.leading;\n        maxing = 'maxWait' in options;\n        maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n        trailing = 'trailing' in options ? !!options.trailing : trailing;\n      }\n\n      function invokeFunc(time) {\n        var args = lastArgs,\n            thisArg = lastThis;\n\n        lastArgs = lastThis = undefined;\n        lastInvokeTime = time;\n        result = func.apply(thisArg, args);\n        return result;\n      }\n\n      function leadingEdge(time) {\n        // Reset any `maxWait` timer.\n        lastInvokeTime = time;\n        // Start the timer for the trailing edge.\n        timerId = setTimeout(timerExpired, wait);\n        // Invoke the leading edge.\n        return leading ? invokeFunc(time) : result;\n      }\n\n      function remainingWait(time) {\n        var timeSinceLastCall = time - lastCallTime,\n            timeSinceLastInvoke = time - lastInvokeTime,\n            timeWaiting = wait - timeSinceLastCall;\n\n        return maxing\n          ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n          : timeWaiting;\n      }\n\n      function shouldInvoke(time) {\n        var timeSinceLastCall = time - lastCallTime,\n            timeSinceLastInvoke = time - lastInvokeTime;\n\n        // Either this is the first call, activity has stopped and we're at the\n        // trailing edge, the system time has gone backwards and we're treating\n        // it as the trailing edge, or we've hit the `maxWait` limit.\n        return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n          (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n      }\n\n      function timerExpired() {\n        var time = now();\n        if (shouldInvoke(time)) {\n          return trailingEdge(time);\n        }\n        // Restart the timer.\n        timerId = setTimeout(timerExpired, remainingWait(time));\n      }\n\n      function trailingEdge(time) {\n        timerId = undefined;\n\n        // Only invoke if we have `lastArgs` which means `func` has been\n        // debounced at least once.\n        if (trailing && lastArgs) {\n          return invokeFunc(time);\n        }\n        lastArgs = lastThis = undefined;\n        return result;\n      }\n\n      function cancel() {\n        if (timerId !== undefined) {\n          clearTimeout(timerId);\n        }\n        lastInvokeTime = 0;\n        lastArgs = lastCallTime = lastThis = timerId = undefined;\n      }\n\n      function flush() {\n        return timerId === undefined ? result : trailingEdge(now());\n      }\n\n      function debounced() {\n        var time = now(),\n            isInvoking = shouldInvoke(time);\n\n        lastArgs = arguments;\n        lastThis = this;\n        lastCallTime = time;\n\n        if (isInvoking) {\n          if (timerId === undefined) {\n            return leadingEdge(lastCallTime);\n          }\n          if (maxing) {\n            // Handle invocations in a tight loop.\n            clearTimeout(timerId);\n            timerId = setTimeout(timerExpired, wait);\n            return invokeFunc(lastCallTime);\n          }\n        }\n        if (timerId === undefined) {\n          timerId = setTimeout(timerExpired, wait);\n        }\n        return result;\n      }\n      debounced.cancel = cancel;\n      debounced.flush = flush;\n      return debounced;\n    }\n\n    /**\n     * Defers invoking the `func` until the current call stack has cleared. Any\n     * additional arguments are provided to `func` when it's invoked.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Function\n     * @param {Function} func The function to defer.\n     * @param {...*} [args] The arguments to invoke `func` with.\n     * @returns {number} Returns the timer id.\n     * @example\n     *\n     * _.defer(function(text) {\n     *   console.log(text);\n     * }, 'deferred');\n     * // => Logs 'deferred' after one millisecond.\n     */\n    var defer = baseRest(function(func, args) {\n      return baseDelay(func, 1, args);\n    });\n\n    /**\n     * Invokes `func` after `wait` milliseconds. Any additional arguments are\n     * provided to `func` when it's invoked.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Function\n     * @param {Function} func The function to delay.\n     * @param {number} wait The number of milliseconds to delay invocation.\n     * @param {...*} [args] The arguments to invoke `func` with.\n     * @returns {number} Returns the timer id.\n     * @example\n     *\n     * _.delay(function(text) {\n     *   console.log(text);\n     * }, 1000, 'later');\n     * // => Logs 'later' after one second.\n     */\n    var delay = baseRest(function(func, wait, args) {\n      return baseDelay(func, toNumber(wait) || 0, args);\n    });\n\n    /**\n     * Creates a function that invokes `func` with arguments reversed.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Function\n     * @param {Function} func The function to flip arguments for.\n     * @returns {Function} Returns the new flipped function.\n     * @example\n     *\n     * var flipped = _.flip(function() {\n     *   return _.toArray(arguments);\n     * });\n     *\n     * flipped('a', 'b', 'c', 'd');\n     * // => ['d', 'c', 'b', 'a']\n     */\n    function flip(func) {\n      return createWrap(func, WRAP_FLIP_FLAG);\n    }\n\n    /**\n     * Creates a function that memoizes the result of `func`. If `resolver` is\n     * provided, it determines the cache key for storing the result based on the\n     * arguments provided to the memoized function. By default, the first argument\n     * provided to the memoized function is used as the map cache key. The `func`\n     * is invoked with the `this` binding of the memoized function.\n     *\n     * **Note:** The cache is exposed as the `cache` property on the memoized\n     * function. Its creation may be customized by replacing the `_.memoize.Cache`\n     * constructor with one whose instances implement the\n     * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n     * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Function\n     * @param {Function} func The function to have its output memoized.\n     * @param {Function} [resolver] The function to resolve the cache key.\n     * @returns {Function} Returns the new memoized function.\n     * @example\n     *\n     * var object = { 'a': 1, 'b': 2 };\n     * var other = { 'c': 3, 'd': 4 };\n     *\n     * var values = _.memoize(_.values);\n     * values(object);\n     * // => [1, 2]\n     *\n     * values(other);\n     * // => [3, 4]\n     *\n     * object.a = 2;\n     * values(object);\n     * // => [1, 2]\n     *\n     * // Modify the result cache.\n     * values.cache.set(object, ['a', 'b']);\n     * values(object);\n     * // => ['a', 'b']\n     *\n     * // Replace `_.memoize.Cache`.\n     * _.memoize.Cache = WeakMap;\n     */\n    function memoize(func, resolver) {\n      if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n        throw new TypeError(FUNC_ERROR_TEXT);\n      }\n      var memoized = function() {\n        var args = arguments,\n            key = resolver ? resolver.apply(this, args) : args[0],\n            cache = memoized.cache;\n\n        if (cache.has(key)) {\n          return cache.get(key);\n        }\n        var result = func.apply(this, args);\n        memoized.cache = cache.set(key, result) || cache;\n        return result;\n      };\n      memoized.cache = new (memoize.Cache || MapCache);\n      return memoized;\n    }\n\n    // Expose `MapCache`.\n    memoize.Cache = MapCache;\n\n    /**\n     * Creates a function that negates the result of the predicate `func`. The\n     * `func` predicate is invoked with the `this` binding and arguments of the\n     * created function.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Function\n     * @param {Function} predicate The predicate to negate.\n     * @returns {Function} Returns the new negated function.\n     * @example\n     *\n     * function isEven(n) {\n     *   return n % 2 == 0;\n     * }\n     *\n     * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n     * // => [1, 3, 5]\n     */\n    function negate(predicate) {\n      if (typeof predicate != 'function') {\n        throw new TypeError(FUNC_ERROR_TEXT);\n      }\n      return function() {\n        var args = arguments;\n        switch (args.length) {\n          case 0: return !predicate.call(this);\n          case 1: return !predicate.call(this, args[0]);\n          case 2: return !predicate.call(this, args[0], args[1]);\n          case 3: return !predicate.call(this, args[0], args[1], args[2]);\n        }\n        return !predicate.apply(this, args);\n      };\n    }\n\n    /**\n     * Creates a function that is restricted to invoking `func` once. Repeat calls\n     * to the function return the value of the first invocation. The `func` is\n     * invoked with the `this` binding and arguments of the created function.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Function\n     * @param {Function} func The function to restrict.\n     * @returns {Function} Returns the new restricted function.\n     * @example\n     *\n     * var initialize = _.once(createApplication);\n     * initialize();\n     * initialize();\n     * // => `createApplication` is invoked once\n     */\n    function once(func) {\n      return before(2, func);\n    }\n\n    /**\n     * Creates a function that invokes `func` with its arguments transformed.\n     *\n     * @static\n     * @since 4.0.0\n     * @memberOf _\n     * @category Function\n     * @param {Function} func The function to wrap.\n     * @param {...(Function|Function[])} [transforms=[_.identity]]\n     *  The argument transforms.\n     * @returns {Function} Returns the new function.\n     * @example\n     *\n     * function doubled(n) {\n     *   return n * 2;\n     * }\n     *\n     * function square(n) {\n     *   return n * n;\n     * }\n     *\n     * var func = _.overArgs(function(x, y) {\n     *   return [x, y];\n     * }, [square, doubled]);\n     *\n     * func(9, 3);\n     * // => [81, 6]\n     *\n     * func(10, 5);\n     * // => [100, 10]\n     */\n    var overArgs = castRest(function(func, transforms) {\n      transforms = (transforms.length == 1 && isArray(transforms[0]))\n        ? arrayMap(transforms[0], baseUnary(getIteratee()))\n        : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee()));\n\n      var funcsLength = transforms.length;\n      return baseRest(function(args) {\n        var index = -1,\n            length = nativeMin(args.length, funcsLength);\n\n        while (++index < length) {\n          args[index] = transforms[index].call(this, args[index]);\n        }\n        return apply(func, this, args);\n      });\n    });\n\n    /**\n     * Creates a function that invokes `func` with `partials` prepended to the\n     * arguments it receives. This method is like `_.bind` except it does **not**\n     * alter the `this` binding.\n     *\n     * The `_.partial.placeholder` value, which defaults to `_` in monolithic\n     * builds, may be used as a placeholder for partially applied arguments.\n     *\n     * **Note:** This method doesn't set the \"length\" property of partially\n     * applied functions.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.2.0\n     * @category Function\n     * @param {Function} func The function to partially apply arguments to.\n     * @param {...*} [partials] The arguments to be partially applied.\n     * @returns {Function} Returns the new partially applied function.\n     * @example\n     *\n     * function greet(greeting, name) {\n     *   return greeting + ' ' + name;\n     * }\n     *\n     * var sayHelloTo = _.partial(greet, 'hello');\n     * sayHelloTo('fred');\n     * // => 'hello fred'\n     *\n     * // Partially applied with placeholders.\n     * var greetFred = _.partial(greet, _, 'fred');\n     * greetFred('hi');\n     * // => 'hi fred'\n     */\n    var partial = baseRest(function(func, partials) {\n      var holders = replaceHolders(partials, getHolder(partial));\n      return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);\n    });\n\n    /**\n     * This method is like `_.partial` except that partially applied arguments\n     * are appended to the arguments it receives.\n     *\n     * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic\n     * builds, may be used as a placeholder for partially applied arguments.\n     *\n     * **Note:** This method doesn't set the \"length\" property of partially\n     * applied functions.\n     *\n     * @static\n     * @memberOf _\n     * @since 1.0.0\n     * @category Function\n     * @param {Function} func The function to partially apply arguments to.\n     * @param {...*} [partials] The arguments to be partially applied.\n     * @returns {Function} Returns the new partially applied function.\n     * @example\n     *\n     * function greet(greeting, name) {\n     *   return greeting + ' ' + name;\n     * }\n     *\n     * var greetFred = _.partialRight(greet, 'fred');\n     * greetFred('hi');\n     * // => 'hi fred'\n     *\n     * // Partially applied with placeholders.\n     * var sayHelloTo = _.partialRight(greet, 'hello', _);\n     * sayHelloTo('fred');\n     * // => 'hello fred'\n     */\n    var partialRight = baseRest(function(func, partials) {\n      var holders = replaceHolders(partials, getHolder(partialRight));\n      return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);\n    });\n\n    /**\n     * Creates a function that invokes `func` with arguments arranged according\n     * to the specified `indexes` where the argument value at the first index is\n     * provided as the first argument, the argument value at the second index is\n     * provided as the second argument, and so on.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Function\n     * @param {Function} func The function to rearrange arguments for.\n     * @param {...(number|number[])} indexes The arranged argument indexes.\n     * @returns {Function} Returns the new function.\n     * @example\n     *\n     * var rearged = _.rearg(function(a, b, c) {\n     *   return [a, b, c];\n     * }, [2, 0, 1]);\n     *\n     * rearged('b', 'c', 'a')\n     * // => ['a', 'b', 'c']\n     */\n    var rearg = flatRest(function(func, indexes) {\n      return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);\n    });\n\n    /**\n     * Creates a function that invokes `func` with the `this` binding of the\n     * created function and arguments from `start` and beyond provided as\n     * an array.\n     *\n     * **Note:** This method is based on the\n     * [rest parameter](https://mdn.io/rest_parameters).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Function\n     * @param {Function} func The function to apply a rest parameter to.\n     * @param {number} [start=func.length-1] The start position of the rest parameter.\n     * @returns {Function} Returns the new function.\n     * @example\n     *\n     * var say = _.rest(function(what, names) {\n     *   return what + ' ' + _.initial(names).join(', ') +\n     *     (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n     * });\n     *\n     * say('hello', 'fred', 'barney', 'pebbles');\n     * // => 'hello fred, barney, & pebbles'\n     */\n    function rest(func, start) {\n      if (typeof func != 'function') {\n        throw new TypeError(FUNC_ERROR_TEXT);\n      }\n      start = start === undefined ? start : toInteger(start);\n      return baseRest(func, start);\n    }\n\n    /**\n     * Creates a function that invokes `func` with the `this` binding of the\n     * create function and an array of arguments much like\n     * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply).\n     *\n     * **Note:** This method is based on the\n     * [spread operator](https://mdn.io/spread_operator).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.2.0\n     * @category Function\n     * @param {Function} func The function to spread arguments over.\n     * @param {number} [start=0] The start position of the spread.\n     * @returns {Function} Returns the new function.\n     * @example\n     *\n     * var say = _.spread(function(who, what) {\n     *   return who + ' says ' + what;\n     * });\n     *\n     * say(['fred', 'hello']);\n     * // => 'fred says hello'\n     *\n     * var numbers = Promise.all([\n     *   Promise.resolve(40),\n     *   Promise.resolve(36)\n     * ]);\n     *\n     * numbers.then(_.spread(function(x, y) {\n     *   return x + y;\n     * }));\n     * // => a Promise of 76\n     */\n    function spread(func, start) {\n      if (typeof func != 'function') {\n        throw new TypeError(FUNC_ERROR_TEXT);\n      }\n      start = start == null ? 0 : nativeMax(toInteger(start), 0);\n      return baseRest(function(args) {\n        var array = args[start],\n            otherArgs = castSlice(args, 0, start);\n\n        if (array) {\n          arrayPush(otherArgs, array);\n        }\n        return apply(func, this, otherArgs);\n      });\n    }\n\n    /**\n     * Creates a throttled function that only invokes `func` at most once per\n     * every `wait` milliseconds. The throttled function comes with a `cancel`\n     * method to cancel delayed `func` invocations and a `flush` method to\n     * immediately invoke them. Provide `options` to indicate whether `func`\n     * should be invoked on the leading and/or trailing edge of the `wait`\n     * timeout. The `func` is invoked with the last arguments provided to the\n     * throttled function. Subsequent calls to the throttled function return the\n     * result of the last `func` invocation.\n     *\n     * **Note:** If `leading` and `trailing` options are `true`, `func` is\n     * invoked on the trailing edge of the timeout only if the throttled function\n     * is invoked more than once during the `wait` timeout.\n     *\n     * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n     * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n     *\n     * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n     * for details over the differences between `_.throttle` and `_.debounce`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Function\n     * @param {Function} func The function to throttle.\n     * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n     * @param {Object} [options={}] The options object.\n     * @param {boolean} [options.leading=true]\n     *  Specify invoking on the leading edge of the timeout.\n     * @param {boolean} [options.trailing=true]\n     *  Specify invoking on the trailing edge of the timeout.\n     * @returns {Function} Returns the new throttled function.\n     * @example\n     *\n     * // Avoid excessively updating the position while scrolling.\n     * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n     *\n     * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n     * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n     * jQuery(element).on('click', throttled);\n     *\n     * // Cancel the trailing throttled invocation.\n     * jQuery(window).on('popstate', throttled.cancel);\n     */\n    function throttle(func, wait, options) {\n      var leading = true,\n          trailing = true;\n\n      if (typeof func != 'function') {\n        throw new TypeError(FUNC_ERROR_TEXT);\n      }\n      if (isObject(options)) {\n        leading = 'leading' in options ? !!options.leading : leading;\n        trailing = 'trailing' in options ? !!options.trailing : trailing;\n      }\n      return debounce(func, wait, {\n        'leading': leading,\n        'maxWait': wait,\n        'trailing': trailing\n      });\n    }\n\n    /**\n     * Creates a function that accepts up to one argument, ignoring any\n     * additional arguments.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Function\n     * @param {Function} func The function to cap arguments for.\n     * @returns {Function} Returns the new capped function.\n     * @example\n     *\n     * _.map(['6', '8', '10'], _.unary(parseInt));\n     * // => [6, 8, 10]\n     */\n    function unary(func) {\n      return ary(func, 1);\n    }\n\n    /**\n     * Creates a function that provides `value` to `wrapper` as its first\n     * argument. Any additional arguments provided to the function are appended\n     * to those provided to the `wrapper`. The wrapper is invoked with the `this`\n     * binding of the created function.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Function\n     * @param {*} value The value to wrap.\n     * @param {Function} [wrapper=identity] The wrapper function.\n     * @returns {Function} Returns the new function.\n     * @example\n     *\n     * var p = _.wrap(_.escape, function(func, text) {\n     *   return '<p>' + func(text) + '</p>';\n     * });\n     *\n     * p('fred, barney, & pebbles');\n     * // => '<p>fred, barney, &amp; pebbles</p>'\n     */\n    function wrap(value, wrapper) {\n      return partial(castFunction(wrapper), value);\n    }\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Casts `value` as an array if it's not one.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.4.0\n     * @category Lang\n     * @param {*} value The value to inspect.\n     * @returns {Array} Returns the cast array.\n     * @example\n     *\n     * _.castArray(1);\n     * // => [1]\n     *\n     * _.castArray({ 'a': 1 });\n     * // => [{ 'a': 1 }]\n     *\n     * _.castArray('abc');\n     * // => ['abc']\n     *\n     * _.castArray(null);\n     * // => [null]\n     *\n     * _.castArray(undefined);\n     * // => [undefined]\n     *\n     * _.castArray();\n     * // => []\n     *\n     * var array = [1, 2, 3];\n     * console.log(_.castArray(array) === array);\n     * // => true\n     */\n    function castArray() {\n      if (!arguments.length) {\n        return [];\n      }\n      var value = arguments[0];\n      return isArray(value) ? value : [value];\n    }\n\n    /**\n     * Creates a shallow clone of `value`.\n     *\n     * **Note:** This method is loosely based on the\n     * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n     * and supports cloning arrays, array buffers, booleans, date objects, maps,\n     * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n     * arrays. The own enumerable properties of `arguments` objects are cloned\n     * as plain objects. An empty object is returned for uncloneable values such\n     * as error objects, functions, DOM nodes, and WeakMaps.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to clone.\n     * @returns {*} Returns the cloned value.\n     * @see _.cloneDeep\n     * @example\n     *\n     * var objects = [{ 'a': 1 }, { 'b': 2 }];\n     *\n     * var shallow = _.clone(objects);\n     * console.log(shallow[0] === objects[0]);\n     * // => true\n     */\n    function clone(value) {\n      return baseClone(value, CLONE_SYMBOLS_FLAG);\n    }\n\n    /**\n     * This method is like `_.clone` except that it accepts `customizer` which\n     * is invoked to produce the cloned value. If `customizer` returns `undefined`,\n     * cloning is handled by the method instead. The `customizer` is invoked with\n     * up to four arguments; (value [, index|key, object, stack]).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to clone.\n     * @param {Function} [customizer] The function to customize cloning.\n     * @returns {*} Returns the cloned value.\n     * @see _.cloneDeepWith\n     * @example\n     *\n     * function customizer(value) {\n     *   if (_.isElement(value)) {\n     *     return value.cloneNode(false);\n     *   }\n     * }\n     *\n     * var el = _.cloneWith(document.body, customizer);\n     *\n     * console.log(el === document.body);\n     * // => false\n     * console.log(el.nodeName);\n     * // => 'BODY'\n     * console.log(el.childNodes.length);\n     * // => 0\n     */\n    function cloneWith(value, customizer) {\n      customizer = typeof customizer == 'function' ? customizer : undefined;\n      return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);\n    }\n\n    /**\n     * This method is like `_.clone` except that it recursively clones `value`.\n     *\n     * @static\n     * @memberOf _\n     * @since 1.0.0\n     * @category Lang\n     * @param {*} value The value to recursively clone.\n     * @returns {*} Returns the deep cloned value.\n     * @see _.clone\n     * @example\n     *\n     * var objects = [{ 'a': 1 }, { 'b': 2 }];\n     *\n     * var deep = _.cloneDeep(objects);\n     * console.log(deep[0] === objects[0]);\n     * // => false\n     */\n    function cloneDeep(value) {\n      return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n    }\n\n    /**\n     * This method is like `_.cloneWith` except that it recursively clones `value`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to recursively clone.\n     * @param {Function} [customizer] The function to customize cloning.\n     * @returns {*} Returns the deep cloned value.\n     * @see _.cloneWith\n     * @example\n     *\n     * function customizer(value) {\n     *   if (_.isElement(value)) {\n     *     return value.cloneNode(true);\n     *   }\n     * }\n     *\n     * var el = _.cloneDeepWith(document.body, customizer);\n     *\n     * console.log(el === document.body);\n     * // => false\n     * console.log(el.nodeName);\n     * // => 'BODY'\n     * console.log(el.childNodes.length);\n     * // => 20\n     */\n    function cloneDeepWith(value, customizer) {\n      customizer = typeof customizer == 'function' ? customizer : undefined;\n      return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);\n    }\n\n    /**\n     * Checks if `object` conforms to `source` by invoking the predicate\n     * properties of `source` with the corresponding property values of `object`.\n     *\n     * **Note:** This method is equivalent to `_.conforms` when `source` is\n     * partially applied.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.14.0\n     * @category Lang\n     * @param {Object} object The object to inspect.\n     * @param {Object} source The object of property predicates to conform to.\n     * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n     * @example\n     *\n     * var object = { 'a': 1, 'b': 2 };\n     *\n     * _.conformsTo(object, { 'b': function(n) { return n > 1; } });\n     * // => true\n     *\n     * _.conformsTo(object, { 'b': function(n) { return n > 2; } });\n     * // => false\n     */\n    function conformsTo(object, source) {\n      return source == null || baseConformsTo(object, source, keys(source));\n    }\n\n    /**\n     * Performs a\n     * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n     * comparison between two values to determine if they are equivalent.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to compare.\n     * @param {*} other The other value to compare.\n     * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n     * @example\n     *\n     * var object = { 'a': 1 };\n     * var other = { 'a': 1 };\n     *\n     * _.eq(object, object);\n     * // => true\n     *\n     * _.eq(object, other);\n     * // => false\n     *\n     * _.eq('a', 'a');\n     * // => true\n     *\n     * _.eq('a', Object('a'));\n     * // => false\n     *\n     * _.eq(NaN, NaN);\n     * // => true\n     */\n    function eq(value, other) {\n      return value === other || (value !== value && other !== other);\n    }\n\n    /**\n     * Checks if `value` is greater than `other`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.9.0\n     * @category Lang\n     * @param {*} value The value to compare.\n     * @param {*} other The other value to compare.\n     * @returns {boolean} Returns `true` if `value` is greater than `other`,\n     *  else `false`.\n     * @see _.lt\n     * @example\n     *\n     * _.gt(3, 1);\n     * // => true\n     *\n     * _.gt(3, 3);\n     * // => false\n     *\n     * _.gt(1, 3);\n     * // => false\n     */\n    var gt = createRelationalOperation(baseGt);\n\n    /**\n     * Checks if `value` is greater than or equal to `other`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.9.0\n     * @category Lang\n     * @param {*} value The value to compare.\n     * @param {*} other The other value to compare.\n     * @returns {boolean} Returns `true` if `value` is greater than or equal to\n     *  `other`, else `false`.\n     * @see _.lte\n     * @example\n     *\n     * _.gte(3, 1);\n     * // => true\n     *\n     * _.gte(3, 3);\n     * // => true\n     *\n     * _.gte(1, 3);\n     * // => false\n     */\n    var gte = createRelationalOperation(function(value, other) {\n      return value >= other;\n    });\n\n    /**\n     * Checks if `value` is likely an `arguments` object.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n     *  else `false`.\n     * @example\n     *\n     * _.isArguments(function() { return arguments; }());\n     * // => true\n     *\n     * _.isArguments([1, 2, 3]);\n     * // => false\n     */\n    var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n      return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n        !propertyIsEnumerable.call(value, 'callee');\n    };\n\n    /**\n     * Checks if `value` is classified as an `Array` object.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n     * @example\n     *\n     * _.isArray([1, 2, 3]);\n     * // => true\n     *\n     * _.isArray(document.body.children);\n     * // => false\n     *\n     * _.isArray('abc');\n     * // => false\n     *\n     * _.isArray(_.noop);\n     * // => false\n     */\n    var isArray = Array.isArray;\n\n    /**\n     * Checks if `value` is classified as an `ArrayBuffer` object.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.3.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n     * @example\n     *\n     * _.isArrayBuffer(new ArrayBuffer(2));\n     * // => true\n     *\n     * _.isArrayBuffer(new Array(2));\n     * // => false\n     */\n    var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;\n\n    /**\n     * Checks if `value` is array-like. A value is considered array-like if it's\n     * not a function and has a `value.length` that's an integer greater than or\n     * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n     * @example\n     *\n     * _.isArrayLike([1, 2, 3]);\n     * // => true\n     *\n     * _.isArrayLike(document.body.children);\n     * // => true\n     *\n     * _.isArrayLike('abc');\n     * // => true\n     *\n     * _.isArrayLike(_.noop);\n     * // => false\n     */\n    function isArrayLike(value) {\n      return value != null && isLength(value.length) && !isFunction(value);\n    }\n\n    /**\n     * This method is like `_.isArrayLike` except that it also checks if `value`\n     * is an object.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is an array-like object,\n     *  else `false`.\n     * @example\n     *\n     * _.isArrayLikeObject([1, 2, 3]);\n     * // => true\n     *\n     * _.isArrayLikeObject(document.body.children);\n     * // => true\n     *\n     * _.isArrayLikeObject('abc');\n     * // => false\n     *\n     * _.isArrayLikeObject(_.noop);\n     * // => false\n     */\n    function isArrayLikeObject(value) {\n      return isObjectLike(value) && isArrayLike(value);\n    }\n\n    /**\n     * Checks if `value` is classified as a boolean primitive or object.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n     * @example\n     *\n     * _.isBoolean(false);\n     * // => true\n     *\n     * _.isBoolean(null);\n     * // => false\n     */\n    function isBoolean(value) {\n      return value === true || value === false ||\n        (isObjectLike(value) && baseGetTag(value) == boolTag);\n    }\n\n    /**\n     * Checks if `value` is a buffer.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.3.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n     * @example\n     *\n     * _.isBuffer(new Buffer(2));\n     * // => true\n     *\n     * _.isBuffer(new Uint8Array(2));\n     * // => false\n     */\n    var isBuffer = nativeIsBuffer || stubFalse;\n\n    /**\n     * Checks if `value` is classified as a `Date` object.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n     * @example\n     *\n     * _.isDate(new Date);\n     * // => true\n     *\n     * _.isDate('Mon April 23 2012');\n     * // => false\n     */\n    var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\n    /**\n     * Checks if `value` is likely a DOM element.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.\n     * @example\n     *\n     * _.isElement(document.body);\n     * // => true\n     *\n     * _.isElement('<body>');\n     * // => false\n     */\n    function isElement(value) {\n      return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);\n    }\n\n    /**\n     * Checks if `value` is an empty object, collection, map, or set.\n     *\n     * Objects are considered empty if they have no own enumerable string keyed\n     * properties.\n     *\n     * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n     * jQuery-like collections are considered empty if they have a `length` of `0`.\n     * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n     * @example\n     *\n     * _.isEmpty(null);\n     * // => true\n     *\n     * _.isEmpty(true);\n     * // => true\n     *\n     * _.isEmpty(1);\n     * // => true\n     *\n     * _.isEmpty([1, 2, 3]);\n     * // => false\n     *\n     * _.isEmpty({ 'a': 1 });\n     * // => false\n     */\n    function isEmpty(value) {\n      if (value == null) {\n        return true;\n      }\n      if (isArrayLike(value) &&\n          (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n            isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n        return !value.length;\n      }\n      var tag = getTag(value);\n      if (tag == mapTag || tag == setTag) {\n        return !value.size;\n      }\n      if (isPrototype(value)) {\n        return !baseKeys(value).length;\n      }\n      for (var key in value) {\n        if (hasOwnProperty.call(value, key)) {\n          return false;\n        }\n      }\n      return true;\n    }\n\n    /**\n     * Performs a deep comparison between two values to determine if they are\n     * equivalent.\n     *\n     * **Note:** This method supports comparing arrays, array buffers, booleans,\n     * date objects, error objects, maps, numbers, `Object` objects, regexes,\n     * sets, strings, symbols, and typed arrays. `Object` objects are compared\n     * by their own, not inherited, enumerable properties. Functions and DOM\n     * nodes are compared by strict equality, i.e. `===`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to compare.\n     * @param {*} other The other value to compare.\n     * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n     * @example\n     *\n     * var object = { 'a': 1 };\n     * var other = { 'a': 1 };\n     *\n     * _.isEqual(object, other);\n     * // => true\n     *\n     * object === other;\n     * // => false\n     */\n    function isEqual(value, other) {\n      return baseIsEqual(value, other);\n    }\n\n    /**\n     * This method is like `_.isEqual` except that it accepts `customizer` which\n     * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n     * are handled by the method instead. The `customizer` is invoked with up to\n     * six arguments: (objValue, othValue [, index|key, object, other, stack]).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to compare.\n     * @param {*} other The other value to compare.\n     * @param {Function} [customizer] The function to customize comparisons.\n     * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n     * @example\n     *\n     * function isGreeting(value) {\n     *   return /^h(?:i|ello)$/.test(value);\n     * }\n     *\n     * function customizer(objValue, othValue) {\n     *   if (isGreeting(objValue) && isGreeting(othValue)) {\n     *     return true;\n     *   }\n     * }\n     *\n     * var array = ['hello', 'goodbye'];\n     * var other = ['hi', 'goodbye'];\n     *\n     * _.isEqualWith(array, other, customizer);\n     * // => true\n     */\n    function isEqualWith(value, other, customizer) {\n      customizer = typeof customizer == 'function' ? customizer : undefined;\n      var result = customizer ? customizer(value, other) : undefined;\n      return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;\n    }\n\n    /**\n     * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n     * `SyntaxError`, `TypeError`, or `URIError` object.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is an error object, else `false`.\n     * @example\n     *\n     * _.isError(new Error);\n     * // => true\n     *\n     * _.isError(Error);\n     * // => false\n     */\n    function isError(value) {\n      if (!isObjectLike(value)) {\n        return false;\n      }\n      var tag = baseGetTag(value);\n      return tag == errorTag || tag == domExcTag ||\n        (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));\n    }\n\n    /**\n     * Checks if `value` is a finite primitive number.\n     *\n     * **Note:** This method is based on\n     * [`Number.isFinite`](https://mdn.io/Number/isFinite).\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.\n     * @example\n     *\n     * _.isFinite(3);\n     * // => true\n     *\n     * _.isFinite(Number.MIN_VALUE);\n     * // => true\n     *\n     * _.isFinite(Infinity);\n     * // => false\n     *\n     * _.isFinite('3');\n     * // => false\n     */\n    function isFinite(value) {\n      return typeof value == 'number' && nativeIsFinite(value);\n    }\n\n    /**\n     * Checks if `value` is classified as a `Function` object.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n     * @example\n     *\n     * _.isFunction(_);\n     * // => true\n     *\n     * _.isFunction(/abc/);\n     * // => false\n     */\n    function isFunction(value) {\n      if (!isObject(value)) {\n        return false;\n      }\n      // The use of `Object#toString` avoids issues with the `typeof` operator\n      // in Safari 9 which returns 'object' for typed arrays and other constructors.\n      var tag = baseGetTag(value);\n      return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n    }\n\n    /**\n     * Checks if `value` is an integer.\n     *\n     * **Note:** This method is based on\n     * [`Number.isInteger`](https://mdn.io/Number/isInteger).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is an integer, else `false`.\n     * @example\n     *\n     * _.isInteger(3);\n     * // => true\n     *\n     * _.isInteger(Number.MIN_VALUE);\n     * // => false\n     *\n     * _.isInteger(Infinity);\n     * // => false\n     *\n     * _.isInteger('3');\n     * // => false\n     */\n    function isInteger(value) {\n      return typeof value == 'number' && value == toInteger(value);\n    }\n\n    /**\n     * Checks if `value` is a valid array-like length.\n     *\n     * **Note:** This method is loosely based on\n     * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n     * @example\n     *\n     * _.isLength(3);\n     * // => true\n     *\n     * _.isLength(Number.MIN_VALUE);\n     * // => false\n     *\n     * _.isLength(Infinity);\n     * // => false\n     *\n     * _.isLength('3');\n     * // => false\n     */\n    function isLength(value) {\n      return typeof value == 'number' &&\n        value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n    }\n\n    /**\n     * Checks if `value` is the\n     * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n     * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n     * @example\n     *\n     * _.isObject({});\n     * // => true\n     *\n     * _.isObject([1, 2, 3]);\n     * // => true\n     *\n     * _.isObject(_.noop);\n     * // => true\n     *\n     * _.isObject(null);\n     * // => false\n     */\n    function isObject(value) {\n      var type = typeof value;\n      return value != null && (type == 'object' || type == 'function');\n    }\n\n    /**\n     * Checks if `value` is object-like. A value is object-like if it's not `null`\n     * and has a `typeof` result of \"object\".\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n     * @example\n     *\n     * _.isObjectLike({});\n     * // => true\n     *\n     * _.isObjectLike([1, 2, 3]);\n     * // => true\n     *\n     * _.isObjectLike(_.noop);\n     * // => false\n     *\n     * _.isObjectLike(null);\n     * // => false\n     */\n    function isObjectLike(value) {\n      return value != null && typeof value == 'object';\n    }\n\n    /**\n     * Checks if `value` is classified as a `Map` object.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.3.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n     * @example\n     *\n     * _.isMap(new Map);\n     * // => true\n     *\n     * _.isMap(new WeakMap);\n     * // => false\n     */\n    var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\n    /**\n     * Performs a partial deep comparison between `object` and `source` to\n     * determine if `object` contains equivalent property values.\n     *\n     * **Note:** This method is equivalent to `_.matches` when `source` is\n     * partially applied.\n     *\n     * Partial comparisons will match empty array and empty object `source`\n     * values against any array or object value, respectively. See `_.isEqual`\n     * for a list of supported value comparisons.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Lang\n     * @param {Object} object The object to inspect.\n     * @param {Object} source The object of property values to match.\n     * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n     * @example\n     *\n     * var object = { 'a': 1, 'b': 2 };\n     *\n     * _.isMatch(object, { 'b': 2 });\n     * // => true\n     *\n     * _.isMatch(object, { 'b': 1 });\n     * // => false\n     */\n    function isMatch(object, source) {\n      return object === source || baseIsMatch(object, source, getMatchData(source));\n    }\n\n    /**\n     * This method is like `_.isMatch` except that it accepts `customizer` which\n     * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n     * are handled by the method instead. The `customizer` is invoked with five\n     * arguments: (objValue, srcValue, index|key, object, source).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {Object} object The object to inspect.\n     * @param {Object} source The object of property values to match.\n     * @param {Function} [customizer] The function to customize comparisons.\n     * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n     * @example\n     *\n     * function isGreeting(value) {\n     *   return /^h(?:i|ello)$/.test(value);\n     * }\n     *\n     * function customizer(objValue, srcValue) {\n     *   if (isGreeting(objValue) && isGreeting(srcValue)) {\n     *     return true;\n     *   }\n     * }\n     *\n     * var object = { 'greeting': 'hello' };\n     * var source = { 'greeting': 'hi' };\n     *\n     * _.isMatchWith(object, source, customizer);\n     * // => true\n     */\n    function isMatchWith(object, source, customizer) {\n      customizer = typeof customizer == 'function' ? customizer : undefined;\n      return baseIsMatch(object, source, getMatchData(source), customizer);\n    }\n\n    /**\n     * Checks if `value` is `NaN`.\n     *\n     * **Note:** This method is based on\n     * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n     * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n     * `undefined` and other non-number values.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n     * @example\n     *\n     * _.isNaN(NaN);\n     * // => true\n     *\n     * _.isNaN(new Number(NaN));\n     * // => true\n     *\n     * isNaN(undefined);\n     * // => true\n     *\n     * _.isNaN(undefined);\n     * // => false\n     */\n    function isNaN(value) {\n      // An `NaN` primitive is the only value that is not equal to itself.\n      // Perform the `toStringTag` check first to avoid errors with some\n      // ActiveX objects in IE.\n      return isNumber(value) && value != +value;\n    }\n\n    /**\n     * Checks if `value` is a pristine native function.\n     *\n     * **Note:** This method can't reliably detect native functions in the presence\n     * of the core-js package because core-js circumvents this kind of detection.\n     * Despite multiple requests, the core-js maintainer has made it clear: any\n     * attempt to fix the detection will be obstructed. As a result, we're left\n     * with little choice but to throw an error. Unfortunately, this also affects\n     * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),\n     * which rely on core-js.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a native function,\n     *  else `false`.\n     * @example\n     *\n     * _.isNative(Array.prototype.push);\n     * // => true\n     *\n     * _.isNative(_);\n     * // => false\n     */\n    function isNative(value) {\n      if (isMaskable(value)) {\n        throw new Error(CORE_ERROR_TEXT);\n      }\n      return baseIsNative(value);\n    }\n\n    /**\n     * Checks if `value` is `null`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is `null`, else `false`.\n     * @example\n     *\n     * _.isNull(null);\n     * // => true\n     *\n     * _.isNull(void 0);\n     * // => false\n     */\n    function isNull(value) {\n      return value === null;\n    }\n\n    /**\n     * Checks if `value` is `null` or `undefined`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n     * @example\n     *\n     * _.isNil(null);\n     * // => true\n     *\n     * _.isNil(void 0);\n     * // => true\n     *\n     * _.isNil(NaN);\n     * // => false\n     */\n    function isNil(value) {\n      return value == null;\n    }\n\n    /**\n     * Checks if `value` is classified as a `Number` primitive or object.\n     *\n     * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n     * classified as numbers, use the `_.isFinite` method.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n     * @example\n     *\n     * _.isNumber(3);\n     * // => true\n     *\n     * _.isNumber(Number.MIN_VALUE);\n     * // => true\n     *\n     * _.isNumber(Infinity);\n     * // => true\n     *\n     * _.isNumber('3');\n     * // => false\n     */\n    function isNumber(value) {\n      return typeof value == 'number' ||\n        (isObjectLike(value) && baseGetTag(value) == numberTag);\n    }\n\n    /**\n     * Checks if `value` is a plain object, that is, an object created by the\n     * `Object` constructor or one with a `[[Prototype]]` of `null`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.8.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     * }\n     *\n     * _.isPlainObject(new Foo);\n     * // => false\n     *\n     * _.isPlainObject([1, 2, 3]);\n     * // => false\n     *\n     * _.isPlainObject({ 'x': 0, 'y': 0 });\n     * // => true\n     *\n     * _.isPlainObject(Object.create(null));\n     * // => true\n     */\n    function isPlainObject(value) {\n      if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n        return false;\n      }\n      var proto = getPrototype(value);\n      if (proto === null) {\n        return true;\n      }\n      var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n      return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n        funcToString.call(Ctor) == objectCtorString;\n    }\n\n    /**\n     * Checks if `value` is classified as a `RegExp` object.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.1.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n     * @example\n     *\n     * _.isRegExp(/abc/);\n     * // => true\n     *\n     * _.isRegExp('/abc/');\n     * // => false\n     */\n    var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\n    /**\n     * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754\n     * double precision number which isn't the result of a rounded unsafe integer.\n     *\n     * **Note:** This method is based on\n     * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`.\n     * @example\n     *\n     * _.isSafeInteger(3);\n     * // => true\n     *\n     * _.isSafeInteger(Number.MIN_VALUE);\n     * // => false\n     *\n     * _.isSafeInteger(Infinity);\n     * // => false\n     *\n     * _.isSafeInteger('3');\n     * // => false\n     */\n    function isSafeInteger(value) {\n      return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;\n    }\n\n    /**\n     * Checks if `value` is classified as a `Set` object.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.3.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n     * @example\n     *\n     * _.isSet(new Set);\n     * // => true\n     *\n     * _.isSet(new WeakSet);\n     * // => false\n     */\n    var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\n    /**\n     * Checks if `value` is classified as a `String` primitive or object.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n     * @example\n     *\n     * _.isString('abc');\n     * // => true\n     *\n     * _.isString(1);\n     * // => false\n     */\n    function isString(value) {\n      return typeof value == 'string' ||\n        (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n    }\n\n    /**\n     * Checks if `value` is classified as a `Symbol` primitive or object.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n     * @example\n     *\n     * _.isSymbol(Symbol.iterator);\n     * // => true\n     *\n     * _.isSymbol('abc');\n     * // => false\n     */\n    function isSymbol(value) {\n      return typeof value == 'symbol' ||\n        (isObjectLike(value) && baseGetTag(value) == symbolTag);\n    }\n\n    /**\n     * Checks if `value` is classified as a typed array.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n     * @example\n     *\n     * _.isTypedArray(new Uint8Array);\n     * // => true\n     *\n     * _.isTypedArray([]);\n     * // => false\n     */\n    var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n    /**\n     * Checks if `value` is `undefined`.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n     * @example\n     *\n     * _.isUndefined(void 0);\n     * // => true\n     *\n     * _.isUndefined(null);\n     * // => false\n     */\n    function isUndefined(value) {\n      return value === undefined;\n    }\n\n    /**\n     * Checks if `value` is classified as a `WeakMap` object.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.3.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a weak map, else `false`.\n     * @example\n     *\n     * _.isWeakMap(new WeakMap);\n     * // => true\n     *\n     * _.isWeakMap(new Map);\n     * // => false\n     */\n    function isWeakMap(value) {\n      return isObjectLike(value) && getTag(value) == weakMapTag;\n    }\n\n    /**\n     * Checks if `value` is classified as a `WeakSet` object.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.3.0\n     * @category Lang\n     * @param {*} value The value to check.\n     * @returns {boolean} Returns `true` if `value` is a weak set, else `false`.\n     * @example\n     *\n     * _.isWeakSet(new WeakSet);\n     * // => true\n     *\n     * _.isWeakSet(new Set);\n     * // => false\n     */\n    function isWeakSet(value) {\n      return isObjectLike(value) && baseGetTag(value) == weakSetTag;\n    }\n\n    /**\n     * Checks if `value` is less than `other`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.9.0\n     * @category Lang\n     * @param {*} value The value to compare.\n     * @param {*} other The other value to compare.\n     * @returns {boolean} Returns `true` if `value` is less than `other`,\n     *  else `false`.\n     * @see _.gt\n     * @example\n     *\n     * _.lt(1, 3);\n     * // => true\n     *\n     * _.lt(3, 3);\n     * // => false\n     *\n     * _.lt(3, 1);\n     * // => false\n     */\n    var lt = createRelationalOperation(baseLt);\n\n    /**\n     * Checks if `value` is less than or equal to `other`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.9.0\n     * @category Lang\n     * @param {*} value The value to compare.\n     * @param {*} other The other value to compare.\n     * @returns {boolean} Returns `true` if `value` is less than or equal to\n     *  `other`, else `false`.\n     * @see _.gte\n     * @example\n     *\n     * _.lte(1, 3);\n     * // => true\n     *\n     * _.lte(3, 3);\n     * // => true\n     *\n     * _.lte(3, 1);\n     * // => false\n     */\n    var lte = createRelationalOperation(function(value, other) {\n      return value <= other;\n    });\n\n    /**\n     * Converts `value` to an array.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Lang\n     * @param {*} value The value to convert.\n     * @returns {Array} Returns the converted array.\n     * @example\n     *\n     * _.toArray({ 'a': 1, 'b': 2 });\n     * // => [1, 2]\n     *\n     * _.toArray('abc');\n     * // => ['a', 'b', 'c']\n     *\n     * _.toArray(1);\n     * // => []\n     *\n     * _.toArray(null);\n     * // => []\n     */\n    function toArray(value) {\n      if (!value) {\n        return [];\n      }\n      if (isArrayLike(value)) {\n        return isString(value) ? stringToArray(value) : copyArray(value);\n      }\n      if (symIterator && value[symIterator]) {\n        return iteratorToArray(value[symIterator]());\n      }\n      var tag = getTag(value),\n          func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values);\n\n      return func(value);\n    }\n\n    /**\n     * Converts `value` to a finite number.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.12.0\n     * @category Lang\n     * @param {*} value The value to convert.\n     * @returns {number} Returns the converted number.\n     * @example\n     *\n     * _.toFinite(3.2);\n     * // => 3.2\n     *\n     * _.toFinite(Number.MIN_VALUE);\n     * // => 5e-324\n     *\n     * _.toFinite(Infinity);\n     * // => 1.7976931348623157e+308\n     *\n     * _.toFinite('3.2');\n     * // => 3.2\n     */\n    function toFinite(value) {\n      if (!value) {\n        return value === 0 ? value : 0;\n      }\n      value = toNumber(value);\n      if (value === INFINITY || value === -INFINITY) {\n        var sign = (value < 0 ? -1 : 1);\n        return sign * MAX_INTEGER;\n      }\n      return value === value ? value : 0;\n    }\n\n    /**\n     * Converts `value` to an integer.\n     *\n     * **Note:** This method is loosely based on\n     * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to convert.\n     * @returns {number} Returns the converted integer.\n     * @example\n     *\n     * _.toInteger(3.2);\n     * // => 3\n     *\n     * _.toInteger(Number.MIN_VALUE);\n     * // => 0\n     *\n     * _.toInteger(Infinity);\n     * // => 1.7976931348623157e+308\n     *\n     * _.toInteger('3.2');\n     * // => 3\n     */\n    function toInteger(value) {\n      var result = toFinite(value),\n          remainder = result % 1;\n\n      return result === result ? (remainder ? result - remainder : result) : 0;\n    }\n\n    /**\n     * Converts `value` to an integer suitable for use as the length of an\n     * array-like object.\n     *\n     * **Note:** This method is based on\n     * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to convert.\n     * @returns {number} Returns the converted integer.\n     * @example\n     *\n     * _.toLength(3.2);\n     * // => 3\n     *\n     * _.toLength(Number.MIN_VALUE);\n     * // => 0\n     *\n     * _.toLength(Infinity);\n     * // => 4294967295\n     *\n     * _.toLength('3.2');\n     * // => 3\n     */\n    function toLength(value) {\n      return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;\n    }\n\n    /**\n     * Converts `value` to a number.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to process.\n     * @returns {number} Returns the number.\n     * @example\n     *\n     * _.toNumber(3.2);\n     * // => 3.2\n     *\n     * _.toNumber(Number.MIN_VALUE);\n     * // => 5e-324\n     *\n     * _.toNumber(Infinity);\n     * // => Infinity\n     *\n     * _.toNumber('3.2');\n     * // => 3.2\n     */\n    function toNumber(value) {\n      if (typeof value == 'number') {\n        return value;\n      }\n      if (isSymbol(value)) {\n        return NAN;\n      }\n      if (isObject(value)) {\n        var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n        value = isObject(other) ? (other + '') : other;\n      }\n      if (typeof value != 'string') {\n        return value === 0 ? value : +value;\n      }\n      value = baseTrim(value);\n      var isBinary = reIsBinary.test(value);\n      return (isBinary || reIsOctal.test(value))\n        ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n        : (reIsBadHex.test(value) ? NAN : +value);\n    }\n\n    /**\n     * Converts `value` to a plain object flattening inherited enumerable string\n     * keyed properties of `value` to own properties of the plain object.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Lang\n     * @param {*} value The value to convert.\n     * @returns {Object} Returns the converted plain object.\n     * @example\n     *\n     * function Foo() {\n     *   this.b = 2;\n     * }\n     *\n     * Foo.prototype.c = 3;\n     *\n     * _.assign({ 'a': 1 }, new Foo);\n     * // => { 'a': 1, 'b': 2 }\n     *\n     * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n     * // => { 'a': 1, 'b': 2, 'c': 3 }\n     */\n    function toPlainObject(value) {\n      return copyObject(value, keysIn(value));\n    }\n\n    /**\n     * Converts `value` to a safe integer. A safe integer can be compared and\n     * represented correctly.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to convert.\n     * @returns {number} Returns the converted integer.\n     * @example\n     *\n     * _.toSafeInteger(3.2);\n     * // => 3\n     *\n     * _.toSafeInteger(Number.MIN_VALUE);\n     * // => 0\n     *\n     * _.toSafeInteger(Infinity);\n     * // => 9007199254740991\n     *\n     * _.toSafeInteger('3.2');\n     * // => 3\n     */\n    function toSafeInteger(value) {\n      return value\n        ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER)\n        : (value === 0 ? value : 0);\n    }\n\n    /**\n     * Converts `value` to a string. An empty string is returned for `null`\n     * and `undefined` values. The sign of `-0` is preserved.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Lang\n     * @param {*} value The value to convert.\n     * @returns {string} Returns the converted string.\n     * @example\n     *\n     * _.toString(null);\n     * // => ''\n     *\n     * _.toString(-0);\n     * // => '-0'\n     *\n     * _.toString([1, 2, 3]);\n     * // => '1,2,3'\n     */\n    function toString(value) {\n      return value == null ? '' : baseToString(value);\n    }\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Assigns own enumerable string keyed properties of source objects to the\n     * destination object. Source objects are applied from left to right.\n     * Subsequent sources overwrite property assignments of previous sources.\n     *\n     * **Note:** This method mutates `object` and is loosely based on\n     * [`Object.assign`](https://mdn.io/Object/assign).\n     *\n     * @static\n     * @memberOf _\n     * @since 0.10.0\n     * @category Object\n     * @param {Object} object The destination object.\n     * @param {...Object} [sources] The source objects.\n     * @returns {Object} Returns `object`.\n     * @see _.assignIn\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     * }\n     *\n     * function Bar() {\n     *   this.c = 3;\n     * }\n     *\n     * Foo.prototype.b = 2;\n     * Bar.prototype.d = 4;\n     *\n     * _.assign({ 'a': 0 }, new Foo, new Bar);\n     * // => { 'a': 1, 'c': 3 }\n     */\n    var assign = createAssigner(function(object, source) {\n      if (isPrototype(source) || isArrayLike(source)) {\n        copyObject(source, keys(source), object);\n        return;\n      }\n      for (var key in source) {\n        if (hasOwnProperty.call(source, key)) {\n          assignValue(object, key, source[key]);\n        }\n      }\n    });\n\n    /**\n     * This method is like `_.assign` except that it iterates over own and\n     * inherited source properties.\n     *\n     * **Note:** This method mutates `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @alias extend\n     * @category Object\n     * @param {Object} object The destination object.\n     * @param {...Object} [sources] The source objects.\n     * @returns {Object} Returns `object`.\n     * @see _.assign\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     * }\n     *\n     * function Bar() {\n     *   this.c = 3;\n     * }\n     *\n     * Foo.prototype.b = 2;\n     * Bar.prototype.d = 4;\n     *\n     * _.assignIn({ 'a': 0 }, new Foo, new Bar);\n     * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }\n     */\n    var assignIn = createAssigner(function(object, source) {\n      copyObject(source, keysIn(source), object);\n    });\n\n    /**\n     * This method is like `_.assignIn` except that it accepts `customizer`\n     * which is invoked to produce the assigned values. If `customizer` returns\n     * `undefined`, assignment is handled by the method instead. The `customizer`\n     * is invoked with five arguments: (objValue, srcValue, key, object, source).\n     *\n     * **Note:** This method mutates `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @alias extendWith\n     * @category Object\n     * @param {Object} object The destination object.\n     * @param {...Object} sources The source objects.\n     * @param {Function} [customizer] The function to customize assigned values.\n     * @returns {Object} Returns `object`.\n     * @see _.assignWith\n     * @example\n     *\n     * function customizer(objValue, srcValue) {\n     *   return _.isUndefined(objValue) ? srcValue : objValue;\n     * }\n     *\n     * var defaults = _.partialRight(_.assignInWith, customizer);\n     *\n     * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n     * // => { 'a': 1, 'b': 2 }\n     */\n    var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n      copyObject(source, keysIn(source), object, customizer);\n    });\n\n    /**\n     * This method is like `_.assign` except that it accepts `customizer`\n     * which is invoked to produce the assigned values. If `customizer` returns\n     * `undefined`, assignment is handled by the method instead. The `customizer`\n     * is invoked with five arguments: (objValue, srcValue, key, object, source).\n     *\n     * **Note:** This method mutates `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Object\n     * @param {Object} object The destination object.\n     * @param {...Object} sources The source objects.\n     * @param {Function} [customizer] The function to customize assigned values.\n     * @returns {Object} Returns `object`.\n     * @see _.assignInWith\n     * @example\n     *\n     * function customizer(objValue, srcValue) {\n     *   return _.isUndefined(objValue) ? srcValue : objValue;\n     * }\n     *\n     * var defaults = _.partialRight(_.assignWith, customizer);\n     *\n     * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n     * // => { 'a': 1, 'b': 2 }\n     */\n    var assignWith = createAssigner(function(object, source, srcIndex, customizer) {\n      copyObject(source, keys(source), object, customizer);\n    });\n\n    /**\n     * Creates an array of values corresponding to `paths` of `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 1.0.0\n     * @category Object\n     * @param {Object} object The object to iterate over.\n     * @param {...(string|string[])} [paths] The property paths to pick.\n     * @returns {Array} Returns the picked values.\n     * @example\n     *\n     * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n     *\n     * _.at(object, ['a[0].b.c', 'a[1]']);\n     * // => [3, 4]\n     */\n    var at = flatRest(baseAt);\n\n    /**\n     * Creates an object that inherits from the `prototype` object. If a\n     * `properties` object is given, its own enumerable string keyed properties\n     * are assigned to the created object.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.3.0\n     * @category Object\n     * @param {Object} prototype The object to inherit from.\n     * @param {Object} [properties] The properties to assign to the object.\n     * @returns {Object} Returns the new object.\n     * @example\n     *\n     * function Shape() {\n     *   this.x = 0;\n     *   this.y = 0;\n     * }\n     *\n     * function Circle() {\n     *   Shape.call(this);\n     * }\n     *\n     * Circle.prototype = _.create(Shape.prototype, {\n     *   'constructor': Circle\n     * });\n     *\n     * var circle = new Circle;\n     * circle instanceof Circle;\n     * // => true\n     *\n     * circle instanceof Shape;\n     * // => true\n     */\n    function create(prototype, properties) {\n      var result = baseCreate(prototype);\n      return properties == null ? result : baseAssign(result, properties);\n    }\n\n    /**\n     * Assigns own and inherited enumerable string keyed properties of source\n     * objects to the destination object for all destination properties that\n     * resolve to `undefined`. Source objects are applied from left to right.\n     * Once a property is set, additional values of the same property are ignored.\n     *\n     * **Note:** This method mutates `object`.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Object\n     * @param {Object} object The destination object.\n     * @param {...Object} [sources] The source objects.\n     * @returns {Object} Returns `object`.\n     * @see _.defaultsDeep\n     * @example\n     *\n     * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n     * // => { 'a': 1, 'b': 2 }\n     */\n    var defaults = baseRest(function(object, sources) {\n      object = Object(object);\n\n      var index = -1;\n      var length = sources.length;\n      var guard = length > 2 ? sources[2] : undefined;\n\n      if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n        length = 1;\n      }\n\n      while (++index < length) {\n        var source = sources[index];\n        var props = keysIn(source);\n        var propsIndex = -1;\n        var propsLength = props.length;\n\n        while (++propsIndex < propsLength) {\n          var key = props[propsIndex];\n          var value = object[key];\n\n          if (value === undefined ||\n              (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n            object[key] = source[key];\n          }\n        }\n      }\n\n      return object;\n    });\n\n    /**\n     * This method is like `_.defaults` except that it recursively assigns\n     * default properties.\n     *\n     * **Note:** This method mutates `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.10.0\n     * @category Object\n     * @param {Object} object The destination object.\n     * @param {...Object} [sources] The source objects.\n     * @returns {Object} Returns `object`.\n     * @see _.defaults\n     * @example\n     *\n     * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n     * // => { 'a': { 'b': 2, 'c': 3 } }\n     */\n    var defaultsDeep = baseRest(function(args) {\n      args.push(undefined, customDefaultsMerge);\n      return apply(mergeWith, undefined, args);\n    });\n\n    /**\n     * This method is like `_.find` except that it returns the key of the first\n     * element `predicate` returns truthy for instead of the element itself.\n     *\n     * @static\n     * @memberOf _\n     * @since 1.1.0\n     * @category Object\n     * @param {Object} object The object to inspect.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @returns {string|undefined} Returns the key of the matched element,\n     *  else `undefined`.\n     * @example\n     *\n     * var users = {\n     *   'barney':  { 'age': 36, 'active': true },\n     *   'fred':    { 'age': 40, 'active': false },\n     *   'pebbles': { 'age': 1,  'active': true }\n     * };\n     *\n     * _.findKey(users, function(o) { return o.age < 40; });\n     * // => 'barney' (iteration order is not guaranteed)\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.findKey(users, { 'age': 1, 'active': true });\n     * // => 'pebbles'\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.findKey(users, ['active', false]);\n     * // => 'fred'\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.findKey(users, 'active');\n     * // => 'barney'\n     */\n    function findKey(object, predicate) {\n      return baseFindKey(object, getIteratee(predicate, 3), baseForOwn);\n    }\n\n    /**\n     * This method is like `_.findKey` except that it iterates over elements of\n     * a collection in the opposite order.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.0.0\n     * @category Object\n     * @param {Object} object The object to inspect.\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n     * @returns {string|undefined} Returns the key of the matched element,\n     *  else `undefined`.\n     * @example\n     *\n     * var users = {\n     *   'barney':  { 'age': 36, 'active': true },\n     *   'fred':    { 'age': 40, 'active': false },\n     *   'pebbles': { 'age': 1,  'active': true }\n     * };\n     *\n     * _.findLastKey(users, function(o) { return o.age < 40; });\n     * // => returns 'pebbles' assuming `_.findKey` returns 'barney'\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.findLastKey(users, { 'age': 36, 'active': true });\n     * // => 'barney'\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.findLastKey(users, ['active', false]);\n     * // => 'fred'\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.findLastKey(users, 'active');\n     * // => 'pebbles'\n     */\n    function findLastKey(object, predicate) {\n      return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight);\n    }\n\n    /**\n     * Iterates over own and inherited enumerable string keyed properties of an\n     * object and invokes `iteratee` for each property. The iteratee is invoked\n     * with three arguments: (value, key, object). Iteratee functions may exit\n     * iteration early by explicitly returning `false`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.3.0\n     * @category Object\n     * @param {Object} object The object to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @returns {Object} Returns `object`.\n     * @see _.forInRight\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     *   this.b = 2;\n     * }\n     *\n     * Foo.prototype.c = 3;\n     *\n     * _.forIn(new Foo, function(value, key) {\n     *   console.log(key);\n     * });\n     * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).\n     */\n    function forIn(object, iteratee) {\n      return object == null\n        ? object\n        : baseFor(object, getIteratee(iteratee, 3), keysIn);\n    }\n\n    /**\n     * This method is like `_.forIn` except that it iterates over properties of\n     * `object` in the opposite order.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.0.0\n     * @category Object\n     * @param {Object} object The object to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @returns {Object} Returns `object`.\n     * @see _.forIn\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     *   this.b = 2;\n     * }\n     *\n     * Foo.prototype.c = 3;\n     *\n     * _.forInRight(new Foo, function(value, key) {\n     *   console.log(key);\n     * });\n     * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.\n     */\n    function forInRight(object, iteratee) {\n      return object == null\n        ? object\n        : baseForRight(object, getIteratee(iteratee, 3), keysIn);\n    }\n\n    /**\n     * Iterates over own enumerable string keyed properties of an object and\n     * invokes `iteratee` for each property. The iteratee is invoked with three\n     * arguments: (value, key, object). Iteratee functions may exit iteration\n     * early by explicitly returning `false`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.3.0\n     * @category Object\n     * @param {Object} object The object to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @returns {Object} Returns `object`.\n     * @see _.forOwnRight\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     *   this.b = 2;\n     * }\n     *\n     * Foo.prototype.c = 3;\n     *\n     * _.forOwn(new Foo, function(value, key) {\n     *   console.log(key);\n     * });\n     * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n     */\n    function forOwn(object, iteratee) {\n      return object && baseForOwn(object, getIteratee(iteratee, 3));\n    }\n\n    /**\n     * This method is like `_.forOwn` except that it iterates over properties of\n     * `object` in the opposite order.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.0.0\n     * @category Object\n     * @param {Object} object The object to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @returns {Object} Returns `object`.\n     * @see _.forOwn\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     *   this.b = 2;\n     * }\n     *\n     * Foo.prototype.c = 3;\n     *\n     * _.forOwnRight(new Foo, function(value, key) {\n     *   console.log(key);\n     * });\n     * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.\n     */\n    function forOwnRight(object, iteratee) {\n      return object && baseForOwnRight(object, getIteratee(iteratee, 3));\n    }\n\n    /**\n     * Creates an array of function property names from own enumerable properties\n     * of `object`.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Object\n     * @param {Object} object The object to inspect.\n     * @returns {Array} Returns the function names.\n     * @see _.functionsIn\n     * @example\n     *\n     * function Foo() {\n     *   this.a = _.constant('a');\n     *   this.b = _.constant('b');\n     * }\n     *\n     * Foo.prototype.c = _.constant('c');\n     *\n     * _.functions(new Foo);\n     * // => ['a', 'b']\n     */\n    function functions(object) {\n      return object == null ? [] : baseFunctions(object, keys(object));\n    }\n\n    /**\n     * Creates an array of function property names from own and inherited\n     * enumerable properties of `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Object\n     * @param {Object} object The object to inspect.\n     * @returns {Array} Returns the function names.\n     * @see _.functions\n     * @example\n     *\n     * function Foo() {\n     *   this.a = _.constant('a');\n     *   this.b = _.constant('b');\n     * }\n     *\n     * Foo.prototype.c = _.constant('c');\n     *\n     * _.functionsIn(new Foo);\n     * // => ['a', 'b', 'c']\n     */\n    function functionsIn(object) {\n      return object == null ? [] : baseFunctions(object, keysIn(object));\n    }\n\n    /**\n     * Gets the value at `path` of `object`. If the resolved value is\n     * `undefined`, the `defaultValue` is returned in its place.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.7.0\n     * @category Object\n     * @param {Object} object The object to query.\n     * @param {Array|string} path The path of the property to get.\n     * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n     * @returns {*} Returns the resolved value.\n     * @example\n     *\n     * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n     *\n     * _.get(object, 'a[0].b.c');\n     * // => 3\n     *\n     * _.get(object, ['a', '0', 'b', 'c']);\n     * // => 3\n     *\n     * _.get(object, 'a.b.c', 'default');\n     * // => 'default'\n     */\n    function get(object, path, defaultValue) {\n      var result = object == null ? undefined : baseGet(object, path);\n      return result === undefined ? defaultValue : result;\n    }\n\n    /**\n     * Checks if `path` is a direct property of `object`.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Object\n     * @param {Object} object The object to query.\n     * @param {Array|string} path The path to check.\n     * @returns {boolean} Returns `true` if `path` exists, else `false`.\n     * @example\n     *\n     * var object = { 'a': { 'b': 2 } };\n     * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n     *\n     * _.has(object, 'a');\n     * // => true\n     *\n     * _.has(object, 'a.b');\n     * // => true\n     *\n     * _.has(object, ['a', 'b']);\n     * // => true\n     *\n     * _.has(other, 'a');\n     * // => false\n     */\n    function has(object, path) {\n      return object != null && hasPath(object, path, baseHas);\n    }\n\n    /**\n     * Checks if `path` is a direct or inherited property of `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Object\n     * @param {Object} object The object to query.\n     * @param {Array|string} path The path to check.\n     * @returns {boolean} Returns `true` if `path` exists, else `false`.\n     * @example\n     *\n     * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n     *\n     * _.hasIn(object, 'a');\n     * // => true\n     *\n     * _.hasIn(object, 'a.b');\n     * // => true\n     *\n     * _.hasIn(object, ['a', 'b']);\n     * // => true\n     *\n     * _.hasIn(object, 'b');\n     * // => false\n     */\n    function hasIn(object, path) {\n      return object != null && hasPath(object, path, baseHasIn);\n    }\n\n    /**\n     * Creates an object composed of the inverted keys and values of `object`.\n     * If `object` contains duplicate values, subsequent values overwrite\n     * property assignments of previous values.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.7.0\n     * @category Object\n     * @param {Object} object The object to invert.\n     * @returns {Object} Returns the new inverted object.\n     * @example\n     *\n     * var object = { 'a': 1, 'b': 2, 'c': 1 };\n     *\n     * _.invert(object);\n     * // => { '1': 'c', '2': 'b' }\n     */\n    var invert = createInverter(function(result, value, key) {\n      if (value != null &&\n          typeof value.toString != 'function') {\n        value = nativeObjectToString.call(value);\n      }\n\n      result[value] = key;\n    }, constant(identity));\n\n    /**\n     * This method is like `_.invert` except that the inverted object is generated\n     * from the results of running each element of `object` thru `iteratee`. The\n     * corresponding inverted value of each inverted key is an array of keys\n     * responsible for generating the inverted value. The iteratee is invoked\n     * with one argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.1.0\n     * @category Object\n     * @param {Object} object The object to invert.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {Object} Returns the new inverted object.\n     * @example\n     *\n     * var object = { 'a': 1, 'b': 2, 'c': 1 };\n     *\n     * _.invertBy(object);\n     * // => { '1': ['a', 'c'], '2': ['b'] }\n     *\n     * _.invertBy(object, function(value) {\n     *   return 'group' + value;\n     * });\n     * // => { 'group1': ['a', 'c'], 'group2': ['b'] }\n     */\n    var invertBy = createInverter(function(result, value, key) {\n      if (value != null &&\n          typeof value.toString != 'function') {\n        value = nativeObjectToString.call(value);\n      }\n\n      if (hasOwnProperty.call(result, value)) {\n        result[value].push(key);\n      } else {\n        result[value] = [key];\n      }\n    }, getIteratee);\n\n    /**\n     * Invokes the method at `path` of `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Object\n     * @param {Object} object The object to query.\n     * @param {Array|string} path The path of the method to invoke.\n     * @param {...*} [args] The arguments to invoke the method with.\n     * @returns {*} Returns the result of the invoked method.\n     * @example\n     *\n     * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\n     *\n     * _.invoke(object, 'a[0].b.c.slice', 1, 3);\n     * // => [2, 3]\n     */\n    var invoke = baseRest(baseInvoke);\n\n    /**\n     * Creates an array of the own enumerable property names of `object`.\n     *\n     * **Note:** Non-object values are coerced to objects. See the\n     * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n     * for more details.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Object\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the array of property names.\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     *   this.b = 2;\n     * }\n     *\n     * Foo.prototype.c = 3;\n     *\n     * _.keys(new Foo);\n     * // => ['a', 'b'] (iteration order is not guaranteed)\n     *\n     * _.keys('hi');\n     * // => ['0', '1']\n     */\n    function keys(object) {\n      return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n    }\n\n    /**\n     * Creates an array of the own and inherited enumerable property names of `object`.\n     *\n     * **Note:** Non-object values are coerced to objects.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Object\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the array of property names.\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     *   this.b = 2;\n     * }\n     *\n     * Foo.prototype.c = 3;\n     *\n     * _.keysIn(new Foo);\n     * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n     */\n    function keysIn(object) {\n      return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n    }\n\n    /**\n     * The opposite of `_.mapValues`; this method creates an object with the\n     * same values as `object` and keys generated by running each own enumerable\n     * string keyed property of `object` thru `iteratee`. The iteratee is invoked\n     * with three arguments: (value, key, object).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.8.0\n     * @category Object\n     * @param {Object} object The object to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @returns {Object} Returns the new mapped object.\n     * @see _.mapValues\n     * @example\n     *\n     * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {\n     *   return key + value;\n     * });\n     * // => { 'a1': 1, 'b2': 2 }\n     */\n    function mapKeys(object, iteratee) {\n      var result = {};\n      iteratee = getIteratee(iteratee, 3);\n\n      baseForOwn(object, function(value, key, object) {\n        baseAssignValue(result, iteratee(value, key, object), value);\n      });\n      return result;\n    }\n\n    /**\n     * Creates an object with the same keys as `object` and values generated\n     * by running each own enumerable string keyed property of `object` thru\n     * `iteratee`. The iteratee is invoked with three arguments:\n     * (value, key, object).\n     *\n     * @static\n     * @memberOf _\n     * @since 2.4.0\n     * @category Object\n     * @param {Object} object The object to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @returns {Object} Returns the new mapped object.\n     * @see _.mapKeys\n     * @example\n     *\n     * var users = {\n     *   'fred':    { 'user': 'fred',    'age': 40 },\n     *   'pebbles': { 'user': 'pebbles', 'age': 1 }\n     * };\n     *\n     * _.mapValues(users, function(o) { return o.age; });\n     * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.mapValues(users, 'age');\n     * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n     */\n    function mapValues(object, iteratee) {\n      var result = {};\n      iteratee = getIteratee(iteratee, 3);\n\n      baseForOwn(object, function(value, key, object) {\n        baseAssignValue(result, key, iteratee(value, key, object));\n      });\n      return result;\n    }\n\n    /**\n     * This method is like `_.assign` except that it recursively merges own and\n     * inherited enumerable string keyed properties of source objects into the\n     * destination object. Source properties that resolve to `undefined` are\n     * skipped if a destination value exists. Array and plain object properties\n     * are merged recursively. Other objects and value types are overridden by\n     * assignment. Source objects are applied from left to right. Subsequent\n     * sources overwrite property assignments of previous sources.\n     *\n     * **Note:** This method mutates `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.5.0\n     * @category Object\n     * @param {Object} object The destination object.\n     * @param {...Object} [sources] The source objects.\n     * @returns {Object} Returns `object`.\n     * @example\n     *\n     * var object = {\n     *   'a': [{ 'b': 2 }, { 'd': 4 }]\n     * };\n     *\n     * var other = {\n     *   'a': [{ 'c': 3 }, { 'e': 5 }]\n     * };\n     *\n     * _.merge(object, other);\n     * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n     */\n    var merge = createAssigner(function(object, source, srcIndex) {\n      baseMerge(object, source, srcIndex);\n    });\n\n    /**\n     * This method is like `_.merge` except that it accepts `customizer` which\n     * is invoked to produce the merged values of the destination and source\n     * properties. If `customizer` returns `undefined`, merging is handled by the\n     * method instead. The `customizer` is invoked with six arguments:\n     * (objValue, srcValue, key, object, source, stack).\n     *\n     * **Note:** This method mutates `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Object\n     * @param {Object} object The destination object.\n     * @param {...Object} sources The source objects.\n     * @param {Function} customizer The function to customize assigned values.\n     * @returns {Object} Returns `object`.\n     * @example\n     *\n     * function customizer(objValue, srcValue) {\n     *   if (_.isArray(objValue)) {\n     *     return objValue.concat(srcValue);\n     *   }\n     * }\n     *\n     * var object = { 'a': [1], 'b': [2] };\n     * var other = { 'a': [3], 'b': [4] };\n     *\n     * _.mergeWith(object, other, customizer);\n     * // => { 'a': [1, 3], 'b': [2, 4] }\n     */\n    var mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n      baseMerge(object, source, srcIndex, customizer);\n    });\n\n    /**\n     * The opposite of `_.pick`; this method creates an object composed of the\n     * own and inherited enumerable property paths of `object` that are not omitted.\n     *\n     * **Note:** This method is considerably slower than `_.pick`.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Object\n     * @param {Object} object The source object.\n     * @param {...(string|string[])} [paths] The property paths to omit.\n     * @returns {Object} Returns the new object.\n     * @example\n     *\n     * var object = { 'a': 1, 'b': '2', 'c': 3 };\n     *\n     * _.omit(object, ['a', 'c']);\n     * // => { 'b': '2' }\n     */\n    var omit = flatRest(function(object, paths) {\n      var result = {};\n      if (object == null) {\n        return result;\n      }\n      var isDeep = false;\n      paths = arrayMap(paths, function(path) {\n        path = castPath(path, object);\n        isDeep || (isDeep = path.length > 1);\n        return path;\n      });\n      copyObject(object, getAllKeysIn(object), result);\n      if (isDeep) {\n        result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n      }\n      var length = paths.length;\n      while (length--) {\n        baseUnset(result, paths[length]);\n      }\n      return result;\n    });\n\n    /**\n     * The opposite of `_.pickBy`; this method creates an object composed of\n     * the own and inherited enumerable string keyed properties of `object` that\n     * `predicate` doesn't return truthy for. The predicate is invoked with two\n     * arguments: (value, key).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Object\n     * @param {Object} object The source object.\n     * @param {Function} [predicate=_.identity] The function invoked per property.\n     * @returns {Object} Returns the new object.\n     * @example\n     *\n     * var object = { 'a': 1, 'b': '2', 'c': 3 };\n     *\n     * _.omitBy(object, _.isNumber);\n     * // => { 'b': '2' }\n     */\n    function omitBy(object, predicate) {\n      return pickBy(object, negate(getIteratee(predicate)));\n    }\n\n    /**\n     * Creates an object composed of the picked `object` properties.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Object\n     * @param {Object} object The source object.\n     * @param {...(string|string[])} [paths] The property paths to pick.\n     * @returns {Object} Returns the new object.\n     * @example\n     *\n     * var object = { 'a': 1, 'b': '2', 'c': 3 };\n     *\n     * _.pick(object, ['a', 'c']);\n     * // => { 'a': 1, 'c': 3 }\n     */\n    var pick = flatRest(function(object, paths) {\n      return object == null ? {} : basePick(object, paths);\n    });\n\n    /**\n     * Creates an object composed of the `object` properties `predicate` returns\n     * truthy for. The predicate is invoked with two arguments: (value, key).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Object\n     * @param {Object} object The source object.\n     * @param {Function} [predicate=_.identity] The function invoked per property.\n     * @returns {Object} Returns the new object.\n     * @example\n     *\n     * var object = { 'a': 1, 'b': '2', 'c': 3 };\n     *\n     * _.pickBy(object, _.isNumber);\n     * // => { 'a': 1, 'c': 3 }\n     */\n    function pickBy(object, predicate) {\n      if (object == null) {\n        return {};\n      }\n      var props = arrayMap(getAllKeysIn(object), function(prop) {\n        return [prop];\n      });\n      predicate = getIteratee(predicate);\n      return basePickBy(object, props, function(value, path) {\n        return predicate(value, path[0]);\n      });\n    }\n\n    /**\n     * This method is like `_.get` except that if the resolved value is a\n     * function it's invoked with the `this` binding of its parent object and\n     * its result is returned.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Object\n     * @param {Object} object The object to query.\n     * @param {Array|string} path The path of the property to resolve.\n     * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n     * @returns {*} Returns the resolved value.\n     * @example\n     *\n     * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };\n     *\n     * _.result(object, 'a[0].b.c1');\n     * // => 3\n     *\n     * _.result(object, 'a[0].b.c2');\n     * // => 4\n     *\n     * _.result(object, 'a[0].b.c3', 'default');\n     * // => 'default'\n     *\n     * _.result(object, 'a[0].b.c3', _.constant('default'));\n     * // => 'default'\n     */\n    function result(object, path, defaultValue) {\n      path = castPath(path, object);\n\n      var index = -1,\n          length = path.length;\n\n      // Ensure the loop is entered when path is empty.\n      if (!length) {\n        length = 1;\n        object = undefined;\n      }\n      while (++index < length) {\n        var value = object == null ? undefined : object[toKey(path[index])];\n        if (value === undefined) {\n          index = length;\n          value = defaultValue;\n        }\n        object = isFunction(value) ? value.call(object) : value;\n      }\n      return object;\n    }\n\n    /**\n     * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n     * it's created. Arrays are created for missing index properties while objects\n     * are created for all other missing properties. Use `_.setWith` to customize\n     * `path` creation.\n     *\n     * **Note:** This method mutates `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.7.0\n     * @category Object\n     * @param {Object} object The object to modify.\n     * @param {Array|string} path The path of the property to set.\n     * @param {*} value The value to set.\n     * @returns {Object} Returns `object`.\n     * @example\n     *\n     * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n     *\n     * _.set(object, 'a[0].b.c', 4);\n     * console.log(object.a[0].b.c);\n     * // => 4\n     *\n     * _.set(object, ['x', '0', 'y', 'z'], 5);\n     * console.log(object.x[0].y.z);\n     * // => 5\n     */\n    function set(object, path, value) {\n      return object == null ? object : baseSet(object, path, value);\n    }\n\n    /**\n     * This method is like `_.set` except that it accepts `customizer` which is\n     * invoked to produce the objects of `path`.  If `customizer` returns `undefined`\n     * path creation is handled by the method instead. The `customizer` is invoked\n     * with three arguments: (nsValue, key, nsObject).\n     *\n     * **Note:** This method mutates `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Object\n     * @param {Object} object The object to modify.\n     * @param {Array|string} path The path of the property to set.\n     * @param {*} value The value to set.\n     * @param {Function} [customizer] The function to customize assigned values.\n     * @returns {Object} Returns `object`.\n     * @example\n     *\n     * var object = {};\n     *\n     * _.setWith(object, '[0][1]', 'a', Object);\n     * // => { '0': { '1': 'a' } }\n     */\n    function setWith(object, path, value, customizer) {\n      customizer = typeof customizer == 'function' ? customizer : undefined;\n      return object == null ? object : baseSet(object, path, value, customizer);\n    }\n\n    /**\n     * Creates an array of own enumerable string keyed-value pairs for `object`\n     * which can be consumed by `_.fromPairs`. If `object` is a map or set, its\n     * entries are returned.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @alias entries\n     * @category Object\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the key-value pairs.\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     *   this.b = 2;\n     * }\n     *\n     * Foo.prototype.c = 3;\n     *\n     * _.toPairs(new Foo);\n     * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed)\n     */\n    var toPairs = createToPairs(keys);\n\n    /**\n     * Creates an array of own and inherited enumerable string keyed-value pairs\n     * for `object` which can be consumed by `_.fromPairs`. If `object` is a map\n     * or set, its entries are returned.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @alias entriesIn\n     * @category Object\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the key-value pairs.\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     *   this.b = 2;\n     * }\n     *\n     * Foo.prototype.c = 3;\n     *\n     * _.toPairsIn(new Foo);\n     * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed)\n     */\n    var toPairsIn = createToPairs(keysIn);\n\n    /**\n     * An alternative to `_.reduce`; this method transforms `object` to a new\n     * `accumulator` object which is the result of running each of its own\n     * enumerable string keyed properties thru `iteratee`, with each invocation\n     * potentially mutating the `accumulator` object. If `accumulator` is not\n     * provided, a new object with the same `[[Prototype]]` will be used. The\n     * iteratee is invoked with four arguments: (accumulator, value, key, object).\n     * Iteratee functions may exit iteration early by explicitly returning `false`.\n     *\n     * @static\n     * @memberOf _\n     * @since 1.3.0\n     * @category Object\n     * @param {Object} object The object to iterate over.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @param {*} [accumulator] The custom accumulator value.\n     * @returns {*} Returns the accumulated value.\n     * @example\n     *\n     * _.transform([2, 3, 4], function(result, n) {\n     *   result.push(n *= n);\n     *   return n % 2 == 0;\n     * }, []);\n     * // => [4, 9]\n     *\n     * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n     *   (result[value] || (result[value] = [])).push(key);\n     * }, {});\n     * // => { '1': ['a', 'c'], '2': ['b'] }\n     */\n    function transform(object, iteratee, accumulator) {\n      var isArr = isArray(object),\n          isArrLike = isArr || isBuffer(object) || isTypedArray(object);\n\n      iteratee = getIteratee(iteratee, 4);\n      if (accumulator == null) {\n        var Ctor = object && object.constructor;\n        if (isArrLike) {\n          accumulator = isArr ? new Ctor : [];\n        }\n        else if (isObject(object)) {\n          accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};\n        }\n        else {\n          accumulator = {};\n        }\n      }\n      (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) {\n        return iteratee(accumulator, value, index, object);\n      });\n      return accumulator;\n    }\n\n    /**\n     * Removes the property at `path` of `object`.\n     *\n     * **Note:** This method mutates `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Object\n     * @param {Object} object The object to modify.\n     * @param {Array|string} path The path of the property to unset.\n     * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n     * @example\n     *\n     * var object = { 'a': [{ 'b': { 'c': 7 } }] };\n     * _.unset(object, 'a[0].b.c');\n     * // => true\n     *\n     * console.log(object);\n     * // => { 'a': [{ 'b': {} }] };\n     *\n     * _.unset(object, ['a', '0', 'b', 'c']);\n     * // => true\n     *\n     * console.log(object);\n     * // => { 'a': [{ 'b': {} }] };\n     */\n    function unset(object, path) {\n      return object == null ? true : baseUnset(object, path);\n    }\n\n    /**\n     * This method is like `_.set` except that accepts `updater` to produce the\n     * value to set. Use `_.updateWith` to customize `path` creation. The `updater`\n     * is invoked with one argument: (value).\n     *\n     * **Note:** This method mutates `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.6.0\n     * @category Object\n     * @param {Object} object The object to modify.\n     * @param {Array|string} path The path of the property to set.\n     * @param {Function} updater The function to produce the updated value.\n     * @returns {Object} Returns `object`.\n     * @example\n     *\n     * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n     *\n     * _.update(object, 'a[0].b.c', function(n) { return n * n; });\n     * console.log(object.a[0].b.c);\n     * // => 9\n     *\n     * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; });\n     * console.log(object.x[0].y.z);\n     * // => 0\n     */\n    function update(object, path, updater) {\n      return object == null ? object : baseUpdate(object, path, castFunction(updater));\n    }\n\n    /**\n     * This method is like `_.update` except that it accepts `customizer` which is\n     * invoked to produce the objects of `path`.  If `customizer` returns `undefined`\n     * path creation is handled by the method instead. The `customizer` is invoked\n     * with three arguments: (nsValue, key, nsObject).\n     *\n     * **Note:** This method mutates `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.6.0\n     * @category Object\n     * @param {Object} object The object to modify.\n     * @param {Array|string} path The path of the property to set.\n     * @param {Function} updater The function to produce the updated value.\n     * @param {Function} [customizer] The function to customize assigned values.\n     * @returns {Object} Returns `object`.\n     * @example\n     *\n     * var object = {};\n     *\n     * _.updateWith(object, '[0][1]', _.constant('a'), Object);\n     * // => { '0': { '1': 'a' } }\n     */\n    function updateWith(object, path, updater, customizer) {\n      customizer = typeof customizer == 'function' ? customizer : undefined;\n      return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);\n    }\n\n    /**\n     * Creates an array of the own enumerable string keyed property values of `object`.\n     *\n     * **Note:** Non-object values are coerced to objects.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Object\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the array of property values.\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     *   this.b = 2;\n     * }\n     *\n     * Foo.prototype.c = 3;\n     *\n     * _.values(new Foo);\n     * // => [1, 2] (iteration order is not guaranteed)\n     *\n     * _.values('hi');\n     * // => ['h', 'i']\n     */\n    function values(object) {\n      return object == null ? [] : baseValues(object, keys(object));\n    }\n\n    /**\n     * Creates an array of the own and inherited enumerable string keyed property\n     * values of `object`.\n     *\n     * **Note:** Non-object values are coerced to objects.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Object\n     * @param {Object} object The object to query.\n     * @returns {Array} Returns the array of property values.\n     * @example\n     *\n     * function Foo() {\n     *   this.a = 1;\n     *   this.b = 2;\n     * }\n     *\n     * Foo.prototype.c = 3;\n     *\n     * _.valuesIn(new Foo);\n     * // => [1, 2, 3] (iteration order is not guaranteed)\n     */\n    function valuesIn(object) {\n      return object == null ? [] : baseValues(object, keysIn(object));\n    }\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Clamps `number` within the inclusive `lower` and `upper` bounds.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Number\n     * @param {number} number The number to clamp.\n     * @param {number} [lower] The lower bound.\n     * @param {number} upper The upper bound.\n     * @returns {number} Returns the clamped number.\n     * @example\n     *\n     * _.clamp(-10, -5, 5);\n     * // => -5\n     *\n     * _.clamp(10, -5, 5);\n     * // => 5\n     */\n    function clamp(number, lower, upper) {\n      if (upper === undefined) {\n        upper = lower;\n        lower = undefined;\n      }\n      if (upper !== undefined) {\n        upper = toNumber(upper);\n        upper = upper === upper ? upper : 0;\n      }\n      if (lower !== undefined) {\n        lower = toNumber(lower);\n        lower = lower === lower ? lower : 0;\n      }\n      return baseClamp(toNumber(number), lower, upper);\n    }\n\n    /**\n     * Checks if `n` is between `start` and up to, but not including, `end`. If\n     * `end` is not specified, it's set to `start` with `start` then set to `0`.\n     * If `start` is greater than `end` the params are swapped to support\n     * negative ranges.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.3.0\n     * @category Number\n     * @param {number} number The number to check.\n     * @param {number} [start=0] The start of the range.\n     * @param {number} end The end of the range.\n     * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n     * @see _.range, _.rangeRight\n     * @example\n     *\n     * _.inRange(3, 2, 4);\n     * // => true\n     *\n     * _.inRange(4, 8);\n     * // => true\n     *\n     * _.inRange(4, 2);\n     * // => false\n     *\n     * _.inRange(2, 2);\n     * // => false\n     *\n     * _.inRange(1.2, 2);\n     * // => true\n     *\n     * _.inRange(5.2, 4);\n     * // => false\n     *\n     * _.inRange(-3, -2, -6);\n     * // => true\n     */\n    function inRange(number, start, end) {\n      start = toFinite(start);\n      if (end === undefined) {\n        end = start;\n        start = 0;\n      } else {\n        end = toFinite(end);\n      }\n      number = toNumber(number);\n      return baseInRange(number, start, end);\n    }\n\n    /**\n     * Produces a random number between the inclusive `lower` and `upper` bounds.\n     * If only one argument is provided a number between `0` and the given number\n     * is returned. If `floating` is `true`, or either `lower` or `upper` are\n     * floats, a floating-point number is returned instead of an integer.\n     *\n     * **Note:** JavaScript follows the IEEE-754 standard for resolving\n     * floating-point values which can produce unexpected results.\n     *\n     * @static\n     * @memberOf _\n     * @since 0.7.0\n     * @category Number\n     * @param {number} [lower=0] The lower bound.\n     * @param {number} [upper=1] The upper bound.\n     * @param {boolean} [floating] Specify returning a floating-point number.\n     * @returns {number} Returns the random number.\n     * @example\n     *\n     * _.random(0, 5);\n     * // => an integer between 0 and 5\n     *\n     * _.random(5);\n     * // => also an integer between 0 and 5\n     *\n     * _.random(5, true);\n     * // => a floating-point number between 0 and 5\n     *\n     * _.random(1.2, 5.2);\n     * // => a floating-point number between 1.2 and 5.2\n     */\n    function random(lower, upper, floating) {\n      if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) {\n        upper = floating = undefined;\n      }\n      if (floating === undefined) {\n        if (typeof upper == 'boolean') {\n          floating = upper;\n          upper = undefined;\n        }\n        else if (typeof lower == 'boolean') {\n          floating = lower;\n          lower = undefined;\n        }\n      }\n      if (lower === undefined && upper === undefined) {\n        lower = 0;\n        upper = 1;\n      }\n      else {\n        lower = toFinite(lower);\n        if (upper === undefined) {\n          upper = lower;\n          lower = 0;\n        } else {\n          upper = toFinite(upper);\n        }\n      }\n      if (lower > upper) {\n        var temp = lower;\n        lower = upper;\n        upper = temp;\n      }\n      if (floating || lower % 1 || upper % 1) {\n        var rand = nativeRandom();\n        return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper);\n      }\n      return baseRandom(lower, upper);\n    }\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category String\n     * @param {string} [string=''] The string to convert.\n     * @returns {string} Returns the camel cased string.\n     * @example\n     *\n     * _.camelCase('Foo Bar');\n     * // => 'fooBar'\n     *\n     * _.camelCase('--foo-bar--');\n     * // => 'fooBar'\n     *\n     * _.camelCase('__FOO_BAR__');\n     * // => 'fooBar'\n     */\n    var camelCase = createCompounder(function(result, word, index) {\n      word = word.toLowerCase();\n      return result + (index ? capitalize(word) : word);\n    });\n\n    /**\n     * Converts the first character of `string` to upper case and the remaining\n     * to lower case.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category String\n     * @param {string} [string=''] The string to capitalize.\n     * @returns {string} Returns the capitalized string.\n     * @example\n     *\n     * _.capitalize('FRED');\n     * // => 'Fred'\n     */\n    function capitalize(string) {\n      return upperFirst(toString(string).toLowerCase());\n    }\n\n    /**\n     * Deburrs `string` by converting\n     * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n     * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n     * letters to basic Latin letters and removing\n     * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category String\n     * @param {string} [string=''] The string to deburr.\n     * @returns {string} Returns the deburred string.\n     * @example\n     *\n     * _.deburr('déjà vu');\n     * // => 'deja vu'\n     */\n    function deburr(string) {\n      string = toString(string);\n      return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n    }\n\n    /**\n     * Checks if `string` ends with the given target string.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category String\n     * @param {string} [string=''] The string to inspect.\n     * @param {string} [target] The string to search for.\n     * @param {number} [position=string.length] The position to search up to.\n     * @returns {boolean} Returns `true` if `string` ends with `target`,\n     *  else `false`.\n     * @example\n     *\n     * _.endsWith('abc', 'c');\n     * // => true\n     *\n     * _.endsWith('abc', 'b');\n     * // => false\n     *\n     * _.endsWith('abc', 'b', 2);\n     * // => true\n     */\n    function endsWith(string, target, position) {\n      string = toString(string);\n      target = baseToString(target);\n\n      var length = string.length;\n      position = position === undefined\n        ? length\n        : baseClamp(toInteger(position), 0, length);\n\n      var end = position;\n      position -= target.length;\n      return position >= 0 && string.slice(position, end) == target;\n    }\n\n    /**\n     * Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `string` to their\n     * corresponding HTML entities.\n     *\n     * **Note:** No other characters are escaped. To escape additional\n     * characters use a third-party library like [_he_](https://mths.be/he).\n     *\n     * Though the \">\" character is escaped for symmetry, characters like\n     * \">\" and \"/\" don't need escaping in HTML and have no special meaning\n     * unless they're part of a tag or unquoted attribute value. See\n     * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\n     * (under \"semi-related fun fact\") for more details.\n     *\n     * When working with HTML you should always\n     * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\n     * XSS vectors.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category String\n     * @param {string} [string=''] The string to escape.\n     * @returns {string} Returns the escaped string.\n     * @example\n     *\n     * _.escape('fred, barney, & pebbles');\n     * // => 'fred, barney, &amp; pebbles'\n     */\n    function escape(string) {\n      string = toString(string);\n      return (string && reHasUnescapedHtml.test(string))\n        ? string.replace(reUnescapedHtml, escapeHtmlChar)\n        : string;\n    }\n\n    /**\n     * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n     * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category String\n     * @param {string} [string=''] The string to escape.\n     * @returns {string} Returns the escaped string.\n     * @example\n     *\n     * _.escapeRegExp('[lodash](https://lodash.com/)');\n     * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n     */\n    function escapeRegExp(string) {\n      string = toString(string);\n      return (string && reHasRegExpChar.test(string))\n        ? string.replace(reRegExpChar, '\\\\$&')\n        : string;\n    }\n\n    /**\n     * Converts `string` to\n     * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category String\n     * @param {string} [string=''] The string to convert.\n     * @returns {string} Returns the kebab cased string.\n     * @example\n     *\n     * _.kebabCase('Foo Bar');\n     * // => 'foo-bar'\n     *\n     * _.kebabCase('fooBar');\n     * // => 'foo-bar'\n     *\n     * _.kebabCase('__FOO_BAR__');\n     * // => 'foo-bar'\n     */\n    var kebabCase = createCompounder(function(result, word, index) {\n      return result + (index ? '-' : '') + word.toLowerCase();\n    });\n\n    /**\n     * Converts `string`, as space separated words, to lower case.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to convert.\n     * @returns {string} Returns the lower cased string.\n     * @example\n     *\n     * _.lowerCase('--Foo-Bar--');\n     * // => 'foo bar'\n     *\n     * _.lowerCase('fooBar');\n     * // => 'foo bar'\n     *\n     * _.lowerCase('__FOO_BAR__');\n     * // => 'foo bar'\n     */\n    var lowerCase = createCompounder(function(result, word, index) {\n      return result + (index ? ' ' : '') + word.toLowerCase();\n    });\n\n    /**\n     * Converts the first character of `string` to lower case.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to convert.\n     * @returns {string} Returns the converted string.\n     * @example\n     *\n     * _.lowerFirst('Fred');\n     * // => 'fred'\n     *\n     * _.lowerFirst('FRED');\n     * // => 'fRED'\n     */\n    var lowerFirst = createCaseFirst('toLowerCase');\n\n    /**\n     * Pads `string` on the left and right sides if it's shorter than `length`.\n     * Padding characters are truncated if they can't be evenly divided by `length`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category String\n     * @param {string} [string=''] The string to pad.\n     * @param {number} [length=0] The padding length.\n     * @param {string} [chars=' '] The string used as padding.\n     * @returns {string} Returns the padded string.\n     * @example\n     *\n     * _.pad('abc', 8);\n     * // => '  abc   '\n     *\n     * _.pad('abc', 8, '_-');\n     * // => '_-abc_-_'\n     *\n     * _.pad('abc', 3);\n     * // => 'abc'\n     */\n    function pad(string, length, chars) {\n      string = toString(string);\n      length = toInteger(length);\n\n      var strLength = length ? stringSize(string) : 0;\n      if (!length || strLength >= length) {\n        return string;\n      }\n      var mid = (length - strLength) / 2;\n      return (\n        createPadding(nativeFloor(mid), chars) +\n        string +\n        createPadding(nativeCeil(mid), chars)\n      );\n    }\n\n    /**\n     * Pads `string` on the right side if it's shorter than `length`. Padding\n     * characters are truncated if they exceed `length`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to pad.\n     * @param {number} [length=0] The padding length.\n     * @param {string} [chars=' '] The string used as padding.\n     * @returns {string} Returns the padded string.\n     * @example\n     *\n     * _.padEnd('abc', 6);\n     * // => 'abc   '\n     *\n     * _.padEnd('abc', 6, '_-');\n     * // => 'abc_-_'\n     *\n     * _.padEnd('abc', 3);\n     * // => 'abc'\n     */\n    function padEnd(string, length, chars) {\n      string = toString(string);\n      length = toInteger(length);\n\n      var strLength = length ? stringSize(string) : 0;\n      return (length && strLength < length)\n        ? (string + createPadding(length - strLength, chars))\n        : string;\n    }\n\n    /**\n     * Pads `string` on the left side if it's shorter than `length`. Padding\n     * characters are truncated if they exceed `length`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to pad.\n     * @param {number} [length=0] The padding length.\n     * @param {string} [chars=' '] The string used as padding.\n     * @returns {string} Returns the padded string.\n     * @example\n     *\n     * _.padStart('abc', 6);\n     * // => '   abc'\n     *\n     * _.padStart('abc', 6, '_-');\n     * // => '_-_abc'\n     *\n     * _.padStart('abc', 3);\n     * // => 'abc'\n     */\n    function padStart(string, length, chars) {\n      string = toString(string);\n      length = toInteger(length);\n\n      var strLength = length ? stringSize(string) : 0;\n      return (length && strLength < length)\n        ? (createPadding(length - strLength, chars) + string)\n        : string;\n    }\n\n    /**\n     * Converts `string` to an integer of the specified radix. If `radix` is\n     * `undefined` or `0`, a `radix` of `10` is used unless `value` is a\n     * hexadecimal, in which case a `radix` of `16` is used.\n     *\n     * **Note:** This method aligns with the\n     * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.\n     *\n     * @static\n     * @memberOf _\n     * @since 1.1.0\n     * @category String\n     * @param {string} string The string to convert.\n     * @param {number} [radix=10] The radix to interpret `value` by.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {number} Returns the converted integer.\n     * @example\n     *\n     * _.parseInt('08');\n     * // => 8\n     *\n     * _.map(['6', '08', '10'], _.parseInt);\n     * // => [6, 8, 10]\n     */\n    function parseInt(string, radix, guard) {\n      if (guard || radix == null) {\n        radix = 0;\n      } else if (radix) {\n        radix = +radix;\n      }\n      return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0);\n    }\n\n    /**\n     * Repeats the given string `n` times.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category String\n     * @param {string} [string=''] The string to repeat.\n     * @param {number} [n=1] The number of times to repeat the string.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {string} Returns the repeated string.\n     * @example\n     *\n     * _.repeat('*', 3);\n     * // => '***'\n     *\n     * _.repeat('abc', 2);\n     * // => 'abcabc'\n     *\n     * _.repeat('abc', 0);\n     * // => ''\n     */\n    function repeat(string, n, guard) {\n      if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) {\n        n = 1;\n      } else {\n        n = toInteger(n);\n      }\n      return baseRepeat(toString(string), n);\n    }\n\n    /**\n     * Replaces matches for `pattern` in `string` with `replacement`.\n     *\n     * **Note:** This method is based on\n     * [`String#replace`](https://mdn.io/String/replace).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to modify.\n     * @param {RegExp|string} pattern The pattern to replace.\n     * @param {Function|string} replacement The match replacement.\n     * @returns {string} Returns the modified string.\n     * @example\n     *\n     * _.replace('Hi Fred', 'Fred', 'Barney');\n     * // => 'Hi Barney'\n     */\n    function replace() {\n      var args = arguments,\n          string = toString(args[0]);\n\n      return args.length < 3 ? string : string.replace(args[1], args[2]);\n    }\n\n    /**\n     * Converts `string` to\n     * [snake case](https://en.wikipedia.org/wiki/Snake_case).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category String\n     * @param {string} [string=''] The string to convert.\n     * @returns {string} Returns the snake cased string.\n     * @example\n     *\n     * _.snakeCase('Foo Bar');\n     * // => 'foo_bar'\n     *\n     * _.snakeCase('fooBar');\n     * // => 'foo_bar'\n     *\n     * _.snakeCase('--FOO-BAR--');\n     * // => 'foo_bar'\n     */\n    var snakeCase = createCompounder(function(result, word, index) {\n      return result + (index ? '_' : '') + word.toLowerCase();\n    });\n\n    /**\n     * Splits `string` by `separator`.\n     *\n     * **Note:** This method is based on\n     * [`String#split`](https://mdn.io/String/split).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to split.\n     * @param {RegExp|string} separator The separator pattern to split by.\n     * @param {number} [limit] The length to truncate results to.\n     * @returns {Array} Returns the string segments.\n     * @example\n     *\n     * _.split('a-b-c', '-', 2);\n     * // => ['a', 'b']\n     */\n    function split(string, separator, limit) {\n      if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {\n        separator = limit = undefined;\n      }\n      limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;\n      if (!limit) {\n        return [];\n      }\n      string = toString(string);\n      if (string && (\n            typeof separator == 'string' ||\n            (separator != null && !isRegExp(separator))\n          )) {\n        separator = baseToString(separator);\n        if (!separator && hasUnicode(string)) {\n          return castSlice(stringToArray(string), 0, limit);\n        }\n      }\n      return string.split(separator, limit);\n    }\n\n    /**\n     * Converts `string` to\n     * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\n     *\n     * @static\n     * @memberOf _\n     * @since 3.1.0\n     * @category String\n     * @param {string} [string=''] The string to convert.\n     * @returns {string} Returns the start cased string.\n     * @example\n     *\n     * _.startCase('--foo-bar--');\n     * // => 'Foo Bar'\n     *\n     * _.startCase('fooBar');\n     * // => 'Foo Bar'\n     *\n     * _.startCase('__FOO_BAR__');\n     * // => 'FOO BAR'\n     */\n    var startCase = createCompounder(function(result, word, index) {\n      return result + (index ? ' ' : '') + upperFirst(word);\n    });\n\n    /**\n     * Checks if `string` starts with the given target string.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category String\n     * @param {string} [string=''] The string to inspect.\n     * @param {string} [target] The string to search for.\n     * @param {number} [position=0] The position to search from.\n     * @returns {boolean} Returns `true` if `string` starts with `target`,\n     *  else `false`.\n     * @example\n     *\n     * _.startsWith('abc', 'a');\n     * // => true\n     *\n     * _.startsWith('abc', 'b');\n     * // => false\n     *\n     * _.startsWith('abc', 'b', 1);\n     * // => true\n     */\n    function startsWith(string, target, position) {\n      string = toString(string);\n      position = position == null\n        ? 0\n        : baseClamp(toInteger(position), 0, string.length);\n\n      target = baseToString(target);\n      return string.slice(position, position + target.length) == target;\n    }\n\n    /**\n     * Creates a compiled template function that can interpolate data properties\n     * in \"interpolate\" delimiters, HTML-escape interpolated data properties in\n     * \"escape\" delimiters, and execute JavaScript in \"evaluate\" delimiters. Data\n     * properties may be accessed as free variables in the template. If a setting\n     * object is given, it takes precedence over `_.templateSettings` values.\n     *\n     * **Note:** In the development build `_.template` utilizes\n     * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n     * for easier debugging.\n     *\n     * For more information on precompiling templates see\n     * [lodash's custom builds documentation](https://lodash.com/custom-builds).\n     *\n     * For more information on Chrome extension sandboxes see\n     * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category String\n     * @param {string} [string=''] The template string.\n     * @param {Object} [options={}] The options object.\n     * @param {RegExp} [options.escape=_.templateSettings.escape]\n     *  The HTML \"escape\" delimiter.\n     * @param {RegExp} [options.evaluate=_.templateSettings.evaluate]\n     *  The \"evaluate\" delimiter.\n     * @param {Object} [options.imports=_.templateSettings.imports]\n     *  An object to import into the template as free variables.\n     * @param {RegExp} [options.interpolate=_.templateSettings.interpolate]\n     *  The \"interpolate\" delimiter.\n     * @param {string} [options.sourceURL='lodash.templateSources[n]']\n     *  The sourceURL of the compiled template.\n     * @param {string} [options.variable='obj']\n     *  The data object variable name.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {Function} Returns the compiled template function.\n     * @example\n     *\n     * // Use the \"interpolate\" delimiter to create a compiled template.\n     * var compiled = _.template('hello <%= user %>!');\n     * compiled({ 'user': 'fred' });\n     * // => 'hello fred!'\n     *\n     * // Use the HTML \"escape\" delimiter to escape data property values.\n     * var compiled = _.template('<b><%- value %></b>');\n     * compiled({ 'value': '<script>' });\n     * // => '<b>&lt;script&gt;</b>'\n     *\n     * // Use the \"evaluate\" delimiter to execute JavaScript and generate HTML.\n     * var compiled = _.template('<% _.forEach(users, function(user) { %><li><%- user %></li><% }); %>');\n     * compiled({ 'users': ['fred', 'barney'] });\n     * // => '<li>fred</li><li>barney</li>'\n     *\n     * // Use the internal `print` function in \"evaluate\" delimiters.\n     * var compiled = _.template('<% print(\"hello \" + user); %>!');\n     * compiled({ 'user': 'barney' });\n     * // => 'hello barney!'\n     *\n     * // Use the ES template literal delimiter as an \"interpolate\" delimiter.\n     * // Disable support by replacing the \"interpolate\" delimiter.\n     * var compiled = _.template('hello ${ user }!');\n     * compiled({ 'user': 'pebbles' });\n     * // => 'hello pebbles!'\n     *\n     * // Use backslashes to treat delimiters as plain text.\n     * var compiled = _.template('<%= \"\\\\<%- value %\\\\>\" %>');\n     * compiled({ 'value': 'ignored' });\n     * // => '<%- value %>'\n     *\n     * // Use the `imports` option to import `jQuery` as `jq`.\n     * var text = '<% jq.each(users, function(user) { %><li><%- user %></li><% }); %>';\n     * var compiled = _.template(text, { 'imports': { 'jq': jQuery } });\n     * compiled({ 'users': ['fred', 'barney'] });\n     * // => '<li>fred</li><li>barney</li>'\n     *\n     * // Use the `sourceURL` option to specify a custom sourceURL for the template.\n     * var compiled = _.template('hello <%= user %>!', { 'sourceURL': '/basic/greeting.jst' });\n     * compiled(data);\n     * // => Find the source of \"greeting.jst\" under the Sources tab or Resources panel of the web inspector.\n     *\n     * // Use the `variable` option to ensure a with-statement isn't used in the compiled template.\n     * var compiled = _.template('hi <%= data.user %>!', { 'variable': 'data' });\n     * compiled.source;\n     * // => function(data) {\n     * //   var __t, __p = '';\n     * //   __p += 'hi ' + ((__t = ( data.user )) == null ? '' : __t) + '!';\n     * //   return __p;\n     * // }\n     *\n     * // Use custom template delimiters.\n     * _.templateSettings.interpolate = /{{([\\s\\S]+?)}}/g;\n     * var compiled = _.template('hello {{ user }}!');\n     * compiled({ 'user': 'mustache' });\n     * // => 'hello mustache!'\n     *\n     * // Use the `source` property to inline compiled templates for meaningful\n     * // line numbers in error messages and stack traces.\n     * fs.writeFileSync(path.join(process.cwd(), 'jst.js'), '\\\n     *   var JST = {\\\n     *     \"main\": ' + _.template(mainText).source + '\\\n     *   };\\\n     * ');\n     */\n    function template(string, options, guard) {\n      // Based on John Resig's `tmpl` implementation\n      // (http://ejohn.org/blog/javascript-micro-templating/)\n      // and Laura Doktorova's doT.js (https://github.com/olado/doT).\n      var settings = lodash.templateSettings;\n\n      if (guard && isIterateeCall(string, options, guard)) {\n        options = undefined;\n      }\n      string = toString(string);\n      options = assignInWith({}, options, settings, customDefaultsAssignIn);\n\n      var imports = assignInWith({}, options.imports, settings.imports, customDefaultsAssignIn),\n          importsKeys = keys(imports),\n          importsValues = baseValues(imports, importsKeys);\n\n      var isEscaping,\n          isEvaluating,\n          index = 0,\n          interpolate = options.interpolate || reNoMatch,\n          source = \"__p += '\";\n\n      // Compile the regexp to match each delimiter.\n      var reDelimiters = RegExp(\n        (options.escape || reNoMatch).source + '|' +\n        interpolate.source + '|' +\n        (interpolate === reInterpolate ? reEsTemplate : reNoMatch).source + '|' +\n        (options.evaluate || reNoMatch).source + '|$'\n      , 'g');\n\n      // Use a sourceURL for easier debugging.\n      // The sourceURL gets injected into the source that's eval-ed, so be careful\n      // to normalize all kinds of whitespace, so e.g. newlines (and unicode versions of it) can't sneak in\n      // and escape the comment, thus injecting code that gets evaled.\n      var sourceURL = '//# sourceURL=' +\n        (hasOwnProperty.call(options, 'sourceURL')\n          ? (options.sourceURL + '').replace(/\\s/g, ' ')\n          : ('lodash.templateSources[' + (++templateCounter) + ']')\n        ) + '\\n';\n\n      string.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) {\n        interpolateValue || (interpolateValue = esTemplateValue);\n\n        // Escape characters that can't be included in string literals.\n        source += string.slice(index, offset).replace(reUnescapedString, escapeStringChar);\n\n        // Replace delimiters with snippets.\n        if (escapeValue) {\n          isEscaping = true;\n          source += \"' +\\n__e(\" + escapeValue + \") +\\n'\";\n        }\n        if (evaluateValue) {\n          isEvaluating = true;\n          source += \"';\\n\" + evaluateValue + \";\\n__p += '\";\n        }\n        if (interpolateValue) {\n          source += \"' +\\n((__t = (\" + interpolateValue + \")) == null ? '' : __t) +\\n'\";\n        }\n        index = offset + match.length;\n\n        // The JS engine embedded in Adobe products needs `match` returned in\n        // order to produce the correct `offset` value.\n        return match;\n      });\n\n      source += \"';\\n\";\n\n      // If `variable` is not specified wrap a with-statement around the generated\n      // code to add the data object to the top of the scope chain.\n      var variable = hasOwnProperty.call(options, 'variable') && options.variable;\n      if (!variable) {\n        source = 'with (obj) {\\n' + source + '\\n}\\n';\n      }\n      // Throw an error if a forbidden character was found in `variable`, to prevent\n      // potential command injection attacks.\n      else if (reForbiddenIdentifierChars.test(variable)) {\n        throw new Error(INVALID_TEMPL_VAR_ERROR_TEXT);\n      }\n\n      // Cleanup code by stripping empty strings.\n      source = (isEvaluating ? source.replace(reEmptyStringLeading, '') : source)\n        .replace(reEmptyStringMiddle, '$1')\n        .replace(reEmptyStringTrailing, '$1;');\n\n      // Frame code as the function body.\n      source = 'function(' + (variable || 'obj') + ') {\\n' +\n        (variable\n          ? ''\n          : 'obj || (obj = {});\\n'\n        ) +\n        \"var __t, __p = ''\" +\n        (isEscaping\n           ? ', __e = _.escape'\n           : ''\n        ) +\n        (isEvaluating\n          ? ', __j = Array.prototype.join;\\n' +\n            \"function print() { __p += __j.call(arguments, '') }\\n\"\n          : ';\\n'\n        ) +\n        source +\n        'return __p\\n}';\n\n      var result = attempt(function() {\n        return Function(importsKeys, sourceURL + 'return ' + source)\n          .apply(undefined, importsValues);\n      });\n\n      // Provide the compiled function's source by its `toString` method or\n      // the `source` property as a convenience for inlining compiled templates.\n      result.source = source;\n      if (isError(result)) {\n        throw result;\n      }\n      return result;\n    }\n\n    /**\n     * Converts `string`, as a whole, to lower case just like\n     * [String#toLowerCase](https://mdn.io/toLowerCase).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to convert.\n     * @returns {string} Returns the lower cased string.\n     * @example\n     *\n     * _.toLower('--Foo-Bar--');\n     * // => '--foo-bar--'\n     *\n     * _.toLower('fooBar');\n     * // => 'foobar'\n     *\n     * _.toLower('__FOO_BAR__');\n     * // => '__foo_bar__'\n     */\n    function toLower(value) {\n      return toString(value).toLowerCase();\n    }\n\n    /**\n     * Converts `string`, as a whole, to upper case just like\n     * [String#toUpperCase](https://mdn.io/toUpperCase).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to convert.\n     * @returns {string} Returns the upper cased string.\n     * @example\n     *\n     * _.toUpper('--foo-bar--');\n     * // => '--FOO-BAR--'\n     *\n     * _.toUpper('fooBar');\n     * // => 'FOOBAR'\n     *\n     * _.toUpper('__foo_bar__');\n     * // => '__FOO_BAR__'\n     */\n    function toUpper(value) {\n      return toString(value).toUpperCase();\n    }\n\n    /**\n     * Removes leading and trailing whitespace or specified characters from `string`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category String\n     * @param {string} [string=''] The string to trim.\n     * @param {string} [chars=whitespace] The characters to trim.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {string} Returns the trimmed string.\n     * @example\n     *\n     * _.trim('  abc  ');\n     * // => 'abc'\n     *\n     * _.trim('-_-abc-_-', '_-');\n     * // => 'abc'\n     *\n     * _.map(['  foo  ', '  bar  '], _.trim);\n     * // => ['foo', 'bar']\n     */\n    function trim(string, chars, guard) {\n      string = toString(string);\n      if (string && (guard || chars === undefined)) {\n        return baseTrim(string);\n      }\n      if (!string || !(chars = baseToString(chars))) {\n        return string;\n      }\n      var strSymbols = stringToArray(string),\n          chrSymbols = stringToArray(chars),\n          start = charsStartIndex(strSymbols, chrSymbols),\n          end = charsEndIndex(strSymbols, chrSymbols) + 1;\n\n      return castSlice(strSymbols, start, end).join('');\n    }\n\n    /**\n     * Removes trailing whitespace or specified characters from `string`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to trim.\n     * @param {string} [chars=whitespace] The characters to trim.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {string} Returns the trimmed string.\n     * @example\n     *\n     * _.trimEnd('  abc  ');\n     * // => '  abc'\n     *\n     * _.trimEnd('-_-abc-_-', '_-');\n     * // => '-_-abc'\n     */\n    function trimEnd(string, chars, guard) {\n      string = toString(string);\n      if (string && (guard || chars === undefined)) {\n        return string.slice(0, trimmedEndIndex(string) + 1);\n      }\n      if (!string || !(chars = baseToString(chars))) {\n        return string;\n      }\n      var strSymbols = stringToArray(string),\n          end = charsEndIndex(strSymbols, stringToArray(chars)) + 1;\n\n      return castSlice(strSymbols, 0, end).join('');\n    }\n\n    /**\n     * Removes leading whitespace or specified characters from `string`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to trim.\n     * @param {string} [chars=whitespace] The characters to trim.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {string} Returns the trimmed string.\n     * @example\n     *\n     * _.trimStart('  abc  ');\n     * // => 'abc  '\n     *\n     * _.trimStart('-_-abc-_-', '_-');\n     * // => 'abc-_-'\n     */\n    function trimStart(string, chars, guard) {\n      string = toString(string);\n      if (string && (guard || chars === undefined)) {\n        return string.replace(reTrimStart, '');\n      }\n      if (!string || !(chars = baseToString(chars))) {\n        return string;\n      }\n      var strSymbols = stringToArray(string),\n          start = charsStartIndex(strSymbols, stringToArray(chars));\n\n      return castSlice(strSymbols, start).join('');\n    }\n\n    /**\n     * Truncates `string` if it's longer than the given maximum string length.\n     * The last characters of the truncated string are replaced with the omission\n     * string which defaults to \"...\".\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to truncate.\n     * @param {Object} [options={}] The options object.\n     * @param {number} [options.length=30] The maximum string length.\n     * @param {string} [options.omission='...'] The string to indicate text is omitted.\n     * @param {RegExp|string} [options.separator] The separator pattern to truncate to.\n     * @returns {string} Returns the truncated string.\n     * @example\n     *\n     * _.truncate('hi-diddly-ho there, neighborino');\n     * // => 'hi-diddly-ho there, neighbo...'\n     *\n     * _.truncate('hi-diddly-ho there, neighborino', {\n     *   'length': 24,\n     *   'separator': ' '\n     * });\n     * // => 'hi-diddly-ho there,...'\n     *\n     * _.truncate('hi-diddly-ho there, neighborino', {\n     *   'length': 24,\n     *   'separator': /,? +/\n     * });\n     * // => 'hi-diddly-ho there...'\n     *\n     * _.truncate('hi-diddly-ho there, neighborino', {\n     *   'omission': ' [...]'\n     * });\n     * // => 'hi-diddly-ho there, neig [...]'\n     */\n    function truncate(string, options) {\n      var length = DEFAULT_TRUNC_LENGTH,\n          omission = DEFAULT_TRUNC_OMISSION;\n\n      if (isObject(options)) {\n        var separator = 'separator' in options ? options.separator : separator;\n        length = 'length' in options ? toInteger(options.length) : length;\n        omission = 'omission' in options ? baseToString(options.omission) : omission;\n      }\n      string = toString(string);\n\n      var strLength = string.length;\n      if (hasUnicode(string)) {\n        var strSymbols = stringToArray(string);\n        strLength = strSymbols.length;\n      }\n      if (length >= strLength) {\n        return string;\n      }\n      var end = length - stringSize(omission);\n      if (end < 1) {\n        return omission;\n      }\n      var result = strSymbols\n        ? castSlice(strSymbols, 0, end).join('')\n        : string.slice(0, end);\n\n      if (separator === undefined) {\n        return result + omission;\n      }\n      if (strSymbols) {\n        end += (result.length - end);\n      }\n      if (isRegExp(separator)) {\n        if (string.slice(end).search(separator)) {\n          var match,\n              substring = result;\n\n          if (!separator.global) {\n            separator = RegExp(separator.source, toString(reFlags.exec(separator)) + 'g');\n          }\n          separator.lastIndex = 0;\n          while ((match = separator.exec(substring))) {\n            var newEnd = match.index;\n          }\n          result = result.slice(0, newEnd === undefined ? end : newEnd);\n        }\n      } else if (string.indexOf(baseToString(separator), end) != end) {\n        var index = result.lastIndexOf(separator);\n        if (index > -1) {\n          result = result.slice(0, index);\n        }\n      }\n      return result + omission;\n    }\n\n    /**\n     * The inverse of `_.escape`; this method converts the HTML entities\n     * `&amp;`, `&lt;`, `&gt;`, `&quot;`, and `&#39;` in `string` to\n     * their corresponding characters.\n     *\n     * **Note:** No other HTML entities are unescaped. To unescape additional\n     * HTML entities use a third-party library like [_he_](https://mths.be/he).\n     *\n     * @static\n     * @memberOf _\n     * @since 0.6.0\n     * @category String\n     * @param {string} [string=''] The string to unescape.\n     * @returns {string} Returns the unescaped string.\n     * @example\n     *\n     * _.unescape('fred, barney, &amp; pebbles');\n     * // => 'fred, barney, & pebbles'\n     */\n    function unescape(string) {\n      string = toString(string);\n      return (string && reHasEscapedHtml.test(string))\n        ? string.replace(reEscapedHtml, unescapeHtmlChar)\n        : string;\n    }\n\n    /**\n     * Converts `string`, as space separated words, to upper case.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to convert.\n     * @returns {string} Returns the upper cased string.\n     * @example\n     *\n     * _.upperCase('--foo-bar');\n     * // => 'FOO BAR'\n     *\n     * _.upperCase('fooBar');\n     * // => 'FOO BAR'\n     *\n     * _.upperCase('__foo_bar__');\n     * // => 'FOO BAR'\n     */\n    var upperCase = createCompounder(function(result, word, index) {\n      return result + (index ? ' ' : '') + word.toUpperCase();\n    });\n\n    /**\n     * Converts the first character of `string` to upper case.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category String\n     * @param {string} [string=''] The string to convert.\n     * @returns {string} Returns the converted string.\n     * @example\n     *\n     * _.upperFirst('fred');\n     * // => 'Fred'\n     *\n     * _.upperFirst('FRED');\n     * // => 'FRED'\n     */\n    var upperFirst = createCaseFirst('toUpperCase');\n\n    /**\n     * Splits `string` into an array of its words.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category String\n     * @param {string} [string=''] The string to inspect.\n     * @param {RegExp|string} [pattern] The pattern to match words.\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n     * @returns {Array} Returns the words of `string`.\n     * @example\n     *\n     * _.words('fred, barney, & pebbles');\n     * // => ['fred', 'barney', 'pebbles']\n     *\n     * _.words('fred, barney, & pebbles', /[^, ]+/g);\n     * // => ['fred', 'barney', '&', 'pebbles']\n     */\n    function words(string, pattern, guard) {\n      string = toString(string);\n      pattern = guard ? undefined : pattern;\n\n      if (pattern === undefined) {\n        return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n      }\n      return string.match(pattern) || [];\n    }\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Attempts to invoke `func`, returning either the result or the caught error\n     * object. Any additional arguments are provided to `func` when it's invoked.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Util\n     * @param {Function} func The function to attempt.\n     * @param {...*} [args] The arguments to invoke `func` with.\n     * @returns {*} Returns the `func` result or error object.\n     * @example\n     *\n     * // Avoid throwing errors for invalid selectors.\n     * var elements = _.attempt(function(selector) {\n     *   return document.querySelectorAll(selector);\n     * }, '>_>');\n     *\n     * if (_.isError(elements)) {\n     *   elements = [];\n     * }\n     */\n    var attempt = baseRest(function(func, args) {\n      try {\n        return apply(func, undefined, args);\n      } catch (e) {\n        return isError(e) ? e : new Error(e);\n      }\n    });\n\n    /**\n     * Binds methods of an object to the object itself, overwriting the existing\n     * method.\n     *\n     * **Note:** This method doesn't set the \"length\" property of bound functions.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Util\n     * @param {Object} object The object to bind and assign the bound methods to.\n     * @param {...(string|string[])} methodNames The object method names to bind.\n     * @returns {Object} Returns `object`.\n     * @example\n     *\n     * var view = {\n     *   'label': 'docs',\n     *   'click': function() {\n     *     console.log('clicked ' + this.label);\n     *   }\n     * };\n     *\n     * _.bindAll(view, ['click']);\n     * jQuery(element).on('click', view.click);\n     * // => Logs 'clicked docs' when clicked.\n     */\n    var bindAll = flatRest(function(object, methodNames) {\n      arrayEach(methodNames, function(key) {\n        key = toKey(key);\n        baseAssignValue(object, key, bind(object[key], object));\n      });\n      return object;\n    });\n\n    /**\n     * Creates a function that iterates over `pairs` and invokes the corresponding\n     * function of the first predicate to return truthy. The predicate-function\n     * pairs are invoked with the `this` binding and arguments of the created\n     * function.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Util\n     * @param {Array} pairs The predicate-function pairs.\n     * @returns {Function} Returns the new composite function.\n     * @example\n     *\n     * var func = _.cond([\n     *   [_.matches({ 'a': 1 }),           _.constant('matches A')],\n     *   [_.conforms({ 'b': _.isNumber }), _.constant('matches B')],\n     *   [_.stubTrue,                      _.constant('no match')]\n     * ]);\n     *\n     * func({ 'a': 1, 'b': 2 });\n     * // => 'matches A'\n     *\n     * func({ 'a': 0, 'b': 1 });\n     * // => 'matches B'\n     *\n     * func({ 'a': '1', 'b': '2' });\n     * // => 'no match'\n     */\n    function cond(pairs) {\n      var length = pairs == null ? 0 : pairs.length,\n          toIteratee = getIteratee();\n\n      pairs = !length ? [] : arrayMap(pairs, function(pair) {\n        if (typeof pair[1] != 'function') {\n          throw new TypeError(FUNC_ERROR_TEXT);\n        }\n        return [toIteratee(pair[0]), pair[1]];\n      });\n\n      return baseRest(function(args) {\n        var index = -1;\n        while (++index < length) {\n          var pair = pairs[index];\n          if (apply(pair[0], this, args)) {\n            return apply(pair[1], this, args);\n          }\n        }\n      });\n    }\n\n    /**\n     * Creates a function that invokes the predicate properties of `source` with\n     * the corresponding property values of a given object, returning `true` if\n     * all predicates return truthy, else `false`.\n     *\n     * **Note:** The created function is equivalent to `_.conformsTo` with\n     * `source` partially applied.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Util\n     * @param {Object} source The object of property predicates to conform to.\n     * @returns {Function} Returns the new spec function.\n     * @example\n     *\n     * var objects = [\n     *   { 'a': 2, 'b': 1 },\n     *   { 'a': 1, 'b': 2 }\n     * ];\n     *\n     * _.filter(objects, _.conforms({ 'b': function(n) { return n > 1; } }));\n     * // => [{ 'a': 1, 'b': 2 }]\n     */\n    function conforms(source) {\n      return baseConforms(baseClone(source, CLONE_DEEP_FLAG));\n    }\n\n    /**\n     * Creates a function that returns `value`.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.4.0\n     * @category Util\n     * @param {*} value The value to return from the new function.\n     * @returns {Function} Returns the new constant function.\n     * @example\n     *\n     * var objects = _.times(2, _.constant({ 'a': 1 }));\n     *\n     * console.log(objects);\n     * // => [{ 'a': 1 }, { 'a': 1 }]\n     *\n     * console.log(objects[0] === objects[1]);\n     * // => true\n     */\n    function constant(value) {\n      return function() {\n        return value;\n      };\n    }\n\n    /**\n     * Checks `value` to determine whether a default value should be returned in\n     * its place. The `defaultValue` is returned if `value` is `NaN`, `null`,\n     * or `undefined`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.14.0\n     * @category Util\n     * @param {*} value The value to check.\n     * @param {*} defaultValue The default value.\n     * @returns {*} Returns the resolved value.\n     * @example\n     *\n     * _.defaultTo(1, 10);\n     * // => 1\n     *\n     * _.defaultTo(undefined, 10);\n     * // => 10\n     */\n    function defaultTo(value, defaultValue) {\n      return (value == null || value !== value) ? defaultValue : value;\n    }\n\n    /**\n     * Creates a function that returns the result of invoking the given functions\n     * with the `this` binding of the created function, where each successive\n     * invocation is supplied the return value of the previous.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Util\n     * @param {...(Function|Function[])} [funcs] The functions to invoke.\n     * @returns {Function} Returns the new composite function.\n     * @see _.flowRight\n     * @example\n     *\n     * function square(n) {\n     *   return n * n;\n     * }\n     *\n     * var addSquare = _.flow([_.add, square]);\n     * addSquare(1, 2);\n     * // => 9\n     */\n    var flow = createFlow();\n\n    /**\n     * This method is like `_.flow` except that it creates a function that\n     * invokes the given functions from right to left.\n     *\n     * @static\n     * @since 3.0.0\n     * @memberOf _\n     * @category Util\n     * @param {...(Function|Function[])} [funcs] The functions to invoke.\n     * @returns {Function} Returns the new composite function.\n     * @see _.flow\n     * @example\n     *\n     * function square(n) {\n     *   return n * n;\n     * }\n     *\n     * var addSquare = _.flowRight([square, _.add]);\n     * addSquare(1, 2);\n     * // => 9\n     */\n    var flowRight = createFlow(true);\n\n    /**\n     * This method returns the first argument it receives.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Util\n     * @param {*} value Any value.\n     * @returns {*} Returns `value`.\n     * @example\n     *\n     * var object = { 'a': 1 };\n     *\n     * console.log(_.identity(object) === object);\n     * // => true\n     */\n    function identity(value) {\n      return value;\n    }\n\n    /**\n     * Creates a function that invokes `func` with the arguments of the created\n     * function. If `func` is a property name, the created function returns the\n     * property value for a given element. If `func` is an array or object, the\n     * created function returns `true` for elements that contain the equivalent\n     * source properties, otherwise it returns `false`.\n     *\n     * @static\n     * @since 4.0.0\n     * @memberOf _\n     * @category Util\n     * @param {*} [func=_.identity] The value to convert to a callback.\n     * @returns {Function} Returns the callback.\n     * @example\n     *\n     * var users = [\n     *   { 'user': 'barney', 'age': 36, 'active': true },\n     *   { 'user': 'fred',   'age': 40, 'active': false }\n     * ];\n     *\n     * // The `_.matches` iteratee shorthand.\n     * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true }));\n     * // => [{ 'user': 'barney', 'age': 36, 'active': true }]\n     *\n     * // The `_.matchesProperty` iteratee shorthand.\n     * _.filter(users, _.iteratee(['user', 'fred']));\n     * // => [{ 'user': 'fred', 'age': 40 }]\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.map(users, _.iteratee('user'));\n     * // => ['barney', 'fred']\n     *\n     * // Create custom iteratee shorthands.\n     * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) {\n     *   return !_.isRegExp(func) ? iteratee(func) : function(string) {\n     *     return func.test(string);\n     *   };\n     * });\n     *\n     * _.filter(['abc', 'def'], /ef/);\n     * // => ['def']\n     */\n    function iteratee(func) {\n      return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG));\n    }\n\n    /**\n     * Creates a function that performs a partial deep comparison between a given\n     * object and `source`, returning `true` if the given object has equivalent\n     * property values, else `false`.\n     *\n     * **Note:** The created function is equivalent to `_.isMatch` with `source`\n     * partially applied.\n     *\n     * Partial comparisons will match empty array and empty object `source`\n     * values against any array or object value, respectively. See `_.isEqual`\n     * for a list of supported value comparisons.\n     *\n     * **Note:** Multiple values can be checked by combining several matchers\n     * using `_.overSome`\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Util\n     * @param {Object} source The object of property values to match.\n     * @returns {Function} Returns the new spec function.\n     * @example\n     *\n     * var objects = [\n     *   { 'a': 1, 'b': 2, 'c': 3 },\n     *   { 'a': 4, 'b': 5, 'c': 6 }\n     * ];\n     *\n     * _.filter(objects, _.matches({ 'a': 4, 'c': 6 }));\n     * // => [{ 'a': 4, 'b': 5, 'c': 6 }]\n     *\n     * // Checking for several possible values\n     * _.filter(objects, _.overSome([_.matches({ 'a': 1 }), _.matches({ 'a': 4 })]));\n     * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }]\n     */\n    function matches(source) {\n      return baseMatches(baseClone(source, CLONE_DEEP_FLAG));\n    }\n\n    /**\n     * Creates a function that performs a partial deep comparison between the\n     * value at `path` of a given object to `srcValue`, returning `true` if the\n     * object value is equivalent, else `false`.\n     *\n     * **Note:** Partial comparisons will match empty array and empty object\n     * `srcValue` values against any array or object value, respectively. See\n     * `_.isEqual` for a list of supported value comparisons.\n     *\n     * **Note:** Multiple values can be checked by combining several matchers\n     * using `_.overSome`\n     *\n     * @static\n     * @memberOf _\n     * @since 3.2.0\n     * @category Util\n     * @param {Array|string} path The path of the property to get.\n     * @param {*} srcValue The value to match.\n     * @returns {Function} Returns the new spec function.\n     * @example\n     *\n     * var objects = [\n     *   { 'a': 1, 'b': 2, 'c': 3 },\n     *   { 'a': 4, 'b': 5, 'c': 6 }\n     * ];\n     *\n     * _.find(objects, _.matchesProperty('a', 4));\n     * // => { 'a': 4, 'b': 5, 'c': 6 }\n     *\n     * // Checking for several possible values\n     * _.filter(objects, _.overSome([_.matchesProperty('a', 1), _.matchesProperty('a', 4)]));\n     * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }]\n     */\n    function matchesProperty(path, srcValue) {\n      return baseMatchesProperty(path, baseClone(srcValue, CLONE_DEEP_FLAG));\n    }\n\n    /**\n     * Creates a function that invokes the method at `path` of a given object.\n     * Any additional arguments are provided to the invoked method.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.7.0\n     * @category Util\n     * @param {Array|string} path The path of the method to invoke.\n     * @param {...*} [args] The arguments to invoke the method with.\n     * @returns {Function} Returns the new invoker function.\n     * @example\n     *\n     * var objects = [\n     *   { 'a': { 'b': _.constant(2) } },\n     *   { 'a': { 'b': _.constant(1) } }\n     * ];\n     *\n     * _.map(objects, _.method('a.b'));\n     * // => [2, 1]\n     *\n     * _.map(objects, _.method(['a', 'b']));\n     * // => [2, 1]\n     */\n    var method = baseRest(function(path, args) {\n      return function(object) {\n        return baseInvoke(object, path, args);\n      };\n    });\n\n    /**\n     * The opposite of `_.method`; this method creates a function that invokes\n     * the method at a given path of `object`. Any additional arguments are\n     * provided to the invoked method.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.7.0\n     * @category Util\n     * @param {Object} object The object to query.\n     * @param {...*} [args] The arguments to invoke the method with.\n     * @returns {Function} Returns the new invoker function.\n     * @example\n     *\n     * var array = _.times(3, _.constant),\n     *     object = { 'a': array, 'b': array, 'c': array };\n     *\n     * _.map(['a[2]', 'c[0]'], _.methodOf(object));\n     * // => [2, 0]\n     *\n     * _.map([['a', '2'], ['c', '0']], _.methodOf(object));\n     * // => [2, 0]\n     */\n    var methodOf = baseRest(function(object, args) {\n      return function(path) {\n        return baseInvoke(object, path, args);\n      };\n    });\n\n    /**\n     * Adds all own enumerable string keyed function properties of a source\n     * object to the destination object. If `object` is a function, then methods\n     * are added to its prototype as well.\n     *\n     * **Note:** Use `_.runInContext` to create a pristine `lodash` function to\n     * avoid conflicts caused by modifying the original.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Util\n     * @param {Function|Object} [object=lodash] The destination object.\n     * @param {Object} source The object of functions to add.\n     * @param {Object} [options={}] The options object.\n     * @param {boolean} [options.chain=true] Specify whether mixins are chainable.\n     * @returns {Function|Object} Returns `object`.\n     * @example\n     *\n     * function vowels(string) {\n     *   return _.filter(string, function(v) {\n     *     return /[aeiou]/i.test(v);\n     *   });\n     * }\n     *\n     * _.mixin({ 'vowels': vowels });\n     * _.vowels('fred');\n     * // => ['e']\n     *\n     * _('fred').vowels().value();\n     * // => ['e']\n     *\n     * _.mixin({ 'vowels': vowels }, { 'chain': false });\n     * _('fred').vowels();\n     * // => ['e']\n     */\n    function mixin(object, source, options) {\n      var props = keys(source),\n          methodNames = baseFunctions(source, props);\n\n      if (options == null &&\n          !(isObject(source) && (methodNames.length || !props.length))) {\n        options = source;\n        source = object;\n        object = this;\n        methodNames = baseFunctions(source, keys(source));\n      }\n      var chain = !(isObject(options) && 'chain' in options) || !!options.chain,\n          isFunc = isFunction(object);\n\n      arrayEach(methodNames, function(methodName) {\n        var func = source[methodName];\n        object[methodName] = func;\n        if (isFunc) {\n          object.prototype[methodName] = function() {\n            var chainAll = this.__chain__;\n            if (chain || chainAll) {\n              var result = object(this.__wrapped__),\n                  actions = result.__actions__ = copyArray(this.__actions__);\n\n              actions.push({ 'func': func, 'args': arguments, 'thisArg': object });\n              result.__chain__ = chainAll;\n              return result;\n            }\n            return func.apply(object, arrayPush([this.value()], arguments));\n          };\n        }\n      });\n\n      return object;\n    }\n\n    /**\n     * Reverts the `_` variable to its previous value and returns a reference to\n     * the `lodash` function.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Util\n     * @returns {Function} Returns the `lodash` function.\n     * @example\n     *\n     * var lodash = _.noConflict();\n     */\n    function noConflict() {\n      if (root._ === this) {\n        root._ = oldDash;\n      }\n      return this;\n    }\n\n    /**\n     * This method returns `undefined`.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.3.0\n     * @category Util\n     * @example\n     *\n     * _.times(2, _.noop);\n     * // => [undefined, undefined]\n     */\n    function noop() {\n      // No operation performed.\n    }\n\n    /**\n     * Creates a function that gets the argument at index `n`. If `n` is negative,\n     * the nth argument from the end is returned.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Util\n     * @param {number} [n=0] The index of the argument to return.\n     * @returns {Function} Returns the new pass-thru function.\n     * @example\n     *\n     * var func = _.nthArg(1);\n     * func('a', 'b', 'c', 'd');\n     * // => 'b'\n     *\n     * var func = _.nthArg(-2);\n     * func('a', 'b', 'c', 'd');\n     * // => 'c'\n     */\n    function nthArg(n) {\n      n = toInteger(n);\n      return baseRest(function(args) {\n        return baseNth(args, n);\n      });\n    }\n\n    /**\n     * Creates a function that invokes `iteratees` with the arguments it receives\n     * and returns their results.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Util\n     * @param {...(Function|Function[])} [iteratees=[_.identity]]\n     *  The iteratees to invoke.\n     * @returns {Function} Returns the new function.\n     * @example\n     *\n     * var func = _.over([Math.max, Math.min]);\n     *\n     * func(1, 2, 3, 4);\n     * // => [4, 1]\n     */\n    var over = createOver(arrayMap);\n\n    /**\n     * Creates a function that checks if **all** of the `predicates` return\n     * truthy when invoked with the arguments it receives.\n     *\n     * Following shorthands are possible for providing predicates.\n     * Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate.\n     * Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Util\n     * @param {...(Function|Function[])} [predicates=[_.identity]]\n     *  The predicates to check.\n     * @returns {Function} Returns the new function.\n     * @example\n     *\n     * var func = _.overEvery([Boolean, isFinite]);\n     *\n     * func('1');\n     * // => true\n     *\n     * func(null);\n     * // => false\n     *\n     * func(NaN);\n     * // => false\n     */\n    var overEvery = createOver(arrayEvery);\n\n    /**\n     * Creates a function that checks if **any** of the `predicates` return\n     * truthy when invoked with the arguments it receives.\n     *\n     * Following shorthands are possible for providing predicates.\n     * Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate.\n     * Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Util\n     * @param {...(Function|Function[])} [predicates=[_.identity]]\n     *  The predicates to check.\n     * @returns {Function} Returns the new function.\n     * @example\n     *\n     * var func = _.overSome([Boolean, isFinite]);\n     *\n     * func('1');\n     * // => true\n     *\n     * func(null);\n     * // => true\n     *\n     * func(NaN);\n     * // => false\n     *\n     * var matchesFunc = _.overSome([{ 'a': 1 }, { 'a': 2 }])\n     * var matchesPropertyFunc = _.overSome([['a', 1], ['a', 2]])\n     */\n    var overSome = createOver(arraySome);\n\n    /**\n     * Creates a function that returns the value at `path` of a given object.\n     *\n     * @static\n     * @memberOf _\n     * @since 2.4.0\n     * @category Util\n     * @param {Array|string} path The path of the property to get.\n     * @returns {Function} Returns the new accessor function.\n     * @example\n     *\n     * var objects = [\n     *   { 'a': { 'b': 2 } },\n     *   { 'a': { 'b': 1 } }\n     * ];\n     *\n     * _.map(objects, _.property('a.b'));\n     * // => [2, 1]\n     *\n     * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n     * // => [1, 2]\n     */\n    function property(path) {\n      return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n    }\n\n    /**\n     * The opposite of `_.property`; this method creates a function that returns\n     * the value at a given path of `object`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.0.0\n     * @category Util\n     * @param {Object} object The object to query.\n     * @returns {Function} Returns the new accessor function.\n     * @example\n     *\n     * var array = [0, 1, 2],\n     *     object = { 'a': array, 'b': array, 'c': array };\n     *\n     * _.map(['a[2]', 'c[0]'], _.propertyOf(object));\n     * // => [2, 0]\n     *\n     * _.map([['a', '2'], ['c', '0']], _.propertyOf(object));\n     * // => [2, 0]\n     */\n    function propertyOf(object) {\n      return function(path) {\n        return object == null ? undefined : baseGet(object, path);\n      };\n    }\n\n    /**\n     * Creates an array of numbers (positive and/or negative) progressing from\n     * `start` up to, but not including, `end`. A step of `-1` is used if a negative\n     * `start` is specified without an `end` or `step`. If `end` is not specified,\n     * it's set to `start` with `start` then set to `0`.\n     *\n     * **Note:** JavaScript follows the IEEE-754 standard for resolving\n     * floating-point values which can produce unexpected results.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Util\n     * @param {number} [start=0] The start of the range.\n     * @param {number} end The end of the range.\n     * @param {number} [step=1] The value to increment or decrement by.\n     * @returns {Array} Returns the range of numbers.\n     * @see _.inRange, _.rangeRight\n     * @example\n     *\n     * _.range(4);\n     * // => [0, 1, 2, 3]\n     *\n     * _.range(-4);\n     * // => [0, -1, -2, -3]\n     *\n     * _.range(1, 5);\n     * // => [1, 2, 3, 4]\n     *\n     * _.range(0, 20, 5);\n     * // => [0, 5, 10, 15]\n     *\n     * _.range(0, -4, -1);\n     * // => [0, -1, -2, -3]\n     *\n     * _.range(1, 4, 0);\n     * // => [1, 1, 1]\n     *\n     * _.range(0);\n     * // => []\n     */\n    var range = createRange();\n\n    /**\n     * This method is like `_.range` except that it populates values in\n     * descending order.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Util\n     * @param {number} [start=0] The start of the range.\n     * @param {number} end The end of the range.\n     * @param {number} [step=1] The value to increment or decrement by.\n     * @returns {Array} Returns the range of numbers.\n     * @see _.inRange, _.range\n     * @example\n     *\n     * _.rangeRight(4);\n     * // => [3, 2, 1, 0]\n     *\n     * _.rangeRight(-4);\n     * // => [-3, -2, -1, 0]\n     *\n     * _.rangeRight(1, 5);\n     * // => [4, 3, 2, 1]\n     *\n     * _.rangeRight(0, 20, 5);\n     * // => [15, 10, 5, 0]\n     *\n     * _.rangeRight(0, -4, -1);\n     * // => [-3, -2, -1, 0]\n     *\n     * _.rangeRight(1, 4, 0);\n     * // => [1, 1, 1]\n     *\n     * _.rangeRight(0);\n     * // => []\n     */\n    var rangeRight = createRange(true);\n\n    /**\n     * This method returns a new empty array.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.13.0\n     * @category Util\n     * @returns {Array} Returns the new empty array.\n     * @example\n     *\n     * var arrays = _.times(2, _.stubArray);\n     *\n     * console.log(arrays);\n     * // => [[], []]\n     *\n     * console.log(arrays[0] === arrays[1]);\n     * // => false\n     */\n    function stubArray() {\n      return [];\n    }\n\n    /**\n     * This method returns `false`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.13.0\n     * @category Util\n     * @returns {boolean} Returns `false`.\n     * @example\n     *\n     * _.times(2, _.stubFalse);\n     * // => [false, false]\n     */\n    function stubFalse() {\n      return false;\n    }\n\n    /**\n     * This method returns a new empty object.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.13.0\n     * @category Util\n     * @returns {Object} Returns the new empty object.\n     * @example\n     *\n     * var objects = _.times(2, _.stubObject);\n     *\n     * console.log(objects);\n     * // => [{}, {}]\n     *\n     * console.log(objects[0] === objects[1]);\n     * // => false\n     */\n    function stubObject() {\n      return {};\n    }\n\n    /**\n     * This method returns an empty string.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.13.0\n     * @category Util\n     * @returns {string} Returns the empty string.\n     * @example\n     *\n     * _.times(2, _.stubString);\n     * // => ['', '']\n     */\n    function stubString() {\n      return '';\n    }\n\n    /**\n     * This method returns `true`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.13.0\n     * @category Util\n     * @returns {boolean} Returns `true`.\n     * @example\n     *\n     * _.times(2, _.stubTrue);\n     * // => [true, true]\n     */\n    function stubTrue() {\n      return true;\n    }\n\n    /**\n     * Invokes the iteratee `n` times, returning an array of the results of\n     * each invocation. The iteratee is invoked with one argument; (index).\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Util\n     * @param {number} n The number of times to invoke `iteratee`.\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n     * @returns {Array} Returns the array of results.\n     * @example\n     *\n     * _.times(3, String);\n     * // => ['0', '1', '2']\n     *\n     *  _.times(4, _.constant(0));\n     * // => [0, 0, 0, 0]\n     */\n    function times(n, iteratee) {\n      n = toInteger(n);\n      if (n < 1 || n > MAX_SAFE_INTEGER) {\n        return [];\n      }\n      var index = MAX_ARRAY_LENGTH,\n          length = nativeMin(n, MAX_ARRAY_LENGTH);\n\n      iteratee = getIteratee(iteratee);\n      n -= MAX_ARRAY_LENGTH;\n\n      var result = baseTimes(length, iteratee);\n      while (++index < n) {\n        iteratee(index);\n      }\n      return result;\n    }\n\n    /**\n     * Converts `value` to a property path array.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Util\n     * @param {*} value The value to convert.\n     * @returns {Array} Returns the new property path array.\n     * @example\n     *\n     * _.toPath('a.b.c');\n     * // => ['a', 'b', 'c']\n     *\n     * _.toPath('a[0].b.c');\n     * // => ['a', '0', 'b', 'c']\n     */\n    function toPath(value) {\n      if (isArray(value)) {\n        return arrayMap(value, toKey);\n      }\n      return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value)));\n    }\n\n    /**\n     * Generates a unique ID. If `prefix` is given, the ID is appended to it.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Util\n     * @param {string} [prefix=''] The value to prefix the ID with.\n     * @returns {string} Returns the unique ID.\n     * @example\n     *\n     * _.uniqueId('contact_');\n     * // => 'contact_104'\n     *\n     * _.uniqueId();\n     * // => '105'\n     */\n    function uniqueId(prefix) {\n      var id = ++idCounter;\n      return toString(prefix) + id;\n    }\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * Adds two numbers.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.4.0\n     * @category Math\n     * @param {number} augend The first number in an addition.\n     * @param {number} addend The second number in an addition.\n     * @returns {number} Returns the total.\n     * @example\n     *\n     * _.add(6, 4);\n     * // => 10\n     */\n    var add = createMathOperation(function(augend, addend) {\n      return augend + addend;\n    }, 0);\n\n    /**\n     * Computes `number` rounded up to `precision`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.10.0\n     * @category Math\n     * @param {number} number The number to round up.\n     * @param {number} [precision=0] The precision to round up to.\n     * @returns {number} Returns the rounded up number.\n     * @example\n     *\n     * _.ceil(4.006);\n     * // => 5\n     *\n     * _.ceil(6.004, 2);\n     * // => 6.01\n     *\n     * _.ceil(6040, -2);\n     * // => 6100\n     */\n    var ceil = createRound('ceil');\n\n    /**\n     * Divide two numbers.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.7.0\n     * @category Math\n     * @param {number} dividend The first number in a division.\n     * @param {number} divisor The second number in a division.\n     * @returns {number} Returns the quotient.\n     * @example\n     *\n     * _.divide(6, 4);\n     * // => 1.5\n     */\n    var divide = createMathOperation(function(dividend, divisor) {\n      return dividend / divisor;\n    }, 1);\n\n    /**\n     * Computes `number` rounded down to `precision`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.10.0\n     * @category Math\n     * @param {number} number The number to round down.\n     * @param {number} [precision=0] The precision to round down to.\n     * @returns {number} Returns the rounded down number.\n     * @example\n     *\n     * _.floor(4.006);\n     * // => 4\n     *\n     * _.floor(0.046, 2);\n     * // => 0.04\n     *\n     * _.floor(4060, -2);\n     * // => 4000\n     */\n    var floor = createRound('floor');\n\n    /**\n     * Computes the maximum value of `array`. If `array` is empty or falsey,\n     * `undefined` is returned.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Math\n     * @param {Array} array The array to iterate over.\n     * @returns {*} Returns the maximum value.\n     * @example\n     *\n     * _.max([4, 2, 8, 6]);\n     * // => 8\n     *\n     * _.max([]);\n     * // => undefined\n     */\n    function max(array) {\n      return (array && array.length)\n        ? baseExtremum(array, identity, baseGt)\n        : undefined;\n    }\n\n    /**\n     * This method is like `_.max` except that it accepts `iteratee` which is\n     * invoked for each element in `array` to generate the criterion by which\n     * the value is ranked. The iteratee is invoked with one argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Math\n     * @param {Array} array The array to iterate over.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {*} Returns the maximum value.\n     * @example\n     *\n     * var objects = [{ 'n': 1 }, { 'n': 2 }];\n     *\n     * _.maxBy(objects, function(o) { return o.n; });\n     * // => { 'n': 2 }\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.maxBy(objects, 'n');\n     * // => { 'n': 2 }\n     */\n    function maxBy(array, iteratee) {\n      return (array && array.length)\n        ? baseExtremum(array, getIteratee(iteratee, 2), baseGt)\n        : undefined;\n    }\n\n    /**\n     * Computes the mean of the values in `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Math\n     * @param {Array} array The array to iterate over.\n     * @returns {number} Returns the mean.\n     * @example\n     *\n     * _.mean([4, 2, 8, 6]);\n     * // => 5\n     */\n    function mean(array) {\n      return baseMean(array, identity);\n    }\n\n    /**\n     * This method is like `_.mean` except that it accepts `iteratee` which is\n     * invoked for each element in `array` to generate the value to be averaged.\n     * The iteratee is invoked with one argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.7.0\n     * @category Math\n     * @param {Array} array The array to iterate over.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {number} Returns the mean.\n     * @example\n     *\n     * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];\n     *\n     * _.meanBy(objects, function(o) { return o.n; });\n     * // => 5\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.meanBy(objects, 'n');\n     * // => 5\n     */\n    function meanBy(array, iteratee) {\n      return baseMean(array, getIteratee(iteratee, 2));\n    }\n\n    /**\n     * Computes the minimum value of `array`. If `array` is empty or falsey,\n     * `undefined` is returned.\n     *\n     * @static\n     * @since 0.1.0\n     * @memberOf _\n     * @category Math\n     * @param {Array} array The array to iterate over.\n     * @returns {*} Returns the minimum value.\n     * @example\n     *\n     * _.min([4, 2, 8, 6]);\n     * // => 2\n     *\n     * _.min([]);\n     * // => undefined\n     */\n    function min(array) {\n      return (array && array.length)\n        ? baseExtremum(array, identity, baseLt)\n        : undefined;\n    }\n\n    /**\n     * This method is like `_.min` except that it accepts `iteratee` which is\n     * invoked for each element in `array` to generate the criterion by which\n     * the value is ranked. The iteratee is invoked with one argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Math\n     * @param {Array} array The array to iterate over.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {*} Returns the minimum value.\n     * @example\n     *\n     * var objects = [{ 'n': 1 }, { 'n': 2 }];\n     *\n     * _.minBy(objects, function(o) { return o.n; });\n     * // => { 'n': 1 }\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.minBy(objects, 'n');\n     * // => { 'n': 1 }\n     */\n    function minBy(array, iteratee) {\n      return (array && array.length)\n        ? baseExtremum(array, getIteratee(iteratee, 2), baseLt)\n        : undefined;\n    }\n\n    /**\n     * Multiply two numbers.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.7.0\n     * @category Math\n     * @param {number} multiplier The first number in a multiplication.\n     * @param {number} multiplicand The second number in a multiplication.\n     * @returns {number} Returns the product.\n     * @example\n     *\n     * _.multiply(6, 4);\n     * // => 24\n     */\n    var multiply = createMathOperation(function(multiplier, multiplicand) {\n      return multiplier * multiplicand;\n    }, 1);\n\n    /**\n     * Computes `number` rounded to `precision`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.10.0\n     * @category Math\n     * @param {number} number The number to round.\n     * @param {number} [precision=0] The precision to round to.\n     * @returns {number} Returns the rounded number.\n     * @example\n     *\n     * _.round(4.006);\n     * // => 4\n     *\n     * _.round(4.006, 2);\n     * // => 4.01\n     *\n     * _.round(4060, -2);\n     * // => 4100\n     */\n    var round = createRound('round');\n\n    /**\n     * Subtract two numbers.\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Math\n     * @param {number} minuend The first number in a subtraction.\n     * @param {number} subtrahend The second number in a subtraction.\n     * @returns {number} Returns the difference.\n     * @example\n     *\n     * _.subtract(6, 4);\n     * // => 2\n     */\n    var subtract = createMathOperation(function(minuend, subtrahend) {\n      return minuend - subtrahend;\n    }, 0);\n\n    /**\n     * Computes the sum of the values in `array`.\n     *\n     * @static\n     * @memberOf _\n     * @since 3.4.0\n     * @category Math\n     * @param {Array} array The array to iterate over.\n     * @returns {number} Returns the sum.\n     * @example\n     *\n     * _.sum([4, 2, 8, 6]);\n     * // => 20\n     */\n    function sum(array) {\n      return (array && array.length)\n        ? baseSum(array, identity)\n        : 0;\n    }\n\n    /**\n     * This method is like `_.sum` except that it accepts `iteratee` which is\n     * invoked for each element in `array` to generate the value to be summed.\n     * The iteratee is invoked with one argument: (value).\n     *\n     * @static\n     * @memberOf _\n     * @since 4.0.0\n     * @category Math\n     * @param {Array} array The array to iterate over.\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n     * @returns {number} Returns the sum.\n     * @example\n     *\n     * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];\n     *\n     * _.sumBy(objects, function(o) { return o.n; });\n     * // => 20\n     *\n     * // The `_.property` iteratee shorthand.\n     * _.sumBy(objects, 'n');\n     * // => 20\n     */\n    function sumBy(array, iteratee) {\n      return (array && array.length)\n        ? baseSum(array, getIteratee(iteratee, 2))\n        : 0;\n    }\n\n    /*------------------------------------------------------------------------*/\n\n    // Add methods that return wrapped values in chain sequences.\n    lodash.after = after;\n    lodash.ary = ary;\n    lodash.assign = assign;\n    lodash.assignIn = assignIn;\n    lodash.assignInWith = assignInWith;\n    lodash.assignWith = assignWith;\n    lodash.at = at;\n    lodash.before = before;\n    lodash.bind = bind;\n    lodash.bindAll = bindAll;\n    lodash.bindKey = bindKey;\n    lodash.castArray = castArray;\n    lodash.chain = chain;\n    lodash.chunk = chunk;\n    lodash.compact = compact;\n    lodash.concat = concat;\n    lodash.cond = cond;\n    lodash.conforms = conforms;\n    lodash.constant = constant;\n    lodash.countBy = countBy;\n    lodash.create = create;\n    lodash.curry = curry;\n    lodash.curryRight = curryRight;\n    lodash.debounce = debounce;\n    lodash.defaults = defaults;\n    lodash.defaultsDeep = defaultsDeep;\n    lodash.defer = defer;\n    lodash.delay = delay;\n    lodash.difference = difference;\n    lodash.differenceBy = differenceBy;\n    lodash.differenceWith = differenceWith;\n    lodash.drop = drop;\n    lodash.dropRight = dropRight;\n    lodash.dropRightWhile = dropRightWhile;\n    lodash.dropWhile = dropWhile;\n    lodash.fill = fill;\n    lodash.filter = filter;\n    lodash.flatMap = flatMap;\n    lodash.flatMapDeep = flatMapDeep;\n    lodash.flatMapDepth = flatMapDepth;\n    lodash.flatten = flatten;\n    lodash.flattenDeep = flattenDeep;\n    lodash.flattenDepth = flattenDepth;\n    lodash.flip = flip;\n    lodash.flow = flow;\n    lodash.flowRight = flowRight;\n    lodash.fromPairs = fromPairs;\n    lodash.functions = functions;\n    lodash.functionsIn = functionsIn;\n    lodash.groupBy = groupBy;\n    lodash.initial = initial;\n    lodash.intersection = intersection;\n    lodash.intersectionBy = intersectionBy;\n    lodash.intersectionWith = intersectionWith;\n    lodash.invert = invert;\n    lodash.invertBy = invertBy;\n    lodash.invokeMap = invokeMap;\n    lodash.iteratee = iteratee;\n    lodash.keyBy = keyBy;\n    lodash.keys = keys;\n    lodash.keysIn = keysIn;\n    lodash.map = map;\n    lodash.mapKeys = mapKeys;\n    lodash.mapValues = mapValues;\n    lodash.matches = matches;\n    lodash.matchesProperty = matchesProperty;\n    lodash.memoize = memoize;\n    lodash.merge = merge;\n    lodash.mergeWith = mergeWith;\n    lodash.method = method;\n    lodash.methodOf = methodOf;\n    lodash.mixin = mixin;\n    lodash.negate = negate;\n    lodash.nthArg = nthArg;\n    lodash.omit = omit;\n    lodash.omitBy = omitBy;\n    lodash.once = once;\n    lodash.orderBy = orderBy;\n    lodash.over = over;\n    lodash.overArgs = overArgs;\n    lodash.overEvery = overEvery;\n    lodash.overSome = overSome;\n    lodash.partial = partial;\n    lodash.partialRight = partialRight;\n    lodash.partition = partition;\n    lodash.pick = pick;\n    lodash.pickBy = pickBy;\n    lodash.property = property;\n    lodash.propertyOf = propertyOf;\n    lodash.pull = pull;\n    lodash.pullAll = pullAll;\n    lodash.pullAllBy = pullAllBy;\n    lodash.pullAllWith = pullAllWith;\n    lodash.pullAt = pullAt;\n    lodash.range = range;\n    lodash.rangeRight = rangeRight;\n    lodash.rearg = rearg;\n    lodash.reject = reject;\n    lodash.remove = remove;\n    lodash.rest = rest;\n    lodash.reverse = reverse;\n    lodash.sampleSize = sampleSize;\n    lodash.set = set;\n    lodash.setWith = setWith;\n    lodash.shuffle = shuffle;\n    lodash.slice = slice;\n    lodash.sortBy = sortBy;\n    lodash.sortedUniq = sortedUniq;\n    lodash.sortedUniqBy = sortedUniqBy;\n    lodash.split = split;\n    lodash.spread = spread;\n    lodash.tail = tail;\n    lodash.take = take;\n    lodash.takeRight = takeRight;\n    lodash.takeRightWhile = takeRightWhile;\n    lodash.takeWhile = takeWhile;\n    lodash.tap = tap;\n    lodash.throttle = throttle;\n    lodash.thru = thru;\n    lodash.toArray = toArray;\n    lodash.toPairs = toPairs;\n    lodash.toPairsIn = toPairsIn;\n    lodash.toPath = toPath;\n    lodash.toPlainObject = toPlainObject;\n    lodash.transform = transform;\n    lodash.unary = unary;\n    lodash.union = union;\n    lodash.unionBy = unionBy;\n    lodash.unionWith = unionWith;\n    lodash.uniq = uniq;\n    lodash.uniqBy = uniqBy;\n    lodash.uniqWith = uniqWith;\n    lodash.unset = unset;\n    lodash.unzip = unzip;\n    lodash.unzipWith = unzipWith;\n    lodash.update = update;\n    lodash.updateWith = updateWith;\n    lodash.values = values;\n    lodash.valuesIn = valuesIn;\n    lodash.without = without;\n    lodash.words = words;\n    lodash.wrap = wrap;\n    lodash.xor = xor;\n    lodash.xorBy = xorBy;\n    lodash.xorWith = xorWith;\n    lodash.zip = zip;\n    lodash.zipObject = zipObject;\n    lodash.zipObjectDeep = zipObjectDeep;\n    lodash.zipWith = zipWith;\n\n    // Add aliases.\n    lodash.entries = toPairs;\n    lodash.entriesIn = toPairsIn;\n    lodash.extend = assignIn;\n    lodash.extendWith = assignInWith;\n\n    // Add methods to `lodash.prototype`.\n    mixin(lodash, lodash);\n\n    /*------------------------------------------------------------------------*/\n\n    // Add methods that return unwrapped values in chain sequences.\n    lodash.add = add;\n    lodash.attempt = attempt;\n    lodash.camelCase = camelCase;\n    lodash.capitalize = capitalize;\n    lodash.ceil = ceil;\n    lodash.clamp = clamp;\n    lodash.clone = clone;\n    lodash.cloneDeep = cloneDeep;\n    lodash.cloneDeepWith = cloneDeepWith;\n    lodash.cloneWith = cloneWith;\n    lodash.conformsTo = conformsTo;\n    lodash.deburr = deburr;\n    lodash.defaultTo = defaultTo;\n    lodash.divide = divide;\n    lodash.endsWith = endsWith;\n    lodash.eq = eq;\n    lodash.escape = escape;\n    lodash.escapeRegExp = escapeRegExp;\n    lodash.every = every;\n    lodash.find = find;\n    lodash.findIndex = findIndex;\n    lodash.findKey = findKey;\n    lodash.findLast = findLast;\n    lodash.findLastIndex = findLastIndex;\n    lodash.findLastKey = findLastKey;\n    lodash.floor = floor;\n    lodash.forEach = forEach;\n    lodash.forEachRight = forEachRight;\n    lodash.forIn = forIn;\n    lodash.forInRight = forInRight;\n    lodash.forOwn = forOwn;\n    lodash.forOwnRight = forOwnRight;\n    lodash.get = get;\n    lodash.gt = gt;\n    lodash.gte = gte;\n    lodash.has = has;\n    lodash.hasIn = hasIn;\n    lodash.head = head;\n    lodash.identity = identity;\n    lodash.includes = includes;\n    lodash.indexOf = indexOf;\n    lodash.inRange = inRange;\n    lodash.invoke = invoke;\n    lodash.isArguments = isArguments;\n    lodash.isArray = isArray;\n    lodash.isArrayBuffer = isArrayBuffer;\n    lodash.isArrayLike = isArrayLike;\n    lodash.isArrayLikeObject = isArrayLikeObject;\n    lodash.isBoolean = isBoolean;\n    lodash.isBuffer = isBuffer;\n    lodash.isDate = isDate;\n    lodash.isElement = isElement;\n    lodash.isEmpty = isEmpty;\n    lodash.isEqual = isEqual;\n    lodash.isEqualWith = isEqualWith;\n    lodash.isError = isError;\n    lodash.isFinite = isFinite;\n    lodash.isFunction = isFunction;\n    lodash.isInteger = isInteger;\n    lodash.isLength = isLength;\n    lodash.isMap = isMap;\n    lodash.isMatch = isMatch;\n    lodash.isMatchWith = isMatchWith;\n    lodash.isNaN = isNaN;\n    lodash.isNative = isNative;\n    lodash.isNil = isNil;\n    lodash.isNull = isNull;\n    lodash.isNumber = isNumber;\n    lodash.isObject = isObject;\n    lodash.isObjectLike = isObjectLike;\n    lodash.isPlainObject = isPlainObject;\n    lodash.isRegExp = isRegExp;\n    lodash.isSafeInteger = isSafeInteger;\n    lodash.isSet = isSet;\n    lodash.isString = isString;\n    lodash.isSymbol = isSymbol;\n    lodash.isTypedArray = isTypedArray;\n    lodash.isUndefined = isUndefined;\n    lodash.isWeakMap = isWeakMap;\n    lodash.isWeakSet = isWeakSet;\n    lodash.join = join;\n    lodash.kebabCase = kebabCase;\n    lodash.last = last;\n    lodash.lastIndexOf = lastIndexOf;\n    lodash.lowerCase = lowerCase;\n    lodash.lowerFirst = lowerFirst;\n    lodash.lt = lt;\n    lodash.lte = lte;\n    lodash.max = max;\n    lodash.maxBy = maxBy;\n    lodash.mean = mean;\n    lodash.meanBy = meanBy;\n    lodash.min = min;\n    lodash.minBy = minBy;\n    lodash.stubArray = stubArray;\n    lodash.stubFalse = stubFalse;\n    lodash.stubObject = stubObject;\n    lodash.stubString = stubString;\n    lodash.stubTrue = stubTrue;\n    lodash.multiply = multiply;\n    lodash.nth = nth;\n    lodash.noConflict = noConflict;\n    lodash.noop = noop;\n    lodash.now = now;\n    lodash.pad = pad;\n    lodash.padEnd = padEnd;\n    lodash.padStart = padStart;\n    lodash.parseInt = parseInt;\n    lodash.random = random;\n    lodash.reduce = reduce;\n    lodash.reduceRight = reduceRight;\n    lodash.repeat = repeat;\n    lodash.replace = replace;\n    lodash.result = result;\n    lodash.round = round;\n    lodash.runInContext = runInContext;\n    lodash.sample = sample;\n    lodash.size = size;\n    lodash.snakeCase = snakeCase;\n    lodash.some = some;\n    lodash.sortedIndex = sortedIndex;\n    lodash.sortedIndexBy = sortedIndexBy;\n    lodash.sortedIndexOf = sortedIndexOf;\n    lodash.sortedLastIndex = sortedLastIndex;\n    lodash.sortedLastIndexBy = sortedLastIndexBy;\n    lodash.sortedLastIndexOf = sortedLastIndexOf;\n    lodash.startCase = startCase;\n    lodash.startsWith = startsWith;\n    lodash.subtract = subtract;\n    lodash.sum = sum;\n    lodash.sumBy = sumBy;\n    lodash.template = template;\n    lodash.times = times;\n    lodash.toFinite = toFinite;\n    lodash.toInteger = toInteger;\n    lodash.toLength = toLength;\n    lodash.toLower = toLower;\n    lodash.toNumber = toNumber;\n    lodash.toSafeInteger = toSafeInteger;\n    lodash.toString = toString;\n    lodash.toUpper = toUpper;\n    lodash.trim = trim;\n    lodash.trimEnd = trimEnd;\n    lodash.trimStart = trimStart;\n    lodash.truncate = truncate;\n    lodash.unescape = unescape;\n    lodash.uniqueId = uniqueId;\n    lodash.upperCase = upperCase;\n    lodash.upperFirst = upperFirst;\n\n    // Add aliases.\n    lodash.each = forEach;\n    lodash.eachRight = forEachRight;\n    lodash.first = head;\n\n    mixin(lodash, (function() {\n      var source = {};\n      baseForOwn(lodash, function(func, methodName) {\n        if (!hasOwnProperty.call(lodash.prototype, methodName)) {\n          source[methodName] = func;\n        }\n      });\n      return source;\n    }()), { 'chain': false });\n\n    /*------------------------------------------------------------------------*/\n\n    /**\n     * The semantic version number.\n     *\n     * @static\n     * @memberOf _\n     * @type {string}\n     */\n    lodash.VERSION = VERSION;\n\n    // Assign default placeholders.\n    arrayEach(['bind', 'bindKey', 'curry', 'curryRight', 'partial', 'partialRight'], function(methodName) {\n      lodash[methodName].placeholder = lodash;\n    });\n\n    // Add `LazyWrapper` methods for `_.drop` and `_.take` variants.\n    arrayEach(['drop', 'take'], function(methodName, index) {\n      LazyWrapper.prototype[methodName] = function(n) {\n        n = n === undefined ? 1 : nativeMax(toInteger(n), 0);\n\n        var result = (this.__filtered__ && !index)\n          ? new LazyWrapper(this)\n          : this.clone();\n\n        if (result.__filtered__) {\n          result.__takeCount__ = nativeMin(n, result.__takeCount__);\n        } else {\n          result.__views__.push({\n            'size': nativeMin(n, MAX_ARRAY_LENGTH),\n            'type': methodName + (result.__dir__ < 0 ? 'Right' : '')\n          });\n        }\n        return result;\n      };\n\n      LazyWrapper.prototype[methodName + 'Right'] = function(n) {\n        return this.reverse()[methodName](n).reverse();\n      };\n    });\n\n    // Add `LazyWrapper` methods that accept an `iteratee` value.\n    arrayEach(['filter', 'map', 'takeWhile'], function(methodName, index) {\n      var type = index + 1,\n          isFilter = type == LAZY_FILTER_FLAG || type == LAZY_WHILE_FLAG;\n\n      LazyWrapper.prototype[methodName] = function(iteratee) {\n        var result = this.clone();\n        result.__iteratees__.push({\n          'iteratee': getIteratee(iteratee, 3),\n          'type': type\n        });\n        result.__filtered__ = result.__filtered__ || isFilter;\n        return result;\n      };\n    });\n\n    // Add `LazyWrapper` methods for `_.head` and `_.last`.\n    arrayEach(['head', 'last'], function(methodName, index) {\n      var takeName = 'take' + (index ? 'Right' : '');\n\n      LazyWrapper.prototype[methodName] = function() {\n        return this[takeName](1).value()[0];\n      };\n    });\n\n    // Add `LazyWrapper` methods for `_.initial` and `_.tail`.\n    arrayEach(['initial', 'tail'], function(methodName, index) {\n      var dropName = 'drop' + (index ? '' : 'Right');\n\n      LazyWrapper.prototype[methodName] = function() {\n        return this.__filtered__ ? new LazyWrapper(this) : this[dropName](1);\n      };\n    });\n\n    LazyWrapper.prototype.compact = function() {\n      return this.filter(identity);\n    };\n\n    LazyWrapper.prototype.find = function(predicate) {\n      return this.filter(predicate).head();\n    };\n\n    LazyWrapper.prototype.findLast = function(predicate) {\n      return this.reverse().find(predicate);\n    };\n\n    LazyWrapper.prototype.invokeMap = baseRest(function(path, args) {\n      if (typeof path == 'function') {\n        return new LazyWrapper(this);\n      }\n      return this.map(function(value) {\n        return baseInvoke(value, path, args);\n      });\n    });\n\n    LazyWrapper.prototype.reject = function(predicate) {\n      return this.filter(negate(getIteratee(predicate)));\n    };\n\n    LazyWrapper.prototype.slice = function(start, end) {\n      start = toInteger(start);\n\n      var result = this;\n      if (result.__filtered__ && (start > 0 || end < 0)) {\n        return new LazyWrapper(result);\n      }\n      if (start < 0) {\n        result = result.takeRight(-start);\n      } else if (start) {\n        result = result.drop(start);\n      }\n      if (end !== undefined) {\n        end = toInteger(end);\n        result = end < 0 ? result.dropRight(-end) : result.take(end - start);\n      }\n      return result;\n    };\n\n    LazyWrapper.prototype.takeRightWhile = function(predicate) {\n      return this.reverse().takeWhile(predicate).reverse();\n    };\n\n    LazyWrapper.prototype.toArray = function() {\n      return this.take(MAX_ARRAY_LENGTH);\n    };\n\n    // Add `LazyWrapper` methods to `lodash.prototype`.\n    baseForOwn(LazyWrapper.prototype, function(func, methodName) {\n      var checkIteratee = /^(?:filter|find|map|reject)|While$/.test(methodName),\n          isTaker = /^(?:head|last)$/.test(methodName),\n          lodashFunc = lodash[isTaker ? ('take' + (methodName == 'last' ? 'Right' : '')) : methodName],\n          retUnwrapped = isTaker || /^find/.test(methodName);\n\n      if (!lodashFunc) {\n        return;\n      }\n      lodash.prototype[methodName] = function() {\n        var value = this.__wrapped__,\n            args = isTaker ? [1] : arguments,\n            isLazy = value instanceof LazyWrapper,\n            iteratee = args[0],\n            useLazy = isLazy || isArray(value);\n\n        var interceptor = function(value) {\n          var result = lodashFunc.apply(lodash, arrayPush([value], args));\n          return (isTaker && chainAll) ? result[0] : result;\n        };\n\n        if (useLazy && checkIteratee && typeof iteratee == 'function' && iteratee.length != 1) {\n          // Avoid lazy use if the iteratee has a \"length\" value other than `1`.\n          isLazy = useLazy = false;\n        }\n        var chainAll = this.__chain__,\n            isHybrid = !!this.__actions__.length,\n            isUnwrapped = retUnwrapped && !chainAll,\n            onlyLazy = isLazy && !isHybrid;\n\n        if (!retUnwrapped && useLazy) {\n          value = onlyLazy ? value : new LazyWrapper(this);\n          var result = func.apply(value, args);\n          result.__actions__.push({ 'func': thru, 'args': [interceptor], 'thisArg': undefined });\n          return new LodashWrapper(result, chainAll);\n        }\n        if (isUnwrapped && onlyLazy) {\n          return func.apply(this, args);\n        }\n        result = this.thru(interceptor);\n        return isUnwrapped ? (isTaker ? result.value()[0] : result.value()) : result;\n      };\n    });\n\n    // Add `Array` methods to `lodash.prototype`.\n    arrayEach(['pop', 'push', 'shift', 'sort', 'splice', 'unshift'], function(methodName) {\n      var func = arrayProto[methodName],\n          chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru',\n          retUnwrapped = /^(?:pop|shift)$/.test(methodName);\n\n      lodash.prototype[methodName] = function() {\n        var args = arguments;\n        if (retUnwrapped && !this.__chain__) {\n          var value = this.value();\n          return func.apply(isArray(value) ? value : [], args);\n        }\n        return this[chainName](function(value) {\n          return func.apply(isArray(value) ? value : [], args);\n        });\n      };\n    });\n\n    // Map minified method names to their real names.\n    baseForOwn(LazyWrapper.prototype, function(func, methodName) {\n      var lodashFunc = lodash[methodName];\n      if (lodashFunc) {\n        var key = lodashFunc.name + '';\n        if (!hasOwnProperty.call(realNames, key)) {\n          realNames[key] = [];\n        }\n        realNames[key].push({ 'name': methodName, 'func': lodashFunc });\n      }\n    });\n\n    realNames[createHybrid(undefined, WRAP_BIND_KEY_FLAG).name] = [{\n      'name': 'wrapper',\n      'func': undefined\n    }];\n\n    // Add methods to `LazyWrapper`.\n    LazyWrapper.prototype.clone = lazyClone;\n    LazyWrapper.prototype.reverse = lazyReverse;\n    LazyWrapper.prototype.value = lazyValue;\n\n    // Add chain sequence methods to the `lodash` wrapper.\n    lodash.prototype.at = wrapperAt;\n    lodash.prototype.chain = wrapperChain;\n    lodash.prototype.commit = wrapperCommit;\n    lodash.prototype.next = wrapperNext;\n    lodash.prototype.plant = wrapperPlant;\n    lodash.prototype.reverse = wrapperReverse;\n    lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue;\n\n    // Add lazy aliases.\n    lodash.prototype.first = lodash.prototype.head;\n\n    if (symIterator) {\n      lodash.prototype[symIterator] = wrapperToIterator;\n    }\n    return lodash;\n  });\n\n  /*--------------------------------------------------------------------------*/\n\n  // Export lodash.\n  var _ = runInContext();\n\n  // Some AMD build optimizers, like r.js, check for condition patterns like:\n  if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {\n    // Expose Lodash on the global object to prevent errors when Lodash is\n    // loaded by a script tag in the presence of an AMD loader.\n    // See http://requirejs.org/docs/errors.html#mismatch for more details.\n    // Use `_.noConflict` to remove Lodash from the global object.\n    root._ = _;\n\n    // Define as an anonymous module so, through path mapping, it can be\n    // referenced as the \"underscore\" module.\n    define(function() {\n      return _;\n    });\n  }\n  // Check for `exports` after `define` in case a build optimizer adds it.\n  else if (freeModule) {\n    // Export for Node.js.\n    (freeModule.exports = _)._ = _;\n    // Export for CommonJS support.\n    freeExports._ = _;\n  }\n  else {\n    // Export to the global object.\n    root._ = _;\n  }\n}.call(this));\n","import { isEqual, sortBy } from 'lodash';\n\n/** Order-insensitive match: groups and items within each group compared as sets. */\nexport function areMatcherEqual(\n  expected: string[][],\n  result?: string[][],\n): boolean {\n  if (!Array.isArray(result)) return false;\n  if (expected.length !== result.length) return false;\n\n  const normalize = (groups: string[][]): string[][] =>\n    sortBy(groups.map(g => sortBy(g)), g => g.join('|'));\n\n  return isEqual(normalize(expected), normalize(result));\n}\n","import { sortBy } from 'lodash';\nimport type { GroupValidation } from '../types';\n\n/**\n * Returns per-group validation for a PairMatcher widget.\n * Each entry: the pair the user formed + whether it matches an expected pair.\n *\n * Each expected pair is consumed on first match (deleted from the working set),\n * so a duplicate user pair will not find it again and is marked incorrect.\n */\nexport function getPairMatcherGroupResults(\n  expected: string[][],\n  result?: string[][],\n): GroupValidation[] {\n  if (!Array.isArray(result)) return [];\n  const normalizeGroup = (g: string[]) => sortBy(g).join('|');\n  const expectedKeys = new Set(expected.map(normalizeGroup));\n  return result.map(group => {\n    const key = normalizeGroup(group);\n    if (expectedKeys.has(key)) {\n      expectedKeys.delete(key);\n      return { group, isCorrect: true };\n    }\n    return { group, isCorrect: false };\n  });\n}\n","/**\n * VISUAL_FRACTION Validator\n *\n * Compares count arrays order-insensitively — [2, 4] matches [4, 2].\n */\nimport { isEqual, sortBy } from 'lodash';\n\n/** Returns true iff both arrays contain the same multiset of counts. */\nexport function areVisualFractionCountsEqual(\n  expected: number[],\n  result?: number[],\n): boolean {\n  if (!Array.isArray(result)) return false;\n  if (expected.length !== result.length) return false;\n  return isEqual(sortBy(expected), sortBy(result));\n}\n","/**\n * Simple Validation Mode\n *\n * Each widget has a predetermined correct answer.\n * Validation checks if user input matches the expected answer.\n */\nimport type { ValidatedExerciseJSON, NumberLineItem, LayoutItem } from '../transformers/json-schema';\nimport { isWidgetRef } from '../transformers/json-schema';\nimport { ValidationResult, WidgetValidation } from './types';\nimport { isNLDragCorrect, isNLDragEncoded } from '../utils/number-line.utils';\nimport { JSON_TYPES } from '../constants';\nimport { normalize } from '../utils';\nimport { create, all, MathJsStatic, FactoryFunctionMap } from 'mathjs';\nimport { areMatcherEqual } from './widget-validators/matcher';\nimport { getPairMatcherGroupResults } from './widget-validators/pair-matcher';\nimport { areVisualFractionCountsEqual } from './widget-validators/visual-fraction';\n\nconst math = create(all as FactoryFunctionMap) as MathJsStatic;\n\n// Recursively collects all NumberLine items, including those nested inside GROUP blocks.\nfunction collectNumberLines(items: LayoutItem[]): NumberLineItem[] {\n  const result: NumberLineItem[] = [];\n  for (const item of items) {\n    if (item.type === JSON_TYPES.NUMBER_LINE) result.push(item);\n    else if (item.type === JSON_TYPES.GROUP) result.push(...collectNumberLines(item.items));\n  }\n  return result;\n}\n\n// Builds widgetId → axis position for every POSITION slot across all number lines.\nfunction buildPositionMap(exercise: ValidatedExerciseJSON): Record<string, number> {\n  const map: Record<string, number> = {};\n  for (const nl of collectNumberLines(exercise.layout)) {\n    for (const pos of nl.positions) {\n      for (const c of pos.content) {\n        // One widget per POSITION is enforced at parse time (src/ast/number-line.ts:44).\n        // The break is intentional — there can never be more than one ref here.\n        if (isWidgetRef(c)) { map[c.widgetId] = pos.value; break; }\n      }\n    }\n  }\n  return map;\n}\n\n/**\n * Validate using simple mode (predetermined answers)\n *\n * @param exercise - The exercise JSON (with validation present)\n * @param userInputs - User's answers keyed by widget ID\n * @returns Validation result\n */\nexport function validateSimple(\n  exercise: ValidatedExerciseJSON,\n  userInputs: Record<string, string | number | string[][] | number[]>\n): ValidationResult {\n  const details: Record<string, WidgetValidation> = {};\n  let allCorrect = true;\n  let correctCount = 0;\n  let totalCount = 0;\n\n  // Check that we have answers to validate against\n  const answers = exercise.validation.answers;\n  if (!answers) {\n    return {\n      isCorrect: false,\n      details: {},\n      score: 0,\n      error: 'No answers defined for simple validation'\n    };\n  }\n\n  // widgetId → axis value for every POSITION[value=…] slot (used for drag validation)\n  const positionMap = buildPositionMap(exercise);\n\n  // Validate each widget that has an expected answer\n  for (const [widgetId, expected] of Object.entries(answers)) {\n    // Matcher widget — use dedicated order-insensitive comparator.\n    const widget = exercise.widgets[widgetId];\n    if (widget?.type === JSON_TYPES.MATCHER) {\n      const userValue = userInputs[widgetId] as string[][] | undefined;\n      const isCorrect = areMatcherEqual(expected as string[][], userValue);\n      details[widgetId] = { widgetId, userValue, isCorrect };\n      totalCount++;\n      if (isCorrect) correctCount++;\n      else allCorrect = false;\n      continue;\n    }\n\n    // Pair matcher — isCorrect derived from groupResults (single validation pass).\n    if (widget?.type === JSON_TYPES.PAIR_MATCHER) {\n      const userValue = userInputs[widgetId] as string[][] | undefined;\n      const groupResults = getPairMatcherGroupResults(expected as string[][], userValue);\n      const isCorrect = groupResults.length === (expected as string[][]).length\n        && groupResults.every(r => r.isCorrect);\n      details[widgetId] = {\n        widgetId,\n        userValue,\n        isCorrect,\n        groupResults,\n      };\n      totalCount++;\n      if (isCorrect) correctCount++;\n      else allCorrect = false;\n      continue;\n    }\n\n    // VISUAL_FRACTION widget — compare count arrays positionally\n    if (widget?.type === JSON_TYPES.VISUAL_FRACTION) {\n      const userValue = userInputs[widgetId] as number[] | undefined;\n      const isCorrect = areVisualFractionCountsEqual(expected as number[], userValue);\n      details[widgetId] = { widgetId, userValue, isCorrect };\n      totalCount++;\n      if (isCorrect) correctCount++;\n      else allCorrect = false;\n      continue;\n    }\n\n    totalCount++;\n    const userValue = userInputs[widgetId];\n\n    // Check if this is a fraction widget with simplified=false (lenient mode)\n    const isFractionLenient = widget?.type === JSON_TYPES.FRACTION\n      && (widget as any).simplified === false;\n\n    const isCorrect = isFractionLenient\n      ? areFractionsEquivalent(userValue as string | number | undefined, expected as string | number)\n      : areValuesEqual(userValue as string | number | undefined, expected as string | number, positionMap[widgetId]);\n\n    details[widgetId] = {\n      widgetId,\n      userValue,\n      isCorrect\n    };\n\n    if (isCorrect) {\n      correctCount++;\n    } else {\n      allCorrect = false;\n    }\n  }\n\n  // Check for any widgets the user provided input for but we don't have answers for\n  // (this shouldn't happen in normal use, but we track it for debugging)\n  for (const widgetId of Object.keys(userInputs)) {\n    if (!(widgetId in answers) && !(widgetId in details)) {\n      details[widgetId] = {\n        widgetId,\n        userValue: userInputs[widgetId],\n        isCorrect: true // No validation rule = assume correct\n      };\n    }\n  }\n\n  return {\n    isCorrect: allCorrect,\n    details,\n    score: totalCount > 0 ? correctCount / totalCount : 0\n  };\n}\n\nfunction areValuesEqual(\n  userValue: string | number | undefined,\n  expected: string | number,\n  expectedPosition?: number\n): boolean {\n  if (userValue === undefined || userValue === null) return false;\n\n  if (typeof userValue === 'string' && isNLDragEncoded(userValue)) {\n    // Drag value without a declared POSITION slot is a DSL misconfiguration → reject.\n    if (expectedPosition === undefined) return false;\n    return isNLDragCorrect(userValue, expected, expectedPosition);\n  }\n\n  return normalize(userValue) === normalize(expected);\n}\n\n/**\n * Compare two fraction strings using mathjs fraction equivalence.\n * \"10/6\" and \"5/3\" are equivalent because math.equal(fraction(10,6), fraction(5,3)) is true.\n * Falls back to string equality if parsing fails.\n */\nfunction areFractionsEquivalent(\n  user: string | number | undefined,\n  expected: string | number\n): boolean {\n  if (user === undefined || user === null) return false;\n\n  try {\n    const userFrac = math.fraction(String(user));\n    const expectedFrac = math.fraction(String(expected));\n    return math.equal(userFrac, expectedFrac) as boolean;\n  } catch {\n    // Fallback to string comparison if mathjs can't parse\n    return areValuesEqual(user, expected);\n  }\n}\n","/**\n * Safe Math Expression Evaluator\n * \n * Evaluates mathematical expressions in a sandboxed environment.\n * Used for expression-based validation.\n */\nimport { create, all, MathJsStatic, FactoryFunctionMap } from 'mathjs';\n\n// Create a sandboxed mathjs instance\nconst math = create(all as FactoryFunctionMap) as MathJsStatic;\n\n// List of potentially dangerous functions to disable\nconst BLOCKED_FUNCTIONS = [\n  'import',\n  'createUnit',\n  // Note: We keep 'parse', 'compile', 'evaluate', and 'typed' since they're needed for basic operations\n  'chain',\n  'resolve',\n  'simplify',\n  'derivative',\n  'rationalize',\n  'help'\n];\n\n// Remove dangerous functions from the math instance\nfor (const fn of BLOCKED_FUNCTIONS) {\n  try {\n    // @ts-ignore - dynamically removing functions\n    if ((math as any)[fn]) {\n      delete (math as any)[fn];\n    }\n  } catch {\n    // Some functions may not be deletable, that's okay\n  }\n}\n\n/**\n * Check for invalid operator patterns that mathjs might parse but shouldn't be allowed\n */\nfunction hasInvalidOperatorPattern(expression: string): boolean {\n  // Check for consecutive operators like +++, ---, ***, etc.\n  // Allow ++ and -- as they could be valid in some contexts, but not +++\n  const invalidPatterns = [\n    /\\+{3,}/,  // 3 or more consecutive +\n    /-{3,}/,   // 3 or more consecutive -\n    /\\*{2,}/,  // 2 or more consecutive *\n    /\\/{2,}/,  // 2 or more consecutive /\n    /\\^{2,}/,  // 2 or more consecutive ^\n    /\\({3,}/,  // 3 or more consecutive (\n    /\\){3,}/,  // 3 or more consecutive )\n  ];\n  \n  return invalidPatterns.some(pattern => pattern.test(expression));\n}\n\n/**\n * Evaluate a mathematical expression with the given variable scope\n * \n * @param expression - The expression to evaluate (e.g., \"(a * b) + (c * d) == 1200\")\n * @param scope - Variable bindings (e.g., { a: 10, b: 5, c: 20, d: 30 })\n * @returns The boolean result of the expression\n * @throws Error if evaluation fails\n */\nexport function evaluate(\n  expression: string,\n  scope: Record<string, number>\n): boolean {\n  try {\n    // Validate input\n    if (typeof expression !== 'string' || expression.trim().length === 0) {\n      throw new Error('Expression must be a non-empty string');\n    }\n\n    // Normalize JavaScript operators to MathJS operators\n    // MathJS uses == and != instead of === and !==\n    expression = expression.replace(/===/g, '==').replace(/!==/g, '!=');\n\n    // Check for invalid operator patterns\n    if (hasInvalidOperatorPattern(expression)) {\n      throw new Error('Expression contains invalid operator patterns');\n    }\n\n    // Validate scope values\n    for (const [key, value] of Object.entries(scope)) {\n      if (typeof value !== 'number' || !Number.isFinite(value)) {\n        throw new Error(`Invalid value for variable '${key}': must be a finite number`);\n      }\n    }\n\n    // Freeze scope to prevent modification\n    const frozenScope = Object.freeze({ ...scope });\n\n    // Parse the expression\n    const node = math.parse(expression);\n\n    // Compile to executable code\n    const code = node.compile();\n\n    // Evaluate with scope\n    const result = code.evaluate(frozenScope);\n\n    // Ensure we return a boolean\n    if (typeof result === 'boolean') {\n      return result;\n    }\n\n    // mathjs might return a number for comparisons in some cases\n    if (typeof result === 'number') {\n      return result !== 0;\n    }\n\n    // Handle mathjs boolean-like objects\n    if (result && typeof result.valueOf === 'function') {\n      const value = result.valueOf();\n      if (typeof value === 'boolean') {\n        return value;\n      }\n    }\n\n    // Default to false for non-boolean results\n    console.warn('Expression did not return a boolean:', expression, '→', result);\n    return false;\n\n  } catch (error) {\n    // Re-throw with more context\n    const message = error instanceof Error ? error.message : String(error);\n    throw new Error(`Failed to evaluate expression \"${expression}\": ${message}`);\n  }\n}\n\n/**\n * Check if an expression is syntactically valid\n * \n * @param expression - The expression to check\n * @returns true if valid, false otherwise\n */\nexport function isValidExpression(expression: string): boolean {\n  try {\n    // Normalize JavaScript operators to MathJS operators\n    expression = expression.replace(/===/g, '==').replace(/!==/g, '!=');\n    \n    // Check for invalid operator patterns first\n    if (hasInvalidOperatorPattern(expression)) {\n      return false;\n    }\n    \n    math.parse(expression);\n    return true;\n  } catch {\n    return false;\n  }\n}\n\n/**\n * Extract variable names from an expression\n *\n * @param expression - The expression to analyze\n * @param validVariables - Optional list of valid variable names to filter by (e.g., from exercise widgets)\n * @returns Array of variable names\n */\nexport function extractVariables(expression: string, validVariables?: string[]): string[] {\n  try {\n    // Normalize JavaScript operators to MathJS operators\n    expression = expression.replace(/===/g, '==').replace(/!==/g, '!=');\n\n    const node = math.parse(expression);\n    const variables = new Set<string>();\n\n    // Walk the expression tree to find symbol nodes\n    node.traverse((node: any) => {\n      if (node.isSymbolNode && !isMathConstant(node.name)) {\n        variables.add(node.name);\n      }\n    });\n\n    const extractedVars = Array.from(variables).sort();\n\n    // If validVariables is provided, only return variables that are in the valid list\n    if (validVariables && validVariables.length > 0) {\n      return extractedVars.filter(v => validVariables.includes(v));\n    }\n\n    return extractedVars;\n  } catch {\n    return [];\n  }\n}\n\n/**\n * Check if a name is a math constant (not a variable)\n */\nfunction isMathConstant(name: string): boolean {\n  const constants = ['pi', 'e', 'i', 'Infinity', 'NaN', 'null', 'undefined', 'true', 'false'];\n  return constants.includes(name);\n}\n\n/**\n * Validate that an expression will return a boolean\n * \n * @param expression - The expression to check\n * @returns Error message if invalid, null if valid\n */\nexport function validateBooleanExpression(expression: string): string | null {\n  try {\n    // Normalize JavaScript operators to MathJS operators\n    expression = expression.replace(/===/g, '==').replace(/!==/g, '!=');\n    \n    const node = math.parse(expression);\n    \n    // Check if the root node is a comparison or logical operation\n    const validRootOps = ['==', '!=', '<', '>', '<=', '>=', 'and', 'or', 'not', 'xor'];\n    \n    // Type guard for operator nodes\n    if ((node as any).isOperatorNode && validRootOps.includes((node as any).op)) {\n      return null;\n    }\n\n    // Type guard for constant nodes\n    if ((node as any).isConstantNode && typeof (node as any).value === 'boolean') {\n      return null;\n    }\n\n    return 'Expression should be a comparison (e.g., \"a + b == 100\")';\n\n  } catch (error) {\n    return error instanceof Error ? error.message : 'Invalid expression syntax';\n  }\n}\n","/**\n * Expression-based Validation Mode\n * \n * User answers are validated by evaluating a boolean expression.\n * Variables in the expression are bound to user inputs.\n */\nimport { ValidatedExerciseJSON } from '../transformers/json-schema';\nimport { ValidationResult, WidgetValidation } from './types';\nimport { evaluate, extractVariables } from './evaluator';\n\n/**\n * Validate using expression mode\n *\n * @param exercise - The exercise JSON (with validation present)\n * @param userInputs - User's answers keyed by widget ID (variable names)\n * @returns Validation result\n */\nexport function validateExpression(\n  exercise: ValidatedExerciseJSON,\n  userInputs: Record<string, string | number>\n): ValidationResult {\n  const details: Record<string, WidgetValidation> = {};\n  const { expression, variables } = exercise.validation;\n\n  // Validate that we have an expression\n  if (!expression) {\n    return {\n      isCorrect: false,\n      details: {},\n      error: 'No expression defined for validation'\n    };\n  }\n\n  // Get valid variable names from the exercise widgets (these are the actual input names)\n  const validVariableNames = Object.keys(exercise.widgets);\n\n  // Get variables from the expression (use provided list or extract from expression, filtered by valid names)\n  const expectedVariables = variables ?? extractVariables(expression, validVariableNames);\n\n  // Build the scope for evaluation\n  const scope: Record<string, number> = {};\n  let hasInvalidInput = false;\n\n  for (const varName of expectedVariables) {\n    const rawValue = userInputs[varName];\n    \n    // Check if input exists\n    if (rawValue === undefined || rawValue === null || rawValue === '') {\n      details[varName] = {\n        widgetId: varName,\n        userValue: rawValue,\n        isCorrect: false,\n        error: 'No input provided'\n      };\n      hasInvalidInput = true;\n      continue;\n    }\n\n    // Convert to number (supports fraction strings like \"5/3\")\n    const numValue = typeof rawValue === 'number'\n      ? rawValue\n      : parseFractionOrNumber(String(rawValue).trim());\n\n    if (!Number.isFinite(numValue)) {\n      details[varName] = {\n        widgetId: varName,\n        userValue: rawValue,\n        isCorrect: false,\n        error: 'Invalid number'\n      };\n      hasInvalidInput = true;\n      continue;\n    }\n\n    // Valid input\n    scope[varName] = numValue;\n    details[varName] = {\n      widgetId: varName,\n      userValue: rawValue,\n      isCorrect: true // Will be updated based on expression result\n    };\n  }\n\n  // If any input is invalid, the whole exercise is incorrect\n  if (hasInvalidInput) {\n    return {\n      isCorrect: false,\n      details,\n      error: 'Invalid input values'\n    };\n  }\n\n  // Evaluate the expression\n  try {\n    const result = evaluate(expression, scope);\n\n    // Update all widget validations based on overall result\n    // In expression mode, we can't determine which individual widget is \"wrong\"\n    // The expression either passes or fails as a whole\n    for (const varName of expectedVariables) {\n      if (details[varName]) {\n        details[varName].isCorrect = result;\n      }\n    }\n\n    return {\n      isCorrect: result,\n      details,\n      expression,\n      scope\n    };\n\n  } catch (error) {\n    const errorMessage = error instanceof Error ? error.message : String(error);\n    \n    // Mark all as incorrect on evaluation error\n    for (const varName of expectedVariables) {\n      if (details[varName]) {\n        details[varName].isCorrect = false;\n      }\n    }\n\n    return {\n      isCorrect: false,\n      details,\n      error: `Evaluation error: ${errorMessage}`\n    };\n  }\n}\n\n/**\n * Check if any combination of values can satisfy the expression\n * (useful for debugging/testing exercises)\n *\n * @param expression - The expression to check\n * @param ranges - Value ranges for each variable\n * @returns First valid combination found, or null\n */\nexport function findValidCombination(\n  expression: string,\n  ranges: Record<string, { min: number; max: number; step?: number }>\n): Record<string, number> | null {\n  // Extract variables, filtering by the keys in ranges (these are the valid variable names)\n  const validVariableNames = Object.keys(ranges);\n  const variables = extractVariables(expression, validVariableNames);\n  \n  // Build value arrays for each variable\n  const valueArrays: number[][] = [];\n  const varNames: string[] = [];\n\n  for (const varName of variables) {\n    const range = ranges[varName] ?? { min: 1, max: 100, step: 1 };\n    const values: number[] = [];\n    for (let v = range.min; v <= range.max; v += (range.step ?? 1)) {\n      values.push(v);\n    }\n    valueArrays.push(values);\n    varNames.push(varName);\n  }\n\n  // Try all combinations (brute force, for small ranges only)\n  const maxIterations = 10000;\n  let iterations = 0;\n\n  function* combinations(arrays: number[][], prefix: number[] = []): Generator<number[]> {\n    if (arrays.length === 0) {\n      yield prefix;\n      return;\n    }\n    const [first, ...rest] = arrays;\n    for (const value of first!) {\n      yield* combinations(rest, [...prefix, value]);\n    }\n  }\n\n  for (const combo of combinations(valueArrays)) {\n    if (iterations++ > maxIterations) break;\n\n    const scope: Record<string, number> = {};\n    for (let i = 0; i < varNames.length; i++) {\n      scope[varNames[i]!] = combo[i]!;\n    }\n\n    try {\n      if (evaluate(expression, scope)) {\n        return scope;\n      }\n    } catch {\n      continue;\n    }\n  }\n\n  return null;\n}\n\n/**\n * Parse a value that may be a plain number (\"5\") or a fraction string (\"5/3\").\n * Returns NaN if neither format is valid.\n */\nfunction parseFractionOrNumber(s: string): number {\n  const parts = s.split('/');\n  if (parts.length === 2) {\n    const num = parseFloat(parts[0]!);\n    const den = parseFloat(parts[1]!);\n    if (Number.isFinite(num) && Number.isFinite(den) && den !== 0) {\n      return num / den;\n    }\n    return NaN;\n  }\n  return parseFloat(s);\n}\n","/**\n * Mixed Validation Mode\n *\n * Combines simple per-widget answer matching with expression-based validation.\n *\n * Semantics:\n *   - Every widget with a declared `answer` must match (simple equality).\n *   - The boolean `expression` must evaluate true with user inputs in scope.\n *   - Overall isCorrect = simple.isCorrect AND expression result.\n *\n * Score formula (per project decision):\n *   score = (simpleCorrect + (expressionPassed ? 1 : 0)) / (simpleCount + 1)\n *\n * Per-widget detail merging:\n *   - Widget that has an answer AND appears in expression → AND of both verdicts.\n *   - Widget with only an answer → simple verdict.\n *   - Widget that is only an expression free variable → expression verdict.\n */\nimport type { ValidatedExerciseJSON } from '../transformers/json-schema';\nimport { ValidationResult, WidgetValidation } from './types';\nimport { validateSimple } from './simple';\nimport { validateExpression } from './expression';\n\n/**\n * Validate using mixed mode (simple answers + expression).\n *\n * @param exercise - The exercise JSON (with validation present)\n * @param userInputs - User's answers keyed by widget ID\n * @returns Validation result\n */\nexport function validateMixed(\n  exercise: ValidatedExerciseJSON,\n  userInputs: Record<string, string | number | string[][] | number[]>\n): ValidationResult {\n  const answers = exercise.validation.answers ?? {};\n\n  // Run simple over the answers subset. validateSimple already iterates `answers`.\n  const simpleResult = validateSimple(exercise, userInputs);\n\n  // Run expression over scalar inputs only (matcher/visual-fraction values\n  // don't participate in arithmetic expressions).\n  const scalarInputs: Record<string, string | number> = {};\n  for (const [k, v] of Object.entries(userInputs)) {\n    if (typeof v === 'string' || typeof v === 'number') scalarInputs[k] = v;\n  }\n  const exprResult = validateExpression(exercise, scalarInputs);\n\n  // Merge per-widget details. For each widget we expose:\n  //   - `simpleCorrect`  : set when widget has an `answer` in validation (local equality check)\n  //   - `expressionCorrect`: set when widget appears in the expression (global expr verdict)\n  //   - `isCorrect`      : AND of whichever verdicts apply (aggregate, for backward-compat)\n  //\n  // We key off `Object.keys(answers)` rather than `simpleResult.details`, because\n  // validateSimple inserts filler details (isCorrect=true) for every input the user\n  // supplied — including pure expression free vars — which would be misread as a\n  // simple verdict here.\n  const details: Record<string, WidgetValidation> = {};\n  const answerKeys = new Set(Object.keys(answers));\n\n  for (const k of answerKeys) {\n    const simpleDetail = simpleResult.details[k];\n    if (!simpleDetail) continue; // defensive: validateSimple should always emit a detail per answer\n    const inExpr = k in exprResult.details;\n    details[k] = {\n      ...simpleDetail,\n      simpleCorrect: simpleDetail.isCorrect,\n      ...(inExpr && { expressionCorrect: exprResult.isCorrect }),\n      isCorrect: inExpr ? simpleDetail.isCorrect && exprResult.isCorrect : simpleDetail.isCorrect,\n    };\n  }\n  for (const [k, detail] of Object.entries(exprResult.details)) {\n    if (!(k in details)) {\n      details[k] = {\n        ...detail,\n        expressionCorrect: exprResult.isCorrect,\n      };\n    }\n  }\n\n  // Score per agreed formula.\n  const simpleCount = Object.keys(answers).length;\n  let simpleCorrect = 0;\n  for (const k of Object.keys(answers)) {\n    if (simpleResult.details[k]?.isCorrect) simpleCorrect++;\n  }\n  const score = (simpleCorrect + (exprResult.isCorrect ? 1 : 0)) / (simpleCount + 1);\n\n  const isCorrect = simpleResult.isCorrect && exprResult.isCorrect;\n\n  const result: ValidationResult = {\n    isCorrect,\n    details,\n    score,\n    expression: exercise.validation.expression,\n    scope: exprResult.scope,\n  };\n\n  // Propagate the first useful error if anything failed (expression first, simple as fallback).\n  const propagatedError = exprResult.error ?? simpleResult.error;\n  if (!isCorrect && propagatedError) {\n    result.error = propagatedError;\n  }\n\n  return result;\n}\n","/**\n * Fraction Values Preprocessor\n *\n * Combines fraction compound keys (x__num, x__den) into \"num/den\" strings\n * before values reach the validators. Also fills in fixed numerator/denominator\n * values from the widget config.\n *\n * This runs before both simple and expression validation.\n */\nimport type { ExerciseJSON } from '../transformers/json-schema';\nimport { JSON_TYPES } from '../constants';\nimport { getFractionKey, isFractionKey } from '../utils/fraction-keys';\n\ntype InputValue = string | number | string[][] | number[];\n\nexport function preprocessFractionValues(\n  exercise: ExerciseJSON,\n  userInputs: Record<string, InputValue>\n): Record<string, InputValue> {\n  const result: Record<string, InputValue> = { ...userInputs };\n\n  for (const [widgetId, widget] of Object.entries(exercise.widgets)) {\n    if (widget.type !== JSON_TYPES.FRACTION) continue;\n\n    const numKey = getFractionKey(widgetId, 'num');\n    const denKey = getFractionKey(widgetId, 'den');\n\n    const rawNum = result[numKey];\n    const rawDen = result[denKey];\n\n    const numEffective = widget.numerator !== null\n      ? String(widget.numerator)\n      : (typeof rawNum === 'string' || typeof rawNum === 'number' ? String(rawNum) : '');\n    const denEffective = widget.denominator !== null\n      ? String(widget.denominator)\n      : (typeof rawDen === 'string' || typeof rawDen === 'number' ? String(rawDen) : '');\n\n    if (numEffective !== '' && denEffective !== '') {\n      result[widgetId] = `${numEffective}/${denEffective}`;\n    }\n\n    delete result[numKey];\n    delete result[denKey];\n  }\n\n  for (const key of Object.keys(result)) {\n    if (isFractionKey(key)) {\n      delete result[key];\n    }\n  }\n\n  return result;\n}\n","/**\n * Validation Module\n *\n * Provides the main validate() function and supporting utilities.\n */\nimport { ExerciseJSON, ValidatedExerciseJSON } from '../transformers/json-schema';\nimport { validateSimple } from './simple';\nimport { validateExpression } from './expression';\nimport { validateMixed } from './mixed';\nimport { ValidationResult } from './types';\nimport { VALIDATION_MODES, JSON_TYPES, INPUT_TYPES } from '../constants';\nimport { preprocessFractionValues } from './fraction-preprocessor';\n\nexport * from './types';\nexport * from './simple';\nexport * from './expression';\nexport * from './mixed';\nexport * from './evaluator';\n\n/**\n * Validate user inputs against an exercise\n *\n * This is the main entry point for validation. It automatically\n * dispatches to the correct validation mode based on the exercise.\n *\n * @param exercise - The exercise JSON\n * @param userInputs - User's answers keyed by widget ID\n * @returns Validation result\n *\n * @example\n * ```typescript\n * const result = validate(exercise, { a: 10, b: 20 });\n * if (result.isCorrect) {\n *   console.log('Correct!');\n * } else {\n *   console.log('Try again');\n * }\n * ```\n */\nexport function validate(\n  exercise: ExerciseJSON,\n  userInputs: Record<string, string | number | string[][] | number[]>\n): ValidationResult {\n  if (!exercise.validation) {\n    return {\n      isCorrect: true,\n      details: {}\n    };\n  }\n\n  // Combine fraction sub-inputs (x__num, x__den) into \"num/den\" for key \"x\".\n  // Matcher values (string[][]) pass through untouched.\n  const processedInputs = preprocessFractionValues(exercise, userInputs);\n\n  const validatedExercise = exercise as ValidatedExerciseJSON;\n\n  switch (validatedExercise.validation.mode) {\n    case VALIDATION_MODES.SIMPLE:\n      return validateSimple(validatedExercise, processedInputs);\n\n    case VALIDATION_MODES.EXPRESSION: {\n      // Expression mode only uses scalar inputs; matcher values aren't referenced.\n      const scalar: Record<string, string | number> = {};\n      for (const [k, v] of Object.entries(processedInputs)) {\n        if (typeof v === 'string' || typeof v === 'number') scalar[k] = v;\n      }\n      return validateExpression(validatedExercise, scalar);\n    }\n\n    case VALIDATION_MODES.MIXED:\n      return validateMixed(validatedExercise, processedInputs);\n\n    default:\n      return {\n        isCorrect: false,\n        details: {},\n        error: `Unknown validation mode: ${(exercise.validation as any).mode}`\n      };\n  }\n}\n\n/**\n * List every widget the exercise expects an answer for (simple answers,\n * expression variables, or both in mixed mode). Empty when the exercise has\n * no validation (display-only / hint exercises).\n *\n * @param exercise - The exercise JSON\n * @returns Array of answerable widget IDs\n */\nexport function getAnswerableInputs(exercise: ExerciseJSON): string[] {\n  if (!exercise.validation) return [];\n\n  const keys = new Set<string>();\n  if (exercise.validation.mode === VALIDATION_MODES.SIMPLE) {\n    Object.keys(exercise.validation.answers ?? {}).forEach((k) => keys.add(k));\n  } else if (exercise.validation.mode === VALIDATION_MODES.EXPRESSION) {\n    (exercise.validation.variables ?? []).forEach((k) => keys.add(k));\n  } else if (exercise.validation.mode === VALIDATION_MODES.MIXED) {\n    Object.keys(exercise.validation.answers ?? {}).forEach((k) => keys.add(k));\n    (exercise.validation.variables ?? []).forEach((k) => keys.add(k));\n  }\n  return [...keys];\n}\n\n/**\n * Check if all required inputs are provided\n *\n * @param exercise - The exercise JSON\n * @param userInputs - User's answers\n * @returns Array of missing widget IDs\n */\nexport function getMissingInputs(\n  exercise: ExerciseJSON,\n  userInputs: Record<string, string | number | string[][] | number[]>\n): string[] {\n  const missing: string[] = [];\n\n  if (!exercise.validation) {\n    return missing;\n  }\n\n  // Combine fraction sub-inputs (x__num, x__den) into \"x\" so the answer-key\n  // lookups below see the same keys validate() does. A fraction is only present\n  // once BOTH parts are filled — matching the validator's notion of complete.\n  const inputs = preprocessFractionValues(exercise, userInputs);\n\n  // A widget counts as \"missing\" when the user supplied nothing usable:\n  // undefined, null, empty string, or an empty array (matcher / visual-fraction).\n  const isEmpty = (v: unknown): boolean =>\n    v === undefined || v === null || v === '' || (Array.isArray(v) && v.length === 0);\n\n  if (exercise.validation.mode === VALIDATION_MODES.SIMPLE && exercise.validation.answers) {\n    for (const widgetId of Object.keys(exercise.validation.answers)) {\n      if (!(widgetId in inputs) || isEmpty(inputs[widgetId])) {\n        missing.push(widgetId);\n      }\n    }\n  } else if (exercise.validation.mode === VALIDATION_MODES.EXPRESSION && exercise.validation.variables) {\n    for (const varName of exercise.validation.variables) {\n      if (!(varName in inputs) || isEmpty(inputs[varName])) {\n        missing.push(varName);\n      }\n    }\n  } else if (exercise.validation.mode === VALIDATION_MODES.MIXED) {\n    const keys = new Set<string>([\n      ...Object.keys(exercise.validation.answers ?? {}),\n      ...(exercise.validation.variables ?? []),\n    ]);\n    for (const k of keys) {\n      if (!(k in inputs) || isEmpty(inputs[k])) missing.push(k);\n    }\n  }\n\n  return missing;\n}\n\n/**\n * Check if user inputs are valid (proper format, etc.)\n * without checking correctness\n *\n * @param exercise - The exercise JSON\n * @param userInputs - User's answers\n * @returns Object with widgetId -> error message (empty if all valid)\n */\nexport function validateInputFormats(\n  exercise: ExerciseJSON,\n  userInputs: Record<string, string | number>\n): Record<string, string> {\n  const errors: Record<string, string> = {};\n\n  for (const [widgetId, widget] of Object.entries(exercise.widgets)) {\n    const value = userInputs[widgetId];\n\n    if (value === undefined || value === '') {\n      continue; // Missing inputs are handled by getMissingInputs\n    }\n\n    if (widget.type === JSON_TYPES.INLINE_INPUT && widget.inputType === INPUT_TYPES.NUMERIC) {\n      const numValue = typeof value === 'number' ? value : parseFloat(String(value));\n\n      if (!Number.isFinite(numValue)) {\n        errors[widgetId] = 'Must be a valid number';\n        continue;\n      }\n\n      // Check digit constraints\n      const strValue = String(Math.abs(Math.floor(numValue)));\n      if (strValue.length > widget.digits) {\n        errors[widgetId] = `Maximum ${widget.digits} digits allowed`;\n      }\n    }\n  }\n\n  return errors;\n}\n","import { z } from 'zod';\n\n// ============================================\n// DRAG ITEM TYPES\n// ============================================\n\nexport const DragItemTypeSchema = z.enum([\n  'drag-option',    // Draggable answer options\n  'placed-chip',    // Chip already placed on a number-line axis (re-drag)\n  'ruler-handle',   // Future: ruler endpoints\n  'shape',          // Future: geometric shapes\n  'number-card',    // Future: number cards for sorting\n]);\n\nexport type DragItemType = z.infer<typeof DragItemTypeSchema>;\n\n// ============================================\n// DRAG OPTION DATA (for answer system)\n// ============================================\n\nexport const DragOptionDataSchema = z.object({\n  value: z.string(),\n  label: z.string(),\n});\n\nexport type DragOptionData = z.infer<typeof DragOptionDataSchema>;\n\n// ============================================\n// PLACED-CHIP DRAG ITEM (flat shape — no data wrapper)\n// ============================================\n\n/** Flat data shape carried by a chip dragged out of an input. */\nexport type PlacedChipItem = {\n  type: 'placed-chip';\n  widgetId: string;\n  label: string;\n  sourceOptionId?: string;\n};\n\n// ============================================\n// GENERIC DRAG ITEM\n// ============================================\n\nexport const DragItemSchema = <T extends z.ZodTypeAny>(dataSchema: T) =>\n  z.object({\n    id: z.union([z.string(), z.number()]), // UniqueIdentifier from dnd-kit\n    type: DragItemTypeSchema,\n    data: dataSchema,\n  });\n\n/** Discriminated union over all drag item shapes. */\nexport type DragItem<T = unknown> =\n  | { id: string | number; type: Exclude<DragItemType, 'placed-chip'>; data: T }\n  | PlacedChipItem;\n\n// ============================================\n// SPECIFIC DRAG ITEM TYPES\n// ============================================\n\nexport const DragOptionItemSchema = DragItemSchema(DragOptionDataSchema);\nexport type DragOptionItem = z.infer<typeof DragOptionItemSchema>;\n\n// ============================================\n// DROP RESULT\n// ============================================\n\nexport const DropResultSchema = z.object({\n  targetId: z.string(),\n  item: z.discriminatedUnion('type', [\n    z.object({\n      id: z.union([z.string(), z.number()]),\n      type: z.enum(DragItemTypeSchema.options.filter(t => t !== 'placed-chip') as [string, ...string[]]),\n      data: z.unknown(),\n    }),\n    z.object({\n      type: z.literal('placed-chip'),\n      widgetId: z.string(),\n      label: z.string(),\n      sourceOptionId: z.string().optional(),\n    }),\n  ]),\n});\n\nexport type DropResult = { targetId: string; item: DragItem };\n\n// ============================================\n// TOOL TYPES (for geometric tools)\n// ============================================\n\nexport const ToolTypeSchema = z.enum([\n  'ruler',\n  'protractor',\n  'set-square',\n  'custom',\n]);\n\nexport type ToolType = z.infer<typeof ToolTypeSchema>;\n\n// ============================================\n// POSITION AND ROTATION\n// ============================================\n\nexport const PositionSchema = z.object({\n  x: z.number(),\n  y: z.number(),\n});\n\nexport type Position = z.infer<typeof PositionSchema>;\n\n// ============================================\n// TOOL CONFIG\n// ============================================\n\nexport const ToolConfigSchema = z.object({\n  id: z.string(),\n  type: ToolTypeSchema,\n  /** Only required for the 'custom' tool type. Geometry tools (ruler/protractor/set-square) render inline SVG. */\n  imageSrc: z.string().optional(),\n  initialPosition: PositionSchema.optional(),\n  initialRotation: z.number().optional(),\n  width: z.number().optional(),\n});\n\nexport type ToolConfig = z.infer<typeof ToolConfigSchema>;\n","import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n  for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n    refs[_key] = arguments[_key];\n  }\n\n  return useMemo(() => node => {\n    refs.forEach(ref => ref(node));\n  }, // eslint-disable-next-line react-hooks/exhaustive-deps\n  refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n  const elementString = Object.prototype.toString.call(element);\n  return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n  elementString === '[object global]';\n}\n\nfunction isNode(node) {\n  return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n  var _target$ownerDocument, _target$ownerDocument2;\n\n  if (!target) {\n    return window;\n  }\n\n  if (isWindow(target)) {\n    return target;\n  }\n\n  if (!isNode(target)) {\n    return window;\n  }\n\n  return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n  const {\n    Document\n  } = getWindow(node);\n  return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n  if (isWindow(node)) {\n    return false;\n  }\n\n  return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n  return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n  if (!target) {\n    return document;\n  }\n\n  if (isWindow(target)) {\n    return target.document;\n  }\n\n  if (!isNode(target)) {\n    return document;\n  }\n\n  if (isDocument(target)) {\n    return target;\n  }\n\n  if (isHTMLElement(target) || isSVGElement(target)) {\n    return target.ownerDocument;\n  }\n\n  return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n  const handlerRef = useRef(handler);\n  useIsomorphicLayoutEffect(() => {\n    handlerRef.current = handler;\n  });\n  return useCallback(function () {\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n  }, []);\n}\n\nfunction useInterval() {\n  const intervalRef = useRef(null);\n  const set = useCallback((listener, duration) => {\n    intervalRef.current = setInterval(listener, duration);\n  }, []);\n  const clear = useCallback(() => {\n    if (intervalRef.current !== null) {\n      clearInterval(intervalRef.current);\n      intervalRef.current = null;\n    }\n  }, []);\n  return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n  if (dependencies === void 0) {\n    dependencies = [value];\n  }\n\n  const valueRef = useRef(value);\n  useIsomorphicLayoutEffect(() => {\n    if (valueRef.current !== value) {\n      valueRef.current = value;\n    }\n  }, dependencies);\n  return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n  const valueRef = useRef();\n  return useMemo(() => {\n    const newValue = callback(valueRef.current);\n    valueRef.current = newValue;\n    return newValue;\n  }, // eslint-disable-next-line react-hooks/exhaustive-deps\n  [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n  const onChangeHandler = useEvent(onChange);\n  const node = useRef(null);\n  const setNodeRef = useCallback(element => {\n    if (element !== node.current) {\n      onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n    }\n\n    node.current = element;\n  }, //eslint-disable-next-line\n  []);\n  return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n  const ref = useRef();\n  useEffect(() => {\n    ref.current = value;\n  }, [value]);\n  return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n  return useMemo(() => {\n    if (value) {\n      return value;\n    }\n\n    const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n    ids[prefix] = id;\n    return prefix + \"-\" + id;\n  }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n  return function (object) {\n    for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      adjustments[_key - 1] = arguments[_key];\n    }\n\n    return adjustments.reduce((accumulator, adjustment) => {\n      const entries = Object.entries(adjustment);\n\n      for (const [key, valueAdjustment] of entries) {\n        const value = accumulator[key];\n\n        if (value != null) {\n          accumulator[key] = value + modifier * valueAdjustment;\n        }\n      }\n\n      return accumulator;\n    }, { ...object\n    });\n  };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n  return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n  if (!event) {\n    return false;\n  }\n\n  const {\n    KeyboardEvent\n  } = getWindow(event.target);\n  return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n  if (!event) {\n    return false;\n  }\n\n  const {\n    TouchEvent\n  } = getWindow(event.target);\n  return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n  if (isTouchEvent(event)) {\n    if (event.touches && event.touches.length) {\n      const {\n        clientX: x,\n        clientY: y\n      } = event.touches[0];\n      return {\n        x,\n        y\n      };\n    } else if (event.changedTouches && event.changedTouches.length) {\n      const {\n        clientX: x,\n        clientY: y\n      } = event.changedTouches[0];\n      return {\n        x,\n        y\n      };\n    }\n  }\n\n  if (hasViewportRelativeCoordinates(event)) {\n    return {\n      x: event.clientX,\n      y: event.clientY\n    };\n  }\n\n  return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n  Translate: {\n    toString(transform) {\n      if (!transform) {\n        return;\n      }\n\n      const {\n        x,\n        y\n      } = transform;\n      return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n    }\n\n  },\n  Scale: {\n    toString(transform) {\n      if (!transform) {\n        return;\n      }\n\n      const {\n        scaleX,\n        scaleY\n      } = transform;\n      return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n    }\n\n  },\n  Transform: {\n    toString(transform) {\n      if (!transform) {\n        return;\n      }\n\n      return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n    }\n\n  },\n  Transition: {\n    toString(_ref) {\n      let {\n        property,\n        duration,\n        easing\n      } = _ref;\n      return property + \" \" + duration + \"ms \" + easing;\n    }\n\n  }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n  if (element.matches(SELECTOR)) {\n    return element;\n  }\n\n  return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","import React, { useState, useCallback } from 'react';\n\nconst hiddenStyles = {\n  display: 'none'\n};\nfunction HiddenText(_ref) {\n  let {\n    id,\n    value\n  } = _ref;\n  return React.createElement(\"div\", {\n    id: id,\n    style: hiddenStyles\n  }, value);\n}\n\nfunction LiveRegion(_ref) {\n  let {\n    id,\n    announcement,\n    ariaLiveType = \"assertive\"\n  } = _ref;\n  // Hide element visually but keep it readable by screen readers\n  const visuallyHidden = {\n    position: 'fixed',\n    top: 0,\n    left: 0,\n    width: 1,\n    height: 1,\n    margin: -1,\n    border: 0,\n    padding: 0,\n    overflow: 'hidden',\n    clip: 'rect(0 0 0 0)',\n    clipPath: 'inset(100%)',\n    whiteSpace: 'nowrap'\n  };\n  return React.createElement(\"div\", {\n    id: id,\n    style: visuallyHidden,\n    role: \"status\",\n    \"aria-live\": ariaLiveType,\n    \"aria-atomic\": true\n  }, announcement);\n}\n\nfunction useAnnouncement() {\n  const [announcement, setAnnouncement] = useState('');\n  const announce = useCallback(value => {\n    if (value != null) {\n      setAnnouncement(value);\n    }\n  }, []);\n  return {\n    announce,\n    announcement\n  };\n}\n\nexport { HiddenText, LiveRegion, useAnnouncement };\n//# sourceMappingURL=accessibility.esm.js.map\n","import React, { createContext, useContext, useEffect, useState, useCallback, useMemo, useRef, memo, useReducer, cloneElement, forwardRef } from 'react';\nimport { createPortal, unstable_batchedUpdates } from 'react-dom';\nimport { useUniqueId, getEventCoordinates, getWindow, isDocument, isHTMLElement, isSVGElement, canUseDOM, isWindow, isNode, getOwnerDocument, add, isKeyboardEvent, subtract, useLazyMemo, useInterval, usePrevious, useLatestValue, useEvent, useIsomorphicLayoutEffect, useNodeRef, findFirstFocusableNode, CSS } from '@dnd-kit/utilities';\nimport { useAnnouncement, HiddenText, LiveRegion } from '@dnd-kit/accessibility';\n\nconst DndMonitorContext = /*#__PURE__*/createContext(null);\n\nfunction useDndMonitor(listener) {\n  const registerListener = useContext(DndMonitorContext);\n  useEffect(() => {\n    if (!registerListener) {\n      throw new Error('useDndMonitor must be used within a children of <DndContext>');\n    }\n\n    const unsubscribe = registerListener(listener);\n    return unsubscribe;\n  }, [listener, registerListener]);\n}\n\nfunction useDndMonitorProvider() {\n  const [listeners] = useState(() => new Set());\n  const registerListener = useCallback(listener => {\n    listeners.add(listener);\n    return () => listeners.delete(listener);\n  }, [listeners]);\n  const dispatch = useCallback(_ref => {\n    let {\n      type,\n      event\n    } = _ref;\n    listeners.forEach(listener => {\n      var _listener$type;\n\n      return (_listener$type = listener[type]) == null ? void 0 : _listener$type.call(listener, event);\n    });\n  }, [listeners]);\n  return [dispatch, registerListener];\n}\n\nconst defaultScreenReaderInstructions = {\n  draggable: \"\\n    To pick up a draggable item, press the space bar.\\n    While dragging, use the arrow keys to move the item.\\n    Press space again to drop the item in its new position, or press escape to cancel.\\n  \"\n};\nconst defaultAnnouncements = {\n  onDragStart(_ref) {\n    let {\n      active\n    } = _ref;\n    return \"Picked up draggable item \" + active.id + \".\";\n  },\n\n  onDragOver(_ref2) {\n    let {\n      active,\n      over\n    } = _ref2;\n\n    if (over) {\n      return \"Draggable item \" + active.id + \" was moved over droppable area \" + over.id + \".\";\n    }\n\n    return \"Draggable item \" + active.id + \" is no longer over a droppable area.\";\n  },\n\n  onDragEnd(_ref3) {\n    let {\n      active,\n      over\n    } = _ref3;\n\n    if (over) {\n      return \"Draggable item \" + active.id + \" was dropped over droppable area \" + over.id;\n    }\n\n    return \"Draggable item \" + active.id + \" was dropped.\";\n  },\n\n  onDragCancel(_ref4) {\n    let {\n      active\n    } = _ref4;\n    return \"Dragging was cancelled. Draggable item \" + active.id + \" was dropped.\";\n  }\n\n};\n\nfunction Accessibility(_ref) {\n  let {\n    announcements = defaultAnnouncements,\n    container,\n    hiddenTextDescribedById,\n    screenReaderInstructions = defaultScreenReaderInstructions\n  } = _ref;\n  const {\n    announce,\n    announcement\n  } = useAnnouncement();\n  const liveRegionId = useUniqueId(\"DndLiveRegion\");\n  const [mounted, setMounted] = useState(false);\n  useEffect(() => {\n    setMounted(true);\n  }, []);\n  useDndMonitor(useMemo(() => ({\n    onDragStart(_ref2) {\n      let {\n        active\n      } = _ref2;\n      announce(announcements.onDragStart({\n        active\n      }));\n    },\n\n    onDragMove(_ref3) {\n      let {\n        active,\n        over\n      } = _ref3;\n\n      if (announcements.onDragMove) {\n        announce(announcements.onDragMove({\n          active,\n          over\n        }));\n      }\n    },\n\n    onDragOver(_ref4) {\n      let {\n        active,\n        over\n      } = _ref4;\n      announce(announcements.onDragOver({\n        active,\n        over\n      }));\n    },\n\n    onDragEnd(_ref5) {\n      let {\n        active,\n        over\n      } = _ref5;\n      announce(announcements.onDragEnd({\n        active,\n        over\n      }));\n    },\n\n    onDragCancel(_ref6) {\n      let {\n        active,\n        over\n      } = _ref6;\n      announce(announcements.onDragCancel({\n        active,\n        over\n      }));\n    }\n\n  }), [announce, announcements]));\n\n  if (!mounted) {\n    return null;\n  }\n\n  const markup = React.createElement(React.Fragment, null, React.createElement(HiddenText, {\n    id: hiddenTextDescribedById,\n    value: screenReaderInstructions.draggable\n  }), React.createElement(LiveRegion, {\n    id: liveRegionId,\n    announcement: announcement\n  }));\n  return container ? createPortal(markup, container) : markup;\n}\n\nvar Action;\n\n(function (Action) {\n  Action[\"DragStart\"] = \"dragStart\";\n  Action[\"DragMove\"] = \"dragMove\";\n  Action[\"DragEnd\"] = \"dragEnd\";\n  Action[\"DragCancel\"] = \"dragCancel\";\n  Action[\"DragOver\"] = \"dragOver\";\n  Action[\"RegisterDroppable\"] = \"registerDroppable\";\n  Action[\"SetDroppableDisabled\"] = \"setDroppableDisabled\";\n  Action[\"UnregisterDroppable\"] = \"unregisterDroppable\";\n})(Action || (Action = {}));\n\nfunction noop() {}\n\nfunction useSensor(sensor, options) {\n  return useMemo(() => ({\n    sensor,\n    options: options != null ? options : {}\n  }), // eslint-disable-next-line react-hooks/exhaustive-deps\n  [sensor, options]);\n}\n\nfunction useSensors() {\n  for (var _len = arguments.length, sensors = new Array(_len), _key = 0; _key < _len; _key++) {\n    sensors[_key] = arguments[_key];\n  }\n\n  return useMemo(() => [...sensors].filter(sensor => sensor != null), // eslint-disable-next-line react-hooks/exhaustive-deps\n  [...sensors]);\n}\n\nconst defaultCoordinates = /*#__PURE__*/Object.freeze({\n  x: 0,\n  y: 0\n});\n\n/**\r\n * Returns the distance between two points\r\n */\nfunction distanceBetween(p1, p2) {\n  return Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n}\n\nfunction getRelativeTransformOrigin(event, rect) {\n  const eventCoordinates = getEventCoordinates(event);\n\n  if (!eventCoordinates) {\n    return '0 0';\n  }\n\n  const transformOrigin = {\n    x: (eventCoordinates.x - rect.left) / rect.width * 100,\n    y: (eventCoordinates.y - rect.top) / rect.height * 100\n  };\n  return transformOrigin.x + \"% \" + transformOrigin.y + \"%\";\n}\n\n/**\r\n * Sort collisions from smallest to greatest value\r\n */\nfunction sortCollisionsAsc(_ref, _ref2) {\n  let {\n    data: {\n      value: a\n    }\n  } = _ref;\n  let {\n    data: {\n      value: b\n    }\n  } = _ref2;\n  return a - b;\n}\n/**\r\n * Sort collisions from greatest to smallest value\r\n */\n\nfunction sortCollisionsDesc(_ref3, _ref4) {\n  let {\n    data: {\n      value: a\n    }\n  } = _ref3;\n  let {\n    data: {\n      value: b\n    }\n  } = _ref4;\n  return b - a;\n}\n/**\r\n * Returns the coordinates of the corners of a given rectangle:\r\n * [TopLeft {x, y}, TopRight {x, y}, BottomLeft {x, y}, BottomRight {x, y}]\r\n */\n\nfunction cornersOfRectangle(_ref5) {\n  let {\n    left,\n    top,\n    height,\n    width\n  } = _ref5;\n  return [{\n    x: left,\n    y: top\n  }, {\n    x: left + width,\n    y: top\n  }, {\n    x: left,\n    y: top + height\n  }, {\n    x: left + width,\n    y: top + height\n  }];\n}\nfunction getFirstCollision(collisions, property) {\n  if (!collisions || collisions.length === 0) {\n    return null;\n  }\n\n  const [firstCollision] = collisions;\n  return property ? firstCollision[property] : firstCollision;\n}\n\n/**\r\n * Returns the coordinates of the center of a given ClientRect\r\n */\n\nfunction centerOfRectangle(rect, left, top) {\n  if (left === void 0) {\n    left = rect.left;\n  }\n\n  if (top === void 0) {\n    top = rect.top;\n  }\n\n  return {\n    x: left + rect.width * 0.5,\n    y: top + rect.height * 0.5\n  };\n}\n/**\r\n * Returns the closest rectangles from an array of rectangles to the center of a given\r\n * rectangle.\r\n */\n\n\nconst closestCenter = _ref => {\n  let {\n    collisionRect,\n    droppableRects,\n    droppableContainers\n  } = _ref;\n  const centerRect = centerOfRectangle(collisionRect, collisionRect.left, collisionRect.top);\n  const collisions = [];\n\n  for (const droppableContainer of droppableContainers) {\n    const {\n      id\n    } = droppableContainer;\n    const rect = droppableRects.get(id);\n\n    if (rect) {\n      const distBetween = distanceBetween(centerOfRectangle(rect), centerRect);\n      collisions.push({\n        id,\n        data: {\n          droppableContainer,\n          value: distBetween\n        }\n      });\n    }\n  }\n\n  return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the closest rectangles from an array of rectangles to the corners of\r\n * another rectangle.\r\n */\n\nconst closestCorners = _ref => {\n  let {\n    collisionRect,\n    droppableRects,\n    droppableContainers\n  } = _ref;\n  const corners = cornersOfRectangle(collisionRect);\n  const collisions = [];\n\n  for (const droppableContainer of droppableContainers) {\n    const {\n      id\n    } = droppableContainer;\n    const rect = droppableRects.get(id);\n\n    if (rect) {\n      const rectCorners = cornersOfRectangle(rect);\n      const distances = corners.reduce((accumulator, corner, index) => {\n        return accumulator + distanceBetween(rectCorners[index], corner);\n      }, 0);\n      const effectiveDistance = Number((distances / 4).toFixed(4));\n      collisions.push({\n        id,\n        data: {\n          droppableContainer,\n          value: effectiveDistance\n        }\n      });\n    }\n  }\n\n  return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the intersecting rectangle area between two rectangles\r\n */\n\nfunction getIntersectionRatio(entry, target) {\n  const top = Math.max(target.top, entry.top);\n  const left = Math.max(target.left, entry.left);\n  const right = Math.min(target.left + target.width, entry.left + entry.width);\n  const bottom = Math.min(target.top + target.height, entry.top + entry.height);\n  const width = right - left;\n  const height = bottom - top;\n\n  if (left < right && top < bottom) {\n    const targetArea = target.width * target.height;\n    const entryArea = entry.width * entry.height;\n    const intersectionArea = width * height;\n    const intersectionRatio = intersectionArea / (targetArea + entryArea - intersectionArea);\n    return Number(intersectionRatio.toFixed(4));\n  } // Rectangles do not overlap, or overlap has an area of zero (edge/corner overlap)\n\n\n  return 0;\n}\n/**\r\n * Returns the rectangles that has the greatest intersection area with a given\r\n * rectangle in an array of rectangles.\r\n */\n\nconst rectIntersection = _ref => {\n  let {\n    collisionRect,\n    droppableRects,\n    droppableContainers\n  } = _ref;\n  const collisions = [];\n\n  for (const droppableContainer of droppableContainers) {\n    const {\n      id\n    } = droppableContainer;\n    const rect = droppableRects.get(id);\n\n    if (rect) {\n      const intersectionRatio = getIntersectionRatio(rect, collisionRect);\n\n      if (intersectionRatio > 0) {\n        collisions.push({\n          id,\n          data: {\n            droppableContainer,\n            value: intersectionRatio\n          }\n        });\n      }\n    }\n  }\n\n  return collisions.sort(sortCollisionsDesc);\n};\n\n/**\r\n * Check if a given point is contained within a bounding rectangle\r\n */\n\nfunction isPointWithinRect(point, rect) {\n  const {\n    top,\n    left,\n    bottom,\n    right\n  } = rect;\n  return top <= point.y && point.y <= bottom && left <= point.x && point.x <= right;\n}\n/**\r\n * Returns the rectangles that the pointer is hovering over\r\n */\n\n\nconst pointerWithin = _ref => {\n  let {\n    droppableContainers,\n    droppableRects,\n    pointerCoordinates\n  } = _ref;\n\n  if (!pointerCoordinates) {\n    return [];\n  }\n\n  const collisions = [];\n\n  for (const droppableContainer of droppableContainers) {\n    const {\n      id\n    } = droppableContainer;\n    const rect = droppableRects.get(id);\n\n    if (rect && isPointWithinRect(pointerCoordinates, rect)) {\n      /* There may be more than a single rectangle intersecting\r\n       * with the pointer coordinates. In order to sort the\r\n       * colliding rectangles, we measure the distance between\r\n       * the pointer and the corners of the intersecting rectangle\r\n       */\n      const corners = cornersOfRectangle(rect);\n      const distances = corners.reduce((accumulator, corner) => {\n        return accumulator + distanceBetween(pointerCoordinates, corner);\n      }, 0);\n      const effectiveDistance = Number((distances / 4).toFixed(4));\n      collisions.push({\n        id,\n        data: {\n          droppableContainer,\n          value: effectiveDistance\n        }\n      });\n    }\n  }\n\n  return collisions.sort(sortCollisionsAsc);\n};\n\nfunction adjustScale(transform, rect1, rect2) {\n  return { ...transform,\n    scaleX: rect1 && rect2 ? rect1.width / rect2.width : 1,\n    scaleY: rect1 && rect2 ? rect1.height / rect2.height : 1\n  };\n}\n\nfunction getRectDelta(rect1, rect2) {\n  return rect1 && rect2 ? {\n    x: rect1.left - rect2.left,\n    y: rect1.top - rect2.top\n  } : defaultCoordinates;\n}\n\nfunction createRectAdjustmentFn(modifier) {\n  return function adjustClientRect(rect) {\n    for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      adjustments[_key - 1] = arguments[_key];\n    }\n\n    return adjustments.reduce((acc, adjustment) => ({ ...acc,\n      top: acc.top + modifier * adjustment.y,\n      bottom: acc.bottom + modifier * adjustment.y,\n      left: acc.left + modifier * adjustment.x,\n      right: acc.right + modifier * adjustment.x\n    }), { ...rect\n    });\n  };\n}\nconst getAdjustedRect = /*#__PURE__*/createRectAdjustmentFn(1);\n\nfunction parseTransform(transform) {\n  if (transform.startsWith('matrix3d(')) {\n    const transformArray = transform.slice(9, -1).split(/, /);\n    return {\n      x: +transformArray[12],\n      y: +transformArray[13],\n      scaleX: +transformArray[0],\n      scaleY: +transformArray[5]\n    };\n  } else if (transform.startsWith('matrix(')) {\n    const transformArray = transform.slice(7, -1).split(/, /);\n    return {\n      x: +transformArray[4],\n      y: +transformArray[5],\n      scaleX: +transformArray[0],\n      scaleY: +transformArray[3]\n    };\n  }\n\n  return null;\n}\n\nfunction inverseTransform(rect, transform, transformOrigin) {\n  const parsedTransform = parseTransform(transform);\n\n  if (!parsedTransform) {\n    return rect;\n  }\n\n  const {\n    scaleX,\n    scaleY,\n    x: translateX,\n    y: translateY\n  } = parsedTransform;\n  const x = rect.left - translateX - (1 - scaleX) * parseFloat(transformOrigin);\n  const y = rect.top - translateY - (1 - scaleY) * parseFloat(transformOrigin.slice(transformOrigin.indexOf(' ') + 1));\n  const w = scaleX ? rect.width / scaleX : rect.width;\n  const h = scaleY ? rect.height / scaleY : rect.height;\n  return {\n    width: w,\n    height: h,\n    top: y,\n    right: x + w,\n    bottom: y + h,\n    left: x\n  };\n}\n\nconst defaultOptions = {\n  ignoreTransform: false\n};\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n */\n\nfunction getClientRect(element, options) {\n  if (options === void 0) {\n    options = defaultOptions;\n  }\n\n  let rect = element.getBoundingClientRect();\n\n  if (options.ignoreTransform) {\n    const {\n      transform,\n      transformOrigin\n    } = getWindow(element).getComputedStyle(element);\n\n    if (transform) {\n      rect = inverseTransform(rect, transform, transformOrigin);\n    }\n  }\n\n  const {\n    top,\n    left,\n    width,\n    height,\n    bottom,\n    right\n  } = rect;\n  return {\n    top,\n    left,\n    width,\n    height,\n    bottom,\n    right\n  };\n}\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n *\r\n * @remarks\r\n * The ClientRect returned by this method does not take into account transforms\r\n * applied to the element it measures.\r\n *\r\n */\n\nfunction getTransformAgnosticClientRect(element) {\n  return getClientRect(element, {\n    ignoreTransform: true\n  });\n}\n\nfunction getWindowClientRect(element) {\n  const width = element.innerWidth;\n  const height = element.innerHeight;\n  return {\n    top: 0,\n    left: 0,\n    right: width,\n    bottom: height,\n    width,\n    height\n  };\n}\n\nfunction isFixed(node, computedStyle) {\n  if (computedStyle === void 0) {\n    computedStyle = getWindow(node).getComputedStyle(node);\n  }\n\n  return computedStyle.position === 'fixed';\n}\n\nfunction isScrollable(element, computedStyle) {\n  if (computedStyle === void 0) {\n    computedStyle = getWindow(element).getComputedStyle(element);\n  }\n\n  const overflowRegex = /(auto|scroll|overlay)/;\n  const properties = ['overflow', 'overflowX', 'overflowY'];\n  return properties.some(property => {\n    const value = computedStyle[property];\n    return typeof value === 'string' ? overflowRegex.test(value) : false;\n  });\n}\n\nfunction getScrollableAncestors(element, limit) {\n  const scrollParents = [];\n\n  function findScrollableAncestors(node) {\n    if (limit != null && scrollParents.length >= limit) {\n      return scrollParents;\n    }\n\n    if (!node) {\n      return scrollParents;\n    }\n\n    if (isDocument(node) && node.scrollingElement != null && !scrollParents.includes(node.scrollingElement)) {\n      scrollParents.push(node.scrollingElement);\n      return scrollParents;\n    }\n\n    if (!isHTMLElement(node) || isSVGElement(node)) {\n      return scrollParents;\n    }\n\n    if (scrollParents.includes(node)) {\n      return scrollParents;\n    }\n\n    const computedStyle = getWindow(element).getComputedStyle(node);\n\n    if (node !== element) {\n      if (isScrollable(node, computedStyle)) {\n        scrollParents.push(node);\n      }\n    }\n\n    if (isFixed(node, computedStyle)) {\n      return scrollParents;\n    }\n\n    return findScrollableAncestors(node.parentNode);\n  }\n\n  if (!element) {\n    return scrollParents;\n  }\n\n  return findScrollableAncestors(element);\n}\nfunction getFirstScrollableAncestor(node) {\n  const [firstScrollableAncestor] = getScrollableAncestors(node, 1);\n  return firstScrollableAncestor != null ? firstScrollableAncestor : null;\n}\n\nfunction getScrollableElement(element) {\n  if (!canUseDOM || !element) {\n    return null;\n  }\n\n  if (isWindow(element)) {\n    return element;\n  }\n\n  if (!isNode(element)) {\n    return null;\n  }\n\n  if (isDocument(element) || element === getOwnerDocument(element).scrollingElement) {\n    return window;\n  }\n\n  if (isHTMLElement(element)) {\n    return element;\n  }\n\n  return null;\n}\n\nfunction getScrollXCoordinate(element) {\n  if (isWindow(element)) {\n    return element.scrollX;\n  }\n\n  return element.scrollLeft;\n}\nfunction getScrollYCoordinate(element) {\n  if (isWindow(element)) {\n    return element.scrollY;\n  }\n\n  return element.scrollTop;\n}\nfunction getScrollCoordinates(element) {\n  return {\n    x: getScrollXCoordinate(element),\n    y: getScrollYCoordinate(element)\n  };\n}\n\nvar Direction;\n\n(function (Direction) {\n  Direction[Direction[\"Forward\"] = 1] = \"Forward\";\n  Direction[Direction[\"Backward\"] = -1] = \"Backward\";\n})(Direction || (Direction = {}));\n\nfunction isDocumentScrollingElement(element) {\n  if (!canUseDOM || !element) {\n    return false;\n  }\n\n  return element === document.scrollingElement;\n}\n\nfunction getScrollPosition(scrollingContainer) {\n  const minScroll = {\n    x: 0,\n    y: 0\n  };\n  const dimensions = isDocumentScrollingElement(scrollingContainer) ? {\n    height: window.innerHeight,\n    width: window.innerWidth\n  } : {\n    height: scrollingContainer.clientHeight,\n    width: scrollingContainer.clientWidth\n  };\n  const maxScroll = {\n    x: scrollingContainer.scrollWidth - dimensions.width,\n    y: scrollingContainer.scrollHeight - dimensions.height\n  };\n  const isTop = scrollingContainer.scrollTop <= minScroll.y;\n  const isLeft = scrollingContainer.scrollLeft <= minScroll.x;\n  const isBottom = scrollingContainer.scrollTop >= maxScroll.y;\n  const isRight = scrollingContainer.scrollLeft >= maxScroll.x;\n  return {\n    isTop,\n    isLeft,\n    isBottom,\n    isRight,\n    maxScroll,\n    minScroll\n  };\n}\n\nconst defaultThreshold = {\n  x: 0.2,\n  y: 0.2\n};\nfunction getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, _ref, acceleration, thresholdPercentage) {\n  let {\n    top,\n    left,\n    right,\n    bottom\n  } = _ref;\n\n  if (acceleration === void 0) {\n    acceleration = 10;\n  }\n\n  if (thresholdPercentage === void 0) {\n    thresholdPercentage = defaultThreshold;\n  }\n\n  const {\n    isTop,\n    isBottom,\n    isLeft,\n    isRight\n  } = getScrollPosition(scrollContainer);\n  const direction = {\n    x: 0,\n    y: 0\n  };\n  const speed = {\n    x: 0,\n    y: 0\n  };\n  const threshold = {\n    height: scrollContainerRect.height * thresholdPercentage.y,\n    width: scrollContainerRect.width * thresholdPercentage.x\n  };\n\n  if (!isTop && top <= scrollContainerRect.top + threshold.height) {\n    // Scroll Up\n    direction.y = Direction.Backward;\n    speed.y = acceleration * Math.abs((scrollContainerRect.top + threshold.height - top) / threshold.height);\n  } else if (!isBottom && bottom >= scrollContainerRect.bottom - threshold.height) {\n    // Scroll Down\n    direction.y = Direction.Forward;\n    speed.y = acceleration * Math.abs((scrollContainerRect.bottom - threshold.height - bottom) / threshold.height);\n  }\n\n  if (!isRight && right >= scrollContainerRect.right - threshold.width) {\n    // Scroll Right\n    direction.x = Direction.Forward;\n    speed.x = acceleration * Math.abs((scrollContainerRect.right - threshold.width - right) / threshold.width);\n  } else if (!isLeft && left <= scrollContainerRect.left + threshold.width) {\n    // Scroll Left\n    direction.x = Direction.Backward;\n    speed.x = acceleration * Math.abs((scrollContainerRect.left + threshold.width - left) / threshold.width);\n  }\n\n  return {\n    direction,\n    speed\n  };\n}\n\nfunction getScrollElementRect(element) {\n  if (element === document.scrollingElement) {\n    const {\n      innerWidth,\n      innerHeight\n    } = window;\n    return {\n      top: 0,\n      left: 0,\n      right: innerWidth,\n      bottom: innerHeight,\n      width: innerWidth,\n      height: innerHeight\n    };\n  }\n\n  const {\n    top,\n    left,\n    right,\n    bottom\n  } = element.getBoundingClientRect();\n  return {\n    top,\n    left,\n    right,\n    bottom,\n    width: element.clientWidth,\n    height: element.clientHeight\n  };\n}\n\nfunction getScrollOffsets(scrollableAncestors) {\n  return scrollableAncestors.reduce((acc, node) => {\n    return add(acc, getScrollCoordinates(node));\n  }, defaultCoordinates);\n}\nfunction getScrollXOffset(scrollableAncestors) {\n  return scrollableAncestors.reduce((acc, node) => {\n    return acc + getScrollXCoordinate(node);\n  }, 0);\n}\nfunction getScrollYOffset(scrollableAncestors) {\n  return scrollableAncestors.reduce((acc, node) => {\n    return acc + getScrollYCoordinate(node);\n  }, 0);\n}\n\nfunction scrollIntoViewIfNeeded(element, measure) {\n  if (measure === void 0) {\n    measure = getClientRect;\n  }\n\n  if (!element) {\n    return;\n  }\n\n  const {\n    top,\n    left,\n    bottom,\n    right\n  } = measure(element);\n  const firstScrollableAncestor = getFirstScrollableAncestor(element);\n\n  if (!firstScrollableAncestor) {\n    return;\n  }\n\n  if (bottom <= 0 || right <= 0 || top >= window.innerHeight || left >= window.innerWidth) {\n    element.scrollIntoView({\n      block: 'center',\n      inline: 'center'\n    });\n  }\n}\n\nconst properties = [['x', ['left', 'right'], getScrollXOffset], ['y', ['top', 'bottom'], getScrollYOffset]];\nclass Rect {\n  constructor(rect, element) {\n    this.rect = void 0;\n    this.width = void 0;\n    this.height = void 0;\n    this.top = void 0;\n    this.bottom = void 0;\n    this.right = void 0;\n    this.left = void 0;\n    const scrollableAncestors = getScrollableAncestors(element);\n    const scrollOffsets = getScrollOffsets(scrollableAncestors);\n    this.rect = { ...rect\n    };\n    this.width = rect.width;\n    this.height = rect.height;\n\n    for (const [axis, keys, getScrollOffset] of properties) {\n      for (const key of keys) {\n        Object.defineProperty(this, key, {\n          get: () => {\n            const currentOffsets = getScrollOffset(scrollableAncestors);\n            const scrollOffsetsDeltla = scrollOffsets[axis] - currentOffsets;\n            return this.rect[key] + scrollOffsetsDeltla;\n          },\n          enumerable: true\n        });\n      }\n    }\n\n    Object.defineProperty(this, 'rect', {\n      enumerable: false\n    });\n  }\n\n}\n\nclass Listeners {\n  constructor(target) {\n    this.target = void 0;\n    this.listeners = [];\n\n    this.removeAll = () => {\n      this.listeners.forEach(listener => {\n        var _this$target;\n\n        return (_this$target = this.target) == null ? void 0 : _this$target.removeEventListener(...listener);\n      });\n    };\n\n    this.target = target;\n  }\n\n  add(eventName, handler, options) {\n    var _this$target2;\n\n    (_this$target2 = this.target) == null ? void 0 : _this$target2.addEventListener(eventName, handler, options);\n    this.listeners.push([eventName, handler, options]);\n  }\n\n}\n\nfunction getEventListenerTarget(target) {\n  // If the `event.target` element is removed from the document events will still be targeted\n  // at it, and hence won't always bubble up to the window or document anymore.\n  // If there is any risk of an element being removed while it is being dragged,\n  // the best practice is to attach the event listeners directly to the target.\n  // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget\n  const {\n    EventTarget\n  } = getWindow(target);\n  return target instanceof EventTarget ? target : getOwnerDocument(target);\n}\n\nfunction hasExceededDistance(delta, measurement) {\n  const dx = Math.abs(delta.x);\n  const dy = Math.abs(delta.y);\n\n  if (typeof measurement === 'number') {\n    return Math.sqrt(dx ** 2 + dy ** 2) > measurement;\n  }\n\n  if ('x' in measurement && 'y' in measurement) {\n    return dx > measurement.x && dy > measurement.y;\n  }\n\n  if ('x' in measurement) {\n    return dx > measurement.x;\n  }\n\n  if ('y' in measurement) {\n    return dy > measurement.y;\n  }\n\n  return false;\n}\n\nvar EventName;\n\n(function (EventName) {\n  EventName[\"Click\"] = \"click\";\n  EventName[\"DragStart\"] = \"dragstart\";\n  EventName[\"Keydown\"] = \"keydown\";\n  EventName[\"ContextMenu\"] = \"contextmenu\";\n  EventName[\"Resize\"] = \"resize\";\n  EventName[\"SelectionChange\"] = \"selectionchange\";\n  EventName[\"VisibilityChange\"] = \"visibilitychange\";\n})(EventName || (EventName = {}));\n\nfunction preventDefault(event) {\n  event.preventDefault();\n}\nfunction stopPropagation(event) {\n  event.stopPropagation();\n}\n\nvar KeyboardCode;\n\n(function (KeyboardCode) {\n  KeyboardCode[\"Space\"] = \"Space\";\n  KeyboardCode[\"Down\"] = \"ArrowDown\";\n  KeyboardCode[\"Right\"] = \"ArrowRight\";\n  KeyboardCode[\"Left\"] = \"ArrowLeft\";\n  KeyboardCode[\"Up\"] = \"ArrowUp\";\n  KeyboardCode[\"Esc\"] = \"Escape\";\n  KeyboardCode[\"Enter\"] = \"Enter\";\n  KeyboardCode[\"Tab\"] = \"Tab\";\n})(KeyboardCode || (KeyboardCode = {}));\n\nconst defaultKeyboardCodes = {\n  start: [KeyboardCode.Space, KeyboardCode.Enter],\n  cancel: [KeyboardCode.Esc],\n  end: [KeyboardCode.Space, KeyboardCode.Enter, KeyboardCode.Tab]\n};\nconst defaultKeyboardCoordinateGetter = (event, _ref) => {\n  let {\n    currentCoordinates\n  } = _ref;\n\n  switch (event.code) {\n    case KeyboardCode.Right:\n      return { ...currentCoordinates,\n        x: currentCoordinates.x + 25\n      };\n\n    case KeyboardCode.Left:\n      return { ...currentCoordinates,\n        x: currentCoordinates.x - 25\n      };\n\n    case KeyboardCode.Down:\n      return { ...currentCoordinates,\n        y: currentCoordinates.y + 25\n      };\n\n    case KeyboardCode.Up:\n      return { ...currentCoordinates,\n        y: currentCoordinates.y - 25\n      };\n  }\n\n  return undefined;\n};\n\nclass KeyboardSensor {\n  constructor(props) {\n    this.props = void 0;\n    this.autoScrollEnabled = false;\n    this.referenceCoordinates = void 0;\n    this.listeners = void 0;\n    this.windowListeners = void 0;\n    this.props = props;\n    const {\n      event: {\n        target\n      }\n    } = props;\n    this.props = props;\n    this.listeners = new Listeners(getOwnerDocument(target));\n    this.windowListeners = new Listeners(getWindow(target));\n    this.handleKeyDown = this.handleKeyDown.bind(this);\n    this.handleCancel = this.handleCancel.bind(this);\n    this.attach();\n  }\n\n  attach() {\n    this.handleStart();\n    this.windowListeners.add(EventName.Resize, this.handleCancel);\n    this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n    setTimeout(() => this.listeners.add(EventName.Keydown, this.handleKeyDown));\n  }\n\n  handleStart() {\n    const {\n      activeNode,\n      onStart\n    } = this.props;\n    const node = activeNode.node.current;\n\n    if (node) {\n      scrollIntoViewIfNeeded(node);\n    }\n\n    onStart(defaultCoordinates);\n  }\n\n  handleKeyDown(event) {\n    if (isKeyboardEvent(event)) {\n      const {\n        active,\n        context,\n        options\n      } = this.props;\n      const {\n        keyboardCodes = defaultKeyboardCodes,\n        coordinateGetter = defaultKeyboardCoordinateGetter,\n        scrollBehavior = 'smooth'\n      } = options;\n      const {\n        code\n      } = event;\n\n      if (keyboardCodes.end.includes(code)) {\n        this.handleEnd(event);\n        return;\n      }\n\n      if (keyboardCodes.cancel.includes(code)) {\n        this.handleCancel(event);\n        return;\n      }\n\n      const {\n        collisionRect\n      } = context.current;\n      const currentCoordinates = collisionRect ? {\n        x: collisionRect.left,\n        y: collisionRect.top\n      } : defaultCoordinates;\n\n      if (!this.referenceCoordinates) {\n        this.referenceCoordinates = currentCoordinates;\n      }\n\n      const newCoordinates = coordinateGetter(event, {\n        active,\n        context: context.current,\n        currentCoordinates\n      });\n\n      if (newCoordinates) {\n        const coordinatesDelta = subtract(newCoordinates, currentCoordinates);\n        const scrollDelta = {\n          x: 0,\n          y: 0\n        };\n        const {\n          scrollableAncestors\n        } = context.current;\n\n        for (const scrollContainer of scrollableAncestors) {\n          const direction = event.code;\n          const {\n            isTop,\n            isRight,\n            isLeft,\n            isBottom,\n            maxScroll,\n            minScroll\n          } = getScrollPosition(scrollContainer);\n          const scrollElementRect = getScrollElementRect(scrollContainer);\n          const clampedCoordinates = {\n            x: Math.min(direction === KeyboardCode.Right ? scrollElementRect.right - scrollElementRect.width / 2 : scrollElementRect.right, Math.max(direction === KeyboardCode.Right ? scrollElementRect.left : scrollElementRect.left + scrollElementRect.width / 2, newCoordinates.x)),\n            y: Math.min(direction === KeyboardCode.Down ? scrollElementRect.bottom - scrollElementRect.height / 2 : scrollElementRect.bottom, Math.max(direction === KeyboardCode.Down ? scrollElementRect.top : scrollElementRect.top + scrollElementRect.height / 2, newCoordinates.y))\n          };\n          const canScrollX = direction === KeyboardCode.Right && !isRight || direction === KeyboardCode.Left && !isLeft;\n          const canScrollY = direction === KeyboardCode.Down && !isBottom || direction === KeyboardCode.Up && !isTop;\n\n          if (canScrollX && clampedCoordinates.x !== newCoordinates.x) {\n            const newScrollCoordinates = scrollContainer.scrollLeft + coordinatesDelta.x;\n            const canScrollToNewCoordinates = direction === KeyboardCode.Right && newScrollCoordinates <= maxScroll.x || direction === KeyboardCode.Left && newScrollCoordinates >= minScroll.x;\n\n            if (canScrollToNewCoordinates && !coordinatesDelta.y) {\n              // We don't need to update coordinates, the scroll adjustment alone will trigger\n              // logic to auto-detect the new container we are over\n              scrollContainer.scrollTo({\n                left: newScrollCoordinates,\n                behavior: scrollBehavior\n              });\n              return;\n            }\n\n            if (canScrollToNewCoordinates) {\n              scrollDelta.x = scrollContainer.scrollLeft - newScrollCoordinates;\n            } else {\n              scrollDelta.x = direction === KeyboardCode.Right ? scrollContainer.scrollLeft - maxScroll.x : scrollContainer.scrollLeft - minScroll.x;\n            }\n\n            if (scrollDelta.x) {\n              scrollContainer.scrollBy({\n                left: -scrollDelta.x,\n                behavior: scrollBehavior\n              });\n            }\n\n            break;\n          } else if (canScrollY && clampedCoordinates.y !== newCoordinates.y) {\n            const newScrollCoordinates = scrollContainer.scrollTop + coordinatesDelta.y;\n            const canScrollToNewCoordinates = direction === KeyboardCode.Down && newScrollCoordinates <= maxScroll.y || direction === KeyboardCode.Up && newScrollCoordinates >= minScroll.y;\n\n            if (canScrollToNewCoordinates && !coordinatesDelta.x) {\n              // We don't need to update coordinates, the scroll adjustment alone will trigger\n              // logic to auto-detect the new container we are over\n              scrollContainer.scrollTo({\n                top: newScrollCoordinates,\n                behavior: scrollBehavior\n              });\n              return;\n            }\n\n            if (canScrollToNewCoordinates) {\n              scrollDelta.y = scrollContainer.scrollTop - newScrollCoordinates;\n            } else {\n              scrollDelta.y = direction === KeyboardCode.Down ? scrollContainer.scrollTop - maxScroll.y : scrollContainer.scrollTop - minScroll.y;\n            }\n\n            if (scrollDelta.y) {\n              scrollContainer.scrollBy({\n                top: -scrollDelta.y,\n                behavior: scrollBehavior\n              });\n            }\n\n            break;\n          }\n        }\n\n        this.handleMove(event, add(subtract(newCoordinates, this.referenceCoordinates), scrollDelta));\n      }\n    }\n  }\n\n  handleMove(event, coordinates) {\n    const {\n      onMove\n    } = this.props;\n    event.preventDefault();\n    onMove(coordinates);\n  }\n\n  handleEnd(event) {\n    const {\n      onEnd\n    } = this.props;\n    event.preventDefault();\n    this.detach();\n    onEnd();\n  }\n\n  handleCancel(event) {\n    const {\n      onCancel\n    } = this.props;\n    event.preventDefault();\n    this.detach();\n    onCancel();\n  }\n\n  detach() {\n    this.listeners.removeAll();\n    this.windowListeners.removeAll();\n  }\n\n}\nKeyboardSensor.activators = [{\n  eventName: 'onKeyDown',\n  handler: (event, _ref, _ref2) => {\n    let {\n      keyboardCodes = defaultKeyboardCodes,\n      onActivation\n    } = _ref;\n    let {\n      active\n    } = _ref2;\n    const {\n      code\n    } = event.nativeEvent;\n\n    if (keyboardCodes.start.includes(code)) {\n      const activator = active.activatorNode.current;\n\n      if (activator && event.target !== activator) {\n        return false;\n      }\n\n      event.preventDefault();\n      onActivation == null ? void 0 : onActivation({\n        event: event.nativeEvent\n      });\n      return true;\n    }\n\n    return false;\n  }\n}];\n\nfunction isDistanceConstraint(constraint) {\n  return Boolean(constraint && 'distance' in constraint);\n}\n\nfunction isDelayConstraint(constraint) {\n  return Boolean(constraint && 'delay' in constraint);\n}\n\nclass AbstractPointerSensor {\n  constructor(props, events, listenerTarget) {\n    var _getEventCoordinates;\n\n    if (listenerTarget === void 0) {\n      listenerTarget = getEventListenerTarget(props.event.target);\n    }\n\n    this.props = void 0;\n    this.events = void 0;\n    this.autoScrollEnabled = true;\n    this.document = void 0;\n    this.activated = false;\n    this.initialCoordinates = void 0;\n    this.timeoutId = null;\n    this.listeners = void 0;\n    this.documentListeners = void 0;\n    this.windowListeners = void 0;\n    this.props = props;\n    this.events = events;\n    const {\n      event\n    } = props;\n    const {\n      target\n    } = event;\n    this.props = props;\n    this.events = events;\n    this.document = getOwnerDocument(target);\n    this.documentListeners = new Listeners(this.document);\n    this.listeners = new Listeners(listenerTarget);\n    this.windowListeners = new Listeners(getWindow(target));\n    this.initialCoordinates = (_getEventCoordinates = getEventCoordinates(event)) != null ? _getEventCoordinates : defaultCoordinates;\n    this.handleStart = this.handleStart.bind(this);\n    this.handleMove = this.handleMove.bind(this);\n    this.handleEnd = this.handleEnd.bind(this);\n    this.handleCancel = this.handleCancel.bind(this);\n    this.handleKeydown = this.handleKeydown.bind(this);\n    this.removeTextSelection = this.removeTextSelection.bind(this);\n    this.attach();\n  }\n\n  attach() {\n    const {\n      events,\n      props: {\n        options: {\n          activationConstraint,\n          bypassActivationConstraint\n        }\n      }\n    } = this;\n    this.listeners.add(events.move.name, this.handleMove, {\n      passive: false\n    });\n    this.listeners.add(events.end.name, this.handleEnd);\n\n    if (events.cancel) {\n      this.listeners.add(events.cancel.name, this.handleCancel);\n    }\n\n    this.windowListeners.add(EventName.Resize, this.handleCancel);\n    this.windowListeners.add(EventName.DragStart, preventDefault);\n    this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n    this.windowListeners.add(EventName.ContextMenu, preventDefault);\n    this.documentListeners.add(EventName.Keydown, this.handleKeydown);\n\n    if (activationConstraint) {\n      if (bypassActivationConstraint != null && bypassActivationConstraint({\n        event: this.props.event,\n        activeNode: this.props.activeNode,\n        options: this.props.options\n      })) {\n        return this.handleStart();\n      }\n\n      if (isDelayConstraint(activationConstraint)) {\n        this.timeoutId = setTimeout(this.handleStart, activationConstraint.delay);\n        this.handlePending(activationConstraint);\n        return;\n      }\n\n      if (isDistanceConstraint(activationConstraint)) {\n        this.handlePending(activationConstraint);\n        return;\n      }\n    }\n\n    this.handleStart();\n  }\n\n  detach() {\n    this.listeners.removeAll();\n    this.windowListeners.removeAll(); // Wait until the next event loop before removing document listeners\n    // This is necessary because we listen for `click` and `selection` events on the document\n\n    setTimeout(this.documentListeners.removeAll, 50);\n\n    if (this.timeoutId !== null) {\n      clearTimeout(this.timeoutId);\n      this.timeoutId = null;\n    }\n  }\n\n  handlePending(constraint, offset) {\n    const {\n      active,\n      onPending\n    } = this.props;\n    onPending(active, constraint, this.initialCoordinates, offset);\n  }\n\n  handleStart() {\n    const {\n      initialCoordinates\n    } = this;\n    const {\n      onStart\n    } = this.props;\n\n    if (initialCoordinates) {\n      this.activated = true; // Stop propagation of click events once activation constraints are met\n\n      this.documentListeners.add(EventName.Click, stopPropagation, {\n        capture: true\n      }); // Remove any text selection from the document\n\n      this.removeTextSelection(); // Prevent further text selection while dragging\n\n      this.documentListeners.add(EventName.SelectionChange, this.removeTextSelection);\n      onStart(initialCoordinates);\n    }\n  }\n\n  handleMove(event) {\n    var _getEventCoordinates2;\n\n    const {\n      activated,\n      initialCoordinates,\n      props\n    } = this;\n    const {\n      onMove,\n      options: {\n        activationConstraint\n      }\n    } = props;\n\n    if (!initialCoordinates) {\n      return;\n    }\n\n    const coordinates = (_getEventCoordinates2 = getEventCoordinates(event)) != null ? _getEventCoordinates2 : defaultCoordinates;\n    const delta = subtract(initialCoordinates, coordinates); // Constraint validation\n\n    if (!activated && activationConstraint) {\n      if (isDistanceConstraint(activationConstraint)) {\n        if (activationConstraint.tolerance != null && hasExceededDistance(delta, activationConstraint.tolerance)) {\n          return this.handleCancel();\n        }\n\n        if (hasExceededDistance(delta, activationConstraint.distance)) {\n          return this.handleStart();\n        }\n      }\n\n      if (isDelayConstraint(activationConstraint)) {\n        if (hasExceededDistance(delta, activationConstraint.tolerance)) {\n          return this.handleCancel();\n        }\n      }\n\n      this.handlePending(activationConstraint, delta);\n      return;\n    }\n\n    if (event.cancelable) {\n      event.preventDefault();\n    }\n\n    onMove(coordinates);\n  }\n\n  handleEnd() {\n    const {\n      onAbort,\n      onEnd\n    } = this.props;\n    this.detach();\n\n    if (!this.activated) {\n      onAbort(this.props.active);\n    }\n\n    onEnd();\n  }\n\n  handleCancel() {\n    const {\n      onAbort,\n      onCancel\n    } = this.props;\n    this.detach();\n\n    if (!this.activated) {\n      onAbort(this.props.active);\n    }\n\n    onCancel();\n  }\n\n  handleKeydown(event) {\n    if (event.code === KeyboardCode.Esc) {\n      this.handleCancel();\n    }\n  }\n\n  removeTextSelection() {\n    var _this$document$getSel;\n\n    (_this$document$getSel = this.document.getSelection()) == null ? void 0 : _this$document$getSel.removeAllRanges();\n  }\n\n}\n\nconst events = {\n  cancel: {\n    name: 'pointercancel'\n  },\n  move: {\n    name: 'pointermove'\n  },\n  end: {\n    name: 'pointerup'\n  }\n};\nclass PointerSensor extends AbstractPointerSensor {\n  constructor(props) {\n    const {\n      event\n    } = props; // Pointer events stop firing if the target is unmounted while dragging\n    // Therefore we attach listeners to the owner document instead\n\n    const listenerTarget = getOwnerDocument(event.target);\n    super(props, events, listenerTarget);\n  }\n\n}\nPointerSensor.activators = [{\n  eventName: 'onPointerDown',\n  handler: (_ref, _ref2) => {\n    let {\n      nativeEvent: event\n    } = _ref;\n    let {\n      onActivation\n    } = _ref2;\n\n    if (!event.isPrimary || event.button !== 0) {\n      return false;\n    }\n\n    onActivation == null ? void 0 : onActivation({\n      event\n    });\n    return true;\n  }\n}];\n\nconst events$1 = {\n  move: {\n    name: 'mousemove'\n  },\n  end: {\n    name: 'mouseup'\n  }\n};\nvar MouseButton;\n\n(function (MouseButton) {\n  MouseButton[MouseButton[\"RightClick\"] = 2] = \"RightClick\";\n})(MouseButton || (MouseButton = {}));\n\nclass MouseSensor extends AbstractPointerSensor {\n  constructor(props) {\n    super(props, events$1, getOwnerDocument(props.event.target));\n  }\n\n}\nMouseSensor.activators = [{\n  eventName: 'onMouseDown',\n  handler: (_ref, _ref2) => {\n    let {\n      nativeEvent: event\n    } = _ref;\n    let {\n      onActivation\n    } = _ref2;\n\n    if (event.button === MouseButton.RightClick) {\n      return false;\n    }\n\n    onActivation == null ? void 0 : onActivation({\n      event\n    });\n    return true;\n  }\n}];\n\nconst events$2 = {\n  cancel: {\n    name: 'touchcancel'\n  },\n  move: {\n    name: 'touchmove'\n  },\n  end: {\n    name: 'touchend'\n  }\n};\nclass TouchSensor extends AbstractPointerSensor {\n  constructor(props) {\n    super(props, events$2);\n  }\n\n  static setup() {\n    // Adding a non-capture and non-passive `touchmove` listener in order\n    // to force `event.preventDefault()` calls to work in dynamically added\n    // touchmove event handlers. This is required for iOS Safari.\n    window.addEventListener(events$2.move.name, noop, {\n      capture: false,\n      passive: false\n    });\n    return function teardown() {\n      window.removeEventListener(events$2.move.name, noop);\n    }; // We create a new handler because the teardown function of another sensor\n    // could remove our event listener if we use a referentially equal listener.\n\n    function noop() {}\n  }\n\n}\nTouchSensor.activators = [{\n  eventName: 'onTouchStart',\n  handler: (_ref, _ref2) => {\n    let {\n      nativeEvent: event\n    } = _ref;\n    let {\n      onActivation\n    } = _ref2;\n    const {\n      touches\n    } = event;\n\n    if (touches.length > 1) {\n      return false;\n    }\n\n    onActivation == null ? void 0 : onActivation({\n      event\n    });\n    return true;\n  }\n}];\n\nvar AutoScrollActivator;\n\n(function (AutoScrollActivator) {\n  AutoScrollActivator[AutoScrollActivator[\"Pointer\"] = 0] = \"Pointer\";\n  AutoScrollActivator[AutoScrollActivator[\"DraggableRect\"] = 1] = \"DraggableRect\";\n})(AutoScrollActivator || (AutoScrollActivator = {}));\n\nvar TraversalOrder;\n\n(function (TraversalOrder) {\n  TraversalOrder[TraversalOrder[\"TreeOrder\"] = 0] = \"TreeOrder\";\n  TraversalOrder[TraversalOrder[\"ReversedTreeOrder\"] = 1] = \"ReversedTreeOrder\";\n})(TraversalOrder || (TraversalOrder = {}));\n\nfunction useAutoScroller(_ref) {\n  let {\n    acceleration,\n    activator = AutoScrollActivator.Pointer,\n    canScroll,\n    draggingRect,\n    enabled,\n    interval = 5,\n    order = TraversalOrder.TreeOrder,\n    pointerCoordinates,\n    scrollableAncestors,\n    scrollableAncestorRects,\n    delta,\n    threshold\n  } = _ref;\n  const scrollIntent = useScrollIntent({\n    delta,\n    disabled: !enabled\n  });\n  const [setAutoScrollInterval, clearAutoScrollInterval] = useInterval();\n  const scrollSpeed = useRef({\n    x: 0,\n    y: 0\n  });\n  const scrollDirection = useRef({\n    x: 0,\n    y: 0\n  });\n  const rect = useMemo(() => {\n    switch (activator) {\n      case AutoScrollActivator.Pointer:\n        return pointerCoordinates ? {\n          top: pointerCoordinates.y,\n          bottom: pointerCoordinates.y,\n          left: pointerCoordinates.x,\n          right: pointerCoordinates.x\n        } : null;\n\n      case AutoScrollActivator.DraggableRect:\n        return draggingRect;\n    }\n  }, [activator, draggingRect, pointerCoordinates]);\n  const scrollContainerRef = useRef(null);\n  const autoScroll = useCallback(() => {\n    const scrollContainer = scrollContainerRef.current;\n\n    if (!scrollContainer) {\n      return;\n    }\n\n    const scrollLeft = scrollSpeed.current.x * scrollDirection.current.x;\n    const scrollTop = scrollSpeed.current.y * scrollDirection.current.y;\n    scrollContainer.scrollBy(scrollLeft, scrollTop);\n  }, []);\n  const sortedScrollableAncestors = useMemo(() => order === TraversalOrder.TreeOrder ? [...scrollableAncestors].reverse() : scrollableAncestors, [order, scrollableAncestors]);\n  useEffect(() => {\n    if (!enabled || !scrollableAncestors.length || !rect) {\n      clearAutoScrollInterval();\n      return;\n    }\n\n    for (const scrollContainer of sortedScrollableAncestors) {\n      if ((canScroll == null ? void 0 : canScroll(scrollContainer)) === false) {\n        continue;\n      }\n\n      const index = scrollableAncestors.indexOf(scrollContainer);\n      const scrollContainerRect = scrollableAncestorRects[index];\n\n      if (!scrollContainerRect) {\n        continue;\n      }\n\n      const {\n        direction,\n        speed\n      } = getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, rect, acceleration, threshold);\n\n      for (const axis of ['x', 'y']) {\n        if (!scrollIntent[axis][direction[axis]]) {\n          speed[axis] = 0;\n          direction[axis] = 0;\n        }\n      }\n\n      if (speed.x > 0 || speed.y > 0) {\n        clearAutoScrollInterval();\n        scrollContainerRef.current = scrollContainer;\n        setAutoScrollInterval(autoScroll, interval);\n        scrollSpeed.current = speed;\n        scrollDirection.current = direction;\n        return;\n      }\n    }\n\n    scrollSpeed.current = {\n      x: 0,\n      y: 0\n    };\n    scrollDirection.current = {\n      x: 0,\n      y: 0\n    };\n    clearAutoScrollInterval();\n  }, // eslint-disable-next-line react-hooks/exhaustive-deps\n  [acceleration, autoScroll, canScroll, clearAutoScrollInterval, enabled, interval, // eslint-disable-next-line react-hooks/exhaustive-deps\n  JSON.stringify(rect), // eslint-disable-next-line react-hooks/exhaustive-deps\n  JSON.stringify(scrollIntent), setAutoScrollInterval, scrollableAncestors, sortedScrollableAncestors, scrollableAncestorRects, // eslint-disable-next-line react-hooks/exhaustive-deps\n  JSON.stringify(threshold)]);\n}\nconst defaultScrollIntent = {\n  x: {\n    [Direction.Backward]: false,\n    [Direction.Forward]: false\n  },\n  y: {\n    [Direction.Backward]: false,\n    [Direction.Forward]: false\n  }\n};\n\nfunction useScrollIntent(_ref2) {\n  let {\n    delta,\n    disabled\n  } = _ref2;\n  const previousDelta = usePrevious(delta);\n  return useLazyMemo(previousIntent => {\n    if (disabled || !previousDelta || !previousIntent) {\n      // Reset scroll intent tracking when auto-scrolling is disabled\n      return defaultScrollIntent;\n    }\n\n    const direction = {\n      x: Math.sign(delta.x - previousDelta.x),\n      y: Math.sign(delta.y - previousDelta.y)\n    }; // Keep track of the user intent to scroll in each direction for both axis\n\n    return {\n      x: {\n        [Direction.Backward]: previousIntent.x[Direction.Backward] || direction.x === -1,\n        [Direction.Forward]: previousIntent.x[Direction.Forward] || direction.x === 1\n      },\n      y: {\n        [Direction.Backward]: previousIntent.y[Direction.Backward] || direction.y === -1,\n        [Direction.Forward]: previousIntent.y[Direction.Forward] || direction.y === 1\n      }\n    };\n  }, [disabled, delta, previousDelta]);\n}\n\nfunction useCachedNode(draggableNodes, id) {\n  const draggableNode = id != null ? draggableNodes.get(id) : undefined;\n  const node = draggableNode ? draggableNode.node.current : null;\n  return useLazyMemo(cachedNode => {\n    var _ref;\n\n    if (id == null) {\n      return null;\n    } // In some cases, the draggable node can unmount while dragging\n    // This is the case for virtualized lists. In those situations,\n    // we fall back to the last known value for that node.\n\n\n    return (_ref = node != null ? node : cachedNode) != null ? _ref : null;\n  }, [node, id]);\n}\n\nfunction useCombineActivators(sensors, getSyntheticHandler) {\n  return useMemo(() => sensors.reduce((accumulator, sensor) => {\n    const {\n      sensor: Sensor\n    } = sensor;\n    const sensorActivators = Sensor.activators.map(activator => ({\n      eventName: activator.eventName,\n      handler: getSyntheticHandler(activator.handler, sensor)\n    }));\n    return [...accumulator, ...sensorActivators];\n  }, []), [sensors, getSyntheticHandler]);\n}\n\nvar MeasuringStrategy;\n\n(function (MeasuringStrategy) {\n  MeasuringStrategy[MeasuringStrategy[\"Always\"] = 0] = \"Always\";\n  MeasuringStrategy[MeasuringStrategy[\"BeforeDragging\"] = 1] = \"BeforeDragging\";\n  MeasuringStrategy[MeasuringStrategy[\"WhileDragging\"] = 2] = \"WhileDragging\";\n})(MeasuringStrategy || (MeasuringStrategy = {}));\n\nvar MeasuringFrequency;\n\n(function (MeasuringFrequency) {\n  MeasuringFrequency[\"Optimized\"] = \"optimized\";\n})(MeasuringFrequency || (MeasuringFrequency = {}));\n\nconst defaultValue = /*#__PURE__*/new Map();\nfunction useDroppableMeasuring(containers, _ref) {\n  let {\n    dragging,\n    dependencies,\n    config\n  } = _ref;\n  const [queue, setQueue] = useState(null);\n  const {\n    frequency,\n    measure,\n    strategy\n  } = config;\n  const containersRef = useRef(containers);\n  const disabled = isDisabled();\n  const disabledRef = useLatestValue(disabled);\n  const measureDroppableContainers = useCallback(function (ids) {\n    if (ids === void 0) {\n      ids = [];\n    }\n\n    if (disabledRef.current) {\n      return;\n    }\n\n    setQueue(value => {\n      if (value === null) {\n        return ids;\n      }\n\n      return value.concat(ids.filter(id => !value.includes(id)));\n    });\n  }, [disabledRef]);\n  const timeoutId = useRef(null);\n  const droppableRects = useLazyMemo(previousValue => {\n    if (disabled && !dragging) {\n      return defaultValue;\n    }\n\n    if (!previousValue || previousValue === defaultValue || containersRef.current !== containers || queue != null) {\n      const map = new Map();\n\n      for (let container of containers) {\n        if (!container) {\n          continue;\n        }\n\n        if (queue && queue.length > 0 && !queue.includes(container.id) && container.rect.current) {\n          // This container does not need to be re-measured\n          map.set(container.id, container.rect.current);\n          continue;\n        }\n\n        const node = container.node.current;\n        const rect = node ? new Rect(measure(node), node) : null;\n        container.rect.current = rect;\n\n        if (rect) {\n          map.set(container.id, rect);\n        }\n      }\n\n      return map;\n    }\n\n    return previousValue;\n  }, [containers, queue, dragging, disabled, measure]);\n  useEffect(() => {\n    containersRef.current = containers;\n  }, [containers]);\n  useEffect(() => {\n    if (disabled) {\n      return;\n    }\n\n    measureDroppableContainers();\n  }, // eslint-disable-next-line react-hooks/exhaustive-deps\n  [dragging, disabled]);\n  useEffect(() => {\n    if (queue && queue.length > 0) {\n      setQueue(null);\n    }\n  }, //eslint-disable-next-line react-hooks/exhaustive-deps\n  [JSON.stringify(queue)]);\n  useEffect(() => {\n    if (disabled || typeof frequency !== 'number' || timeoutId.current !== null) {\n      return;\n    }\n\n    timeoutId.current = setTimeout(() => {\n      measureDroppableContainers();\n      timeoutId.current = null;\n    }, frequency);\n  }, // eslint-disable-next-line react-hooks/exhaustive-deps\n  [frequency, disabled, measureDroppableContainers, ...dependencies]);\n  return {\n    droppableRects,\n    measureDroppableContainers,\n    measuringScheduled: queue != null\n  };\n\n  function isDisabled() {\n    switch (strategy) {\n      case MeasuringStrategy.Always:\n        return false;\n\n      case MeasuringStrategy.BeforeDragging:\n        return dragging;\n\n      default:\n        return !dragging;\n    }\n  }\n}\n\nfunction useInitialValue(value, computeFn) {\n  return useLazyMemo(previousValue => {\n    if (!value) {\n      return null;\n    }\n\n    if (previousValue) {\n      return previousValue;\n    }\n\n    return typeof computeFn === 'function' ? computeFn(value) : value;\n  }, [computeFn, value]);\n}\n\nfunction useInitialRect(node, measure) {\n  return useInitialValue(node, measure);\n}\n\n/**\r\n * Returns a new MutationObserver instance.\r\n * If `MutationObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useMutationObserver(_ref) {\n  let {\n    callback,\n    disabled\n  } = _ref;\n  const handleMutations = useEvent(callback);\n  const mutationObserver = useMemo(() => {\n    if (disabled || typeof window === 'undefined' || typeof window.MutationObserver === 'undefined') {\n      return undefined;\n    }\n\n    const {\n      MutationObserver\n    } = window;\n    return new MutationObserver(handleMutations);\n  }, [handleMutations, disabled]);\n  useEffect(() => {\n    return () => mutationObserver == null ? void 0 : mutationObserver.disconnect();\n  }, [mutationObserver]);\n  return mutationObserver;\n}\n\n/**\r\n * Returns a new ResizeObserver instance bound to the `onResize` callback.\r\n * If `ResizeObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useResizeObserver(_ref) {\n  let {\n    callback,\n    disabled\n  } = _ref;\n  const handleResize = useEvent(callback);\n  const resizeObserver = useMemo(() => {\n    if (disabled || typeof window === 'undefined' || typeof window.ResizeObserver === 'undefined') {\n      return undefined;\n    }\n\n    const {\n      ResizeObserver\n    } = window;\n    return new ResizeObserver(handleResize);\n  }, // eslint-disable-next-line react-hooks/exhaustive-deps\n  [disabled]);\n  useEffect(() => {\n    return () => resizeObserver == null ? void 0 : resizeObserver.disconnect();\n  }, [resizeObserver]);\n  return resizeObserver;\n}\n\nfunction defaultMeasure(element) {\n  return new Rect(getClientRect(element), element);\n}\n\nfunction useRect(element, measure, fallbackRect) {\n  if (measure === void 0) {\n    measure = defaultMeasure;\n  }\n\n  const [rect, setRect] = useState(null);\n\n  function measureRect() {\n    setRect(currentRect => {\n      if (!element) {\n        return null;\n      }\n\n      if (element.isConnected === false) {\n        var _ref;\n\n        // Fall back to last rect we measured if the element is\n        // no longer connected to the DOM.\n        return (_ref = currentRect != null ? currentRect : fallbackRect) != null ? _ref : null;\n      }\n\n      const newRect = measure(element);\n\n      if (JSON.stringify(currentRect) === JSON.stringify(newRect)) {\n        return currentRect;\n      }\n\n      return newRect;\n    });\n  }\n\n  const mutationObserver = useMutationObserver({\n    callback(records) {\n      if (!element) {\n        return;\n      }\n\n      for (const record of records) {\n        const {\n          type,\n          target\n        } = record;\n\n        if (type === 'childList' && target instanceof HTMLElement && target.contains(element)) {\n          measureRect();\n          break;\n        }\n      }\n    }\n\n  });\n  const resizeObserver = useResizeObserver({\n    callback: measureRect\n  });\n  useIsomorphicLayoutEffect(() => {\n    measureRect();\n\n    if (element) {\n      resizeObserver == null ? void 0 : resizeObserver.observe(element);\n      mutationObserver == null ? void 0 : mutationObserver.observe(document.body, {\n        childList: true,\n        subtree: true\n      });\n    } else {\n      resizeObserver == null ? void 0 : resizeObserver.disconnect();\n      mutationObserver == null ? void 0 : mutationObserver.disconnect();\n    }\n  }, [element]);\n  return rect;\n}\n\nfunction useRectDelta(rect) {\n  const initialRect = useInitialValue(rect);\n  return getRectDelta(rect, initialRect);\n}\n\nconst defaultValue$1 = [];\nfunction useScrollableAncestors(node) {\n  const previousNode = useRef(node);\n  const ancestors = useLazyMemo(previousValue => {\n    if (!node) {\n      return defaultValue$1;\n    }\n\n    if (previousValue && previousValue !== defaultValue$1 && node && previousNode.current && node.parentNode === previousNode.current.parentNode) {\n      return previousValue;\n    }\n\n    return getScrollableAncestors(node);\n  }, [node]);\n  useEffect(() => {\n    previousNode.current = node;\n  }, [node]);\n  return ancestors;\n}\n\nfunction useScrollOffsets(elements) {\n  const [scrollCoordinates, setScrollCoordinates] = useState(null);\n  const prevElements = useRef(elements); // To-do: Throttle the handleScroll callback\n\n  const handleScroll = useCallback(event => {\n    const scrollingElement = getScrollableElement(event.target);\n\n    if (!scrollingElement) {\n      return;\n    }\n\n    setScrollCoordinates(scrollCoordinates => {\n      if (!scrollCoordinates) {\n        return null;\n      }\n\n      scrollCoordinates.set(scrollingElement, getScrollCoordinates(scrollingElement));\n      return new Map(scrollCoordinates);\n    });\n  }, []);\n  useEffect(() => {\n    const previousElements = prevElements.current;\n\n    if (elements !== previousElements) {\n      cleanup(previousElements);\n      const entries = elements.map(element => {\n        const scrollableElement = getScrollableElement(element);\n\n        if (scrollableElement) {\n          scrollableElement.addEventListener('scroll', handleScroll, {\n            passive: true\n          });\n          return [scrollableElement, getScrollCoordinates(scrollableElement)];\n        }\n\n        return null;\n      }).filter(entry => entry != null);\n      setScrollCoordinates(entries.length ? new Map(entries) : null);\n      prevElements.current = elements;\n    }\n\n    return () => {\n      cleanup(elements);\n      cleanup(previousElements);\n    };\n\n    function cleanup(elements) {\n      elements.forEach(element => {\n        const scrollableElement = getScrollableElement(element);\n        scrollableElement == null ? void 0 : scrollableElement.removeEventListener('scroll', handleScroll);\n      });\n    }\n  }, [handleScroll, elements]);\n  return useMemo(() => {\n    if (elements.length) {\n      return scrollCoordinates ? Array.from(scrollCoordinates.values()).reduce((acc, coordinates) => add(acc, coordinates), defaultCoordinates) : getScrollOffsets(elements);\n    }\n\n    return defaultCoordinates;\n  }, [elements, scrollCoordinates]);\n}\n\nfunction useScrollOffsetsDelta(scrollOffsets, dependencies) {\n  if (dependencies === void 0) {\n    dependencies = [];\n  }\n\n  const initialScrollOffsets = useRef(null);\n  useEffect(() => {\n    initialScrollOffsets.current = null;\n  }, // eslint-disable-next-line react-hooks/exhaustive-deps\n  dependencies);\n  useEffect(() => {\n    const hasScrollOffsets = scrollOffsets !== defaultCoordinates;\n\n    if (hasScrollOffsets && !initialScrollOffsets.current) {\n      initialScrollOffsets.current = scrollOffsets;\n    }\n\n    if (!hasScrollOffsets && initialScrollOffsets.current) {\n      initialScrollOffsets.current = null;\n    }\n  }, [scrollOffsets]);\n  return initialScrollOffsets.current ? subtract(scrollOffsets, initialScrollOffsets.current) : defaultCoordinates;\n}\n\nfunction useSensorSetup(sensors) {\n  useEffect(() => {\n    if (!canUseDOM) {\n      return;\n    }\n\n    const teardownFns = sensors.map(_ref => {\n      let {\n        sensor\n      } = _ref;\n      return sensor.setup == null ? void 0 : sensor.setup();\n    });\n    return () => {\n      for (const teardown of teardownFns) {\n        teardown == null ? void 0 : teardown();\n      }\n    };\n  }, // TO-DO: Sensors length could theoretically change which would not be a valid dependency\n  // eslint-disable-next-line react-hooks/exhaustive-deps\n  sensors.map(_ref2 => {\n    let {\n      sensor\n    } = _ref2;\n    return sensor;\n  }));\n}\n\nfunction useSyntheticListeners(listeners, id) {\n  return useMemo(() => {\n    return listeners.reduce((acc, _ref) => {\n      let {\n        eventName,\n        handler\n      } = _ref;\n\n      acc[eventName] = event => {\n        handler(event, id);\n      };\n\n      return acc;\n    }, {});\n  }, [listeners, id]);\n}\n\nfunction useWindowRect(element) {\n  return useMemo(() => element ? getWindowClientRect(element) : null, [element]);\n}\n\nconst defaultValue$2 = [];\nfunction useRects(elements, measure) {\n  if (measure === void 0) {\n    measure = getClientRect;\n  }\n\n  const [firstElement] = elements;\n  const windowRect = useWindowRect(firstElement ? getWindow(firstElement) : null);\n  const [rects, setRects] = useState(defaultValue$2);\n\n  function measureRects() {\n    setRects(() => {\n      if (!elements.length) {\n        return defaultValue$2;\n      }\n\n      return elements.map(element => isDocumentScrollingElement(element) ? windowRect : new Rect(measure(element), element));\n    });\n  }\n\n  const resizeObserver = useResizeObserver({\n    callback: measureRects\n  });\n  useIsomorphicLayoutEffect(() => {\n    resizeObserver == null ? void 0 : resizeObserver.disconnect();\n    measureRects();\n    elements.forEach(element => resizeObserver == null ? void 0 : resizeObserver.observe(element));\n  }, [elements]);\n  return rects;\n}\n\nfunction getMeasurableNode(node) {\n  if (!node) {\n    return null;\n  }\n\n  if (node.children.length > 1) {\n    return node;\n  }\n\n  const firstChild = node.children[0];\n  return isHTMLElement(firstChild) ? firstChild : node;\n}\n\nfunction useDragOverlayMeasuring(_ref) {\n  let {\n    measure\n  } = _ref;\n  const [rect, setRect] = useState(null);\n  const handleResize = useCallback(entries => {\n    for (const {\n      target\n    } of entries) {\n      if (isHTMLElement(target)) {\n        setRect(rect => {\n          const newRect = measure(target);\n          return rect ? { ...rect,\n            width: newRect.width,\n            height: newRect.height\n          } : newRect;\n        });\n        break;\n      }\n    }\n  }, [measure]);\n  const resizeObserver = useResizeObserver({\n    callback: handleResize\n  });\n  const handleNodeChange = useCallback(element => {\n    const node = getMeasurableNode(element);\n    resizeObserver == null ? void 0 : resizeObserver.disconnect();\n\n    if (node) {\n      resizeObserver == null ? void 0 : resizeObserver.observe(node);\n    }\n\n    setRect(node ? measure(node) : null);\n  }, [measure, resizeObserver]);\n  const [nodeRef, setRef] = useNodeRef(handleNodeChange);\n  return useMemo(() => ({\n    nodeRef,\n    rect,\n    setRef\n  }), [rect, nodeRef, setRef]);\n}\n\nconst defaultSensors = [{\n  sensor: PointerSensor,\n  options: {}\n}, {\n  sensor: KeyboardSensor,\n  options: {}\n}];\nconst defaultData = {\n  current: {}\n};\nconst defaultMeasuringConfiguration = {\n  draggable: {\n    measure: getTransformAgnosticClientRect\n  },\n  droppable: {\n    measure: getTransformAgnosticClientRect,\n    strategy: MeasuringStrategy.WhileDragging,\n    frequency: MeasuringFrequency.Optimized\n  },\n  dragOverlay: {\n    measure: getClientRect\n  }\n};\n\nclass DroppableContainersMap extends Map {\n  get(id) {\n    var _super$get;\n\n    return id != null ? (_super$get = super.get(id)) != null ? _super$get : undefined : undefined;\n  }\n\n  toArray() {\n    return Array.from(this.values());\n  }\n\n  getEnabled() {\n    return this.toArray().filter(_ref => {\n      let {\n        disabled\n      } = _ref;\n      return !disabled;\n    });\n  }\n\n  getNodeFor(id) {\n    var _this$get$node$curren, _this$get;\n\n    return (_this$get$node$curren = (_this$get = this.get(id)) == null ? void 0 : _this$get.node.current) != null ? _this$get$node$curren : undefined;\n  }\n\n}\n\nconst defaultPublicContext = {\n  activatorEvent: null,\n  active: null,\n  activeNode: null,\n  activeNodeRect: null,\n  collisions: null,\n  containerNodeRect: null,\n  draggableNodes: /*#__PURE__*/new Map(),\n  droppableRects: /*#__PURE__*/new Map(),\n  droppableContainers: /*#__PURE__*/new DroppableContainersMap(),\n  over: null,\n  dragOverlay: {\n    nodeRef: {\n      current: null\n    },\n    rect: null,\n    setRef: noop\n  },\n  scrollableAncestors: [],\n  scrollableAncestorRects: [],\n  measuringConfiguration: defaultMeasuringConfiguration,\n  measureDroppableContainers: noop,\n  windowRect: null,\n  measuringScheduled: false\n};\nconst defaultInternalContext = {\n  activatorEvent: null,\n  activators: [],\n  active: null,\n  activeNodeRect: null,\n  ariaDescribedById: {\n    draggable: ''\n  },\n  dispatch: noop,\n  draggableNodes: /*#__PURE__*/new Map(),\n  over: null,\n  measureDroppableContainers: noop\n};\nconst InternalContext = /*#__PURE__*/createContext(defaultInternalContext);\nconst PublicContext = /*#__PURE__*/createContext(defaultPublicContext);\n\nfunction getInitialState() {\n  return {\n    draggable: {\n      active: null,\n      initialCoordinates: {\n        x: 0,\n        y: 0\n      },\n      nodes: new Map(),\n      translate: {\n        x: 0,\n        y: 0\n      }\n    },\n    droppable: {\n      containers: new DroppableContainersMap()\n    }\n  };\n}\nfunction reducer(state, action) {\n  switch (action.type) {\n    case Action.DragStart:\n      return { ...state,\n        draggable: { ...state.draggable,\n          initialCoordinates: action.initialCoordinates,\n          active: action.active\n        }\n      };\n\n    case Action.DragMove:\n      if (state.draggable.active == null) {\n        return state;\n      }\n\n      return { ...state,\n        draggable: { ...state.draggable,\n          translate: {\n            x: action.coordinates.x - state.draggable.initialCoordinates.x,\n            y: action.coordinates.y - state.draggable.initialCoordinates.y\n          }\n        }\n      };\n\n    case Action.DragEnd:\n    case Action.DragCancel:\n      return { ...state,\n        draggable: { ...state.draggable,\n          active: null,\n          initialCoordinates: {\n            x: 0,\n            y: 0\n          },\n          translate: {\n            x: 0,\n            y: 0\n          }\n        }\n      };\n\n    case Action.RegisterDroppable:\n      {\n        const {\n          element\n        } = action;\n        const {\n          id\n        } = element;\n        const containers = new DroppableContainersMap(state.droppable.containers);\n        containers.set(id, element);\n        return { ...state,\n          droppable: { ...state.droppable,\n            containers\n          }\n        };\n      }\n\n    case Action.SetDroppableDisabled:\n      {\n        const {\n          id,\n          key,\n          disabled\n        } = action;\n        const element = state.droppable.containers.get(id);\n\n        if (!element || key !== element.key) {\n          return state;\n        }\n\n        const containers = new DroppableContainersMap(state.droppable.containers);\n        containers.set(id, { ...element,\n          disabled\n        });\n        return { ...state,\n          droppable: { ...state.droppable,\n            containers\n          }\n        };\n      }\n\n    case Action.UnregisterDroppable:\n      {\n        const {\n          id,\n          key\n        } = action;\n        const element = state.droppable.containers.get(id);\n\n        if (!element || key !== element.key) {\n          return state;\n        }\n\n        const containers = new DroppableContainersMap(state.droppable.containers);\n        containers.delete(id);\n        return { ...state,\n          droppable: { ...state.droppable,\n            containers\n          }\n        };\n      }\n\n    default:\n      {\n        return state;\n      }\n  }\n}\n\nfunction RestoreFocus(_ref) {\n  let {\n    disabled\n  } = _ref;\n  const {\n    active,\n    activatorEvent,\n    draggableNodes\n  } = useContext(InternalContext);\n  const previousActivatorEvent = usePrevious(activatorEvent);\n  const previousActiveId = usePrevious(active == null ? void 0 : active.id); // Restore keyboard focus on the activator node\n\n  useEffect(() => {\n    if (disabled) {\n      return;\n    }\n\n    if (!activatorEvent && previousActivatorEvent && previousActiveId != null) {\n      if (!isKeyboardEvent(previousActivatorEvent)) {\n        return;\n      }\n\n      if (document.activeElement === previousActivatorEvent.target) {\n        // No need to restore focus\n        return;\n      }\n\n      const draggableNode = draggableNodes.get(previousActiveId);\n\n      if (!draggableNode) {\n        return;\n      }\n\n      const {\n        activatorNode,\n        node\n      } = draggableNode;\n\n      if (!activatorNode.current && !node.current) {\n        return;\n      }\n\n      requestAnimationFrame(() => {\n        for (const element of [activatorNode.current, node.current]) {\n          if (!element) {\n            continue;\n          }\n\n          const focusableNode = findFirstFocusableNode(element);\n\n          if (focusableNode) {\n            focusableNode.focus();\n            break;\n          }\n        }\n      });\n    }\n  }, [activatorEvent, disabled, draggableNodes, previousActiveId, previousActivatorEvent]);\n  return null;\n}\n\nfunction applyModifiers(modifiers, _ref) {\n  let {\n    transform,\n    ...args\n  } = _ref;\n  return modifiers != null && modifiers.length ? modifiers.reduce((accumulator, modifier) => {\n    return modifier({\n      transform: accumulator,\n      ...args\n    });\n  }, transform) : transform;\n}\n\nfunction useMeasuringConfiguration(config) {\n  return useMemo(() => ({\n    draggable: { ...defaultMeasuringConfiguration.draggable,\n      ...(config == null ? void 0 : config.draggable)\n    },\n    droppable: { ...defaultMeasuringConfiguration.droppable,\n      ...(config == null ? void 0 : config.droppable)\n    },\n    dragOverlay: { ...defaultMeasuringConfiguration.dragOverlay,\n      ...(config == null ? void 0 : config.dragOverlay)\n    }\n  }), // eslint-disable-next-line react-hooks/exhaustive-deps\n  [config == null ? void 0 : config.draggable, config == null ? void 0 : config.droppable, config == null ? void 0 : config.dragOverlay]);\n}\n\nfunction useLayoutShiftScrollCompensation(_ref) {\n  let {\n    activeNode,\n    measure,\n    initialRect,\n    config = true\n  } = _ref;\n  const initialized = useRef(false);\n  const {\n    x,\n    y\n  } = typeof config === 'boolean' ? {\n    x: config,\n    y: config\n  } : config;\n  useIsomorphicLayoutEffect(() => {\n    const disabled = !x && !y;\n\n    if (disabled || !activeNode) {\n      initialized.current = false;\n      return;\n    }\n\n    if (initialized.current || !initialRect) {\n      // Return early if layout shift scroll compensation was already attempted\n      // or if there is no initialRect to compare to.\n      return;\n    } // Get the most up to date node ref for the active draggable\n\n\n    const node = activeNode == null ? void 0 : activeNode.node.current;\n\n    if (!node || node.isConnected === false) {\n      // Return early if there is no attached node ref or if the node is\n      // disconnected from the document.\n      return;\n    }\n\n    const rect = measure(node);\n    const rectDelta = getRectDelta(rect, initialRect);\n\n    if (!x) {\n      rectDelta.x = 0;\n    }\n\n    if (!y) {\n      rectDelta.y = 0;\n    } // Only perform layout shift scroll compensation once\n\n\n    initialized.current = true;\n\n    if (Math.abs(rectDelta.x) > 0 || Math.abs(rectDelta.y) > 0) {\n      const firstScrollableAncestor = getFirstScrollableAncestor(node);\n\n      if (firstScrollableAncestor) {\n        firstScrollableAncestor.scrollBy({\n          top: rectDelta.y,\n          left: rectDelta.x\n        });\n      }\n    }\n  }, [activeNode, x, y, initialRect, measure]);\n}\n\nconst ActiveDraggableContext = /*#__PURE__*/createContext({ ...defaultCoordinates,\n  scaleX: 1,\n  scaleY: 1\n});\nvar Status;\n\n(function (Status) {\n  Status[Status[\"Uninitialized\"] = 0] = \"Uninitialized\";\n  Status[Status[\"Initializing\"] = 1] = \"Initializing\";\n  Status[Status[\"Initialized\"] = 2] = \"Initialized\";\n})(Status || (Status = {}));\n\nconst DndContext = /*#__PURE__*/memo(function DndContext(_ref) {\n  var _sensorContext$curren, _dragOverlay$nodeRef$, _dragOverlay$rect, _over$rect;\n\n  let {\n    id,\n    accessibility,\n    autoScroll = true,\n    children,\n    sensors = defaultSensors,\n    collisionDetection = rectIntersection,\n    measuring,\n    modifiers,\n    ...props\n  } = _ref;\n  const store = useReducer(reducer, undefined, getInitialState);\n  const [state, dispatch] = store;\n  const [dispatchMonitorEvent, registerMonitorListener] = useDndMonitorProvider();\n  const [status, setStatus] = useState(Status.Uninitialized);\n  const isInitialized = status === Status.Initialized;\n  const {\n    draggable: {\n      active: activeId,\n      nodes: draggableNodes,\n      translate\n    },\n    droppable: {\n      containers: droppableContainers\n    }\n  } = state;\n  const node = activeId != null ? draggableNodes.get(activeId) : null;\n  const activeRects = useRef({\n    initial: null,\n    translated: null\n  });\n  const active = useMemo(() => {\n    var _node$data;\n\n    return activeId != null ? {\n      id: activeId,\n      // It's possible for the active node to unmount while dragging\n      data: (_node$data = node == null ? void 0 : node.data) != null ? _node$data : defaultData,\n      rect: activeRects\n    } : null;\n  }, [activeId, node]);\n  const activeRef = useRef(null);\n  const [activeSensor, setActiveSensor] = useState(null);\n  const [activatorEvent, setActivatorEvent] = useState(null);\n  const latestProps = useLatestValue(props, Object.values(props));\n  const draggableDescribedById = useUniqueId(\"DndDescribedBy\", id);\n  const enabledDroppableContainers = useMemo(() => droppableContainers.getEnabled(), [droppableContainers]);\n  const measuringConfiguration = useMeasuringConfiguration(measuring);\n  const {\n    droppableRects,\n    measureDroppableContainers,\n    measuringScheduled\n  } = useDroppableMeasuring(enabledDroppableContainers, {\n    dragging: isInitialized,\n    dependencies: [translate.x, translate.y],\n    config: measuringConfiguration.droppable\n  });\n  const activeNode = useCachedNode(draggableNodes, activeId);\n  const activationCoordinates = useMemo(() => activatorEvent ? getEventCoordinates(activatorEvent) : null, [activatorEvent]);\n  const autoScrollOptions = getAutoScrollerOptions();\n  const initialActiveNodeRect = useInitialRect(activeNode, measuringConfiguration.draggable.measure);\n  useLayoutShiftScrollCompensation({\n    activeNode: activeId != null ? draggableNodes.get(activeId) : null,\n    config: autoScrollOptions.layoutShiftCompensation,\n    initialRect: initialActiveNodeRect,\n    measure: measuringConfiguration.draggable.measure\n  });\n  const activeNodeRect = useRect(activeNode, measuringConfiguration.draggable.measure, initialActiveNodeRect);\n  const containerNodeRect = useRect(activeNode ? activeNode.parentElement : null);\n  const sensorContext = useRef({\n    activatorEvent: null,\n    active: null,\n    activeNode,\n    collisionRect: null,\n    collisions: null,\n    droppableRects,\n    draggableNodes,\n    draggingNode: null,\n    draggingNodeRect: null,\n    droppableContainers,\n    over: null,\n    scrollableAncestors: [],\n    scrollAdjustedTranslate: null\n  });\n  const overNode = droppableContainers.getNodeFor((_sensorContext$curren = sensorContext.current.over) == null ? void 0 : _sensorContext$curren.id);\n  const dragOverlay = useDragOverlayMeasuring({\n    measure: measuringConfiguration.dragOverlay.measure\n  }); // Use the rect of the drag overlay if it is mounted\n\n  const draggingNode = (_dragOverlay$nodeRef$ = dragOverlay.nodeRef.current) != null ? _dragOverlay$nodeRef$ : activeNode;\n  const draggingNodeRect = isInitialized ? (_dragOverlay$rect = dragOverlay.rect) != null ? _dragOverlay$rect : activeNodeRect : null;\n  const usesDragOverlay = Boolean(dragOverlay.nodeRef.current && dragOverlay.rect); // The delta between the previous and new position of the draggable node\n  // is only relevant when there is no drag overlay\n\n  const nodeRectDelta = useRectDelta(usesDragOverlay ? null : activeNodeRect); // Get the window rect of the dragging node\n\n  const windowRect = useWindowRect(draggingNode ? getWindow(draggingNode) : null); // Get scrollable ancestors of the dragging node\n\n  const scrollableAncestors = useScrollableAncestors(isInitialized ? overNode != null ? overNode : activeNode : null);\n  const scrollableAncestorRects = useRects(scrollableAncestors); // Apply modifiers\n\n  const modifiedTranslate = applyModifiers(modifiers, {\n    transform: {\n      x: translate.x - nodeRectDelta.x,\n      y: translate.y - nodeRectDelta.y,\n      scaleX: 1,\n      scaleY: 1\n    },\n    activatorEvent,\n    active,\n    activeNodeRect,\n    containerNodeRect,\n    draggingNodeRect,\n    over: sensorContext.current.over,\n    overlayNodeRect: dragOverlay.rect,\n    scrollableAncestors,\n    scrollableAncestorRects,\n    windowRect\n  });\n  const pointerCoordinates = activationCoordinates ? add(activationCoordinates, translate) : null;\n  const scrollOffsets = useScrollOffsets(scrollableAncestors); // Represents the scroll delta since dragging was initiated\n\n  const scrollAdjustment = useScrollOffsetsDelta(scrollOffsets); // Represents the scroll delta since the last time the active node rect was measured\n\n  const activeNodeScrollDelta = useScrollOffsetsDelta(scrollOffsets, [activeNodeRect]);\n  const scrollAdjustedTranslate = add(modifiedTranslate, scrollAdjustment);\n  const collisionRect = draggingNodeRect ? getAdjustedRect(draggingNodeRect, modifiedTranslate) : null;\n  const collisions = active && collisionRect ? collisionDetection({\n    active,\n    collisionRect,\n    droppableRects,\n    droppableContainers: enabledDroppableContainers,\n    pointerCoordinates\n  }) : null;\n  const overId = getFirstCollision(collisions, 'id');\n  const [over, setOver] = useState(null); // When there is no drag overlay used, we need to account for the\n  // window scroll delta\n\n  const appliedTranslate = usesDragOverlay ? modifiedTranslate : add(modifiedTranslate, activeNodeScrollDelta);\n  const transform = adjustScale(appliedTranslate, (_over$rect = over == null ? void 0 : over.rect) != null ? _over$rect : null, activeNodeRect);\n  const activeSensorRef = useRef(null);\n  const instantiateSensor = useCallback((event, _ref2) => {\n    let {\n      sensor: Sensor,\n      options\n    } = _ref2;\n\n    if (activeRef.current == null) {\n      return;\n    }\n\n    const activeNode = draggableNodes.get(activeRef.current);\n\n    if (!activeNode) {\n      return;\n    }\n\n    const activatorEvent = event.nativeEvent;\n    const sensorInstance = new Sensor({\n      active: activeRef.current,\n      activeNode,\n      event: activatorEvent,\n      options,\n      // Sensors need to be instantiated with refs for arguments that change over time\n      // otherwise they are frozen in time with the stale arguments\n      context: sensorContext,\n\n      onAbort(id) {\n        const draggableNode = draggableNodes.get(id);\n\n        if (!draggableNode) {\n          return;\n        }\n\n        const {\n          onDragAbort\n        } = latestProps.current;\n        const event = {\n          id\n        };\n        onDragAbort == null ? void 0 : onDragAbort(event);\n        dispatchMonitorEvent({\n          type: 'onDragAbort',\n          event\n        });\n      },\n\n      onPending(id, constraint, initialCoordinates, offset) {\n        const draggableNode = draggableNodes.get(id);\n\n        if (!draggableNode) {\n          return;\n        }\n\n        const {\n          onDragPending\n        } = latestProps.current;\n        const event = {\n          id,\n          constraint,\n          initialCoordinates,\n          offset\n        };\n        onDragPending == null ? void 0 : onDragPending(event);\n        dispatchMonitorEvent({\n          type: 'onDragPending',\n          event\n        });\n      },\n\n      onStart(initialCoordinates) {\n        const id = activeRef.current;\n\n        if (id == null) {\n          return;\n        }\n\n        const draggableNode = draggableNodes.get(id);\n\n        if (!draggableNode) {\n          return;\n        }\n\n        const {\n          onDragStart\n        } = latestProps.current;\n        const event = {\n          activatorEvent,\n          active: {\n            id,\n            data: draggableNode.data,\n            rect: activeRects\n          }\n        };\n        unstable_batchedUpdates(() => {\n          onDragStart == null ? void 0 : onDragStart(event);\n          setStatus(Status.Initializing);\n          dispatch({\n            type: Action.DragStart,\n            initialCoordinates,\n            active: id\n          });\n          dispatchMonitorEvent({\n            type: 'onDragStart',\n            event\n          });\n          setActiveSensor(activeSensorRef.current);\n          setActivatorEvent(activatorEvent);\n        });\n      },\n\n      onMove(coordinates) {\n        dispatch({\n          type: Action.DragMove,\n          coordinates\n        });\n      },\n\n      onEnd: createHandler(Action.DragEnd),\n      onCancel: createHandler(Action.DragCancel)\n    });\n    activeSensorRef.current = sensorInstance;\n\n    function createHandler(type) {\n      return async function handler() {\n        const {\n          active,\n          collisions,\n          over,\n          scrollAdjustedTranslate\n        } = sensorContext.current;\n        let event = null;\n\n        if (active && scrollAdjustedTranslate) {\n          const {\n            cancelDrop\n          } = latestProps.current;\n          event = {\n            activatorEvent,\n            active: active,\n            collisions,\n            delta: scrollAdjustedTranslate,\n            over\n          };\n\n          if (type === Action.DragEnd && typeof cancelDrop === 'function') {\n            const shouldCancel = await Promise.resolve(cancelDrop(event));\n\n            if (shouldCancel) {\n              type = Action.DragCancel;\n            }\n          }\n        }\n\n        activeRef.current = null;\n        unstable_batchedUpdates(() => {\n          dispatch({\n            type\n          });\n          setStatus(Status.Uninitialized);\n          setOver(null);\n          setActiveSensor(null);\n          setActivatorEvent(null);\n          activeSensorRef.current = null;\n          const eventName = type === Action.DragEnd ? 'onDragEnd' : 'onDragCancel';\n\n          if (event) {\n            const handler = latestProps.current[eventName];\n            handler == null ? void 0 : handler(event);\n            dispatchMonitorEvent({\n              type: eventName,\n              event\n            });\n          }\n        });\n      };\n    }\n  }, // eslint-disable-next-line react-hooks/exhaustive-deps\n  [draggableNodes]);\n  const bindActivatorToSensorInstantiator = useCallback((handler, sensor) => {\n    return (event, active) => {\n      const nativeEvent = event.nativeEvent;\n      const activeDraggableNode = draggableNodes.get(active);\n\n      if ( // Another sensor is already instantiating\n      activeRef.current !== null || // No active draggable\n      !activeDraggableNode || // Event has already been captured\n      nativeEvent.dndKit || nativeEvent.defaultPrevented) {\n        return;\n      }\n\n      const activationContext = {\n        active: activeDraggableNode\n      };\n      const shouldActivate = handler(event, sensor.options, activationContext);\n\n      if (shouldActivate === true) {\n        nativeEvent.dndKit = {\n          capturedBy: sensor.sensor\n        };\n        activeRef.current = active;\n        instantiateSensor(event, sensor);\n      }\n    };\n  }, [draggableNodes, instantiateSensor]);\n  const activators = useCombineActivators(sensors, bindActivatorToSensorInstantiator);\n  useSensorSetup(sensors);\n  useIsomorphicLayoutEffect(() => {\n    if (activeNodeRect && status === Status.Initializing) {\n      setStatus(Status.Initialized);\n    }\n  }, [activeNodeRect, status]);\n  useEffect(() => {\n    const {\n      onDragMove\n    } = latestProps.current;\n    const {\n      active,\n      activatorEvent,\n      collisions,\n      over\n    } = sensorContext.current;\n\n    if (!active || !activatorEvent) {\n      return;\n    }\n\n    const event = {\n      active,\n      activatorEvent,\n      collisions,\n      delta: {\n        x: scrollAdjustedTranslate.x,\n        y: scrollAdjustedTranslate.y\n      },\n      over\n    };\n    unstable_batchedUpdates(() => {\n      onDragMove == null ? void 0 : onDragMove(event);\n      dispatchMonitorEvent({\n        type: 'onDragMove',\n        event\n      });\n    });\n  }, // eslint-disable-next-line react-hooks/exhaustive-deps\n  [scrollAdjustedTranslate.x, scrollAdjustedTranslate.y]);\n  useEffect(() => {\n    const {\n      active,\n      activatorEvent,\n      collisions,\n      droppableContainers,\n      scrollAdjustedTranslate\n    } = sensorContext.current;\n\n    if (!active || activeRef.current == null || !activatorEvent || !scrollAdjustedTranslate) {\n      return;\n    }\n\n    const {\n      onDragOver\n    } = latestProps.current;\n    const overContainer = droppableContainers.get(overId);\n    const over = overContainer && overContainer.rect.current ? {\n      id: overContainer.id,\n      rect: overContainer.rect.current,\n      data: overContainer.data,\n      disabled: overContainer.disabled\n    } : null;\n    const event = {\n      active,\n      activatorEvent,\n      collisions,\n      delta: {\n        x: scrollAdjustedTranslate.x,\n        y: scrollAdjustedTranslate.y\n      },\n      over\n    };\n    unstable_batchedUpdates(() => {\n      setOver(over);\n      onDragOver == null ? void 0 : onDragOver(event);\n      dispatchMonitorEvent({\n        type: 'onDragOver',\n        event\n      });\n    });\n  }, // eslint-disable-next-line react-hooks/exhaustive-deps\n  [overId]);\n  useIsomorphicLayoutEffect(() => {\n    sensorContext.current = {\n      activatorEvent,\n      active,\n      activeNode,\n      collisionRect,\n      collisions,\n      droppableRects,\n      draggableNodes,\n      draggingNode,\n      draggingNodeRect,\n      droppableContainers,\n      over,\n      scrollableAncestors,\n      scrollAdjustedTranslate\n    };\n    activeRects.current = {\n      initial: draggingNodeRect,\n      translated: collisionRect\n    };\n  }, [active, activeNode, collisions, collisionRect, draggableNodes, draggingNode, draggingNodeRect, droppableRects, droppableContainers, over, scrollableAncestors, scrollAdjustedTranslate]);\n  useAutoScroller({ ...autoScrollOptions,\n    delta: translate,\n    draggingRect: collisionRect,\n    pointerCoordinates,\n    scrollableAncestors,\n    scrollableAncestorRects\n  });\n  const publicContext = useMemo(() => {\n    const context = {\n      active,\n      activeNode,\n      activeNodeRect,\n      activatorEvent,\n      collisions,\n      containerNodeRect,\n      dragOverlay,\n      draggableNodes,\n      droppableContainers,\n      droppableRects,\n      over,\n      measureDroppableContainers,\n      scrollableAncestors,\n      scrollableAncestorRects,\n      measuringConfiguration,\n      measuringScheduled,\n      windowRect\n    };\n    return context;\n  }, [active, activeNode, activeNodeRect, activatorEvent, collisions, containerNodeRect, dragOverlay, draggableNodes, droppableContainers, droppableRects, over, measureDroppableContainers, scrollableAncestors, scrollableAncestorRects, measuringConfiguration, measuringScheduled, windowRect]);\n  const internalContext = useMemo(() => {\n    const context = {\n      activatorEvent,\n      activators,\n      active,\n      activeNodeRect,\n      ariaDescribedById: {\n        draggable: draggableDescribedById\n      },\n      dispatch,\n      draggableNodes,\n      over,\n      measureDroppableContainers\n    };\n    return context;\n  }, [activatorEvent, activators, active, activeNodeRect, dispatch, draggableDescribedById, draggableNodes, over, measureDroppableContainers]);\n  return React.createElement(DndMonitorContext.Provider, {\n    value: registerMonitorListener\n  }, React.createElement(InternalContext.Provider, {\n    value: internalContext\n  }, React.createElement(PublicContext.Provider, {\n    value: publicContext\n  }, React.createElement(ActiveDraggableContext.Provider, {\n    value: transform\n  }, children)), React.createElement(RestoreFocus, {\n    disabled: (accessibility == null ? void 0 : accessibility.restoreFocus) === false\n  })), React.createElement(Accessibility, { ...accessibility,\n    hiddenTextDescribedById: draggableDescribedById\n  }));\n\n  function getAutoScrollerOptions() {\n    const activeSensorDisablesAutoscroll = (activeSensor == null ? void 0 : activeSensor.autoScrollEnabled) === false;\n    const autoScrollGloballyDisabled = typeof autoScroll === 'object' ? autoScroll.enabled === false : autoScroll === false;\n    const enabled = isInitialized && !activeSensorDisablesAutoscroll && !autoScrollGloballyDisabled;\n\n    if (typeof autoScroll === 'object') {\n      return { ...autoScroll,\n        enabled\n      };\n    }\n\n    return {\n      enabled\n    };\n  }\n});\n\nconst NullContext = /*#__PURE__*/createContext(null);\nconst defaultRole = 'button';\nconst ID_PREFIX = 'Draggable';\nfunction useDraggable(_ref) {\n  let {\n    id,\n    data,\n    disabled = false,\n    attributes\n  } = _ref;\n  const key = useUniqueId(ID_PREFIX);\n  const {\n    activators,\n    activatorEvent,\n    active,\n    activeNodeRect,\n    ariaDescribedById,\n    draggableNodes,\n    over\n  } = useContext(InternalContext);\n  const {\n    role = defaultRole,\n    roleDescription = 'draggable',\n    tabIndex = 0\n  } = attributes != null ? attributes : {};\n  const isDragging = (active == null ? void 0 : active.id) === id;\n  const transform = useContext(isDragging ? ActiveDraggableContext : NullContext);\n  const [node, setNodeRef] = useNodeRef();\n  const [activatorNode, setActivatorNodeRef] = useNodeRef();\n  const listeners = useSyntheticListeners(activators, id);\n  const dataRef = useLatestValue(data);\n  useIsomorphicLayoutEffect(() => {\n    draggableNodes.set(id, {\n      id,\n      key,\n      node,\n      activatorNode,\n      data: dataRef\n    });\n    return () => {\n      const node = draggableNodes.get(id);\n\n      if (node && node.key === key) {\n        draggableNodes.delete(id);\n      }\n    };\n  }, // eslint-disable-next-line react-hooks/exhaustive-deps\n  [draggableNodes, id]);\n  const memoizedAttributes = useMemo(() => ({\n    role,\n    tabIndex,\n    'aria-disabled': disabled,\n    'aria-pressed': isDragging && role === defaultRole ? true : undefined,\n    'aria-roledescription': roleDescription,\n    'aria-describedby': ariaDescribedById.draggable\n  }), [disabled, role, tabIndex, isDragging, roleDescription, ariaDescribedById.draggable]);\n  return {\n    active,\n    activatorEvent,\n    activeNodeRect,\n    attributes: memoizedAttributes,\n    isDragging,\n    listeners: disabled ? undefined : listeners,\n    node,\n    over,\n    setNodeRef,\n    setActivatorNodeRef,\n    transform\n  };\n}\n\nfunction useDndContext() {\n  return useContext(PublicContext);\n}\n\nconst ID_PREFIX$1 = 'Droppable';\nconst defaultResizeObserverConfig = {\n  timeout: 25\n};\nfunction useDroppable(_ref) {\n  let {\n    data,\n    disabled = false,\n    id,\n    resizeObserverConfig\n  } = _ref;\n  const key = useUniqueId(ID_PREFIX$1);\n  const {\n    active,\n    dispatch,\n    over,\n    measureDroppableContainers\n  } = useContext(InternalContext);\n  const previous = useRef({\n    disabled\n  });\n  const resizeObserverConnected = useRef(false);\n  const rect = useRef(null);\n  const callbackId = useRef(null);\n  const {\n    disabled: resizeObserverDisabled,\n    updateMeasurementsFor,\n    timeout: resizeObserverTimeout\n  } = { ...defaultResizeObserverConfig,\n    ...resizeObserverConfig\n  };\n  const ids = useLatestValue(updateMeasurementsFor != null ? updateMeasurementsFor : id);\n  const handleResize = useCallback(() => {\n    if (!resizeObserverConnected.current) {\n      // ResizeObserver invokes the `handleResize` callback as soon as `observe` is called,\n      // assuming the element is rendered and displayed.\n      resizeObserverConnected.current = true;\n      return;\n    }\n\n    if (callbackId.current != null) {\n      clearTimeout(callbackId.current);\n    }\n\n    callbackId.current = setTimeout(() => {\n      measureDroppableContainers(Array.isArray(ids.current) ? ids.current : [ids.current]);\n      callbackId.current = null;\n    }, resizeObserverTimeout);\n  }, //eslint-disable-next-line react-hooks/exhaustive-deps\n  [resizeObserverTimeout]);\n  const resizeObserver = useResizeObserver({\n    callback: handleResize,\n    disabled: resizeObserverDisabled || !active\n  });\n  const handleNodeChange = useCallback((newElement, previousElement) => {\n    if (!resizeObserver) {\n      return;\n    }\n\n    if (previousElement) {\n      resizeObserver.unobserve(previousElement);\n      resizeObserverConnected.current = false;\n    }\n\n    if (newElement) {\n      resizeObserver.observe(newElement);\n    }\n  }, [resizeObserver]);\n  const [nodeRef, setNodeRef] = useNodeRef(handleNodeChange);\n  const dataRef = useLatestValue(data);\n  useEffect(() => {\n    if (!resizeObserver || !nodeRef.current) {\n      return;\n    }\n\n    resizeObserver.disconnect();\n    resizeObserverConnected.current = false;\n    resizeObserver.observe(nodeRef.current);\n  }, [nodeRef, resizeObserver]);\n  useEffect(() => {\n    dispatch({\n      type: Action.RegisterDroppable,\n      element: {\n        id,\n        key,\n        disabled,\n        node: nodeRef,\n        rect,\n        data: dataRef\n      }\n    });\n    return () => dispatch({\n      type: Action.UnregisterDroppable,\n      key,\n      id\n    });\n  }, // eslint-disable-next-line react-hooks/exhaustive-deps\n  [id]);\n  useEffect(() => {\n    if (disabled !== previous.current.disabled) {\n      dispatch({\n        type: Action.SetDroppableDisabled,\n        id,\n        key,\n        disabled\n      });\n      previous.current.disabled = disabled;\n    }\n  }, [id, key, disabled, dispatch]);\n  return {\n    active,\n    rect,\n    isOver: (over == null ? void 0 : over.id) === id,\n    node: nodeRef,\n    over,\n    setNodeRef\n  };\n}\n\nfunction AnimationManager(_ref) {\n  let {\n    animation,\n    children\n  } = _ref;\n  const [clonedChildren, setClonedChildren] = useState(null);\n  const [element, setElement] = useState(null);\n  const previousChildren = usePrevious(children);\n\n  if (!children && !clonedChildren && previousChildren) {\n    setClonedChildren(previousChildren);\n  }\n\n  useIsomorphicLayoutEffect(() => {\n    if (!element) {\n      return;\n    }\n\n    const key = clonedChildren == null ? void 0 : clonedChildren.key;\n    const id = clonedChildren == null ? void 0 : clonedChildren.props.id;\n\n    if (key == null || id == null) {\n      setClonedChildren(null);\n      return;\n    }\n\n    Promise.resolve(animation(id, element)).then(() => {\n      setClonedChildren(null);\n    });\n  }, [animation, clonedChildren, element]);\n  return React.createElement(React.Fragment, null, children, clonedChildren ? cloneElement(clonedChildren, {\n    ref: setElement\n  }) : null);\n}\n\nconst defaultTransform = {\n  x: 0,\n  y: 0,\n  scaleX: 1,\n  scaleY: 1\n};\nfunction NullifiedContextProvider(_ref) {\n  let {\n    children\n  } = _ref;\n  return React.createElement(InternalContext.Provider, {\n    value: defaultInternalContext\n  }, React.createElement(ActiveDraggableContext.Provider, {\n    value: defaultTransform\n  }, children));\n}\n\nconst baseStyles = {\n  position: 'fixed',\n  touchAction: 'none'\n};\n\nconst defaultTransition = activatorEvent => {\n  const isKeyboardActivator = isKeyboardEvent(activatorEvent);\n  return isKeyboardActivator ? 'transform 250ms ease' : undefined;\n};\n\nconst PositionedOverlay = /*#__PURE__*/forwardRef((_ref, ref) => {\n  let {\n    as,\n    activatorEvent,\n    adjustScale,\n    children,\n    className,\n    rect,\n    style,\n    transform,\n    transition = defaultTransition\n  } = _ref;\n\n  if (!rect) {\n    return null;\n  }\n\n  const scaleAdjustedTransform = adjustScale ? transform : { ...transform,\n    scaleX: 1,\n    scaleY: 1\n  };\n  const styles = { ...baseStyles,\n    width: rect.width,\n    height: rect.height,\n    top: rect.top,\n    left: rect.left,\n    transform: CSS.Transform.toString(scaleAdjustedTransform),\n    transformOrigin: adjustScale && activatorEvent ? getRelativeTransformOrigin(activatorEvent, rect) : undefined,\n    transition: typeof transition === 'function' ? transition(activatorEvent) : transition,\n    ...style\n  };\n  return React.createElement(as, {\n    className,\n    style: styles,\n    ref\n  }, children);\n});\n\nconst defaultDropAnimationSideEffects = options => _ref => {\n  let {\n    active,\n    dragOverlay\n  } = _ref;\n  const originalStyles = {};\n  const {\n    styles,\n    className\n  } = options;\n\n  if (styles != null && styles.active) {\n    for (const [key, value] of Object.entries(styles.active)) {\n      if (value === undefined) {\n        continue;\n      }\n\n      originalStyles[key] = active.node.style.getPropertyValue(key);\n      active.node.style.setProperty(key, value);\n    }\n  }\n\n  if (styles != null && styles.dragOverlay) {\n    for (const [key, value] of Object.entries(styles.dragOverlay)) {\n      if (value === undefined) {\n        continue;\n      }\n\n      dragOverlay.node.style.setProperty(key, value);\n    }\n  }\n\n  if (className != null && className.active) {\n    active.node.classList.add(className.active);\n  }\n\n  if (className != null && className.dragOverlay) {\n    dragOverlay.node.classList.add(className.dragOverlay);\n  }\n\n  return function cleanup() {\n    for (const [key, value] of Object.entries(originalStyles)) {\n      active.node.style.setProperty(key, value);\n    }\n\n    if (className != null && className.active) {\n      active.node.classList.remove(className.active);\n    }\n  };\n};\n\nconst defaultKeyframeResolver = _ref2 => {\n  let {\n    transform: {\n      initial,\n      final\n    }\n  } = _ref2;\n  return [{\n    transform: CSS.Transform.toString(initial)\n  }, {\n    transform: CSS.Transform.toString(final)\n  }];\n};\n\nconst defaultDropAnimationConfiguration = {\n  duration: 250,\n  easing: 'ease',\n  keyframes: defaultKeyframeResolver,\n  sideEffects: /*#__PURE__*/defaultDropAnimationSideEffects({\n    styles: {\n      active: {\n        opacity: '0'\n      }\n    }\n  })\n};\nfunction useDropAnimation(_ref3) {\n  let {\n    config,\n    draggableNodes,\n    droppableContainers,\n    measuringConfiguration\n  } = _ref3;\n  return useEvent((id, node) => {\n    if (config === null) {\n      return;\n    }\n\n    const activeDraggable = draggableNodes.get(id);\n\n    if (!activeDraggable) {\n      return;\n    }\n\n    const activeNode = activeDraggable.node.current;\n\n    if (!activeNode) {\n      return;\n    }\n\n    const measurableNode = getMeasurableNode(node);\n\n    if (!measurableNode) {\n      return;\n    }\n\n    const {\n      transform\n    } = getWindow(node).getComputedStyle(node);\n    const parsedTransform = parseTransform(transform);\n\n    if (!parsedTransform) {\n      return;\n    }\n\n    const animation = typeof config === 'function' ? config : createDefaultDropAnimation(config);\n    scrollIntoViewIfNeeded(activeNode, measuringConfiguration.draggable.measure);\n    return animation({\n      active: {\n        id,\n        data: activeDraggable.data,\n        node: activeNode,\n        rect: measuringConfiguration.draggable.measure(activeNode)\n      },\n      draggableNodes,\n      dragOverlay: {\n        node,\n        rect: measuringConfiguration.dragOverlay.measure(measurableNode)\n      },\n      droppableContainers,\n      measuringConfiguration,\n      transform: parsedTransform\n    });\n  });\n}\n\nfunction createDefaultDropAnimation(options) {\n  const {\n    duration,\n    easing,\n    sideEffects,\n    keyframes\n  } = { ...defaultDropAnimationConfiguration,\n    ...options\n  };\n  return _ref4 => {\n    let {\n      active,\n      dragOverlay,\n      transform,\n      ...rest\n    } = _ref4;\n\n    if (!duration) {\n      // Do not animate if animation duration is zero.\n      return;\n    }\n\n    const delta = {\n      x: dragOverlay.rect.left - active.rect.left,\n      y: dragOverlay.rect.top - active.rect.top\n    };\n    const scale = {\n      scaleX: transform.scaleX !== 1 ? active.rect.width * transform.scaleX / dragOverlay.rect.width : 1,\n      scaleY: transform.scaleY !== 1 ? active.rect.height * transform.scaleY / dragOverlay.rect.height : 1\n    };\n    const finalTransform = {\n      x: transform.x - delta.x,\n      y: transform.y - delta.y,\n      ...scale\n    };\n    const animationKeyframes = keyframes({ ...rest,\n      active,\n      dragOverlay,\n      transform: {\n        initial: transform,\n        final: finalTransform\n      }\n    });\n    const [firstKeyframe] = animationKeyframes;\n    const lastKeyframe = animationKeyframes[animationKeyframes.length - 1];\n\n    if (JSON.stringify(firstKeyframe) === JSON.stringify(lastKeyframe)) {\n      // The start and end keyframes are the same, infer that there is no animation needed.\n      return;\n    }\n\n    const cleanup = sideEffects == null ? void 0 : sideEffects({\n      active,\n      dragOverlay,\n      ...rest\n    });\n    const animation = dragOverlay.node.animate(animationKeyframes, {\n      duration,\n      easing,\n      fill: 'forwards'\n    });\n    return new Promise(resolve => {\n      animation.onfinish = () => {\n        cleanup == null ? void 0 : cleanup();\n        resolve();\n      };\n    });\n  };\n}\n\nlet key = 0;\nfunction useKey(id) {\n  return useMemo(() => {\n    if (id == null) {\n      return;\n    }\n\n    key++;\n    return key;\n  }, [id]);\n}\n\nconst DragOverlay = /*#__PURE__*/React.memo(_ref => {\n  let {\n    adjustScale = false,\n    children,\n    dropAnimation: dropAnimationConfig,\n    style,\n    transition,\n    modifiers,\n    wrapperElement = 'div',\n    className,\n    zIndex = 999\n  } = _ref;\n  const {\n    activatorEvent,\n    active,\n    activeNodeRect,\n    containerNodeRect,\n    draggableNodes,\n    droppableContainers,\n    dragOverlay,\n    over,\n    measuringConfiguration,\n    scrollableAncestors,\n    scrollableAncestorRects,\n    windowRect\n  } = useDndContext();\n  const transform = useContext(ActiveDraggableContext);\n  const key = useKey(active == null ? void 0 : active.id);\n  const modifiedTransform = applyModifiers(modifiers, {\n    activatorEvent,\n    active,\n    activeNodeRect,\n    containerNodeRect,\n    draggingNodeRect: dragOverlay.rect,\n    over,\n    overlayNodeRect: dragOverlay.rect,\n    scrollableAncestors,\n    scrollableAncestorRects,\n    transform,\n    windowRect\n  });\n  const initialRect = useInitialValue(activeNodeRect);\n  const dropAnimation = useDropAnimation({\n    config: dropAnimationConfig,\n    draggableNodes,\n    droppableContainers,\n    measuringConfiguration\n  }); // We need to wait for the active node to be measured before connecting the drag overlay ref\n  // otherwise collisions can be computed against a mispositioned drag overlay\n\n  const ref = initialRect ? dragOverlay.setRef : undefined;\n  return React.createElement(NullifiedContextProvider, null, React.createElement(AnimationManager, {\n    animation: dropAnimation\n  }, active && key ? React.createElement(PositionedOverlay, {\n    key: key,\n    id: active.id,\n    ref: ref,\n    as: wrapperElement,\n    activatorEvent: activatorEvent,\n    adjustScale: adjustScale,\n    className: className,\n    transition: transition,\n    rect: initialRect,\n    style: {\n      zIndex,\n      ...style\n    },\n    transform: modifiedTransform\n  }, children) : null));\n});\n\nexport { AutoScrollActivator, DndContext, DragOverlay, KeyboardCode, KeyboardSensor, MeasuringFrequency, MeasuringStrategy, MouseSensor, PointerSensor, TouchSensor, TraversalOrder, applyModifiers, closestCenter, closestCorners, defaultAnnouncements, defaultCoordinates, defaultDropAnimationConfiguration as defaultDropAnimation, defaultDropAnimationSideEffects, defaultKeyboardCoordinateGetter, defaultScreenReaderInstructions, getClientRect, getFirstCollision, getScrollableAncestors, pointerWithin, rectIntersection, useDndContext, useDndMonitor, useDraggable, useDroppable, useSensor, useSensors };\n//# sourceMappingURL=core.esm.js.map\n","export default \"data:audio/wav;base64,UklGRlgtBABXQVZFZm10IBAAAAABAAIAgLsAAABlBAAGABgAYmV4dFoCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUkVBUEVSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIwMjYtMDMtMjMwMi0xOC01NqGjcwMAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGp1bmtKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkYXRhgCoEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAAAAAP///////wAAAAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAAAAAP///////wAAAAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wEAAAEAAP///////wAAAAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wEAAAEAAP///////wEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAP///////wEAAAEAAP///////wEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAAAAAP///////wEAAAEAAP///////wAAAAAAAP///////wAAAAAAAAAAAAAAAP///////wAAAAAAAP///////wEAAAEAAP///////wAAAAAAAP///////wAAAAAAAAAAAAAAAP///////wEAAAEAAP///////wEAAAEAAP///////wEAAAEAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAP///////wEAAAEAAP///////wEAAAEAAAAAAAAAAAAAAAAAAAEAAAEAAP///////wEAAAEAAP///////wEAAAEAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wEAAAEAAP///////wEAAAEAAP///////wAAAAAAAAAAAAAAAP///////wAAAAAAAP///////wEAAAEAAP7//////wEAAAEAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAP///////wEAAAEAAP///////wEAAAEAAP///////wEAAAEAAAAAAAAAAAAAAAAAAAEAAAEAAP///////wIAAAIAAP///////wEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAEAAAEAAP///////wIAAAIAAP///////wEAAAEAAP///////wAAAAAAAAAAAAAAAP///////wEAAAEAAP7///7//wEAAAEAAP7///7//wEAAAEAAP///////wAAAAAAAAAAAAAAAP///////wEAAAEAAP7///7//wEAAAEAAP///////wEAAAEAAP///////wAAAAAAAAAAAAAAAP///////wEAAAEAAP///////wIAAAIAAP///////wEAAAEAAAAAAAAAAAAAAAAAAAEAAAEAAP///////wIAAAIAAP///////wIAAAIAAP///////wEAAAEAAAAAAAAAAAAAAAAAAAEAAAEAAP///////wIAAAIAAP7///7//wIAAAIAAP7///7//wEAAAEAAP///////wAAAAAAAAEAAAEAAP7///7//wEAAAEAAP7///7//wIAAAEAAP7///7//wEAAAEAAP///////////////wEAAAEAAP7///7//wIAAAIAAP7///7//wIAAAIAAP7///7//wEAAAEAAAAAAAAAAAAAAAAAAAEAAAEAAP///////wIAAAIAAP7///7//wIAAAIAAP///////wEAAAEAAAAAAAAAAAAAAAAAAAIAAAIAAP///////wMAAAMAAP7///7//wIAAAIAAP///////wEAAAEAAAAAAAAAAP///////wIAAAIAAP7///7//wIAAAIAAP7///7//wIAAAIAAP///////wEAAAEAAAAAAAAAAP///////wEAAAEAAP7///7//wIAAAIAAP3///3//wIAAAIAAP7///7//wAAAAAAAAAAAAAAAP///////wIAAAIAAP7///7//wIAAAIAAP7///7//wIAAAIAAP///////wAAAAAAAAAAAAAAAP///////wIAAAIAAP3///7//wMAAAMAAP3///3//wIAAAIAAP///////wAAAAAAAAEAAAEAAP7//////wIAAAIAAP3///3//wMAAAMAAP7///7//wIAAAIAAP///////wAAAAAAAAEAAAEAAP7///7//wIAAAIAAP3///3//wMAAAMAAP3///3//wIAAAIAAP///////wAAAAAAAAEAAAEAAP7///7//wIAAAIAAP3///3//wMAAAMAAP3///3//wIAAAIAAP///////wAAAAAAAAEAAAEAAP7///7//wMAAAMAAP3///3//wMAAAMAAP3///3//wIAAAIAAP///////wAAAAAAAAIAAAIAAP7///7//wMAAAMAAP3///3//wMAAAMAAP7///7//wIAAAIAAAAAAAAAAAAAAAAAAAIAAAIAAP3///3//wQAAAQAAP3///z//wQAAAQAAP3///3//wIAAAIAAAAAAAAAAP///////wIAAAIAAP3///3//wQAAAQAAP3///3//wMAAAMAAP7///7//wEAAAEAAAAAAAAAAP///////wIAAAIAAP3///3//wQAAAQAAPz///z//wQAAAQAAP3///3//wEAAAEAAAAAAAAAAP///////wMAAAMAAP3///3//wQAAAQAAP3///3//wMAAAMAAP7///7//wEAAAEAAAAAAAAAAP7///7//wMAAAMAAPz///z//wUAAAUAAPz///z//wQAAAQAAP7///7//wEAAAEAAAEAAAEAAP7///7//wMAAAMAAPz///z//wQAAAQAAPz///z//wMAAAMAAP7///7//wEAAAEAAAEAAAEAAP7///7//wQAAAQAAPv///z//wUAAAUAAPv///v//wQAAAQAAP7///7//wAAAAEAAAEAAAEAAP3///3//wQAAAQAAPv///v//wQAAAQAAPz///z//wMAAAMAAP7///7//wAAAAAAAAEAAAEAAP3///3//wQAAAQAAPr///r//wUAAAUAAPv///v//wMAAAMAAP7///7//wAAAAAAAAIAAAIAAPz///3//wQAAAQAAPv///v//wQAAAQAAPz///z//wIAAAIAAP///////////////wIAAAIAAPz///z//wUAAAUAAPr///r//wYAAAYAAPv///v//wMAAAMAAP///////////////wIAAAIAAPz///z//wUAAAUAAPv///v//wUAAAUAAPz///z//wIAAAIAAP////////7///7//wMAAAMAAPv///v//wYAAAYAAPr///r//wcAAAYAAPv///v//wMAAAMAAP///////////////wMAAAMAAPv///v//wYAAAUAAPv///v//wUAAAUAAP3///3//wIAAAIAAAEAAAEAAP///////wUAAAUAAPv///v//wgAAAgAAPn///n//wcAAAcAAPz///z//wMAAAIAAAAAAAAAAP7///7//wQAAAQAAPv///v//wcAAAYAAPz///v//wYAAAYAAP7///7//wIAAAIAAAIAAAEAAP3///3//wUAAAUAAPn///n//wgAAAgAAPj///j//wcAAAcAAPz///z//wIAAAIAAAIAAAIAAP3///3//wUAAAUAAPr///r//wYAAAYAAPr///r//wQAAAQAAP3///3//wAAAAAAAAIAAAIAAPz///z//wcAAAcAAPj///j//wkAAAkAAPj///j//wYAAAcAAPz///z//wEAAAEAAAEAAAIAAPv///v//wUAAAUAAPn///n//wYAAAYAAPr///r//wMAAAQAAP3///7//////wAAAAMAAAMAAPr///r//wcAAAcAAPb///b//wkAAAkAAPb///f//wUAAAUAAPz///z//////////wIAAAIAAPr///r//wUAAAYAAPj///j//wYAAAYAAPr///r//wIAAAMAAP3///7///7///7//wMAAAMAAPj///j//wkAAAkAAPT///X//woAAAoAAPb///f//wUAAAUAAP3///3///7///7//wQAAAQAAPr///r//wcAAAcAAPn///n//wYAAAYAAPr///r//wIAAAIAAP////////3///3//wUAAAUAAPf///f//wwAAAsAAPX///X//wwAAAsAAPj///j//wUAAAUAAP////7///7///3//wUAAAUAAPr///n//wkAAAkAAPr///r//wgAAAgAAP3///z//wMAAAMAAAEAAAEAAPz///z//wgAAAgAAPb///b//w4AAA0AAPT///T//w0AAAwAAPr///n//wYAAAUAAAIAAAEAAP7///3//wcAAAcAAPn///n//wkAAAkAAPr///n//wgAAAcAAP7///3//wQAAAMAAAQAAAQAAP3///z//wsAAAsAAPX///X//xAAAA8AAPT///T//w0AAA0AAPr///r//wQAAAQAAAIAAAIAAPz///v//wgAAAgAAPn///j//woAAAoAAPv///v//wgAAAgAAP///////wIAAAIAAAQAAAQAAPj///j//wsAAAsAAPH///H//w8AAA8AAPL///L//wwAAAsAAPv///v//wIAAAIAAAMAAAMAAPr///r//wgAAAgAAPf///f//wgAAAgAAPj///j//wQAAAQAAPz///3///3///7//wQAAAQAAPT///X//w0AAA0AAO7//+///xAAABAAAPD///H//wkAAAoAAPr///r///7//////wIAAAMAAPb///b//wUAAAYAAPP///P//wQAAAUAAPb///b//wIAAAMAAP3///7///z///3//wcAAAgAAPL///P//w4AAA8AAOn//+r//w0AAA4AAOz//+3//wQAAAUAAPj///n///v///v//wIAAAMAAPX///b//wcAAAgAAPX///X//wYAAAcAAPf///f//wAAAAEAAPz///3///f///j//wcAAAgAAO3//+7//xEAABEAAOj//+n//xAAABAAAO////D//wYAAAYAAPz///3///z///z//wYAAAYAAPb///b//wkAAAkAAPb///b//wYAAAcAAPn///n//wEAAAEAAAEAAAAAAPf///f//w0AAAwAAO3//+3//xgAABcAAOz//+z//xYAABYAAPb///X//wkAAAgAAAEAAAAAAPv///r//wgAAAcAAPf///b//wsAAAoAAPr///n//wsAAAoAAP////7//wUAAAQAAAgAAAcAAPr///n//xUAABQAAO7//+3//x0AABwAAOz//+v//xYAABUAAPf///b//wgAAAYAAAUAAAQAAP7///z//w4AAA0AAP3///z//xEAABEAAAAAAP7//w4AAA0AAAIAAAEAAAMAAAIAAAkAAAgAAPT///P//xgAABYAAOr//+n//yEAACAAAO7//+7//xkAABgAAPz///v//wgAAAcAAAgAAAcAAPz///v//wwAAAwAAPn///j//wwAAAwAAPv///r//wkAAAkAAAEAAAAAAAAAAAAAAA0AAA0AAPH///H//x0AAB0AAOX//+b//yAAAB8AAOn//+n//xEAABEAAPb///f///7//////wMAAAQAAPf///f//woAAAsAAPf///j//woAAAsAAPn///n//wQAAAUAAPz///3///b///f//wkAAAoAAOT//+X//xkAABoAANv//9z//xsAABwAAOb//+j//w0AAA4AAPj///n///r///v//////wEAAO3//+///////wEAAO7///D//wIAAAQAAPT///X//////wEAAPz///3//+////D//woAAAsAANv//93//xoAABsAANb//9j//xoAABwAAOX//+f//wUAAAcAAPH///P//+////D///r///v//+z//+3//wEAAAMAAPP///T//wUAAAcAAPf///n///7///////3///7//+j//+n//w0AAA4AANT//9b//x4AAB4AANL//9P//xkAABkAAOf//+j//wgAAAgAAP3///7///r///r//wYAAAYAAPT///T//wQAAAUAAPP///L//wEAAAEAAPP///P///r///n//wUAAAUAAO7//+3//yMAACEAAN7//97//y8AAC4AANz//9z//yAAAB8AAO7//+3//wcAAAUAAAAAAP////v///n//wsAAAoAAP3///v//w4AAA0AAP7///z//wsAAAoAAAAAAP7//wIAAAAAABMAABEAAO///+3//zAAAC4AAN///97//zoAADcAAOH//+D//yMAACAAAPX///P//wkAAAcAAAkAAAcAAAMAAAAAABMAABIAAAYAAAMAABYAABUAAAYAAAQAABEAABAAAAcAAAUAAAEAAP///xsAABkAAOj//+f//zYAADMAANj//9f//zsAADgAAOX//+T//yUAACMAAP3///z//wkAAAgAAAoAAAoAAAIAAAAAABMAABMAAAkAAAgAABgAABgAAAUAAAQAAAkAAAgAAP////3//+///+7//xYAABQAANj//9j//zsAADoAANf//9n//0IAAEEAAOr//+v//x8AAB4AAPf///f///n///n///3///7///b///b//wUAAAYAAPz///z//wgAAAoAAPj///n//////wAAAP7//////+j//+n//x4AAB4AAND//9L//z0AAD4AAMj//8v//y4AAC8AANb//9j//wUAAAYAAOb//+f//+j//+j///D///H//+3//+3///7//wEAAP7//////w0AABEAAPz///////z///////3//////9L//9T//w4AAA4AAKX//6j//yIAACEAAKz//6///yEAACIAANv//97//w8AABAAAPz///////7//wAAAAMAAAcAAPj///n///P///b//93//9z//+D//+H//9L//9L//97//9///wAAAAEAAN3//9///z0AAD8AAMn//8z//0kAAEoAALn//7r//xYAABQAAMr//8n///P///L//+z//+z///P///L///3///////v///n///7//wAAAPT///P///////////X///T///j///j//yAAAB4AAN3//93//0IAAEAAAK3//67//zgAADYAAK7//6///xMAABIAANv//9n//wIAAP///wQAAAMAABQAABEAACQAACUAACcAACQAACMAACMAAAkAAAYAAP////3//+X//+L//8///83//wYAAAQAAL7//77//1kAAFcAANT//9b//3wAAHoAAPT///P//z0AADoAAPL///D///z///n///P///L//wAAAP3//wwAAA0AABUAABMAABcAABgAAAkAAAYAAA4AAA0AAA4AAAsAAPr///n//0gAAEUAAN3//9///3oAAHkAAMr//83//1sAAFoAAMn//8r//w4AAA0AAN///97///f///X///7//////xgAABYAACMAACUAADEAADEAADIAADYAABsAABwAABEAABIAAAcAAAcAANj//9n//zUAADUAAK3//7D//10AAFwAAKr//63//00AAE0AANX//9j//yQAACYAAAkAAAwAAB8AACEAABYAABsAABcAABgAAPf///v//+P//+L//9v//93//9j//9j///X///j//xwAAB8AAOn//+///10AAF8AAK7//7P//2gAAGkAAKX//6j//zwAADsAAMz//87//w8AABIAAPL///f///v///7//+f//+z///H///D//9f//9v//9P//9L//+L//+X//93//93//+n//+v//xkAABoAANL//9b//20AAG8AAKX//6z//3IAAHQAAKb//6n//ygAACYAAKv//6n//8v//8b//6///6v//83//8r//93//+L//yQAACYAADMAADoAAC4AAC8AACAAACIAAOz//+n//7P//7D//87//8r//1r//1j//yAAABoAAGD//2H//2MAAGAAALv//7z//1oAAFcAABgAABgAAEwAAEwAACwAAC0AAB0AABgAANz//9j//7///7T//4b//3///4H//3n//77//7v///v///f//xUAABQAAIcAAIUAAO7///D//50AAJkAAHr//3v//0kAAEEAAIr//4T//wMAAPn//8X//7////////j//wQAAAAAADEAACwAAB0AAB4AAEIAAD0AACUAACIAAPb//+////D//+r//+z//+T//83//8j//2gAAGIAAMD//7///5UAAI0AAGL//2H//ykAACMAAHn//3b//wQAAAAAABIAABEAAHsAAHkAAIwAAI0AAKIAAJ0AAEQAAEEAABUAAAoAAK///6r//3j//3L//6H//57//+b//+L//93//9z//7UAALIAAPj///v///EAAO4AANX//9f//4wAAIoAALj//7f///b///b//73//8D//+z//+z//8n//8r//wEAAPz///f///j//zwAADUAAF4AAGAAAGgAAGgAAI0AAI8AAKQAAKQAABEAABcAAIMAAIQAACv//zL//wQAAAMAANP+/9X+/77//7z//2v//2n///j///j//xoAACAAAJsAAKIAALQAAMYAABkBACQBANsAAOoAAGwAAG0AANj//9j//yT//x///9f+/9L+/yD//x3//wX//wv//58AAKUAAB4AACsAAJUBAJ0BAHIAAH8AANoAAOIAANT//9v//6X//6z//z///0n//1b//1n//yv//zT//67//7D//9P//97//w0AABQAADUAAD8AADMAADoAADMAADkAAI0AAJEAAM///9j//+oAAPAAAG7//37//3YAAH0AADX//0D//7f//7n//yf//yv//03//1L//1D//1z//9P//9f///b//wUAAHUAAHoAAGUAAGwAAGgAAGsAAHQAAH8AABUAACIAAPj//wYAADQAAD4AANT+/+D+/+z//+r//0X+/0X+/5L//43//zX//zv//3UAAHkAAJ8AAKgAABkBACIBAJwAAKkAAF8AAGIAAIX//47//4D//4P//2X//3T//3z//4L//8b//87//8f//8b//2f//2D///j//+7//7f+/7b+/3IAAGsAAIr//5X//zgBAEQBAKwAALoAAD4BAEcBAFgAAGMAALT//7f//+/+//D+/x///w///8j+/8H+/3///2////f//+7//zcAAC4AALEAALQAABUBABgBAK8AALgAAFoBAF8BAIH//5D//10AAFgAACf+/yD+/+D+/83+/1P+/z7+/0z//zn//8r//8L//x0BAB0BAGIBAG8BAMkBAMgBABEBABQBAGkAAFYAALX//6D//wj///D+/0b//zT//xIAAAMAAAwAAAoAAIEBAHwBAOz//+z//wIBAPIAANr+/8v+/3H//1///87+/73+/3b//2f//9D//8j//8IAALkAAOkAAOQAALwBAKkBAFQBAE0BAPUAAOUAAJAAAH4AAMD//6f//2f//03//7///57///P+/9j+/4IAAGkAAB///xr//xcBAA0BAB8AABsAADsBAC8BAGcAAFYAAAQAAPH//zj//yv//4b//2///2///2T//1oAAEEAAKoAAJ8AAPIAAN8AACIBABYBAMYAALsAAK0AAKAAABwBAAEBAK///5T///sAANcAAOH+/8T+/wIAAOD//3f+/2/+/3r//3///9H//+D//5kAAKAAAGAAAGcAAFsAAEkAAA3///r+/+b+/8L+/8j+/7P+/3X//2L//8gAALwAAOABAN0BALACALUCALkDALgDAE8BAFoBAIEBAIABACv+/zT+/7D+/5/+//38/+n8/zT9/xf9/xD9//z8/xX+/xP+/0z//2v//6ABAL0BAGUCAIsCAL8CANcCAHYBAIsBAOn//+v//xb//xL//47+/43+/4j+/4/+/3EAAHAAAKr//73//x4CACcCAEQAAFMAAO4AAOsAAEX//0r//0v//17//8D+/9v+//r+/xr//4X+/7b+/2D//4///xv//0v//7H//9H//8X//+X//xD//yD//7/+/83+//n+/wX//x7//zr//4wBAKQBAMAAAPEAAIUDAKoDAM0BAO8BAP0BABYCAKj//7z//5P+/6v+/3n9/5b9/9P9//f9/5n9/8f9/8n+/93+/yz+/0v+/9T9//D9/0X+/3X+//r+/yD//+wAABgBALoCAOcCAGQCAJACAJUDAKwDAGUAAIoAAB8BAEQBAJ7+/77+/z///1D//7j+/8X+//X+//3+/1j+/17+/7H+/6/+/0r+/2b+/5j//6L//+b//wkAAKoAAM4AAMMBAPoBAEQBAIABANsAAA4BALgAANEAAKf+/6z+/1r//0T//778/7P8/zr//yP//yT//x3//7wBAMMBABIDADADADMEAEkEAC0DAD4DAPkBAPUBAEn//1b//3j+/27+/2L9/3H9/838/+D8/4j9/4j9/+b9/839/5b+/3X+/3cAAF4AAG0AAGcAAA8EAAgEAO8CAAIDACsFACgFALwCAKUCAAcBANcAALT+/43+/zP+/xz+/3P+/37+/9QAANwAABIBABABALcAAIQAACj+/+D9/wv8/8X7/6z8/3b8/2j+/1T+/wkBABwBAFQFAGQFAKoEALIEAHoFAFgFAEwAACgAAH///zH//3/9/yj9/zv+//39/5P//23//wkBAOMAAAgAAOn//7r//5T//0v+/y3+/+j+/7b+/2b//0b//z4AACoAAGoCAFoCABADAPQCAO4BANwBAAQCAOEBAA/+//P9/+H+/6D+/8n8/4z8//b+/6v+/6///2X//8QAAJUAADYBAB0BAB4CABACADUBADQBAKwBAJIBAPH//9D//w7//97+/8b+/8L+/97+/+P+/0kAAEoAAB4AAA8AALj+/7D+/9///7D//1f9/yn9/3z//z///5v+/2r+/3cBAEEBAOgCALECAPkEAOkEAG0FAHkFAB8FAC0FAG4BAJgBAPr+/xH///b6/wP7/4/3/1f3/+f1/6b1/z72///1/936/7P6/8gAALMAAGIFAHQFAKELAMILAL0JAPoJAEcJAIEJALMDANMDAOX//+L///H6/8v6/xT5/9T4/8H4/3L4/5/6/zb6/2D7/yv7/wP+/9X9/4n//5T//xABAEgBAAEEAFMEALQEAP8EAGkEAIsEAOYCAA4DANn9/xr+/6b9/8j9/9j5/9z5/8L7/5z7/yv8//b7/+P//5r//8YCAJMCALsFALcFAIQGALQGAKwGANIGAK8DAOYDAAECAAMCANT+/83+/wf6/w76/374/6v4/yb4/4v4/xv6/376/3H9/7H9/1f9/2z9/xsBAPYAAHz+/2f+/+YBAM8BAPMEAPgEABwJADsJAM8KADELAJ8KABgLALgHABgIAG4DAIMDAMf7/8j7/3T2/0r2/13z/yPz/wrz/+Ly/y73/yv3///7/xz8/68AAP0AAPoFAHgGADYGAO4GACgJAKQJALMEABsFAPgBACsCAIL9/4v9/2v7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/2H+/6H8/xT+/8D7/2T8/0T7/zz8/7j4/1r7/8z1/1v7/w70/4v9/w/2/4AAAK/6/4wCACH+/+oBACH//0wAAJ/+///9/0v//0L8/yr//3/5/xv//7H3/1n+//H1//H+/6/3/6kBAOn8/7cEAFkDADIFACoGAD8DAIQGABQCAMwFABoAALEDABj+/wsCAN/8/24AAP/8/+z//+L+/zoAABgCAF0CAPsEAGMEABwFALcFABgEAGIGABIDALIFADADAGADACwDAOQAAKIDAJn+/8QDAB/+//ADAEgBAD0EAMsFAGgFAOwJAFMFAP4KAJ4DAEcKAN4CAEwJAFkDAGEIAKcEANcGAB0GAPsDAAUHADYBAI4HAN7//wwHAGAAAHQFAEsCALACAFUDAEQAAOgCADf//5sCAKf+/2ECAK7+/0MCAOz//4IBAOMBACwAAL4DAAYAAG4FAHQBAKEFAF8DAEgFAPsDAOgEALQEAGkEAEwFAN0DAB0FAFUDAKgEADUDAMMDAHABAKIBACH//7j//5n8/7T9/zH7/0j8/5z6/437/3L6/2P7/xD7/xn8/xL9/979/zz//4f//wUBAM7+/3ACAHL9/0wDAC79/6EDAEz9/+cCAEj9/wwCABn+/1oBAD///8sAAGYAAKsAALEBAHIAACQDABz//+0CADb9/1QBAP76/+P+/xn5/5X8/+T3/yb7/7D3/zj6/534/3P5/4X6/8b5/5T8/5f6/979/7/6/zX+//75/0z+/zv5//n9//X4/479/xj5/3X9/6z5/+f9/wH7/6P+/xP9/yP//0D//xP///0AAJ7+/zsCAP/9/+YCAC/9/3kCAKf8/2ABAN38/xMAAKf9/9n+/6D+/zT9/43//0P8/w8AAPD7/wcAADT8/1H//6D8/yr+/838/3v9/yb9/6r9/xX+/0L+//P+/yT//7L//y8AAHMAABgBAGwBANYAADYCANT//6QCANz+/w8DAJH+/08DANb+/xADAIf//4wCACkAAAECANoAAPsAAAoBAHH//4QAAOj9/6j//5z8/zH//wb8/yP//1z8/1X//y79/9n//0T+/7cAAEv//8kBAPv//5ECAJIAAAMDAHwBAP8CAJkCALYCAJ0DABcCAKUEANUBAFIFACACAIAFAMkCAJEFAHwDAGcFAEADAK4EAGoCAKkDAB0BACcCACUAAIUAALv//xX//9n//2n+/z0AAG3+/0wBAFf//zACAEwAAKwCAEcAANkCACQAAL8CADkAAEwCAAoAAI4BANv//9cAADMAADEAAKUAANr//ywBAOX//8oBAOL//0QCADP//7wBABz+/4EAAKb8/9n+/3T7/4D9//b6/6j8/2j7/yX8/7f8/+v7/5r+/678/zQAAJv9/+YAAM79//EAAFP9/9AAAO78/1wAALv8/wUAAN/8/9///z/9/yEAAET+/28AAMf//2EAADkBAM7//z0CAAT//+8CAAH+/9kCAO38/+4BADv8/2kAAFH8/9v+/+j8/0/9/6z9/4D7/1r+/4X6/6D+/zL6/1b+/3P6/3D9/7r6/0j8/936/+z7/2T7/1n8/4L8/yT9/3L9/zr+/1z+/33//2L//0wAAJYAAPf//3wBAA///ykCAGj+/80CAHb+/zIDAPf+/wgDAM3//7ECAIgAADYCADEBACQBADUBAKb//4kAADH+/6n//wH9/1T//6v8/z3//x79/2////D9//T///P+/9AAAM7//8IBAFQAAGkCAOMAAKsCANUBAI4CAN0CADcCANoDAJsBAN8EAJcBAHUFABsCAKoFAP0CANQFAKIDAK0FAHIDABcFAKQCACoEAJQBAM8CAAoBAH8BAP0AAHAAAHUBAEIAADoCAL8AAIkDAAoCAIEEAPACABgFAAADAEUFAA8DAEEFAEEDALQEAP4CAPsDAPACAEIDAFEDAJwCALADAEgCABsEAEkCAJ8EAO0BAKQEAAEBALQDAJ7//x0CAPr9/zoAAMj8/9P+/1z8/+P9/+f8/z/9/0v+/x/9/xYAAOr9/2gBAJ3+/8gBAIn+/8MBAPn9/44BALL9/xQBAJj9/9AAAN/9/8wAAHb+/yYBAL3//28BAF4BAEIBAMwCAJsAAL4DAMv//2cEALH+/wYEAJ79/+gCAAP9/z8BACf9/5n//6r9/8H9/0b+//L7/6n+/+X6/5X+/3v6/+X9/4b6/6P8/2/6/1X7/076//j6/7D6/0z7/4b7//n7/y78//H8/978/xf+/8j9/3j+/9T+/979/4T///P8/y4AAH78/9AAAMb8/y4BAIT9/xgBAHr+//kAAGz//54AACsAAKD//zUAAFb+/7P//yP9/yn//1P8/zb//3b8/2X//0L9/9z//1v+/5IAAIv//4cBAH0AAFACAAwBAL0CAJoBALcCAGUCAGACAD0DALcBAAMEAO0AALAEANkAAOMEAGIBANYEAD4CAMgEALcCAHsEAKECAOIDAP8BAOMCABsBAGIBAM0AAN3//xkBAMj+/8oBAIn+/6oCAAb//60DADgAADcEAF8BAGsEAH8CACkEAGMDANgDAAIEAFYDACMEAOgCAEoEAFoCAIwEAOkBAKcEAMQBAI8EAPIBACcEAAECAFUDAAACAG0CAIwBAH4BAJwAAIwAACwAALH//4cAAOX+/3sBAHT+/6kCAJz+/0oDADn///0CANX//wQCAHIAAP0AAPMAAGAAAGUBAE8AAN8BAHIAACYCAG0AAA0CAPf//2cBAPb+/z8AAKr9/9D+/738/139/1T8/wf8//P7/8z6/4v7/+n5//H6/yz5/0j6/4n4/yb6/yj4/6z6/xj4/7L7/2j4/1D8/yb5/9n8/zD6/5v8/3L7/zH8/6X8/xP8/8b9/4r8/8/+/379/7j//5j+/z0AABz//00AAPD+//T//yr+/1T//1H9/1z+/8j8/0/9//v8/478/6r9//X7//v9/337/8j9/0b7/9/8//z6//b7/436/2P7/1/6/8T7/6T6/8X8/3H7/+v9/7D8/67+/03+/yz//wMAAI7//48BAFEAAPACAGcBAAMEALsCAOQEAJgDAIkFALUDALcFAA4DAGEFAFMCAK4EAP4BAMYDAAECALICAP4BAMUBAN4BAAcBAC8BAE0AALIAAKv//6oAADn//0QBAAn//8ABAD///ycCANL//9cBALMAACcBAJ0BAMEAAIACAMQAAFoDAIgBACgEAI0CAL4EAFEDAOkEAG0DALQEAOQCAD0EACUCAHYDAK8BAHQCAKgBALQBAJgCAC4BADsDALcAAGUDAHUAAMECADAAAJYBAJv//1YAAAX//73//63+/8n//6T+/1oAAPP+/7sAAKD//8kAAIQAAH8AADgBACsAAI8BACIAAF0BALcAAOwAAC8BAJcAAAYBAFoAANH//+j//+v9/x///xf8/wb+/xP7/478/0X7//76/zD8/wL6/+/8/7n5/+/8//f5/9H7/3b6/276/7n6//H5/8P6/9f6/9r6/9T8/437/7z+/9L8/1n//2f+/1D+/7r//6P8/2MAAJf7/xAAABL8/2///xL+/zj//5QAAJr///0BAEMAANMBAHoAAJkAABEAAGL//yb//x7//1f+/yQAABv+/24BAKD+/4cBAG3//+7//xYAAGr9/28AAIP7/7X//2n7/7v+/yr9/xD+/3b//z/+/9AAAIv//7EAAOUAAJ7///0BAP/+/9UBANj//3cBABUCADgBAJMEADQCAMYFAL4DAOAEANEEALoCAF0FAPgAAGMEAO8AAD4DALMCAF0CAAkFAJUCAFIGAJkDAMQFALcEANMDAGQFACQCABYFAAcCAFcEAIEDANIDAFkFAA4EAB0GAMgEABMFAEYFAOgCAPEEAC4BALYDAPYAAB0CAG0CAEgBAHQEAGUBAJoFADsCAA4FABMDACMDAGADAGYBABMDACsBAMUCAH4CAKYCACQEAMECAL8EABgDAKIDAF0DAFsBAFwDALL//6YCAHn//3ABAIYAADsAAOUBAL3//5oCAP7//+8BAGgAAI0AADMAAFb//3r//zX//+z+/ygAAAb///YAALD//6wAAHUAACn//9IAAJ39/1UAAOL8/7H//5b9/w///x///w3//1UAAIP//3cAAOT//6T//+n//6r+/0L//1X+/5v+/8T+/9/9/2H//6X9/0P//339/xD+//z8/xD8/yT8/1b6/+f6/7b5/+f5/zL6/8T5/zj7/6b6/zb8/wj8/7r8/zf9/wr9/9z9/6P9/xb+/5n+/1X+/7X//yr//2oAAEcAAGkAACcBAKD//zwBAHr+/6YAANj9/9L//yD+/3////n+/4T//5n//5f//5f//4D//+H+/0n//0b+/+T+/4b+/2b+/1z//yr+/00AAH/+/9MAALH//7gAACoBAAgAABkCAFz//xQCAB3//6cBAPD//5wBABkBAAkCAO0BAHsCAMgBAI4CAAwBAPcBAIcAABABAH8AAGEAAA4BADgAAGMBAHMAADIBALIAAI4AAH8AAPH//+H//+z//zX//5gAAMb+/5EBANr+/yECAEf//9cBAMj//wUBACoAADMAADAAAAAAAP7//zAAAAYAAJEAAGAAAMIAAMIAAIoAAL0AAC8AABwAAAQAAF7//zkAAAj//68AACX//zEBAJb//xQBANj//38AAMX//8T//0z//2v//8D+/3z//4D+/7f//5H+/77//8r+/3n//xb//xb//yb//+D+/wP//w7///b+/33//zD//+P//5r//9j//wsAAE7//zgAAI7+/97///L9/yD//5/9/4f+/7f9/4n+/w/+/8X+/zL+/9L+/xX+/8r+/839/4H+/739/879/wP+/1j9/2v+/6b9/8T+/2P+/+T+//z+/57+/zv//1v+/1v//0X+/3z//1j+/53//6n+/7z//+P+/+r//9n+//T//7r+/3T//93+/+b+/0D//6L+/5D//6/+/9r//xr//1QAAIz//48AANf//z8AAL///7r//zz//7L//8H+/93//5b+/////5v+/wwAAJb+/yAAAIb+/wYAAG/+/8H//3z+/67//6n+/+H///T+/wMAAGz//woAALf//9v//7L//6D//0///17//9P+/x7//2r+//7+/yH+//z+/+b9/xf//939/zH//+f9/y///xf+/0r//5v+/5///3///yUAAGYAAK8AAAMBABMBAD4BAEoBAB8BAGsBALMAAEkBAC0AABUBANv//6wAAL///0oAAMn//wAAAP3//+H//2MAAAEAAN0AAFYAAFUBAMQAAKwBACEBANABAFEBAK4BAGoBAE4BADYBANcAAOIAAJkAAHYAAKcAAC8AAPEAAPD//2sBAPD//+EBACsAADMCAHUAAG8CAOMAAHMCAEQBADwCAHMBAPgBAHMBAK8BAC0BAF8BAKAAABIBANb//9UAAP3+/6cAAFj+/4YAAPX9/3YAAPr9/2UAAHv+/08AAGj//0QAAG8AADwAAGABAIsAACICAB0BAHkCAK8BAI0CAFACADMCALsCAJYBAKwCANMAAA0CACIAACEBALn//xsAAJT//zf//7D//wH//woAAEf//24AALr//8cAAG4AAPkAABIBAAsBAGIBAPkAAGcBANwAAEwBAIwAALQAAB0AAOL//6v//x///xv//3D+/7z+/z3+/6z+/5v+//f+/2r//5///34AAIEAAHMBAGsBAO4BAEECAOABAM4CAKkBAAwDAI0BAOoCAKoBAI8CAOsBAP0BACoCAFoBAEMCAKoAACcCACkAAOMBAOX//4IBAPP//ywBAFUAAOsAAPoAAL0AALUBAL4AAD8CAPYAAGkCAGEBAD0CAAMCANcBAMICAGgBAEQDAOQAACoDAFMAAG4CAMb//1EBAG///zkAAFz//3///7///4L//20AAEUAAEIBAHYBAAkCAKgCAG8CAJUDAHACAPIDACoCAJYDAMUBAJgCAGQBAD0BAPUAANz//6cAAMj+/0gAAEb+//D//4T+/9H//3z//woAALoAAKMAAN0BAGoBAIICADsCAG8CAKkCAMcBALACAMUAAFACAJP//4oBAKf+/5IAAEf+/5P//3H+/5n+//3+/8f9/6///0z9/zUAAHT9/1UAADb+/xAAAF7//5T//6sAABv//8IBAPb+/0wCAC7//x8CAL3//3sBAHkAAH8AANEAAJH//7oAALr+/0kAAAH+/47//6X9/7r+/6r9/xv+/1D+//P9/3z//zT+/9kAABf//xkCAHIAAM0CAJQBALwCAFwCAPgBAHACALYAAIEBAGn//8L//17+/+79/8H9/3H8/5z9/7H7/w7+/yv8/6L+/2f9/2v///j+/1MAAGYAACgBACcBAKgBAB4BAMkBAG8AAIcBAFf///oAACn+/xgAAGD9/yv//0z9/zb+/8T9/3n9/5X+/xb9/1r//zn9/9D//9v9/+T//9X+/7L//9D//0z//4UAAOb+/98AALX+/9MAAMX+/5oAAC7//yEAAMH//4P//zsAAN7+/3QAAED+/1IAAM39/77//6P9/+P+/9z9/xX+/5L+/7b9/7j//xn+/+4AAB///wUCAI8AALICAP4BANACAOoCAF4CAOgCAGIBAB4CAPv//8UAAKD+/zf//6T9/+H9/yH9/xn9/w39/wD9/yT9/3j9/2/9/0j+/+n9/xn//4b+/8j//zP///L///P//8z//18AADD//0QAAJr+/8b//z3+/wz//0L+/1f+/5H+/6H9/wj//yj9/3H///78/7D//1j9/73//xr+/5b//wP//1z//+r//0f//74AAGb//3IBAN3//9UBAJsAAOMBAHkBAI4BABACAPIAABYCADwAAJIBAGf//3YAAID+/yb//9b9//39/639/0v9//v9/y39/6j+/6/9/4H//53+/1kAAKH///0AAI4AAFUBAA8BAEoBAAsBAP4AAJcAAI0AANP///3//xH//1///5v+/9b+/53+/6P+/y///+L+/ywAAJr//2EBAKYAAHICALwBABQDAKcCACkDADMDAPMCAF4DAKoCAE4DAHMCAPoCAGMCAG8CAHcCALcBAHsCANEAAF8CAPD///wBAGP//2cBAED//78AAKj//1kAAGEAAEsAAAkBAFwAAG8BAJkAAH4BANEAAGABAP4AADsBAEoBACABAIsBAA8BAJUBANcAAEUBAFUAAKUAAMH//+L//2D//1f//3L//1f//xAAAOD//+MAAOwAAIsBAMIBAM0BABMCALgBANkBAIABAEIBAFcBAJ8AAEgBAAYAACYBAKb//7sAAG////j//0z//yf//zX//47+/1j//47+/6b//wf//w4AALf//1MAAEUAAGMAAI4AAFoAAKoAAFAAAMMAAFcAAPQAAIgAAFIBAN0AALABACgBANQBAFABAJ8BAFIBADkBAB8BAM0AANAAAG8AAHYAAGQAADIAAHUAAO3//2wAAOj//0cAACYAAAgAAHEAALf//58AAHL//3QAAEr//+n//z7//1D//z7//+b+/zP//9v+/0b//zX//3L//6r//4j//+n//5r///f//6r//wQAALv//yAAAN///14AABsAAJ0AAD0AAKgAAEwAAJUAAEIAAHsAADgAAJcAAEQAAPUAAHAAAHIBAL4AAN4BAAoBAOUBADUBAJYBACcBABsBABQBALsAAP4AAKMAAPcAAKYAABABALYAACIBAKcAAA8BAIwAANIAAFIAAKQAAB8AAGAAAMP//xYAAD7//7v//7X+/1D//0L+/x///xv+/xf//1P+/y7//5L+/1T//7n+/2z//7j+/17//53+/0P//27+/yP//1r+/+b+/0v+/7r+/zD+/6/+/yD+/9b+/zb+/yP//6b+/3H//23//5j//zEAAKj//6UAAL7//7QAAOH//1EAAAwAAOT//zYAAKD//0oAALv//zIAACcAAOr//00AAID//xEAAB7//6f///v+/x7//z7//8f+/8T//8X+/xcAAPX+/wMAAA3//5r///7+/yz//+n+/wP//xb//z3//2P//5f//6///7f//7r//23//1D//+T+/5j+/3j+//r9/3v+/8v9/8n+/zf+/xz//97+/0H//0f//wr//zL//6X+/9H+/2v+/6r+/3P+///+/6H+/4H//8D+/6r//5z+/zD//07+/7v+/zX+/xT//27+/2oAAB7//8cBABkAACkCAOYAAJgBAAQBAOkAAKUAAOsAADIAAGABAAgAAIoBAFEAACMBAKAAAI0AAJkAAHQAAO3//8EAABv//+0AAJ/+/7UAALP+/y4AAEP//6b//6n//1b//9H//1r//6n//6v//3z//xsAAJb//28AAOT//4cAAEIAAFwAAKAAAA4AAN4AAAYAAOwAAD0AAO0AAHwAABIBAH0AAD0BAFkAAGYBAFcAAIwBAJEAAJQBAPQAAFUBADQBAPYAAAYBAKcAAE4AAGkAAFP//yAAAIT+/8z//x3+/4b//zj+/17//6P+/1n///T+/2b//+j+/5L//7T+/7n//3P+/8b//1r+/9P//4T+/+P//9X+//7//xP//yAAADz//2UAAJX//6gAACEAAMIAANoAANoAAH4BAO8AAMABAPMAAJEBAAYBACkBAA8BAM4AACABAMgAAEYBAC0BAHMBAMQBAKMBAEYCAMsBAHUCAOkBAGkCAAACAFgCACACAGoCAFYCAFwCAIQCADoCAI8CAPcBAHUCAKsBAEsCAKIBABYCAOwBANMBAD0CAI4BAD4CAEMBALABAPIAANIAAJ8AAAAAAFgAAHr//yQAAGn//+///6P//67//8z//3L//8v//0n//63//zv//7L//zj///f//0D//yUAAEX///r//yb//3T///b+/+7+/9D+//X+/8H+/57//9f+/2oAAAf//6IAACL//xYAACr//2z//wP//0P//7v+/5z//57+/6z//8H+/yj///L+/4T+//v+/3/+//L+/zP//+f+/97//yD//+P//4X//1v///z///D+/0UAAA3//0sAAGv//2cAALr//5wAAPr//wYBAFYAAEsBAMAAAGwBAAcBAG8BABEBAEgBAN0AADEBAJUAAA0BAFwAANQAAEkAAKwAAEEAAKQAAF0AAKoAAKgAAKYAAOwAAKYAAAYBAJsAAOIAAHwAALQAAIMAAJIAAKoAAH8AALkAAIgAAKEAAL0AAJoAABoBALwAAJwBAPYAACMCACgBAGACAEEBADICACYBAMIBANUAADcBAF0AAKgAAPX//0cAAKH//xgAAEb///L//+f+/9n//2/+/8P//+b9/5f//379/z7//3P9//L+/8/9/6r+/0X+/5D+/7X+/6X+/yT//+/+/3L//3b//9D//w0AADUAAHsAAIIAAI8AAL4AAFkAAMcAAAsAAJoAAKz//2YAAEP//x0AAN3+/7f//2H+/zf//yD+/5H+/939/6z9/1H9/0b9/5r9/4n+/y8AAIX9/0z///X7/0r+/5/6/zj+/+v5/z7+/536/4P+/077/xb+/8r7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ADsBAK8EAHcBAP4EAKYBAGcEAMQBABkDAAMCAKwBABoCAFwAAFcCAAH//4UCALv9/zwCAK78/7YBAOr7/9AAAAr7/6///0n6/yT+/4b5/2T8/+D4/6P6/5b4/+H4/3L4/xD3/534/131//n4/+rz/zb5//by/7z4/3fy/xr4/23y/972/5/y/+D1/9/y/6z0/3bz/5/z/0T0//Py/171/7zy/5r2/yjz/9n3/zz0/8T4/8j1/1H5/4T3/7r5//D4/yL6/y76/6j6/077/0z7/4P8/5r7/4r9/9P7/3z+/1X8/xr//+38/33//6v9/3H//zH+/2T//2b+//r+/y/+/7L+/3/9/2P+/6X8/03+/+H7/wv+/5/7/1L+/wD8/6v+/7b8/xH//1j9//L//w3+/2QBAGT+/70CANP+/88DAKP//yMEANsAAOEDAPQBAAwDALsCAFoCAL0CAJQBACYCADQBAP4AAKgAAM7//10AAK3+/5f///H9/3X+/5D9/+38/3f9/wr8/zv9/8n7/+/8/8v8/1z8/2v+/xr8/+T//338/ykBAK79/4ABACj//ykBAKoAADUBAKMBAIABANgBAGECAI8BACcDAGoBAL8DAI0BAK0DAL8BAAcDAPoBALwBACMCAG8AADACANP+/+IBAEb+/1ABAPb+/6YAAE0AALMAAHgBAMEBADICAGwDAHcCAHwFAJYCALAGALYCALAGAG4DACEGAE0EANcFAC0FAOUFAKYGAEYGAOUHAGEGAL8IACUGAAYJAIAGAP8IADcHANYIAAoIAP8IAB0JABUJAPQJABkJAOcJALQIAL8JAGoIAF0KADIIAJcLANgHAEsMABkHANELAFgGAEMKALsFAE0IAFYFANMGAOgEAG8GAGAEACQHAKADAPwHAP4CAGIIAAMDADQIAN8DAGIHAAgFAJwFACIGAB0DACEHAHwAAC4HAEj//xgGAEkAANEDADUCAAYBAIgDAKz+/7ADAKv9/5ACAAP+/7gAAH///7///w8BAFAAANwBAD0CAMABAHEDAMgAAEIDACIAADkCAGgAANMBAMABACMCAJwDAKYCAAsFALMCAG4FADsCAJ0EAKMBABICADsBAJP+/1AAAJL7/3X+/5r5/xD8/4T4/4r5/zn4/8b3/3D4/xD3/1T4/4X2/yD3/831/2/1/zf1/5D0/2P0/6j0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APv5/5f+/wD3/4n8/6/0/8b7/07z/6j6//by/3n3/8/y/6Pz//Tx/xjy/0Tx/5fy/7Px/47y/w7z/wXy/3n0/9vx/8r1/5/y/6X2//fz/8/1/0r1//70/+X2/8L2/1n4/z35/8X5/5v6/wX7/4f7/837/xD8/8X8/zz8/779/+v8/17+/7D+/8r+/4EAAJ7//wgBAMkAANEAANkBAOYAAOkCAMEBAAIEAFMDADEFAFUFAAsHAMkGAFwJAEAHAG0KAEoHACQKAGwHANAJAHMIAAgKAEIKAA8KALQLAIoJANoLABsJAGELALkIAAoLACgIAMoKAIkHAC8KAMcGAAUJAG0FAG8HANkDAHAFAJMCAFwDAKoBAMIBAMQAAJ4AAIP//3///w/+/0z+/8H8/y79/6j7/zn8/7n6/3/7/wL6//b6/7P5/4/6/675/yD6/6v5/2H5/9X5/3n4/1/6/873/xv7/6j3/8v7/yX4/1j8/y/5/+L8/576/1H9/yb8/4T9/3L9/9j9/6D+/5X+//H//6P//3cBANYAABwDACECAKMEAJsDAOUFAP0EALEGAAgGAOsGAOsGAN8GALYHAM8GADEIALcGADcIAGgGAN0HALMFAFcHAKQEAHQGAE4DACQFAOcBAL4DAOUAAGgCAHwAABUBAHgAANP//3UAAOn+/ywAAIL+/5///0/+/9b+/yX+/wz+/yf+/7H9/zj+/979/yH+/2T+/+L9//f+/739/3b//8v9/+n//7f9/ywAAIT9/zoAAGP9/yMAAFD9/6z//1L9/7r+/2b9/5D9/5n9/3j8//X9/6P7/y3+/2j7/2L+/8/7/+T+/2b8/6////H8/zkAAJn9/y4AAGb+/8L//x3//1b//4P//xT//5z//+r+/6b//4f+/+r//9H9/08AAAv9/6wAAKD8/9cAALz8/60AACD9/zwAAHv9/73//5/9/xX//+L9/zP+/1/+/zX9/+z+/0/8/0b//7j7/1X//777/2X//3j8/6///3r9/0EAAJ3+/9MAAP7//wEBAGkBALQAAF0CACAAAL8CAKT//9ECAHD//8MCAHL//6MCAGj//40CAFz//60CAJT///cCAPb//2gDAHoAAOMDAAABACMEAIEBAPQDABQCAF8DAN0CAFwCALADAAgBADEEAMz//yAEACL//5oDABr//9cCAH///+sBACQAAPcAAPsAAAsAAMgBACL//ywCAE3+/xECAMD9/2gBAFz9/0EAAAT9/+j+/738/6j9/378/678/1H8/wn8/zL8/7L7/xL8/6z7//L7/+37/xb8/y/8/6f8/y78/439//b7/5z+/9j7/5b//+/7/0MAACv8/6IAAKL8/+UAAEn9//IAABj+/9wAACz//84AAIAAAOAAAMIBABABAKECAFYBAPYCALMBAMUCAA4CAEQCAFUCAJ0BAJwCAAEBANYCAH4AAAwDABsAADQDAPX//ycDAMH//9oCAIb//18CAC///70BAMH+//MAADb+/+3//9T9//X+/4r9/yX+/yn9/6r9/6H8/3D9/3b8/2P9/6v8/2b9/yX9/4L9/7r9/8L9/3r+/yv+/x3//5v+/1P//0H//zr//w4AAEb//+4AAE///7gBAHX//zgCABgAAJsCAO4AAJ8CALABACcCAHQCAKEBAOYCAFABAB0DAOcAADkDAFQAAOcCACwAAIkCAHgAADICAJ8AAJMBAKEAABIBAPUAAB0BAHkBAFcBAN8BAMkBAAsCAIMCAFcCADADALMCAJQDAMQCANQDAF8CALYDANIBAD8DAGEBAMwCAMoAAGsCAOD//84BANv+/28BACL+/xwBAI/9/4YAAAH9/wYAAI38/5b//2n8/7z+/3j8/wH+/1n8/5j9/2f8/yD9/8j8/+r8/y39/y39/4v9/4T9/w3+//f9/6r+/6b+/wX//0///xX//8X//yn//zEAAFz//3kAAIb//6oAAJf///4AANL//2cBAGQAAPkBACsBAM4CAPoBAIwDAPQCADYEABoEANgEAPQEABsFAJYFAPMEAEIGAPQEAKsGAMwEAHsGACgEAAoGAJ0DAJ0FAFcDAOQEAMUCALwDAEsCAJkCABYCAIEBAKcBAGwAAOoAAGn//0EAAJb+/2///9L9/4T+/yj9/7D9/6f8/978/1v8/yH8/2D8/7v7/378/yX7/2H8/5r6/0X8/236/0/8/z36/w38/9f5/5L7/975/2j7/+v5/237/7z5/137/+L5/4H7/0z6/877/6H6/wr8/xb7/1/8/577/9r8/+X7/zz9/0L8/7T9/+L8/2X+/1n9/+T+/8b9/2b//3j+/wgAABb//3wAAKr//9kAAHYAAFMBADYBAKMBAKUBAMQBABoCAOkBAGECAP4BAEECAPMBAPgBAOYBALcBAMIBAFMBAIsBABoBAHEBAAUBAEEBANkAAP4AALMAAO4AAMMAAOEAANgAAM0AAA8BAAMBAHoBAGUBAOsBAKcBAEcCAAYCALgCAHcCAAsDAJ8CAFgDAJYCAJMDAJkCAKoDAGYCAJ8DABICAHYDAOoBAC8DALwBAMYCAFMBAG0CAAYBAPIBAMIAAIIBAFoAAD0BADwAACkBAGUAABQBAHcAAP4AAKAAAPYAAN0AANIAAMgAALsAAHMAAK4AAGEAAIAAABwAACgAAI///wMAAD////////r+/9z//3b+/8r//yn+/7T//yb+/4f//yT+/1v//0n+/2L//63+/2v//xz//4L//4L//7z//zcAAPz//+UAAFsAAB4BANUAAKIBAEEBAEkCAKQBALICABECAMUCAEsCAOACAHYCAMICAJsCAHwCAJYCAFICAIgCAFACAJMCABACAHoCAKUBAEYCAJMBABMCAHkBALgBAFkBAEgBADUBANwAAAcBAHUAAJUAAAYAAFYAAHz//xgAAPD+/6r//53+/1H//2n+//f+/yT+/4P+/+T9/wv+/5z9/7P9/0b9/0D9/+T8/8H8/4X8/y78/xT8/6z7/4z7/0v7/wr7//j6/5f6/9D6/076/8j6/xn6/9D6/yT6//76/2v6/1r7/9f6/7H7/3P7/0H8/y38/yv9/978/wb+/3/9/9v+/0j+/87//xH//38AAML//8wAAGMAAA8BANAAADsBAAwBAC0BADUBAB4BAF8BABUBAGABAPEAAF4BAMoAAEsBAP8AACgBAPcAABgBALoAABcBAPEAABIBAD8BACkBAFcBAE0BAFQBAEwBAHQBAFEBAE4BAEUBACABABgBAAABAAEBANkAAAoBADsAAPYAAJv//+MAADz//8sAAOX+/5QAAK/+/2AAAK7+/0UAALj+/z8AALb+/zYAABf//wgAAFj//9n//4T//9b//8j//8////v//8H//wQAANH//ygAAO///1oAABQAAFQAAD8AAE4AAHMAADAAAIkAAB8AAKgAACoAANEAAD0AAAsBAEUAAEsBAGUAAHUBAJoAAKUBAOEAAMYBADwBANYBAKEBAOMBABcCAAgCAH8CAD0CAOMCAF4CAEEDAHYCAJsDAKsCAPYDAOsCACYEAAsDAD4EABkDAEgEADsDADcEAEEDAAAEABwDAKUDAOUCABoDAJACAIICABUCAO0BAKcBAEgBAA8BAJ0AAGAAAAAAAMr//4v//zb//yb//5v+/87+/xz+/4X+/839/0n+/479/wz+/0P9/9j9//n8/8P9/8P8/6X9/438/4f9/1H8/379/xj8/2z9//D7/1D9/+D7/zf9/9/7/wr9/+n7/9D8/wP8/6j8/yL8/5n8/z/8/6T8/1f8/8H8/3P8/+38/638/xj9//L8/039/zz9/5T9/4z9/979/+b9/xb+/y3+/0/+/3T+/6H+/8X+//z+/wn//0n//zL//3f//0D//3j//0n//4X//03//6///07//8P//0///8H//2r//7z//6L//9D///r///X//0sAACQAAH8AAC8AAJsAABQAALUAAPv//9YAABQAAAABAD8AAD0BAFMAAHoBAFcAAL4BAHEAAAICALMAAEICAP4AAGsCAB8BAHcCACcBAHYCAEkBAF0CAH4BACoCAKUBAAYCALEBAAACALYBAOUBAMUBAM0BAMQBANIBALUBAMQBAK0BAL0BAJkBAMgBAFwBAL4BAAgBAIYBALQAAGEBAH8AAFoBAHUAADEBAHkAAAEBAGIAAOsAAEgAAA0BAFIAADYBAIgAAEUBAL8AAGEBAPsAAGwBAEEBAHcBAJMBAN0BAPcBAEICAF8CAGgCAKkCAJQCAM4CAMwCAPMCAOYCAAgDAOwCAPcCAPICAMgCAMACAIgCAFsCADECANMBAKoBAFABACkBAMgAALgAACcAAEUAAJz//9n//07//4b//x7//0r//9f+/zD//6D+/zL//6T+/z3//9H+/07//wH//13//y///2f//0z//3P//yr//3r//wb//3P//xr//1r//yj//zr//+/+/xL//6X+/+D+/3X+/6D+/xz+/0b+/4z9//D9//D8/6/9/1L8/339/9j7/079/6r7/yn9/5n7/xD9/4L7/wD9/4n7/wL9/8z7/zT9/zL8/3/9/7D8/8r9/2L9/xj+/xn+/3H+/7L+/9j+/z3//0H//8r//6v//1YAAAoAAMkAAE8AAAoBAHkAABoBAIcAAAwBAHQAAN0AAEAAAHgAAAUAAAkAANH//6b//5///y///1j//7D+/wP//0X+/7L+//79/3L+/9T9/0z+/9n9/0L+/xb+/1D+/23+/3/+/8T+/9b+/yL//0X//5D//8b//xUAAEkAAMQAAMMAAIoBACMBADoCAHcBALcCANMBAPkCACICABUDAGcCACwDAKgCAFsDAM0CAJYDAM8CAMEDAKsCAMMDAH8CAKgDAGACAIkDAEUCAIsDADQCAKIDABcCAKYDANcBAHcDAHEBAA4DAP8AAG4CAK4AAKABAJMAANMAAJ4AACsAAL8AALX//+0AAHL//yABAFT//0gBAEz//2cBAHz//3gBAPT//3ABAKEAAFABAFIBAAcBAOQBAJQAAEYCAAcAAGsCAIL//2gCACH//1wCAOv+/ycCAPD+/8ABADH//yUBAJ///3wAACoAAOT//7MAAGr//ygBAB7//3EBAPD+/30BALD+/1IBAD/+//sAAK39/4kAAC79/wUAABL9/37//1j9//b+/9X9/3r+/0L+/w3+/4L+/7b9/5r+/4D9/7b+/3z9/yv//6H9/5r//+P9/7b//yX+/zT//0/+/yv+/1z+/6P9/1D+/+n9/zf+/4z+/wz+/yP+/8v9//f8/3r9/9z7/x79/wL8/9b8/5X8/738/0X8/978/7r6/zT9/4v5/7j9/zH6/0/+/5H8/+P+/3X+/2H//4j+/8H//y7+//f//x7//woAAAcCAO7//1wEAKf//+0DAFv//0kBADn//y3//2L//6b//8n//8gBAEUAAJ4CAKEAAAEBANMAAD///xcBAH3//6ABAK8BAGwCAKsCAEgDAAMBANQDAMj+/7sDAMH+/9cCAIQBAFcBABkEANT//54DAPz+/88AACz//53+/ysAADj//04BANcBANkBALEDAJkBAJwDAPsAAPgBAKIAAMQAABgBAPMAAE8CAB8CAIwDAGcDAOgDAPYDANwCAOUDALYAAPMDAHr+/7YDADj9/9cBAKD9/+P9/0z//0f6/ywBAN75/0wCAHP8/1wCAIT//6QBAP0AALUAANkAADcAAMoAAGEAAPYBAOIAAIkDAAgBAFYEADMAAJwDAH7+/7kBAOz8/wIAALz8/+f+/zr+/87+/4EAAJz//2ECAMsAACUDAHQBAPgCAEwBAHMCAMUAAAsCAPj//9kBAP7+/7IBABb+/2MBAO39/3MAAHX+/5L+/x3//xb8/7///yH6/+3//9H5/33//4/7/yH//3n+//3+/wcBAF3+/0oCAKv9/zECAHH9/2IBAGT+/5MAACwAAAUAAKoBAKv//z4CAF7//5MBAA///4QAANH+/2z//4b+/6D+/0z+/8P9/yf+/w79/xz+/wv9/1P+/+H9/57+/+X+/9H+/xL//xD//5z+/7D//3b+/5MAAE///0sBAIgAAE4BAMMAAEYAACL//2r+/zD9/5z8/8r8/8P7/13+/xX8/9n//039/4j//8v+/zX+/0QAAKz9/1YBADL//9QBAHYBALMBAI0CADUBAGgCAMwAADoCANQAAA4DAEUBAIEEAMoBAPsEAAsCABIEANIBAFcCAAIBAAkBAMv//0YAAI/+/zz//7v9/1H9/6L9/8T6/0D+/wH5/zf//5b5/xkAAAn8/3kAAPD9/1UAAI39/73//2T8/+z+/wH9/zL+/4f//9X9/ywCAMT9/2wDAM79/2UDAP/9/4IDAI3+/3QEAKP//04FAA8BAE4FAEICABkEANUCAGUCAPsCADMBAE8DAFYAAAAEAND//74EAHj//ywFACL//yIFAIv+/7AEACn+/80DAHz+/1wCAEj//34AABsAALn+/8UAAMf9/68BAK79/6cCAPr9/3YDADT+/z4EAG7+/6YEAPD+/6cEAAgAANgEAEkBAMkEADoCAL8DAMMCADECACMDAKgAAJ0DANv//ykEAFv//2EEAPD+/yYEAGT+/4IDAK79/8ICAHT9/wICAIz9/wIBAFf+/8r//1n//2X+/34AAEb9/4cBAN/8/1ECAPL8/4kCABX9//8BACX9/yMBAGL9/zwAAKv9/0r//wf+/1X+/1P+/3X9/3r+/2n8/3P+/537/9/+/wL7/8X//5X6/7kAAB76/wwBANn5/3AAADD6/4f//yH7/7H+/6D8/yr+/zH+/5v9//L//xv9/5oBAOr8/6oCAGX9/5YCACT+/9UBAJX+//sAAIv+/zgAADD+/5P///39/9b+/yH+/w7+/2T+/2j9/4r+/7v8/9H+/+b7/zz///b6/6L//xH6/6T//8P5//n+/z/6/xr+/yX7/2j9/278/zn9/yf+/3z9/xYAAFD+/9ABAFv//xgDAAgAAMkDAEAAAO4DACkAALgDAAQAAHwDAAgAACcDAD4AAHsCAJMAANUBAO8AAFgBAFwBANcAALsBAA4AAL0BABv//0IBAE/+/5IAANz9/xwAANn9/wIAAHT+/yIAAKX//5AAAD8BAEABAOsCADACAFIEAPwCAEcFAGMDAN4FAF0DADEGAC4DAFAGABgDAFQGAEIDAE4GAKUDABEGABkEAGgFAG4EAFsEAHYEACADAAQEAPoBAAEDAPQAANEBAAQAAOgAADj//2QAAMn+/0UAANj+/2QAAD///40AALr//4oAABUAADQAADIAAKz//z0AADP//34AAP7+/+IAAEr//04BAAoAAMgBAAkBAFQCAPIBALoCAIACANQCAJYCAIwCAE8CAMoBAOgBANEAAI4BAP7//1EBAID//xQBACL//8gAALX+/1UAACz+/8f//7P9/xn//zL9/07+/7P8/139/2f8/2n8/278/777/7f8/2r7/xD9/437/4f9/x78//L9/wL9/yr+//v9/1z+/9H+/8f+/07//z3//17//3v//yv//2f//wj//wD//xb//1D+/0b//7b9/27//1/9/0n//xH9/7b+/5j8/8v9/yv8/9D8/+r7//z7/8/7/2z7//37/0v7/3L8/6f7/xf9/4L8/9r9/5P9/8L+/5n+/7n//3v//40AAB0AAA0BAIAAAFEBAIMAAGMBAFkAAFcBAFEAAEIBAF8AAB8BAIUAAOwAAJwAAI0AAIgAAPL//0EAADX//77//4H+/0L//xr+/+7+/yH+/+j+/5r+/zr//2j//9j//08AAJoAABsBAEYBAKcBALkBAP0BAM4BAEACAKQBAG0CAF8BAHgCACgBAHQCACABAHwCAEMBAI8CAGUBAJ4CAH4BAIwCAGwBACoCADQBAGcBAO4AAHAAALIAALf//54AAIf//8EAANT//y8BAFMAAK0BAMcAAPsBAAgBAAkCACgBAOwBAFIBAK0BAIUBAEoBAKkBANkAAKABAGUAAHoBAAMAAD0BALP//wABAIf//8wAAH3//5UAAIT//1sAAIn//xAAAJz//73//8D//3X///n//0///2EAAFz//+8AAIz//5YBANf//zYCAB4AAJoCAGgAAJQCAL0AADcCABMBAKQBAFgBABIBAGQBAIoAAC4BAA8AAMoAAK7//2YAAGv//zQAADP//zQAAPr+/ywAALj+//v//37+/5b//13+/xX//3H+/6T+/7n+/1H+/xf//xf+/23///L9/5L//9v9/33//8D9/yr//5D9/7L+/1r9/zj+/zT9/+79/z/9/+L9/4b9/xD+/wX+/2f+/63+/8r+/2X//yP//wUAAGv//3QAAKz//7IAAOb//+AAACAAABoBAFgAAFMBAJ4AAGoBANwAAEIBAOsAANEAAMEAACwAAHAAAHz///7//9H+/2z//zP+/9T+/6D9/0b+/z79/979/xv9/6f9/zL9/6j9/3X9/9r9/8j9/xz+/yn+/07+/5b+/3/+/xX//7H+/6P//+D+/zIAACr//7AAAIb///oAAO///wwBAFkAAOMAAKIAAKUAALIAAG0AAKAAAEEAAHcAAB0AAFsAAOX//0MAAJv//yUAAFb//xkAAD7//y4AAHD//14AAN///5oAAFIAAMYAALUAAN4AAAsBAOUAAGUBAPIAANgBABkBAEkCAFQBAJQCAJ4BALcCAOgBAMwCAC4CAN0CAGECAN4CAH0CAMsCAHoCAJwCAGkCAFkCAEkCAAMCABoCAKcBAPABAFkBAMoBAB4BAKIBAOQAAHQBAKAAAD8BAGMAAO8AADUAAIYAACUAABYAADAAALj//0QAAIH//1cAAH3//1kAAKH//1sAANX//2oAAAIAAHoAADQAAJcAAG4AAK4AAKwAALUAANoAAMQAAPMAANUAAAYBAMcAABgBAKwAADABAIgAAEUBAGYAAEgBAEcAACcBADgAANYAACwAAHQAABYAAA4AAAUAALb//9f//23//6D//zH//37//wT//1r///H+/z7///7+/zn//yL//y3//0f//yL//1r//yL//1H//xP//zv///z+/yr//+j+/x7//7H+/x///2P+/xr//yv+/wf//w/+/9r+//b9/5T+//T9/zv+/+b9/+z9/7n9/6/9/8n9/6L9/9r9/7f9/+v9/+/9/yr+/zn+/2b+/4D+/4v+/6z+/+L+/9D+/zT///3+/1P//wD//63//xj//9b//2T//7v//4z//8H//8b//83//x4AAK///y8AAJv//yUAALz//yEAAJP//+v//4P//83//7r///n//6r//+3//+D///D//ykAAB4AABMAABsAAE8AAAwAAHgAAOz//2QAAK7//5oAAHH//6cAAGf//3YAAG7//2oAAHn//zcAALv//+b//9D//9b//9b//8H//xMAAI3//wkAAKf//wMAAMf//y4AANn//zwAAD0AAHQAAH4AAL8AALEAAAYBABcBAD8BAFYBAGsBAJcBALMBABICAOYBAGMCABUCAJgCAEUCANgCAGYCAOQCAIgCAO8CAJcCAAQDAJECANYCAHECAIoCAEYCAD0CAPwBAMkBAK4BAFoBAGMBAAsBABkBAMIAANwAAH8AAKcAAEcAAIAAABUAAG4AAOj//10AAN3//0UAAOb//zkAAOn//xUAAPn//wYAABUAAO7//ygAANj//z0AANf//1AAAM///zIAAMz//w8AAL///+H//6T//6L//5H//43//3///3T//4L//0P//4T//yj//4j//wf//4n//9T+/2T//8z+/y///83+/wT//8r+/9v+/+b+/73+//L+/6j+/+H+/5z+/9f+/57+/8H+/6D+/5v+/6D+/5L+/57+/57+/6j+/7b+/7v+//H+/9b+/yD///L+/zv//wb//1f//xH//0X//xz//xr//wv//wP//+3+/+X+/8r+/8v+/6X+/8L+/5X+/6v+/4f+/5j+/2/+/4T+/1P+/1z+/zr+/0P+/zX+/z/+/zX+/0/+/0f+/3v+/2/+/7L+/5r+//H+/9r+/zn//x3//3j//1P//7T//4r//+r//8P//xYAAPb//zYAACoAAEYAAEwAAEQAAGwAAD0AAIwAAEEAAJ8AAEsAAK0AAHgAALcAAMAAAMYAAAIBANMAAEkBAPIAAIsBABwBALIBAEYBAMkBAF8BAMUBAIABAK0BAJgBAJkBAJUBAIMBAI8BAHIBAJcBAGYBAIQBAFkBAIoBAE0BAJMBAEUBAG8BADQBAE8BACkBADcBACYBAA0BACUBAPoAADkBAAIBAEgBAP8AAEIBABkBADoBADwBACsBAEcBABsBADgBABUBACgBAAMBAAMBAOcAAO0AAM8AAPoAALMAAPsAALcAAAYBAMEAAA4BAMQAAO8AANAAANQAAM8AAL0AALcAAJUAAK4AAJYAAJ4AALEAAHgAAMcAAF0AANsAAEAAAOIAAC0AAMAAADUAAHkAADIAADkAABcAAPn//wQAALD///H//33//8n//1T//4z//y7//y///wz//7j+/9n+/0f+/47+//T9/0r+/7n9/xz+/5L9/wn+/3r9/xX+/3n9/yf+/5f9/zX+/8H9/0X+//79/1H+/zL+/1P+/1j+/1D+/4P+/03+/67+/1P+/8r+/3b+/+D+/7n+//L+//b+//j+/x7///X+/yz///D+/yH//+L+/yD//8L+/y3//63+/yj//7P+/xf//8v+/wb///D+//b+/yL//+f+/1T//9j+/4///8j+/73//7n+/8r//8r+/7v///3+/53//03//4v//7D//6X//wkAAOn//1cAADwAAJQAAH8AAMgAAKoAAOUAALkAAO8AALoAAN0AAMkAALgAAOEAAJIAAAABAHoAABMBAGQAAB4BAGIAACYBAHIAAC4BAJsAADkBANUAAE8BABcBAGgBAFoBAIUBAKEBAJwBANcBAJ8BAPUBAJcBAPUBAI0BAOsBAHwBAMsBAGYBAKABAFEBAHsBAEgBAHEBAGQBAFsBAKwBAFwBAAECAFcBAD0CAFsBAEsCAHIBABYCAHwBANQBAJsBAIwBAKMBAEoBAKMBAP8AAIgBAKsAAGwBAGMAADABAEQAABUBADkAAP4AADIAAO4AACYAANYAACsAALgAAGEAAH8AALUAAFsAAOQAADUAANEAAB8AAJgAAB0AAFwAACQAABsAACgAAMP//x8AAEz//xIAANX+//7//4P+/8///27+/4///4j+/03//7T+/w7//8T+/9P+/8X+/5n+/7v+/2D+/6f+/yz+/4n+/w3+/2D+//v9/zH+//f9/w3+/xf+/wL+/1L+/xH+/6b+/zn+//f+/2b+/y///53+/zv//9j+/xz//w///9z+/yn//5H+/w7//0j+/7T+/wr+/y3+/9r9/5z9/779/zj9/7L9/xf9/7T9/0X9/8v9/7z9/xX+/1f+/37+//j+//P+/43//1b//wEAAJ3//1sAALf//5gAAK3//6cAAJT//3QAAHb//w4AAHj//3z//27//wr//5n//9v+/73///b+//P//1T//yQAANj//0kAAIYAAEcAAF4BAEIAADYCADkAAMwCADkAAOsCAEsAAIgCAHkAANQBALgAAPwAAAkBABgAAFoBAFn//40BABn//60BAJH//7YBAJMAALIBAMcBAJoBAMoCAIIBAGkDAFwBAKQDAB4BAIoDANIAACIDAKQAAH4CAK0AALIBAAUBAAoBAI8BALgAADwCAMEAAN4CABABAGADAF4BAJMDAIYBAG4DAH8BAAIDAGUBAGICAF4BAKYBAIABANkAALMBAA0AAOoBAGn///wBABv//8ABAC///08BAI///9EAAAwAAGgAAJMAABcAAAQBANH//2YBAIz//6IBAF7//6wBAGz//28BAKb///cAAOL//1cAAPH//7b//9L//xr//5P//5P+/zf//zb+/8f+/xj+/2f+/zL+/yT+/3v+/xX+/+L+/yn+/1T//1j+/8///5H+/z8AAPP+/20AAHH//zAAAOX//5P//zAAALj+/xsAAOf9/5v//z/9/8/+/8v8//X9/5z8/zT9/7L8/6P8//v8/zD8/1z9/+v7/8n9//j7/0f+/038/8r+/778/z///zn9/4r//6/9/4H//wL+/zj//3f+/77+/+v+/zv+/17//8T9/+H//2j9/3UAADb9/9UAAE39//kAAMD9/9oAAI7+/zYAAG///zX//0MAAEr+/+IAAIL9/z4BAFD9/1kBAPH9/zUBAPz+/+cAADoAAJgAAHcBAG0AADUCAD0AAFMCAAUAAAkCAKf//3cBAEr//6IAADT//xgAAHL//+7//+v//xsAAIUAAMMAABIBAHYBAH4BAMMBALIBAMcBALkBAGQBAIUBAKMAACcBAAEAAN4AALP//8QAANf//9YAAKAAAB4BAPsBAGIBAD0DALYBAEIEAPwBAK8EAAsCACoEAN0BAAADAK0BAMQBAI4BAKYAAJMBAOj//8EBAL3//+8BAP3///8BAJcAAPsBAEgBAOsBAMMBAJYBANYBAC4BAHgBANQAAJcAAKkAAN///8IAAIr///8AAMj//zMBAJkAACQBAIUBAM8AACMCADgAAGECAKj//2QCABL//yoCALv+/2YBALX+/2IAACz//yX//+n//xn+/5EAAIH9/wYBAHz9/y0BANL9/xwBAFz+/+EAAMf+/4sAAAr//+z//xL//2L//xT//7n+//T+/zL+/8H+/4z9/6j+//f8/7/+/238/zH//0j8/+T//5D8/0EAAH/9/z4AAM3+/wAAAAkAAGH///oAAFL+/48BAI79/8QBAAb9/5YBAP38//0AALL9/zEAAOH+/0X//8v//2v+/5oAAKD9/wgBAMT8/7YAAAD8/+X//6b7/+L+/+T7/9r9/8n8/1/9/+r9/2v9/yH//579/xEAANz9/98AAD7+/1EBAMf+/2EBAFX//9QAAHL//zEAABv//8T//93+//r//yT//z4AANb//yAAAL8AAOP//50BAFf//+ABAPj+/z4CALT+/4QCALr+/5QCAAD//w8CADUAAF0BAHcBAHYAAIgCAJT//w0DAFT//wIDAGj//4MCAJr//8UBAP3//0EBAMUAAA4BAGsBAGUBABECAKIBAEwCAKkBADoCAIYBAP0BAFwBALUBAO4AAJIBACcAAGEBAID//8EBAIX//0wCAKkAAA4DAJQBAOUCAAwCAG8CANgBALwBALgBABEBAKIBAEsAAHkBAKD//yMBAOv+/+cAANT+/0gBAML//+cBAC8BADYCAEYCAK4BAD8CABEBAO8BAH0AAEMBAMr//5oAAEf///D///z+/5P//0T//2X//8///5f//5UAABwAAM0AAF4AAHUAAH0AAAUAAFgAAN///8H//73////+/7v//1z+/7v//9P9/6H//0b+/57//1f//7r//24AAM3///UAAF7//8kAAPf+/24AAOj+/xgAABn//7z//27//wz//6n//zX+/8L//6v9/7L//5r9/1j//wH+/7D+/2v+//X9/2b+/5r9/07+/3b9/0f+/3L9/zz+/7D9/zX+/zr+//D9/87+/879/1n//x/+/5v//73+/5n//xb//53//1f//4b//6r//4n//8z//3T//8///4H//8b//17//33//+v+/xz//2H+/8L+/wz+/33+/wT+/3j+/xD+/4H+/0/+/9P+/87+/1L//4z///7//yoAADUAAKwAAPn//wUBAOj//0YBABIAADgBAB8AAA8BAFoAAO0AALgAANcAABUBANMAAHIBAOEAAN8BALgAAAcCAFoAAMIBAN///zcBAG7//5kAACX//zIAABb///v//1L//9b//9L//9v//3QAACAAAPMAAFMAACYBAEIAAD0BABUAADsBAAoAACABABIAABYBADsAACYBAIQAAFUBAAEBAH4BAJMBAIMBAAwCAGUBAFoCADoBAIwCAPwAAG8CAMIAAB4CAK4AAKwBAMgAAD4BAPQAAMEAACABAE8AADcBAA8AACkBAPf//+8AAPf//44AAOn//y0AANX//wkAAOH//w0AAAEAACMAABEAAEcAAB4AAG8AADYAAFsAAFEAAAUAAE8AAJ///0sAAFv//0IAAEf//yUAAFH//+3//2b//7X//3z//23//4L////+/1r//4b+/xT//xr+/9P+/9D9/7/+/8z9/7f+//X9/8b+/zP+/+j+/3j+/xz//63+/0X//8v+/1j//+/+/0///yP//zX//1v//wj//4///9v+/7v//9/+/8j//wv//8b//0n//8X//2j//7L//2L//43//zf//0z////+/+7+//H+/5L+/wn//1n+/zj//1j+/3P//4j+/7L//+T+/87//zf//9b//4j//8H//8n//6z///b//47//wYAAHj//xsAAF3//zgAAFH//00AAFv//1cAAID//1AAAJ7//zQAAL3//xkAAML//wIAALD//+///8f//+H//xMAANv//4IAAPD///oAAC0AAEUBAIQAAFQBANoAAD0BAC0BACUBAHcBACsBAL0BAEwBAP8BAGwBACQCAHgBACUCAGIBAPwBAC0BALgBAO4AAGsBANAAACABANkAAOEAAOkAALYAAPYAAJ4AAOkAAIEAANIAAF8AANIAAE0AAOcAAE0AABABAGUAACQBAJQAADkBAN0AACoBADYBAA4BAIMBAO8AAL0BAOQAAOQBAN4AAOgBANcAAL8BAL4AAG8BAKAAAAsBAHsAAJoAAFwAABYAAEUAAKz//zsAAGX//ycAADf//+///w7//6D//+z+/13//9n+/zj//9z+/yv//+D+/0T///L+/3f//xf//5T//07//3v//3///0b//6v//x7//9H//x7//+T//zr//9X//2z//8H//5P//6X//6n//2b//47//wz//07//7H+/wz//2T+//b+/0z+/+/+/2D+//v+/47+/xD//8f+/zH///f+/0r//w3//1D//x///0H//0H//yP//2v///P+/5T//7j+/7z//6j+/8n//8j+/8T//wP//8L//zH//7j//zr//57//yP//2////r+/yT///f+/9j+/x7//6n+/2f//7b+/7n///T+/xkAAGP//10AANb//4YAAEEAAJMAAJ0AAJgAAOUAAJEAAAkBAI8AACkBAIQAAFABAHwAAGoBAIgAAHgBAKgAAG8BAMMAAEsBANgAAB8BANUAAPQAAK4AAMgAAKIAAKAAAMkAAHgAABUBAGoAAG8BAH4AAKcBALMAAKMBAOsAAHEBACMBADkBAFQBAB0BAIEBACEBALABAC8BAMoBAC4BAMMBABIBAJcBANcAAE4BAJAAAPsAAGQAAKsAAGUAAGcAAHUAADUAAIUAABwAAIQAAAIAAG4AAOD//2wAAMn//38AAMT//6kAANX//8AAAPz//9cAADoAAMwAAIwAAKkAANUAAIUAAAoBAGkAACsBAFoAAC4BAEcAAAMBACQAAK8AAPr//0QAAMn//9D//5n//0P//3f//83+/13//3v+/0j//0j+/xD//yD+/8D+///9/3f+/+/9/0/+//j9/z7+/wX+/1j+/yH+/47+/07+/8T+/5L+/8L+/9b+/5/+/xL//4H+/0r//4r+/3P//7D+/3n///X+/3P//y3//2n//1v//z///1z///P+/zH//6H+//r+/1n+/+r+/z7+/+3+/1P+/wP//4b+/yP//8f+/0///wX//3n//yz//5D//0j//5T//3P//4f//6v//2r//+T//z3//yAAADL//0QAAFr//1IAAKD//2IAAOf//24AAAUAAGgAAAQAAE8AAOf//xcAAOX//9X//wsAAKX//1YAAK3//6QAAOD//wQBAEYAAEsBALgAAHABABgBAHYBAGwBAG0BAKkBAFMBAL8BADwBAMcBABsBANcBAPYAANgBAOQAANABAOQAALABAOgAAHYBAOMAAC4BAMoAAOYAAIoAAJ4AAFoAAGAAAGAAACQAAJQAAAAAAOIAAP7//yIBACYAACgBAFkAAPkAAIoAALwAALgAAJUAAN8AAJcAAAoBALEAAC0BAMYAADgBAMQAACQBAJ0AAOkAAFkAAJYAAB0AADsAAAQAAOf///T//5T//9z//1b//7///yP//4j///P+/2n//83+/3D//7j+/5v//7f+/7j//8/+/8j///r+/6n//zT//2v//2v//0H//5z//yz//8b//0r//+n//3T///r//47//+7//3n//8j//zv//5H//+/+/0n//7z+//X+/6f+/7X+/9n+/4z+//v+/2z+/wT//1/+/97+/1n+/5z+/0X+/1z+/zf+/1H+/0D+/3X+/2T+/8X+/6T+/wv////+/0D//2z//2D//83//4D//xgAALP//z8AAA8AAFUAAGMAAHEAAIwAAJIAAGoAAKIAABkAAJgAAMn//3cAAKv//zkAANn///H//zIAAMv//3kAAM///4oAAPL//0oAACAAAPX//zoAANf//0EAABMAAEYAAJQAAHEAAA4BAL8AADABAB8BAOQAAG0BAG0AAI0BACIAAG0BAD8AADgBAMIAACIBAGgBADQBAMUBAFsBALkBAGYBAGcBAEgBABcBAAkBAAcBANIAAEwBAMEAAKMBAOIAAKoBABMBAD4BADcBAJIAAEQBAA4AAAYBAP7//7MAAGcAAHMAAO4AAGcAADIBAKMAAA4BAN0AAKYAAAMBAFcAANMAAGgAAJEAANMAAFcAAE0BAGwAAHABAKgAAAcBAMYAAEwAAMIAAK7//1oAAIb//+v//9r//5P//1gAAIb//5IAALT//1UAAOz//8D//wsAAD///+v//yz//7D//4f//4j///z//5X//y0AAMX//+b//+f//1X//9T//+P+/4X//9f+/yD//zz//+7+/8T///r+/xIAADf//+3//3P//2z//4r///b+/3b//+X+/2H//zz//1n//6r//2D//9P//3f//4r//4r///b+/43//43+/2P//4n+/xv//9z+/9f+/0j//8b+/4v//+v+/3T//x///zH//y3///3+/xr//xP//xb//3b//z7//9D//4///+T//+f//6b//yUAAGb//yoAAFz//yQAALD//x4AADsAAEAAAKwAAIEAANIAALgAALMAANUAAIYAAMIAAIIAAKwAAK0AAI4AAOAAAI4AAOAAAJEAAJYAAHkAABUAAEkAAKX///3//3z//73//57//7X//+H//+7//yEAAEYAAEAAAI0AAE4AAK0AAG4AAK4AAKYAAK4AAOcAANMAAA0BAAoBAAQBAC8BAMgAACABAHUAAOMAAEQAAJUAAFEAAGoAAIMAAFcAAKYAAEcAAJ0AAC0AAGUAAAoAADAAANz//zQAAKf//1wAAIT//4oAAIb//5kAAMH//30AAA8AADgAADkAAPX//yQAAMz///T//+r//9///x8AAOz//z4AAPz//x0AAPb//9X//8f//53//4b//4j//1f//57//07//6j//2L//5L//3n//2D//3X//zP//1f//zD//zb//13//yf//6D//zr//8n//2T//7v//5P//4r//7j//1r//8T//1P//7///2j//8j//4n//+T//53//wEAAJT//wMAAIL//9r//3v//6j//4z//5H//63//5f//9H//7P//8v//8L//6f//7v//3j//5v//2T//3f//27//2f//4T//27//47//4L//4b//5z//3j//6f//3f//6f//5P//6z//8D//8b//+3//+3///7//xYAAO///y0AANL//yIAAL////3//8H//+D//9z//+v//wgAAAYAACQAABIAAC0AABcAACgAAAkAAC8AAN///0gAAMH//2cAANX//38AAAMAAIQAACYAAGwAAC8AAFEAAC4AAEAAACwAADcAACkAADwAACUAADsAACYAACcAAB4AAAwAAPT//wMAAMf//wwAALD//xEAALD//xUAAMr//ycAAOj//ysAAP7//w4AAPv//+X//+D//+D//8j//+v//8f///b//9X///7//+H//wkAAOr//woAAPP//wEAAAMAAAYAABwAAB0AADwAADAAAGUAADoAAIEAADYAAIcAAC4AAHIAACIAAFUAABUAADwAAA8AACkAAA4AABgAABMAABIAABUAAA8AAA0AABMAAAsAACsAABYAAFkAACsAAIYAAEEAAJ4AAEsAAJsAAEgAAIAAAEAAAFIAACcAAB0AAAsAAPj//+P//+H//77//9f//6P//9f//5T//+b//5n///v//63//xEAAMr//yAAAOX//yMAAPX//xUAAAEAAPn///r//9n//+7//8r//93//9D//9b//+b//9P//woAAOH//y0AAP7//0YAAB4AAFkAAEYAAF4AAGkAAFMAAH4AAEUAAIUAADYAAHkAACUAAFkAABUAACkAAAoAAPT//wEAAMz///v//7X///r//7f///j//9j///X//xMAAPT//1MAAPP//4sAAAkAALYAADAAAMQAAFYAAL8AAIAAAKAAAJ0AAHAAAJoAADgAAHMAAAYAADoAAOr///z//+D//8n//+n//8X//wMAAOL//yAAAAsAADkAAEQAAEkAAHkAAFEAAJYAAE8AAJ8AAEoAAJ4AADkAAH0AAB8AAEwAAAUAAB4AAOP///T//83//+n//8r//wIAAN7//zQAAAgAAHYAAD8AAKsAAHYAAL8AAKUAAKsAAL8AAIsAAMMAAHAAAK0AAGMAAIkAAGAAAFcAAFsAACEAAEwAAOn//zEAAL///wsAAKX//+D//6L//7r//7b//5z//9v//4T//wYAAHv//yUAAIP//yoAAJr//xsAAMH///3///D//97//xIAALz//wwAAJf//97//3X//5r//2L//1r//2H//zP//37//z///67//3z//+f//9b//xsAAC4AADYAAHIAADUAAJAAACIAAHwAAAcAAD8AAO3//+r//9L//5T//8D//1P//6n//zn//5b//1D//5L//5b//6X//+z//9H//zoAAAkAAGYAAEMAAGEAAGMAADUAAGgAAPL//1MAAKX//yQAAGv//+r//1b//6///2b//3j//4///0v//8L//zX//+j//0n///P//4T//+P//9f//8X//zEAAKj//3oAAKD//50AALH//48AANj//2EAAAkAABwAACAAANz//xsAAKP///3//3L//87//1v//5r//13//3P//4j//27//9X//4T//y4AAMP//38AACIAAKoAAHAAAKMAAKcAAG4AALAAABoAAHUAAMb//wcAAIb//5X//2T//zz//2L//xb//4j//0H//7b//53///D//w0AADEAAHEAAGsAAKUAAI0AAKIAAJUAAHMAAIMAACgAAFsAANf//x8AAKD//9///5f//57//7L//2z//+L//1H//w4AAFj//yQAAID//x8AALz//wgAAPn//+T//yEAAMD//zEAAKz//yYAAKn//xEAAL7//+3//+D//8D///v//5T//wcAAGv///z//1D//9b//0n//57//1v//23//4///1n//9///3j//zMAAMH//3wAACQAAKoAAIYAALEAAMQAAJQAAMIAAFMAAIwAAPn//zIAAKL//8v//2b//3X//0r//0P//0z//0D//1n//2H//3P//5n//5j//9D//8X///7///T//wcAACkAAPz//0YAANT//0EAAK7//yIAAJj///T//53//8r//7f//6D//9z//4j///7//4T//xUAAKP//yAAANz//x0AAB4AABYAAF0AABkAAJUAACoAAMQAAFAAANsAAIcAANsAAMUAAMEAAO8AAJQAAPEAAGAAAM4AACQAAIQAAOP//ysAALL//93//6L//63//7H//6L//9f//8D//wcAAPj//zYAADMAAFUAAGYAAGEAAHsAAFIAAG0AADQAAEEAAA0AAAIAAOD//8T//7H//5v//4r//5P//3r//7D//4r//+r//7n//zEAAP7//28AAEQAAI8AAIAAAIsAAKEAAHUAAKkAAFoAAKIAAEUAAIoAADsAAGQAADsAADMAADkAAPj//y4AAL///xMAAJz//+v//5X//7///7L//6b//+P//6T//w8AAKv//ygAAL///ysAANH//yIAAOH//xcAAPn//w8AAA4AAAsAABcAAP7//wkAAN7//+f//7v//73//6b//6P//6///67//97//9z//xkAACsAAEgAAGsAAF0AAIcAAFoAAH4AAE0AAFsAAEMAADUAAEAAABEAADcAAPv//xwAAO7//+r//+b//7P//9///4v//+b//4r///b//6j//wwAANP//xgAAPX//xQAAAQAAAsAAAYAAAAAAAcAAPv//xAAAAIAACQAABMAADoAACMAAEIAACsAADQAACsAABwAAB8AAAQAAA4AAPL///3///j///P//wYAAOr//xAAAPP//xIAAA0AAA4AACsAAAYAAEEAAAAAAD4AAAIAACIAAAkAAAAAABIAAOj//xUAAOf//x8AAP7//ywAABgAADAAACEAADAAABoAAC0AAA8AACcAAAYAACQAAAUAACQAAAIAAB0AAPD//w8AANj///r//73//+X//7L//9f//7r//9L//8z//9b//9z//93//9f//93//77//9H//57//8b//4n//77//4z//73//5r//8j//67//9P//77//9j//83//9T//9X//9f//+D//9X//+L//9P//9j//87//83//8T//8b//8j//8///9b//+///+v//w0AAAEAAB8AABEAACQAABMAAB0AABAAAA0AAAkAAAAAAPf///H//+f//93//97//8n//+D//73//+n//8f///H//+f//+7//wYAAOX//xEAAN3//wMAANj//9r//9b//7L//9b//5j//9H//5r//8P//7X//6v//8L//43//7n//3P//6j//23//5L//4L//4v//6v//53//8n//77//83//9n//7z//+n//6v///f//6z//xYAAMj//zoAAOz//10AAAIAAGsAAPv//1oAAOP//zEAANL//wwAAN3//wIAAPv//x0AABgAAEUAACkAAFoAACEAAEwAAAsAACgAAP///xAAAAMAABgAABEAACsAABoAACYAABAAAPf///r//8j///H//87///z//xYAACQAAGEAAF8AAGsAAIwAADYAAIsAAPn//2cAAOz//z4AAP7//ygAAAAAAC8AAN3//zkAAK7//y0AAKL///f//7L//7b//7v//47//63//43//4v//63//2z//8P//13//8r//2b//77//4X//7L//67//7r//9H//9H//+X//+7//+r//wwAAOb//yQAAPb//zAAABcAADoAADwAAE4AAFAAAGUAAFsAAHwAAG0AAJIAAI4AAKAAALgAAJwAANgAAI4AANgAAIMAALMAAH0AAHoAAHIAAEwAAGMAADUAAFUAAD4AAE0AAFkAAEwAAGoAAE0AAGAAAFQAAEgAAFcAACoAAFIAABYAAEkAABAAAEAAABQAADkAABMAADIAAAoAADMAAA4AADMAACAAACkAAD0AAB4AAFUAABIAAFUAAAMAADkAAPn//xAAAO7//+3//+X//+L//+P///T//+X//xQAAOj//zAAAOr//zcAAOv//y8AAOr//yUAAO7//yYAAPf//x8AAAAAABMAAAEAAP////n//+j//+7//+P//+L///T//9T//wgAAMf//wYAALr//+L//67//6n//6P//3X//53//1j//5///1v//6L//3T//6P//4r//6f//5j//7H//5///8T//7D//9r//9T///P///T//wsAAP3//xoAAPD//yQAAOP//y4AAPr//z0AADoAAFMAAIIAAG0AAKIAAH8AAIwAAIkAAGsAAIIAAGkAAG8AAIYAAGQAAI0AAGUAAGoAAGcAADsAAFoAADEAAEUAAFQAACwAAHIAACMAAGMAACMAACwAACUAAPr//xwAAOz//wAAAO///+r//+///9z//+r//93//+7//9j///f//8z///n//7v//+7//6P//9b//5T//7v//4b//6j//3b//6L//2///6L//3T//63//4D//8b//4z//97//5v//+3//6n//+v//7P//+f//8b//+X//+L//+f///f//+///wEAAAAAAAwAABkAACAAADkAADgAAFkAAEsAAGMAAFQAAFAAAE0AACkAADYAAPz//xIAAM3///D//6v//9L//5f//7H//4b//4///3n//2b//2///zj//2D//xT//0j//wf//zT//xf//yX//y7//yP//0T//y///1v//0v//2r//3f//37//6f//5f//87//6r//93//7v//9n//8H//8///7v//8L//7X//7H//63//6L//57//4z//4z//4f//3D//3///0r//2f//0D//37//6j//zAAAH7//wEAACz//8H//+v+/8L//9T+/8n//xv//+T//2L//8///5n//7r///L//6L//4YAAJz//xYBALX//20BANn//3IBAPX//20BAA8AAI8BABkAAGwBAEIAAPoAAHYAAG8AAKwAAAsAAMwAAAAAAMsAAPj//6kAALX//1gAAET//wQAAPb+//H//wL///v//1r///b//6b//+H//7P//7j//7L//5z///P//5H//4YAAKX//xIBAMb//0MBAOH//ywBAPD//wsBAOn///IAANX//9kAAN3//60AACEAAHoAAGkAAFQAAKkAAAAAAKMAAMb//6AAALL//7UAAJj//5QAAIr//34AAGz//2EAAHT//0YAAK7//ycAABIAAAIAAIQAALn//7cAAH///4QAAHf//w0AAIn//7L//4j//5r//3X//7T//0n//7b//zP//7v//0L//7T//2v//57//5z//8L//8j//8////j//9L//x4AANT//yoAAMj//yoAAAAAADgAAEEAAFkAAHEAAGUAAKEAAEoAAKAAABkAAH4AAOP//1UAALH//wMAAJj//5n//53//0H//7D//wr//6z///T+/5L//xP//3D//zL//0z//3T//zX//8D//zn//+7//17//xoAAKb//xYAAOj//wUAACwAAOv//20AAOj//5IAABgAAKQAAGkAAKYAAMQAAJ8AABABAIQAAEwBAE0AAFkBAD0AACgBAFAAAOgAAFwAAJMAAJYAAFsAANcAAHcAABsBALQAAFkBACMBAFoBAH0BAC4BAJgBAO0AAKsBAJgAAJEBAG4AAEgBAGoAAPoAAJQAAKgAAOEAAHsAADIBAIUAAIIBAK0AAKkBAPoAAJYBAB4BAEYBAAsBALMAAOUAAAoAAJQAAG///18AAAX//zEAAPr+/xsAAED//zwAANX//08AAJYAAGcAAC8BAF0AAHMBAAsAAEcBAK7//78AADX///3//77+/0r//3/+/+L+/2f+/8T+/5D+/wT///L+/5r//1z//04AAMr//+8AAAgAAF4BAAsAAHYBAN///yIBAJb//3MAAGf//5b//2P//7P+/5H//xb+//X///n9/1IAAG3+/4gAAFz//24AAGYAAOL//zABABP//4wBACL+/1EBAGD9/4oAABP9/3r//0X9/33+//v9/+P9/+b+/8n9/7v//zb+/0EAAO7+/z8AAKv//8b//ysAAAv//zoAAD3+//X//7z9/3r//679/8r+/wL+/yz+/57+/7X9/zv//4f9/6r//7b9/8b//yz+/3v///v+/+/+/8r//0H+/2UAAJr9/6sAAFL9/2kAAJf9/9D//3D+/xT//6j//3r+/+MAAEr+/9kBAIz+/yUCACz//7IBAOz//7AAAIgAAGf//9MAAF3+/6cAAAX+/zIAAIj+/6f//8L//yv//zkBAAD//3MCAC///wcDAK3//9ICAGIAAPkBABcBAMEAAKwBAIz//wICAMj+/wcCALz+/9MBAGj//20BAI8AAAUBANoBAMgAAN8CALYAAFgDANsAACsDACsBAG8CAIABAFIBALQBAC4AALIBAGL//4MBAEb//x4BAPz//54AAC0BAD4AAGQCAB4AAB4DAEEAADgDAIwAALsCAO0AALUBAFgBAIUAAKcBAHv//9MBAOT+/+IBAAD//74BAMz//2oBAP8AAAIBACUCANQAANUCAO8AAMsCABkBAP0BAB0BAL0AAOsAAIj//5sAAL7+/0wAAH3+/wkAAOX+/7X//8j//0L//74AANH+/2oBAI3+/3kBAIn+//YAALH+/wcAANz+//n+//7+/zv+/yX//xL+/2P//3H+/7X//0///wcAAH8AADoAAJIBAE0AAFMCAHcAAH0CAMQAAP8BAPYAAA8BANAAAOX//1YAAO3+/7n//3z+/0f//7f+/yD//3v//wv//04AANT+//AAAIr+/yUBAHz+/88AAMP+/x4AAEj//zD//7j//zD+/8///5X9/5D//8z9/0j//8L+/xj//w0AAAn//0kBABD//wECACj///YBAH///2ABACgAAIoAAP0AAKb//5EBAOb+/4gBAG7+/+cAAHL+/w0AAPb+/1L//8z//7/+/3QAAED+/3oAAPj9/9v//wP+/9f+/1r+/+P9/9f+/0T9/z///wD9/2H//yT9/0X//539/y///1/+/0v//13//4D//1EAAMb///sAABIAAB8BAGMAANgAAMcAAHMAADgBACoAAJEBAPz//6YBAMf//00BAKP//3YAAIT//17//1///z3+/wT//zP9/0f+/2n8/0v9/yb8/0v8/6X8/637/+P9/3f7/1L//6n7/0oAAHf8/5QAANb9/4sAAIX//3QAAPoAACsAANoBAIP//wcCAK7+/7wBAC3+/z4BADb+/30AAJf+/4H//xX//33+/3v//8v9/73//579/+r//7n9/xwAAPf9/z8AADj+/ykAAIP+/8z///L+/2n//2f//1j//9v//33//0AAAIP//5QAAFb//9sAACL//xcBADb//yEBAJf//+EAAOT//2MAAOP//8f//8T//0r//9T//w///zsAAAz//9wAAFP//2sBANH//9ABAH0AADcCAEgBAIACABgCAGcCAMsCANwBADgDAB0BAHYDAIsAAG8DADIAAAoDABQAAE0CACcAAGgBAHoAALQAAPEAAGcAAIoBAIYAACsCAOkAAMgCAIIBAGMDAEsCAPMDACUDAHEEAPMDANEEAHQEANgEALoEAJQEAPoEAAoEACIFAHADABoFAPcCAMcEALcCADcEALACAIgDAKkCANcCAHsCADMCAEsCAKYBACQCAEABAA0CAP0AAPsBAN8AAAICAN8AABQCAA0BABsCAGQBAP8BAM8BAMMBAGACAIwBAPUCAGYBAGIDAFABAIgDADwBAEwDABIBALgCANMAAPQBAI4AABABAG0AADUAAGMAAHT//1EAAOn+/zkAAJ3+/xYAAHn+/97//2f+/5v//1b+/2D//z/+/zL//xX+//D+/+f9/2H+/8H9/7f9/5z9/x39/3b9/4/8/1/9/w38/2P9/6z7/2r9/3T7/1z9/0z7/yT9/zD7/8z8/zj7/0r8/2X7/777/6j7/2H7//L7/0L7/yL8/0n7/1r8/3T7/8b8/9H7/zf9/0f8/0b9/738/xb9/xf9/wD9/0X9/wv9/039/yb9/zj9/zP9/wL9/y/9/7b8/xL9/3b8/9P8/3j8/4P8/6H8/0f8/9L8/yP8/9v8/x78/778/0T8/5D8/5X8/2j8/+78/2r8/1T9/7j8/7r9/0H9/2v+/939/2r//5D+/xIAAE7//zwAAOf//xgAAFMAACoAAJ0AAHcAAKMAAMcAAD8AAC0BANn//1EBANz//1cBAA0AAG8BABgAAHsBABkAAKIBADQAALwBAD8AAJoBAFwAADsBAJgAAPEAAKAAAMYAAJUAAKEAAPcAAOgAAJIBAJEBAPABAAMCAD0CAAkCAMsCAAQCAC8DACcCACcDAB8CAPYCABYCANQCAFcCAGACAG0CAK0BAC4CAFoBAOsBAGkBANABAFoBANcBADgBAOUBAEkBAPsBAHMBAOUBAFUBAHsBACoBAPgAACgBAHoAABoBAAkAAAIBAKD//ygBAID//00BAIn//yIBAIT///8AAJz//yIBAOT//yUBAD8AAOcAAKUAAMEAABIBAMIAAGMBANoAAI0BACEBALsBAJkBAOIBAPcBAAwCAA8CADECAC8CAE8CAHYCAGoCALsCAHECAMICAGYCAJwCAFgCAKACAEQCAJECACkCAGgCAAgCAHMCAN8BAG8CALgBACsCAKUBAO0BAKQBAOYBALcBAPoBAN8BABgCABoCADoCAGACAFACAKMCAG8CAL8CAIwCAKkCAIkCAH0CAHoCAD8CAEUCAPABAPUBAJoBAMYBAEMBAHsBAO0AAO0AAKkAAGgAAG4AABoAADcAAOb//wMAALj//9T//4b//6X//0b//3L//xn//yH///j+/7X+/9L+/1X+/8P+/wj+/7X+/9P9/6v+/7j9/8/+/7X9/83+/8D9/3v+/9n9/xv+/+j9/9z9/+X9/6r9/9H9/4T9/7f9/2/9/6X9/2X9/6f9/339/6r9/579/7P9/6r9/9f9/7X9/wT+/6j9/yf+/5P9/zD+/7D9/xn+/739/+b9/5L9/6r9/2n9/2f9/2H9/yr9/1P9//r8/zj9/+P8/xf9/+f8//L8/wb9/+78/yT9//38/z/9/wn9/3D9/yT9/6z9/zH9/+X9/0j9/xf+/6b9/0D+//z9/2H+/yX+/4v+/1j+/7b+/6P+/+D+/9f+/wH///D+/xj//+v+/yH//8j+/x7//7n+//v+/9r+/8b+/xD//7P+/yn//8b+/zL///D+/1z//yr//5f//3f//7L//8v//9P//w8AABEAAFUAAE0AAKIAAIUAAOIAANcAACYBABEBAHQBABUBAKkBABUBAMABADABANUBAEsBAN8BAGkBAOcBAJYBAOcBALwBANcBANQBAMkBAN4BAMgBAAECAK8BACACAJ4BACACAKIBAB0CAKoBAC8CAJkBADsCAHEBADMCAGIBADQCAI4BADgCANgBAEwCADQCAGICAIoCAF4CALsCAEUCALUCADQCAJ8CACECAIYCABYCAGwCABcCAFUCAB4CAFQCAAYCAG8CAMkBAH4CAH8BAGUCADsBABwCABcBANIBAPsAAH8BAPQAAAcBAPIAAJsAAPIAAGAAAO4AAC8AANkAAAQAAMEAAOL//8UAANb//+gAANv//xYBAOb//x8BAOz//+8AAP///3kAABgAAPH//yIAAH///zUAACr//1IAAPD+/1UAAN/+/0oAANr+/y8AANT+/xMAAMX+/9///7r+/4b//7L+/xz//8/+/7j+//X+/1j+/zj//wn+/2b//9L9/5r//7r9/4H//8D9/1f//9L9/wv//+r9/8f+//f9/2r+/xT+/wz+/zT+/8D9/2n+/4/9/6b+/4P9/+X+/6b9/w7//+f9/xn//zz+/xr//4T+/xP//8n+/wz///3+/wv//z////v+/1///+z+/3L///z+/3P//xz//3D//z3//1z//07//07//0v//yT//zf//w///wv///f+/9n+//n+/6b+//H+/5f+//b+/7j+/w3///v+/yj//z7//2f//4v//93//7z//04AAO3//7MAADEAAOEAAJsAAOAAAAcBALkAAF4BAJUAAIUBAHEAAHUBAG8AADQBAGEAAOQAAG0AAJIAAGMAAFsAADUAAEIAAPL//z0AAMH//zUAAML//yUAABUAAAMAAJwAAPL//xYBABEAAIcBAG4AAMIBAOsAAMMBAGMBANUBAMMBAAICAOgBAFACAOkBAJsCAO0BANkCAAgCAOkCACQCANACAEYCAIkCAFgCAC0CAGICAMYBAE8CAH4BACECAIwBAOEBAMYBAMABAPQBANsBAPkBABQCAN0BAGYCAJ4BAIcCAGYBAEcCAD0BANMBACsBAGMBABABAAoBABkBAMgAABcBAH0AAAQBABEAAMQAAMv//3sAAKf//yQAAJL//+j//5H//7j//5P//4r//2b//03//y3//xv//yn///j+/2P//93+/5L//6/+/4H//4L+/y3//2b+/7z+/17+/2j+/1z+/17+/1b+/6j+/0T+/wf//zL+/0z//0P+/2r//4j+/1n//+f+/w7//zz//4b+/4X//+f9/5P//4z9/1L//8H9/7z+/z7+//T9/6H+/z/9/6r+/9b8/2L+/8/8/9T9/xX9/2z9/3P9/2n9/6X9/9D9/6H9/yD+/1/9/x3+/y/9/9b9/z79/7P9/6D9/9P9/zn+/xH+/8v+/0X+/yf//2D+/0L//3f+//r+/6r+/2/+/9T+/wH+/8j+/+T9/5/+/w3+/3H+/3H+/2/+/wH//7v+/4f//yL//8j//3r//9T//9X//wMAACIAAHMAAE0AAOwAAH8AAE4BAKoAAIkBAMIAAKoBAPYAALUBAEQBAJsBAHEBAIIBAJ0BAF4BAMABACkBAMABAB0BAJ0BAB8BAFsBAPgAACMBAMQAACUBANgAAFUBACsBAIUBAIUBAJYBAOEBAKcBAB8CANEBACACAAcCADICAC4CAHACADsCAIYCAEECAGQCADICABcCAAMCAPcBALcBAA0CAGIBADECABIBAO0BAMcAAAkBAJUAAHQAAIMAALsAAJgAAEkBAOYAAFwBADwBAF4BAD8BAG8BAAgBAIQBANcAAL0BAOMAAOYBAB0BAKwBAEABAPgAAPMAAFMAAFgAABkAAEEAAGAAAMQAAMoAAA4BAIIAAKoAAJn//9j//xD//xr//33//6z+/9T//3r+/0v//yz+/xX+/5z9/yj9//r8/yj9/6z8/7j9/xT9//b9/9X9/4j9/0H+/wn9/wr+/yz9/879/wX+/wj+/+D+/6j+/1L//1z//2L//8j//2z///b///////f//7MAAC8AAOIAALoAAJkAADcBAFwAAFkBAFMAAAYBAEUAAIIAAAAAAC4AAHD//x4AAM3+/9T//4L+/xn//5X+/3v+/5D+/1z+/0j+/3L+/yP+/2D+/2D+/0v+/8X+/0v+/93+/1L+/7/+/4L+/6b+/8/+/8f+//L+/x3//xn//3L//3P//6v//9D//8X//xAAAP3//ysAAHMAAGwAAPcAANwAADwBADEBAC0BAFcBAN8AAEABAKEAACgBALMAAC4BAP0AAFABADEBAIkBADIBALgBAEwBALIBAKIBAJIBAOgBAIQBAO8BAKkBAMcBAPMBAIQBABICAF8BAAcCAH4BAO0BAMQBAN0BANcBANgBAKcBAMEBAJEBAJ4BAJwBAIIBAJYBAHABAHABAHcBACEBAIEBANgAAG8BAMoAAD4BAOUAAP4AAPQAAOQAANEAAN0AAJYAAMQAAGYAAH8AADwAABEAABsAAMf//87//77//3j///H//2f//zcAAI7//14AANL//18AABcAAEcAAEYAAC4AAGUAAAkAAH8AANT//44AAKj//3YAAIn//zoAAHD//wMAAFH//8z//x///33///z+/xH//9j+/5X+/8v+/yv+/8b+/9P9/7T+/3j9/4X+/yr9/zP+/wX9//v9/xb9/739/1X9/139/4z9/xP9/579//D8/5n9/x79/7T9/0/9//L9/2/9/yr+/5z9/1D+/6v9/3b+/+L9/7D+/y3+/+r+/4v+//v+/+r+/+j+/yn//8v+/2v//9L+/4X///T+/3P//yb//2H//2D//3b//5f//7L//7z//9///9P//+n///n//9b//zgAAKv//4cAAH3//8wAAHH//9wAAJD//7QAAM7//4AAAA8AAGAAAFcAAEYAAKYAAEAAAOMAAFEAAAsBAHIAABIBAK0AAP8AAPgAAMIAACoBAGYAABoBACUAAMkAAAUAAGgAABMAABgAAPv//xMAAKP//08AADX//3IAANL+/1kAAM3+/woAAP7+/7z//0L//3z//1z//zL//0b//+3+/0X//6/+/2///7j+/8f//zD//zMAANz//6MAAGwAAAwBAMYAAFwBAPYAAKcBABkBAP4BAEMBAEcCAHoBAEkCALIBAPUBAMkBAEgBAMMBAHEAAK4BAL7//2QBAFP///AAAEj//08AAGL//5f//3P///j+/3///5v+/5T//5f+/+H//7D+/2oAAPP+/yABAI///7QBAHYAAPABAH8BAM4BAHQCAKcBAAsDAMIBAC4DAEACABsDANwCAAIDAD0DACoDAEQDAEADABYDAAEDAMECAGoCAFICAHoBAAECAIgAAOQBAOX///IBAJ7//8UBAHf//zcBAHT//2EAAIv//3r//+b//+/+/58AAAn//1MBAKr//60BAD8AAI4BAIsAACMBAJAAAMMAAHcAAFcAAG0AAN3//5kAAG///08BAD3//1QCAIj//+ICAE0AAHwCAPAAAAkBANMAACz//+L///j9/5n+/0j+/w/+//T//8/+/34BAMUAAH4BANICALX//7YDAA39/9sCAAr7/2cAAOL6/3P9//b8/2L7/1cAADn7/1YDANj8/4kEAFn//4oDAE0BADYBAKMBAC///3wAAG/+//f+/9T+/z/+/zr//+X+/w///5EAAB3+/woCAAv9/1kCAF38/woBAE78/3z+/7T8/537/0X9/5/5/+j9/zr5/5D+/0v6/9P+/7b7/3H+/4P8/279/0P8//j7/5H7/7D6/2n7/0/6/5j8/9T6/wP//yT8/3ABALP9/9UCAOb+/3gCACv//7EAAKP+/1T+/xf+/zb8/zL+/2/7/yn//8z7/2cAAEn9/6ABANr+//YBAN////cBABYAAF8BAHX//8QAAFf//y8AAC4AAKb//3kCAEv//7AEAK7+/08GAHH+/+AFAGT+/wUE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AOAAAMUBAB0BAAQCAGIBAAsCAI0BAK4BAJoBAGEBAJMBAFYBAIoBABwBAMABAA4BAPMBACcBAPIBADYBAMwBAC4BAIMBAEIBABMBAEEBAKgAAAsBAGoAAOIAAFEAAJgAADgAAEEAAB8AAN7//9L//1j//2L//9n+//7+/1f+/9D+/+39/7H+/5r9/5f+/3j9/3f+/4z9/x/+/6b9/739/979/2v9/xD+/x79/zL+/+j8/1b+/9P8/2X+//T8/3n+/zP9/4b+/5r9/5X+/x3+/7P+/7H+/9f+/y3//+L+/43//9X+/9///8r+/xMAANz+/ycAAAr//0wAAGT//44AAOT//7QAAHUAAOEAAA4BAAYBAK0BABoBACwCADABAHYCAFsBAKkCAIYBALwCALABALoCAOwBAKkCADMCAKMCAIMCAKsCANcCAMECAEEDANsCAIgDAN8CAJYDALsCAIADAIoCAFkDAEcCAC8DABsCAAYDAAsCAOoCAPUBAL8CAOcBAG4CAPABAP0BANQBAF8BAHcBAMYAAOoAAD8AAFQAANj//73//3v//zb//xb//9T+/6L+/2/+/xH+/wf+/5z9/7b9/z39/379///8/zr9/+j8//b8/+78/8H8/wH9/5z8/w79/4v8/x79/6H8/0b9/+P8/2X9/yv9/2D9/4L9/yb9/9X9/xX9//j9/z/9//v9/0b9/+v9/2r9//D9/5X9/wX+/9b9/0L+/yn+/6P+/5H+/wT//+v+/1L//yz//5b//4j//+j//7X//zcAAPX//5UAAHYAAAgBAPsAAHsBAHcBANYBANEBACcCAAsCAGoCADQCAIICAH0CAHoCALwCAF4CALsCADYCAMoCABYCANgCAOsBAMsCALgBAJMCAJgBAF4CAIIBACsCAJ8BAPQBALwBAN0BAMMBAJsBANIBAEYBANABAN8AAMEBAIwAAIoBAG8AAIEBAGwAAFQBAIMAAAEBAKwAALMAALcAAEsAALMAAOX//6MAAHL//4wAACD//1wAAMD+/ywAAIv+/wUAAI/+/8v//7P+/3///8X+/y///8z+/+b+/+n+/5z+/yf//1X+/2r//yv+/6T//xf+/7H//wr+/6L//x3+/7P//0/+/7X//5H+/5///9r+/4X//zH//4T//43//4b//+D//2L//zIAAED//3AAACj//4MAABD//34AAPD+/2cAAOP+/zoAAOT+//n//+3+/7f//x3//3z//1n//zv//4X///j+/8L//7b+//3//4D+/yEAAF7+/00AAFT+/1oAAG7+/1wAAKb+/0kAAPD+/y0AAE////f//77//53//0QAAEP//8UAAOT+/y0BAJz+/3ABAGP+/38BAFj+/1sBAHT+/xgBALn+/88AAEL//3wAAMv//xcAAFcAAKb//+IAADL//1gBAMn+/8QBAIn+//EBAI7+//wBAMn+/+sBACz//6gBAKr//1MBADIAAOUAAL4AAGoAAEwBAOr//98BAIf//1wCAE7//6MCADn//7UCAFf//5gCAKT//1ACAPn//+EBAFQAAGABAMMAANgAAD0BAEMAAJQBAKP//8MBABr//9QBAMH+/7wBAJX+/5ABAJT+/1YBAL7+/xUBAAD//8wAAFD//5IAALL//1kAACYAAAgAAJ0AALf//wsBAJP//2cBAJ3//6gBAJ///84BAJ7//9gBAKf//8EBALH//38BAMT//w8BAPL//4QAAA4AAO///9z//1X//7f//77+/8j//zD+/9j//6n9/9P//zD9/63//9v8/1D//778/9L+/9j8/3j+/xj9/0T+/3z9/+T9/+39/1r9/1/+/wH9/8z+/+38/yn///j8/3P//xv9/6T//039/7v//339/7X//879/5r//2j+/37//w7//1r//6H//y7//zUAAAL//6kAAOX+/88AAOj+/wABABv//4EBAIj//8cBAC0AAHkBAMQAABkBAB4BAFcBAH8BAOgBABkCADQCAM8CAFQCAGYDAHoCANsDAMcCAAsEABcDALEDAEoDAGIDAHMDAKUDAHYDANsDAGMDALMDACUDAF4DAL0CANkCAFcCADQCAN4BALABAEUBAGkBAKAAAAsBABgAAFQAAKL//3r//yr//8X+/7z+/07+/1v+/w/+/xH+//T9/wj+/7r9/yL+/1T9//D9/+78/4b9/7H8/0D9/8v8/zX9/yj9/yn9/3P9/xj9/379/yr9/4T9/1H9/639/3/9/+39/779/yP+//39/0X+/yH+/1r+/0r+/2H+/5D+/3P+//D+/67+/0z//wX//43//1f//7///6H///b//+v//y8AADYAAGcAAIQAAKEAAM8AAOcAABMBACsBAD8BAFsBAEUBAIgBADMBALsBACQBAOYBACkBAPoBAEcBAPYBAHgBAOYBALEBAL8BAN4BAIEBAO0BAEsBAO8BACsBAPMBABoBAAACABABAA8CAA4BABMCABkBAAQCABwBANYBAA8BAIoBAAEBADgBAPQAAO8AANkAAKwAAKkAAGMAAG8AAAoAADUAAKb//+r//zz//5L//9/+/0T//6v+/wL//6b+/8r+/73+/5/+/9f+/5T+/+H+/6z+/93+/8/+/83+//b+/8T+/yf//9z+/1f//xX//3j//1///43//6b//6f//+T//8j//xoAANn//z4AAOH//1MAAOv//1kAAPT//0EAAAAAAAoAAA4AAMf//yIAAI3//z0AAGf//0wAAG3//10AAJj//4UAAMr//7oAAPn//9gAADAAANAAAG8AALUAAKMAAJ8AAMIAAJYAAM0AAJEAANgAAHwAAPIAAFIAABABACkAACkBABwAADEBAC4AAB4BAEsAAPkAAF4AAM4AAGAAAJQAAGgAAEcAAHkAAPL//4UAAKL//3oAAGX//1oAAFD//zgAAGP//yMAAH7//xsAAJ3//wsAAMj//9z//+z//47//+v//zP//8f//+b+/5P//67+/1z//4f+/yb//2H+//v+/0P+/+X+/z/+/+L+/03+//D+/2r+/wj//4/+/xX//7v+/w////X+//n+/0b//9D+/5v//6H+/97//4f+/wEAAJ/+/w4AAOX+/xEAAEn//xAAAL3//xEAAD4AABUAALUAABkAAAoBACMAADwBADwAAEMBAFgAACgBAHEAAP8AAIYAANkAAJUAAMAAAJ8AALQAAKMAALQAAJ0AAMAAAI8AANIAAI0AANgAAJ8AAMIAALwAAJkAANkAAHQAAOgAAFYAANsAAD4AALoAADIAAJEAAC8AAFoAADYAAB0AAE8AAOj//3cAAL///5cAAKT//50AAJP//4MAAI///04AAJD//w0AAJH//8v//5r//5b//6f//2///7j//1n//8v//1T//9P//1H//9H//1D//8b//0r//7f//0L//57//zX//3r//zX//1z//zn//0v//zP//0///yf//2H//zT//3r//1T//5H//4H//6z//67//8v//+L//+///wQAABEAAAQAADwAAPL//2oAAOf//5oAANb//7sAANL//8gAAOz//8wAAA0AALIAACgAAH0AAEEAAEsAAEQAACgAAD0AAP3//ywAANH//wUAAMn//+P//93//8T//+X//5f//+z//33//wwAAIr//zgAAKX//1kAANL//3EAABIAAJYAAEkAALoAAHEAAMgAAI8AALkAAJMAAKUAAIQAAJcAAHoAAHsAAHAAAEoAAFoAABcAAFYAAPf//00AANv//zIAAL///yAAAKn//wwAAKb//9r//6j//7X//5v//6D//53//4X//6z//4D//7n//5T//8H//6f//9L//8P//+X//+r//+L//woAAM7//xwAAL3//yoAALX//y0AAKn//y4AAJn//zkAAJn//0cAALL//2QAANb//5EAAP7//7UAADUAANcAAHMAAPUAAJ0AAPcAAL0AAOYAAOMAAOUAAPMAANQAAN8AAKgAAMIAAI0AAKkAAIEAAHwAAGUAADoAAFYAAAAAAFgAAMv//0cAAJv//ykAAHT//xQAAFz///P//0n//9D//z7//7X//z///5v//1D//43//3X//5D//5n//4P//63//4H//8T//5P//9///5///+L//57//9r//7j//+f//8r///j//8///wMAAOn//xsAAAwAADUAACQAAEgAAEMAAF8AAF0AAHkAAGIAAIgAAG0AAJwAAIEAALYAAIMAAL0AAIUAAMYAAJEAANAAAJEAAMkAAI8AALwAAJcAALMAAJYAAJoAAH8AAHcAAGkAAFUAAEIAACwAAAIAAP3//77//8///33//5z//zb//2n//wL//0D//9f+/xP//6v+/+n+/4j+/9D+/3b+/7r+/2r+/6r+/2/+/7X+/4X+/8v+/5/+/97+/7n+///+/97+/yb////+/zz//yT//0///0f//2j//2b//3T//3///4H//5b//5z//6f//7X//7T//8P//8f//9v//9T///P//+b//wUAAAUAAC0AAC8AAGEAAFQAAIoAAHkAALkAAJ0AAOYAALYAAPYAANAAAPgAAOcAAAQBAO8AAPkAAOkAAN0AAPEAAM4AAPYAALgAAO8AAI8AAOoAAHQAANwAAGYAAMQAAFMAAKwAAEoAAJwAAEsAAIgAAEsAAHgAAEcAAG0AAFgAAGIAAF8AAF8AAEsAAGEAAE8AAF4AAFgAAFwAAFAAAFsAADgAAE8AACgAAEUAAAgAADoAAOf//ykAANX//xwAAM///xgAALv//xAAAKv//wYAALL//wEAALv///X//8f//+r//9X//+T//+P//+T//+P//+P///X//97//wQAAN7//wwAAO7//xkAAAMAACQAABMAACYAACQAACkAAC8AADEAADYAAC0AADYAACQAADMAABMAACgAAAUAABQAAPn///7//+///+n//+v//9r//+r//8z//+j//8z//+3//9X///f//+P///3///n//xEAABEAADUAACEAAE4AACsAAGcAAD4AAIIAAEwAAIcAAFIAAHQAAFMAAGAAAEUAAEYAAC0AACAAABMAAP3///n//97//9j//7r//7v//5z//5v//5j//3v//4L//2X//2n//1X//3H//0j//33//0j//3z//0n//3z//0X//4X//0b//3v//0T//3b//z3//3b//0D//3H//0v//1H//1D//zv//1n//zH//1///y7//1///zT//2T//0j//3D//13//4L//3L//5H//53//5f//7z//6H//9n//7T///j//8T//xEAANT//x4AAOz//zQAAAUAAEgAAB4AAE0AADgAAE8AAFAAAEsAAF8AAEoAAHAAAE0AAH8AAFAAAJMAAE0AAKMAAFAAAKsAAFYAALIAAF0AALIAAGcAAKwAAHIAAKQAAH4AAKEAAIQAAJ8AAIgAAJUAAIkAAIsAAIoAAIcAAIkAAIUAAH4AAHoAAG8AAG4AAF4AAGgAAEgAAFoAACwAAEUAAAsAAC8AAOL//xYAAL7///f//5///+H//4H//8P//2f//6j//1r//5j//1r//4z//2P//4L//3P//4f//4r//5r//6b//7H//8P//8b//+b//97//w4AAPv//zMAABUAAFcAAC0AAH0AAEMAAJ0AAFsAALYAAHUAAMsAAI0AANUAAKIAANcAALYAANgAAMQAANoAAMoAANsAAMgAANoAAMMAANYAAL8AAMsAALcAAL4AAKoAALAAAJoAAJ0AAIcAAIEAAGsAAGQAAE4AAEwAADAAADMAAA0AABUAAOL//+///7P//8D//4T//5n//1b//3r//yv//1n//wX//zb//+r+/xr//9v+/wj//9n+///+/9f+//z+/9P+//T+/87+/+f+/87+/+L+/9X+/+/+/+P+/wD///n+/w///xP//x3//zH//zT//1H//1f//3L//3v//47//5P//6P//6f//7b//8P//8P//+D//8r///j//9f//wgAAOr//xYAAPX//yUAAAEAAC0AABIAADEAAB0AADUAACkAADIAADcAACQAADsAABAAADMAAP3//zIAAPL//zUAAPH//y0AAPH//yMAAOn//yMAAOL//y4AAOb//zcAAPP//zsAAP///0MAAA0AAEMAAB4AAEgAADIAAGUAAEwAAHwAAGUAAIUAAHUAAJIAAH4AAKIAAIgAAKgAAI4AAK0AAIsAALIAAIMAAKgAAHgAAJMAAGcAAHkAAE4AAGMAADkAAEsAACkAADAAABoAAB4AAA8AAB4AAAsAACMAAA4AACEAABoAACYAACsAADsAAD4AAFcAAFEAAHEAAGIAAIkAAG8AAJgAAHwAAJUAAIUAAJUAAIkAAKAAAIYAAKMAAIAAAJMAAHYAAIAAAGgAAHAAAFMAAFIAADgAACYAAB4AAPf//wkAAMn///b//6X//+T//5X//9P//4j//8b//3r//7r//3X//7b//3///7z//5D//8j//6f//9T//8v//+H//+3///H//wcAAAQAAB0AABgAADQAACsAAEoAADsAAFgAAEQAAFgAAEUAAE0AAD8AADsAADEAACAAABoAAPj//wMAAND//+7//6v//9f//4H//7r//1b//5v//zL//33//xf//2P//wT//0////7+/0P//wX//zv//xD//zz//xr//0f//yb//1f//zb//2v//0z//37//23//4///5P//5r//7L//6T//8T//7L//8n//73//8f//8r//8j//9b//9L//93//+H//93//+7//9f///H//9T///L//9f///f//93//wcAAOj//x0AAPD//y4AAPD//zMAAOj//ysAAOD//xYAAOP///j///T//97//wwAAM///ykAAM7//0cAANn//2QAAOv//3sAAAIAAI4AACYAAJsAAFoAAJ4AAJcAAJoAAM8AAIgAAPsAAGwAABYBAEgAAB8BACkAAB4BABMAABkBAAgAAAcBAAwAAOcAAB8AALsAADwAAI4AAF8AAGcAAH8AAEoAAJkAADgAAKcAAC8AAKUAAB8AAJcAAAMAAH8AAOL//2MAAMv//0UAAND//ygAAO///w0AABcAAPb//zoAAOb//08AANz//1sAANv//2oAAOj//5EAAP7//68AABoAALMAADIAAIkAAEIAAEkAAEkAAC4AAEgAAEsAAEIAAG0AADYAAD4AACIAAOf//wkAAKL//+v//67//9P//8X//8b//5P//8b//xb//9L//83+/+X////+//r//5L//woAAOb//xMAAMP//xEAAJb//wQAANX//+3//4EAAMn//98AAJ3//38AAHP//6j//1f//xz//1H//0P//1v//77//2n//8T//2///zv//23//8v+/3b///T+/5P//4j//8P//6T///T//yL//w4AAJ7+//z//8j+/7r//5j//1j//y4AAAP//+3//+X+/zX//w7//8v+/2b//yb//77//+n//+j//10AAN///0sAAMX//+b//8b//7P//////93//2IAAD8AALkAAJoAAMoAAL8AAH4AAMAAAPL//8wAAHD//7kAAD3//yoAAHr//yT///3//2X+/34AAIz+/8EAAGD//74AADEAAI0AAIgAAFYAAIAAAEIAAJAAAFoAAPAAAIEAAFkBAIcAAIIBAEgAAD8BANn//8AAAIX//1oAAJb//yEAABEAAC0AAK4AAG8AAB8BAL4AAEEBANwAACgBAMkAAAABAJ4AAOEAAGEAAM4AABsAALwAAOD//5oAANr//0oAAPv//7z//yAAABP//z8AAKD+/zgAAKT+/w0AACz///H//+3//97//4MAAKv//7sAAHv//54AAHX//1wAAMP//yQAADcAAP7//5EAAOj//6UAANb//2wAAMX//yYAALv//+P//6///7X//6r//4P//6r//2T//7P//3b//83//8D//+j//wIAAPv//wcAABMAAOn//0QAAOn//38AACgAAKUAAHAAAJQAAF8AADwAANr//7P//1v//z7//0///w3//7v//yj//////3b//8j//87//2D//x0AAEX//0wAALD//1IAADAAADEAAFQAAP///zQAANr//yIAANb//1gAAO7//6sAAAgAALMAAA8AAGIAAPj//+///77//6j//3H//4D//yz//0L//wv//8v+/x7//zr+/1////b9/7H//1b+//b//xr//xYAAJb//xMAAHb///P//0X//8f//5j//6T//1QAAJn///wAAJ3//zoBAKT//ysBALT//zIBANz//2cBACQAAIcBAHgAAGYBALIAAPYAAMAAAHMAALUAABcAALoAANL//9UAAKP//+4AAID///AAAFv//9MAACb//58AAAz//08AACP//9///1X//1z//4X//+3+/6///7/+/+z//8n+/ygAAOj+/10AAAP//5AAACL//6cAAFj//6oAALX//74AABUAALoAAFsAAHcAAIcAABoAAKwAAM3//9oAALb//wcBAKn//xoBAKf//xABAJj//+wAAIP//8YAAJD//50AALf//2UAAAUAACAAAFwAANH//7oAAJ///wYBAJ3//0EBALX//04BAMz//yoBAN////UAAPv//8AAABkAAIYAADkAAFAAAFEAABsAAF4AANv//18AALL//4MAAJH//8AAAHr///YAAGD///gAAFf//8IAAHT//3sAALn//0AAABgAABYAAHUAAOj//90AAMH//zMBALL//1gBAM7//y8BAPT//+MAAAAAAJQAAOv//1AAAMb//xIAALL//87//7T//4z//7r//1X//7r//xz//8b//9r+/9n//5T+/+r//1n+/9r//03+/6L//3L+/2X//67+/zn//wX//zP//3X//0n//+z//4T//08AAMT//48AAOX//6YAAOn//5oAANn//3kAAMn//1oAAMP//zIAAMn///b//9X//8D//+H//5X///D//2f///j//yf//+P//+L+/7D//6z+/3b//5D+/1D//5T+/0P//8P+/0f//xb//17//4L//4n//+z//8L//0AAAO3//3YAAP///5cAAPj//6kAAO3//7AAAO3//7QAAAEAALcAACQAAKsAAEwAAIYAAGoAAEsAAHMAAAwAAF0AANf//yUAAK3//+v//4r//8f//3T//8D//3r//9L//6D///L//9j//xAAABEAACAAAD0AABkAAFgAAAcAAG8AAPv//5QAAAMAAL4AACwAAOcAAG4AABMBALsAAD4BAPsAAFsBACABAGIBACQBAE0BABIBABgBAPoAANoAAOcAAKoAANsAAJAAAM4AAHsAALwAAGEAAKAAAEEAAH4AACUAAFQAAAYAACMAAOr//+r//93//7P//+X//5H///r//4j//xIAAJ3//zAAAMv//0YAAAsAAE0AAEoAAFYAAHsAAGwAAJEAAIEAAIkAAIMAAHMAAG8AAGQAAEUAAGAAAAwAAGQAAN7//2IAAMD//0kAAKL//xQAAHn//8v//1b//4P//z///0f//zP//yD//zr//xj//1L//y///3P//2X//5v//6L//8v//9j///v//wIAAB0AABkAACgAAB0AACUAAAgAABQAAOz///7//9r//+X//83//8r//8b//6v//7n//4H//6H//0r//33//w3//03//9n+/yL//77+/wf//8H+/wL//+T+/xb//xr//z3//1X//23//4f//5b//6j//6///8D//7L//9T//6n//+T//57//+3//5r///X//6b//wMAAL3//xQAANP//yUAAOf//ywAAPH//x0AAPL///f//+///8n///L//7H//////77//xoAAOf//0YAABcAAHAAAEEAAIkAAFoAAJEAAGoAAIwAAHsAAHwAAIwAAGMAAJYAAEUAAJIAACgAAIYAAA4AAHMAAPr//2EAAO///1EAAOv//0AAAOv//y4AAOv//xcAAPD//wEAAPj//+///wgAAOj//yUAAO///0wAAP///3gAABYAAKEAACsAALgAAEMAALQAAF0AAJwAAHgAAHoAAIwAAFwAAJEAAEIAAIYAAC0AAHEAAB8AAF8AABkAAFwAABUAAGMAABAAAGYAAAgAAFsAAAEAAEQAAAEAACYAAA4AAA4AACUAAPz//z8AAPD//1IAAOf//1YAAOD//0kAANb//ysAAMX//wUAALP//+H//6X//8r//6T//8P//7L//8v//8z//9v//+///+3//xMAAPr//y8AAAMAAD0AAAkAAEEAAA8AAEMAABUAAEkAABwAAE8AACYAAEsAAC4AADgAACsAABIAABsAAOL//wMAALT//+P//4n//77//2X//5v//0X//33//zX//2z//zX//2f//0T//3L//1v//4j//3T//6D//5D//6///7D//73//9b//8j//////9T//ycAAOf//0oAAP///14AABoAAGIAADIAAFUAAD0AAEEAADYAACsAACUAABYAABAAAAEAAP7//+T//+3//8H//9v//6L//8///4///8r//4v//8r//5D//8b//5P//7v//5X//6z//5f//57//6L//5f//7j//5r//9X//6b//+3//7v//////9L//w8AAOj//xsAAPb//yMAAP3//ycAAAAAACUAAAYAACIAAA8AAB0AABkAABUAACcAAAsAADQAAAIAADsAAPb//zgAAOz//ywAAOX//xkAAOH//wgAAOb///7///b///3//w4AAAUAACcAABMAADsAACAAAEgAACYAAFIAACUAAFsAACcAAGkAADEAAHYAAEUAAH8AAF4AAIwAAHcAAJgAAIkAAJgAAJAAAI8AAI4AAHoAAIQAAFsAAHcAADwAAGkAACoAAFgAACAAAEcAABgAADUAAA0AACMAAP///xEAAPX//////+v//+z//+X//9j//+r//8z///z//83//xIAANr//yoAAPT//0UAABYAAFcAAD4AAF8AAGQAAGsAAH8AAHcAAIoAAHwAAIIAAHcAAHEAAGUAAGMAAEMAAFcAABwAAEwAAPv//zsAAN///xsAAMT//+z//6H//7f//4b//4b//3T//2D//2v//0r//2///0f//4P//13//5z//4f//7n//7P//+L//93//wUAAAEAABoAABcAACQAAB8AACQAABcAABoAAAsAAA8AAAYAAAUAAAQAAPP//wMAAOD///3//8T///D//5n//9H//2///67//0z//5D//zz//3z//0f//3z//2j//4z//5P//6r//8D//8r//+D//+P//+///+r///n//+D///7//83///z//7n///j//63///T//7H///b//7z///3//8b//wEAAM3///v//8v//+D//8X//7L//77//4X//8D//3X//83//4j//+r//7P//xcAAOL//z0AAAcAAFMAAB8AAFkAADMAAFYAAEgAAEcAAFwAADAAAGYAABgAAGQAAP///1sAAOr//00AANv//z8AANX//zMAANb//yUAANf//xQAANj//////+D//+v//+r//9z///3//9r//x0AAOT//0UAAPj//3IAAA4AAJgAACQAAKYAAD4AAJ0AAFoAAIMAAHUAAGIAAIgAAEgAAIsAADMAAH8AACMAAG0AAB0AAGQAABwAAGoAAB4AAHYAAB0AAHoAABoAAHEAABoAAFsAACMAAEMAADgAADEAAFUAACQAAHIAABwAAIQAABcAAIQAABIAAHMAAAYAAFIAAPX//ykAAOL//wUAANX///D//9b//+n//+X//+////////v//x8AAAYAAD0AAAwAAFAAAA8AAFYAABAAAFIAABEAAE4AABMAAE4AABcAAEwAAB8AAD8AACAAACEAABUAAPP//////8H//+L//5L//7///2f//5j//0L//3T//yb//1f//xr//0j//yD//0f//zX//1X//1D//2v//27//4H//4///5L//7H//6P//9j//7L//////8L//yIAANf//zoAAO///0MAAAYAADoAABoAACUAAB8AAA4AABYAAPn//wUAAOf///H//9P//+H//7j//8///5v//77//4T//7X//33//7T//4r//7j//6D//7z//7L//7z//8H//7f//87//7H//+D//7H///j//7n//wsAAMf//xQAANj//xcAAOr//xsAAPz//x8AAAkAACAAABEAAB0AABQAABYAABgAAAwAABcAAAAAABcAAPj//xsAAPb//yAAAPn//yYAAPv//ysAAPz//ywAAAAAACUAAAoAABoAABwAABAAADEAAA0AAEUAABQAAFYAACcAAGAAAD4AAGsAAFQAAHYAAGYAAIAAAHgAAIoAAIgAAI0AAJYAAI0AAJsAAI4AAJoAAIoAAJcAAH0AAJMAAG0AAJAAAFwAAIkAAEsAAHwAAD0AAGMAADUAAEMAACkAACIAAB8AAAQAABUAAOz//wUAANr///n//87///P//8n//+3//83//+///9v///X//+7///n//////wAAAAsAAAkAABEAAA4AABcAABIAAB4AABMAACcAAAkAAC8AAP7//zUAAPv//zMAAPn//ygAAPb//xYAAPf//////+3//+r//+P//9v//+H//9X//9r//9X//9n//9v//93//9///9n//9///9P//9b//9v//83//9X//8H//9D//67//9H//6v//73//6r//6j//6L//53//6r//4///6///3r//6P//3T//5r//3L//4///2T//4D//2///4j//3X//5L//3n//5H//53//6T//6r//7b//7H//73//9H//8P//93//8T//+v//77//wMAAMD//wQAAM7//wYAANb//wsAAOf///3///7///P//wEAAPf//wsAAO7//xMAAOr//woAAPT//w0AAPL//w0AAP///wsAABQAABYAABcAAB8AACIAACYAADIAACgAADcAAC0AAEcAADQAAFsAADcAAGIAAD4AAG0AAEMAAHMAAEcAAG4AAE0AAHIAAE8AAHIAAE0AAGMAAEkAAFQAAEEAAEIAADUAACwAAC8AAB8AACcAABkAACQAABQAACQAABMAACgAABUAADAAABcAADwAAB8AAEQAAC0AAE8AADwAAFUAAEkAAFcAAFoAAF4AAGkAAF8AAHQAAGIAAH4AAGYAAIAAAGcAAHgAAGcAAG8AAGAAAFwAAFgAAE4AAFEAAEcAAEoAADgAAEcAACcAAEEAABoAADwAAAcAADEAAPj//x4AAPL//woAAOj///r//+T//+n//+T//97//9z//9T//9D//83//8f//8r//7n//8f//63//8P//6r//8H//6n//8L//7H//8b//7///8z//8b//9D//8r//9L//8z//9X//8L//9P//7n//8v//7L//8P//6r//7j//6j//7D//6b//63//6D//6j//53//6D//5b//5j//43//5P//4r//5H//4v//4///5L//5X//57//5z//6r//6X//7j//7L//8b//7v//9D//8L//9n//8r//9///9D//+L//9X//+D//9n//9v//9j//9L//9n//8v//9j//8f//9b//8j//9P//9X//9L//+P//9H///L//9T//wQAAN3//xEAAOn//xoAAPP//x8AAP3//x4AAAkAAB0AABEAAB4AABQAACEAAB0AACYAACUAACwAACgAADMAADYAADoAADwAAEIAADwAAEgAAD4AAFAAAD8AAFgAAD0AAGMAAEcAAHAAAE4AAHYAAFUAAHkAAGMAAHoAAG4AAHgAAG8AAHYAAG0AAHMAAGYAAGwAAFwAAGQAAFwAAFoAAF0AAFMAAFoAAFMAAFwAAFEAAFgAAE8AAE0AAE4AAEYAAEcAADsAAEEAADUAAD0AADsAADQAAEIAACwAAEkAACcAAE8AACIAAE8AACQAAEUAACoAADcAACsAACwAACkAAB8AACsAABQAACkAABAAACIAAAsAABUAAAgAAP///wMAAOX///f//9D//+f//8P//9v//7r//9T//7X//9T//7H//9j//7X//9r//7z//9r//8X//9n//9D//9X//9T//83//9X//8T//9f//7z//9X//7b//8///7r//8n//8L//8D//8b//7T//8P//6f//7n//5r//63//4n//6f//3n//6H//27//5f//2z//43//27//4X//3T//37//37//3j//4n//3P//5b//27//53//27//53//3n//5j//4r//5L//6T//5T//7///6T//9b//7z//+n//9P///j//+X//wIAAO///wgAAPP//wcAAPf///////////X//wcAAOv//xAAAOb//xUAAOP//xgAAOT//xsAAOv//x0AAPn//yEAAAgAACgAABkAAC4AACoAADUAADoAADkAAEQAADcAAEcAADUAAEUAADIAAD8AAC4AADYAACoAACwAACcAACcAACwAACgAADsAACcAAFUAACwAAGwAAC8AAHsAADkAAHkAAD8AAG4AAE4AAGEAAFYAAFUAAF4AAEsAAGEAAD0AAF4AADEAAFkAACsAAFMAAC4AAFMAADUAAFQAADoAAFYAAD8AAFQAAE0AAFAAAGUAAEUAAH4AAEIAAIUAAD4AAH0AAD4AAG8AAEIAAGAAAEgAAE4AAEgAADMAAEgAABQAAEQAAPn//zwAAOv//y0AAOv//xwAAPX//wsAAPz///z///z//+3///n//9////L//9D//+r//8b//97//8D//9H//77//8T//8H//7z//8z//7v//9///8L///T//8v//wQAANf//wwAAOT//wYAAPD///f///r//+H///j//8v//+b//7f//8b//6b//53//5n//3r//5L//2b//43//2T//43//3f//5T//5j//6j//73//8D//9///9f///r//+X//wsAAO7//xUAAOX//xYAANr//wcAAMv//+n//8D//8D//7n//5P//7j//3f//73//27//8T//3r//87//5P//9T//7b//9j//+T//9H//xkAAM7//0cAAMv//1wAAMv//08AANP//ycAAOL///L///L//7r//woAAIT//xsAAGX//yUAAHH//ysAAKr//ysAAP3//ygAAE4AACMAAIgAABwAAKcAABIAAKwAAAEAAJ0AAPP//3wAAPH//08AAAEAACAAACIAAAQAAE8AAAAAAH4AABQAAKYAADAAAMMAAEcAAMQAAFAAALQAAFAAAJMAAFAAAGkAAFgAADsAAGgAAAwAAHwAAOH//4wAAMr//4sAAMr//3gAAOP//10AAAgAAEIAADEAADAAAFgAACIAAHcAABYAAI8AAAsAAJsAAAsAAJUAABoAAH4AADAAAFoAAD0AADAAAD4AAAkAADMAAOX//yEAAMn//wgAAL3//+///8D//9r//9D//9P//+v//9b//wkAAOH//yoAAPH//0oAAAUAAGIAACMAAGEAAEQAAEUAAF4AABQAAGUAAN3//1EAAK///yMAAI7//+r//3z//7T//33//4n//43//2r//6b//1L//8H//0z//97//1n///7//3X//xkAAI///y0AAKz//y8AAMH//xoAANH///b//+f//8v///n//6D//wsAAHv//yQAAF7//zgAAFD//zkAAFn//ywAAHn//wcAAKv//8L//9v//3X//wIAADL//xgAAAb//yAAABH//xUAAEn//wAAAJD//+T//+L//9D//yUAAMX//z4AALn//zMAAKf//xcAAJD//+X//4T//7b//4///6b//6z//6n//9b//8n//wIAAAEAACYAACoAAD0AADkAAEYAADIAAEEAAAwAACwAAN///xMAAML//wQAAL7//wIAANz//wsAACYAABsAAIAAACsAAMkAADwAAPkAAEQAAPAAADsAAK4AACcAAFQAABsAAAQAABQAAML//xoAAKP//ycAAKr//zEAAMv//zQAAPv//zgAACwAADAAAEAAABwAAEAAAAwAAB4AAAIAAOr//woAAND//yIAANf//z8AAAcAAFAAAFEAAFAAAJAAADsAALcAAB4AAMQAAAUAAMcAAO3//68AAOr//3gAAP///zIAADEAAOr//2IAALj//44AAKr//5wAALv//54AANv//44AAP///3YAABQAAFEAABoAACQAABYAAPT//wwAAMr///n//5///+f//3H//97//0z//+b//y///wYAADP//ycAAFr//ysAAKf//xsAAP3///3//0QAALr//3MAAHn//4sAAFP//4gAADr//20AAFP//zsAAJj//wEAAOT//8f//x8AAJT//00AAGL//1AAAC7//ykAAAv//+n//wv//6f//zP//27//3z//2T//8v//3D//w8AAH///0QAAJL//2cAALD//2wAAM///1gAAOr//xsAANf//+7//7n//9v//7D//+j//8r//+P///f//9b//zQAAKz//0kAAIz//1IAAHH//2MAAGX//2QAAG3//1MAAJn//yEAAO///+n//z4AAKb//3QAAIL//34AAIH//28AAI///0AAAKT//xQAAM7///7//wcAAAUAADUAACEAAFgAAC4AAF0AAC8AAFsAACQAAD8AAB8AAEEAAPb//zMAAMn//zcAALT//10AAOD//44AADEAAKYAAGcAAJEAAG8AAGsAAF4AADsAAGEAABcAAFYAAOT//0sAAML//zYAAKX//zsAAMb//2IAAB8AAIwAAIUAAIUAAKQAAFcAAJoAADsAAH8AABEAAE8AAOv//yoAANX//wkAANj///z///j///7//y0AACAAAFYAADwAAE0AAEoAADMAAEwAABsAADYAABYAAAUAAA8AANX//xAAAKr//woAAKP//wYAANn//wMAACAAAA8AAFsAAAMAAF0AAN3//0IAAMz//yUAAND//wsAAOL//+f///b//6///////3///wMAAGv///X//3n//9b//57//6f//7H//4P//63//3n//63//3n//6///4T//7X//6T//6///87//6L///X//6v//xUAAND//xsAAPn//xgAAAoAABQAAB0AAA8AACsAAAgAACwAAAIAACcAAAIAABoAAOT///j//7///9z//5n//7///4j//63//4T//6f//4j//6v//5n//73//8L//+D//+n///3//wkAAPD//yEAANv//y8AANv//zQAAOD//ygAAOb//xwAAPr//xUAABMAABIAACwAABgAAEgAAB0AAGUAAA8AAGQAAPn//04AAOD//ysAAND//w8AAMv//wMAANn//wEAAPj//wAAACYAABMAAFEAACsAAGsAADUAAHMAAC4AAHUAACYAAG4AACUAAGQAACkAAF8AADMAAGIAAEgAAGcAAGUAAGcAAIEAAFwAAJEAAEoAAJgAADUAAJIAAB4AAHoAAA0AAFcAAAoAADIAABAAABIAABoAAOz//yIAANX//yQAAMv//xwAAMz//woAAND///P//9H//+j//9f//+z//+f///b///X//wYAAAEAABgAAA4AACUAAB0AAB4AACkAAAoAAC4AAPj//zIAAPL//zIAAPX//ygAAP3//xsAAAIAAAwAAAcAAPX//wEAANP//+///7P//9j//5f//8j//4n//7///4r//7r//5P//7r//5///7///6r//8b//67//8j//7D//8T//7b//7v//8D//67//8r//57//9T//5j//9r//5///9n//67//9n//8D//9n//8b//9T//8P//8v//7n//7r//7T//6b//7r//5b//8r//5b//9v//6D///H//7j//wEAANT//wcAAOv//wcAAP///wIAAA4AAPr//xQAAPT//xUAAO3//xoAAOX//x0AAOP//x4AAOf//xoAAO///xIAAPT//wYAAPb///v//+////L//+v//+3///X//+n//wwAAOv//yoAAPX//0UAAAsAAFEAACQAAE8AADsAAEcAAFEAAEMAAGQAAEoAAHYAAFYAAIUAAGAAAI0AAGQAAIwAAF4AAIAAAE8AAG0AAD8AAFcAADkAAEEAADUAAC0AADAAABwAACgAAA8AABoAAAMAABEAAPn//xIAAPP//xwAAPP//yYAAPj//yoAAAMAACUAABIAABYAACAAAA0AAC0AAAkAADcAABMAAEAAACAAAEUAACsAAEEAACgAADcAABsAACkAAAkAABYAAP3///////b//+z//wIAAOD//woAANX//wsAAM7///7//8n//+f//8D//9D//7b//8T//7H//8T//7H//8///7j//9f//8b//9r//9f//9j//+b//9P//+7//9T//+3//9///+f//+r//+P//+v//+H//9v//93//77//9P//6L//8X//5T//7D//5v//5v//6///47//8L//47//8n//5j//7v//6f//6f//7H//6H//7j//7L//73//9f//8v///z//+T//wwAAAEAAP7//xkAAOL//ycAAND//yMAANj//xgAAPr//xQAACcAABoAAEMAACcAAEIAACwAAC0AACcAABcAABkAABAAAAwAACAAAAgAADcAABEAADwAACEAACMAACwAAPn//zMAANf//ygAANT//xUAAPL//wgAABsAAAgAADUAABwAADQAADAAACAAAEIAABEAAD4AABoAADEAADsAACkAAGMAADIAAHYAAEgAAGUAAFYAADsAAF0AABcAAEgAAA8AAC8AACgAABwAAE4AABoAAGMAACkAAFkAADoAADUAAEUAABMAAD4AAAsAAC8AACEAACMAAEAAACQAAE0AAC4AADwAADYAABUAADEAAPT//xsAAOz///7//wIAAO7//yQAAO7//zgAAPv//zAAAAkAAA4AAA4AAOv//wgAAOP//wAAAPb///z//xIAAPz//x4AAP///wwAAAIAAOP//wEAAMT///X//7///+H//9D//8v//+r//8L///n//8j///H//9P//9v//9P//8b//8r//8T//8P//9b//8f//+n//9b//+r//+b//9X///H//73//+3//7L//+X//8H//93//+D//9////r//+v//wEAAPT///f///n//+j///H//+P//+j//+3//9////r//97///3//9///+3//9r//8///9H//7P//8H//6v//7T//7f//7T//87//8f//+T//+P///H///v///j//woAAAMAAA8AABQAABMAACcAACAAADMAADMAADQAAEIAACYAAEMAABIAADgAAAUAACgAAAkAACAAABcAAB8AACMAAB8AACMAAB4AABcAABkAAAsAABIAAA0AAAkAABkAAAMAACkAAAYAADEAABgAAC4AAC8AACAAAD4AABIAADsAAAoAADAAABQAACoAACYAACwAADMAADAAAC8AAC8AAB8AACMAABMAABEAAA4AAAIAABUAAPz//xkAAP///xUAAAIAAAgAAP////v///T///j//+j//wEAAOD//xAAAOH//xkAAOj//xMAAPL//wMAAPj///P///n//+3///T//+7///P///T///j///f///7///P///3//+z///P//+f//+T//+n//93///H//97///n//+X///f//+r//+7//+n//+D//+L//9r//9j//9v//9P//+D//9X//+P//9r//9///+D//9r//+P//9f//+H//9v//+H//+T//+X//+7//+3//+////X//+j///r//93///b//9T//+r//9D//+D//9T//+H//93//+f//+L//+r//+L//+v//+D//+n//+D//+D//+b//9n//+7//9////b//+7///r///v///f//wEAAPP//wQAAPL//wcAAPT//woAAPr//w0AAAAAABEAAAAAABMAAP///wwAAAIAAAMAAAkAAP///w8AAAAAABMAAAkAABsAABEAACAAABcAABwAABcAABIAAA8AABEAAAYAABMAAAMAABUAAAMAABYAAAMAABcAAAIAABUAAAAAABAAAAAAAA0AAAIAAA8AAAYAABEAAAwAABEAABAAAA0AAA4AAAcAAAYAAAIAAPz///3///T///r//+7///n//+n///r//+j///z//+j///v//+v///z///P//wAAAAEAAAgAABAAABAAABkAABYAABwAABgAABgAABkAABAAABUAAAUAABEAAP7//wkAAPv//wEAAPz///z///7///n//wUAAPv//wwAAAAAABMAAAcAABcAAAwAABkAAA8AABUAAA8AAA4AAAsAAAQAAAQAAP7///z///7///b//wIAAPL//wkAAPH//xAAAPT//xQAAPn//xcAAAAAABYAAAYAABIAAAkAAAwAAAgAAAcAAAMAAAEAAPr///3//+3///n//+D///f//9f///b//9L///b//9T///b//9////b///H///f//wQAAPj//xUAAP3//yMAAAgAACkAABIAACoAABwAACQAACMAABgAACMAAAwAABgAAP///wgAAPj///f///b//+j///n//+T//////+r//wYAAPL//wwAAP///w8AAAsAABAAABEAAA4AABEAAAsAAA8AAAYAAAUAAP7///j///b//+v//+3//+D//+f//97//+b//+X//+v///T///b//wcAAAYAABgAABUAACEAACIAAB8AACoAABoAAC4AABcAACoAABcAACIAABoAABcAAB0AAAwAAB4AAAAAABsAAPf//xUAAPP//w0AAPT//wcAAPr//wIAAAUAAP7//xIAAP3//xsAAAEAAB0AAAcAABkAABEAABEAABwAAAgAACQAAP///yEAAPX//xQAAOv//wAAAOX//+3//+T//+D//+r//+D///X//+3//wMAAAIAABAAABYAABYAACYAABYAACwAABAAACUAAAgAABQAAAEAAP3///n//+X///T//9T//+///8z//+r//9L//+n//+T//+3///v///n//xAAAAcAABwAABUAABwAAB4AABEAAB4AAAAAABgAAOz//wsAAN3///v//9f//+v//9z//9z//+b//9D///T//8r///7//87//wIAAN3///////P///f//woAAO///x0AAO3//yYAAPH//yMAAPr//xcAAAgAAAYAAA8AAPX//w4AAOj//wYAANz///r//9j//+3//9n//+P//+X//+H///r//+f//xIAAPb//ygAAA0AADQAACEAADIAAC8AACUAADAAAA8AACEAAPj//wMAAOf//+T//93//8z//9z//8D//+X//8n///H//+D///////z//w8AABYAAB0AACQAACUAACMAACYAABcAACEAAAQAABYAAO///wcAAOD///b//9///+b//+f//9r///X//9T//wMAANf//wsAAOP//wwAAPT//wgAAAYAAAAAABIAAPj//xgAAPX//xYAAPX//xIAAPv//wkAAAQAAP7//wwAAPP//xAAAOn//w0AAOL//wMAAN////X//+T//+b///D//9///wQAAOb//xgAAPb//ykAAA4AADQAACYAADQAADUAACoAADQAABgAACUAAP///wwAAOf///H//9b//9r//83//8z//83//8v//9H//9T//9f//+T//+D///P//+z//wAAAPf//wQAAAQAAAIAAAwAAPj//wkAAO7//wEAAOj///T//+j//+j//+///93///f//9b//////9T//wQAANv//wUAAOn//wIAAPn///7//wkAAPz//xYAAP7//yIAAAUAACcAABAAACYAAB0AAB8AACcAABMAACYAAAYAABwAAPj//wcAAOj///D//93//9v//9r//8///+D//83//+z//9b///v//+b//wkAAPj//xMAAAcAABgAABAAABYAAA8AABAAAAYAAAcAAPj///3//+r///H//+L//+j//+L//+T//+z//+j///3///T//xEAAAYAACMAABgAAC4AACcAAC4AAC8AACoAADAAACMAAC0AAB4AACYAABwAABsAAB0AAA4AAB0AAP///xsAAPH//xUAAOj//wwAAOb//wIAAO////v///3///z//wkAAP7//xEAAAMAABMAAAgAABIAAAsAAA8AABEAAA0AABUAAAwAABYAAAoAABEAAAIAAAYAAPn///r///P///D///T//+////7///j//w0AAAkAABkAABgAAB0AAB0AABsAABkAABYAAA0AABEAAAEAAA8AAPb//wwAAPD//wUAAOz///j//+v//+r//+r//+D//+3//+D///L//+n///r///X//wAAAAAAAAIAAAUAAAIAAAcAAAEAAAgAAAIAAAoAAAUAABAAAAsAABYAABEAABgAABQAABUAABQAAA0AABEAAAYAAAwAAAAAAAYAAP///wIAAAEAAP7//wIAAP7//wEAAAIAAP7//wcAAPn//wsAAPb//wkAAPT//wAAAPX///b///b//+7///b//+7///j///T///z///v///7//wAAAP///wAAAAAAAAAAAAEAAAEAAAMAAAQAAAYAAAgAAAgAAAcAAAgAAAYAAAcAAAMAAAUAAAMAAAUAAAgAAAYAABAAAAoAABYAAA4AABcAABAAABEAAA0AAAgAAAsAAAEAAAgAAP///wYAAP///wcAAAEAAAcAAAEAAAYAAP///wEAAPz///7///n///n///T///X//+3///D//+X//+n//9///+b//93//+f//+L//+r//+n//+7//+3///H//+7///L//+7///H//+v///H//+v//+///+v//+3//+r//+7//+r///L//+z///j///P//////wEAAAIAAA4AAAQAABYAAAYAABcAAAgAABAAAAsAAAcAAA4AAAEAAA8AAAIAAA0AAAgAAAcAAAsAAAAAAAcAAPj//wAAAPX///b///j///D//wAAAO///wUAAPL//wMAAPT///z///T///L///H//+7///T///H///n///b///3///j///7///P///j//+n//+v//+L//+H//+H//97//+f//+X//+3///H///H///r//+////r//+n///T//+b///H//+j///f//+3//wAAAPH//wUAAPH///7//+7///X//+7///n///P//w8AAP///ycAABEAAC8AACAAACQAACMAABYAABwAABMAABMAABkAAA8AABsAABMAABMAABcAAAcAABcAAAMAAAwAAAcAAP3//woAAPP//wYAAPP///z///z///L//wIAAOz//wQAAOz//wEAAPL///z///r///z//wAAAAAAAAIAAAUAAAAAAAkAAPr//wwAAPn//wwAAP7//woAAAMAAAoAAAQAAAwAAAMAAA4AAAIAAA8AAAYAAA8AAA0AAAoAABMAAAQAABEAAP///wYAAPv///b///j//+n///P//+P///H//+X///D//+7///H///b///T///f///n///T///7///H//wEAAPD//wMAAPP//wYAAPn//wkAAP7//wwAAAAAABEAAAUAABYAAA0AABgAABkAABkAACIAABoAACYAABkAACEAABkAABgAABgAABAAABcAAA0AABgAABIAABkAABoAABoAACEAABoAACIAABkAAB8AABcAABsAABcAABoAABcAABcAABcAABMAABUAAA4AABEAAAcAAAwAAAQAAAYAAAgAAAAAAA0AAPr//w0AAPX//wQAAO////X//+r//+j//+f//9///+X//+D//+T//+b//+L//+v//+H//+7//+H//+7//+T///D//+f///b//+v///z//+////z///H///b///L//+7///L///D///T///z///n//wwAAP7//xMAAAMAAAwAAAYAAAAAAAUAAP3//wEAAAQAAAAAAAcAAAIAAP///wYAAPT//wcAAPL//wUAAP7//wMAAAoAAAUAAAsAAAoAAAEAAA8AAPf//xIAAPf//w8AAP3//w0AAAAAAA0AAAMAABAAAAYAABEAAAsAABAAAA4AAAwAAA0AAAYAAAcAAAIAAAAAAP3///r///f///f///L///b///H///b///H///v///D///////H//wEAAPH///////D///z///L///r///b///n///r///v///v//wAAAP3//wcAAAIAABEAAAkAABwAAA8AACIAABQAACAAABUAABoAABMAABMAAA4AAAoAAAkAAAUAAAYAAAQAAAMAAAQAAP///wQAAPr//wUAAPL//wMAAO3//////+3///r///P///b///z///T//wIAAPX//wgAAPr//wsAAAEAAA0AAAkAABEAAA8AABEAAA0AABEAAAcAAA0AAP///wYAAPb///7//+z///b//+T//+z//9r//+P//9b//9X//9D//8n//8v//77//8v//9P///b//8z///L//7P//97//6D//97//5f//+D//6n//+r//7z//+X//8v//+L//+D//93//wUAANz//ysAAOP//0IAAO7//0QAAPb//0EAAP3//0kAAP///0IAAAgAACUAABQAAAIAACAAAOf//ygAAOT//yYAAOX//x0AANf//wcAAL3///D//6r//+n//63//+z//8b//+z//97//+n//+X//+D//+b//9r///b//9n//xwAAOH//0IAAOz//1EAAPb//0wAAP7//0MAAP///zwAAPz//zYAAP///ywAABEAAB8AACUAABcAADcAAAMAADcAAPT//zMAAPH//zkAAOz//zAAAOr//ygAAOT//yAAAOb//xcAAPT//w0AAA4AAAQAACsAAPH//zoAAOD//y8AANz//w8AAOH///X//+P//+3//9////P//9X///X//9D///b//9X///b//+L//+////H///j///7//////w0AAP///xkAAAIAAB8AAAAAACAAAA4AACUAACAAAC4AAC0AADMAADoAAC0AADwAACEAADQAABIAACkAAAUAABUAAP3///r///z//+P//////9T///3//83///T//9T//+j//9v//9v//+j//9D///n//8z//wEAANH//wgAAN7//wEAAOr///b///X//+j//wEAAN7//wQAAOL//wMAAO////7///7///f//woAAOz//xIAANr//xAAANH///3//9X//+f//9X//87//+L//7v///T//8D//wUAAND//xcAAO7//xoAAAkAABIAABUAAAUAAB8AAPP//yEAAO3//xYAAPH//wsAAAEAAAAAABwAAP///zgAAAwAAFMAACIAAGUAAEIAAGcAAFkAAFoAAF4AADsAAGAAABYAAFUAAPP//04AAN3//0kAAN3//0kAAPP//1UAABsAAF0AAE8AAGUAAHgAAGUAAIsAAE8AAH8AADUAAFoAABUAACUAAPL///L//97//9P//9P//8f//9j//9P//+7///b//wUAACIAAB0AAEkAACsAAGQAACkAAGkAABsAAFMAAAYAACYAAPf//+3///b//7T//wEAAI3//xwAAIj//zcAAKj//0gAAOr//0YAADUAACgAAG8AAPj//44AAL7//4QAAJD//1YAAID//xQAAI///9T//8D//67//wAAAKj//zkAAMX//1wAAPb//1sAACkAADkAAEoAAAYAAE4AAMr//zkAAKH//xYAAJb//+X//6T//7f//8X//5T//+f//4P///3//4v///7//6T//+T//9T//7r//wcAAIf//ysAAFb//zoAAD3//yYAAEj///v//3r//8f//8b//5v//xMAAIr//08AAJf//2EAAL3//0EAAOz///3//xIAAKX//yMAAFz//xUAAED///L//13//8r//6n//6T//wUAAJL//1MAAJf//3cAALD//2gAANb//y4AAP7//9z//xwAAIr//yoAAFT//yUAAE3//xEAAHb///H//73//9L//xAAAL7//1IAALj//3IAAL///2kAANX//0AAAO////7//wAAALv//wUAAI7//wEAAIz///P//7///97//xIAAND//2cAANL//6EAAOX//7QAAAMAAKQAACUAAHIAAEoAADMAAGgAAP3//3sAAOL//4cAAOz//4cAABsAAHwAAGEAAGsAAKQAAGQAAM8AAGwAAM8AAHYAAJ8AAHYAAFQAAGkAAAsAAFgAAN7//0cAANL//zgAAOj//yUAABUAAAwAAEcAAPP//24AAOX//3gAAOX//2IAAPD//zIAAPv///j//wQAAM7//woAAMP//xUAANP//yUAAPn//zgAAC8AAEYAAF8AAEsAAHwAAE0AAIAAAFkAAGYAAF8AADcAAFMAAAAAADgAAND//xYAAL3///v//8v//+7///b//+X//yQAANP//0IAAMD//0QAALr//yoAAMT//wUAANb//97//+P//7r//+H//6H//9T//6n//8r//8v//8b///r//8n//ywAAM///0YAANn//0YAAOn//zEAAAAAABQAABwAAP///zMAAPD//zgAAOr//yUAAPT//wcAAAUAAOv//x0AANT//y4AAML//yYAALv//wkAAMD//+P//9D//8T//97//7b//+f//7f//+f//8L//9///9z//9n///r//93//xYAAOf//y8AAPj//zcAAAcAADEAABYAAB4AACMAAA4AACwAAAkAADAAAAsAACsAAA0AAB0AAA4AAAEAAAwAAN7//////8X//+X//7P//8T//6j//5z//67//4D//8D//3r//97//4L///z//5r//wUAALP///3//8j//+v//9///9n//+f//87//+H//8n//9T//8///8L//97//7r///P//7z//wsAAMX//xoAANX//xoAANz//woAAN7//+v//9z//8r//9L//6z//9D//5r//87//53//9P//7P//+L//9v//+3//wsAAPj//y0AAPT//zcAAOH//yQAAMz///7//67//8z//5L//6L//4X//4v//4H//4j//4///5z//6r//8X//8f///P//+T//xoAAPP//zMAAPT//zQAAOr//xoAANz//+z//9f//7X//97//4L///T//2f//xYAAG///zMAAJ7//0YAAOn//0IAADUAACIAAG0AAPT//4UAAMH//3UAAKH//0QAAKD//wYAAMH//9L//wEAALv//0gAAMj//4UAAPT//6kAADAAAKcAAGkAAIgAAI0AAFsAAJMAACwAAIUAABcAAGgAAB0AAEAAADwAACIAAGoAAA0AAJQAAA0AAK8AACQAALEAAE0AAJoAAIkAAHQAAL8AAEcAAOYAAB8AAPEAABUAANgAAC8AAK0AAG0AAHsAAL4AAFUAAAoBAE0AAD0BAGEAAD4BAIoAABABALYAAMAAANQAAGQAANoAAB8AAL8AAA0AAJUAADMAAGYAAIEAAD8AANgAAC8AABUBADQAACIBAE0AAPsAAHEAAKwAAJEAAEsAAKYAAPD//6kAALj//5cAALP//3YAANv//0oAAB0AACIAAGMAAAYAAJAAAPb//5cAAPT//3IAAPz//ysAAAMAAND//wEAAHv///H//0P//9X//z///6z//27//4D//7j//2D///z//1L//xwAAFb//xEAAGP//+H//3X//5L//4n//z///5T///v+/5j//9z+/5T//+z+/4P//yj//2j//3n//03//8D//0T//+P//03//9P//1n//5P//1r//z3//07///L+/z7//8f+/zD//8L+/yX//+j+/xb//yr//wH//2v//+/+/5P//+v+/5H///j+/2v//w7//y3//yT//+/+/zj//8v+/03//9H+/2j///r+/4f//0P//6X//5v//7n//+f//8f//xsAAN3//yUAAPr//wYAAA0AAM7//wkAAI3///H//2D//9X//1v//8n//4P//8///8r//9j//w4AANf//0MAANX//1cAAOb//0gAAAsAACQAAD4AAPH//2UAAMD//3IAAK7//2sAANX//2QAACcAAGEAAIYAAGcAANoAAHAAAAQBAHwAAPsAAJgAANAAAMcAAJcAAPkAAF0AABMBADAAAAABABcAAMgAACAAAIYAAEcAAE8AAH4AACEAAKIAAPn//5gAAOL//2YAAOH//x8AAPP//+T//wsAAMD//xwAALb//xoAAMf//wsAAO3//wIAACQAAAcAAGgAABMAAKQAACUAAMkAADgAAMoAAE4AALMAAGoAAJcAAIkAAIUAAKAAAHkAAKQAAG0AAIsAAGQAAFMAAF0AABAAAFQAAM7//zkAAJX//wcAAHD//8j//3L//43//6f//3D//wcAAG3//2kAAIj//6MAAMr//7AAAC4AAKwAAKAAAKMAAPkAAIsAACgBAFsAACkBACUAAA4BAAsAAOcAABQAALAAADAAAGwAAFIAACwAAGoAAAYAAHkAAAEAAIMAAAwAAI8AAB0AAJQAAC0AAIkAAEAAAGwAAFgAAFIAAHAAAE8AAIUAAFQAAJIAAE0AAJoAADoAAJ0AACYAAJoAACUAAIcAADQAAGAAADcAACoAACQAAO7//wwAAL7//wEAAJ///wsAAI7//x8AAJH//yoAAKH//ysAALz//ywAAN3//yEAAP7///v//xQAALr//xkAAHT//xMAAD3///r//xj//8v//wP//4n///7+/0P//wv//xD//yL///r+/0H//wH//2T//xj//4X//z7//6f//23//8b//6D//+L//8z///P//+P//+7//+z//9f///X//7H///b//4z//+r//3L//8z//2j//6D//2z//3D//23//0P//2b//xz//2D///7+/13//+3+/17//+b+/2L//+z+/27///v+/3v//xj//4b//0D//4n//2///4b//6j//4f//+H//4///w8AAJ3//ysAAKv//y0AALX//x0AALz//wQAAMX//+X//9j//8z///H//7z//wkAALv//x8AAMr//zIAAOL//z8AAPv//0oAABMAAFYAACYAAGQAADMAAGkAAD0AAFgAAEYAAEMAAE4AADAAAFMAAB4AAFsAAA4AAGgAAAcAAHEAAAcAAHMAAAkAAGgAAAsAAFQAABcAADUAACkAABYAAD4AAAUAAFIAAAQAAF4AAAwAAG0AAB0AAIkAADsAAKEAAF0AAJ4AAH4AAI4AAJUAAIcAAKAAAIkAAKIAAI0AAJ0AAI4AAI8AAIkAAHsAAH4AAG0AAGoAAHAAAFIAAHoAAEAAAIIAADQAAHwAAC4AAG0AADMAAFcAAD8AAEMAAEoAADkAAFYAAEAAAGAAAFMAAH4AAGcAAKcAAH4AALIAAJQAAJsAAJwAAHIAAJgAAF0AAIkAAFIAAGcAAEgAACwAAEEAAPf//ykAAOD//w4AANL///f//7r//+H//6X//9X//5j//8T//4n//6f//4P//3///4X//2T//3r//1L//3P//0j//4z//2D//6///47//8H//6n//9f//63///3//7T//xMAAMX//w8AAMr//wUAANX///7///D//97///v//7f///L//67//+v//7n//+///7j///n//7X//wMAAL///w0AAMv//wYAAML//+r//7r//8n//7v//6r//7X//43//6///3P//7r//27//7///2///7D//2z//6n//3P//7H//4T//6z//5n//5v//7H//5T//8r//5X//9r//57//+H//7T//+r//9X///P//+v///z///L//wUAAP7//w0AABMAABQAACUAABYAACUAABUAAB4AABQAACIAABIAAB8AAA4AABkAAAkAACEAAAIAAB8AAP3//w8AAP3//wYAAAMAAAoAAA0AABQAAB0AACAAADEAAC4AAEcAADgAAFwAAEYAAGQAAFEAAGIAAFYAAFsAAFkAAFEAAFIAAEUAAEcAADgAAEcAAC0AAD0AACQAACUAACIAABYAACMAABUAACYAABoAACsAACIAADIAACgAADkAACwAAD4AADUAADwAAEAAADMAAEoAAC4AAFoAAC8AAGUAADQAAHQAAD4AAIsAAEwAAJIAAFwAAIQAAGwAAHQAAHYAAGoAAHkAAGEAAHUAAFkAAG0AAFMAAGcAAE4AAGIAAFEAAFwAAFIAAFUAAEsAAFUAAEIAAFMAADIAAE0AACEAAD8AAB0AACgAAA8AAAsAAPX//+3//97//83//9D//7H//8D//5v//67//4z//5r//4b//4n//4f//4L//4f//3///4n//33//5L//4D//53//3///6j//4P//7H//5n//7j//6r//77//6///8b//7r//83//8j//9P//87//9f//8z//9b//8L//9D//7H//8f//6f//7T//6j//57//6v//5H//6X//43//53//43//57//5H//6D//5j//5r//6H//5j//6T//5z//6n//5///7D//6T//7T//7D//7v//7P//8X//6v//8j//6b//8b//6n//8b//67//8b//7b//8b//8L//8f//87//8X//9f//8f//9///83//+///87///3//9T//wUAAOD//w0AAOz//xsAAPL//yUAAPL//ywAAPz//zUAABQAAD4AADEAAEsAAFEAAFYAAG0AAFoAAHwAAFgAAH0AAFgAAHoAAFcAAHUAAFgAAHAAAFsAAGwAAGAAAG4AAFoAAHYAAE0AAHoAAD4AAHIAADIAAGEAAC8AAFEAADAAAD4AADYAACMAAD4AABEAAEcAAA0AAFAAAAsAAFQAAAsAAFoAAA8AAGcAABoAAH4AACkAAJIAADgAAJ0AAEYAAJYAAFcAAH8AAGcAAGQAAHIAAE8AAH4AAEAAAIoAADgAAIwAADcAAIkAADgAAIAAADIAAHUAACsAAGAAACIAAEAAABgAABwAABcAAPn//xcAANb//xoAALf//xoAAJ///xUAAJD///3//4b//+T//4H//8L//33//6X//3f//4P//3j//2X//3v//07//4X//0H//5L//0H//6L//0///6z//2X//7H//4H//7f//5r//7z//7P//8P//8r//8z//+L//9L///L//9r//////+r//wYAAPz//w0AAA0AAAwAABgAAA0AABsAAAUAABgAAAEAAA4AAPz//wAAAPv///H///P//+r///D//+7//+7///f//+z///z///P//wIAAAUAAAAAABUAAP3//x0AAAEAABgAAA0AAAcAABgAAO7//x4AANr//xcAAMf//wUAAL///+n//7f//87//7f//7f//7H//6r//6b//6f//5b//6z//5P//7H//53//7b//7///7n//+v//8P//xQAANv//zgAAAIAAEwAAC8AAFMAAFkAAGEAAHgAAHMAAIcAAI0AAIwAAKIAAJMAALIAAJwAALQAAKUAAKoAAKsAAJMAAKwAAHoAAKkAAFkAAJwAAEgAAIcAAEsAAHAAAFYAAGIAAFwAAGMAAFcAAGwAAEkAAHgAADcAAHUAACUAAFwAAB0AADgAABgAABsAABQAAAUAABoAAPb//x0AAOb//xsAAND//xEAAMj//wQAAMn///b//87///D//9n//+3//+P//+r//9///+L//9v//97//+b//93///7//9v//w0AANT//wkAAMz///T//8j//9j//8j//8X//8j//8b//8X//9j//73//+z//7b///b//7r///X//8r//+f//97//8n//+7//57///v//3H///b//1z//97//23//7L//47//3///6T//1X//6T//0T//5D//0z//3D//2n//2D//4j//23//5v//5P//57//67//5T//7T//5L//6v//6L//6///8X//8L///P//9v//xoAAO3//y8AAPj//zEAAAEAABgAAA8AAPD//xUAANL//w0AAMn///v//9H//+j//+X//+L//wIAAO7//xcAAPz//xkAAAUAABAAAA4AABIAABEAACQAAAwAADcAAAoAAEMAAAYAAEUAAAAAAEIAAAMAADsAAA0AACsAABAAAB8AABQAABAAABYAAAEAABIAAP///wUAAP3///T///L//+n//+f///D///H//wEAAAkAABAAACAAABgAADcAACEAAEIAADAAAD4AAEAAAEIAAEkAAE4AAEwAAEsAAEwAADoAAEUAACEAADYAABYAAB4AABgAAAYAABwAAPD///z//9z//73//9D//6D//87//7z//9f//+L///D//+j//wgAAO///woAAPz//wIAAA0AAAAAACkAABIAAD8AAC8AADoAAEQAABsAADsAAAgAACcAABQAAD0AAEIAAHYAAG0AAJYAAGYAAIgAADwAAGQAADgAAEoAAG4AAEMAAIwAAEkAAGwAAEAAACUAACUAAPv//wcAAAwAAAIAADYAACgAAD4AAFkAABsAAGkAAPn//04AAAQAADgAADcAAD8AAF8AAFwAAGgAAHYAAFgAAHsAAE8AAHAAAGkAAFsAAIIAAFoAAHUAAGwAAFEAAHYAADUAAGkAACgAAEEAABkAABMAAP7///n//9L///H//6n//9X//5z//6P//6b//4P//6f//4b//5n//5P//5r//5b//7T//5r//9L//6L//9n//63//9X//8L//9L//9r//9///+P///T//+///wYAAAQAAA0AABYAAAoAABsAABEAABYAACQAAB0AADUAACgAADEAACkAABcAABsAAO7///7//83//+L//8L//87//8P//8L//7r//7v//6j//7H//6H//5r//6n//4D//6v//3D//57//3D//4n//3j//3D//3f//2X//2///2///2f//4H//2b//4X//2n//3z//2n//3///2n//4r//27//5L//3j//5H//4n//4n//5v//4f//6X//5X//6n//6z//6v//77//7j//8T//8j//8X//9L//8r//8///9L//8X//9n//8f//9X//9r//9T///v//+X//x0AAAQAADUAACgAAEQAAEsAAE0AAGcAAFUAAH8AAFsAAJYAAF0AAKkAAGMAALAAAGwAAK8AAHYAALEAAH0AALEAAIAAAKoAAIcAAJsAAI0AAIgAAJkAAHoAAKMAAG8AAKkAAGAAAKMAAFYAAJYAAFUAAI4AAF8AAIAAAHEAAGkAAHwAAFYAAHoAAE4AAHIAAFcAAHEAAFkAAHUAAFgAAHQAAFUAAG0AAEoAAGUAAEkAAGIAAEoAAFsAAE8AAEkAAFEAAC0AAEwAABIAAEYAAAEAADUAAPf//xsAAPL//wQAAO////n//+z///n//+T///T//9z//+j//9n//9b//97//8H//+j//67//+7//6b//+b//6v//9H//7f//73//8T//67//9P//6L//+L//5z//+z//5z//+///6D//+j//6r//9v//7b//8L//7n//6P//6r//4v//4z//33//2z//3n//1P//2X//1D//0T//1r//x///1v//wH//07///3+/zT//wf//yD//xP//w///xT////+/w3///L+/w///+r+/x////v+/zz//yn//1///2L//4X//5L//6r//7b//8v//9H//+3//+v//xMAAAkAADUAACoAAEUAAEwAAD8AAGQAACUAAHUAAAUAAIIAAPH//4EAAPL//3UAAAsAAF0AACkAAEEAAEIAAC0AAFgAACoAAG8AADwAAJQAAFEAAMQAAHEAAPoAAKUAACEBAOgAACsBAC0BAB4BAGYBABEBAIEBABYBAH0BADIBAG0BAE8BAFwBAFkBAFwBAEoBAFABAC8BAC8BAAkBAPYAAOEAAKkAAMIAAGIAALIAADQAAKsAABwAAJEAAAsAAF8AAAQAAB4AAAQAAN///xkAAL3//0IAAMn//2MAAPD//2sAAA4AAFMAABgAACsAABAAAAcAAAEAAOD///j//7f//wAAAJP//ywAAIL//2IAAJP//3AAAMD//zwAANn//8f//73//0T//27///z+/xX//x////n+/4///zf//+H//73//8P//zUAADb//1UAAIb+/wIAABb+/1D//y7+/5L+/9b+/yX+/8H//z/+/3oAAMj+/7EAAHz//1kAAPf//7///wIAAE7//7b//zr//2H//2n//0///5D//5r//4v//xwAAFf//4EAACb//44AABL//zEAACn//4z//1n//+T+/5D//4T+/8n//5P+//7///n+/xMAAGb///v//53//7j//43//17//2z//xr//3f//xj//97//03//4sAALL//yUBAB4AAGsBAGYAADcBAGoAALAAAEIAAAoAAB0AAIX//y4AAGT//3MAAIv//8MAAPb//wcBAFcAAA8BAJAAAP4AAIUAAMgAAFgAAJwAAE8AAGcAAIwAAEAAACYBAB0AAKYBAOv//+8BANX//6YBANH//w0BAAIAAGIAAEwAAOr//5cAALP//9MAAJn///AAAJf///4AAIb///sAAJX//+oAAKz//8kAAOH//4wAACUAADQAAHMAAMb//8kAAHH//xgBAFn//10BAID//2sBAMr//0ABAAsAAM4AABAAABgAANr//1X//5v//5L+/47///39/9P//8b9/1wAABP+/9cAAOP+/wwBAAEAAKgAAPIAAL3//0EBALL+/9wAAAz+/wkAADv+/0D//yf//wT//3sAAJr//4EBALwAAMEBAMUBACwBAAoCAAMAADkBANv+/4b//yT+/5b9/zr+/1f8/wz//0v8/xYAAHH9/7kAAFf//9YAACUBAFcAACYCAG////cBAIT+/9cAAN/9/3P//8n9/2b+/2z+/yf+/5T//8L+/8MAANv//5gBAAUBAOEBAJoBAI4BAGcBANUAAKQAADgAALL//+n//w///+T//+r+/xUAAGn//1IAAEMAAGkAAB8BAEYAAMQBAA8AAAcCABoAAOoBAGcAAJ8BANkAAEQBAEUBAOYAAGUBAJIAADIBAEAAAM8AAPT//2YAAMz//z8AANb//2wAABgAANUAAH8AADUBANsAAFEBABIBABYBAOwAAJAAAGsAAL3//8L///L+/yP//1L+/9j+/yL+/+f+/2j+/zj///3+/7H//6P//+T//xQAAL////L//0X//3n//6L+/9X+/wf+/0D+/5z9/xT+/379/1H+/9r9/9v+/23+/2X//yf//6///9P//6T//0IAAHb//2cAAEP//ykAAC7//53//1j//xf//4f//+D+/6H//wX//8f//3b//9v//xsAAOH//9UAABEAAFgBAFIAAHgBAJEAACoBANkAAKkAACcBAB4AAFIBAPn//1gBAGkAAGwBADABAGABAPgBADEBAKsCAD8BAPICAHgBAKwCAKwBAAsCAOUBAEIBAPMBAIsAAM0BACEAAJABADgAAFcBAJoAACsBAAcBAOsAAGQBAK4AAGoBAGEAAAMBABsAAGoAANr//7///8v//0H//+7//w3///b//zb//83//47//3X//8H//+n+/7P//3j+/2T//0b+//r+/2j+/27+/7L+/wH+/+n+/9b9/xz//+L9/wH//yf+/7v+/4L+/3r+/9j+/03+//L+/z3+//7+/3D+/+z+/5f+/93+/7f+//P+/+H+/xP//+b+/yD///v+/x///wb//1T//xP//4r//zz//6H//3T//5X//6f//3b//9L//27//////5v//xUAAOD//zQAAC8AAHYAAGIAAKIAAIoAALIAANcAAMsAABEBANEAABEBAMgAAAsBANcAAAYBAPsAABwBABMBADwBACoBAFsBADUBAEIBAC0BAPwAAA8BAOIAAPAAAMoAAPgAALYAAAgBAMQAABUBAMsAAA4BAMgAAOwAAOMAALMAAPQAAIYAAO8AAG4AAMcAAGYAAKsAAGcAAIoAAHcAAFwAAHQAADEAAFwAABsAAEgAAAwAACYAAOH//wQAAM3///D//7v//9///5X//7///3///5///3H//3P//2H//0L//1P//xf//1f//wT//0r//wX//zf//wD//zf//wH//zH//wT//xj//wL////+/wL////+/wT///7+/xv//wb//zr//yD//1P//z///2T//1r//3L//3v//3j//6L//4H//7r//5b//9X//7n//+z//97///7//wQAAA8AAB8AABUAAC0AABwAADsAACIAAFMAACkAAHAAADUAAIoAAEkAAKEAAGgAAKYAAIYAAKIAAKYAAJ4AAMMAAJYAANUAAJAAAOMAAIwAAOcAAJEAAOYAAJsAAOAAAKkAANUAALoAAMoAAMwAAL0AANYAAKcAANIAAIgAAMkAAGUAALUAAEUAAJcAACwAAHcAABsAAGAAABQAAEMAABIAACUAABEAAAgAABEAAOb//w4AAMb///3//6v//+f//5X//8z//4D//67//3P//5D//2z//3j//2v//2j//27//2D//3z//1///4n//2D//4r//1v//4b//1b//4L//1H//4H//1b//4b//2f//5L//3z//6H//5b//6v//7j//7D//9j//67//+n//6z//+7//7L///H//8H///T//9b///n//+n//wgAAPr//xgAAAAAACMAAAkAADAAABcAAEIAACkAAE4AAEEAAFUAAF0AAFoAAHcAAF8AAIwAAGQAAJoAAGsAAKkAAHoAALIAAIgAAKwAAJIAAJQAAJgAAHsAAI8AAHAAAHgAAFgAAFYAAEQAADgAAC4AABsAABkAAAQAAAkAAPf///v//+v//+z//9r//9X//8b//8P//7b//6r//6b//5H//5v//43//5n//47//5r//5H//5r//4///5j//4j//5j//3///5H//4H//4b//4r//3n//4T//27//4X//2j//43//2b//5L//2T//5H//2r//5L//3f//5j//5P//6D//7X//7T//9H//8H///P//8v//xIAANL//y4AANz//0IAAPX//10AABcAAHUAAD0AAH8AAGoAAIsAAI4AAI0AAKwAAJAAAMQAAIwAANgAAIwAAOQAAIoAAOoAAIoAAPAAAJYAAO8AAKkAAOYAALUAANcAALgAAMYAALsAALEAAMIAAJkAAMgAAIMAAMgAAHAAALsAAFwAAKEAAEwAAIsAAEAAAHEAADcAAE8AAC0AACkAACMAAAgAABsAAOr//xAAAMT//wMAAJz///P//3r//9j//1r//7n//zr//5f//yD//3L//w///0z//wL//yj//wH//wn//wr//+/+/xL//9n+/yH//8f+/zX//7z+/0T//7v+/1r//8P+/2z//9j+/3z///j+/4v//x///5j//07//6L//4L//6T//73//6b///f//6b//ywAAK3//1gAALf//3UAAMn//4QAAOb//4gAAAsAAIgAAD4AAIQAAHEAAHsAAKAAAGsAAM4AAFoAAPEAAEcAAA8BADsAAB0BAD4AABwBAE0AABIBAGUAAPoAAIEAANsAAJ0AALMAALgAAIgAANEAAFsAAOkAADEAAPwAABQAAAABAP////QAAPb//9wAAPv//7kAAAIAAIwAAAoAAFoAABYAACcAACYAAPP//zAAAL7//y8AAI3//ycAAGr//xUAAFX//////0z//+f//0///8///1r//7f//2r//6T//3///5b//5n//4T//7b//3P//9L//2z//+r//3T///3//3///woAAIj//xMAAJj//xYAAKn//xEAAL///wMAANn///D///P//93///7//8v//wkAALv//x8AALD//zYAAKj//0QAAKP//0sAAKf//0gAALX//zkAAMz//ywAAOn//yUAAAoAABoAACsAAAQAAEYAAO3//1wAAOL//2oAANv//2wAANP//2UAAMz//1YAAMb//z4AAML//yAAAMf//wEAANP//+L//93//8P//+X//6X//+3//4v//+7//3f//+7//23///b//2////j//33///H//5L//+P//6f//+D//8H//97//+T//9X//w0AAMj//zMAALz//1IAALf//2YAALX//2kAAL7//2EAAM7//1cAAOj//0wAAA8AADsAADMAACQAAFcAAAkAAHYAAO7//5MAANf//6gAAMz//6wAANL//6kAAOT//50AAP7//4UAAB4AAGkAAD4AAEcAAF4AACQAAH0AAAEAAJ0AAOn//7MAANv//7kAANj//7MAAOL//6EAAPb//4UAAAoAAGEAACAAADsAADoAABMAAFQAAOn//2EAAL///2UAAJ3//18AAIn//08AAIH//zsAAIP//yUAAI///wsAAJ////H//7H//93//8j//8b//+H//6r///n//5H//w0AAIf//xsAAIb//yMAAIP//yMAAIH//xwAAIL//w4AAIX///b//43//9T//53//7D//6X//43//53//2v//6D//07//7H//zf//8D//yT//8z//xn//9D//xv//8f//y3//7r//07//7z//3n//8T//6z//73//+D//7L//xMAALb//0IAAMr//2sAAOH//4wAAPz//6MAABgAALEAADAAALUAAFAAALIAAHwAAKoAAKQAAJ0AAMMAAIsAAN0AAHcAAOcAAGQAANoAAFgAANQAAFUAANwAAF8AAMkAAHEAAJAAAHgAAGEAAG8AAF4AAGwAAGEAAHcAAFEAAIQAADsAAIkAACoAAIUAACUAAGsAACAAADYAABgAABUAAA4AABgAAP///xEAAO////j//9b//9r//7r//7X//6P//4///4v//3v//2///3j//1f//2z//0v//03//0X//y///0L//yD//0P//yP//0n//zX//1j//07//3n//1v//5n//17//6P//2P//6P//3T//67//5r//8P//8r//9L//+3//9////3///L//w0AAAcAACMAABkAADkAACwAAEgAADkAAE8AAD4AAE4AAEMAAEkAAE0AAEcAAFoAAE0AAGEAAFcAAGAAAFwAAFsAAF4AAFcAAF8AAFMAAGAAAE4AAGEAAEoAAGAAAEoAAF0AAEkAAFQAAEMAAEEAAD8AACwAAD4AABoAADoAAA8AADIAAAwAACYAABAAABoAABYAAAgAABgAAPX//xUAAOb//xEAAOD//xEAAN///xUAAOH//xkAAOf//xsAAPD//xoAAPj//xEAAPz//wMAAAEAAPf//wcAAO7//wgAAOj//wUAAN///wAAANT///v//8b///H//7f//+T//67//9v//7H//9X//77//9D//9D//87//+D//9b//+r//+P//+////H///D///7///P//w0AAP7//xgAAA8AAB0AACIAACAAADEAACMAADwAACUAAEMAACMAAEQAAB4AAEEAABkAADgAABMAACcAAA4AAA8AAAoAAPX//wgAAN///wcAANH//wMAAM///wEAANX//wYAANv//w4AAOL//w0AAO3//wUAAPj///r//wEAAPP//wQAAO///wQAAO3//wcAAOb//w0AAN3//xYAANb//xwAANj//x4AAOL//xoAAO3//xIAAPX//woAAPv///7//wIAAO7//wsAAN7//xIAAND//xIAAMn//w4AAM7//wsAANr//wsAAOf//w4AAPb//w0AAAYAAAMAABIAAPH//xIAAN7//wsAAND//wAAAMf///X//8L//+r//7z//+L//7n//+D//7z//+L//8P//+j//8z//+///9b///H//+L//+3///H//+X//wQAANj//xYAAMv//yEAAMX//yMAAMz//yAAAN3//xoAAPT//xQAAA4AAA4AACoAAAoAAEAAAAUAAE0AAAMAAFAAAAUAAEgAAAcAADkAAAkAACkAAAsAABsAAAsAABEAAAwAAA0AAAoAAAsAAAgAAA4AAAUAABIAAAcAABMAAA8AAAwAABoAAAQAACQAAP7//yoAAPr//ygAAPn//yQAAPz//x0AAAEAABMAAAgAAAgAABUAAAAAACMAAPz//y0AAPn//zAAAPn//ykAAPz//xsAAP7//wwAAAAAAPz//wIAAO///wQAAOX//wcAAOH//wgAAN7//wUAANv//////9f///f//9L//+7//83//+H//8b//9P//8P//8j//8H//8L//7v//8H//7f//8T//7v//8n//8P//87//8///9b//9v//9///+n//+n///H///X///H//wQAAPD//xMAAPL//yMAAPH//y0AAPf//zQAAAUAADcAABIAADMAAB4AACkAACgAACEAACwAABwAAC4AABMAACoAAAwAACIAAA4AABwAABQAABUAABYAAAkAABgAAAUAAB8AAAkAACcAAA4AACsAABgAACwAACYAADEAAC0AADMAADIAAC8AADIAACQAACwAABoAACIAABEAABsAAAQAABIAAPP//woAAOX//wcAAN3//wEAANb///n//9D///X//83//+7//9D//+P//9P//93//9T//9v//9v//9j//+P//9z//+r//+b///H//+7///n///n//wAAAAYAAAEAAA4AAP3//xQAAPv//xYAAPn//xUAAPb//xQAAPH//xUAAPH//xYAAPb//xsAAP3//yIAAAUAACYAABAAACoAABoAACsAAB8AACQAACQAABsAACkAABgAACcAAA4AAB4AAAEAABUAAPv//w4AAPf//wEAAPH///P///P//+j///f//+D///b//9r///X//9n///b//9v///T//97///T//+X///X//+7///b///v///z//wwAAAMAABkAAAUAACIAAAsAACoAABMAADEAABYAAC8AABgAACsAAB0AACwAABwAACoAABkAACUAABoAACQAABsAACAAABcAABoAABUAABUAAA8AAA8AAAUAAAcAAP3//wIAAPf///z//+v///P//+T//+3//97//+f//9f//9///9L//9j//9H//9T//87//83//8n//8b//8b//8L//8D//77//7b//7v//6///7n//6n//7j//6X//7n//6b//7z//6r//7///67//8T//7f//83//8H//9X//87//9///93//+///+///////wAAAAwAAA8AABwAAB4AACkAACoAAC8AADUAADUAADwAADkAAEIAADcAAEMAADUAAEIAADUAAD4AADIAADkAAC0AADMAACkAACwAACMAACYAAB4AACQAAB8AACQAACEAACIAACEAACEAACQAACAAACUAAB4AAB8AAB0AABoAABsAABcAABYAAA0AABAAAAMAABAAAP///w8AAPf//wwAAO7//woAAOv//wcAAOr//wIAAOn//wAAAOz///////H///3///X///3///r//////wQAAAAAAAgAAAMAAAgAAAcAAA4AAAoAABMAAA0AABIAAA4AAA4AAA0AAA0AAA0AAAUAAAsAAAAAAAgAAP3//wcAAP3//wcAAPj//wUAAPf//wQAAPn//wMAAPz//wAAAAAAAP7//wQAAP7//wYAAP7//wYAAP7//wsAAP3//w0AAP7//w4AAAMAABEAAAcAABIAAAsAABAAAA4AABAAAA8AABAAAA8AAAwAAA0AAAcAAAoAAAAAAAQAAPv///3///X///T///H//+3//+7//+j//+z//+P//+r//+L//+r//+P//+v//+X//+v//+r///H//+////n///H///3///P//wMAAPj//wkAAPv//wgAAP3//wMAAP3///////r///n///T///H///D//+r//+z//+X//+b//9///+L//9z//93//9///9r//9z//9n//9v//9n//+L//9r//+n//9///+r//+L//+///+X///P//+n///P//+v///T//+z///f///D///b///T//+////j//+z///z//+v///3//+z///7//+///wAAAPb//wQAAPv//wkAAAIAAAsAAAwAAAwAABIAAA4AABgAABIAAB4AABMAACEAABYAACEAABkAACQAABwAACUAACAAACIAACIAAB4AACMAABgAACIAABQAACIAABAAACEAAA0AACEAAAcAAB8AAAQAABwAAAIAABkAAAEAABQAAAAAAA4AAAEAAAkAAAEAAAYAAAEAAAMAAAEAAP///wEAAPz//wIAAPz//wMAAPz//wIAAPz//wEAAPz//wEAAP7///////7///3///7///r///7///b///3///T///v///P///z///L///r///P///r///b///z///z///7//wIAAAAAAAoAAAUAABIAAA0AABoAABQAACAAABgAACcAAB0AAC0AACEAADEAACMAADQAACMAADYAACIAADUAACEAADIAAB8AAC0AAB0AACUAABkAABwAABUAABMAAA8AAAsAAAgAAAQAAAAAAP3///n///b///L//+7//+v//+j//+X//+P//+D//97//9v//9j//9X//9T//9H//9P//87//9L//8v//9H//8b//8///8L//8v//7///8z//77//83//73//8///77//8///8L//9L//8n//9f//9L//93//9r//+T//+D//+f//+b//+j//+v//+z///H///L///j///f///////v//wYAAP7//wwAAAIAABIAAAgAABcAAAwAABkAAA0AABkAAA0AABgAAA8AABUAABEAABAAABEAAA4AAA8AAA0AAA4AAAoAAA0AAAkAAAsAAAgAAAgAAAcAAAcAAAgAAAQAAAkAAP7//wgAAPn//wQAAPX//wUAAPT//wYAAPf//wUAAPj//wQAAPn//wcAAPr//wwAAP///xEAAAUAABQAAAoAABgAABAAABoAABcAAB4AAB0AACYAACUAACwAACsAAC0AAC4AADEAAC8AADMAADAAADIAAC8AADEAACwAAC8AACcAACkAACEAACAAABkAABYAABAAAA0AAAgAAAQAAAEAAPr///v///X///b///P///T///P///T///H///b///L///n///f///3///7//wIAAAQAAAUAAAoAAAgAAA4AAAwAAA0AAA4AAA4AAA8AABIAAA8AABMAAA4AABAAAAwAAA0AAAkAAAoAAAUAAAIAAP////j///r//+7///f//+T///P//97///D//9z//+7//9r//+v//9f//+n//9j//+n//9z//+z//+D//+///+f///L///D///T///f///j///z///z//wAAAAAAAAUAAAMAAAkAAAUAAAsAAAYAAAkAAAQAAAUAAAEAAP////3///j///b//+7///H//+b//+z//97//+j//9b//+L//87//9z//8n//9f//8f//9T//8b//9P//8r//9P//9D//9b//9f//9v//93//+H//+T//+n//+v///H///P///j///7///7//wkAAAIAABAAAAYAABQAAAoAABQAAA4AABIAABAAABIAABMAABQAABMAABYAABEAABcAAA4AABYAAAwAABQAAAsAABQAAAsAABcAAAwAABoAAAsAABwAAAkAABoAAAQAABUAAAEAAA4AAAEAAAUAAAUAAP7//woAAPr//xAAAPr//xcAAP3//x0AAAIAACEAAAcAACQAABEAACYAAB4AACUAACwAACIAADgAABwAAEEAABMAAEQAAAoAAEIAAAIAAD8AAP3//zsAAPv//zMAAPz//ycAAAIAABoAAAoAAA0AABIAAAIAABkAAPv//x8AAPf//yAAAPX//x0AAPD//xgAAOn//xEAAOL//wkAAN///wEAAOT///r//+7///T///r//+///wMAAOz//wgAAOz//wwAAO3//xIAAPP//xwAAPr//yIAAAEAACAAAAcAABEAAAsAAAIAAAwAAP7//wsAAAcAAAgAAAwAAAMAAPv///3//+P///X//9b//+3//9z//+f//9///+T//8z//+T//6v//+f//6H//+z//7f///D//9////T//+3///X//+L///T//9v///D///j//+v//yYAAOL//zQAANj//xEAANH//9v//87//8X//9H//9z//9n///3//+D///X//+T//9L//+j//8H//+7//9n///v//wEAAAoAAP///xgAANr//x4AAML//xcAAN3//wQAABcAAOv//zAAANj//xEAANb//+H//+X//9D///3///L//xEAACIAABYAADYAABAAACYAAAcAAAoAAAkAAAEAABkAAA8AADAAACgAAEAAADsAADwAAD8AACAAAD0AAPr//z4AANz//zEAANf//wMAAO3//8D//xAAAKD//ywAALv//zcAAPX//zEAACQAACEAADAAABQAACsAABEAADIAABcAAEcAAB4AAFgAABsAAFYAAAkAADsAAPD//xkAAOP//wEAAO3///X//woAAPn//ygAAAUAADcAAA8AADQAAA0AACgAAAUAABsAAPz//xEAAPL//woAAOj//wMAAOP///r//+j//+n///H//9P///3//7///wcAALn//wgAAMf//wIAAOT///n//wIAAPT//xUAAPL//xkAAPf//xMAAPn//woAAPv//wMAAPv///3//wMAAPn//wgAAPb///////b//+b///j//9D///z//9D//wIAAOf//wYAAP///woAAAAAAA0AAPr//wwAAAEAAAkAACMAAAMAAEAAAPv//zgAAPL//w0AAOv//+T//+f//+D//+b///r//+j//wYAAOn//+v//+n//8r//+v//8f///H//+j///z///3//wgAAOT//xAAALz//w4AALj//////+b//+b//xcAAM7//xYAAML//+n//8j//8L//93//8v///b///z//wUAACIAAAUAACYAAP7//w0AAPv///n//wUAAP7//xwAABQAADQAAC0AAD0AADoAAC4AADoAAAsAADoAAOX//zcAAND//xwAANj//9z///X//57//xcAAJX//ysAAMP//ywAAP3//x4AABsAAAsAABgAAAAAABQAAAAAACQAAAgAADsAAAoAAEcAAP3//zkAAOD//xYAAMT///X//8D//9///9n//93//wEAAOr//yMAAP///zEAAA0AAC0AAAsAACMAAAMAABwAAPf//xgAAOn//xcAAN3//xQAAN3//wgAAOr//+3///r//8j//wkAAKv//xEAAKr//w8AAMz//wsAAAQAAA0AADUAAAcAAE8AAP///08AAP3//0EAAA4AADMAAC8AACkAAEoAACIAAFUAAB4AAEoAABgAADUAABQAACAAAA4AABEAAAoAAAEAAAYAAPP//wQAAPH//wUAAPz//wgAAAwAAAkAAA4AAAoAAAIAABAAAPr//xsAAAMAACMAABQAACAAABYAAAsAAPj//+j//9H//8X//8T//7T//9r//7j///T//8z//+///+X//9f///3//8n//w4AAN///xQAAAUAABAAABgAAAUAABQAAPz//w0AAPv//xYAAAEAACwAAAoAADQAAA4AACQAAAoAAAQAAP3//+v//+n//9///9X//9D//8j//7T//8j//43//9T//3L//+b//37///f//63///7//9X///z//9b///L//8L//+T//8r//9f///T//9D//yIAAM///zcAAND//zQAANT//zAAANz//zoAAO3//0UAAAQAAEIAABYAACoAAB4AAAoAAB0AAPL//x4AAOL//yYAANn//y8AANT//zMAAND//zAAAMn//yYAAMT//xYAAMz///3//9z//97//+3//8L///r//7X//wsAALj//x0AAML//ywAAM3//zkAANb//0EAAOT//0IAAPr//0UAABQAAEcAACgAADgAADQAACEAADwAAAoAAEYAAAAAAFAAAP7//1YAAP3//1MAAPz//0oAAPb//z4AAPj//zQAAP///yUAABIAABQAACgAAAAAAD4AAPD//1IAAO3//18AAPL//2MAAPj//1gAAPz//0cAAAIAADYAAAkAACQAAA8AABEAABQAAAEAABYAAO///xQAAOD//xcAANb//yMAAM7//zAAAMb//zMAAML//yUAAMf//xIAANX//////+7///T//wYAAOn//yAAAN///zgAANv//0cAAOL//0EAAO///zAAAPf//x0AAPf//wwAAPH//////+3///H//+///+P///T//9j///f//87///v//8H//wEAALT//wcAAKb//wcAAKL///r//6v//+n//7v//9v//9D//9b//+v//9j//wgAAOP//yEAAPL//zAAAPr//zQAAPn//y4AAPP//yIAAOv//xUAAOb//wgAAOT///b//+X//+X//+f//9j//+r//8z//+3//77//+r//63//+D//6D//9P//5r//8r//5z//8j//6n//8z//8H//9X//+D//+L///////X//xoAAAYAACwAAA8AADgAABEAAD8AABEAAEIAABEAAEMAABYAAEQAAB8AAEIAACkAADkAADEAACkAADQAABcAAC4AAAYAAB8AAPn//wwAAO3///7//+T///f//+H///f//+X///z///D//wEAAPv//wMAAAQAAP///wgAAPf//woAAPH//w4AAO7//xUAAPT//x0AAAIAACQAABQAAC0AACQAADQAAC4AADUAADAAADEAACwAACQAACUAABQAACAAAAgAAB0AAAIAABoAAP7//xcAAPv//xMAAPb//wwAAPL//wQAAO////r//+v//+7//+r//+L//+7//9v///f//9r//wAAAOD//woAAO3//xMAAP///xcAABEAABoAACAAACAAACgAACYAACgAACgAACMAACUAAB4AABsAABsAAAwAABwAAP///xwAAPb//xcAAO///wsAAOX///n//9z//+b//9b//9b//9L//8v//9T//8j//9r//83//+P//9r//+7//+v///r///v//wcAAAcAABIAAA8AABYAABIAABYAAA8AABQAAAgAAA8AAAMAAAkAAAEAAAQAAAAAAP3///////X///v//+n///T//9z//+r//8///+H//8j//9r//8n//9n//9L//97//+D//+n///D///X///7//wEAAAcAAAgAAAsAAAkAAA8AAAYAABEAAAAAABEAAPz//w8AAPz//w8AAP7//w8AAAEAABAAAAMAAA8AAAIAAAkAAP////z///v//+3///f//+H///b//9////j//+b//wAAAPD//wkAAPn//w4AAP///w8AAAIAAAwAAAUAAAcAAAgAAAAAAAsAAPn//woAAPH//wgAAOv//wQAAOf//wAAAOb///3//+b///v//+n///j//+v///X//+////H///P//+////n//+///wIAAPL//w0AAPj//xoAAAAAACYAAAgAAC4AAA8AAC8AABcAACoAAB8AACIAACUAABoAACkAABMAACcAAA0AACIAAAoAAB0AAAgAABsAAAcAAB0AAAcAAB8AAAUAAB0AAAQAABkAAAQAABEAAAcAAAoAAA0AAAYAABQAAAMAABoAAAEAABwAAAAAABoAAP7//xQAAPv//woAAPf//wEAAPP///n///L///f///X///j///v///z//wQAAAAAAA0AAAQAABUAAAYAABgAAAgAABkAAAkAABgAAAoAABcAAAsAABgAAA0AABYAAA8AABEAAA8AAAgAAAoAAPz//wQAAPD///z//+X///P//9z//+r//9T//+L//9D//93//9D//9v//9X//97//9z//+T//+T//+v//+z///D///X///X///7///n//wgAAPz//xAAAAEAABcAAAYAABoAAAsAABgAABAAABIAABIAAAoAAA8AAAIAAAoAAPz//wMAAPX///3//+7///f//+b///H//97//+z//9n//+n//9n//+n//97//+n//+P//+n//+f//+j//+r//+b//+7//+X///T//+b///r//+n///7//+7///////P//wAAAPj//wIAAPz//wMAAAAAAAMAAAIAAAIAAAIAAAEAAAQAAP///wMAAPz//wQAAPv//wUAAPv//wYAAPz//wcAAPz//wcAAPz//wYAAP3//wIAAAAAAP7//wQAAPv//wgAAPr//wwAAPz//w4AAAAAAA8AAAUAABEAAAkAABIAAAwAABMAABAAABUAABMAABQAABQAABQAABUAABQAABUAABIAABQAAA8AABQAAAwAABQAAAkAABMAAAcAABEAAAYAAAsAAAYAAAUAAAUAAAAAAAUAAPz//wUAAPn//wMAAPj//wMAAPj//wQAAPv//wUAAP///wgAAAUAAAoAAAwAAAwAABEAABAAABMAABIAABQAABIAABYAABMAABcAABIAABgAAA4AABkAAAsAABkAAAoAABYAAAkAABEAAAgAAAoAAAcAAAQAAAIAAP7//wEAAPv//wAAAPv///7///v///////3//wAAAP7///7///7///////v//wAAAPr///7///b///////P///3///T///f///P///P///P///H///b//+z///X//+j///L//+j//+///+T//+r//+L//+f//+b//+r//+T//+r//+f//+r//+7//+7//+7///D///L///D///b//+////b//+3///r//+r///3//+v///r//+3///r//+////j///T///P///f///L///f///H///v//+7///r//+////j///H///r///H///n///b///r///r///3///v//////////wAAAAEAAAAAAAIAAAIAAAgAAAMAAAsAAAMAAAwAAAQAAA0AAAQAAA0AAAQAAAwAAAQAAAwAAAQAAAkAAAIAAAUAAAAAAAEAAP3///v///r///f///n///X///j///X///j///X///r///f///3///n//wEAAPz//wYAAAEAAAkAAAcAAA8AAA0AABEAABIAABUAABkAABgAAB4AABoAACIAAB0AACYAAB8AACYAACAAACUAACEAACIAAB8AAB4AAB4AABwAABwAABoAABsAABYAABkAABIAABgAAA8AABUAAAkAABEAAAcAAAsAAAUAAAYAAAIAAAEAAAIAAP3//wEAAPr///////j///z///f///r///f///f///f///X///f///b///j///j///r///z///3//wAAAAAAAAMAAAMAAAUAAAUAAAUAAAcAAAMAAAcAAAIAAAUAAAEAAAQAAP///wIAAP///wEAAP7//wAAAPz///7///r///v///f///j///P///b///H///P///D///L///H///H///H///H///L///H///P///H///P///D///P//+////H//+////D//+7//+7//+3//+v//+v//+f//+r//+T//+n//+H//+j//+D//+f//+H//+b//+b//+f//+r//+f//+7//+r///P//+7///f///L///r///X///v///n///z///3///z///////7//wAAAP///wMAAAEAAAUAAAMAAAcAAAUAAAkAAAcAAAkAAAkAAAgAAAoAAAgAAAwAAAcAAA0AAAYAABAAAAgAABIAAAkAABIAAAoAABIAAA0AABEAAA4AABAAAA0AAA8AAAsAAA4AAAkAAAwAAAcAAAoAAAgAAAgAAAgAAAgAAAkAAAkAAAsAAAoAAAoAAAsAAAgAAAwAAAkAAAsAAAgAAAwAAAkAAA0AAA0AAAwAABEAAA0AABUAAA0AABgAAA4AABgAABIAABYAABQAABQAABUAABMAABcAABEAABgAABAAABgAABAAABYAABAAABIAABAAAA0AAA8AAAcAAAsAAAMAAAgAAAAAAAYAAP///wUAAP7//wYAAP7//wcAAAAAAAgAAAIAAAgAAAQAAAcAAAYAAAUAAAYAAAMAAAYAAAAAAAUAAP7//wQAAP3//wEAAP///////wAAAPv///////j///7///T///r///D///b//+v///X//+f///L//+X//+///+T//+z//+X//+n//+f//+f//+n//+X//+z//+P//+7//+H//+7//+L//+z//+X//+r//+n//+f///D//+n///X//+3///n///L///z///b///7///j///7///n///3///f///v///f///f///j///L///n//+////n//+3///j//+z///j//+z///f//+7///f///D///j///T///n///j///r///v///v///7///v//wAAAPv///////r///////r///3///n///v///n///n///r///r///7///v//wUAAP3//w0AAP///xMAAAEAABcAAAYAABYAAAkAABQAAA4AABIAABEAABAAABMAAA8AABQAAAwAABUAAAoAABMAAAwAABQAAA4AABQAABEAABUAABMAABYAABUAABYAABoAABQAACIAABMAACYAABIAACYAABIAACMAABQAAB8AABUAABwAABcAABYAABcAAA8AABcAAAcAABYAAAIAABQAAAEAABEAAAQAAA0AAAgAAAoAAAkAAAcAAAoAAAQAAAkAAAIAAAgAAAAAAAYAAP7//wMAAP7//wAAAP////3//wEAAP3//wUAAP3//woAAAAAAA8AAAEAABIAAAQAABEAAAcAAA0AAAkAAAcAAAkAAAAAAAUAAPn///7///T///P//+///+f//+v//9///+n//9v//+f//9z//+b//+L//+n//+v//+7///P///T///r///j///7///r//wEAAPr//wEAAPb///////L///j//+3//+7//+v//+L//+j//9f//+r//9L//+r//9P//+z//9j//+7//9///+///+n//+7///b//+z//wMAAOr//wsAAOn//wsAAOn//wMAAOv///b//+7//+j///P//9r///f//87///r//8v///v//9X///v//+f///v///3///r//w4AAPj//xoAAPf//x4AAPX//x4AAPL//xgAAPH//w8AAPT//wUAAPz///3//wYAAPr//xEAAPz//xsAAAIAACIAAAkAACUAAA4AACMAAA8AAB8AABAAABcAABEAAA8AABUAAAcAABoAAP///x8AAPr//yIAAPj//x8AAPv//xoAAAIAABQAAAoAAA8AABAAAAsAABUAAAYAABkAAAIAABsAAAAAABoAAAMAABcAAAgAABIAAA0AAA0AABAAAAkAABEAAAUAABAAAAMAAA8AAAEAAA0AAAIAAAsAAAUAAAkAAAkAAAkAAA4AAAoAABQAAA0AABsAABAAACAAABQAACIAABcAAB8AABoAABkAABsAABEAABkAAAkAABIAAAIAAAcAAPz///r///f//+7///P//+b///H//+P//+///+b//+///+z///L///T///f///v///v//wAAAP7//wQAAP///wUAAPz//wQAAPn//wAAAPT///j///H//+3//+///+L//+7//9r//+///9j///H//9z///T//+L///X//+z///b///f///T//wUAAPL//xAAAPD//xUAAO///xEAAO///wYAAPL///b///T//+f///n//9f///v//83///z//87///v//9v///n//+7///f//wIAAPT//w8AAPH//xYAAO3//xUAAOj//xAAAOP//wYAAOL///n//+b//+3//+///+T///r//+P//wcAAOn//xIAAPH//xoAAPn//xwAAP3//xkAAP7//xIAAAAAAAgAAAMAAP7//wkAAPP//xAAAOr//xYAAOb//xgAAOj//xUAAPD//w8AAPz//woAAAgAAAcAABQAAAUAAB0AAAQAACQAAAMAACgAAAQAACgAAAkAACMAABAAABsAABUAABEAABcAAAgAABYAAAAAABMAAPr//w4AAPj//wgAAPv//wQAAAAAAAMAAAkAAAUAABIAAAkAABsAAA8AACQAABQAACsAAB0AACsAACUAACUAAC0AABgAAC8AAAoAACoAAP7//x4AAPX//w8AAPH//wAAAPD///X///X//+3///v//+b//wEAAOT//wgAAOf//w8AAO3//xQAAPT//xgAAPr//xgAAP///xIAAAIAAAcAAAYAAPv//woAAO///w0AAOX//xIAAN7//xYAANr//xUAANz//xEAAOT//wcAAPH///b///7//+H//wgAAND//w4AAMT//w8AAMb//wwAANX//wYAAOf///7///z///j//w0AAPT//xMAAPD//w8AAOr//wcAAOP///j//97//+r//+D//+P//+X//+L//+7//+j///j///T///////7//wMAAAAAAAQAAP3//wEAAPL///r//+T///L//9v//+3//9j//+v//9///+3///H///H//wgAAPX//xsAAPr//ycAAP3//yYAAPz//xcAAPn//wAAAPf//+3///b//93///n//9f///7//9v//wIAAOX//wUAAPX//wcAAAQAAAcAAAwAAAMAAA4AAP///wcAAP7///v//wAAAPX//wYAAPf//w4AAAQAABMAABcAABMAACgAAA4AADIAAAUAADQAAP///zQAAPn//y4AAPf//x8AAPz//w0AAAkAAPr//xYAAOz//yIAAOj//yYAAO3//ycAAPb//yMAAAEAAB4AAAgAABYAAAsAAAsAAAsAAAEAAAoAAPj//wcAAPD//wQAAOb//wMAAOD//wcAANv//xAAAN///xsAAOr//x4AAP///xsAABcAABUAACsAAAYAADcAAPX//z0AAOz//zwAAOb//zQAAOv//yYAAPz//xUAABAAAAUAAB4AAPb//ykAAOj//ygAANn//x0AAM///woAAM3///b//9b//+X//+f//+D///r//+L//woAAOT//xYAAOf//x0AAO3//x0AAPP//xcAAPn//wUAAPT///j//+v///D//+b///P//+v///L///b//+7//wQAAOT//woAANz//wsAANT//w4AANH//w0AANT//wkAAN3///v///T//+z//wgAANv//xYAAND//xgAAND//xMAANT//wYAANn///n//+P///L///L///H///3///j//wYAAPv//wcAAPv//wUAAPf///7///b///3//+z///r//+D///r//9n//wMAAOP//w8AAPn//xcAAAgAABIAAAsAAAkAAAcAAP3//wgAAPX//wYAAOn//wQAAOL//////9z//wAAAOT//wsAAPz//xcAABgAABcAACQAAAwAACIAAAYAABwAAPz//xAAAPP//wcAAO////////D///3///r///7//wgAAAcAABUAABAAABUAABUAABAAABcAAAoAABIAAAoAAAcAAAkAAPz//wsAAPP//wsAAPH//wwAAAAAAAwAABQAABEAACYAABAAACkAAAgAACMAAAUAAB0AAAcAABcAAA0AABAAABMAAAMAABcAAPj//xgAAPP//xYAAPf//w4AAAEAAAIAAAgAAPj//wcAAPX//wYAAPT//wUAAPb//wYAAP3//wMAAAYAAP7//w8AAP3//xUAAAQAABUAAAwAABEAAA4AAA8AAA8AAAoAABAAAAYAAA0AAAIAAAkAAAAAAAQAAPj///j//+3//+///+L//+b//9z//+D//9v//97//9z//97//+D//+L//+r//+v///X///T///3///H//wMAAOz//wcAAOz//wgAAO7//wQAAO///wEAAPX///7///v///z//wIAAP3//wgAAP3//w8AAPn//w8AAPL//wgAAOv///7//+X///X//+P///H//+X//+///+v//+7///b///H//wAAAPb//wYAAPn//wcAAPb//wYAAPT//wQAAPP//wEAAPT//wAAAPj//wEAAP3//wMAAAYAAAUAAA8AAAQAABUAAAEAABgAAP7//xkAAPv//xUAAPn//w4AAPv//wgAAP///wIAAAUAAPv//woAAPn//w4AAPn//w8AAPz//w0AAAAAAAkAAAMAAAcAAAYAAAoAAAwAAA4AABEAABMAABUAABgAABkAABwAAB0AABsAACAAABYAACAAABAAACEAAA4AACAAAA4AABwAABAAABgAABEAABMAABEAAA0AABAAAAQAAAsAAPv//wQAAPT//wAAAPD///3///D///z///P///z///b///7///r//wAAAPv//wEAAPz//wAAAP7///7//wAAAPr//wIAAPb//wUAAPT//wYAAPX//wUAAPj//wQAAPz//wIAAP3//wAAAPv///z///j///b///T///D///T//+r///b//+f///n//+j///z//+z///////L///////b///3///n///r///v///b///v///P///n///D///n//+z///j//+v///f//+v///X//+z///L//+3//+///+7//+z//+z//+r//+v//+j//+3//+f///L//+n///r//+v//wEAAPH//wUAAPj//wQAAP///wIAAAQAAAEAAAkAAAIAAA4AAAUAABIAAAgAABQAAAoAABQAAAgAABIAAAUAAA0AAAIAAAcAAAAAAAMAAAAAAP7//wAAAPv//wAAAPn///3///j///z///f///7///f//wIAAPn//wcAAPz//wkAAAEAAAoAAAYAAAgAAAwAAAcAABEAAAcAABUAAAsAABkAABAAABsAABQAABwAABQAABoAABIAABcAAA4AABMAAAsAAA4AAAoAAAkAAA0AAAcAAA8AAAQAABAAAAIAAA0AAAIAAAcAAAAAAAEAAP3///7///z///7///z//wEAAP7//wQAAAEAAAUAAAYAAAQAAAkAAAMAAAwAAAMAAAsAAAYAAAkAAAkAAAcAAAoAAAYAAAYAAAUAAP7//wIAAPb///3///L///j///P///H///j//+3///z//+z///3//+3///n///D///L///H//+7///H///D///H///j///L///////f//wIAAPz///z//wAAAPP//wEAAOz///7//+v///n///L///b///z///X//wIAAPf//wEAAPj///v///b///T///L///H//+7///X//+z///v//+////3///P///j///f//+7///r//+b///n//+X///T//+3///L///n///P//wIAAPn//wIAAP////7//wUAAPr//wUAAPz//wIAAAQAAAAAAA4AAAIAABMAAAgAAA8AAAwAAAQAAA4AAPr//wkAAPb//wIAAPz///3//wYAAPz//wwAAAAAAAoAAAQAAAEAAAgAAPj//wcAAPb//wQAAPz//wEAAAUAAAIAAAsAAAUAAAkAAAkAAAAAAAkAAPn//wUAAPj//////wAAAPz//woAAP3//xIAAAIAABEAAAcAAAsAAAoAAAIAAAoAAAgAAA0AABAAABAAAA4AAA4AAA4AAA4AAAwAAA0AAAwAAAwAAAsAAAsAAAoAAAoAAAkAAAkAAAgAAAcAAAYAAAYAAAUAAAUAAAQAAAQAAAMAAAMAAAIAAAIAAAEAAAEAAAAAAP////////7///7///3///3///3///z///z///z///v///v///v///v///r///r///r///r///r///r///n///r///n///r///n///r///r///v///r///v///r///v///r///v///v///z///v///z///v///z///z///3///z///3///z///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///z///3///z///3///z///3///3///3///3///3///3///3///3///7///7///7///7///////7//////////wAAAP///wAAAAAAAAEAAAAAAAEAAAEAAAIAAAEAAAIAAAIAAAMAAAIAAAMAAAMAAAMAAAMAAAQAAAMAAAQAAAMAAAQAAAMAAAQAAAMAAAQAAAMAAAQAAAMAAAQAAAMAAAQAAAMAAAMAAAMAAAMAAAMAAAMAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAEAAAIAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAIAAAEAAAIAAAEAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAIAAAMAAAIAAAIAAAIAAAIAAAIAAAEAAAEAAAEAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAP////////////////7///////7///7///7///7///3///7///3///7///3///7///3///7///3///7///3///7///3///7///3///7///3///7///3///7///3///7///3///7///3///7///7///7///7///7///7///7///7///7///7///7///7///7///7///7///7///7///7///7///7///7///7///3///7///3///7///3///7///3///7///3///7///3///7///3///7///7///7///7///7///7///7///7///////7//////////////////////////wAAAAAAAAAAAAAAAAAAAAEAAAEAAAEAAAEAAAEAAAEAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAMAAAIAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////////////////////////////////////////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAMAAAIAAAMAAAIAAAMAAAIAAAMAAAIAAAMAAAIAAAMAAAIAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAEAAAIAAAEAAAEAAAEAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP////////////////7///////7///////7///////7///////7///////7///7///7///7///7///////7///////7///////7//////////////////////////////////////////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAEAAAIAAAEAAAIAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAEAAAEAAAEAAAEAAAEAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAP///wEAAP///wEAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP////////////////////////////////////7///7///7///7///3///7///3///7///3///7///z///3///z///3///z///3///z///3///z///3///z///3///z///3///z///3///z///3///z///7///3///7///3///7///3///7///7///////7//////////////////wAAAAAAAAAAAAAAAAAAAAEAAAEAAAEAAAEAAAEAAAEAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAMAAAIAAAMAAAIAAAMAAAIAAAMAAAIAAAMAAAIAAAMAAAIAAAMAAAIAAAMAAAIAAAMAAAIAAAQAAAIAAAQAAAIAAAQAAAIAAAQAAAIAAAQAAAIAAAQAAAIAAAQAAAMAAAQAAAMAAAQAAAMAAAQAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAIAAAMAAAIAAAMAAAIAAAMAAAEAAAMAAAAAAAIAAAAAAAIAAP///wEAAP///wEAAP7//wAAAP7//wAAAP3///////3///////z///7///z///7///z///3///z///3///z///3///z///3///z///z///z///z///z///3///3///3///3///3///7///3///7///3///////3///////7///////7//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP3//wAAAP3///////z///////z///7///v///7///v///3///r///3///r///z///n///v///n///v///n///v///n///z///r///z///r///v///r///v///r///r///v///r///3///v//wAAAPz//wIAAP3//wEAAP7//wAAAP3///////3///7///3///////7//wAAAP///wIAAAAAAAIAAAAAAAMAAP///wMAAP///wMAAP///wIAAP7//wEAAP7///////3///////7//////////wEAAAAAAAMAAAIAAAQAAAMAAAQAAAMAAAMAAAMAAAIAAAMAAAIAAAIAAAEAAAIAAAEAAAIAAAAAAAMAAAAAAAQAAAIAAAUAAAYAAAUAAAgAAAUAAAgAAAQAAAcAAAUAAAQAAAUAAAEAAAUAAP///wQAAAAAAAMAAAEAAAEAAAEAAP////////3///3///z///v///7///r//wAAAPr//wEAAPv//wEAAPz///////z///7///z///7///7//////wAAAAEAAAEAAAIAAAEAAAEAAP////////3///7///v//wAAAPz//wIAAP///wUAAAIAAAYAAAQAAAUAAAQAAAQAAAIAAAQAAAMAAAUAAAUAAAcAAAcAAAcAAAgAAAcAAAUAAAYAAAQAAAYAAAcAAAcAAA0AAAsAABIAAA4AABEAABEAAA0AAA8AAAoAAAwAAAoAAAkAAAsAAAcAAAoAAAgAAAcAAAcAAAQAAAUAAAMAAAAAAAQAAPz//wMAAPn//wEAAPn///7///v///v///v///n///v///n///n///v///j///z///j///3///n///3///n///z///v///v///v///v///v///3///v///7///z///7///3///7///7//////////wEAAP///wMAAP///wQAAP7//wQAAP7//wEAAP7///7///7///v///3///v///7///3///7//wAAAAAAAAIAAAEAAAIAAAIAAAEAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAEAAAQAAAIAAAUAAAEAAAUAAAIAAAUAAAMAAAQAAAUAAAQAAAYAAAMAAAQAAAEAAAIAAAEAAP7///////v///////v///7///z///7///7///7///////3///////3///7///3///3///3///7///7///3///7///3///7///3///7///z///7///3///3//wAAAP3//wIAAP3//wIAAP3//wEAAP3///7///3///v///3///v///3///3///7///////7//wAAAP7//wEAAP///wEAAP///wIAAAAAAAMAAAAAAAQAAAEAAAIAAAAAAAAAAP////3///7///7///7//wEAAP7//wQAAP7//wQAAP7//wAAAP3///3///v///3///r///////n///7///n///z///n///r///n///v///n///////n//wIAAPr//wIAAPz//wAAAP///////wAAAAEAAAAAAAMAAAEAAAUAAAIAAAYAAAUAAAgAAAYAAAkAAAcAAAoAAAcAAAkAAAcAAAcAAAcAAAUAAAYAAAMAAAYAAAIAAAYAAAEAAAYAAAEAAAYAAAEAAAYAAAEAAAYAAAAAAAUAAP7//wUAAPz//wUAAPv//wUAAPn//wQAAPn//wQAAPr//wMAAPv//wMAAP3//wQAAP///wQAAP///wQAAP7//wMAAPz//wEAAPr///////j///7///j///3///n///z///r///v///v///r///3///n///3///j///7///r///7///7//////wEAAAAAAAQAAAIAAAYAAAUAAAgAAAkAAAoAAAwAAAwAAA4AAA0AAA4AAA4AAA0AAA0AAAsAAAwAAAkAAAoAAAcAAAkAAAUAAAcAAAMAAAQAAAIAAAEAAAIAAPz///7///z//wIAAAIAAA4AAPv//wYAAPX//wIAAPD//wIAAO///wIAAPT//wMAAPf//wEAAPr///7//wAAAPz//wkAAPz//xAAAP3//xMAAP7//xAAAP///w8AAP///w8AAP///wkAAAEAAAAAAAIAAPX//wQAAPD//wQAAPD//wEAAO////z//+n///X//+L//+///9///+7//+P//+7//+r//+3//+///+v//+///+j///D//+f///b//+f//wEAAOn//wgAAOz//wkAAO///wcAAPH//wUAAPH//wMAAPH//wIAAPT///////r///3//wAAAPv//wUAAPf//wUAAPf//wcAAPf//wkAAPj//wgAAPr//wgAAPr//wgAAP7//wgAAAUAAAcAAA4AAAYAABcAAAMAABoAAAIAABUAAAQAAA4AAAcAAAoAAAgAAAsAAAcAAA0AAAYAAA4AAAYAAA4AAAkAAA0AAA0AAA0AABAAAA8AABMAAA4AABYAAA4AABgAAA0AABgAAAwAABcAAA8AABcAABIAABgAABQAABcAABUAABMAABIAAA8AAA8AAAoAAAsAAAcAAAQAAAUAAP3//wUAAPf//wYAAPT//wUAAPX//wIAAPj///////r///3//wAAAPz//wQAAPz//wYAAP///wgAAAMAAAYAAAYAAAQAAAoAAAAAAAwAAAAAAAwAAAIAAAsAAAUAAAgAAAgAAAUAAAoAAAAAAAoAAPr//wYAAPf///7///b///b///X//+3///f//+j///j//+j///r//+r///v///D///f///P///L///L//+v///H//+X//+3//+L//+j//+P//+P//+f//97//+3//97///P//+L///n//+j///v///D///r///P///X///X//+3///X//+X///L//97///P//9z///P//+D///b//+r///v///j//////wcAAAMAABEAAAMAABQAAP7//w8AAPn//wUAAPL///j//+z//+3//+r//+n//+v//+n///D///D///f///v//////wcAAAUAABAAAAgAABUAAAcAABQAAAMAAAwAAP7//wAAAPz///H///7//+X//wQAAOD//w0AAOT//xMAAPL//xgAAAcAABYAABsAAA4AACkAAAIAAC8AAPb//yoAAPD//x0AAPH//w0AAPz//wEAAA4AAPz//yEAAAAAADAAAA0AADcAABwAADUAACkAACsAADAAAB4AAC4AABAAACcAAAkAAB0AAAoAAA8AABAAAAQAABkAAPz//yAAAPn//yQAAPz//yAAAAQAABUAABAAAAgAABoAAPn//x8AAOz//x0AAOf//xMAAO3//wUAAPv///b//w4AAOv//x8AAOn//ykAAO7//ycAAPn//xgAAAQAAAIAAAwAAOv//w0AANv//wYAANn///z//+b///L///3//+r//xQAAOj//yUAAOz//ygAAPb//x8AAAEAAAwAAAsAAPT//xEAAOD//xMAANb//w8AANn//wgAAOf///////z///b//xAAAPH//x0AAPD//x8AAPL//xcAAPf//wYAAPz///H///7//97///z//9P///j//9b///H//+f//+n///3//+X//xEAAOb//xoAAOv//xgAAPL//w0AAPv///r//wMAAOj//wkAANn//wwAANX//w0AAN3//wsAAPD//wUAAAcAAAAAABoAAP///yMAAAIAAB4AAAYAAA4AAAYAAPj//wIAAOX///3//9v///n//9z///X//+f///D///j//+r//wgAAOT//xAAAOL//w0AAOT//wEAAOn//+///+z//93//+///9P///P//9P///f//93///3//+7//wEAAAEAAAMAABEAAAQAABkAAAYAABcAAAoAAAkAAAsAAPb//wUAAOP///v//9X///D//9P//+n//9z//+j//+z//+f///r//+T//wMAAOP//wQAAOb///3//+7///D///j//+L//////9f//////9b///r//+P///b///r///T//xIAAPb//yQAAPr//yoAAAAAACMAAAoAABQAABYAAAMAACAAAPf//yMAAPH//xwAAPT//xAAAAAAAAQAABAAAP3//x8AAPv//yQAAPz//x0AAAAAAAwAAAcAAPj//w4AAOr//xMAAOT//xQAAOn//xAAAPf//woAAAkAAAYAABsAAAUAACgAAAcAAC0AAAsAACgAABAAABoAABQAAAoAABYAAPz//xYAAPf//xIAAP3//wsAAAwAAAQAAB4AAP///ysAAP7//y8AAAEAACoAAAYAABsAAA0AAAgAABUAAPj//xsAAO7//yAAAPD//yEAAP3//x4AABMAABgAACoAABUAADoAABYAAD0AABoAADMAAB0AAB4AABsAAAkAABcAAPv//xMAAPb//w8AAPz//wsAAAwAAAUAAB0AAP///ysAAPv//y4AAPr//yYAAP7//xcAAAEAAAQAAAQAAPT//wYAAO7//wkAAPL//w0AAP7//xIAABAAABQAACEAABMAACwAABIAAC4AABQAACMAABYAABEAABIAAPn//wgAAOX///z//9n///D//9n//+z//+P//+n///H//+b///v//+D//wAAAN7///v//+H//+///+n//9////H//8////X//8P///H//8X//+z//9X//+j//+z//+f//wMAAOf//xMAAOn//xUAAO3//wwAAPj///7//wUAAO///xAAAOP//xEAANv//wcAANr///f//+L//+j///H//93///7//9X//wEAAM////n//8///+j//9T//9b//9z//8v//+P//8X//+f//8f//+X//8///+L//9v//+P//+v//+b///z//+r//wcAAO///wsAAPT//wYAAPr///7//wEAAPf//wgAAPT//wsAAPH//wgAAPD///z//+///+z//+7//9v//+z//83//+T//8P//9j//8H//8v//8v//8P//+P//8P//wAAAMn//xcAANr//yEAAPP//yIAABEAACEAAC4AAB8AAEAAABYAAEUAAAkAAEAAAAAAADYAAAAAACoAAAYAABkAABAAAAcAABgAAPn//xwAAPT//x8AAPb//yEAAPr//yIAAP///yEAAAMAABoAAAoAABEAABAAAA0AABcAAA4AABwAAA8AAB8AAAsAACIAAAYAACMAAAQAACIAAAkAABwAAA0AABMAAA0AAAcAAAkAAPz//wcAAPb//woAAPT//xIAAPf//xoAAP7//x4AAAgAACIAABMAACQAAB8AACEAACkAABcAAC4AAAcAAC8AAPr//y0AAPL//yUAAO7//xYAAO7//wUAAPL///b///n//+7//wIAAO7//wwAAPP//xQAAPz//x0AAAgAACUAABUAACsAACEAAC8AACgAAC4AACsAACgAACwAAB4AACwAABIAACoAAAgAACQAAAIAABkAAAEAAA0AAAEAAAEAAP////b///z//+3///n//+j///n//+X///n//+X///n//+j///z//+3///7///X///7///7///z//wkAAPr//xYAAPn//x8AAPr//yQAAPv//yMAAPz//xsAAPv//xEAAPn//wQAAPn///j///z//+3///7//+f//wAAAOX//wIAAOf//wIAAOr//wEAAO3//wAAAPD//wAAAPH//wAAAPL///z///L///T///P//+3///T//+f///X//+L///f//9////v//9////3//+D///z//+H///n//+T///P//+n//+v//+///+b///b//+X///v//+j//////+z//wUAAPL//w0AAPr//w8AAAIAAAsAAAkAAAcAAAsAAAYAAAoAAAYAAAcAAAUAAAIAAAMAAPv///////P///n//+////H//+///+r///D//+X//+7//+H//+n//9///+P//+H//9z//+P//9j//+X//9n//+j//97//+3//+T///j//+v///////T///7///r///f///3///D///7//+////z///D///P///L//+f///H//+P//+7//+X//+3//+X//+v//+T//+z//+X//+7//+b//+3//+j//+j//+z//+P//+///+P//+7//+L///T//+f///////b//wkAAAMAAA4AAAgAABcAAAoAACAAAA8AACIAABMAACAAABUAAB4AABsAABoAACEAABAAACEAAAoAAB4AAA0AAB4AABAAACEAABAAACUAABMAACgAABkAACoAABsAACYAABoAACAAAB0AABkAAB8AABQAAB8AAA8AACMAAA0AACgAABAAACgAABIAACYAABQAACgAABkAACoAACAAACYAACYAACIAACwAACAAADAAACAAADEAACIAADEAACcAADAAACoAAC4AACgAACwAACUAACkAACQAACYAACMAACEAAB8AABoAABcAABMAABAAAAwAAAoAAAUAAAEAAP3///z///X///j//+7///H//+j//+j//+T//+P//+L//+L//+L//+P//+P//+T//+b//+X//+r//+f//+3//+r//+z//+z//+r//+z//+j//+z//+X//+n//+P//+n//+H//+n//+D//+T//9///9///+H//97//+L//9///+T//+H//+b//+L//+j//+L//+r//+P//+r//+X//+f//+b//+T//+f//+P//+r//+L//+v//+L//+7//+X///H//+f//+7//+v//+n//+3//+b//+///+T//+///+P//+7//+T//+7//+X//+7//+j///D//+3///L///H///X///X///r///j///7///n//wEAAP3//wMAAAMAAAIAAAQAAAEAAAQAAAAAAAcAAP///woAAP///wsAAAEAAA0AAAQAAA0AAAkAAA8AAA4AABIAABIAABQAABYAABcAABsAABkAAB8AABoAACIAAB4AACQAACMAACQAACQAACUAACQAACQAACUAACQAACUAACIAACMAACAAAB8AABwAABgAABcAABIAABEAAA8AAAkAAA4AAAMAAA0AAAAAAAkAAP///wcAAP///wcAAAEAAAcAAAQAAAUAAAYAAAYAAAgAAAgAAAoAAAkAAAwAAAwAAA8AAA4AABIAAA0AABQAAAsAABQAAAsAABQAAAsAABMAAAwAABIAAA0AABEAAA4AAA8AAA4AAAwAAAwAAAoAAAwAAAcAAAwAAAQAAAoAAAIAAAcAAAEAAAUAAP7//wMAAPn//wAAAPX///3///X///r///b///j///n///f///z///T///7///H///v//+3///f//+r///P//+f//+7//+b//+v//+X//+r//+X//+v//+L//+z//97//+z//9r//+n//9r//+X//9r//+P//93//97//+D//9r//+T//9r//+j//9z//+v//97//+3//+H///H//+X///f//+r///////D//wQAAPX//wUAAPr//wIAAAAAAPz//wQAAPf//wgAAPT//wwAAPP//w8AAPX//xAAAPf//w8AAPn//w4AAPr//wwAAPv//wcAAPv//wAAAP3///n//wAAAPT//wUAAO7//wcAAOv//wwAAOr//wsAAOv//wcAAO3//wMAAPD///7///L///n///X///P///j//+////z//+3//wIAAO7//wcAAPH//wwAAPf//w4AAP7//w8AAAUAAA8AAAsAABAAABAAABEAABUAABAAABgAABAAABkAABEAABoAABMAABkAABUAABgAABYAABYAABUAABMAABMAABAAAA8AAA0AAAsAAAwAAAYAAAsAAAIAAAkAAAIAAAkAAAQAAAoAAAcAAAsAAAkAABEAAAsAABYAAAsAABsAAA0AAB0AABEAABsAABUAABcAABkAABEAABoAAA0AABcAAAoAABEAAAgAAAoAAAYAAAMAAAUAAP3//wEAAPv///v///n///b///n///T///f///b///X///3///L//wMAAPP//wkAAPf//wsAAP3//wgAAAMAAAUAAAgAAAQAAAkAAAUAAAYAAAcAAAMAAAgAAAIAAAcAAAEAAAMAAAAAAP3//wAAAPX//////+7///z//+f///n//+j///X//+3///L///L///T///X///n///f//wAAAPb//wYAAPb//wYAAPb//wIAAPn///3///v///v///////r//wQAAPr//wcAAPj//wYAAPb//wUAAPf//wIAAPr//wAAAPz///7///////3///////r///z///f///v///X///7///P//wEAAO///wAAAOv///r//+j///D//+b//+j//+X//+T//+T//+b//+P//+z//+H///D//+L///L//+b///H//+7//+7///X//+b///z//97//wAAANn//wAAAN////v//+v///P///j//+z//wAAAOn//wMAAO3//wAAAPj///3//wQAAAIAAA8AAA4AABQAABoAABUAACEAABUAACEAABgAACAAACAAACUAACoAACoAADQAAC8AADoAADAAADoAADAAADQAADAAACcAADAAABoAACsAABIAACQAAA8AABsAAA8AABMAABIAABAAABYAABEAABUAABAAABAAAA8AAAsAAA4AAAwAAAoAAA4AAAYAABAAAAQAAA8AAAAAAA0AAP7//woAAP///wYAAP///wEAAP////3///////j///7///X///r///T///X///L///H//+7//+///+3///L///H///X///f///b///v///f///////j///7///r///v///z///z///v///v///n///f///b//+////H//+j//+r//+b//+L//+b//9z//+P//9X//9T//9H//8b//8///8f//9D//9L//9X//9j//9z//9n//+D//93//9///+H//97//+f//+H//+///+n///L///D//+3///L//+b//+7//+b//+7///D///v//////wgAAAQAAAoAAP3//wIAAPX///r///7///b//w0AAPf//w0AAPn///////X///D//+7///D//+r///3///H//wcAAAAAAAQAAAsAAPz//wsAAPv//wUAAAcAAAUAABcAAA4AACAAABgAACAAAB8AAB0AACAAACIAAB4AAC0AAB0AADAAACMAACoAACoAACMAACwAAB8AACcAAB4AAB0AABoAABUAABEAABMAAAYAABIAAP///wgAAAEAAP7//wMAAPv//wAAAP////7//wEAAAEAAAEAAAkAAAMAAAwAAAQAAAoAAAYAAAcAAAwAAAcAAA4AAAoAAA8AAA4AABEAABAAABQAAA4AABYAAA0AABQAABAAABIAABUAABQAABYAABUAABEAABMAAAgAAA0AAP7//wYAAPr//wEAAPv///7///z///3///n///7///f///z///r///j///3///X///7///X///v///r///b///3///P///7///T///3///r///3///3///////z//wAAAPv//wAAAP3//wAAAP///wAAAP///wMAAPv//wYAAPj//wcAAPf//wUAAPr//wIAAP3//wEAAP3//wEAAPr//wEAAPj///3///b///f///b///H///P///D//+7///T//+7///n///H///3///j///////7///7//wQAAP7//wkAAP3//wwAAPz//xAAAPv//xEAAPz//xAAAP3//w8AAP///w4AAP///wwAAAEAAAkAAAIAAAMAAAQAAP///wgAAPz//wkAAPr//woAAPb//wcAAPb//wQAAPf//wIAAPz///z//wAAAPf//wEAAPP///////T///7///b///////X///////X///7///P///v///D///n///D///j///H///T///L//+7///H//+f//+///+L//+3//9///+f//97//+L//9///9///+D//9///+D//+H//+D//+H//+H//+D//+T//97//+n//9z//+///93///L//+H///L//+j///D///D///H///j///L//wIAAPX//woAAPr//xEAAAAAABUAAAgAABgAABAAABgAABgAABUAABsAABMAABoAABMAABYAABYAABMAABgAABMAABUAABkAAA8AAB8AAAoAACAAAAgAABwAAAwAABgAABIAABUAABUAABEAABMAAA0AABMAAAkAABQAAAkAABgAAA8AAB4AABoAACQAACQAACkAACkAAC0AACsAADAAACsAADIAACsAADUAACwAADMAACwAACwAACwAAB8AACgAAA8AACMAAAAAABwAAPb//xIAAPP//wYAAPT///f///P//+r///P//+H///L//93///T//97///r//+D//wIAAOf//woAAPT//wwAAAIAAAcAABAAAAAAABgAAPz//xgAAP///xMAAAYAAA0AAAoAAAsAAAkAAAoAAAMAAAQAAPv///n///H//+n//+n//9j//+X//8v//+T//8b//+P//8T//9v//8X//87//8f//8D//8z//7b//9f//7f//+T//8H//+v//87//+r//9X//+P//9f//9v//9b//9T//9X//83//9f//8f//9///8X//+7//8n///r//9T///j//+H//+j//+b//9D//9///7///9L//8L//87//9v//9n///n///T//wYAABQAAP3//ygAAOj//ygAANn//xcAAN3///////v///D//ycAAPb//1AAABAAAGUAADIAAGIAAE4AAFEAAFkAAEEAAFQAAD0AAEkAAEIAAEYAAEcAAE4AAEYAAFwAAD8AAGYAADoAAGUAADgAAFoAADoAAEgAADsAADMAADsAACMAADsAABsAADwAAB4AAD0AACcAADwAAC8AADkAADEAADQAAC0AAC8AACgAACwAACUAACwAACUAACwAACUAACcAACIAAB0AABsAAAwAABEAAPj//wYAAOj///n//97//+z//9r//9z//9n//83//9b//8H//9P//7n//9H//7j//9P//7j//9n//7z//+H//8b//+X//9T//+P//+P//9z//+///9b///T//9X///L//9z//+7//+P//+r//+b//+v//+P//+r//97//+T//9j//9n//9H//8n//87//7z//8///7b//9P//7b//9L//7n//8z//77//8L//8X//7n//9L//7j//+P//8P///P//9X///v//+T///v//+3///b///L///T///T///D///j//+z//////+n//xAAAOv//yMAAPb//ysAAAcAACIAABMAAAgAABIAAOv//wIAAN7///D//+z//+///w4AAAQAACgAACsAACUAAE4AAAQAAFkAANv//0YAAMP//xoAAM7//+z///7//9P//z4AAN7//3AAAAUAAH8AADUAAGgAAFUAAD8AAFcAACIAAEIAAB0AACoAACkAACMAADIAADUAADAAAFMAACEAAGkAABEAAGcAAAoAAEkAAAwAABkAABUAAOn//x8AAMz//ykAAMz//zAAAOL//y8AAPn//yIAAAIAAAoAAPj//+z//+n//9T//+b//87///r//9b//yAAAOr//0EAAAAAAEwAAAwAADYAAAcAAA0AAPb//9z//+f//7X//+f//6r///T//7L//wUAAMv//xMAAOL//xEAAO7//woAAOr///n//9z//+z//9n//93//+j//9P//w4AAMv//y4AAL///0AAALz//ywAALz//wMAAMv//9f//+D//7r///b//6///wcAAKz//xAAALD//xQAALD//xQAALj//xEAAMP//woAANX///3//+r//+n//wMAAND//xwAAL7//zQAALz//0kAAMv//08AAOT//0cAAPr//y4AAAAAAAMAAPf//9f//+z//6z//+///47//wcAAIr//y8AAKf//1UAAOb//2cAADcAAFIAAHsAABoAAJMAANz//3wAALj//0gAAMz//xgAABAAAA0AAG0AADcAALMAAIQAAMMAAMgAAJwAANcAAE4AAJ0AAAEAACoAANH//6f//9f//1T//wwAAFH//00AAJz//3EAABYAAG8AAIUAAEUAALwAAP///6IAALj//0kAAIX//9///3b//43//5f//3L//9n//5D//xwAAM7//0QAAA4AAEgAACgAACUAAA0AAOf//87//7P//4X//5b//1T//43//0X//5T//2P//6D//5n//6P//9D//5n///r//4z//wsAAJL//wQAAKr///X//87//+P///H//9T//wIAAMn///7//8D///D//7v//+H//8H//+b//9X//wEAAPj//ysAACQAAFQAAEwAAGoAAGsAAGkAAHEAAFUAAF4AAC0AAEEAAAgAACcAAO3//yEAAO///zIAAA4AAFIAAEAAAHoAAHMAAI0AAJYAAIYAAI8AAGgAAHAAAD0AAEUAABMAABwAAPT//w0AAOj//xgAAPj//zQAABUAAE4AADkAAFQAAFcAAEMAAGMAACYAAFoAAAkAADUAAPL///3//+v//8j//+X//6f//9r//5///9H//6v//8T//8X//7T//+T//7D///T//7H//+3//7L//8r//7f//5z//8D//3D//8H//2D//7r//3n//7n//6v//7L//97//6T//wwAAKj//yAAALr//xEAAM3//+3//+P//8L///D//57///H//5H//+7//6j//+7//9L///P//wAAAPP//ykAAPb//zsAAPb//zEAAPf//xsAAPr//wEAAAoAAPL//yYAAPb//zkAABEAAD8AADcAADgAAFIAACIAAFkAABEAAE8AAA8AADwAACIAAB4AADwAAAcAAE8AAAEAAF8AAAYAAFgAABkAAEQAAC8AADAAAEIAACAAAEQAABYAAD8AABwAADIAAB4AACUAABwAACAAABwAAB0AABEAABUAAAoAAAkAAAAAAAsAAPb//w0AAPT//wYAAPX///b///X//+H///P//9P///L//9P//+v//9r//+j//+T//+7//+f///D//+j//+r///P//+j///r//+L///L//9n//+r//9j//+P//93//+X//+D//+r//+P///D//+X//+j//+P//9f//9z//9L//9b//8///9z//8///+X//9j//+3//+D///L//+b///D///X//+n//wIAAOf//woAAOv//wkAAPP//wwAAP///w8AAA4AAA4AABgAAA4AAB0AABMAACMAABoAACUAABoAACcAAB4AACwAACMAADEAACMAADEAACUAADEAACkAAC0AACsAACYAACwAAB8AADAAAB8AAC8AACEAACsAACEAACoAACEAACcAACAAAB4AAB0AABMAABgAAA8AABMAAAgAABIAAAMAABIAAAIAAA8AAAEAAAoAAP///wMAAP3///v///3///H///n//+z///X//+r///H//+n//+v//+j//+b//+X//97//9///9f//9r//9H//9j//8z//9n//8r//9r//8v//9v//9D//9n//9X//9b//9v//9P//+L//9H//+f//9H//+z//9P//+///9j///P//+D///b//+j///j///P///v///7//////wcAAAEAAA0AAAEAABIAAAAAABUAAAAAABYAAAMAABYAAAgAABgAAA8AABkAABcAABkAAB4AABkAACUAABcAACsAABUAACwAABQAACsAABQAACkAABMAACQAABQAAB8AABQAABsAABYAABcAABcAABUAABoAABQAABwAABEAABoAAA0AABYAAAgAABEAAAIAAAwAAP7//wgAAP3//wUAAPz//wMAAPv///////3///n///7///L///v//+v///X//+X//+///+P//+n//+L//+T//+H//+P//+D//+L//93//+H//9v//+H//9v//+P//93//+T//+L//+X//+j//+b//+7//+n///T//+z///n///H///////j//wQAAP///wYAAAcAAAUAAA4AAAQAABEAAAcAABIAAAgAABEAAAoAABAAAAwAABAAAA4AABEAABIAABYAABYAABoAABoAAB0AABwAAB4AAB8AAB8AAB8AACEAAB0AACIAACEAACUAACUAACgAACkAACkAACoAACkAACkAACgAACYAACQAACUAAB4AACQAABcAAB4AAA8AABgAAAgAABQAAAAAAA4AAPj//wUAAPH///z//+v///T//+j//+z//+f//+f//+T//+D//+P//9j//+D//8///93//8f//9n//8T//9f//8P//9X//8X//9D//8n//83//8z//8r//87//8j//9D//8T//9L//8T//9P//8X//9X//8f//9j//8///9z//9n//97//+P//+H//+z//+X///b//+j//wIAAO3//w4AAPP//xkAAPv//yAAAAMAACUAAAwAACsAABcAADAAACIAADIAAC0AADQAADYAADYAAEAAADgAAEgAADcAAE4AADQAAFIAADIAAFMAAC8AAFAAACsAAEwAACcAAEUAACQAADwAACEAADMAAB8AACkAAB4AAB8AABwAABUAABoAAAsAABgAAAIAABQAAPr//xEAAPT//wwAAPD//wYAAO7//wAAAO3///n//+7///H///D//+f///T//97///f//9X///r//87///r//8n///j//8b///P//8j//+z//8v//+X//9T//9///93//9j//+X//9L//+///8z///b//8f///3//8b//wAAAMj//wEAAND//wAAANr///3//+X///n///H///P///3//+3//wgAAOj//xMAAOT//xwAAOP//yIAAOX//yQAAOr//yIAAPL//x4AAPr//xcAAAIAAA4AAAsAAAYAABQAAP3//xwAAPP//x8AAOv//yAAAOb//x4AAOT//xsAAOX//xYAAOn//xEAAO///wwAAPX//wcAAPz//wMAAAMAAP7//wsAAPj//xIAAPX//xcAAPb//xsAAPf//x0AAPf//x0AAPn//xwAAPv//xgAAP3//xEAAAIAAAkAAAYAAAIAAAYAAPr//wUAAPP//wkAAO3//w4AAOn//xEAAOb//xMAAOX//xIAAOj//w0AAO7//woAAPf//wsAAAEAAAkAAAwAAAQAABYAAAAAAB4AAAEAACQAAAQAACgAAAcAACoAAAoAACgAAA0AACUAABAAAB8AABYAABkAAB0AABEAACIAAAkAACUAAAEAACUAAPn//yEAAPP//xsAAPD//xoAAPH//xcAAPX//wsAAPr///v///v///X///v///j///////j//wYAAPT//wsAAPH//w8AAPH//w8AAPP//wcAAPX///3///b///////b//wQAAPX//wIAAPT///7///D///j//+3///D//+n//+r//+X//+n//+D//+n//97//+T//97//9z//93//9b//93//9T//97//9b//+D//9z//+X//+D//+z//+D//+///+D//+3//+H//+v//+b//+3///D///D///r///H///7///P//wAAAPf//wQAAPr//wkAAP7//wwAAAIAAA8AAAQAABAAAAQAAA8AAAYAAA8AAAoAABEAAA4AABQAABAAABgAAA8AABsAABAAAB4AABAAACAAABEAACIAABIAACQAABMAACUAABUAACUAABYAACIAABYAAB0AABgAABgAABgAABMAABgAABEAABYAABAAABMAABAAABAAABAAAAoAAA4AAAUAAAoAAAEAAAYAAAAAAAMAAP///wEAAP7///////////z//wAAAPj//wAAAPL//////+z//wAAAOf//////+T///7//+L///z//9////r//9v///j//9j///X//9X///P//9X///H//9j//+///97//+///+T///D//+n///T//+3///f///D///r///L///7///f//wEAAP3//wIAAAUAAAEAAAsAAAEAABAAAP///xUAAP3//xgAAPn//xoAAPj//xsAAPz//xkAAP7//xUAAP///w8AAAAAAAoAAAEAAAYAAAEAAAQAAAEAAAUAAAEAAAYAAAEAAAgAAAEAAAoAAAEAAAwAAAAAAA4AAAAAAA4AAP///wwAAP///wsAAP7//woAAP7//wsAAP7//wsAAP///woAAAAAAAcAAAAAAAQAAAEAAAEAAAIAAP3//wMAAPn//wMAAPX//wQAAPD//wQAAO3//wQAAO3//wUAAO///wUAAPL//wUAAPb//wUAAPr//wUAAP///wUAAAEAAAQAAAAAAAQAAP7//wQAAP3//wMAAPr//wMAAPn//wIAAPj//wIAAPn//wIAAPz//wEAAP///wEAAAMAAAEAAAQAAAAAAAQAAAAAAAIAAP///wAAAP////7//////////wAAAAIAAAAAAAcAAAAAAAwAAAAAABIAAAEAABcAAAEAABoAAAIAABoAAAIAABcAAAIAABIAAAIAAAoAAAIAAAMAAAIAAP7//wIAAPr//wEAAPf//wAAAPX///////X///////X///7///P///z///H///v//+////r//+7///r//+3///r//+7///n//+////n///L///n///b///n///v///n//wAAAPr//wQAAPr//wUAAPv//wUAAPz//wMAAP3//wEAAP7///////////7//wAAAP7//wAAAAAAAAAAAAEAAAEAAAMAAAEAAAQAAAIAAAQAAAIAAAQAAAIAAAQAAAMAAAQAAAMAAAMAAAQAAAEAAAQAAAAAAAQAAAEAAAUAAAIAAAUAAAMAAAYAAAYAAAYAAAcAAAYAAAcAAAUAAAQAAAUAAAIAAAQAAAAAAAQAAP7//wMAAP7//wMAAAAAAAIAAAIAAAIAAAUAAAEAAAUAAAEAAAUAAAEAAAUAAAEAAAQAAAEAAAIAAAEAAAAAAAEAAP3//wEAAPv//wEAAPv//wAAAP3//////wAAAP7//wMAAP7//wcAAP3//wkAAPz//woAAPv//wkAAPr//wcAAPn//wQAAPn//wIAAPj///////j///7///j///7///j///3///j///v///j///v///n///j///n///X///r///T///r///L///v///H///v///H///z///L///3///P///7///b///7///j///////n//wAAAPn//wEAAPn//wEAAPn//wIAAPr//wIAAPr//wMAAPv//wMAAP7//wMAAAEAAAMAAAQAAAQAAAcAAAQAAAkAAAQAAAkAAAQAAAsAAAQAAA0AAAQAAA0AAAQAAA0AAAQAAA4AAAQAAA0AAAQAAA0AAAQAAA0AAAMAAA0AAAMAAA0AAAMAAA0AAAMAAAwAAAMAAAsAAAQAAAkAAAQAAAYAAAQAAAMAAAQAAAEAAAQAAP///wQAAP7//wQAAPz//wMAAPz//wMAAPv//wMAAPz//wIAAP3//wEAAP3//wEAAP7//wAAAP7///////3///7///v///7///r///3///n///3///n///3///v///3///z///z///7///z///////z///7///z///7///z///z///z///n///z///j///z///f///z///b///z///b///z///n///z///v///z///////3//wMAAP3//wUAAP7//wgAAP7//woAAP///woAAP///woAAP///woAAAAAAAkAAAAAAAkAAAAAAAkAAAAAAAgAAAAAAAYAAAEAAAQAAAEAAAIAAAEAAP7//wEAAP3//wEAAPz//wAAAPv//wEAAP3//wEAAP7//wEAAP///wEAAAAAAAIAAAIAAAIAAAMAAAIAAAMAAAIAAAMAAAIAAAMAAAMAAAIAAAMAAAMAAAMAAAIAAAMAAAMAAAMAAAQAAAMAAAQAAAMAAAQAAAMAAAQAAAMAAAIAAAIAAP///wIAAP7//wIAAP3//wIAAPr//wEAAPn//wEAAPj//wEAAPb//wEAAPX//wEAAPb//wEAAPX//wEAAPT//wEAAPT//wEAAPP//wEAAPL//wIAAPL//wEAAPL//wEAAPP//wEAAPT//wEAAPT//wEAAPX//wEAAPf//wEAAPj//wEAAPn//wEAAPz//wEAAP7//wEAAP///wEAAAIAAAEAAAUAAAEAAAYAAAEAAAgAAAEAAAkAAAEAAAkAAAEAAAoAAAEAAAwAAAEAAAwAAAAAAA0AAAAAAA4AAAAAAA4AAAAAAA4AAAAAAA4AAAAAAA0AAAAAAAsAAAAAAAoAAAAAAAgAAAAAAAUAAAAAAAMAAAEAAAAAAAEAAP3//wEAAPz//wEAAPr//wEAAPn//wEAAPj//wEAAPj//wEAAPj//wEAAPr//wEAAPv//wEAAP3//wEAAP///wEAAAEAAAAAAAMAAAAAAAQAAAAAAAUAAP///wUAAP///wUAAP///wQAAP///wQAAP7//wMAAP7//wMAAP7//wIAAP7//wIAAP7//wIAAP7//wIAAP7//wIAAP7//wIAAP///wMAAP///wMAAP///wMAAP///wMAAAAAAAMAAAAAAAMAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAEAAAMAAAEAAAEAAAEAAAAAAAEAAAAAAAEAAP///wEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wEAAP///wEAAP7//wEAAPz//wEAAPz//wEAAPr//wEAAPn//wEAAPj//wIAAPf//wIAAPf//wIAAPf//wIAAPf//wIAAPf//wIAAPf//wIAAPj//wIAAPn//wEAAPn//wEAAPn//wEAAPn//wEAAPn//wEAAPj//wEAAPj//wAAAPj//wAAAPj///////j///////j///////r///7///z///7///7///7//wEAAP7//wQAAP3//wYAAP3//wgAAP3//wsAAP3//w0AAP7//w0AAP7//w0AAP7//w0AAP///wwAAP///woAAP///wkAAP///wcAAP///wYAAAAAAAUAAAAAAAMAAAAAAAIAAAEAAAEAAAEAAAAAAAEAAAAAAAEAAP///wEAAP///wEAAP///wIAAP7//wIAAP7//wIAAP///wIAAP///wIAAP///wIAAP///wIAAP///wIAAP///wIAAP///wIAAP///wIAAP///wIAAAAAAAIAAAAAAAIAAAAAAAIAAAEAAAIAAAEAAAIAAAIAAAIAAAMAAAEAAAMAAAEAAAQAAAEAAAQAAAEAAAQAAAEAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAMAAAAAAAIAAP///wIAAP///wEAAP///wAAAP////////////7///////7///7///7///7///7///7///7///7///////7///////7///////7///////7///////7///////////7///////3///////z///////v///////r///////n///////n///////r///////r///////v///////v///////z///////z///////z///////3///////3///////3///////3///////7//////////////wAAAP///wEAAP///wIAAP///wIAAP///wIAAP///wMAAP///wMAAP///wQAAP///wQAAP///wUAAAAAAAUAAAAAAAQAAAAAAAQAAAEAAAMAAAEAAAEAAAEAAAEAAAEAAAAAAAEAAP///wEAAAAAAAEAAAAAAAEAAAEAAAEAAAEAAAEAAAIAAAEAAAMAAAAAAAMAAAAAAAMAAAAAAAMAAP///wMAAP///wMAAP///wIAAP///wIAAP///wIAAP///wIAAP///wMAAP///wMAAP///wMAAP///wMAAP///wMAAP///wMAAP///wMAAP///wMAAP///wIAAP///wEAAP///wEAAP///wAAAP////////////7///////z///////z///////z///////v///////v///////v//wAAAPv//wAAAPz//wAAAPz//wAAAPz//wAAAP3//wEAAP3//wEAAP7//wAAAP7//wAAAP///wAAAAAAAAAAAAEAAAAAAAIAAAAAAAMAAAAAAAMAAAAAAAQAAAAAAAQAAP///wUAAP///wUAAP///wQAAAAAAAMAAAAAAAEAAAAAAAAAAAAAAP///wAAAP7//wAAAP7//wAAAP7//wAAAP3///////7//////////////////////////////wAAAP7///////7///////7///////7///7///7///7///7///3///7///3///7///3///7///z///7///z///7///z///7///z///7///z///7///3///7///3///7///z///7///3///////7//////////////////////wAAAP///wEAAP///wIAAP///wIAAP///wMAAP///wMAAAAAAAMAAAAAAAMAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAMAAAEAAAMAAAEAAAMAAAEAAAQAAAEAAAQAAAEAAAMAAAEAAAMAAAEAAAMAAAEAAAMAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAIAAAEAAAMAAAEAAAMAAAEAAAMAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAIAAAAAAAEAAAAAAAAAAP////////////7//wAAAP3//wAAAP3//wAAAPz///////z///////z//wAAAPz//wAAAPv//wAAAPz//wAAAPv///////v///////v///////v///////z///////z//wAAAPz//wAAAPz//wAAAPz//wAAAPz//wAAAPz//wAAAP3//wAAAP3//wAAAP7//wAAAP///wAAAP///wAAAAAAAAAAAAEAAAAAAAEAAAAAAAIAAAAAAAIAAAAAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAIAAAIAAAIAAAIAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///////////////////////wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///////////////////////////////////////////////////////////////////////wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wEAAP///wEAAAAAAAEAAAAAAAEAAAAAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAAAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP3//wAAAP3//wAAAP3//wAAAP3///////3///////7///////7///////7///////7///////7///////7///////7///////////7///////7///////7//////////////////////////////////////////wAAAP///wAAAP///wAAAP///wAAAP///wEAAP///wEAAP///wEAAP///wEAAP///wEAAP///wEAAP///wEAAP///wEAAP///wEAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAEAAAEAAAEAAAEAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAEAAAEAAAEAAAEAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///////////////////////////////////////wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAIAAAMAAAIAAAMAAAIAAAMAAAIAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAIAAAIAAAIAAAIAAAIAAAIAAAEAAAIAAAEAAAEAAAAAAAEAAAAAAAIAAAIAAAEAAAQAAAEAAAUAAAIAAAYAAAMAAAYAAAUAAAUAAAYAAAQAAAYAAAQAAAUAAAQAAAQAAAQAAAMAAAQAAAIAAAIAAAEAAAAAAAAAAP7///////v///7///n///z///j///r///j///n///n///j///r///j///r///r///n///v///n///v///j///n///j///j///n///f///r///b///v///f///z///b///z///b///z///f///v///j///v///n///v///r///v///v///v///z///v///z///v///3///v///////v//wAAAPv///////v///7///v///z///v///z///v///z///v///7///v///////v//wEAAPz//wEAAP7//wAAAAAAAP7//wIAAP3//wMAAPv//wMAAPv//wIAAP7//wAAAAEAAP3//wMAAPz//wMAAPz//wMAAP7//wEAAAEAAAEAAAQAAAMAAAYAAAYAAAYAAAgAAAYAAAgAAAYAAAcAAAcAAAgAAAoAAAkAAAwAAAoAAA4AAAoAAA4AAAoAAA0AAAoAAAsAAAoAAAcAAAkAAAUAAAcAAAQAAAUAAAQAAAQAAAUAAAIAAAYAAAMAAAYAAAMAAAUAAAQAAAQAAAQAAAQAAAMAAAUAAAMAAAUAAAMAAAYAAAIAAAUAAAEAAAQAAAIAAAQAAAMAAAIAAAIAAAEAAAMAAAAAAAMAAP///wIAAP///wEAAP7//wAAAP3///////3///////3//wAAAP///wEAAAAAAAEAAAEAAAEAAAEAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAP///wAAAP3///////v///3///r///v///r///n///v///f///j///b///T///X///P///X///b///f///j///n///n///r///r///v///v///r///z///r///////z//wAAAP7///////////3///7///z///7///7//wAAAAEAAAMAAAMAAAUAAAIAAAMAAP///wAAAAAAAP///wMAAP7//wUAAP///wEAAP7///3///z///v///r///3///v//wAAAP7//wAAAAEAAP3//wEAAPz//wAAAP7//////wIAAAAAAAQAAAIAAAUAAAQAAAQAAAUAAAQAAAQAAAcAAAQAAAkAAAUAAAgAAAYAAAUAAAcAAAQAAAYAAAQAAAQAAAMAAAIAAAIAAAIAAAAAAAEAAP3//wAAAP3///3///////z///////3///7///7///7//////wEAAP///wIAAAAAAAIAAAEAAAEAAAIAAAEAAAMAAAIAAAMAAAIAAAMAAAMAAAQAAAIAAAUAAAIAAAQAAAIAAAMAAAMAAAMAAAMAAAQAAAIAAAMAAAAAAAIAAP3///////v///7///v///3///z///z///z///3///v///3///z///z///3///v///3///v///3///z///z///3///z///7///z///7///7///7//wAAAP///wAAAP///wAAAAAAAAEAAAAAAAIAAAEAAAIAAAIAAAIAAAMAAAIAAAQAAAIAAAQAAAIAAAMAAAMAAAMAAAQAAAQAAAQAAAQAAAMAAAMAAAMAAAIAAAIAAAEAAAIAAAEAAAEAAAEAAAAAAAMAAAEAAAQAAAIAAAQAAAMAAAQAAAQAAAQAAAUAAAQAAAYAAAMAAAYAAAIAAAYAAAIAAAUAAAIAAAQAAAIAAAQAAAIAAAMAAAEAAAIAAAEAAAAAAAEAAP7//wEAAP3//wIAAPz//wIAAPz//wEAAPv//wAAAPz///////3///7///7///z///////v///////v///////z///////3///////3///////3///////z///////z///////z///7///3///3///3///z///3///r///3///r///z///r///r///r///n///r///n///r///r///r///r///r///n///r///j///v///j///z///f///3///j///3///n///z///v///v///z///v///7///v//wAAAPz//wEAAP3//wIAAP7//wIAAAAAAAIAAAIAAAIAAAMAAAAAAAMAAAAAAAIAAAEAAAEAAAIAAAEAAAEAAAIAAAAAAAQAAP///wUAAP///wUAAAAAAAQAAAEAAAQAAAMAAAMAAAQAAAMAAAQAAAMAAAUAAAMAAAYAAAQAAAgAAAgAAAoAAAsAAAwAAA0AAA4AAA8AAA8AAA8AABAAAA8AABEAABAAABEAABAAABAAABAAAA0AABAAAAkAAA4AAAUAAA0AAAMAAAoAAAEAAAcAAAIAAAMAAAEAAAAAAAIAAP3//wEAAPv//wEAAPv//wIAAPv//wQAAPz//wUAAP7//wYAAAEAAAUAAAQAAAIAAAYAAAAAAAYAAAAAAAQAAAEAAAIAAAIAAAAAAAEAAP////////3///3///v///r///f///j///L///b//+7///b//+3///b//+z///X//+3///L//+7//+////D//+z///P//+z///f//+////r///P///z///b///v///j///n///j///n///n///f///n///b///v///X//wAAAPb//wQAAPn//wUAAP3//wEAAAAAAPn///7///P///r///D///X///b///b///////3//wUAAAcAAAIAAA8AAPn//xAAAO///wkAAOv///3///D///L//////+7//xAAAPP//xsAAP///xwAAAsAABUAABIAAAsAABIAAAQAAAwAAAUAAAcAAAkAAAcAAAwAAA0AAAsAABUAAAcAABoAAAUAABkAAAQAABEAAAYAAAUAAAkAAPr//w0AAPX//xAAAPj//xIAAP///xIAAAUAAA4AAAcAAAgAAAUAAAEAAAIAAPz//wMAAPz//wkAAP///xMAAAUAABsAAAoAABsAAA0AABQAAAoAAAgAAAUAAPv//wEAAPL//wEAAPD//wQAAPP//wgAAPr//woAAP///wgAAAEAAAUAAP7///////r///z///r///f///7///T//wgAAPL//w8AAO///xEAAO7//woAAO////////P///P///n//+3///7//+v//wIAAOv//wQAAOz//wQAAO3//wQAAPD//wMAAPP//wEAAPj///z///7///f//wQAAPD//woAAOz//w8AAO3//xMAAPH//xIAAPj//w4AAPz//wUAAPz///j///j//+z///X//+H///b//9r///z//9n//wYAAOL//w0AAPP//w8AAAcAAAYAABYAAPb//xgAAOX//w4AAN7//////+b///P///r///P//xIAAAAAACIAABUAACMAACUAABYAACUAAAEAABMAAO////X//+f//9b//+7//8f//////8///xIAAOn//xsAAA0AABsAACoAABAAADYAAAAAAC0AAPH//xYAAOj///7//+r//+////j//+7//w0AAPv//x8AAA4AACkAAB8AACkAACQAAB4AABsAAA8AAAoAAAMAAPn///3//+7///z//+3///////X//wEAAAMAAAAAAA8AAPz//xcAAPf//xcAAPn//xEAAP3//woAAAUAAAIAAAcAAPv///j///X///j//+////n//+v///n//+v///n//+3///r///T///r///3///v//wQAAPz//wgAAPz//wYAAP3///7///3///T///3//+3///7//+3///7///H///7///r///7//wUAAP7//wgAAP7//wYAAP7///////3///X///3//+3///3//+n///3//+r///3///L///3///7///3//woAAP3//xQAAP3//xkAAP7//xcAAP7//xAAAP7//wMAAP////n///////X//wAAAPf//wAAAP7//wEAAAcAAAIAABEAAAIAABYAAAMAABMAAAMAAAoAAAQAAP///wQAAPX//wUAAPP//wUAAPv//wUAAAgAAAUAABQAAAUAAB4AAAUAAB4AAAUAABcAAAQAAAsAAAQAAP3//wMAAPL//wMAAO7//wIAAPP//wEAAPz//wEAAAQAAAAAAAsAAP///wsAAP///wUAAP7///v///7///L///3//+3///3//+3///z///P///z///v///z///////z///////z///r///z///T///z//+v///z//+f///z//+b///z//+n///3//+////3///b///3///z///3///3///7///7///7///z///7///v///7///3///7///////////7///////7//////wIAAP///wUAAP///wUAAP///wQAAP///wEAAP///wEAAAAAAAQAAAAAAAgAAAAAAA0AAAAAAA8AAAAAABEAAAAAABYAAAEAABgAAAEAABYAAAEAABQAAAEAABMAAAIAABMAAAIAABQAAAIAABQAAAIAABAAAAMAAAoAAAMAAAcAAAMAAAUAAAMAAAMAAAMAAAMAAAMAAAIAAAMAAAEAAAMAAAIAAAMAAAIAAAMAAAEAAAMAAP3//wMAAPv//wIAAPj//wIAAPb//wIAAPP//wIAAPL//wEAAPL//wEAAPD//wEAAPD//wEAAPD//wEAAO///wAAAO///wAAAPD//wAAAPD//wAAAPH//wAAAPP//wAAAPT///////T///////b///////f///////b///////b///////f///////j///////r///////3//////wAAAP///wIAAP///wQAAP///wYAAP///wcAAP///wkAAP///wkAAP///woAAP///woAAP///woAAP///woAAP///wkAAP///wgAAP///wgAAP///wkAAP///woAAP///wsAAP///wwAAP///w0AAP///w0AAP///w0AAP///w0AAP///wwAAP///woAAP///wkAAP///wcAAP///wYAAP///wQAAAAAAAIAAAAAAAAAAAAAAP7//wAAAPz//wAAAPz//wAAAPz//wAAAPz//wAAAPz//wAAAPz//wAAAPz//wAAAPv//wAAAPr//wAAAPn//wAAAPf//wEAAPX//wEAAPT//wEAAPP//wEAAPP//wEAAPT//wEAAPX//wEAAPX//wEAAPX//wEAAPX//wEAAPb//wEAAPf//wEAAPn//wEAAPv//wIAAP7//wIAAAAAAAIAAAEAAAIAAAEAAAEAAAEAAAEAAAEAAAEAAAIAAAEAAAMAAAEAAAQAAAEAAAQAAAEAAAUAAAEAAAcAAAEAAAcAAAEAAAgAAAEAAAgAAAEAAAkAAAEAAAkAAAEAAAoAAAEAAAsAAAAAAAwAAAAAAAwAAAAAAA0AAAAAAAwAAAAAAAoAAAAAAAgAAAAAAAYAAAAAAAUAAAAAAAQAAAAAAAMAAAAAAAMAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAP///wAAAP7//wAAAP7///////////////////////7///////7///////3///////v///////r///////n///////j///////f///////b///////b///////b///////f///////n///////r///////v///////z///////3///////3//wAAAP7//wAAAP///wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP3//wAAAP3//wAAAP3//wAAAP7//wAAAP///wAAAAEAAAAAAAIAAAAAAAMAAAAAAAQAAAAAAAYAAAEAAAcAAAEAAAgAAAEAAAgAAAEAAAcAAAEAAAcAAAEAAAYAAAEAAAUAAAEAAAQAAAEAAAQAAAEAAAMAAAEAAAIAAAEAAAEAAAEAAAAAAAEAAP7//wEAAP7//wEAAP3//wEAAP3//wEAAP3//wEAAP3//wEAAP7//wEAAP7//wEAAP///wEAAP///wEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAP///wAAAP///wAAAP7//wAAAP3//wAAAPv//wAAAPr//wAAAPr//wAAAPn//wAAAPr//wAAAPv//wAAAP3//wAAAP///wAAAAIAAAAAAAUAAAAAAAcAAAAAAAkAAAAAAAoAAAAAAAoAAAAAAAoAAAAAAAkAAAAAAAgAAAAAAAYAAAAAAAQAAAAAAAIAAAAAAAAAAP////7///////3///////3///////7//////////////wEAAP///wIAAP///wMAAAAAAAUAAAAAAAYAAAAAAAUAAAAAAAQAAAAAAAMAAAAAAAEAAAAAAP///wAAAP3//wAAAPv//wAAAPr//wAAAPj//wAAAPf//wAAAPb//wAAAPX//wAAAPb//wAAAPb//wAAAPf//wAAAPj//wAAAPn//wAAAPr//wAAAPz//wAAAP3//wAAAP7//wAAAP7//wAAAAAAAAAAAAIAAAEAAAMAAAEAAAQAAAEAAAMAAAEAAAIAAAEAAAIAAAEAAAMAAAEAAAIAAAEAAAEAAAEAAAAAAAEAAAEAAAEAAAIAAAEAAAMAAAEAAAQAAAEAAAUAAAEAAAUAAAEAAAcAAAEAAAkAAAEAAAoAAAEAAAsAAAEAAAsAAAEAAAoAAAEAAAgAAAEAAAgAAAEAAAcAAAAAAAQAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAIAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAEAAAAAAAAAAAAAAP7//wAAAP3//wAAAPv//wAAAPn//wAAAPj//wAAAPj//wAAAPj//wAAAPf//wAAAPf//wAAAPf//wAAAPn//wAAAPr//wAAAPv//wAAAPr//wAAAPr//wAAAPr//wAAAPv//wAAAPv//wAAAPz//wAAAP3//wAAAP7//wAAAP7//wAAAP///wAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAIAAAAAAAMAAAAAAAIAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAMAAAAAAAIAAAAAAAEAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAEAAAAAAAIAAAAAAAIAAAAAAAMAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAMAAAAAAAIAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAP///wAAAPz//wAAAP3//wAAAP3//wAAAP7//wAAAP7//wAAAP///wAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAIAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP7//wAAAP7//wAAAP3//wAAAP3//wAAAPz//wAAAPz//wAAAPz//wAAAPz//wAAAPz//wAAAPz//wAAAPv//wAAAPv//wAAAPz//wAAAPz//wAAAPz//wAAAPz//wAAAPz//wAAAP3//wAAAP3//wAAAP7//wAAAP7//wAAAP///wAAAAAAAAAAAAAAAAAAAAEAAAAAAAIAAAAAAAIAAAAAAAMAAAAAAAMAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP3//wAAAP3//wAAAP7//wAAAP7//wAAAP7//wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAP///wAAAP7//wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7//wAAAP7//wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\"","export default \"data:audio/wav;base64,UklGRjiCBQBXQVZFZm10IBAAAAABAAIAgLsAAABlBAAGABgAYmV4dFoCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUkVBUEVSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIwMjYtMDMtMjMwMi0xOC01N4+DdAMAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGp1bmtKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkYXRhYH8FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAAAAAP///////wAAAAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAAAAAP///////wAAAAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wEAAAEAAP///////wAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAAAAAP///////wAAAAAAAP///////wAAAAAAAAAAAAAAAP///////wAAAAAAAP///////wAAAAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wEAAAEAAP///////wAAAAAAAP///wAAAAAAAAAAAP///////wAAAAAAAAAAAAAAAP///////wAAAAAAAP///////wAAAAAAAP///////wAAAAAAAP///////////////wAAAAAAAP///////wAAAAAAAP///////wEAAAEAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAP///////wEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAP///////wEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAP///wAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAP///////wEAAAAAAP///////wAAAAAAAP///////wAAAAAAAAAAAAAAAP///////wAAAAAAAP///////wAAAAAAAP///////wAAAAAAAP///////wAAAP///wAAAAAAAP///////wAAAAAAAP///////wEAAAEAAP7///7//wEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAP///////wEAAAEAAP///////wEAAAEAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAP///////wIAAAIAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAP///////wEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wEAAAEAAP///////wEAAAEAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wEAAAEAAP///////wEAAAEAAP///////wAAAAAAAAAAAAAAAP///////wAAAAAAAP7//////wIAAAIAAP///////wEAAAEAAP///////wEAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAP///////wEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAEAAAEAAAAAAAAAAAEAAAEAAP///////wIAAAIAAP///////wIAAAIAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAP///////wEAAAEAAP///////wAAAAAAAAAAAAAAAP///////wEAAAEAAP7///7//wIAAAIAAP7///7//wEAAAEAAP///////wAAAAAAAAAAAAAAAP///////wAAAAAAAP////7//wEAAAEAAP///////wAAAAAAAP///////wAAAAAAAAAAAAAAAP///////wEAAAEAAP7///7//wEAAAEAAP///////wEAAAEAAP///////wAAAAAAAAAAAAAAAP///////wEAAAEAAAAAAAAAAAEAAAEAAP///////wEAAAEAAAAAAAAAAAAAAAAAAAEAAAEAAP///////wIAAAIAAP///////wIAAAIAAP///////wEAAAEAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAP///////wEAAAEAAP///////wEAAAEAAAAAAAAAAP///////wEAAAEAAP7///7//wIAAAIAAP7///7//wEAAAEAAP7//////wAAAAAAAP///////////wAAAAAAAAAAAP///////wAAAAAAAP///////wAAAAAAAP///////wAAAAAAAP///////////////wEAAAEAAP7///7//wIAAAIAAP7///7//wIAAAEAAP7///7//wEAAAEAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAP///////wIAAAIAAP///////wEAAAEAAAEAAAEAAP///////wIAAAIAAP7///7//wMAAAMAAP7///7//wMAAAIAAP///wAAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAEAAAEAAP///////wAAAAAAAAEAAAEAAP///////wIAAAIAAP7///7//wIAAAIAAP7///7//wEAAAEAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wEAAAEAAP7///7//wEAAAEAAP///////wAAAAAAAAAAAAAAAP7///7//wMAAAMAAP3///3//wMAAAIAAP7///7//wIAAAIAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAIAAAIAAP///////wIAAAIAAAAAAAEAAAAAAAAAAAIAAAIAAP///////wQAAAMAAP3///7//wQAAAMAAP///////wEAAAEAAAAAAAAAAAEAAAEAAAEAAAAAAAAAAAAAAAEAAAEAAP///////wIAAAIAAP///////wIAAAIAAP///////////////wIAAAIAAP3///3//wMAAAMAAPz///3//wMAAAIAAP7///7//wEAAAEAAP///////////////////////wAAAAAAAAEAAAEAAP3///3//wEAAAEAAP7///7//wAAAAAAAAAAAAAAAP7///7//wIAAAIAAPz///z//wQAAAQAAP3///3//wIAAAIAAP7///7//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAP///////wIAAAIAAP///////wEAAAEAAAAAAAAAAAAAAAAAAAQAAAMAAPz///z//wQAAAQAAP3///7//wMAAAMAAP///////wAAAAAAAP///////wIAAAIAAAEAAAEAAP7///7//wEAAAEAAP///////wIAAAIAAP7///3//wEAAAEAAAEAAAIAAPv///v//wMAAAMAAPz///z//wMAAAMAAPz///z//////////wAAAAAAAAAAAAAAAP7///////////////7///7//wEAAAEAAAAAAAEAAPz///z//wEAAAEAAP7///7//wEAAAEAAAAAAAAAAPv///z//wQAAAQAAPv///v//wMAAAMAAP3///7//wIAAAIAAP///////wAAAAAAAAEAAAEAAAEAAAEAAAEAAAEAAP3///3//wMAAAMAAAAAAAAAAAIAAAIAAP///////////////wQAAAQAAP3///3//wUAAAUAAPz///z//wMAAAIAAP///////wEAAAEAAAAAAAAAAAIAAAIAAAAAAAAAAAAAAAAAAAEAAAEAAAEAAAEAAAMAAAMAAPv///v//wMAAAMAAP///////////////wMAAAMAAPv///v//wUAAAUAAPv///v//wMAAAMAAP3///7//wAAAAAAAP///////wAAAP///wAAAAAAAAEAAAEAAAEAAAEAAPv///v//wMAAAQAAP7///7//wIAAAIAAP////////3///3//wYAAAUAAPr///r//wUAAAUAAP3///3//wIAAAEAAP///////wAAAAAAAAIAAAIAAAIAAAIAAP3///7//wEAAAAAAAIAAAIAAAEAAAEAAAQAAAQAAPr///r//wQAAAQAAAMAAAIAAP///////wUAAAUAAPr///v//wYAAAUAAP3///3//wUAAAUAAAEAAAEAAP///////wAAAAAAAAIAAAIAAAEAAAEAAAAAAAAAAAIAAAIAAP3///z//wQAAAUAAP7///7//wAAAAAAAAIAAAIAAPr///r//wYAAAYAAPz///z//wUAAAQAAP3///7///3///3//wEAAAEAAAIAAAIAAP////////////////z///3//wIAAAEAAAMAAAMAAPz///v//wMAAAMAAPv///v//wEAAAEAAAMAAAMAAPz///z//wYAAAYAAPn///r//wQAAAQAAP///////wIAAAIAAP////////////7//wEAAAEAAAQAAAMAAAAAAAAAAPv///v//wMAAAMAAP3///3//wUAAAUAAP///////////////wQAAAMAAPv///v//wcAAAcAAP3///7//wQAAAQAAAEAAAIAAAAAAAAAAP///wAAAAEAAAEAAP7///7//wIAAAIAAP////////3///z//wYAAAYAAPn///n//wMAAAMAAP7///7//////////wUAAAQAAPn///n//wYAAAYAAPr///v//wEAAAEAAAIAAAIAAP////////7///7///////////7///7//wAAAP///wAAAAAAAP3///3//wcAAAcAAPn///n//wIAAAIAAP///////wAAAAAAAAcAAAYAAPX///b//wMAAAIAAAAAAAAAAAIAAAIAAP////////z///z//////////wUAAAUAAAAAAAAAAP3///3//wQAAAUAAPn///n//wwAAAwAAP7///3//wQAAAQAAAIAAAIAAPX///b//wwAAAsAAPz///z//wgAAAcAAPz///3///f///b//woAAAoAAAIAAAIAAP////////7///7//wAAAAAAAAUAAAQAAAAAAAAAAPz///z//wcAAAgAAPb///b//wQAAAQAAAcAAAYAAAAAAAEAAAAAAAAAAPP///P//wgAAAcAAAUAAAYAAAEAAAEAAPv///v///v///v///z///3//wYAAAUAAAYAAAYAAPv///r//wMAAAMAAPP///L//w8AAA8AAAAAAAAAAPz///3//wEAAAAAAPb///f//xUAABQAAPz///7///X///X//wQAAAQAAP///////wkAAAoAAP///////wAAAAEAAAUAAAUAAPX///b//wcAAAcAAAsAAAsAAPn///n//wYAAAYAAPH///D//wsAAAwAAAcAAAYAAAAAAAEAAAAAAP////f///j//wYAAAYAAAQAAAQAAAIAAAMAAP7///7//wAAAAAAAAEAAAIAAAUAAAQAAAMAAAUAAPL///L//wsAAAwAAPL///L//xIAABAAAAMAAAMAAPD///H//wAAAP////v///v//xgAABgAAPj///n///D//+7//wwAAA0AAPj///j//wYAAAYAAPr///n//wsAAAwAAPz///z///L///H//wkAAAgAAAoAAAoAAPv///z///r///r///D///D//w8AAA8AAAwAAAoAAP///wEAAO///+////v///v//xgAABYAAPv///v///r///r///f///f//wsAAAsAAAYAAAYAAPv///j//zEAADEAANb//9f//wAAAAAAAPj///b//xEAABAAABYAABYAANX//9X//xoAABgAAAIAAAEAAB0AABwAAAAAAAIAAMD//8H//xcAABcAABYAABQAABAAABAAAOH//+D//+////H//yMAACIAAPz///v///P///P//xgAABcAAPH///L///////////L//+///ykAACoAAAoAAAkAANP//9b///7///z//xEAABAAAB0AAB4AAPL///H//+///+///wIAAAIAAAQAAAIAAP7///7//9///93//xEAABQAAPD//+7//x4AABwAAAAAAAAAAPb///b//wwAAAsAAP///wAAAAkAAAcAAAkAAAoAAPT///T//w8AABEAAP3///v//xgAABcAAAgAAAoAAOH//+T//+///+3///z///v//wMAAAUAAPj///n//+X//+T//yoAACoAAAMAAAIAAAcAAAgAAPH///H///r///3//xIAAA4AACgAACcAAAIAAAMAAP3///////j///j//x4AAB4AABAAABIAAOX//+f///b///X//+v//+///+X//+P//xQAABQAANf//9n///3///7//+n//+j//w4AAA4AACAAACAAAO////L///j///X//xQAABQAABcAABcAACMAACMAAPj///n//wwAAA0AAAYAAAUAAB8AAB8AAOL//+L//+b//+v//9D//9D//xAAAA8AAAUAAAcAAPj///n//+T//+X//+j//+r//wEAAAEAAAIAAAEAAA4AAAwAABgAAB0AAOL//+P//yMAACEAACgAACcAAB0AAB8AAAAAAAEAAOf//+j//wsAAAkAADsAADoAAM///8///wgAAAwAAL3//73//xgAABYAABYAABYAAMz//9H//+L//+L///P///P//zwAADsAAP3//wAAAMb//8b//xcAABcAAB0AAB0AABsAABsAAOb//+L//zoAADwAAOf//+f//w4AAA0AAOn//+f//yAAACEAABwAAB8AAO3//+3//woAAAkAAAIAAAMAAPn///j//9D//9T//5L//4///1YAAFYAAAIAAAIAAO////D//9D//9D//wkAAAcAAHAAAG8AAND//9H//+7//+z//zoAADgAAN3//9r//1AAAE4AAM3//8n//zMAADQAAAEAAP///9v//9z//wwAAAcAAA4AAA4AAA8AABIAAOb//+T///L///L//zQAADUAAPD//+////b///j//8L//77//zMAADcAAOv//+b//w8AAAsAAA4AAAwAAAMAAP///+z//+z//+D//97//yEAAB0AADwAADsAAAkAAAUAAA4AABIAALn//7X//24AAG4AABAAABEAAPf///X//+H//+D//+z//+z//yAAACEAANz//9z///X///L//0oAAEwAALP//7H//xwAABoAANn//9f//wMAAAYAAOf//+X//xsAABsAABAAAA8AACsAACkAADQAADcAAOn//+r///3///z//yUAACIAAEkAAEUAAPj///z//1b//1H//2IAAGMAANb//9b//xwAAB4AAND//9D//0oAAEcAADsAAD8AAJL//5L//9n//9n//yUAACcAADQAADQAAN7//+D//5z//5n//3IAAHcAABsAABwAAAEAAAAAAN3//93///f///v//wIAAAMAAD4AAD0AALr//7///04AAE8AAPz///3//yYAACkAAPT///T//9n//9z///v///j///D///n//5j//5j//1sAAFYAADQAADoAAN7//+T//7z//77//wYAAAgAAE0AAE8AAPb///z//3r//3f//1EAAFQAAOj//+z//0kAAEcAANL//9T//ywAADMAAAQAAAYAAOP//+H///X///P///j//wMAAPj///r//xEAABAAAKL//6X//1gAAFoAAPH///X//////wQAANb//9T//yAAACEAAAwAAAwAALP//73//6r//63//2wAAGIAADYAADgAAOH//+n//6X//6j//ywAAC4AAPX//+7//5UAAJwAAEP//0X//6n//6z//1AAAFMAAFoAAFcAACEAACMAAKD//6T//xMAABQAAK4AAK0AAGP//2D//+r//+v//9H//8///x0AACAAANf//9P//y0AACcAAJsAAJoAAL7//8T//zL//zL//3kAAG8AAGAAAF8AAGIAAGYAAND+/87+/x8AABoAAMoAAMoAADoAAEEAAKr//6L//7j//7X//4UAAIMAAEQAAEMAAMj+/8v+/wgAAAAAAGAAAFoAAFEAAFIAAFX//1P//ywAAC0AAKYAAJsAAJUAAJIAAGX//2z//3D//2n//3wAAHIAAGoAAGEAALb//6///83//9H//4n//4X//zsBADoBAOT//9j///j///H//4D//4T//9r//9r//0AAADsAAEUAADgAAFoAAFUAABkAABsAAKH//6T//+T//+D//zsAACwAAMwAAMkAAC///zL//5X//5P//40AAIAAABoBABkBADX//zD//6r//6n//+f//+n//zIBACcBAP3///H//6L//5j//wcAAAwAALH//7z//zEAACEAAIwAAIkAAPb///n//3AAAG8AAEX//0z///L//+7//z4AADkAAGMAAGEAAMj//8v//7X//7///6///6H//0oBAEQBAPr//wQAAJH//5f//0j//0P//4UAAIYAAPT///b//xoAABYAACUAABwAAF0AAGkAAP///wEAAL3//7T//xUAABwAAFsAAGEAADX//zn//wQAAAAAAJQAAJsAADQBADwBADP//yn//5///6z//1X//2X//4cAAIQAANv//9f//3b//3X//zMAADcAAEkAAFUAAMX//8n//9IAAN8AAP7//wAAAMsAANoAADv//1T//9H//8////EAAOYAAEMAAE8AAKL+/7r+/0v//0v//zAAADMAAOMAAOYAAIz//5L//27//33//4P//4f//84AAM8AAF4AAFYAAGwAAIYAAF3+/3X+/6wAAKgAAAMBAAEBAK8AAL4AAC///0H//6D//5j//6gAAKcAAGb//3H//zT//zP//2z//3n//3D//3n//1kBAFkBACb//yf//6UAALEAABz//zH//23//2f//yoAACMAAAUAABcAAJz//6X//xMAAAIAAF4AAF4AACgBADABALD//6///2X//3X//5T//5D//zMBADIBAD4AACoAAGwAAHkAAL/+/9z+/6IAAIoAANUAANsAAOH///P//37+/4H+/5v//4///+///+j//wwAAAgAAG7//1f//yAAACMAACz//zj//4gAAHQAAFsAAEsAANAAANoAAC7//y///97//8n//xYBAAABAH4AAI8AAK7+/6H+/80AALIAABUAACMAAHkAAHYAAPr+/+b+/14AAFoAABwAABsAAKv//5r//9P+/8P+/xIAAA8AAMUAAM0AAPgAANsAAEIAAD0AAOj///z//1j//0L//3IBAGkBANL+/8X+/zAAACMAAH///2r//2sAAGoAAN0AAOQAAJYAAHEAAJ8AAI4AAMr//+f//y3+/zj+/7cAAJAAAHcAAFgAABQBACABABP+/xb+//H//+b//wABAPgAAGEBADoBAGb//1X//7b+/8/+//X+/wL//1YBAB0BADsBAAcBAPYAAA0BAM/+/+j+//j//+j//14CADsCAC0BADsBAI3+/4L+/yQAADIAAD7+/1b+/zICAPABACwAAA4AAKr//8L//yf+/1H+/1z//0v//5kBAHcBADsCAE4CADb//1D//zf//zL//zAAAC0AAHwBAHMBAOP//8r//wT//xr//xf+/zD+/yEAAA4AALYAAJYAACgCAEkCAIn+/8D+/4v//3v//wYBAPMAAHkCAIQCALD//8D//5j+/5P+/6X//5n//5ACAIgCAHz//2z//z4BAGEBAEL+/5T+/9kAANMAAMUBALABAPMAAA0BAOb+/wf//6H8/6z8/4L//3T//9sAAPIAAA7+/yb+/34AAIUAAO3//yAAAM8AAOkAAE7//zH//wIBABABANP//+7//5IAAIQAAID+/2f+/00CAE8CABUBAF4BACIAAEgAABr//yr//z0DAFQDANkAAPgAAID//7P//+H9/x7+/z/+/1D+/wYAANn//wb9/+n8/2T6/2X6/9f6/7n6/3n8/1L8/z///zb//5T+/47+/2EGAKoGAEMDAJ8DAK0GANMGAKAFAMgFAM8GAPQGAD4CAHYCAC77//76/1/8/+X7/xn///H+/5r4/5z4/xP7/+76/2v//1D//6oFAKMFAKoDAMgDAGr//7///6wAAOIAAM3//9z//739/1f9/8QAAEAAAB78/zH8/+T//xUAAIP9/+z9/6kEAPQEAHUGAJUGAHwFAKkFAF/9/6z9/2f3/273/7n5/0j5/6f8/1X8/z76/zf6/2T8/0v8/9cAAIEAAJcLAFELAMQFAO4FAI0DAOIDAHIEAHUEAKsJAH8JALgKAL4KADr//zr//635//P5/w/8/9P7/8P//1n//83+/43+/wDy/+vx/0/5/7L5/+3z/+Hz/1D5/+b4/yn8/977/w39/xL9///+/z7//3z7/2z7/8wGALEGAEwRAFARAP8KAOcKAPEIALoIADwEAPwDADoGAAYGANX+/1T+/w78/4D7/7D+/4L+/xL7/yD7/+ry/zLz/3P4/4v4/0v9/539/8ECAAYDAKL9/839/5YGAM0GAP0GABAHAIMGAKcGAAX//yv//2f7/2P7/2X9/2/9/0UBALcAACr8/0j7/18HADQGAPIMAIcMAIoKAGQKAGcLANcLAE0RAAkSAGENAL4NAKAIABkJAF/5/935/zjw/yfw/wHr/yfq/8vj/8Xi/4/c/1Pc/3Lj/9/j/znu/9ju/yIBAG0BANUXAD4YALknAP0nAMESACITAF8QAK8RALUMAIINAPcBADgBAGcBAN0AAKz8/8L8/+n3/+L2/wb0/8vx/6nz/wTz/1P6/wv8/+vw/zzy/7/+/8j+//gXANUYAOQWADcYAGH9/yD+/2D6/6z6/3/w/1zw/6Tw/5bv/83l//7j/xvm/3/k/14CABUCAL4RADwRAKsQABwQAFAwAAgyADQxAHMzAKgeAGgeAK0QALkPACkGAP8EACXp/4To/8O6/1y6/8W8//C8/4/e/zje/23k/1Hk/8nw/+Px//D5/yr8/woLANgLACIeACMeAMQiAH4iAHYgABcgAEIZAJcZAKAcAOEdADAmAPEmAD0tAGYtAOkxAFwxAP4iAAMiAL8PAOAOAFPp/4nn/9TU/6TS/0/a/97Z/+Xa/8Xc/1rR/1HT/yvr//fr/xcbAH0bAKIpAKUqAAz4/wn6/9DI/2fM/wnI/3zL/0rh/5Ph/5DC/ynA/0ff/3ze/6cXAAoZANELAGMLAD8uABkrAEpKAFVIAP4BAAYCAKuk/9Kl/5qg/0uh/0Ll/2Xi/1EKAMkDAKo+AJk3AAlIAD1GABZFAPBHANQ3AJE+ALdZAFVhAM5xANB2ADuEABSDABwtAKokAPeW/wSJ/wsQ/+4C//65/suw/qCe/uiX/tgg/ygh/9r9/x8JAADsAD//APCYAUuyAZHyAawLAoS7ARvOAffqANzwAMXZ/8XT/y/G/u60/loG/sHq/X4A/gHh/dd//uVk/olb/2xM/xBdAHdcAItWAexjAeziAV38Adf4ARwWAk65AR/TAV8YAaknAfMmANApAE0k/0Me/xpQ/p1G/jIa/vcQ/jtI/hk+/p/Z/mvO/mpj/6da//jF//XB/3QBAL8BAGkcAJUdAIJMALZLACOgAGKdABzwAFXtALceAVEcAeoIAVIJAU/8ADEBAS+tAAi0AFc7AMBBAFLG/yDL/6pU/3dU//Dd/vHX/rqG/kx9/ixv/pRm/q6y/uqq/pkY/zUT/8PK/8rJ/3x5AKt9AITuAMX3AP4qAbk4AfxoAUx5Afx7AWuKAQZRAalaAa/4AKf7AL6eACiaAN4fAEIWAHKu/2Sg/1ta/3tJ/ztN/948/6Q2/10p/59Y/wVR/0lv/6px/5iq/7m1/7AEABYWAERcAOdvANuYAI6tAHidANmwABZfAEtsAJQQAM4TALqs//Gl/y5o/7ZZ/wAJ//j0/vXv/rPZ/o4b/6MI/9V1/9Zp/wTT/zXP/z1UALlWACfWAITcALkxAc84Adf1ABT7AMSmACSoAKw9AKc8ANbF/4/C/9tA/9E8/6oM/9IJ/2wP/x8P/1NQ//pR/ySB/8aF/7jS/wPa/4UXAN4iAJNVAL5fAGt+AEOGANKtAMSyALafABahAEiHALCEAPVUAP5PAH9eACRYAGhIAM5AADk/ALs1AO0iAI8bAKcZAMMVAOwJAJ8JAGU/ANdAAGxuANFxAL6tAP2vAFd/AB+BAENJAPNKAOLh/7rl/3V//9CC/+Yz/901/1sq/2Yr/8wq/+sq/zxY/yhV/2RY/5RT/xeR/9iN/82K/2WK/82i/8+i/52z/0u0/wPl/4Hl/37f/4be/0EdAKgaACgEAFcEACxTAERRALNpAKVqACuWANiZACF0AOJ9AIxAAK5IAIAqADIvAAozAIs1AAbs//bs/8LR/8HK/yya/9qQ/ybs/7zo/7Gs/82u/43f/0nh/9d5AN53AJ4aAcMZAa7dAI/fALihAFCpAEgrAEMuAISAAJ9/AKEK/3cD/4kYAKAaAHpS/mpT/pLr//HZ/+oHAb8GAW8eAb4YAR6E/6uf/21+/tJx/n/6/2keAODB/5zf/+VtAEJdADSjAaRfAYa+AdqsAQEG/mEb/vuI+qun+gAH/aQW/fPNA0G+A5ZBAsAkAs8+AIwcANOZ/r6q/ikwAGtAANZ+/6Fy/04k/xwW/y+BABeeALQ3AZpiATshAF49AHTd/wjn/5yVASqOAbRGAsMjAgIpAEkDAIvg/RfU/X1u/T5s/Yty/8hk/9xdAdpAAYuwAtakAhRSAtlrAoXHAVbjAWjRAI3pAAb//yD9/0TE/lbC/vB7/mCE/i+S/R6y/SMM/vQf/hdt/iB5/rh4/1SF/6IJASUTAUzPAD/PAGlm/8pa/09g/bFI/SDA/OCd/BU6/hEe/tdUAElEAKDQAqXJAv/eBP3VBKmtBX2hBfYJBKQBBKHOACbbADuR/tmo/kps/oR2/lQB/wbz/hVz/3dV//b0/hv2/v5z/s6V/o8G/s4z/uAD/vcg/t0r/ng2/hKy/W2s/ako/UUZ/ZMF/m/z/VTk/4TO/8BSAoJAAh4vBMohBLGaBCOcBCvEAy7RA4hvAip2AknGAem9AeJjAaFVAdM6AJ8rALWU/sON/rSN/ayX/YpA/chQ/e8K/tMe/sfm/hj7/moD/1sX/3nY/WTo/eLp/E/0/MhY/Zpb/ZDx/kvv/lcSATIPAXC9Am23An2PA5yIA24yA4IqA3c3AlEvAuRhAS5UAStcATtKAVsYAc0AASaiAB2KAK/3/yzp/2eO/6CH/+bQ/pTR/sIJ/p8T/jeE/TKZ/YyQ/SWo/QbZ/ebx/fFh/jN0/ptY/rlm/jSw/pG+/mGl/8C1/1mAAEGHAI0HAf8JAZH+AMv7ANfTAErKAOIQAXv8AExZAWhCAfG0AXiaAfzVAYHAAVZ0AXReAbi4AGqlAB8mAGcaABwHAMwEADrl/4Pp/1pu/+J7/4/M/nPd/uHR/svn/s9g/5Z1/88vADZDAKV9AHSTAMQBAJUXAKRB/wRS/14s/9Q1/8mN/zqN/5ZqAJJjAAe/APSzAKzMAKe7AMmxAEqdALSLAM53APcrAIgbAES1/8Gp/2u1/2mw/wuP/1eM/02b/z6X/wmG/7yB/zF8/yB+/wyJ/72W/8V4/xWO/52a/1+t/xKr/7Oz/4ii/4aj/w6z/9Gw/9pj/wxj/ze0/8Wy/6NBAGI3AEi1AJKfAP7GAE6zAG5nADxfAGgDAAQDAKYwAOgvABXNAAbJADVJAYY+AVQPAd0IAR+1AK+7AO1LAJBbAEROABRhAOwuAMI/AC7U/8/h/x1I/z5U/0je/obl/i4F/3sJ/716/9Z3/2QCAOb5/9EIAMj//4bB/52//+2e/8Kh/1TT/9rU/3KBAGR+AKf9AMn0AJD2ANrpAAl/AItwADLj/7HW/3nH/0PA/4YBAMv//9JWAHFZAFS4AFu8APl2AB55AEH+/8sAAP5D/8ZI/3rn/pLs/t0x/zc1/1+o/xin/6vZ/zXX/6qw/6+y//R1/16C/1aM/wub/9jj/wLu/8I1AMc2AFsjALwdAP7d/wXV//fe/2bW/0YaAIUVAAlcAClbAAuLALKMAIHCAFvHAMDRAHbYABt4ACJ8ALkuAMovAGL///v6/zPk/0Pc//G4/12w/45//yd+/2tv/1J2/5W0/2i+/4f8/0cCAEo0AE41AHf6/6L5/7tr/yBm/zAG/1b//sMm//gg/+Vx/3Zu/08bAJwaAHKjACGoAEK9AJbCAGyXAD2dAFgdAKkhAOTx/yfy/+3+/w34/8To/+/d/0Oo/xmh/3Q2/+w3/+Jh/2Fp/zoBAPQLAPqlANSuAObUAKnYAEVfAG5eAOrR/2/R/5xD//hC/ydR//1Q/26n//Gm/ycwABwwALu6ALS7AJfcABfeAEL1AIX4AAnUAFzVAIBmACJkABXX/5bS/3xP/2xK/79T/xRQ/xGk/3ah/0Q3AHc4AGWRAHCWAFOCAF2KABYZAPgjACyC/2yK//M4/ww8/wQn/xwk/yRS/1tM/y+5/9qy//73/7/y/7hVAMRVAFRpAJ5tAOp6APJ/AMmpAA+sAPKZALiVAPdBAK44AFDJ/zK8/0+E/zx6/1Sn/5Gh/3EyAFowAP3AAEjBAFYHAYQIAT7IAOPJAGchADciABh7/+Z9/xY5/7w6/ylP/81O/yjJ/2bH/7weAB8fACxFANpHAJtiAHVnAH9JAKdOAADm/xXq/ydo/09o/3Uj/zEg/yhJ/3ND/7Cs/zun/w4GACgEANx/AJuCAB/TAFLZAKbUACPbAM6jAFqqAGwhAG8lAEDP/9rM/36h/2iY/ymV//+G/+W3/w2s/9rm/3/f//gVALATACZaAJFaANZxADl2AI4aAFIfAD/J/53L/y2W/+SW//Sd/6yc/xC4/+m3/z3t/9nt/1xLAPZLAPGGAD2HACxYAGdaANrK/7jP/5xX//1b/z4p/xko/41o/0lh/37W/5nN/zUVABgPADdDAFhDAHhJAF5PAEhGAK1QAAxXAAVgAO9DAElJAAo1ACs2AH8PAPQOAKW7/wm6/2ep/3en/z3L/yfK//YJAFUKALUNAJoPAJAIAFEKAEYMABYNALr4/6r1/1Tt/73p/yHY/+nV/zEJAHUIAIM0AK8zAH98AAJ6ACSIAE2HAIlxAJxyAOgfAIAjAIax/yiz/8Vz/zN0/0Jl/w5l/0R1/991/8qW/+6U/8ECALUCABHk/3Lo/4+d/1am/yFy/+59/w2d//ek/+kaAIQeAERjABBhANlkAMVgACxIADNDAKI9AAg4AMs5AP80AP9gABFfACZjAINhAM95AFd0AB+bANCUAPhrAIpoABQTAIERAPX7/4n8/5bw/+30/xvO/7nS/7+e//Gi//iP/8qT/0Cj/5qn/w+A//aB/zVq/8Vq/xSC/yGF/258/ziA/+qX/zuY/2vo/73n/1ooAO0nAK4uAMYuACQ3ANE1AHk+AIA8AKRaAEhXAHNuAE1rADR6AHl4AMeQAE+QAOZSABlPAAdBAPY7AIb+/+f8/5fA/13B/9TM/4PM//QoAEYnAHI+AGc+AGPt/7Pt/0LT/2LX/0TM/6bR/8jb/8zd/7vx/2Hu/wPl/wrh/7Xd/93c/5qy/2Gx/9fe/5Td/1s7AI49ABxDAAZJAHlZAOhcAKlnABtoAG08AEY7ANP0/9/y/5uU//2U/+Zx/8x0/x2E/yuD/xoHABMBAOMnAL8kAIMoAP4pAFwLAPMNACkDANQBACUkAGEkAFTM//LL/wzk/7zh/+YwAIUtADuCAGyAADd9AOh7APNJAGFJANw7ACVAAJT9/xn+/7vb/8bX/1TI/4rE/wPC/13A/9+p/4Cm//nA/0O7/2UoADsoAPMJAOcOAAr4/yX//1QGAN8MAN4OAB4QAJwHAPMEAEW1/8ey/6iE/2yF//2e/7id//Px/6/u/0RIAJZJAJxVAA5aAKpWACFZAHw6AFY6ACsfAP0eAGDI/8bH/x+7/8S0/2sqAOAmABcsAKMoALdqAHloAPhPALBQAJZTAMNVAFs/AFtBAHnv/wzt/yLF/y3D/7Wl/8Ci/7q2/x2z/2HE/0jB//Xu/3Lv/0EUACMaAFISAEQaAGz9/94FAMzZ/0vf/3Hc/1/f/+uv/9Ow/5xr/8Fp/yeM/+yF/5PM/wPH/5IEAJgDAOMuAJQvAIJgAJNfAGuZAHqYAH5uAMBvAG0gAB0jAKrj/yHk/4kOAB0NAHw1AMEzAJk9AEM8AGskACMoAIvk/+jo/13s/1jw/3Ce/6Kg/6iH/yOI/yyR/7aP/yCg/5Ga/3Tl/27i/wjY/yHW/0ICAEkDAOgtAEEzAFVZAJVgAOx0ANx5AGCgAPqhALOFAPOJAMkOAMERAHP4/xT4/933//b2/8bQ/8PQ/9SZ/xua/419/8N8/8ez/0ey/4DA/7y9/6Wx/9mw/5eo/5qr/1vE/77H/zYZADwaANN3AHh4AOeWAMmZAOF+AGqAAN1hAEViAOMgACUjAJm1/6+1/y+x/xCv/6TI/yDG/3v7/+L3/+0OAMMJAKgNANcJAC4YADAcAC/X/xzb/8bS/8TU/3kcAI4eAL4dAP8fAKD1/6n1/2b4/zr1/5IAABwAAJTn/wvo/5XK/4/M/wrX/wja/0giAPMkAE0gAMUeAO8rAJApACAXAFQYAOng/wni/9XI/7/F/4n2/9Xy/5YCAPQAANn1/xjy/+sXAF0UAK8PAJ8OABwUAH4UAOL6/2/5/7ALAOkKABcxACQxAAgyAFsvAB8rAPwoAIcrAPgqABgOAKYPAKvd//Hb/74EAG4DAFP2/6H2//3e/6jc/73T/x7Q/2e5/260/yWr/9Gk/0is/92m/yCk/82i/yHu/4Dt/0BBAO0/AP16APZ5AE6YAMWaAGZYAO1aAGlRAL1SAPg4AAQ6AK8gAFkhAEANANsMAFAEAOACAHcQADURANgJAEkKAFv2/1T2/2W9/x29/ze4/3e3/1qU/62Q/7OB//R8/1um/9Sj/0Kp/yCp/wX0/3n3/9VFALZKAD2LAO+PAGW7AAa+ADGGAIKHALwKABMJAMO5/+qy/ymv/+yl/72Y/7uO/wmX/7+O/+PB/3C9/yMdAPIcAFd5AIB7APGRAE+WAHZwALx1AJlHABlPAH3c/wXi/5jP/6vR/xm0/6y0/07C/1nC/6bf/x/g/wfo/4fo/97K/xvN/1u+/8q//yrL/+XN/zjM/znO/+Xz/zPz/+kLAKoKAElAAPU/AO1GADNKAPcwAB81AM5pAGtvAIRrAGBvABZVABBXAG0AAEv//1LD/x/A/2qT/46P/8uT/2yP/3up/yCo/0fN/wnO/0sMANUPAGcMAHoRAO8fAAIlAGMSANgWAF7p/73r/0Hx/wny/0/J/9jI/xvU/+DS/3P9/2b9/44ZALYbAMMnAN0pAD8pAJsrAG0dADkgAF7g/+fh/y3V/0jT/3Xa/9bX/9Hv/yfu/4ETAKwUAOvi/zDk/106APQ8ABhbAMxfAJYuALwwACEjAEolAJve/1Df/y3V//zS/5+2/7qx/xLI/6/F/5jO/27P/+L2/9P3/wVDADNFAHUyABEzAHUcAI4eAM/X/8fa/7zK/8DM/7zL/zbL/7TX/7/U//cDABYBAC75/4T3/74NAM8NACYuADgtAFUOAOcMACYcAHobADj2/8D1/6n//yP+/xQSAAQQAJowAHEvAOgmAIYoAJkVACUYAPE5AAw9AF0ZABAaADsHAHIHANDJ/77J/wqh/3Sf/2nE/xLC/yWk/waf/zPm/0Ph/80KAOQGAP4ZAKYXAHQwABwvAB8rAIUqAAc0AFMzANg7ABE5AIovADMuAP0YAIkXAFQfAJUdAGkjAKUjALIZAMgbALcNAOURACbk/6Pn/zQGAMgKAM/f/zHj/xvF/5DG/7fO/3PQ/7jd/6zg/5bt/yvw/6MEAJMEAPwGABIGADIIAGcIAIvv/zDu/y7r/0Hp/xUSANoNAPAzAMcvADMGAOgBANQJAPcEAMocAH0aAP4tAHMsAFMmAL0lAPgfAGYgAP8YAJUZAL4PANcOAFn9/7v8/0yt/0uw/yCq/5Gt/5W//+jD/7nl/1nq/3geAOAjANIcALwgABhNABlRANMnAIgtAJPj/4Dn/z4DAJ8GALMAADUEACwtADovAOY4ABI4AGVKAO9IAPNAAPJAAHkBAP7//yPP/0/O/yGm/+ik/9PP/7/N//nh/7re/1/v/xvs/1vo/3Xn/4Ps/xns/6T7/0v8/5Hb/+nd//8BAJ0EABARAD4QALgAAKT//wwDAIwBAOf7/2L5/9sOAIYNAEsBAOcBACwTAP0TAI8eAGUfAFoNAH0LAC8pAKYoAGLk/3zi/8ns/9/r/9nu/7/v/wfn/+3n/38CAIAEAJrO/9TQ/0cAAG4CANPu//zv/1Lb/zPa/70VAEwTAKgYACYVAHcdALQaAAgGAIcCAOMFAIwCAM4EANMAAFHv/wLr/8EFAAoBAKXz/+7r/5sgAKAYADARAB4KAM72/6Px/0/Z//zU/2D3/6jx/yUyAJ0tAE8dAPUXACopAIUmAOQqAMQoAPIKAHwIALbp/7Pp/z2h/xaj/xip/8Cu/wrA/6bD/3b5/435/+79/2H+/2LH/2/H/6/Q/zPS/76k/3Kj/2u+/727/9Ds/7Xr/8YOAN4MADZhAD5eADZ5ABJzABmLANOFAJxyAG1wAPX6//r5/4YCAFEAADscAFkXAD0jAK4cABYVAAYQAEvJ/0DH/9yR/+SP/zPP//nM/+qu//ew/4CJ/wuQ/6Cs/wK2/4ru/7jz/5sYAFkbAM0tAGcwAJ8rAGcuAC8tADIxAHXk/1jn/6H8/9gAAGAgAP8hAMMNAOILAIssAEEpANZUAOtSAA42ACA3ADYrAL0uAIUGAKYKAPZTAEdeAN7w/1T6/3UCAAcIAInj/4vo/4yz/yy2/wKJ/8qK/6dJ//lK/8Fp/8Rv/1+F/9OK//Sv//uw/3UUACQYAAIzALA5AJMwAKg1AD6LAFKNABjFAOTHAJKGAFCIABdNAEVPAPsrAL8sAC0wAL4wAFkBACICAAwKAPcNAD0JAJ8NAInE/+LF/zTF/xXH/z2V/9ig/yj3/nEC/0w2/2Y9/9nM/zbQ/xhIAD5NAKUYAP8cAM7s/0Ps//1qADpwAJAQAMQYAI8iAKEhAElOAJBNAISOAMqGAAy/AKu1AHUwANojAByRAJ2OAHTk/wzp/zHI/87F/yu9/1S+//4PAGYfAP2n/7us/5XW/xXM/1KkANOhAFBEAOBPAE5B/rRJ/nCF/qaB/h3p/3n3/0kyAGg6AKly/xRf/z2fAASBAKS5AWmzATpg/1lq/ymx/nWz/s/f/77a/6JqAnFmArNRATNKAY5w/8Ns/1glAK8pAJeDAOJ3AGODANB+ADaY/maY/my//qbN/ji//z/C/13o/57f/3fj/4/f/48MAAQJAHDg/5Te/1xQACFUADIU/zQa/1X5/x75/0eCAKl6AJ+5APGtAJ5+AOBtAEcoAH4UAJ5jAAZfAFcGAKcDAGkVADcTAJorAL4mADT8/yL+/1bi/2bn/zqF//mG/+Gc/9Sl/684AAVAALisAEKvAAgDALH9/y9V/1tV/xTO/tjQ/rX1/g7v/uvf/wTX/+rxAPDkAPw6AYotAW/tAAjjABhwALBvAExnABByANwwAJUyANxwAK90AK8cAHokAMGa/+Gf/2XS/wXV/zEWABwVALQFAFcCAExv//xw/xFH/rBQ/ufa/Z3q/U8D/9gC/5akAKKQAMbyAYDPAUCXATB8AbzX//7V/8MR/4Um/+Xx/+cJAG+aAbOfAdnTAlrKAqTTAbfEAWb+/xL6/2Qn/iEq/ktP/ldU/or7/jf9/sqr/ySq/7IE//gO/7lv/r5+/uix/qrA/nmNAMGRADBfAd9RAUyKAX91AdYUAI0IAC7T/onQ/k2E/kKG/h1RAGJIADHBAuiuAjJyAwpjA7X7AMbyAKuzAHi1AOBDAD5SAOfB+3PA+2DCAPaaAObvA0EKBJeC81CD8/XlAAGcADoYCp2RCvkc84I88/WEA2sPAzjLCQ9ACpTT9Zgw9lC7+3Ey+42JDK9IDCdN+wSk+7xU+w8z+yQGBzADBzMV+uUH+v8IDNDdC4e9AhOuAnZF93qP90Ti/5wIACK/A8tYA+Y8ARgqAc34+M8V+RE2/eqN/WUo/xEi/6c1AzQfA7JI/+xq/2zu/GHd/OI+Ah9eAv14/Il8/CsV/fjW/MBIBQQlBd1eACR4AKzP/0ff/1iOBBNYBCTVAjrVAirNAQXiAWhFAmVOAsls/uGJ/s2U/VJv/a9EAO1SABWD/maR/qAO/RUd/dmy/Wfa/S17/gKe/nXr/5wVANGY/aaO/eoC/jcW/oOWAI2QAFw2//cV/3DRAA7jAOuMAtOAAo/FAjC+AtWxAwimA/SkA9aVAwKsALOhACcPAIAnAPEHAZMGAYyp/pCA/nWm/m6y/nKx/q61/lWH/bSI/ZI5/oRX/pvI/hvg/j+B/cSn/ZdA/4d4/8zp/4/0/7jD/4PA/8NhAUlTAdhmANdnALGN/62o/5CmARmxAfLEAl/CAq5MA+IvA31YAq0+AsQIAXHwALbH/zfI/709/gMr/ibN/bS6/Vvj/zT3/9dR/10+/zsAAJb4/1AqAcFIARb2/bAI/kTY/bvx/T8s/ydf/7wD/1sD/9n7/3Hr/25NAYdPAaM+//Av/0e6/r3A/q2YAbujAXBTAcZJAfqbABKgAL2dAleRApxWAt5HAq0XAD8EAPI9AEMuACs4AEY0AH4Z/08Z/+qP/3SG/xXn/qze/syy/Tiz/U0y/9c//yvV/mbo/lwc/SAl/alx//qL/4QuARVCAXtXAJZLACYJAgsTAkRaAfdpAYY6AAAwAM14AgtkAvqBAvdmAn7M/wix/+/m/yLc/95iAJ9UAJXS/jex/qD1AFHuABgxAIs7ALj6/d0B/srI/izj/oeq//vC/7Bz/meL/lGH/oCm/oX5/+wOANnP/7ze/34d/z4j/3Xh/xbe/32hAISPAGbLABDCAGgTAQMGAbgCAUXdALDSAP+tAEzhARTIAVR5AbBlAQHt/7/X/6c4AM0sAMYqAR0wAU5p/5No/4Ia/4kt/z3c/gz6/l9G/n9i/pIO/9Qr/yth/112/28h//Qp/3uy/nar/q3a/pzc/v+V/nGL/kpb/1ZH/6dsAZdmASmeATONAVFfAY1GAWiGAvaCAibzAQvrAaaNAOB5AMHUAFLUALlLAL1LAM3Q/sXE/oSx/+S0/z1z/yhu/wes/j+b/giN/1+X/w+T/yKd/6fC/cjC/TUPAMIeANv7/0T6/zWT/1eJ/0EoAUstAULDACyyACrw/6jZ/+1+AV+FAXdNAJ1JAFlU/2c6//xTAAFOAE7w/9/d/06G/6xw/76Y/9GS/+um/9qh/6n2/57+/+WCAGSQAMHRAOfVAPhQAKZUAIq7//q8/55//358/8E8/0Y0/w/W/pnM/ndx/xBu/3fN/9PF/x6l/xyc/yHyAB/zAC6UAMyRABEzAI4pAI1yAB9pAOR3AEVoAAvk/8TM/+o6ANYkAIbT/93C/7u2/62r/3FZAEVgAMkZADkaALYTAAESAC5JAOBWAKSG/2eW/7gc/xYm/6ki/9Iy/3Zg/2xy/5FB/5dR/50m/1c5/+AHANwZAF6IACyUAAlfAINlAOKGAI2SAD7D/+vK/3rX/1nT/x/gADPSAPadAEiFAEo4AJYgAI4JAQr+ABZRAHw6AOS4/4ej/19eAN5fAENt/xZm/1i0/get/swSAGwdAJE8AGxGADAZABgiAIcuADk/AFHg/9f7/7by/5cSAMru/3sFACdP/6hc/6/O/1zg/wGx/4PC/+4U/4se/42c/1an//vX/xzq/zFoAH55APtkAJV0AMQrAMc6AECfAI+xAJkPAFAXAPrN/1LL/3imAFuqAGEsAAQvAJILALUGABE0ACM4AIRjAEloAIudAKigALqIAMiLABL1/z36/+R2/wV5/wtS/29W/6oC/3EB/2xN/4NL//qk/wyp/5O1/07B/+HD/+/Q/69VAORkAELBAK7PANrmAKntAO+7AE/FANxdAJVoAJc5AGJDAJAOAPcWAPjWALjhADHmADvoAHA/AFJCAJtJAGtQACeW/wCZ/6hR/2dQ/5y2/8G2/47x/nnu/voa/+Uc/xBHANZQAB4JAI0EAACRAI+TAERUAZZhAVY4AFsyALMdAAQXAO1oAIBgALuIAGd4AN7U//vH/7wMAIQBAMTMAFbBADfrAKPiAGqq/x6f/wdDAFk6AFgXAEIUAOgT/3IK/0GM/6mE//lu/45n/0cn/4Ij/0iz/8au/1YyAH41ANrf/zXg/15jAEdnACtIAMJLADEmADsiAPSeAG6ZAGRWAPFNABLy/23p/86JADqJAMhOAGRKAMDJAM+8AM/yAPTnAHQ6AK8nAPCV/zGA/yHD/3yw/0Gm/z+J/6et/0eJ/1Hb/864/7UtAOUQADyO/xB0/xjQ/4jA/4vZ/zrT/6R//6R6/6SH/yOH/+qE/yeO/3Rj/5Fu/9vc/9Xq/0oSAI8fADtaALZmAIVaAJ1kAGxuAEh1AA4jACUiAN5rAOFmAB+yAF2pAL9ZAC5NAB9AABk1AA6lAIOdAAba//rW/xXz/yf3//4aADsnAFNy/zp4/1CH/yGN//hu/yBx/8jz/jzr/o1J/+47/1ak/8GQ/+f0/8/W/3cxAMsVAMAoAFoMAH6JADdwAKp5AExhACd8AN9kAIThAKrVACjLAKjFAPPEAGjHAMcAAWgTAc3//+YZANR0/92X/ydT//56/yUi/0xC/55E/xNf/9a2/1vL/y8t/2w0/1Ng/7Zf/16J/x5//xF6/6tm/2Cf/zOH/2QbAJT+/zJKAAUmAGClACqHAHiXAFmBADp4ALhlADhoAJ9cAHisAFOpAPJrALJqALQtAPw1AL7m/731/7Ou/wi+/zyi/zuv/y+P/4aa/0pV/0Vc/40d/4og/4sG/7v//tlF/8A5/003/3In/6xl/7BX/xuG/+F9/3/J/xbI/8MJAJoMAGBQAN5WAEpRAJpdACs8AOdOAB1VADBwAFhHALJlALJbALN1ADJ9AMyJAAI3AIY4AB/U/6jK/8Cr/4ea/8SG/9Vs/wOv/0eS/1mO/6J0/1Cw/7qi/zZ2/499/7Mm/+hF/1s4/zRl/2U0//pj/ztK/2B7/9O1/8Do/0ZI/xR9/1xk/zee/4aY/8vT/2DC/1fx/yeFAAigAGbqALTqAG72AI7gAMBKAW4mASPLAEuZAOSJAIlUAE+ZANF1ADdDAPg2AHrY/3fl/8rc/9n8/4jh/54NAOILAP9KADzN/woMAO+D/928/xag/yjf/7eP/5PN/1JX/+2P/+ip/xLd/zMkAJpGAAzOABbgAIB4AXl+ARG6AfC5AWmZAemXASNFAStGAUqxADyyAH6HALCGACnfAGveAL76AA/0AKACAfr5ADQwAfEoAb4CAWb1ALHVAA/AADmKAORsACcxAO4IALNNAKwZAJ2jAGBcAHmUABs6AAUDARinAMUhAaLLACcGAUq4ADMfAQnrAH8gAYgGAZg/AYlAAaYlAX80AZBcAUVvAXOmAaG2ASKEAfOPAS8oAUglARZfAfpPAQY4Ab0ZAT8sAbD+AMXbAD6mAFtsAI0vADoqAAHg/y9QAOL2/9V1APMSAG7IAMpiAF+vAEVMAPe/AIVpAL/mABygAO7vADa4AE7kAHq1AO8kATD7AN0zAekFAXx8AWhGAaB+AUhDAWUvAcDzACMBAXHIAJ7xAB25AOk7AfcDAWxHATcSAaz5ABXKAOfaABO+AIBbAFhTACsEANUMAFj4/+8PADgTAE43AKQPAEs4AKQNAEk5AIkqAFBSAJ4lAIVAADBUANBkANuUAL6aAB6uAPejAPY7AZkjAf1eAdY4AfEUAU/oAAIuAZkAAagfAZX1AKbaAPa1AAzBAJikAGBWAKZHABL+/+H//4iY/2Ku/7Ab/5ZK/5gA/25H/+JS//Co/+22/zkVADQoAPaKAK1cAJu/AFp7AGrWAOFqACC9AEL+/1BIAPkKAOVGAD4nAAtTAA8oAPNOAEMEACovAFEMAKo5ANLX/zoCADLG/1Xx/1R4/+Sr/5Bc/82U/xZP/0yO/wkg/85o/x/6/plS/w3j/mZG/2EC/7Bs/w+O/9r4/6Pm//lOAI/S/5wvAI7C/w0UAANK/x2R/4gB/1k//2vi/n4b/y4S/2FM/8Iy/wly/9NP/yaZ/xtL//qg/2u2/04dAKKd/6YJAH5x/xHe/ydP/5K6/3gd/yCC/5TL/mwj/3mv/pP//r2B/oLE/mWX/hHL/vnV/kT6/qpT/ylt/6hU/2Ff/2dP/+9M/9lA/9A0/1M7/+gr/5gy/3Ii/5ai/1KW/+oAAIr+/6pNAFBWAKIEAHITAOW7/3vR/5PF/zbj//Jq/2uJ/zvD/vvb/rSc/hW6/qnE/szj/nAh/5U6/+1l/5B7/1ZN/7tk/xtm/7t6/02M/5OP/+Cr/1KY/7NX/x0y/14A/+vQ/lJs/8s1/4i2/1R3/xf1/+O0/0ZNALoSAAauAJh4AOfLAI6WADLDACGOAEx9AI5JAOwwAEf//wrS/+Wi/yN4/8pL/49R/9Ik/7NK/z0U/37N/8GL/ycVAN/J/3Xu/9yZ/4bw/4GV/xo/AMXg/7EYAIS8/4oYALHF/wKAAM00AN5QAWQMAYKcAY1gAf2FAXRXAfQYAdD1AMPVAPe6AGdYABpHAOji//vd/+Vs/+xu/2Bm/9Ji/yr9/xTx/zF0AO1YAAp3AMFFAPKDALxFAPZaAH0ZAKYjAFve/6YzAPbu/46WAEJTANA1ARf2ABFxAVUwAe99AWI+AbSoAYx0ASlDAckdAWm4AFSeAHldABZOAKMWAPQLAKLK/xTK/7Am/84o/7NO/5tZ/82K/1WV/0r4/xQDAMwPAFQcABJHANBcADQCABETAP1YAJpsANBeAF1vANTWAFjmAKoHAUwVAQxbAbFwAZ74AF0XAdSTACnBAN4QAGE8ANtMABV1ACkFAOklAOsIAAciAArT/xfj/4Ok//+r/4tt/0Bw/xKc/2Sg//Fe/2do/31r/5V+/xJV/7Bs/x+y/wDR//t2/8Gj/7tD/2KG/6dB/4md/71w/7Hh/+GN/zULAA6+/3g9AKH7/6ZzANFNAGe2ANlQADmfAEz//2wvAOLC/+3W/xWo/26k/yuG/4Ft/yli/5Q6/2pg/7wz/ylN/ykj/2FX/50v/7Xo/sTH/hHW/oPI/mn1/kL//uEF/6Mh/6kC//0u//8s/wJm/wZC/6eE/5cC/7ZD/+3t/nYo/25e//yN/4vc/83//3LH/43Z/8XI/2XO/xEWAIkSAGpTAP9EAMEQAOPy/xzp/5/E/4Kg/zV8/8US/+Tv/qdj/kFH/gFW/k9G/tW5/gy3/h8X/+4R/555/4hu/6MLABD8/zNgAFtGAFDi/6qx/3SY/8VW/6aW/65J/wXb/5uD/+W0//JU/8GX/9A6/8DF/190/18gAMrb/2I3AM/+/2pKAIopAKFLAERJABhDAJxZAGvj/xsQANat//3p/8rq/44sAGxiAN+cACdAAABnACETAJIPAB1/AEpSADWXAHNAAIxLAJjP//giALmM/w10AHfT/1LdAPc3AHXcAO5DAHHKAANRAChrAZckAXVYAfo1ARtmAYNoAYUMAZQ2AdbwAKdJARoPAPh9ANzG/wBIAKvR/2FUAEXtAAVjASwhAWVsAYvGAQXxAbKXAb2iAVxQAWw2Aa2vAO5uAA/DAF11AHNMACz6/883ANXs/+0TAA/R/+ZkAYZDAX3uAWnoAXjgAZXxAXNNAdJ0AfIwAWNpAY/1AFgnAbAcAYY8AdoBAUoGATPFATG2Ad/tAS/MAfgVAjrtAY2fAb12AQR0AS9YAeomAQ8dAQDmANXuAJQBAPkTALKHAJmtAH9qAHmiANpUAAigAHkSALpdAGSyAKX4AFU1AYZsAUUmAfJDAZJNABdHAG6RAO15ACdiAH4vAFFSAPcKAKlRACkFAHAdATfgALiQAcVpAUQcASACAcFcAAJMADTNAOLNAJ0sANEzALhs/1R1/6zd/uXl/lGv/8Ov/5MPAEcGAH+5/8mi/9Bd//Y9/5QKAFTl/8HP/zaW/4V6/0Mv/50L/9fF/nEQ/wfY/m8a/0Tz/v3v/nLX/qyH/9SV/1DO/yUDAIMl/+52/56P/qny/kpF/7O3/6Yt/+CK/+1W/0Ob/xXp/pgH/z8g/4ga/+rm/m+r/l4z//bH/jE//+22/ryj/7sJ/wPY/nos/uSJ/lzs/bSr/oE2/hrs/sCX/qbb/i6p/nGL/vSN/i8r/q9W/tuC/tDA/s+M/r7G/t2U/q/B/kSO/mio/oCj/juh/lWv/s+U/ti4/qWF/kH//q3G/vWe/0F//8QZ/3ge/8/u/nkA/+YOAMNMAOVQAOLGADBA/yDl//W7/TJw/knx/uHI/2NS/7UtAC1h/u0X/0mq/ccm/tbgAPRcAVKm/wvf/+Q9/0oT/yox/0vG/lAHAgSdAdV/ANgDALh5/rzj/W4o/hSx/ReSAeVwAZiz/xS7/wtg/omX/vfY/tlo/z+OADVVAU+VAEeAAeSm/mOn/wG0/mjA/1NmACdeAeP3ABu4AWlsACQIAZb3/iRQ/xznARJDAjfd//IXAJkVAC0KAMt8ADGQAPl3AjRuAi3//pTh/ntnAOtVAGCpAuLTAmdW/9dS/0tPAVBBAXfAAb0SAoASAhqRAoM2/cBS/claAqGmAmL7Be9aBt/jAAIRAdKX/k2c/uNNAUBNAcztAJboAGmFAuuhAtBS/q00/oI6/9lf//SdAl3yAtmsAl0jAxKH/nTj/nAJAVucARXsAXWYAgDNAfFhAvDK/LhJ/cOh/qAX/04dAWpRAUOgAfC3AQr6/Y2t/TbMA+5iA3t+AX22AKxtA5lvAvPE/6XS/pNo/7KQ/t1QAD6F/1KKARaiABqTA14aA6PmAUDOAfET/wjZ/jDvAO/WAFlKBviNBstG/3OU//tx+9uL+zOv/8Ds/+E4AtyrAubZ/Fzn/P4Z+6ni+gWpAbexAXSjAYW1AYI9/Tgd/SmX+/VI++ncAJOzANekA2KHA98eAffQACdR/GDs++MEAW/PAFDRB5JlB8sVA7WWAqhq/PLL+z/FAHtKAD98AaXxAFVv/sDN/dxW/eHZ/IJo/Nvv+2uuAAthAFe4/wJe/11a/t4G/oSy/QuR/bqM/bGx/Ur6/GYr/eXn/FT3/N08/mBg/hVk/0yv//ixAMUaAZ0c/gt9/q0/AAqHAISTA3DlAzenA9/+Awe8/6jg/49c/sRU/tWCAJB6AGc1AdUqAbbN/TSc/Xsy/Bfi+xZE/voy/qLI/qet/vUU/eHq/BIo+/D7+h/b/Gbg/JjC/cno/U5J/s55/k/K/pH//rmKAGT1AKKJAGnzAJhbAdLmAfz//UyX/pXqADZbAcclAkJ7Avuk/pUi/94c/euc/cEs/raW/tRp//rG/2ID/oZi/v7h/f9E/i+e/nEK/46h/UkE/mLT/qYN/wuO/4Sw//VK/9l0/2zn/aP8/QXl/yPX/zNNAOAuAPySAM1xAJO2/wN2/3fL/4iG/9qsAQSIAUmIAL1YAOQO/FnH+4tR/X9P/WC5AYwGAqRE/vta/lAK/bcy/TPa/rZL/w1bAA78ANWt/M4Q/U3o/bN8/jh2ADw4AQ/iAAuZAe2a+7kt/L/9/sV3/wKYAmAnA/7LAYY6AgGm/EHM/GZP/jla/kSAAtixAlTqAPPCAArx/duR/eKv++89+ywpATvZAAYAAeKFAO8g/omq/Uxv/DgM/Nw1/wwO/yAf//wt//CP/36q/wov/z40/xohAwo1AwGIAu/qAu09/r+W/hhs/jiu/upOAoR4AkiWAQvkAd6C/cd//cExAJ4SAEnfAULoAUy2ApUaA+hY+pyL+j9A/gdu/uO5BdIwBqcmBh2hBh8H/F4E/DFY/hFL/saFATx+AZrv/0vf/9/W+e+n+WmM+xRd+9e4BPnSBK12BiqGBhtjAts7An6KAvhGAv02B2blBpLLBAoWBEHj/8ZG/zv1+nZu+hd0/no4/sJgAeJXAczuAqb9Ah1OBANMBMprBnabBkqLBGfxBOaH/XDB/fjf+i7x+pyT/2fw/0qT/pID/8K7+/Pn+6+8AG7CAA8aCtQ4CjIxCURWCbCRAYhYAQiy/whc/wePAZCLASJ0/ZJ9/Vkm+jXl+egbATGwAIvYCcVnCbDDBglKBuXz/eqg/QhL+dte+XQU/1Fd/wpnAzxyAz8ZBpnVBRmwB6BCB2UZByeqBkZCAgDpAc13+/ZD+5mS+Q9W+az9/cd+/WuTAuqpAWQsAVwsAOdo/ump/fpV/ooT/mFQA8poA6nmCWvyCYZhETFeEWQxEsZgEiWbCwvbCwyFAfSFAXYV/XHC/H7K+gNW+vfy9Sp39UmM9Log9Jxy+aAA+cjq/45//11NAbYBAQ/xAZQBAkEHAY8yAdLQBIz0BIjIB+LLBzNRCXZhCQMzBd1EBauPAZCbARJw/0JY/9F+/7Bk/4Ca++A6+1+l+cn7+GlM+zWO+sEb+69t+k6X93EE9z1h9mrs9Vgg/izs/ZzYA97SA7n8BPHUBJheBdFNBQ2GB/tlBzLqCT5nCYdvBI3QA8Cp/bhS/d8q95MO9yLI+5Vo+ygLBuV4BX6xC8gZC2ZQAKez/wmv87OO8w+68hI481wZ9npS9u/5/rqZ/h38CH9qCObWBqFqBlev/rm7/iYy+Hh9+Ccz+wLl+4kTBtDzBm2UDkcdD5HaEMAHESRJCsVCCtNd/RlR/beR8yiF81348hPv8q7K+hDY+lWEABlgAIYYA/MBA5yTA/ayA+bQBAv9BOO5AsTuAtCg/sPF/i6L/ZmT/QyLAOtbALAFBuOeBZQ2BJuOA6fy/tSA/uYg+JEI+Oxz9NFp9Aas9xxr95Tf/VSG/esO/KaX++T290l19zkM9jN49bHm9Bd39BZb8bwc8f5g8o1t8m/B+fMI+uUYA/JVA5sgB8MqB5CZAW5yAVH/+xoZ/H1y+3PB+y6d+6LU+xsl/RtA/dAlARFXATZkCp6dCmUwDeB2DbqzBaoUBjgnBMbIBKZgAx0NBNfw/wUuAJCmA+HTAzzwA/H8A1KQAhGjAlMIBKA0BAs2BX55BasbBYlwBblhAuezAm/6AAsxAZajAfKFAc2iAThAAa7j+3yC+wEE+HfF9zHo9h7A9sjI+bGR+ZOy/0J0/6QDAtDaAYOq/3+R/1vX+4az+yyt+ROL+ZvY+T+b+eR++qEu+pAV+5K5+tIZ/CHZ+7+X/6F3/6csAAwuACfn/FAW/bbB+yYe/LZ+/R7k/RcYAhdiAqRhBZFmBYnWBNnABEr3AeTsAfXXAdT5AVp7AbevAbshBEZDBCacBwmLBwTqBgvwBnkFBW0iBUuiBJ+oBFAxBWg6BZzfAr/xAgg+AC9cAFVnAleOAlmUAQ+fAWWrAdCRAZ9b/xlH/+Iu+wJX+xQh+R9H+Wwq/Jcr/Pqq/VqQ/RF//mV1/hKd/maB/oAG/iPj/by//s+q/rbi/nXA/hXY+xGQ+65I+5AV+xlG/+0+/w0pAXHwAPihAPZeAP4XAiXxARkEAhH1Aa9KAI8vAOxe/m9g/tme/1bQ/14nAr4sAvl0A5x/A0fIBdLxBbbJBpfeBp/LBt/FBiflBuHjBtDHBsXJBqeiBsu5Bl+0BcjFBdIaBqXzBaCgBkF7But3BbmMBeGvA6/wA1j2ANpGAVKMAYTjAX8WAblNAX///qlF/+YH/b9i/VIp/Vlj/bcC/9cb/83D/oXb/odd/kB//r+f/5jP/5dD/95K/3kJ/V/i/BgU/Mfu+xv3/Jmx/GVq/Hv/+1gx/RnG/F4+/ebl/Cfn/K+e/Hto/EIj/IV9/BFK/Pc+/CoC/JA3/LUE/OtI/Wb+/Mcn/53U/hfoALWyAANlAR1KAQ30AJ7hAOZ7AX+GAcpIAndaAsXWAhDcAllfAjN2AuH4AZX8AcB2AuppAlaqA22vA7kcAugxAo7jAHgSAS0vAH10AEeCAOHHAF/V/gcD/3vn/Icf/VI+/FaM/DP/+a87+plZ+nOs+uAD+ytS+7FD/T+I/YXy/RAv/l/7/JgT/dWT/NOW/IOd/Aeo/A7b/Pq//MAo/D8D/GP2/ObV/I/O/USZ/dTf/fCN/Rnf/vaX/oL//c7X/YKT/dZ9/Uyu+1ik+0ni+7Tq+5/c/Ljm/ItM/R9e/VvC/SLh/VKa//Xa/5MDAWU2AcXCATTcAVKmADu8AHTJAO75AGeGAF6pAEgkASY9AT7AAUPrAQO8Ap3tAgk9Ajp9Asj8AOZFAVBT/y+X/1VW/nmj/j/B/RAV/uAI/dxS/Wi2/IL4/KTf/QYq/nMk/pRq/uqs/kf1/gzy/qk5/4g6/nNy/lxc/QyQ/dNM/Zx0/YEU/v4S/hk0/7YO/+Lf/ziw/0ep/49u/84y/3z2/v2a/1Nr/xPa/7uq/0jP/rWm/jpm/gNa/qdr/0tp//mXACGQACn+AE35AM1dATBlAVB1AYt8AbRgAXtcAdbYAAq8AD83AfIMAcX4AdvHAYWDAktKAsqGA/VVAz6wBIyTBB7XBDLdBMO/A6nvA3R4AsXRAiWlAd4QAtzUAHQ7ATGoAGT5AF7jADEVAbRtAZx7AYKtAWmkAQ8/AYMjATP6AOjeALBvAc9qARMRAfELAfLLAOrTAGhvAR+BAU29Al3RAifdAnPcAlC3Ar+zAjK5AoGwAum5AWmeAS/5AKjMAMx7AEc4ABncAFmJAOCeAZ85Ab36AZCAAQsCA0GKApn1AleSAovjAnqTAp/1AQrGAaRlAdBOAe2ZAQCUAegXAoUoAgMSAusuAsFvAoqZAtccAwJKA24VAvI0AkqfAW3IAXarAe7hAfywAaTcAc7AAW/lAQGBAQKiAfzuAUcMAhu9AcTdASlqAUaCATuIALqfAJcDALolAEhgAFCEACjd/0/w/9bx/6T9//JHAPxVABPcAPfqALuOAMmZAI14AHCCACSGADGHADPQ/37O/2/f/1Dp/+VMAHxhAIMAAO4YACoaAK1BAHaS/13A/y0a/yhF/yBT/jN0/r26/r7R/nif/qm0/umZ/rWp/g51/4V4/2/x//Lp/42h/yqc/7qq/0y0/4w5/4dA/7Ag/6Yo/wM+/9hA/8EwAP4zAPHZADLpADFtAEiCAJITAHs0ACjk/pkJ/wTC/Tro/c8k/TlI/QYN/WAn/d3Y/TDn/QmD/uKN/g8T/9Ab/wks/+VL/7o1/9F2/0pH/kyb/np5/b/M/W23/fL8/UH2/Uwe/nPH/onk/sLr/iEP/7ov/2xX/wBC/w5r/zPf/ub2/ogE/oQL/jhh/S9m/XoW/YsW/YJs/X1j/XEj/o8g/rrK/gDb/qpL/6Zt/5Mn/6RR/+EF/143/1Tx/rwd/wS7/ird/nw5/lBQ/s2a/taw/vSk/ze6//mDAB+bAIfyAAINARrYAELxAJ1lAKt9AKGD/82l/26z/hLh/oRX/op//jiD/pqV/n4k//Qc/3uk/0WS/1f4/3nh/wERAGL+/6n9/+rz/9aD/6aD/4EY/9QY/4Mi/8Id/+XP/0e8/6QDAGLg/7qFAPxoAHitAEukABaKAMWYADPt/2cUALmk/0vi/x0d/6RZ/1vw/ngn/3iC/5Sw/9TX/2Xw/4SAAI6SAPGjAD+1AMO3ANrFAGyLAAqWAOBAAF9MAPNAABZMAPhlAKBoAFB9AMBnADzzABTRAGw4AWwQAaZPAdwrARcVAcz9ANeVAI+GAH8YAJAMAFpjANhWAN7DAHSnAMqwAId2AELdAFeSADPYAF2OAMDqABirAAyQADBZABFHANMiAJpUACdGACpLAC5EAE+EAIVxACp0APVSANjkALC+AKSzAKKLAFY3AJQVAKUmAAgWAPZbAMxTAKqEAIV+AD5CAHFCAHpVAPxYAN9hALFfACA3AG8wACDR/9XN/0SQ/y2R/62B/yN9/xuV/6OI///Z/6XC/4kMAHHk/0sxALf6/4F0AM43AEw1AEH3/74kAInu/9EgAGL7//ADAB30/7sIAIULAKgEAK0TABs+AE9XAHERAB4oAJbH/5fV/9qx/6q5//ZT/z9R/+ou/yEf/7Kc/yyD/xbI/56j/6ja/3Cy/xfD/xuU/9Kw/759/+7C/0WT/7+E/71T/3qO/7Rj/4+T/zxu/yCA/9pg/05k/+RU/w4l/5Qo/zIy/wpG/yIv/9tJ/xzb/mLw/sH2/qcH/xhB/3ZL/9hN/yVI/2AE//jz/oL//qPo/uUX/6X1/o1c/yww/2VV/zck/+9W/4Qt/7dZ/6Q8/0E+/wgv/yEk/50l/ywq/8M7/xQm/3RC/3M8/6Fm/3UE//Y6/98j/yFf/55G/zqA/0eJ/8W6/5WN/+ux/wax//a9//yf/76U/1bP/0+1/zW6/0OX/1Cp/4mC/x3M/3yo/8/a/069/7IMAKz8/yUYALMRAN8oADwlAGEoAM8eAIL3/6He/y3+/7XQ/1YoAM/m/3swADHY/zcjAES//5ZQAMbp/yWBAHwdAHqgAGBEAAmKAG43ABmQAM5JAAlpAGgtAEU3AEsCAGpaAFUvAOFnAJdIAF6KAGx0AAiHAC98ANmgALCoAMClAMO9AER3APGZAHpBAGJsAJdLAG+AABBTAAqDALxrAB6HAMK5ABy6AKgfAQwFAU1AAW8MAd4mAerYAG8PAbmwABcZARC5AMXwAI+YADOvABtnACm+AE2QAI34AJHfAJMeAU0UAXkRAZEOARIKAakIAV/+AM/5ADXKABvDAAZnALdmALJRAPVYALl2AIOAAHKbAFqmAHuNACOdALByALeHAAdkAMB7ANgeAKk3AJPk/2f+/8ye/8Cz/1eW/3ui/6WV/06X/4KR/+iG/y6W/2mB/zCT/z14//V+/99i/0pa/6pF/684/xkx//8m/4wm/08j/8cd/6Ee/64I/2pK/zUa/2KD/6Ew/3qC/wEL/xN3/2Lo/iV+/wvq/nl3/1Tv/rlA/5Tb/kD2/gLM/lnX/lvy/v/c/sU6/1TC/h9f/y6k/vh6/0ak/mCi//in/ke0/6TA/ovK/wjZ/sHL/zUF/xrM/30l/22w/8d5/3/L/87G/yTk/7Dk/3/a/+y1/3yW/2Ww/xqS/+qg/xSM/w6Z//yN/wx3/wZy/9iE/7OB/4K3/4Kp/yz4/w3N//0bAEzG/zhqALHo/9mgAET4/1urAOvq/5qiAFXf//qkAO30/xWtAFQtAEGLAItRAGFPACNoAIU6AHOrAJcuAJfxAMojAHcmAWEcABlDAb03ABtmAc19AKmWAR7DAK+tAcb2AHKrAT03Afq8ASJqAejMAWtnAfm5AQ1cAW+sATd0Ab/KAdu9AbQgAmbkAUVHAnAQAvZjAgZdAi2PAnG4ApyyAvncAhGKAm0LA2prAgclA2BDAkE6A3EpAvQZA9v0AeP3AtPjAS++AoXjAVpnAmXlAXLcAbXLAQVxAbndAeZHAagnAtYsATtgAlMoAfqGArRBATGaAo6KAViqAn/bAQ6gAgoXAkZ2AjEeAqQmAjMMAuHUAdngAc2LAfanAVJdAdxfAdw/AV39AGAVAZSfAIPvAFuHANv9ACKpAHElAYPZALE1AWYZAZk6AQRxAdZIAYDEARlPAa4AAt9IARgUAm00AYwNAgwnAWDqAachAeScAXISAVkoAR/yAMa3ALDVAFREAJmpAE3R/3FtAFFp/4MnAPg3//kCAD0r/2nv/zIp/5XY/zwm/+K6/0or/wWo/xIr/8uY/98J/5tq/8nh/mE7/ze+/oAS/7GY/s3l/kNb/lia/q49/jJg/qlE/jlE/qtS/oUk/pI9/p7W/eQg/hh+/Uc1/q5n/bZF/stZ/ZA+/nZG/UId/p4u/akR/uU+/Uv0/dRF/VLK/YJJ/VeD/Ycu/RFX/d4t/YIg/Tog/fH2/L4Y/XDo/Jwz/c70/HJt/RT2/G+X/Rf4/CrE/Un2/F7s/XcE/eMW/hMM/ZAj/o4R/bwf/gwZ/cMG/j4s/UHh/bI+/a2n/Rxa/Txs/XVn/awp/Yp4/ffy/JSG/RTN/Pel/S3Q/JW7/bzl/FvS/YAS/Qzs/ZBP/W0X/uSi/QhR/ur4/TCY/tZL/qbf/veD/jos/yGn/u5w/223/laG/2uf/lOD/6+D/vFf/zJf/ocr/8hO/qDb/olC/pqb/nBf/hht/iuj/odi/sgQ/7BK/nNg/6JY/vCy/wWd/hAPAJMO/2ZoAEGD/2mWAOMUAKK4AHuwAIHUAAcsAYPTADR2ATysAMOdAe5/AF63AXV0AEyjASdsALloASlfAOc8AbN2AJ82AUm9AAgwAaz/APQcAawfAZYgAfI4AQdUAWpoAWqcAf+RAUPfAfCeAQMZAjacAfBSAmKfASBzAjiZAVNqAg+HAVdBAgx0AXQCAmJlAQigAVRDAR48AX4wAd/pAO8wAYm0APJDASWDABJJAeBnALNMAYVbAH9AAQNwAOk+AXaDAOwpAXeWAHgBAfa3AH/bAIryAD/CAGsoAa+kAClHAbZ9APRVAU5cAA1PAbdAAF46Aas2AKoIARwqAHbTAPsuAFChAKhDABSBAMRvAGZpAJuZAE1bAPixACtLAPSnAJtCAMqPAAJAABJzAGk9AIBIALcoAO0OAPoNAN3b/zP9/y/I/4vT/wOw//KV/6Wb/0Nc/z+a/15G//C+/zo1/9br/yYg/yILACQa/9IgAFlA/wY9AIeE/7BOALPQ/2I/AIonACghABp+APX6/42wAFO4/0y7AFFy/1axAC5D/0CLAH8r/yU7ACYY/3rj/wwZ/6ur/0lI/3mf/1So/6GW/wX5/9el/+FFABfV/xOSAGQqAFfqAJ1yAE4bAX+vAJorAUPhABQpAVULAeAiAZIRARAFAXP3AODOAAq2AGiPAHFbAAxUAFn3/5QuAK6R/wIVAIhT/1sdAGU7/9o8ANVA/xddAGRj/0R7AOez/0KwAPIYAMLgAGKIANL2AOzmAP3rABk7AUjbAJF4AT6/AJaVAYmRAHCHAcNTAN9eAVkaAPUiAWvs/wLQAIPL/4F5AHG//6MmAEXJ/+7Y/8Xj/6aZ/90IAPht/9orAGFa/9VQAKFe/1dwAHCL/2+VAGTM/zCtALcHAPisAG43AMORAOxjALJvAJ2BABBQANx7AFogAGVbAJHq/xstAKHE/7j+/xXA/+m//0G1/7h9/0yw//c3/3q3/5IS/+jR/6sF/73r/8EN/6f//9Io/9P9/09w/3z3/4C7/xfq/yYYAP/h/4t2AJ/W/1TAADe+/57dAPGa/z7OADZ3//2kAIJl/35tAD5p//YlAB54/3jI//iE/2SA/yim/+pG/x7M/3cW/23j/x3v/kvq/+3l/rXr/5r9/gHj/ywr/4vM/xdk/yax/1+o/8yf/3To/52U/zsMAPiC/xMVAAlr/2sWAExn/zsMAB94/0Do/8iK/4fB/22e/26e/2C4/9h5//LI/99i/6DU/41X/7DP/1Nf/1HF/3l3/1u5/1Gm/2C5/1jV/2G6/8T3/1O8/7AJAOm4/4UaAB+2/5gkACHB/xcgAN7Q/1ITAHHa/4wHAPfi/7D+/6D1/6ft/1UBABDa/5ENAOLI//AaADy9/1kkAFSj/9YcAH+P/7IQADGM/5sIAJ+j/6ARAIG7/zITAIva/8AVAF37/9oNAIEdACMPANAzAMURAIVFAEIXAIVbABAaABhhAD4VADlhAHMTAPpnADAYAF5zAH0oANN3AGo8AGZvAApJAFhhAH1OAGZZALRZAEBRAJVpAMJCAN5zAPVCAKZ8AItcAB6RAPB8AGuiABWPAGyjAJCUAHGdAK6dACKgADGuAEipAC6yAIaxAEafACW2ALGPAPDEACqHAIfgAB6HAHr9ALmKAGgOASSaAAAgAf+jACQnAXitAJcaASTBAIEIASXhABT8ABX6AJHqAFUOARXXAKcqARPJAFhAAf29ANBFAbO0AFAvASaqAMEeATmwAHsEAQe4ALvgAJHAAAW/AEbGAD6vALLMAAmeAP3LAFGSACnSAFqJAPDHAMKMANSzAGmPAIaWAJGKABF8AMx8ABxrAE5nAIJgAAdQAI1ZAPE8AJtSABYrAENMAJsOAKYyAHrt/wkXACLX/ycGANXR/0YAALra/0P5/0re/5zp//nd/4DV/43h/yXF/5nt//u6/zb5/7eu//L4/x+c/yv4/0WJ/yXs/8l5/y/Q/zRr/72x/+pe/4ic/9la/yyH/9xV/3lt/6NG/5FR/1Iw//5B/1gt/zMo/+cn/1IH//Eg/+Xs/p0c/77i/psl/2HK/rsl/7yr/gwh/zKR/pUb/wWJ/msb/zKE/p0T/1d8/gD9/ox+/gjo/rWJ/kTS/jmS/p+9/huU/hio/sed/rqY/pqs/uSO/na2/giD/uW5/uJ3/uy//upy/sfF/iN0/lfK/jZ7/lDM/huC/nDb/rCS/qjs/oCb/rv+/kug/mkS/6em/qYo/+yz/gBC/2rG/uFV/7XV/rtk/xHl/s9t/5f7/hZv/2Ia/0Fp/287/zRg//1Y//lX/0Bx/zRY/8iN/0Jh/8Cr/6ts/4PH/xx5/3/g/5WI/2b1/+aj/wYRAL/I/4UwAPrn/3NJAKT8/9pXANIOAOFmAKsrAOCBABBHABSbAMBYAIipANtgAGusACtxAG+2AF99ACS4AAeLAAy5AFqYAKW2AN2rAKG4AETDAPe6ANTbAJm+AEXwAPnAACIBAazFAAAMAbXIAA4NAVC+AFoSAca8ALcVARa+AJwVAQm6AGsQASetAPIOAdWpAHQSAf6tAI4PASypALv+AKmdANfvAG2ZACrlABKaAHPeACikAGnVAC+qAJPRACW0APDQAJ3EAFvKAGDJABm8AMnFAHOtAFrCAAelABm/AD2bACK4AIKMAPmpAH1+AOyeAGduAPqVAA1fADqRAHdIAP+IAKMxALqBAJ8YAAZ+AJ0AACJ6AHrp/110AKzW/65vAMDN/5tjAHrI/w5PAHbF/3Y1AE3C/7oLADDC/8Pm/xC+/9O+/x+5/zqR/5ew/55t/+Cq/19U/4Ci/+w1/7+Y/0Ef/3aJ/1MJ/5d8/631/hRw/4bp/uNt/3vk/jpq/6na/nZk/x7S/qlh/4DH/gdo/3PB/uNt/2nA/slo/7vA/rth/4XH/nBb/zbU/lZT//3l/rVF/1D8/tU4/wUa/9Yw/xg5/6Uo/xZR/98f/3tj/xkf/5d2/yQg/2+H/zwg/4yN/20k/42U/2Qu/z2k/+E9/7mx/2NI/524/z9R/3bC//dd/wLS/9hr/wvk//15/yPt/yqG/27q/5ea/3Dr/4Wx/6bt/2XG/3bu/8TY//nl/ybs/xfd/0ABAKDb/zkSAHTV/0AZAMzM/+MeABzL/0wpAH7P/9EsAEjU/4A0AEDe/zM9ACfl/85IABnz/3ZZAE8GAIlnACQVAKBzAAwfANyDAG8pAMCLAAotAAWUACk5AA+dAK5IAP+iAHxVANudAGBjAMGYAIZ1AMSUAMKIAJORAAehAD2RAKW5AKSQALTOADKTAI7oAIaXAPH5AOClAD0IATK2AIcXAbi/AOQdAV3FAH8dAQLLAOodAYXSAFEhAZDRALMgAbjJADQcAUvDAHsbAS2/AN8ZAfe2AJ8SAbenAFILAWueAOkBAeOeAHTyAN+gAE3gANyhAG7MAOqhACe4AGmjAO6hAIqgAHCHAM+TAPNpAJWLAL5RAN59APg6AMtpAHMiAJVTAKUKAIA+AC3+/9ssAALz/+odALjj/6INACXV/1j9/0zJ/2fy/xe//8Xl/120/9TW/82o/8nL/ySe/13J/2Oc/wjA/7OW/1G2/9uT/3uw/76Y/zSs/+Wh//mj/7+l/yyd/1yq/6mZ/7us/1Gc/w+v/+ic//Gs/4Ke/9iq/5Sj/y+r/6ap/6is//er//6t/26o/9qv/9Gi/0Wx/+yd/xC0/1iX/wq3/52Z/xe9/1+e/5jC/1Ki/3HH/2yn/6DG/36u/1fG//Oy/1bG/ya3/+rA/5i9/y66/xK+/0+x/wS9/5yq/8+7/26p/4e1/8Cq//Ow/1qs/yew/7ut/3Ou/xau/6+z/8uv/5u7/zmv/3zC/9Gt/zfO/32t/0ff/7mw/+Xw/yy1/34AABi5/4wGAHG3/50LAP+6/wYPAFDA/+MJAB7A/9EEACbE/7///8TJ/9D5//XR/8Hw/6nY/2/s/yLh/9Tq/6Dq/wzp/x30/5fl/+H5/0/h//H//3Lf/6EGADfj/xwNADHj/0wRAMLg/3kWAFXg/0oaAHvg//0bAPPb/+QXAMvU/00QABHR/+MKAJ/Q/5AEAC3Q//j6/9LP/1Py/+PS/87u/1fW/+3t/+rV/8Lo/9fX/2Pk/9HY/2/i/wbc/3zj/1Pg/23i/z7k/6ng/2/p/3jg/8Du/xHe/w/y/w3Z/1P3/9PV//H5/7XS/4f3/9rQ/5Dz/5rQ/1Dx/zrU/8zv//nb/4rr/7vi/47l/x/p/xHg/wLv/6ne/wf1/+rc//D3/3Dd/8X6/3fe/xP7/+3i/3r7/1Xs/8z9/6P2/3kCACD6/2gGANP4/8MIAMD8/z4PAC7+/3MTAK3+/xcYAF39/7EdABb6/4UiAIz5/8knAMb6/60rAKb7/xouAO39/2ovAKoCAMkuALMKAEMwALkOANUwABQWAHY0AModADc4AM8kAKU8ALIrAF0+AP0uAIE9AEIxAD0/AKI2AJFBAIg5ACRBANg9AIBCABdGAOBEAKdMAAtIADhPAFJIAKRSAFxJAJJVAHNJAHRYACNKADdZAKtIAFpdANhIAKRiADFMAOZhAD9MAGRdAGJKAPhZALhKAPhYAEhMAO5UAMpKAIZPAOlIAOtJAB5FAE9HANdCACpFAB1CAAZBAKU/AEM7AJY8ABI0AOk6AForAKs3ABQgALs0ALITANUwALILABMsANgJAJQoAIgIAOUkABwKAPwhAHMMAKweAPkNANEaAMYOAJsTACQQAJUMAJMTAKUFACoXANP9/w4ZAKb2//wZAETy/0YXAMbv/0MUACLv/8oRAAzu/6AQAGPv/1kMAITv/+IIAITu/8MGAEfw/z8FAInx/6EFAOLx/z8IAAv0/z4NABj3/34PADn5/yMNAKb5//QGAMr5/wz+/zv5/xj2/8r5/2Hs/6v2/+Dk/2H2/0je/xn2/7HX/yvz/6bT/77v/7jT/+rr/97W//vl/8za/w3g/7fd/2ja/4Tf/zPV/w/h/yPU/5Hg/+zT/2je/9/R/wTg/77R/63k/57Q/4bp/yPO/2Dt/7jL/7Hw/3vJ/zP2/zjL/1D6/x7O/7D8/1vQ/6P9/7DS/x3//zTX/7P9/8na/7X5/yLc/3z4//Tf/zj3/0jk/wT3//zo/xj2/3Dt/8Lz/zzy/0Hy/6D2/2Hv/yn5/wXv/zj8/4Xx/2z+/6P0/9H//4b2/yYBAJb1/2sAAJvz/2kAAIrv/wYBAPDr/24BALbp/3QCAMLo/48DAHjn/3kCAAPq/6wDAKDs/54CAFDz/0ACAIT+/zACACoNAGQCAFQbAHACALAmAMYDAJErAG4DAGotAGcDAIAsANUEABosAJsIADkvACYPAI8yAPcWADY0AHogAEk2AHwpAIY3ALcxAOY5AMQ4AEY/AAs/AE9EALZEAANHAMNIAFhLABJOAAxPAJRTAHxNADpVAO9JANBTAKxDACtSAB0+AKdRAOs4AHFQAJIxAIZOAForABBNAIwnALtKAFokAOZIADQfAENGAHQcAL9FAE8XAKlDAN8RAHdAAGkQAIE+AP0OAC09AMUOAGM8AJUPAK06AGcOADo5AFENAB43AN8OAMQzAM8QABQxABYUAB8rABoaAHMlAM4eAI4iAN0iAHkgAL8mAOceAHopADweAH8rAL8eAFUsAEkgAJcqALYgABopAEEhAMooALEiAHMnAIokAKokANYkAPwkAA4nAIEjAAEpAE0fAIUqACoYADAsAFIRANItALUJAOMtALoBAKwuAJv5/2cuAJTx/4ssABDq/yYpAEHj/6QkADvd/8EdAGfX/1AVAI7Q//QKAE7L/7gBAFbH/7T5/wbE/9rx//7B/6Lq/4/A//nk/+K+/xTh/3+9/5Dd/xW8/5jc/2W7/6Pd/0y7/7jc/6C8/6za/36+/3XY/+7B/+LT/47H//7Q/1rN/zvO/9PT/3/L/2DX/zvL/+jY/6LL/y7Z/1XK/1TW/2vK/6bV/2nM/y7X/yDQ/+bY/3HV/3rZ/2HY/3DZ/4rZ/wXX/+/a/wnU/+fb/37R/z7b/wHQ/23f//nP/xDl/83Q/xPo/wjQ/+vp/77P/3zu/5HN/1/z/zfL/zD5/z/K/+z8/+jL/7gCAOjN/5UGAHnS/70IAFbZ/wULAP/h/2sNAGHr/xAOAMfy/64KAC76/zkIAM0AAOgGABcGAC8GAMsLAIgEABYRAIoCACcWAEcBAHMbABkBAAogALMBAIIjAIUDAOQmADIFAPkpAHAGAH8rAG0GAKEsAEUGAGUtAC0IAFgsADoJAHArAOsJAJkoAM8JALskAPAIABwfALgFAG4YAMkCAMgQABAAACsJAJH9/zMCADf7/5P7/wT4/531/3v0/7rv/6Tw/9rp/5rt/6rl/x3q/5Pi/43n//vf//rk/+Pd/6Dh/0/d/4vf/yTd/+Tc/2Xc/8HZ/7Ha/4zV/6fY/wjQ/4PU/1rI/xzQ/yvC/8jN/7i7/+/N/3q2//rN/2Kx/9LO/8yr/zfP/2qm/1HO/96h/53L/5eb/5jJ/2CU/wLJ/4yO/1LK/yaJ//HM/9mF/yXO//6D/8XN/+2C/6XN/2CD/9LL/+OC/1nK/9SD/8XH/5uF/5HF/16J/6TE/4SO/yHE/9OT/9vD/z2Z/wPE/xSe/wLF/02j/0fF/8Wn/9LG/y2s/1HL/6ex/yDQ//i1/0HW/225/+Dd/4S9/5Xl/9fC/3ns/yvH/8jx/0nL/2v2/6vQ/wn7/yPW/9gAANXc/7YFACzl/0EKALTu/0EPAJn4/3sTAOcBAPcYAJQKAB0fALsRAEkmAD8YAPMtAGsdAC43AHkiANg+AAwmAE9FABIpAHZJAIMrAHBLAGcsACJNABEsABhNAGoqAFdLAFonAHhJACEjAJFFANgeAANBAMsbAD88AGYXAEc3AGUTAI0xAEIQANErAIcMAHUlAMwIAKQeAAUGACMZAPgDANMSAD4CAPkLAIsAAJoGABAAAG4AAJv//wT6/0///5j0/13+/0fw/0f9/wPt/9r7/27q/335/33o/973/9Pn/w/2/wXn/63z/xPm/xvy//vk/wzw/33k/4Xt/6rj/4Xr/+nj/0Pq/wTk/9Xq///i/+js/9bi/+vu/8fj/5Px/8nk/y31/33m/wL5/7Ho/0H9/+Hp/+YAADHq/9MCACLq/6cEAMfo/5EFABvn/6wFAJrl/xYGABzl//0HAJ/l/6EIAGjm/8kIAF7o/1kJALHr/4wJAAfv/28KAJfx/54LAL71//EMAGf7/7kOAA4BAFYQAB0HAKoSAE0LAJwVAFoOAJQZADIQABAeAEkRAHYjAI0SADopADQUAJQuACwXAME0AIkbAGA7AEIgAF9AAJ4kAGFEAIEoAApHAEktAPxJAGUwAF9MAGszAO9OAIU2AOhQAPw4AMRSADQ7AJpUAGs9ABpXANk/ALtZAKBCAFBbALZEAPVbAOxFAEdcAHhGAK9cAF9GADhdAPZGAIReAK9IACNhAAVKALdjABpKANhlAPpHAEtnALhFACVoAIpFANloAIJHAEtpAPlKAFFpAMhOAGJoAMpRADZmAPJSAO5iAH1SAGVfALJSANhcAGNTAKhaAARUAIpZAFBTAGRYAIJRAFNXAAxPAF1XAKVMAN5XAOJKABtYAEVKAE5YANJKAPNXAC1MABhXAPdLAJxVAClMABdVAHJNALFUANFOAMRTAENPAF9RAE5NAFlNAIBIADtJAFFCAKdEAE48AGI/AMk1AF45APIuAKAxAPIoAGIpAEUiACAhAGEbAE0ZAC4VAPQRAN0PANwKAHULAIsDAL0HAEv8/7oCAMf1/6H8/wDw/7T2/03q/5bw/1vk/0bq/2Td/y3j/zLV/7na/4fM/ybT/7nF/8TL/6W///TE/2W6/1W//0q1/3C6/5ew/261/7Or/0uw//Wl/9Sr/wig//eo//6a/6Gn/0yW/7im/4+R/0ul/6uN/+2j/5CK/x6i/8WH/4ug/1CG/4Of/wyF/xqe/9aD/1qc/6OD/6+a/2iE//yY/3mF/5qX/y6G/9KW/5mG/9aV/9SG/wOU/9WG/ySS/xKG/0CQ/zSF/3mP/5GE/2OP/3yD/52P/+iB/9OP/x9//++O/yh7/2SN/3J3/5uM/9Zz/6qL/wtw/7CK/7xt/yyJ/89r/5aH/0Rr//aE/6pr/0uD//Js/3OE/x1v/1KH/0Jx/5yK/zNy/5qN/xJz/1WQ/6Z0/16T/413/1KX/+97/6uc/+mA/36i/zOG/5+n/0aM/xas/z+T/xuw/zOb/1K0//uj/3+6/16t//3B/0S2/x3J/6a+/2rP/4vG/wXV/yfO/xnb/3LW/zvi/9He/3zp/13m/4/w/2Tt/5L2/+Tz/2T7/yL7/23+/64CAEgBAHgKAP8EAGkRAGsJAGcWAAYOAJcaAKoRACseAEoTAHsgAOUTADsiAAoVAPkiAKcWADwiAHUXAC8gAKIXAHkeAMMWADYdAHYVAMgcAPkTAD0cADsSANwaAAQRANUYAKwQAHYWAH8QAKgUAKIPAG8TAKYOAD0SAJoOAMwQAKEOAO4OAKYOAOYMAIcOAO8KAFoOAOoJAOgMALwIALoJAAUHAB0FANcEAKcAAKcCAO/9/xsBAFf8/+b//3z7/9z+/7j7/w3+/9D8/8D8/+D9/8b7/w3///77/2oAACn9/2IBANL+/2kCAAEBAA0CAOMCAFgAABgFABL//4AHAM3+/3MJAFz//54MAEkAAIQPAIYBAHsSAFcDANwWAOcFAJkbADUJAPIgAAENABImAKIRAJwqABQWACQvAHAaADUzAAcfAMA2AFEjANg5ABsoAJM8AFMtAAM/AJsxAMJAAJs0AA1CAAc3AB5DAC85ACNEAPc6AEBFALc8ADBGAKU+AK1HAGtBAINJACREAElLAM1GABhNAJpJAIxOAARMAJRPAIpOAI1QABhRADNSAKlSACpTACpUALhTAGJVAOtTABZWAOJTAGRWAAtTALhWAOZRAOtWAK5QAHJWAJxPAA5WAAdPALBVAGROAOpUADROAAlUAMZNAE1TAKBMAM9SAIhLABFSAHFKAA1SAExJADxSAJJIAKdSAJJHACdTAGtGAPJSAPtEAC1SANVDAGtQANZCAO9NAJJCALVKAN1CAOFGAORCAAJEAM5CALdBAF5CANg/AB5CAO09AK5BAL07AAFBAEg5ANo/AKA2AOg9AC8zAIE7AL0vANo4AMMsAJo1AMApANwxAKkmANQtAKEjAM8pAOEgAI4lAKYdAMUgAFkZANIbAJAUAOQWAIcPAMcRAFoKAMgMAEgFAG8HAM8AAEMBAMf8/8T6/xf5/8vz//T1/5js/3Ty/+vl/0Tv/+/f/1Xs/2za/0zp/yfV/9Tm/yfQ/6zk/4jK/wvj/5fF/9/h/z/C/yTg/0O//5Pe/+W9/7rd/329/w3d//a8//fc/52+/4/d/0fB/x3e//rD/yje/8PH/4He/4/L/9He/9fO/1bf/17S/9Hf/1/V/4rg/6bZ/17h/13f/wXi/yvk/+7i/47o/xHk/xTs/1zl/2Pt/2vm/37u/8Xm/xvv/7Lm/zDv/97l/+bv/8Hk/zLw/zHk/0rw/znk/3vw/2nl/5zv/9bn/0ju/8vq/9Dt/3nt/wnt/1fv/wHs/yTx/yLr/3Dy/0jp/2Tz/z/n//zz/7nl//7z/wPl/0L0/xnl/zX0/3Pk/yD0/2ji/1r0/3Hf/xj0/47b/3vz//nX/0vy/yHV/5jw/5/S/5nu/5/Q/wnt/+3O/5nr/wjN/yzq/+jL/0zo/4LL/3Ll/zLM/3ri/yTO/8/f/3XP/23d/3nQ/5rb/xPS/43a/53T/y7a//3V/8vZ/zPZ/5PZ/5Lc/xfZ/7fg/w7Z/47l/0/a/8Tp/wrc/2Dt/9zd/wLx//Xf/+Tz/+zh/1X2/9bj/6X5/6Pl/0P9/3fn/1sBAIHp/2gFAKDr/68IALPt/9cKAI7v/9kLANDw/zUMAM7x/4YMAFXy/4IMAAfy/+IMAFPx/+YMAJrw/6cMAETv/+MLAE/u/28KADLt/1oIAG3s/0YGAO7r/1wDAEbr/x///wjs/6z5/0Ps/9Py/w3t/93r/37u/9rl/5ru/y/h/2Lv/7zd/9Tv/zjb/7Xv/xTZ/0fv//vW/7fv/7bV/xHw/xjW/x7w/5DY/yXx/xvd/8vx/w3j/wjz/2fp/wLz/xLv/3zz//Hz/wrz/6z4/+jx/9v8/yvy/7cAAA7x//4DANjw/7UGAPDw/9sIADvw/2gLAEbx/6YOAJ7x/00SANHy//QVAMX0/5EZANf2/54cANf5/xsfAE38/5ghAOT//1QkAE0DABcnAOIGABAqAMgLAHktAEcRAIYwACAXAEMzAIUdADg2ACAkAIk5ABQqAEk9AG0vADJBANM0AJZEADM5AEdHALo8ABpJACVAAB1KAL9BAJVKAMZCAD9KAE9CAGhJADZBAHBIABpAAMNGACY+AItEAO48ADlCAKY7AH8/APA5AFE8AF84ADE5AOI2AHY2AD01ABM0ANwyAEkyAAoxACoxAO8uAJQwAEAsAP4vAGIqAMMuAA0oAOMsALQmALMqAOUlAHIoABsmAIUmANYnACMlAD4qAJkjAIctAMkhAC4xACMgAKo0ANIeAKs3ACIeAP85AGEeAMQ7AIAfALE8AL0hABs9ALckADA8AC0oAPs6AFosAEI5AP8wAFo2AAY2AGczAC07AHkvANw/ACUrAG5DACcmANJFAHUgAJ9GAC8bAHhFAOYVALFCANsQAH4+AAYMAFw4AGQHAIowAHcDAG4nAKsAAKAdAHf+/4MTAHP9/8AJAGr9//0AABf+/8H5/xj//2/z/4wAAJLu/zMCAM/q/zUEAOrn/woHAPTl/2wKAHDk/7wNAIDj/wwRACjj//YTAAXj/1kWAF/j/5sYAGHk/+0ZABLm/1UaAGLo/7QZAFvr/7YXAGXu/30UACnx/9sPAD7z//UJAFL0//0CAFL0//P6/0Pz/+/y/wDx/3Lr/x/u/+Pj//rq/zzd/1ro/67X/5Dm/4TT/9rl/w7R/4zm/+7P/2zo/w/Q/0Dr/x/R/+zu/xbT/x7z/1fV/3L3/zHY/3L7/zHb/yr//+Xd/1IBAMzg/3cBAHjj//r//0Hm//78/zzp/674/xXs/+7z/x/v/zjv/8Px/87q/wP0/5jm//31/7Li/8L3/5Df/6z4/63c/3L5/wLa/7j5/4DX/3D4/7/U/5b2/yHS/4bz/wrQ/xbv/93O/yzq/9XO/2vk/9fP/5bd/4zR/6zW/yzU/3LQ/1zW/yPL/0HY/63G/wDZ/7jD/3DY/4nC/2zW/7DC//HS/0LE/wfO/5XH/+3I/zLM/7XD/7bR/3e///LX/3+9/0Pe/1i+/97j/2/C/+3n/yvJ/4zq/2zS/4rr/7jd/4zq/1zq/yzo//72/43k/1oCAFXg/9sLAH7c/4QSAJLZ/2kVAE/Y/68UABvZ/+MQAPzb//8JAPng/38CANrn/7T6/+Hv/4n0/yP4/yXw/2///2Xv/ysFAAjx/0UIAAX1/2sIAE75/1AFACH///7+/1IDAAH2/4wFAG/r/5wEAGbg/4kBAPrV/4z7//bN/+3z/7zJ/8Xq/5DJ/4fh/83N/zHZ/3fW/8zS/6Hi/4nP/5jw/8zO/zL//ynR/wgNAATW/0YYAHHc/xMgAGjj/w0kAFzq/zAkAJnw/3whAJ31/5ocABf6/6kWAFH+/9IQAO8BABYMAEoDAAwJAFcFADQIAM4IACYJABkNAH8LAKYQAHwOADsUAFcRACsZAEQTAIAfANwTABYmAAoTAK8sAMMQAO0yAAMNANw3AFwIAI05AGwDALQ0AM/+/1YpACr7/5AZAHD5/+YIANr5/yf5/zr8/y7s/04AACTm/3kFAK3o/5AKAEvy/8sOAAAAAMIRAJ8OAKISAFsbAFgRAG4kAJwOAKUoAC8LAAYmACAIAAIeAB8GAJMVAIMGAM8PALwJADMKAMgPAOMGAL8XAHYHAJIgADYKAIMoAD0LANMuAPoJABUyAA4GABMxALP//yUrAML4/xkhAK/z/x0UABfw//YFADHv/w35/8/y/8vu/zT6/yXo//wBAAfm//0GAITo/0sJADvv/9gJAFT5/xEIACkGAIAFACsUAIUEAMIhALcGAKctAMILAOw1AEETANc5ABAcAOs5AE0lAC82AAEsAIwuAPQuAF0kAMMsAH0ZALwlAIwOALAcAFQEAOgUALb7/3AQAMj2/x4QAC32/2ETAN34//wZAGD9/1YjAMUCAMYrAEIIAGMvAJQMABwuAJENAI8pALkKAD8iAA4GAPQYAJkAAOQOAMT6/6wFAKr1/+H+/zzy/xT6/4/x/2b1/yXz/6Tv//v1/wPp/9D4/2Xi/z37/5fb/wz9/5jV/5n9/6TR/6r9/7TP/2P9/wbQ/z/9/ybS/3j+/7vV/90AANTa/9YCAPDh/xAFAOnp//oGACby/0kIACX6/yYJAC0BAGgJAPQGAMIIAK0LAMkHAGAOAKQGAPUOAJMFAPsNAJcEAIoMAAUDAHcKAJ4AAEkJAOf9/4EJAOL5/3kKAPH0/wUNACTx/ywQADTv/38TAKfu/60XAGXw/yccAHX0/08fACn6/xEhAI0BAEwiAEgJAMUiAGwPAIQiABkTAIMhAOYUAHgfADAVAC4bAOETAJ0UAAYRAOUMAJ8MANcEAJIHAMX8/3QCAIX1/+r8/+/u/wL3/w/p/+Dx/4zj/xzu/7De/03s/+bZ/2vr/wvV/+/q/5XR/ybq/0PO/8Do/wDL/1zn/yDJ/53l/0TI/43j/1HI/7Xh/3rJ/xPg/8TL/6re/7DP/wze/wnV/yne/wra/4He/8zd/1Xf/yzg/3Xg/yTh/7rh//vh/7/i/1zj/4Tj/5Dl/6/k/8To//Hl/7Ts/9vn/9bx/2zq/3n3/2rt/0P8/5Pw/5wBANny/4EHAMn0/1kMAPn1/3cQAOf1/2wUAOj1/80WAMH1/7gWAC31/9kUAOH0/9AQACn1/7AKAG70/7ADAB7y/w78/xjv/3/z/yTr/27r/xXm/yvk/4/g/1fd/wnb/3XX/yfW/53S/3rS/xzO/93P//rJ/wjO/+rF/6PM/wfC/67L/9W9/6/L//u5/17M/6y2/wbN/xyz/xrO/7yv/7DP/1yt/57R/4ar/6PT/3uq/4DV/2ir/+vW/+Kt/yTY/6Kx/wHZ//W2/+fY//S8/+PY/wnD/wTZ/7LJ//LY/5TQ/3PZ/2HX/7La/1Te/9Lc/67l///f/13t/+fj/0n1/w/o/2f9/0Hs/zEFAD/w/0cMAPzz/0wSAIv3/zEXANj6/3oaAGz9/2QcAA3//4cdAPv//8kdADcAALMdALD//6QdALf+/2sdAJP9/xwdAKD8//gcABr8/9scAGr8/7ocAIL9/4wcAEr///kbALQBAPsaAJYEAGIZAM4HAAcXAMcKABMUAM0NAMUQAHwQAAwNAG4SAO4IAJYTAOEDAB0UABX+/8wTAAr4/9wSAMbx/0oRALjr/+gOALvm/xUMAPPi/+sIAFbg/4EFANve/7kBAJze/yr+/1Hf/6v6/9ng/y/3/1bj/1P0/wXm/wfy/63o/xHw/2Hr/8Lu/0nu/1vu/ynx/7Tu/2D0/5Lv/+j3/xfx/7H7/+Py/3b//+f0/4QDAKf2/8cHADf4/94LAJv5//8PAOH6/3AUAB38/xwZADP9/+gdAFT+/2YjANf//8YpAFYCALgwAN0FAAU4AEIKAIY/AL8PAEpGAFAWAHtMAJgdALBRAIclAG1VAMotAINXAIU1ABBYAAA9AHlXALpDALZVADBJAAdTAF1NAI5PAPRPAKpLALZQAIZHAH5QAAtDAOlPAGg+AGdOAO85AOVLAHk1AGFJABgxALFGAA4tAGdDAIUpAEpAAJUmAOo9AHkkANI7AJMjAAE6AGgjAFE5AMkjALY4AIgkAHw3AJ0lAII2AIgmACM1ABMnAOcyABcnAHcwAHwmALstAMwlAMQpACYlAMAlAIwkAPshAO8jAK0dALkjAKoZAFQkAOkVAKQlANISAJ4nABQRACYqAOEPADstAMoPAMUwAA0RAGU0AAkTAB44AHkVAL07AGkYAKQ+ANobAIJAAGYfAHBBACsjAG1BAGsmAOM/AIcoAO08APopAAQ5AJMqAE80ADsqAOcuAFQpAAApALonABMjAHMlACIdABkjAGQXANsgAGUSAKweAPcNADkdALcJAEYcAO4FAHQbAPgCAMgaAHcAACgaAG3+/2EZALL8/5oYAPL6/3sXAFr5/68WACP4/0UVAKv2/7QSAB71/9sQAHzz/yUPAKzx//ILALjv/x4IAOzt/9gEAG7s//EAABfr/0/8/0zq/574//fp/531/0Lq/97y/1br/5fw/+Ds/wTv/8Hu/xPu/6Xw/3nt/wLy/+7s/8ny/6ns/zXz/y/s//jy/1Hr/0by/0vq/xfx//jo/6Pv/xHn/87t/7/k/wDs/4Hi/1nq/1rg/17o/x/e/zjm/+Xb/7Hj/+nZ/5vg/1/Y//bc/x3X/ybZ/zLW/xjV/+XV/1XR/yHW/w/O/7XW/0rL/+LX/03J/9TZ/6LH/yfc/2nG/0Pe/4/F/7Lg/0LF/0Xj/xrF/2vl/zTF/zjn/7rF/8fo/3fG/0Pq/3DH/3vr/9vI/z3s/5DK/4rs/1fM/1Ds/3PO/wXs//bQ/8Hr/57T/0jr/1nW/8zq/0TZ/0jq//vb/67p/2ne/9jo/03g///n/2Xh/x3n/+fh/xLm/9Dh/wDl/4fh/+Pj/w7h/3Xi/xjg/47g/07f/3De/3fe/wDc/67d/0rZ/+zc/07W/x/c/zTT/+/a/9/P/3HZ/5TM/5TX/3LJ/znV/3DG/1HS/67D/+fO/3rB/zrL/7G//1XH/0W+/4PD/1q9/0/A//C8/6S9/8+8/3K7/zO9/825/+K9/6a4/x6//2m4/xDB/+y4/4jD/++5/3jG/xK7/7XJ/4C8/zfN/0W+/7zQ/1XA/yXU/yPD/z7X/7fG/+DZ//PK/0fc/3vP/7fe/yrU/yvh/8PY/zrj/7zd/27l/9Pi/8bn/9jn/xfq/9bs/5ns/4/x/8nu/+L1/wHx/wj6/9Lz/679/231/84AAHH2/2kDAFH4/zgGAF/5/7YIAOv4/8MKAK74/2QMAGj5/6gNAJL5/+oOADf5/1YQANT5/6MRAKX6/6ISAE37/wcTAL38/9YSAP/9/74SAGv//9sSACQBAAUTAKoCAE4TAFMEAHMTAEMGADITADMIADMTAFUKAIYTAPYMAEIUAM0PADwVAKUSAE8WABQWAEYXALkZAEUYAAEdAFoZADMgAOEaADYjAOQcAL0lACMfAPQnAHIhAK0pAO8jAAgrAJcmAEIsAKcpAGQtACktACMuAC4xACYvADQ1AFcwAO84AP8wADk8AD4yAP0+ALczAJNBAP80AB9EAEc2AGtGAKE3AJ1IADY5AKxKAJQ6AHtMANs7ALxNAOo8AHNOAE4+AENPAHs/ADdQAFdAACRRADVBAJBRACVCACJRAChDAGxQAB9EABFQAO9EABxQAKZFAHpQAHZGAIxQAE9HAMlPAN5HAHFOACVIAOZMAGxIAKZLAG5IAF1KAF5IALpIAGhIAPZGAABIAMFEAEdHAPhBAIVGAAs/AIhFALA8AKhDABU7AEhBAJ85AF4/ANY3AG49AGI1AAo7AJUyACI4ACMwAP80AKguAE8xAKMtAOItAGwsABMrAIAqANooACkoANEmACEmAOIkAMckAKYiAMojAJ8gAP8iAIsfAHkiACwfABMiAG8fAFMhANAfAGsgAB0gALAfAD0gACQfAHIgAP8eANkgAD4fADohAEAfAMYhAOkeAFsiAHMeAN0iACEeAHgjAFIeADgkAPseABolAHcfAEomAEgfANsnAJAeAB0pAOsdAPspAKIdAFoqAJgdAJEqAEAdANkqACUcAPAqAH4aAHYqAHoYAEspAIsWAJ8nAP4UAMclAJYTAGcjAOsRAJ0gALEPALEdADgNACoaAM8KAIAWAHwIAFkSAKUFACkNAMUCAPUIAET//8ADACv7/2///+/2/yj7/47y/4j2/yDu/z/y/4jp/1ft/+rk/7fo/zvg/17k/57b/zHg/0bX/1bd/yfT/2ba/13P//fW//LL/27T/8XI/wjQ/9/F/xnO/zDD/zTM/wnB/zfL/0u//1fK/7O9/2TI/zG8//jG//G6/4nF/+K5/+PE/w65/7TE/5a4/8rE/324/z7F/1q4/+7E/4S4/0XE/8W4/5TE/7+5/yDF/9m6/8PF/xe8/8PG/0a9/yLH/zW+/w/H/8C+/4jG/3K//4bG/1HA/ybH/zXB/4bH/+bB/yTI/67C/3/I/3/D/6HI/2bE/7XI/0/F/4nI/2bG/6PI/4HH/+/I/4DI/4rJ//PI/xLK/0rJ/0bK/7vJ/xjK/+DJ/xDK/wTK/zLL/0DK/5LM//rJ/83N/5PJ/2XO/7PJ/+nO/2fK/1/P/yzL/9DP/4nL/53Q/8nL/6DR/13M/1DS/9PM/8rS/4DN/6/S//PO/7XS//nQ/zbT/+rS/z/U/4jU/3TV/9PW/1TW/8bZ/7LW//rc/1zX/8/g/2XY//fk/1va/4Po/4bc/53r/5De/43u/5rg/0/x/7fi/87z/8Lk/wr2/73m/9P3/7Do/y75/xLr/8f5/5bt/wL6/+7v/5H6/+3x/077/6rz/9j7/yf1/xr8/3n2/xD8/xH4/zj8/7D5/yb8/5P7/8X8//L8/yn+/9j9//D//5v+/6gBAPr+/7QDAGX///AFAPr//4YHAJAAAAIJAKwAAKQKALQAAPULAOUAALAMAO0AANUMAE0BACYNAP0BACYNAIwCAPcMABIDADgNAFADAL4NAHsDABQOAN0DANMOABEEAO4PAJ8EAN0QAKkFADISAIQGAPcTAE0HAE0WALgIAJ4YAGcKAI4aAE4MAEsdAJ0OAIQgACcRAAYjAIUTAMglAMIVAEUoAFIYAOQpAOsaAEArAIwdAKIsAEcgACktABYjACYtAMYlAIEsAN4nAIIrAG8pABwqAPEqADEoACcsABUmAJ4sAKAkANUsAKMjAJ0sACYiAPgrAOogAOUqADQhAIApAHshADsoAPAhAB0nACgkAOYlANomAA8lAFMpAN8jAAksAJAiAC0vAMQhACcyAKcgAO4zAL4fAHc1ADAfAIQ3AK0eACQ4ADgeAIw3AIUdAMk2AEMdAMA0AH4dAFQxABUeAL8tAAIfANIpAMYfAOwlAEggAO0hAMsgADodABAhAG8ZAFEhALQWAK0hABMTAM4hANsPAI0hAJsOACciAKcOACUiALoNADEiAPYNAMUiAKcPAG0jAH8RAAwkAL8TAJokAJkWAD4lAKwZAHUlAIscAAYlAFkeAEskAAogANYiAMIhAEUhACoiAKIfADQiAJgcAIkhAA0aAE0gAOoWAOAeAMsSAAccAKwQAOgYAPwNAMkXAMAIADsVAHgGAE0RAOMEAFwQAKb//+8OANf8/1sKADf9/3kIAGb6/24IAFP3/3oEAP34/zMAABb6/1X//7L3/x79/2D5/6b3/+X9/9X0/zD+/7Hz/8P9/0Lv/+ABAP/q/5YFACzq/5gEAO7o//IDAMPk/0YHAJXi/2AHAPHj/08EAD7j/2MFAPvg/4IGAPbi/3UCALPl/7n//xvm/6b//wzp/+z8/2vu/1/4//3x/5X1/z31/2zz/7H5/+fv/7r9/xbs/53//z7q/////27o//IAAMXl/60AAEzk/3X9/1zj/9T4/73h/4vz/6rg/0Tt/87f/2fm/57e/5vf/2bd/9HX/33d/13Q/8Hc/8HK/yPb/zbF/7Xb/5HA/4vc/yq//5/b/6S+/+zc/xS//+re/yfD//nf/wvI/1Dh/yDM/4Lj/6DS//zk/73Z/8Ll/1zf//fm/wTl/1no/0/q/2Ho/xTu//zp/2rw/1/p/0Hy/yfo//fy/zvo/37x/7Ll/ynv/9Xi/wLs/03g/w/n/2ne/+fg/0za/0na/8TV/7DT/x3U/03N/+TS//fG/+TP/2PB/13O/3+9/2bO/yC8/2zO/9O8//XO/4G+/yzQ/7TB/4rS//3G/wvU/37N/4HW/6fT/2fZ/zLZ/xnb/3je/2/e/+zj//fg/97o/33i//7r/zrk/8Dt/2Pl/2jv//fk/3Pw/2/k///v/0Dj/0Hu/7Th/8zr/97f/0jp/23d/5/m/8fc/1zj/4Hb/7zf/yvZ/5Tc/4XY/yXa/0bY/5PY/5nY/3/Y/3vY/x/Z/wXZ//vZ/yja/x3c/xvb/8Le/4jc/5Lg//Te/1Hi/13h/9bj/1Lj/5Tk/4nl//Xk/2Hn/8Tl/3Lo/0Dm/6zp/yPm/1jq/9fl/5zq/1bm/6zq/1Xm/wvr/5vl/3Xr/8Tk/7br/7/j/7zs/6bi/xXu/37i/2Xv/9ji/2Dx//Xj/5Xz/3/m/5n1/2Tq/2P3/2Dv/5z4/1j1//j5/338/976/0EEAJn6/zULAGr6/9QRAFv6/9AXALP5/14cALH4/0YfAJX3/4AgAAH3/4ogABP3/4kgACv3/yQgAJT3/yweAGT4/7kaADL6/9wWAHT8/54TACT//5MQAF0CAN4MAAkGAJkJAIUKAHsHAN0PAJAGALIUANMGANIYAEsHANgcAOEHAIwgAAMKADojAGgOAMIkADkTAAImAFwXAI8mAAwbAP0lAL8eAKYlAOsiAF0lAEYnAAckABUrAPEiAHQtALEiAGwvAIIhAKAxAOcfAP8yAGseAJkyABAdAKIwAJEbAJAuAO8ZAGgsALUYAB4qAAgYAJwnAD0XAHgkAKUWAGIhAKUWAKAeALkWAJ8cAA8XAGEbAF0XANsaAPAXAKEbAMgYAJUdADcZAMgfAF4ZAKEiADkaAL0lACocAOooABsfAG8sALshABYwAIYkAG4zAL8oAJ41AFYtAGY3AAUxAAE5AEE1AJ46AIU5AF48AGE8AHE9AJ8+AJo8ABNBAOM6AAxCADE5ALlAAKA2AMI+AOsyAOI8AF4vAB46AFcsAMU2AHMpAEQzAJUmAEYvAF8kAAsrAEcjADcnAEYjAL8jAAgkABchAIglALgeAOknABYdAFkqAMIcAJcrABwdACcsAFIdAKssAN8dAJ4tAFMfANguAIwhAAEwAAEjADUwALMjADUvAPgjALstAI8jADArAAUjAJImAHciAPsgADMhAAMcAIMgAEwXAJggAE4SAKMgACANAKggAB8IAN8gALQEAKIhAHMDAN4hAA4DACIiAPwCANsiAOcDACAjAHEGAIUiAHYJAAUhAK0KAL0eABMLAOsbAKMLAPoYAG0NAOAVAGkPAGESAGsQALIOACYQABoLAIMQAFMHAMEQABgDAIgQAND+/8QOACT7/yMKALf3/6wDAIj0/0f8/+/y/8H1/17y/zbw//Dy/w3r/5T0/1Pm/wD3/2vj/576/w/j/0b+/9rk/9UAALvm/+MCAPvo/5EEACvs/34GAGnw/7sHAE70/y4HAJX2/28FAFD3/7sDAJX3/4cBAAv5/6P+/+P6/6P6/7n7/4T2//37/5vy/4b8/4bu/x/9/x7r/wD9/07n/xn8/2Hj/6H4/0Lh/z3z//3g/5Pu/+Lh//Pr/87i/znp/8nj/6bj/wzl/wfd/0jl/+jX/43k/xbV/x/k/2DT/2Dj/5nR/7rh//zP/yfg/8nP/8He/2XR//vc//rS/5Da/1/T/8jW/wPU/1fS/4DU/6DO/03U/xLN/9jT/5/M/+rU/2/L/xzW/wzL/wvV/2nN/wLT/2zR/9nT/6zU/17X/8bW/2ra/+fY//Ta/3jb/37a/1fe/3Tb/1Hf/3nc/4fe/7ja/1Hd/yXW/wPd/6jS/7bb/17S/zTZ/ynT/0fX/xTS/8/V/3jQ/wHS/0rR/87M/+3T/zfI/6TV/8fF/3/W/3DE/23X/6zC/yvZ/x3C/1/a/+PE/yLb/1TK//bc/5nP/+Tf/3zS/yPi///U/w7j/zPZ/4Dk/7Ld/5Xn//zf/3fq/4Hg/+Lq/9fh/57p/+/k/xXp/4Pn/4vq/6fo/4rr//np/9fp/ybs//rm/wTu/7bm/2bu/yPp/zPu/6Hr/6Lu/3/t/zfv/z7w/xzw/5P0/0ny/y75//P0/+n8/7D3/4T//6D7/w0DABEAADwIAGoDANMNAAsGANwRAC4JAKgUAKALANAXAA4MAOIaALwLAJQbAOoLALwZAKIMAOsXAH8NAPsVAHYOAKITAOsOAP0QAP8OAFYOAAMPAP4LAPcOAOUJAEcOAFgIAFANAK4HANgMAN0HALUMACoIAIINAN8IAJwPAGgKAFQSAJYMAEsVABoPAOYYACoSABccAOIVAKUeANAZAMEgAPYdACAiACIiAOEiAKIlAPoiAFUoADsjAO0qAA4kAGMtAPkkADsvAMclAFMwAPEmALswACIoAIswAFwpANgvAMIqANMuAMUrAMotAA8tAP4sACsvAOEsAL0xAOEtABg0AHcwAMw1ANUyABs3AL40AF44APk2AIs5AJI5AFc6AAo8AFA6ADU+ALg5ANw/AE85AMpAANo4AIdBAMQ3AC5CAKI2AF9CAJQ1AINBADk0AAFAANcyAA4+ANYxAOA7AM0wAKo5AFAvAD43AKctAJc0ACIsANkxALcqAE4vAFwpAPosALEnAMsqAH4lAMMoADgjAKcmAHAhANIkAOwfAMwjAMQeADQjABEeAHkiAOwdAJYhAIoeABchAO0fAPwgAL0hAL4gAH4jALYgADglAD8hAEknAGYhAHspAFIhAPoqAEwhAMcrABMhABgsAH0fADosALIcAIgsACcaAJEsADQYAFEsABgWAJgrALATALAqAE0RAPEpAFYPAPMoANUOAFMnAFYPADAlAFYPAAYjAC4PABwhAIUQANweAGUTAAocALEVAKwYACcWALgUAIQWAGUQAIgXAO0LAKkYAH0HAEwZAC0DAHIZAMH+/+8YAHL6/yYYALr2/98WAFPz/xcVAFbw/xISALHt//8MADzr/3wGAGTp/z3//7/o/5H4/9zo/6Ly/2Tp/87s/0Hq/zDn/+vr/3Ti/2Xu/yDf/+Lw/xTd/7Hy/zPb/yf0/zjZ/7P1/2/X/1T3/zjW/4r4/xHV///4/7LT/1P4/4jS/1L3/+HR/xL2/zrS/1X0/0TT/4fx/+zU///t/6rW/1Pq/wjY/5Dm/3bZ/9ri/yPb/x3f/7bc/+Hb/5rc/wva/4/b/z3Z/5nb/9vY/yTd/5nY/3Xe/xLZ/xre/7DZ/yvd/w7Z/0Xd/2nX/xPe/5rW/4De/73W/7re/1HW/2Df/x/V/4fg/9fT/9rh/1rT/83i/z7T/4Dj/7PR/7fk/+/O/2Ll//jM/3rk/zzN/8Pi/7fO/4Di/wjQ/yrj/yrS//Dh/3jW/zjf/4nc/yPe/zvi/6Lf/5Pm/1fh/57q/xjh/9Lu/yvg/y7y/+fg/13z/+jh/w7z/ybh/9by/93e/9jy/zPd/47x/2/d/xzv/1Pe/xrt/wPe/6jr/4Pd/6ro/y/f//Pj/5bi/5Df/+Tk/1Hd/9Dl/y7c//bn/6ba/6Tr/+DZ/23u/2/b/9Dv/wrf/6jx/5ri/+T0/x7l/9v3/yXn/wv5/43p/6D5//3r/zn7/xXt//D8/w7t/878/7ft/1b6/3rv/733/zrx/8b2/0jy/yT2/9nz/7/z/2v2/yrw/4j4/5ju/xP5/wLv/834/0Pv/wz5/w/v/6X5/6fv/+T5/5Tx/1n6/4bz/9n7/5/0/1f+/6D1/xIBAD34/9YCAM37/40DAIX+/z4EACkAANIEAO4BAPUDABoEAKEBAPYEAP3+/4MDAK78/ywBAAT7/y3//0H5//v8/2j3/xT6/9b1/8D2/2X0/yz0/yfz/5Hy//Tx/17x/+/w/xzw/4fw/2bv/+jw/wXw/2Ty/zfx/yT1/3zy/0L5/yj0/1r+/4L2/+gDAL35/2AJAPn9/98NAIgCAGIRANMGACoUAMsKAM4VALMOAO4VAOIRAB8VAN4TAHgUAGEVAOoTAH0WAD0TAKMWAJQSAOsVACoSANMUAKERAIUTABYRAJkRANEQAFAPAFMQAKMNAPYPAKMMANAQABYMAHsSAIsMALkTACYOAJYUAK4PAPAVABcRAC4XAD4TAJYXAOMVAEEXAMkXAHYWABAZABQVAEAaAEcTAOQaAHcRAAEbAKoPAKgaAIkNAKcZAMsLALQXALwKAEsVAIoJADcTAGYIAPIQAPMHALENAN8HAKEKANYHAGwIADQIAIUGABAJAHcEAPUJALYCALoKAM8BALELAEMBAIcMAPIAALEMACwBAGQMAEkBACgMADcBAMwLAOsBADkLAFsDAHUKADkFAKMJAPAGAIoIAMYIAD0HANEKALcFAEkMABgEAHUNAIcCAHYOAEgBAN0OAKsAAL0OAFAAAB8OAHEAAGoNADsBAJcMAJcCAC0LALQDAFEJANIEAIQHAFMGANYFAKUHAG0EADAIADMDAFkIABUCAIYIAGUBAMUIAO4AAFQIAM4AABsHALAAAHYFAEQAAEkDALr//6oAACb//3b9/87+/475//z9/+D1/wH9//vy/1T8/2rw/xf8/8Tt/9D7/8br/5v7/xPr/0H7/3rr/+r6/3vs/9H6/9Ht/+H6//Lv//L6/4/y/0v7/4v1/9v7/yj4/6X8/0b6/5T9/178/2X+/0L+/1f//2///1wAANT//w8BAPf//1ABAFgAAHwBALYAAI8BACkBAGkBALEBAGMBALQCAOIBAGgEAO4CAD4GAJ0EAGwIAM0GALUKAHgJACoNAE4MAH4PAHQPAI8RADISAIITAGYUAHIVAHsWAPsWACgYAPoXACIZADkYAFEZAK0XAAIZAGQWAP4XAO0UAG0WACQTAFwUAOMQAPURAGwOAHIPADgMACYNAIYKAAULAOkIAA4JAPgGAFoHAD4FAAIGAOMDADcFAPYCAMMEABACAJEEADcBAO0EAMAAAF0FAIUAAMAFAKkAAOsFAEQBAOoFAB0CAL4FAIkDAFYFAIYFAPsEAA8IAM0EAHQKAHwEAL4MAB8EAJUPAO8DAG8SANcDAE4UAOYDAMsVAPYDAKkXAFcEAAQZAN8EAMQZAH8FAC8aAFEGAJMaADQHAPwaAPsHAN4aANIIAMgaAOsJAIIaABMLAFQaAEMMAEQaAK4NAOoZAD0PABUZAOQQAG8YANUSABUYAHsUALUXAA0WAPkWAIsXAGoWACQZAK4VAGQaALcUANkaAFMTAI4aAFARAEwZAOcPADwXABQOAJEUAD8MAJgRAIUKAGQOAF0JACgLANUIABsIAPoIAHYFAJEJAEYDAIEKANoBAM4LADQBAFoNACwBAPQOANIBAF4QAGIDADkRAEoFAIUSAMYGAOkTALwHADgUAJwIACQUACEJAKYTAPUIADcTAC4IAFkRAP8GAIoPAGkFALYNANYDAKgKAGcCAJwHAKcAAN8EANz+/94BACb9/w3//7/7/z/8/336/8r5/1X5/yb3/2D4//X0/5n3/2Pz/yb3/8vx/8/2/9jw/4L2/zHw/z32/wrw/yr2/53v/0T2/4Lv/1r2//Xv/1j2/0bw/572/8jw/7n2/1zx/8X2/+fx/0v3/2zy/wn4/3/y/+34/z7y/7P5/8Xx/476/1Xx/137/9Lw/6j7/wfw/4f7/1zv/7z6//nu/3b5/yXv/x74//Pv/932/wvx/9v1/17y/430/5rz/4fz/wH1//Py/xL2/4Hy/2D2/w/y/3r2/+vx/xH2/27y/y/1/wjz/7Xz/7Xz/xjy/2b0/xPw/2D0/+bt/7rz/zXs/8jy/6zq/2Xx/+Do/7Tv/znn/7Lt/9nl/8Pr/4bk/8Dp/zzj/37n/1Li/5nl/xDi/5Tk/7nh/y3k/6Hh/0Lk/77h/xfl/3jh/2jm/+bg/8Ln/1rg/0np/7Lf/0Tr/+ne/2nt/53e/ynv///e/1/w/5Xf/4Hx/03g/+7x/6Ph/9Dx/4Pj/3Lx/9Ll/47x/5/o/9vx/6Xr/6/y/2Pu/+30/9Tw/4f3/9ry/0D6/yT0/039/8r0/wUAAPD0/4cCAJn0/4gEAPTz/1wGAD7z/yUHAFzy/woHAKrx/5EGAJvx/9sFAEjy/xIFALDz/yYEAPT1/yoDAJD4/6ICADv7/9wCAHv9/6ADAGT//xYFAE8BAFYHAJgCALQJAKUDAEEMAC4EABMPAAMEANURAGoDAMMTAKcCALQUAAACAH0VAJMBAJQVAPgBACEVABMDAMcUAHAEACcUAHYGAMETADEJADYTAFYMAEUTAO0PAA4UANkTAFgVAKEXAG4XAAYbAD4aALQdAMcdAIsfAHYhAAIgACwlAGwfAEEpAFEeAIwsAKYdAPwuAP4cAG4wAKccAJcxAN4cAFAxAKQeAFowAJkhAG4vAIclAFYuAD8qAJUtABYwAAUuAA42ACYvAEc8ANEwAA1CAAQzALNGAJo1AFRKAJ03AKhMAAA5ACZOAOE5ALBOAMA5AFFOAJU4ADpNAGw2AB9LAGgzABRJALgvAMVGAH0rAG5EAGYnAA5CAHMjAK0/AJMfADk9AFQcAGM6AN8ZAIs3AHwXAGUzAJMVAAwvAGQUALIqAIgTAG4mAHISANQiAIsRAOQeAIgQAIQbAP4OADcYANAMAAYVAIEKAJcSAJYHAO0QAA4EAIIPACUAAJwOAHX8/3AOANn4/wsPAKr1/woQACXz/2ERAITx/9ISAPzv/18UABvv/8sVANju/4EWABDv/6kVABbv/xgUAB/v/1MSAL3v/xAQAEnw/4YNALPw/60LAC3x/yYJAGHx/0UGAFnx/wkEAIbx/wUCADXy/6f//wfz//f9/wz0/xD8//P1/zz5/4L3/632/xD5/7n0/+L6/7by/xf8/5zx/7j8/5rw/6L8/7zv/zj8/x3v/2n7/8bu/xD6/0fu/8P4/xLu///2/3/u//H0/0Tv//Tz/6bw/5zz/1Hx//jy/2ry/wfz/6P0/xL0/3j1/wP1/xH1/6P1/3r0/yn2/6vz/9r2/zjy/7v2/7vw/5L2/7Tv/wj2//rt/8b0/7Pr/6vy/97p/9/w//rn/03v/4/m/0fu/9fk//Hs/7/i/+fr/6vg/z/r/87d/63q/0zb/zfr/4bZ/93s//LW//Tt/xbU/3Hu/6fR/53u/w7Q/57u/6bO/7bt/3jN/7jr/4zM/yzp/7TM/yLn/3XN/wPl/8vN/43h/0/O/xne/27P/yPb//DP/wHY//7P/3XV/1LP/6XT/9rN/y3S/wLM/4LQ/yTK/0TP//LH/4DO/2fF/6jN/0bD/7DM/9XB/zHM/6S//6bK/5+9/zfJ/zy8/2HI/wO7/5HH/4a5/3nG/xy5/5vG/7C4/xHH/+O4/+nH/wq5/zzI/zW6/6fJ/9+6/w3L/8u6/x3M/8i6/5DN//rI/9zW/2/N/6ra/+LN/53c/1/R/wng/8jS/7jh/8PV/53j/x3Z/3vl/2fc/+bm/1Lf/0/n/2nj/3Lo/6Ln/2fq/17r/zvs/2Xu/zru/7fy/07y/4H2/+P2/2j5/7j6/0n8/9X+/4f+/wUDAGD//5EGAIn//3QJAIv//6MMAIz//1MPAA7//xIQAI3//y8QAKkBAAURANUDABwRADcGAGcQAHQJAK0PAPkMANMPAPcPAPoPAPMSAH4QAIAVAF0RAOoWAI0SAHYXAJMTACoYAAAVAOUYAFcWAKcYAOkWAHsYALcWAHEYAAkWAL4XAH8VALIWAJQVALIVAFwVALYUAPIUAMcTANAUAJ0TAI8VAFQUAMwWAGAVACYYAJQWAAgaAC0YAIwcABsaAEgfAPsbAMUiALMdAIwmALMeABgpAOcfAFkrAKghADcuAM8jALQwAEEnAAozAHIrAKQzAGUwAMczAJg1AHgzAOk6AMAyAJtAAFIyACJGAPsxAKdKAE8wAOJOAI8uABpSANssAKpTAEArAJdTAPMoAAJSACYmAHFOALUiANpJAP0eAAdEALUaADk8ACUVAHgyANANAIMpACgHAHohAIUAAH4ZAD35/ywSAMLx/+EMAPPr/1UHANzm/9YAAFvi/6H6/+je/+v0/+3c/yvu/5Ta/5bn/6zY//jh//TW/6zc/2DU/+DX/5jR/xLU/5/O/0TR/1LL/63P/6zI/+DO/8jF/yPP/8XC/wnQ/+2//zPS/y6+/3XV/7y8/8TY/9G7/w3c//u7/y7g/zS9/6bk/2i//07o/+TD/13q/2fJ/xDs/1PQ/9vs/77X/3Hs/1Tf/xnr/3rl/27q/3Lq/1Pq/0vu/5vq/xDx/7nr/9Ly/wbu/770/8zv/2H1/yTx/8H1/2ry/0/2/2rz/1L3/+by//D3/0/x/yT4//7u/yz3/9fr/2/1/0fn/7Ly/w3j/5Dw//Pe/xbu/5La/17r/7/V/yHo/07S/7Pl/8/O/+Dh/xrM/wHe/wbK/8TY/zvK/xfU/+TL/wLQ/yzP//3N//7S/xfO/+XW/9bR/ynZ//nX/97a/xfh/yzb/w/q/8fb/5H0/0jc/7v+/3zd/z4HABPf/5cMABPi//0PAArm/y8RAP/r/8sSAOjw/60RALX3/7sSABj+/wMTAKgFAGEVACcMALEXAK4SALkbALgXAG8eAGQdAJwjAJ4eALskAEgiAC0sALAfAFEtAIIdALwxAO8WAPkxAAwyAFxlAC1AANOGAEUxAHp5AG0lANd0AK8WAMRuALIQAONyAB8NAJZxACEaAJ11AC8vALl3AO5BAGJ3AFZOAJp1AApdANR3AINvALB5AG2LADyBABitAIiLAIrOAPWaAATqAI6qAJb9AH25ACIEAUfFAFcHAe7NAKwSAVnUALImAVvZAEk1AW3eAK46AaTlANI4AYjrAGE1AdrxABEvASj5APUrARv/AIcyAf4AAaw7Af4EAfc7AeoIAXkxAcQHAeEWAQIAAb72AAn7ADTXAA/4AFC/AM/4AIW0ANXzACO2ALHnAEa+AFjYAH7CAInCAAnAANeoAM+3AOCQAKqyABB9ABy4ACFwAE/JAFJpAADmAIBsAAcCAbBzAG0UAWB/AC0XAUeNAJkOAbOWAKQDAVObAOX4AOGaAFfuAMmUAIjkAESNAELcAEeIACvUAPuJAG3KAMeMAGXEABaQAEvAAEuSABy3ACSRACSoAM6LAHuaAN+GAKmOAJaGAAyDAOSKAPp1AJmQABxqAGyYAPJdALmgANFNANKlAB8/AHmmAKI5ADmiAJ46ADOaAGZDAIqOAERSAIN7AL5jAFJhAARyANVEAI11AD0uAIZqAMEfAP9UAD8ZAHU5AFwWAGwiAIgUAAgRAFMVAHMEANAXAMv9/wMYAMHy/+EbAB7f/40iACbQ/w4pAIPC/2suAFuu/wsuAGKd/8YmAPaX/7IXAFaa/5ADAD6X/6Xv/9CO/4Lb/zaN/2TI//+K//u5/4+C//mw/0t+/6uw/xKE/4m7/+2K/0/O/2GM/0Lk/8mL//n0/+OL/3H9/8CH/7L7/7N7/+3y//Vq/zbi/9tb/zzK/whQ/7qt/0xA/6mP/+ws/55z/xUa/wFb/wIK/5ZG/2n9/ho2/7vz/too/9rp/lgg/zvm/jod/63m/v4g/7rh/jcp/3Lb/kIz//Pc/iI9/yHg/gJH/2Dd/glN/wza/phO/03Z/kdL/0nX/nZB/9HR/qwu/wnP/oQX/5jQ/tsB//XS/i3t/nHb/o3a/h7t/lLP/toC/4HM/ika/7rR/v4u/8vf/gE9/9Ty/lZC/2UG/78+/zUW/3w0/9we/yIj/3Al/zsK/40s/4fw/qUp/1Dd/gsb/5jS/lAL//jL/nr+/inP/u3w/mPk/kzm/iYF/4Tl/rYm/9zu/pVJ/0T+/gNu/6IP/4uK//Ek/7eX/8Q+/xeb/3JY/12d/5Zt/4id/5aC/7iZ/5aX/9GV/zGn/6SY/1+x//qk/8O4/0q3/9O9/4fQ//C+/5Lz/zi+/+AeAEDA/4dKANLF/85yANPO/0iXAOzb/1eyAEju/0e6AJ0DACOwACwYAKidAAEqAIKEALI6ADdjAFJIAMFDABdQAHQxAEFTABIsAJ1VAIYwAMxXAJ5DAIFZAGFoAKRdAHeVABdoAMfBAP53AIzsABWIAHgRAYKXACgnAVmlAPIlAS+uAK0SAeCxAO71AGyxAI/PALOsAN6hABykAJ91APabAPBUADaXAJhEAFeUALBBAOuQAApPAB+OAGNuAOuMAAWYAPaNAEPDAOyPAL/qAJeRAKwLAamSAD8eAVqVAOccAZCZABwKAdudAFPpAAOhAKm+AK+hAESPAECeADNkAKWWAMxEAAiKAPszAAV5AIAxAHNmAP8/ALNWAFtfAFpMAJ6JAL5IAJS0ANBOAJzYAJZgAO3wAE95AHj1ACuSAEHeAMGmAC2xAMOyAOB1ADCzAPEwAL6lAGzp/z6JALmq/y1iAL9//xA0AK5p/3QDAGBo/8vZ/3Z9/6W8/w+k/+Kr/yDS/7il/3///xep/1QlAKiy/049APC6/2xBAFPA/+cuAADD/1cKAHO+/5Ha/zKv/7uj/2SX/9pq/8l7/+U6/+Rk/8wc/xJT/9YS/3VG/8Qa/9hF/8sw/z1S/6lP/2pl/8Jy/1l5/1WW/xiL/9W1/6iY/2nK/1ee/+TQ/xOg/z7J/wOl/9ew/9ar/wSN//yv/wxk/zKy/8U4/02x/ykR/4yp/1j0/tyX/2Pq/lR+/9P1/oJi/3EX/x9I/1dL//sw/4GE/2oh/yW8/1gd/+Xv/68j/94WAJkv/7clAEU+/5kZAAlS/674/5Vp//LI//KA/+6M/z+W/0pN/9ai/6AZ/9ig/1b6/oeQ/5Dz/hF5/0UH/xNi/901/5NR/3p4/1tP/yTF/75j/1EUAOqL/9RaADDA//CMAKf4/8iiAB0xAJOfALhkAF2MAMSSAA9uAEy9AF1IAJvhADopABr/ABsZAEkSAbwaAGsVAf0qAJwHAYRFAP7pADdpAJjAANuVAAeUANfHAF9yADP5AMJhALMgAVxgAAQ0AQNtABUyAcOFAAcdAZugAOX1AFu3AFW/AHTIAAyBAETUADhJAIDcALghAD3hAGgQAHHkAJQUAJDmAM4rALDkALlVAAbfADeKAGvaAIjDAFjeAAIAAWvyAL47AfUZAaJyAcVRAbijAeCQAQzMAQrKAZbnAVT3AXbzAcYYAsfxAQ4wAkHpASU/AkfdAQNHAtLSARhIAkvQAbdCAiDUAYI2AjjZAXIfAlXaAa/5AW7VAcHFAcrKAQ+GAVy0ATVEAa+RAY0JARJoAQvZAA86AXG0ADcIAYycAFvTAGeSAHKcAEqWAOZlAHKiAMMuADK2ABX+/2rOAOnb/5zkAITR/w72AMTb/xj9AE/+/wX0APgyAJzcAFVoAIq1AISmANeCAKLVAA9LAGQAAdEUABIZAefq/zsfAbPP/7wUAaTB/3/2ALu7/7bCAN+2/yF/AEWw/3E9ACSo/z/z/0af/6O4/z6Y/z6K/8SX/xZq/zGZ/0hM/8OT/6Qy/4aE/z4b/8ho/5cK/wBH/2n//jIq/7P0/pQa/yX0/s8Y/5Pv/jcb/z3o/uwY/0He/lAL/+vW/o3u/lbN/oHK/srQ/mio/qve/vOL/vXy/u12/tQI/w9l/mMV/x9W/pAX/wFJ/ssO/886/jb5/iEr/nbk/rAc/s7J/pcT/k+2/hES/jSW/uob/qB2/jkw/qBV/sdI/jMy/oFh/u4U/q92/kv//dOH/ub4/f+Z/sP5/Q+z/gYI/jXU/jEd/jP4/tU7/iMW/51c/qkm/yyA/mUo//Oj/oQe/6vG/twM/1Xn/tf5/h0D/zLt/lEV/xPm/qga/1zd/jUX/9LP/l8J/5W9/g7z/j2q/q/X/iyc/tW5/uqX/r+d/imb/q+D/nio/p5p/jW9/j5S/vXO/itH/u3c/rk+/g7p/h9E/lb2/m5Q/mAN/+5n/j4u/5mH/q9O/72q/u1w/+bU/qSS/8H8/mqp/6If/zK+/wBE/2LU/2Vp/8Li/3eL/0Tp/wOp/7Lo/9/A/xTY/53Q/5jC/wPZ/9Ks/7Lc/8SU/wvc/xOE/2rc//h6/6fY/753/+jS/8d//5LG/5uL/9qy/1eX/06Z/7yo/5l+/x63/w1p/+jC/39V/xzO/0dM/77X/9NI/83h/7RJ/9vp/4NM//Tt/2FO/wDv/7VY/2nw/35q/xju/z+B/z3o/66a/yjl/1W4/4ri/3/V/+Xf/4Pv/77g/+YKAOXi/ygjAAXp/7Q4AObs/2VMAGHt/2paAOzt/2lgAPbv/xdfAI30/7dVAFL5/8FFAPsBAIQ0AHYDAGcgAFkHADUOAEoJAPMCAGYLAIn8/y8SAOr8/9cVADMGAO8dAOcTAFQnAKciAAUxAMExAOA9AIhCAF9RAKZSAJRnAKlgADB/AGptAMaZAJR3ACCvACWCAJ7CADCNACLOAC+YAC3TANmlAP/SAES4AAPOAFvNAMnIAAHkAJXFACT6AHnHAFYPAZHLAIMhAWnPAE4vASTTACE6AV7ZAEZBAfPeAG1FARPmADlFAdTtAFhCATD1APs8AT3/AJg1AU0NAfwtAXgdAcIoAWovAWcjAWhDAREhAVlQAYEiAaFTAWYoAShTAaoxAatQAU88AcNOARhGAXRPAQNPAYhPAfRUAYhPAZFaAR5SASRgAYFVAb5hAdJaAeFhATdiAURfAXtmAchZAaxlAYpTAZViAf5NATNcAUxIActTAXFCASBKAfk7AWI7AR04ASoqAWA3Aa8WAe43AS79AKo3AQXgAK0zAXHEAO8oAdSuABUaAd+hAIYKAQOcAKD4AC6WAAfmAL6KAO/UAHR9AKrFAEN0AJa4AHpxAEuvAF90AGCpAAR7AFKoAEmDAIGsAEGKAJS0AE6QADK7ALKTAJvAAICVAGvCAPSUAMq/AC2RAOi8AMKMALO5AM+IAHCzAOaFABCrALSEAHCeAEaDAJKPAPl+ANB/ACR7ALVuAFN2AIdgAI5wADJTAIRpAHxHADhdAEE/AJZMAC05AJM5ADc0AHEmAJQuAN8NAMsjAIz1/4cUACLp/1gBAMba/wTt/7vM/z/a/6y3/5/H/1Sb/wC2/26A/1Wm//Fk/1ib/+NR/6aX/8ZN/6KZ/w1O/8Cb/9hM/1Ga/55Q/5uT/3VU/+mM/0lT/zyJ/11O/+uJ/15G/2yL/+8//2eJ/046/zKE/0k2/5J8/043/0tz/2A+//1p/7RH/4td/0FN//NP/zdS/4hG/91U//BB/zhT//tA/xhS/909//1Q/+k0/11N/8kq/75I/6Qk/xtD/40j/xlB/1Um/0ZD/1wn/0FE/44k/yVE/6sf/01A/ycc//s3/zgc/6wv/wEd/wIq/2UZ/7Ml/7MU/xci/3QS/9cc/zMU/yMY//Yc/4wX/xAp/+0Y/ysz/5wZ/wY4/4IY/2g3/4QW/9Q6/5kW/y1D/1AY/9tM/2Ud/09S/8Mk/4VU/1ou/zlZ/+85/zRh/w5H/wVr/zJW/6hx/5hn/790/0Z5/w12/5GK/wd5/8Ob/9x+/6Ss/92H/3C8/16R/zfL/5SZ/yTX/0qk//Lh/zOt/1Dq/6y1/7nw/1K9/2j5/7TC/8D7/97I/6P7/yDP//X5/4nX/zX5/zrf/wT7/1Xl/7X+/+jp/5oDAJPu/w8IAAL3/5QNAKUDAIQSAFMRAOkXANIcALQcAEYlAO0fAO4tAHggAOY2AEAgADpBAEYgAO1KAGIgANtRANQiAE1ZAEokACVkABoqAAZxAOszAJZ9AChBAGyFAHpSAEGKAIZjAOONAIh0ADmRACyHAFSWABubAHyZABmsAE2bAOa7AF6eAFvIAOehAEDRADaoAEfXADWuAFPYAHuzAFnWAFO5AOHSALm6AOPPAOe6AP3LAP+8AM/FAGG9AF++APW7APO4AIq3APO1AAexAMqzAEetAMKyAH+qAKSwAPSpAG+sAIWpACKlAFilAAmdALOfALeVAASZAHWPAOaPAFuJAOqEAFuCAAN4AIJ5AK9rAG1vADFgAF1kAMFTAPBWAEZIADZJAA8+AP07AB02ADgwAK4yAOIpAOcuANwoAOYqAA0rALooAG8wACslAIc2ADsiAHk8ACYhAHc+ADEhADJBAKchAOxBAJkhAAw9AOwjAJ03AHAnABgvALkrAHwiAGwxAN8XAFM0AJEPAAU3AM0JABk0AP0GAOIrACUEAG4hAMX+/5wQAFf6/5z9/1z5/yzr/7j3/zzY/170/13G/zjw/1y2/5jo/7mo/3be/2Sc/zrT/4SR/0HE/wuL/1Sz/7GC/3Kh/1V4/yKM/1Jv//B1/85j/6Jf/5pX/4xJ/9lN/4w3/3FB/9Mp/482/48g//Mx/9Ub/wgx//wZ//0v//0c/2wz/+Qi/yQ4/44n/zA7/2sr/ytA/74u/xFF/www/51J/2Ux/3RP//Ey/1dU/xc2/3lY/xM6/4Nd/609/zJi/9lB/0lk/9RE/3di/7FF/y5d/0pG/1dX/wZH/6dQ/xlG/wNJ/5JF/49C/4RG/7Q7/4FI/283/2BN/5M1/55T/yA1//5a/9cz/yZi/yk1/4lm/7s4/2Zn/3Q6/xxm/yU+/3tj//ND//lg/6dL/xpf/0xR/71e/0BY/0df/2hj/0ph/6pv/6Jm/1t//6ls/+6P/y9y/02e/xF6/yir/9qD/8q1/2aP/3O8/7Kb/63A/zmm/4XC/76t/yjD/4Gy/w3F/0y2/0TG/0u4/4PH/423/7HI/2m1/2/I/4Kz/5rE/7qz/3K//923/6+5/0vA/wO0/yLK/5av/33V/7Sr/3Xh/yOq/9Xu/06t/1P8/xG1/zEIAKbC/0sSAO7U/6MaAHDq/7QhABQBAM0oAPcWADkwAKYpAEU1AIM3AGE5AG9AACE9AJJFAMQ/AMBHAAdEAGdJAApLACdNAG1SADVUAOpYANFdAGFeAK1oAHxhAJ13AO5jAJCJADBpAHycAJVyAKyuAAaCAGG+ABiXAETLALivADLUADzGACTZAGHXAMrcACfiAG7hACXlALDnAOjlABvwADfnAJr5AD3oAGoCAVbrACILAWjyAGYVAeX8AD0eAckLATEjAVseAf0kAVYwAQkkAWU9AYAhATBEARMeAflEAf0cATQ/AaEdAew0ARAdAYMpAcsbAZUfAZcXAbQYAY0RAbMTAe0KAVoOAbsCAUIGAWf4AFr7ADHsAHzuAADfAH3gAC3SAA7RAArFAGLAAK23ADGvABOsALGeAO2jAL2OANmcAGh/AOqTAGNvAPeHAIpdAFR4AKBMABhmACg+AOVQAJQyAPA3AE0oAHsfABcfAKAJAMkUAGb2/+0IAK7k/7n9/+HU/2n0/ybI/5Dt//G+/4zp/7m7/xPo/8m9/zPo/y7C/4To/3bG/9vm/4nI/wjh/+LH/7jY/6TG/77Q/2XG/0rM/67E/3zL/8y//4TM//S6/w/O/4G5/1nP/1a8/8bP/xLA/1XQ/0++/2/P/+W1/xzN/1as/1HI/zqf/3jA/++Q/yq3/xSH//is/2yA/xqk/x99/yOe/5x9/zyc/5CC/9Gc/9KF/zCd/6p///Sc/w5w/+Sa/3Jg/7GV/1da/1qQ/zxe/3OL/y9u/0KJ/wJ//zON/9mG/+aU/3eN/wSe/5uW/wOl/2mj/6um/6Cx/8+o/8e8//qq/znF/1it/3vN/wC0/4PT/7u9/2HX/0LH/1PZ/1PQ//vW/7vW//HP/+jV/0fG/zfP/3O///jE/9m4/6S9/2qx/x/E//iu/5jU/y+2/8Ln/1rD/6r5/9bM/xUBALvQ/+H+/0/I//L4/yC4/73v/zmw/zzm//+4/0nf/0/S/1Pb/zXt//La/ysCAGje/wIPAA/i/ysQAKPl/x0MAHro/5cGAEzq/x0FABnr/w8LAJPs/+YWAGzz/78lAFsAAEwzAOUSAAM8AEcqADw+APhDAII/AI1aAH5EAP5oAIRKAFpyANNSAFx3AG1cAAN6AA9hABx9AH9iAMF+AIBlAIp9ALNqAHZ6ANFvADVzAPduAG1pADtsAB9fACJqAJxRAEFpAP5FAAxqAKBAAF1oAF8+APVkAIE/AJJgAEZDAJNcADJGAL5YAPlGAEVUAH9EABlNAK89ADxAAF80ALwwAA8rABYgABAiAKIPAMceAFoDACEfAIj5/1wdAOHv/wIXAODn/zYJAA3j/+r2/3ff/+Dj/4PZ/wLT/5rQ/7fG/xjI/5q+/1/C/8i4//6//+62/7C//xu4/8G+/xy8/3e7//K//3W0/97A/1+p/4a8/0ae/2yz/92W/4Gm/0iS/+SU/96O/3KA/26N/ydq/zuN/8lX/3CM/zVJ/0KJ/4w+/22E/7A5/wd//yY2/2d4/5M1/2Fx/8s4/6Bo//c7/6Fd/wg+/4FR/zVA/+FF/8pA/4A8//BC/+Uz/5tI/1ot/8ZM/0cp/41P/+Ym/9NS/wwm/4RV//cl/8dX/40m//pY/+Io/9FX/3ot/1lZ/2gz/5dZ/7w6/z5R/89C//hH/8dH/79G/7RJ/8VJ/+FK/yRJ/x9O/xJM/+BV/2xT/yBi//9c/6Zz/xFn/6WI/xBs/xSe/+Nz/8ay/xh//+bD/8iG/0zQ/3mN/2XX/+6U/2bZ/9Cf/57Z/wes/2XX/5Wz/9fS/7O5/5TM/7i//9PF/7zC/8S+/0HA/wS2/267/+et/8q6/7an/6q5/3al/723//Wn/+C2/3qt/9i3/xq1/9e9/1+8/6/G/zzC/27R/1fH/5Pf/7jM/0fw/ybU/zEAAPTd/4wOALrq/xIcAA78/9kkAJMQANImAHEnAOEjAJg9AD0bABxRAIYRAJdhACsKADxuANkFAN54AIwLAL6BAEYZAF6GAD4rAFyIAI5BAPGKAOBXAOmPAPhsAFiXACiAAL+dAB+QAOqhADucAOejAEmpAP2gAJi0ACyXAIe/AGSNAATNAO+GACXbAC+CAHXpADaBALzzADWJAPj1AOaaAO7tACazAITdAE/NACvHAF/mAEmsAIf6AEiPAAMIARR3AJ8OAcxoAJEPAdViAKYIAXBlAJz5AB1uABDqALV4ALHcAP1+ANHMAKJ7AKm9AN9wALOyAE1lAISoAKdbAJiZAIhWABeHADFWAPh1AIRZADFmAD5hAFpUAJtqAK5AAIZ1AH8uAI2BAA0gAMiJAOoUALKPAIYPALqRAMARAPKLAAcaABSEAAkmAGJ4AO4zAI9nAEE/APlTAAJGAGlBAPNIAHwzAKdJAP8uALhIAHsvAHRKAFItAD1TAP8pAPpfAFwiAEdrANgQAFByAAL2/+twABLZ/wljAHy//6dHAIip/24gAFSc/17r/wyX//6t/5aY/1tv/6SX/201/y2Y/8IE/16V/4Pf/oaR/4nL/uCL/1LJ/seD/9/S/nN3/4zk/vRl/6n9/iBP/1YT/5M2//Ei/z0h//Mn/40L/2sf/xz7/voN/+L0/uH8/kz6/or1/hUJ/8X6/nUh/wsP/yFC/88x/+Rj/z1m/yyA/wKq/yuW/27v//Oj/4UrAMKo/99VAPWh/8VoAJiZ/xZgAPqR/+o9ACmX/+8IAByo/1rK/y7H/3KN/yP1/x5g/0UxAABJ/4B0AJFM/zm0AJps/4HpAHuf/xEJASjc/50OAcsVAJv/AGdIAJXdAEhrAH6wAMp8ALyEAJqEAJljAL6GALBMAKSJAG1CAPOTAB5FAMquAOtUAFHbAGNvANYRAYWDAJhLAXaJABGCAViIAFGuAceEAO/BAcp8AAe6ASJ9AJeaAfCBALVoAYSbAP8hAQTOADrUAK8RAe+MAPdmAYVYAEHHAc5BADwiAkBRAE5pAm2EAE+WAqXNABiTAq8iAbVkAgVzASgfAhWrAebCAam5AcxgAdWeAVkFAWdjAeDBADwTAf6bABnDAAmZACyCAEOsANBqAAzNAOiFAHv1AAnRAHEUAT88AUwlAWywAbggAUgXAmEJActbAjLfALtuAkyrAA1AAvl2AAPYAc9DAHJGAbkiABmbALoVAPTn/7wIADpF/6f7/8/M/nP1/wWE/v/w/7Vn/kLx/2p2/v32/x6p/qr4/93w/jn8/1Q8/xYAAPN+/9YAANqy//4DAO7O/+wAABTO/wDo//O4/5rA/4eV/3uQ/+ht/yla/4RO/yEg/6ZA/77k/pdE/7Cz/vNU/5WM/r1o/91x/vl7/y1x/kOI/6OH/vCC//Se/jdl/5Ky/kQ3/8nK/nkD/wXb/oLN/v/e/myb/ofX/jB0/mDQ/vlc/vXF/lRJ/jO3/g4x/p2s/lIb/nGt/i0H/muy/lvm/Um1/i+4/bCs/heW/TWc/peJ/XiN/i2L/Th4/qSY/c1V/sm+/Zgp/if9/SL8/d9G/h3a/TyW/qLJ/RTp/lzJ/bs2//Tc/ZRt/yUA/j2N/0Iy/mal/294/ly4/1bJ/ju8/5kX/52z//BZ/5en/1KE/xGY//6R/2CD/waJ/zVx/5p2/9Jd/y1i/2NA/9lP/yYd/45D/8n7/hRG/+vj/qtg/6HY/nWW/7fc/iTh//X0/pA+AGIp/8icANx6/4ztAPni/0MoAdJeAJ9FAdndAIQ9AX1OAcALAYKkATTHAFLcAYt0APvpAcoiAMvTAfTh/6WiAd7G/9peAZPS/4cZAdn9/2bhAJRIANfGAMCyAMPSAFQvAU4FAaynAYVUAeoJAvy4AadMAi0iAuVtAkGBAiFiAm7AAjMzAnbRAlnhAVOvAtqMAdRcApZDAWThAX4FAbpFAcfVAKSfAIzGANQOAGjcAGCw/2kJAbN6/9tCAUN4/7B6Ab23/x+iARonAOq8ASasAIrMAb9GAe28AdLmAcuPARpoAnpfAY63AvwfAWjJAnjSAOOhAjiFAINLArtNAL3OAeQjAFI3AasHAG6bAGXz/zUVAIvq/52q/wby//Bi/8kJAF5D/90iAGBK/xw2ADFo/6JAAAOS/21AAD/A/1w5AMbj/4ggABru/z/z/57g//+x/3+8//pr/8N7/1sm/3Aq/zTf/p/O/qGb/iJr/g5t/ioH/qFW/viq/RdF/kpY/cM9/n0r/bI9/n83/dZH/vhv/RBY/gC+/Ypi/tUY/lVf/p1+/lZZ/gnc/gpM/l8b/6VA/vhD/8w1/pJa/0km/uNS/xog/tAw/2If/j8B/y8n/vbJ/vE9/lGM/rZk/jVW/u6X/rsg/pbJ/uby/b3r/tnV/c7+/gXY/fMa/778/RA1/1c7/kY+/xuA/kk1/7C+/ggn/5T5/vUd/8Et/20c/whW/08n/95u/6c0/4+B/xtE/3SP/8JO/zCe/3Zm/8ey/wyI/xbP/5qo/6Xs/zi7/w8JAJzJ/1shAKDU/9QzAF3d/+VMAAjp/5pxAE/9/1qYAJUXAGu6AEI4AGPVAItlALzvAKucAFEMAVHaAEQhAXcXASkkAVhIAeMXAfVpAdgEAXyCAUfwAJuQAUncAL2VAcnLANicAe3CAAChAV/DALOdAXnQAIWZATDpACGbAZ4PAUSbAdpDATOYAUmBAXaMAYK5AdN6AeznAStfAQMLAuw9AWQaAhIhAToUApcHAQ39AcP7AADcAcf3AKivATH8AF97AVQPARtKAeAxAaAmAexVASwaAXx1AbMjAbmKAZg3AdOAATxOAWNfAcBdAfQzARxeAX8AAXFFAbLHAJgSAdiQADPHAHFlAHxsAB9NAI4RAHFQAJvF/3BiABac/8aBACub/4GlAIPB/6/BAN8EAGLQAIFXAHPPAAysAEe/AB71AMedAAojAcZwABslAUU9AMz+AMEIAB24ABXg//VYABvF/6vv/7ar/1GQ//mV/8NK/0SH/z8g/419/54R/258/1sh/y2C/49J/yGH/yx8/5KN/w+s/w+U/xPR/0yZ/4Xk/7yh/wnd//ij/7C5/5qV/2GE/2R+/2VE/wlh/xME/3JA/7rQ/sod//ez/gr8/pCv/ljj/se//oXS/k3d/m3N/n8E/7Pd/gYu/5L//vlN//cf/1hd/8o+/y5j/zdh/yRm/1V8/3Jo/06M/59u/8ST/8l9//2d/4GY/0ul/y6y/9uq/8HE/8a2/y/W/yDO/7ri/+Tp/+ba/+UEAGfB/zgUAE2u/1QeAGWm/2cpAGyi//crAKWi/6QfAJG0/5YHAO7W/4vs/w8AAGXa/8QsAL3T/0xdADrZ/0OJAH/u/02hAAcOAGWoAPw4AIeuAAt0AIyzAFG0AFGuAJrtAJ6iAI8VAeWYAO4hAZGPAAUPAUKFALbkAF2AAJywAJp6ADd6AEFrAEtGAFxVAHYaAFs+AH7//18sAKX//5YgAG4cABQdABJQAFclAO6XAHpBAMvfADBxAE8aAf6uAMk+ARr3AANGAfc5AVQlAVhnAdPdAKF1ARqFAERiAeQcAOciAfO3/2zCAAxl/0JKAJI4/2rF/wwx/25G//1H/wPe/hN8/1Sc/jvO/++K/v4rALmo/nKBADXr/k+8AKZK/ynVADu1/wPJAHIaAMiPAAtjAMkxAD+BAGy1/+NtAEA9/9osAH7T/s/C/4p6/uc4/xg3/l6l/hgd/uwo/gIu/j/b/dxa/jKy/SyZ/vu7/THY/v4C/sUK/wty/ig1/9Dw/kNW/9yB/2FY/5MRAMZB/4V8AP4p/8ixAEUE/wSpAPzS/o9qAFCo/jkCALOW/vZ6/4CS/n/j/rie/sRV/jSz/rXr/a7U/ueq/TQH/9aa/c1I/y/A/SCJ/3cW/ubD/32J/rLy/xYO/8oXAO6Y/2U1AK8XAB5AAK15AMk2AM2/AHcbAKvnAET+/1vsALfi/wfZAM/H/7+yAE6y/0x8AAa2/6o9AMTQ/27+/07u/3PB/3YVAAKo/yJCAMjD/6B3AHcFABiwAEBVAAndAOOuAPj1AHUQAeEHAdZjAQAKAciUAZwIASSwATD/AMO4AbDrANGhAdfcACVxAZXOADE3AT/HAIP2ABTOAHGxABflAJ53AIkHAQg/ALIlARQRAJQwATv5/+wuAcQJAIE6ATlDAClBAd2bALA2AfH2AAEWAR1HAWfyABeLAarUAIW7AdbAANXPAdW6AGvEASq4AHOjAey1AJduAWmyAOUvAdDDAJzyAAThAOu9AKD8AKGNAE4FAbNjAE4FAeg+ACj6AA4hAObgABMcANbAABoxAEegAIhOAHR5AItlAF9QAMpwAPwxAFl2AGIeAIR3ABQXABFnAB0YAFc7AEgTAEn//w0GAHTB/736/5GO/y/o/1pn/w3P/yZM/xu7/2NA/2yj/05B/5d//+tM/4Vc/7NZ/zZB/11r/1Mn/8SF/zYY/8Wl/5QN/zi0/wAH/4+2/7z5/ie2/wnv/kWn/4br/qqH/+7v/r5k/6X5/v5L/9H5/mIt/5j1/uMG/6L2/m3g/swC/4LE/pEO/4i6/m4e/wfB/kUs/1rM/v0p/zPX/jIh/6nh/mEe/9zy/vEh/z0I/4Ec/3cb/4kR/x8k/1n8/n0i/zHr/okZ/9zm/tER/6Xm/kUO/0Pz/mQL/4sD/0EF/7MT/0oA/4Qe/9X8/qkv/7MD/ydC/2Ea/0BS/6E4/zVb/5RT/0hc/71q/2Za/9l6/2lT/9SA/91Q/12G/5xQ/9OQ/9BO/8qV/8xK/4mO/2lL/6SC/+hT/2B9/31j/2l+/+90/65+/+6B/6KD/xKR/8eU/z2g/3en/6Ku/8q3/5i6/5rL/+TG/3Tn/27U/40HACrd/zglANvl/wg+AH3x/2VSAKn//2RgAHQLALRoAJkdAHdvAMM2AP5zAK5MAAF3AOpfAHd0ANRuAKduANJ+ACZqALaTAJ9oADaoAOhpAGu0AMNvAIbCAGF0ABvRAGFzAC7dAGxyAIbpAPB2AMDyAESAAJf4AFyIAF74ACqMADf1AIOMAAXvAAKLAAfpAJuIAADhAD6KAEPYAJeNALjMALmOAHy8AD2PAHquABeTAH+gAG2eALGUAMSvALWKAGPBAMx+ALHRAFRvAB3iACNkAOnxAJZdABQAAWVYAFAKAURYABcQAW5XAFEQAbhUAPcJAYpSAP77AJdVAFnoAIBdAHfTAMlnAJO+ANJzAGGnAL+AAD+OAP+NADN4AAicAAxmAGepAPxWABO1AMZJAB/CAEY+ANLLADwzAFzLAOkoAGTIADgiAF7GAH0gAO/AAP4fAM+2AA0dANWsAOQZAMieAMIVALaOAIYPAOZ/AMYLALNyAMMLAGNlAI0PAARXAK8TAGFEAAQXAF4sABodAEgXAGAmACgCAEIvAAPo/1M0AA/N/941ACi0/0czABOd/4gsAEeH/xgiALl2/3oVAElo/6UIANZf/1b3/6pX/3zh/+dS/4jK/2hW/zC1/9pW/wSi/xVf/z2S/3Vr/1CF/+pt/wh7//d6/6lz/9qF/2Nv/4yL/0Bv/9Ci/7Vy/ySy/2J3/9W4/2p8/6HG/xaB/8XL/5iH/xXM/zKQ/zbR/2ya/6jZ/1Wj/w/l/1Sr/33y/1iz//n4/2C6/xj8/w/A/2ACAB/G/2YIAJ7N//0GAAzU/5sDAP7X//7//9fa/+z6/zPe/672/yfi/3Lw/wvk/8Hr/3zk//bo/4Dj/9Pg/6ng//zW/xvb/wjP/1fV/2PK/z3P/6DF/3rL/3K6/4LK/yKt/yvJ/8Sh/6vH/9ab/4/J/6Gb/wDO/16b/0LT/1eb//3Z/yGf/2Hh/z6i/x/o/xyo/2Ts/02s/6ru/3Ox/wDy/8G6/5v0/3zA/1bz/2rK/3Dx/+bb/xHs/1Pp/3Tj/zL5/7jd//MGACTW/w8LAALP/88VANfN/3sjAJjK//krACLL/wQ3AGXO/+Q+AEbL/49AAA/M/zZBAOfO/3E9AEnQ/002AK3R//wyAPHS//EqAMDW/0oeAFvd/y8YAE/n/wYSADnt/7YJAM/v/8YDAAH4/x35/+0BAKTt/7YJAAfn/y0QABrc/4YXAHfO/0YfANzI/xUhALvE/6EdACnA/wceAKTC/5cfABHE/wsfABnF/9kZAIHN/+4PAH7X/1wJAFrf//YEAEzo/wD+/8Dx/3L3/9n6/9D1/zMEAML2/1gNACX0/+sVAOXy/z4eAEb4/0EkAK37/7UmAGv9//cnAF0CADEqAKQCAHEtAHsFABEuAD4QAAwtAPYWACcsAPAcAIEpAG0lAAsnAJknAMEmAGYkAMclAPwkAAUkAMQkAEAkAAUhAOIjAEgjAFYhALcmAFkfABElADsdAC0mAPQaALokAH0YAPYgAOEUAPgaAEEPAIMPAGUJAIQGAHwEANoAALD//7r8/3v6/1X7/xX3/5L4/yDz/0r2/57u/z/2/yfr/7z2/4/n/2b5/9Hk/1D//3Tk/68HAPfi/0MRAJ/i/1gXABrk/48ZALjl/1scAEvp/8YgANzt/9QiAPLw/3AmADb1/x0qAC37/xkqAAEBAFYqALAIAGYpALwQAFYnAOcYAAwoAOYgAGAmAKAnAHEhABIuAJwdAOEzACcaADw5AP4XAPI9AFkXAHpBAGAUAL9CAIwPAF9CAIAMAMhAAIULACE9AHgLANs4ALkMAHk0AOkLAOouAFsLAEEpAPgOAGojAJ4SACYcAG0UAMsVALQWADoRADUXAMIMAHoZADwIAOodANQDAGceAP/+/3wgAHf6/2ElADf3/yQmAJT0/94kAJjz/3ojAFP0/7ggAKz1/54dABz3/7gYAHn4//sSAIP6/+0NACH9/6MIAEP///QCADgAAPP8/+gAAH32/+4AAA7z/0YAAEjx/yMAAPXs/yIAANro/4IAAH3o/wIBABvq/+UAAHbq/8b//6Po/0D8/+Pl/w/4/w7j/y3y/xTh/7Pr/5bf/xjl/3fc/6/d/1Ha/9XX/z/c/y3T/4ne/zbR/7Pe/3PS/6re/xTW/8/e/6Ta/zrh/+7f/wbm/0jl/3bp/wTq/w7s/2vu/0zw/4rx/0/2/8Hz/2v7/9P1/xUBAKT4/00HALX7/5AMAPb//xwRAKQGAOgUAFUPACUYADwZAPEbAKoiABIhAKoqAEEkANIwALkmAJs1AEYpAAg5ABIrABw7APMtAGE8AMExABM9AIsyAJM8AMkxAJA7AMgvAOY6AKQqAOw6ALgmAJk7AI0jAGc8AFEfAPs8AGIdAOw7AJkaAM04AB4VACs0ANYQAAwvAJgNAHkpALsMAIUkANQMANYgACkOAI4cAFIQAJwXADgUAKwUAFwZAIARAIQdAG8OAEAhAMsNAMIkAAILALEkAAsIAE4jAA4HANkhAJQEAFsfAJwDAOgcAPwEAD4ZADMFAJASAFgHAIcKAMUJAL4CAHoKALb6/9UMANr1/1EOAP/y/9oNAA3y/8oNAEXv/38MAHjq/xUKAB/j/+cHAGXb/94EAObT/2sBAJvM/17+/6/F/2j6/+i+/+P1/5S6/5bx/9S3/2js/0m4/9rm/+S7/yni/zLB/4Pd/2HE/+PY//nC/2fU/0HB/yPP/wrB/3TK//TE/57G/5TL/3jD/0HT/53B/9jZ/5DA/yfg/8nA/9Tm/2bC/0js/+TF/8/x/y7L/7j1/xvS/4j3/5Pa/8b3//zj/zD4/wbt/0H6/z31/1P+/wf9/9IDAEsDAF0IAIIIAKcJANsMAGIHAEMPAN4CAGIRADj//wgUAID9/1gWAKD+/0cZABgBAMIcAK0DANAfACAFANAjAL0GAIcoADgIAAYsAK0JADAvALwKALExAPMKAIEyAAsLAPoyALILAJ8zACgOAFk0AIETAGY2AE0aAC05AKwgAA47AMMlAAI8AJEqAJg7ADovAMM5AL80AHo2AO45AI8xALA+AHQrANhAALAkALo/ADsdAPo8AJwVAJ86ABoPAP45ADYKAOE6AH4HAJ86ACYHADw3AOEIAEUvAEALAEojAGEMAPkWAM0LAGoMAPUJAAgGAIkHAP4DAAcFAE0DAN0CAAABALAAAM37/5b+/8/0/yb8/5bt/4X4/9Xm/8/0//jg/4Tw/07c/8rs/yvZ/7Po/8TW/77j/0rU/zTd/6/R/5LX/7zP/8zU/+7O/+3U/0PP/2LX///P/zHZ/zfR/x7Z/9LS/xHX/6bV/3TU/xzZ/4nS/1/b/2fR/8Pd/4LP/0Dh/6jN/53j/1fM/5Lm/5bL/9zq/13L/3Xt/5zL/1Lw/y/M/43y/xjM/w7y/8/K/+Dw/5HI/7Tw/z7G/9vt/1DD/5bq/9/A/w/o/0m//+bi/6a+/y3e/8a+//Da/6e//5bV/wjC/47R/9rE/2vP/7/H/3rM/9DK/97K/+nN/3fK/27Q/3zJ/4fQ/xzK/0TQ/3fL/8rQ/xTL//HN/wzM/xHL/8bO/+bI/8zQ/8TG/z/U/yfG/xXZ/2bF/53c/9XE/6rg/53F/ynl/2XH/5Pp/wvJ/5nu/7/L/wv0//3P/wn5/67T//H+/4HY/8gDAGzd/6oGACPj/20JAF3q/4sLAM3x/x0MAP/4/5wMANT//wMNAFYEAEgMAOoGAJYMAHIIAMsLAKgKAA4KAPQLAAUKAJ0LACgIAMULAJMFAMoJADsEAHwGAE4CAH4DAEAAAPT//6T//1j8/4z+/2L7/4D9/4b6//b8/5P4/5X6/7H3/3D4/7b2//v3/+j1/w/2/7b3/7z0/7b5/w30/wT8/+ny/yn9/7Dz/3v7/3P0/5b5/wzz/4r6//Hz/wn6/4n2/xr3/9P4/7T1//z7/+/y/8H9/+Du/6n9/83s/4X9/0/r/7/8/1fp/5j7/yPo/5j7/3Xm/5L6/5/o/zr3/33r/5by/zvs/2Ps/w7t/yvm/1nv/1/i/9Xw/8Lg/zj0/6bg/9v3/+nh/5L6/5Hi/0j8/wrj/5X8/1/k/w/+/wvn/68AAPHr/9oEANPx/9YGAP/3//sJAOb+/+8MAIYFANAPACILALgSAMUQAKkWAMIWADsaABkdAL8dAIIkAF8iAJAsAMInAH40AKguAFo8AIk1AJpDALI8APlIAAJDADNNAIVJAClRAKVQAKpVAKFXAFVaALJcAOldAPFfAHhfAD9iAF5fAEliAFJdABliADhaABNiAFVXAJNhAOFUAK5fAHlRALBcABRNAGNZAJRIAK1WACdEAJ5UAMg/AFxSAPc7ADtPAL84ADFLACI1AJtHAOAwAMZEAPgtAPRCACgsALFBAL4qAFA/AFEpAGs7AE0nAHk3AB8lAPQ0AJcjACMzAHsjAPAwADQkANMtAOokAB4qAN4kAOglAM0kAEIiAN4kACEgAOQlAKIeAJknAOkcAHMpAPYaAJwqAAQZAIkqACEYAGIqAEQZAM4qACYcAEMrAO0eAE8rAPggAFUrACsjANIqABwlAEcpAJ8mALcnACspAH4mANorAFQkAE8sACUhAEgrAHwdAFoqAIQZALEpAOQVAHooAFsSAGomAMUOAE8jAIcKABUfAIwFAAgaABoBAEIVACz+/0oRAAb8/3oNACj5/6UIAD32/z8DAPLy/1X+/yzv/9L5/wfs/zD1/z3q/9Lw/3To/yns/1Xl/7fm/x7h/4bg/4Xc/wza/0jY/2LU/7zU/63O/wbS/1DI/+3O/7jB/7vK/+i7/xXG/3O2/4zB/9Gw/4i9/zGr/7C6/7Wl/+K3/7ig/7uz/0mc/+au/+mX/yaq/wCU//2l/7iR/+ui/0CQ//ag/3CO/9Ce/6yN//ab/82O/yGZ/52Q/8OW/32S/+yV/3+U/1OW/2eW/2mW/5GY/8aV/w6b/9qU/7id/52U/6Og//yV/5Gj/+uY/2im/0+c/4Ko/w2f/9Op/ymh/1Wr/z+k/x2u/8+o/xWx/16u/6ez/5S0/6K2/7W6/2+6/62//zW//3HD/2LE/ynI/+3J/8rO/zTP/07W/3DT/7Dc/53W/1Th/0bZ/3Hk/yvc/wXn/2bg/9jq/xPl/xzw/8Lo/0T1/33r/4b5/+vt/9j8/53w//n+/3Lz/2YBACz2/yIFAKH4/1UJAGr6/9AMAJr7/wAPAKv8/wsQABb+/4oQAPz//wQRAFACACwRAHcEAHgRAMgFAIIRAM8GANkQAKsIAMYPAA0LAMwOAEUNAGgPAPkOAK8RAHcQAG8UAG8SAAkWAIQUACgVAFsWABwTAEsYAAYTANwZAM0UAHQaAMIWAMIaAIgYAIYbALAZAM0cACQaANYdAHgZAA4eAMUXAKodAI4XAJgdAA4ZAPodAJsZAGceAAAYAHIeAGAWANUdAKAVAJgcABQUAJsaABoTAKYYAOoSACgXACcSAGoVAP4PAIISAJwLAJsOANUFACMKAA4BAH4FANn9//kAAAP7/yL8/373/9X2/+/z/0Xx/+rw/43r/8Lt/4fm//3q/2ji/5vo/+ve/7zm/y3c/zjl/7na/9bi/7/Z/z/g/4zZ/8Pf/+TZ/4bh/+TZ/wPk/xHb/xjm/5/c/17o/5ff//zq//Lj/xfv/+Ho/wX0/+Xt/7/4/23y//v9/0L3/50CAKz8//QGAEcCAP8KABMIAFsPALANAL0UAFsTAC0aAAcZAJgeACAeAAIiAGgjAHclAOcoAKMoAMEtAEcrAAUyAAktADQ1AGYuAGA4AFYwAFw7AOAxAOA9AHIzABBAAAw1APZBAPI1AApDAMo2ABREAM02AMtEADU2AHFEALg1AF5DANk0AOZBAJ0zAFlAAJkyAAw+ACMyACE7AOExAMk3ADExAOQzAJAwAJ8vANUvAFArAL0uAEknAHgtAIMjAEUsACYgANsqAGQdAGgpAAgbAA0oAOcYAHcmAPMWAAolAOQUAH4jAEMTAMAhAOARAG0fANEQALMcAP8PAKgZALwPAB8WAKEPAM4SALIPADoQAOYPAGMOAEEQACUNAMAQANMLADARAFEKACIRAIcIAIkQAFAGAGsPAMsDACcOAJcBANsMANj//1ILAJT+/7wJABP+/4QIAGT+/5YHAPX+/5QGADn//5gFAPT+/9UEABP+//4DAA39/08DABL8/6UCAJH7/4QBAJz7/wAAAO37/yP+/zj8/7b7/2D8/6z5/0b8/3P4/x38/8T3/5D7//b2/xL7/0T2/w37/2D1/xf7/9Xz/y37/3Tz/3T7/73z/+/6/1Dz/2/6/yzz/zv6/0Xy/835/+/w//D5//zw/4X6/9fw/3L6/4bw//X5/1Lx/3/5/0bx/8n4/8vw/9z3/2Lw/+z2/5vv/xX2/zXw/2f1/5Hx//v0/+nx/+r0/z3y/171/0rx/wj2/9ju/0r2/9/s/y32/5zq/9H1/3zo/w/1/6Dn/4f0/4Tn/4P0/3fo/wD1/yDq/1j2/yfr/zT4/3Ps//H5/wnv/zT7/8nx//H7/6L0/5r8/zP3/xr9/7T4/2f9/875/2L9/2X7/0z9/9n9/639/98AABD+/7QCAIv+//YCAHL//xECAAYAAFUAAP3//9X+/4T//3n9/2b+/xP8/w/9/7n6/wv8/8f4/yH7/z/2/yT6/+Dz/w75/9Lx/633/7Pw/2/2/1Tw/571/yzv/wj1/1ru/xn1/wDu//71/4Ht/yj3/57t/0n4/zju/0D5/yvv/835/wXx/6j6//zy//b7/z/0/0X9/yb1/yn+//L1/7P+/032/8f+/9r2/3f+/3L4/+L9/5z6/yH9/x39/478/67//7r7/4wBAOL6/84CAD/6/48DAJH5/3UEADr5/9sFAOD4/5YHAFz4/6EJAMr3/24LAC33/w0NAHT2/zQOABD2/94OADP1/y4PAM30/6UPAHn0/2YPADr0/woOANr0/3cLAAX1//kHAGb2/6QEAKn3/wACAGL4/0QAAD/6/zz//6v7/17+/8/8/xn9/wL+/1L7/83//7v5/3wAABD5/xABAJn5/08BAJH7/68AABv+/zcAACwAANT9/zIBAK77/0QBAGH4/7sAAEL1/1n///fy/179//bv/6n6/xLv/1v3/xDu/wH0/x7t/4Tx/yju/y7w/3Hu/+Dv/+Hv/1bw/5rx/0jx/8vz/zny/y/2/4fz/yX4/5z1/xr7/5X4/zH9/0P8/5f//wkBAB8DAI0GAOAGAAAMANMKAJcRAAgPAJQXABMTADgeAIcWAHslAJQZAKQsALkcAA0zALoeAFw4AGMgAEs8AM4hAAU/AB4iAJJAAGYiANlAAGMhAFFAAKwgADI/ALofADA9AD8eAOo6AKkdAH84ANIcAMg1AO4bANYyAJ4bAPkvAMQbAD4tAPsbALQqANsbAGQoAPscAFAmAIMdADEkAL0dAIUhAGEeABAeAJweAAoaAJEfAO8VAF0gABoSANUhANEOAMYjAAkMAHslAEQJAEMnAKgGAIIoAHYEAPUoAK8CAGcoAI0BAAEnAAABAMAkAN0AAKMhAG0BAAoeAB4CAD4ZANoCAJMUAO8DAKUPAGsFAG4KAIUHAKIFACYKAKkAAM0MAGH8/zoPAAD4/wwRAPDz/+ARAOjw/3kRADru//APAP/r/04NADXq/0oJANfo/y8EAFzo/4f+/7Ho/7P4/1np/07z/xfr/9nu/4Xt/8fr/4Lw/yrq/9/z/5zp/2b3/2Pq/+L6/xns/1b+/2fu/7YBABbx/7UEAI3z/6YGAOX1/8MHAPT3/7MHAET5/+sGADL6/8wFAOz6/+kDAFz7/6sBAGb7//L+/wL7/6L7/xH6/xb4/2T4/yn0/771//bv/xzy/4/r/4/t/w7n/0Xo/1zj/6Pi/z/g//rc/2zd/7nX/9rb/7nT/13b/1fR/0Lc/4nQ/8He/3fR/4Pi/xrU/1bn/2PY/wLt/+/d/+ry/3zk/5n4/2zr/zb+/3Ly/6gCAHH5/wAGADn//4kIAI8DAOMJAJEGAGsKABcIAO0JAFsIAJkIANgHAMUGAL0GACAEADsFAFMBAHYDAKn+/7gBACb8/zkAAJr5/7X+/6T3/0v9/3T1/7r7/8/y/+n5/3Dw//33/0Dt/4r2/6Pp/7r1/0nm/4j1/4zi//L1/3fe/8r2/wPb/6r3/5vY/+33/zvX/2n3/9nW/1T1/yrY/9/x/zXb/wTt/23f/9vm/wTl/6jf/9zr/3PY/0Dz/43R/+X6/07M/1ACAL/J//UIAGzK//gNAFTO/7EQALTU/1gRAIfd/7UPAD/o/+QLAMzz/6EGALL+/zQAAGYIAKf5/+oPANLz/9AUAFTv/0oWAAbt/x0VADzt/6MRAAnw/44MAIP1/6EHAA39/+gDAOAFACoCALgOAGIDAIAWAJkIAHgcAOIPAJ0fADUZALAfAKYiAFEcAJAsAK0VAEE0AIsMAB05AB8CAAY6AGz3/4E4AJPt/7oyAELm/xIrAH7i/ychAGTi/6YWAFPm/20MAB/u/98DAIb4/xL9/xEEAFH4/54PALf1/5EZALv0/20gAD/0/6cjAGXz/+4iAPPx/6QeAHXv/+AXAP3r/5gPAFzo/x8HAPnk/4n//z3h/8P5/x/c/2D2/1XZ/4r1/7zY/8r2/7rZ/7z5/znb/4X9/4ze/00BAFnk/zoEANTs/+UFAAj2/xwGAFcAALcEAK0KAM0BAPkTAB7+/70ZACb6/zAZAIL2/+gSAAb0/7sJAGvz/2wAAK/0/674/7v3/2X0/0L8/2z3/6ABAEYCAMEGAJoSAAsLAO0kAAIOAGk2APYOAPVDADkOAOtMAHMMAHBPAHcKAGpKADgJAG9AAG8JAL82ADUMALQuANYRAK0mANQZABIhACQjACsfAG4sABkeAOYzAHcaAPY4AIsUAAY6AN0LAEw2ACYBAJItANL2/wghAJnu//MRACzo/1UCABfl/0z0/6bm/xrp/zzr/4zh/zPv/3Te/z7w/7zf///u/+Dk/yPs/xTt/57n/573/yDj/7ACAEDh/yYNAOLi/7kVAGTn/8YaAGLu/w4cALf2/0UaACX//28VAPoEAL8NABsHAPEEAHYEAIP8/1P+/+L0/7v3/8/u/93z/xzr/yX0/6vr/9v4/27w/zMBAPD3//YMAIoAAKEaAFYJAOolADoRAKIrAM4WAK4sAOkXAHgqAM4UAGglAKgPAHMeAEQJANwWACcCAE8QAHH7/98LADf2/3gIAIzz/x4EAG7y/wT+/zfy/6n2/7rx/8bu/97w/0Tm/1Tv/3Te//3s/zDY/3bq/67T/xfo/93Q/3Xm/3rP/9fm/z/P/27o/43Q/wHq/8fT/1Hs/8LX/6Tu/wXc/9Hw/yLg/wHz/2Dj/8P0/9nl///1/3fn/0D3/1rn/274/9nl/6/5/6Hj/7/6/47h/9H6/7Hf//f5/7ff/0D4/1jh/7P0/3fk/3Hw/5Hp/3Pt/0/v/wzs/6f1/+vr/yf9/wPu/8gEAAPy/wALAI/3/zwQAIX+//0UADwFABkZABUKAKEcAKQMAHAfAMUNAA0hALUNAF0gAHIMALIdAAYKAD8aAMIGAH4WAIADAO8SAKUAAC0QAKD9/9YNALT6//ILAPD4/wcKALb4/0MIACX6/88FAAn8/ykDAPT9/x0BAPX+/xr+/yT//9X6/9b+/y/4/5P9/4T1/5L7/+7y/0D5/4bw/3j2/3Du/2Hz/z/t/53w/1Ds/9vt//Tp/9Dq/+7l//Dn/zrg//jk/z7Z//Th/4LS/6De/6jM/2fb/x3I/8LY/wfF/67W/2vD/+7V/+fD/zHW/2nF/3HX/y/H/zjZ///K/6ba/0fQ/0vc/6TV/3Td/93b/0Le/xPj/8rf/4Pp/4fh//bu/4bj/9Tz/3fm/4T3/zPq/0/6/wHt/zb9/9Lu/wYAAF7w/7YCADPx/14GAFfx/8YKAFDx/3MPAF3x/8sUACjy/0YaAPzz/xYfAIv2/zMjAH35/zUmAHf8//AnAJP//wsoAE4DAFEnAOsGAGElAAMKAL8hAC8NABwdAE8QAB0YADETAEsSAJQVAGMMADMXAFEHAN4XAJ4CAPYXAHL+/+sWAAT7/4AUAGn3/+MRAIPz/9IOAPfv/0QLAHPs/wAIAPPo/zMFAPjl/xkDAODj/8oBAJvi/9UAAE/i/+z///Hi//j+/wPk/9b9/1Ll/6n8/63m/5v7//7n/5H6/+fo/yT5/+vp/0n3/1br/0z1/x7t/ybz/9vv/+Lw/6Tz/+Tu/zL4/23t/5T9/8zs/9sDAEnt/7MKAC3v/wESAC3y/2oZAEj2/34gAED7/xInAN0AAM4sANIGAHwxAKMMACg1AHYSAN43ALoXAHk5ABkcAMA5AHsfAB44AAoiAAI1AGwjALMwAPkjADsrAJIjACclAC0iADwfAB8gAIYZAJEdAPsTAHAaAJIOANwWAIQJAGsTAGEEAMcPAGD//x0MAKP6/wIJAI31/0UGACnw/84DAM7q/+wBAJrl/9kAAKHg/zgAAGfc/wEAANfY/z8AAA7W/4IAANzT/7cAAK7S/3AAAFHS/8j//5fS/7X+/8HT/1j9/x3W/6D7/2PZ/4r5/67d/0/3/4Hj/1n1/9bq/zb0/znz/9bz/3r8/zL0/wsGAIv1/yQPAM33/+kXAKP6/58fACn+//IlAOYBAKAqADQFANstAHUIAOkvABALAMEwAL4MAI0wAJENAHIvAEQNANktANwLAMErAHMKABYpAFwJABUmAAQIAPsiAK0GAJofAC8GABscABEGALIYAC0GAI8VAEEHAK4SAJIJAHcQAGUMACEPAOcPACAOAJAUAFYNAPIYAKIMAMQcAO8LAIsgAMQKAFsjACQJAA8lANwGAEImAAYEAHkmAEIBAPwkAJv+/yIjABX8/7QgAL/5/1MdACb4/74ZAIf3/70VAM73/yUSAO/4/zoPAM76/y0MAHv9/+AJAMcAAEsIAGEEAOMGAFIIAIUFAEEMAG4EAKEPAHEDAD4SAG4CAEgUAJMBAJ0VABAAAK8VAK79/80UAP76/2ATAM/3/4URAFz0/0MPAPbw/98MAI7t/7cKAE/q/50IAObn/+QGAEPm/+IFAHnl/zIFAAjm/3gEAI3n/wsEALbp/wYEAI7s/xIEAMHv/zMEADTz/0UEAO32/xoEAKT6//UDAM/+/+cDAE0CAIYDAFYFAA0DACgJAGsCAJUMAMABANAOAPYAAN8QAFcAACgTAN7//5wUAJL//6cVAKX//z0XABYAANUYAA4BADoaAHUCAHkbAP4DAIscAJ4FACUdABAHAAAdAOYHAAgcAEMIAE0aAF4IAJ4XACoIAPcTALIHAJQPAEcHAJsKAEUHAGEFAH0HAFIAACYIAKX7/zEJAJr3/+sJAFX0/2kKANrx/40KAE7w/+AJALXv/14IAHjv/x8GAMvv/20DAIPw/3IAABvx/1L9/4fx/x76/6Lx/xz3/ybx/2T0/2Pw/9nx//bv/4bv/5zv/6/t//nu/xns/8ju/8nq/yDv/+Xp/27v/3Hp/zfw/3/p/wfy/xrq/4X0/5jr/1v3/57t/0f7/9Hv/4P///jx//gCAAX0/2oGAI/1/2gJAD32/zMLACH2/1UMAPr0/+cMAFLz//ILAHvx/z8KAIPv/3QIAF/t/6sFAIHr/68CAGzq/57//xnq/5D8/4Pq/2z6/5vr/4v4/2Pt/x33/9jv/6H2/5vy/4b2/6n1/4v2/+H4/6P2/6r7/wf3/6z9/0n3/+v+/5f3/4D//4H3/+X+/1P2/wH9/3/0/076/w3y//32/9vu/yPz/23r/9Tu/7Xn/4zq/7nj/1/m//7f/1Di/9nc/+re/yja/yDc/4nY/3PZ/+LX/xPX/83X/3fV/zTY/0TU/xTZ/2zT/w3a/97S/0Tb/0PS/2nc/7LR//zd/3fR/1nf/xHR/5Hf/4/Q/2ng/wvQ/9Xh/2vP//jh/83O/zfh/1/O/wHh/3HO/4Pg/9XO/yjf/+nP/5be/63R/9je/zvU/23f/87X/3zg/xHc/1Hi/+Pg/+Xk///l//bn/97q/zTr/1zv/9Xu/7vz/3Xy/7v3/9L1/4b7/yb5/xf//1n8/5sCABv//w4GAGkBAI4JALkDAG4NAB8GAB8RAFoIAKIUAGYKAMQXAGsMAE8aAJ8OABYcAMkQAHgdANISAFweAPgUAAIfACYXAMAfABcZAHYgAPYaAGEhAPccAAkiANgeAHoiAN4fAI0iAHwgAGsiANggANUhAFAgAKcgAPweAD0fABQdAG8dAN8aAEgbAFoYAA0ZAGIVAMoWABcSAEUUAHkOAOERAAILAM4PABEIAAAOAHEFAGcMAF0DAE0LAOsBAHQKABgBANoJAL8AAGMJAA0BANIIABoCAGUIAKYDAD4IAMsFAJcIAIIIAK0JAH0LABcLAG0OAGQNAIQRAGUQAI4UABwUAIMXAGkYAEQaACQdANwcAOchACkfAIUmADkhAOoqACcjANIuANUkAAwyAEYmAIE0ALonAFI2AA4pAHk3ABYqAA04APIqAIQ4AKYrAN84APorAOU4ACMsAKI4APUrAPk3AKQrAE83AIArAI82AFQrAH01ADArANIzAO8qAJMxAKAqAAkvABkqACQsAEMpAGMpAAcoAPAmAEQmANYkAD4kALwiAEciAKggAIggAGAeAKEeAFwcAOwcAKYaAKsbAAcZAKQaAJ8XABUaAE8WAI8ZAOYUABwZAMYTAJUZAKcSAIEZAIERAJ8YAFkQAL0YANEPAJgYAKQPAAYXAIUPAHkVAHsPABkVAH8PAHgUAOMPACgTAL4QAJcSAOoRAIMSAP8SABcSALUTADwSAOUTACwSAB4UAP0RAIIUAPsRAOIUAJERACQVAPgQADEVAHYQAHkUAMMPAI8TAPgOAKMSAHcOAK8RAA4OAI4QAHANABoPADcNAAwNADkNAIwKAM4MAKwHACQMAL0EAFYLAPABABEKAAz//3UIAOv7/2cGALr4//4DAID1/3oBAI3y/wD///jv/0H8/+zt/6z5/xbs/4P3/xnq//H0/+nn/97y/3Hl/zfx/wzj/2bv//7g/7Pt/xff//zr/3vd/6Dq/zbc/x/p/yHb/3zn/wfa/6nl/8bY/yrk//jX/5bi/77X/7Hg/+vX/+je/w/Y/0fd/6rX/+nb/yjX/7Da/zDX/47Z/9XX/4nY/wHZ/+LX/yfa/6LX/57a/3/X/5Ta/1/X/1fa/6DX/23a/xfY/6va/8fY/6Pa//rZ/4fa/zHb/x3a/2Dc/y/Z/9Td/xvY/3Hf/5HX/5Hg//DX/y7h/5vY/2Li/xXZ/9rj/wDZ//jk/4vY/5jl/2HY/wDm/zDZ/8Dl/5Pa/4Pl/+Tb/77l/47c/0fm/6Tc/9rm/+Lc/yTn/7Td/9Xm/97e/zHm/x7g/w3m/3/h/zjm/+ni/7Tm/9zj//Pm/2Tk/8zm/+3k/yPm/3rl/0Tl/zLm/2nk/zDn/2Tj/+Xn/27i/xno/4rh/wzo/4jg/wHo/7zf/2Xo/yLf/0fp/+fe/yXq/x7f/3Lq/wTg/z3q/wnh/x/q/wfi/4Pq/9ni/13r/+jj/zvs/2vl/5Ds/0rn/5Hs/w3p/3rs/5Lq/6rs//Pr/4ft/4nt/+/u/wbv/3jw/27w/8Dx/+/x/xTz/1rz/7T0/470/8H2/8T1/6/4/wb2/7b6/zL3/3f8/5r3/8P9/7r4/xv//z76/2oAAAT7/9QBAEz8/xwDAN38/2kEAGD9/5sFABr+/8UGALv+/xEIAHYAAGkJACkCAMsKAPQCAFgMAJoDAMMNANYDACEPADEFAD8QAKkGAHMRAHwIAK8SAHEKAKYTAPkKADkUAMELAKIUAEkMAMEUADENAMQUAJ0OAKYUAO4PAKoUAIcRAF8UAF4SABUUAHgSALQTAE0TAOoTAGQUADIUAEIVAJAUAHwWAAEVABYXAEsVAAgXAFQVAG8WAIMVABQWABcWAG4WAO0WAHkWALsXALQWAMcYALoWABIaAGEWAIwbAAoWACwdAHIVAAQfAAcVAP8gANcUANsiAPgUABwkACIVABslAPcUACsmAJsUALUmAB8UAO8mANQUAAMnABAWAGQmADMXAC0lAM0XAB4kAEQYAFQjALkYAFYiACkZAKIgAOkZAHYeAP4aAFccAMcbAA0aAEocAKQXAD4cANoVABUcAKoUAEwcAIMTAPgcAPkRAKsdABYRAPQdAA0RAIcdAHQRAAsdAJMSALkcAGoUAP4cAPgVAGYdADEXAGkdAHgYACkdAN4ZAMgcAC8bAEQcAIAcAHEbAIcdAHwaAEgeAMcZAGgeAEIZACIeAJEYAC8eAJAXAGIeAFcWADIeABoVALMdAJ8TAKAcAKkSAIAbAPYRAPUZAK4RAJgYAEcRAMYXAJYQABgXAAQQABsWAEgPAAsVALkOAAsUAIoOADcSAH8OAAIQADUOAOINAMENAHMLAHENAHAIAOoMAMEEAIkMAFIBAFQMAOP9/80LAEn6//UKAD33/6cJALr0/88HAGLy/94FAIDw/3sDAELv//wAABzu/6/+/3nt/xX8/03t/wT5/97t/0f2/6vu/7rz/w3v/z7x/+nv/xDv/33x/x/t/2Py/yrr/0jz/yfp//Dz/5bn/7Lz/2bm/9ry/43l/wry/y7l/4Hw/z3l/0Du/7zl/2nr/y7m/zHo/3nm/73k/x/n/+3g/xro/wzd/57o/+3Z/zvp/7fX/+fp/1zV/2bq/1vT/6vq/xzT/8Xq/2LT/w3r/9/T/5vr/2TW/wPs/8/Z/7fs/y7d/yLt/+Lg//3s/yfl/x7t/2vp/8js/63s/yrs/4nv/6Hr//Ty/8Hq/xD1/6/p/6v1//nn//H1/zrm/xX1/8Hk/3by/2Lj/2Dv/zfi/87r/+Xg//bn/0Df/wTk/63d/znf/+nb/7Ta/0Pa/4rX//fY/5XT/9nX/5LP/6jW/1bN/6zW/6bM/6HW/xjL/9vW/2DK/y/Y/2XL/+3Z/7LM/yzc/4LO/5je/w7R/43h/ybU/3Pk/23X/93m/w3a/zXp/6bc/wnr/9rf/3Ts/xLi/03u/zbk/63u/ybm/wTv/7zn//vu/4Lp/5Lt/0Xq/6ft/5Dq/4bt/yLt/x7q/wTv/6Po/8ru/9Lo/y/x/w/l/1P0//Lh/+Tz/5bi/7z0/5rg/wb4/zjd/4r3/2Te/2H1/zTg/2D2/8fd/7r2/zze/93y/+fi/zHw/0Lk/+vv/7Pj/5Ps/5Tn/z/o/2Ps/zTn/8js/27m/4Ts/3zi/+rw/6Df/+Lz/9vg/9Py/yTh/zn1/0Tf/2v5/zfh/8b4/yrl/4L4/wTn/4b7/wjr/6b8/03y/2n7/0n4/5T7/7z9/8b8/70EAML8/7ILAPL7/84QALD8/1AUALT9/ysYAJD9/zEbABb+/20bAE///+8ZAIz//5gXAN///0wUAFsAAEQQAFkAACAMAAAAAOoGAM8AAKQBAA4BACz+//r//9X6/68AAKP3/44CAHT3/4QCAJL4//EDAPv5/9oGAJH+//EIAH4EABALAFMJAEsOABMQACgRAOMXAEQTAAceAK4VAPkjAJwYAKQpAGYaAOctADgdAMcwAHweAAMzAI8eADg0AHAgAIIzAFsfAPAxAModALUvAHYcANorAJMbAPomAP0YAJIhAFwVAA4cACMUAPYWAOMTAPsRAM8RAE4NAIsQADMKAA4RAGAJALgRAGoKAMUSADUMAEAUAC4PAOMWAMcTAOgYAFMZAEMbAIseAJQeANIiAEUgADgmAI0jALIpAGUmAOUsAPgnABsuAM8pAKctAPoqAGotAGcqAMQsANkpAKoqAKgoALgnAIkmAIskAGwkAFghAL4hAIAeABIgAN8bAC8eAAMZACQbAIgWAHQZAFoVAMsXAGEVAOgWAKEWANUVALUYAKkUAEcbAB8UAJ4eAKoTAAwiAHsTAKYkAOUTAOEmAJ0UABgoABwVAA0oAIgVAE0nAPQVAFAmANMVAEAkAM0VAG4hAGsVACkeANwUAOwaAGwUABwXADwUALgSAGIUAP8NAJAUAO4IAHAVAPgDANEWAPD//0oYAI/8/zgaACr6/3gcAIX5/4keAE36/zAgADn8/wUhAGz//5EhAAEEAKIhAHwJACEgAH4OAAgeABETANQbACoXAKwYABMaAKYUAGkbADQQAAEbALsLADkZALkHAFMXAIQDAE4VAGv//+IRAK/7//EMAL34/2IHAF/2/1gCAJ30/+n9/2Pz/yH5/+fy/1v0/5vz/8fw/3r1/7ru/3f3/+nt/0b5/0Pt/237/87s/6f9/7rt/6///6nw/ywBADz0/24CAHX3/4sDAP/5/0kEAAD8/yYFALX+/yQGAM8BAKkGABoEAGAHABYFAIEIAMgFAMoIAKoGAK8IAL4GAEkIAHUFAFMHALECADkGAIv//58EAKL8/4oCAOD5/4MAAOf2/yj+/1jz/zf7/+Lv/2T4/6Ds/0z1/9Hp/x/y/7fn/4Tu/znm/77q/8Hl/yTn/zrm/xfj/7Dm/5Xe/2fn/73a/x/o//LX/5fo/2DW/1/p//jU/9/p/9rT/wLq/2DU/y/p/wLW/8Pn/3LX/xzm/9PZ/73k/9fc/+Pj/0/f///i/5/h/87g/3/k/z/e/9jm/wjc/8Ln/3bZ/xfo/5DW/63o/0/U/+Ho/7zS/+zo/8zR/6jo/1TR/8/n/3HR/+zm/43S/yPm/wjV/z7l/1fY/7jk/wzc/0Tk/3Lg/wHk/zPl/yzk/7bo/8Dk/wHr/wjl/8zs/+Lk//Pu///k/1Tx/8Ll/2jz/w7m/8P0/0fl/wX1/8/j/4H0/yji///y/57g/yDw//7e/2vs/zbd//3o/0Pc/0Hm/4Pc//vj/yTd/6Hh/2He/y3f/yXg/1ze/8Hi/7vf/4vl/+7h/53o/2vk/0ns//Dn/w7w/8Ds/1nz/z7y/9n1//T1/5z3/6P4/z/5/zX7/+L6//L+/038/ycDAHz9/38GAKv+/8sIAJ3//3QLAGEAAA8OAJUAAGcQAHoAALoRAHsAAAEQAKIAAK8MAJgAAE0IAHoBAHcEABsDAKkBAGEFAEP//ycIAPP8/zILAN77/98OANb8/6sSABsAALkUAD4DANUVAPgFAIcWAEQJADgXAIkNABkXAKYRAG0VALwTAG8SAC0UAG8PACYUAFwMABEVAGkJAJsWAPcFAI8XAEECABwYAKH///IYANb9/3YaALX8/+0bAKP7/80cAM36/1QbAO37/1QYAMX+/0cWACkDAP4VABgIAHoWAM8MAKoUAB0RABERALkUAGAOAIEXAAoOAPQZAAYPAPMbAKAPADwdAAAQAHQeALURAOEfAPoUAPYgAAoYAKEhAMQZAJ4gAOUbAIkeALkdADYdAOIeAAEeAKYfAOgfANYhACkhAMEkAEciAIUlAE0lAKskACsqANslAGQuAGUqAIgwAEMvAA8yAGAxAJkzADAxAMQ1AGcyANs1ADE0AK4zADIzAKQwAAEvADAuAEErABQrAGEqACknAFUrAFYjABsrACsgAHwpADcbAAkpAKAUAKwqANEOAMwrAHkLAIArAAIKAKwqADwIAIYqAIcHAJ4pAKYKAMAnADoRACQnALYXAH4nAHUbALsmABMeABskADciANQhAMcmAD8hAPwoAEUgAGEoAHEcALYnAJMWAMsoAB4RAG4pAN4NALwnAMEKAKslAO0EAGYkAIn9/7wiAMX4/4EfAG33/94bAC73/4wYAM72/wsVAET3/xESANr5/5wQAH/9/4sPAI8AAH8OADgCAO8OAN0EAAgQAKkJAPkPAG0PAAgPACoUAGgOAGsXAJINANEaAOQKABoeAPMGAF0fACQDAB0dAKoAAFMaABb//44XAND9/1MUAFX8//kPAAf7/xULAMz5/9gGAA/5/90CAEj4/4X//w/3/9X8//z1/7f6/9T1/6H4/0P3/1H3/8L5//r2/5v8/7j2/yUAAHr2/5sEACT3/4sIAIj4/0oLAKf5/9oMAGr6/+IMAKr6/54LAJT6/+gIAP75/7oFACb5/3kCAMP3/+/+/3L1/9L6/6ry/8n2/0zv/3ny///q/8ft/8zl/z/p/xXg/zjl/+Xa/2ri/7jW/w3h//nT/6Hg/1/S/+jg/93S/zrh/47U/3rh/9jW//nh/y/Z/+fi/5rb/6bj/wre/xzk/6Hg/2Xk/8rj///k/97m/2fl/4Hp/3jl/6zr/y3l/5Lt/8nk/2bu/3rk/77t/2Hk/8bs/5fk/9nr/0bl/6Pq/zrm/wLp/1Pn/+nn//Po/4Tm/yHr/4nk/wXt/1ni/z3u/6rg/zrv/+Pf//nv/6vf/8/v/7bf/5ru/wHg/xTt/13g/3br/x/h/17p/yLi/yfn/1Pj/yrl/zrk/4Tj//rk/7nh/+vl/6Tf/2zn/0Td/53o/yvb/1Pp/2DZ/7Tp/2nX/zbq/5/V/6Xq/27U/5Dq/3vU/wDq/z3V/6/o/2nW/+rm/wTY/wrl/4fa/zzj/5/d/1fh/2Lh/+vf/y7l/0rf/8bo/4Hf/2/s/5Hg/9jv/+zh/6ry/1bj/6j0/xHl/yf2/w3n/1v3/wDp/8f3/9bq/2D3/yHs/6v2//7s//X1/9Ht/zf1///u/zz0/03w/xHz/2Tx/73y/07y//Ly/2jz/4rz/7b0/2X0/w/2/1/1/2H3/5r2/8X4/zH4/xL6/6P5/0L7/6/6/0T8/wr7/wv9/9z6/0f9/1X6/y79/2P5/wj9/wT4/6b8/5T2/wf8/071/yb7/170/x76/7zz/wf5/2rz/4z4/8nz/8P4/8r0/4z5/0D2/436/+v3/9b7/7L5/7r9/4f7/8L//zT9/6cBAMr+/08DAFYAAOoEAO4BALcGAHcDADIIAKAEAAYJALgFABsJALkGAMAIAHEHADkIAP4HANIHAGgIAGYHALIIAEkHAPYIAGwHAB4JAIgHADEJAAoIAFMJALQIAHUJAIEJALYJAFIKAPoJACoLAE8KACwMAJIKAEoNAL8KAG4OAD4LAGsPAKQLACoQAAoMAAcRAKEMAJoRAMINACcSAAwPAIkSAP4PAOcSAO0QAFQTAGARAHcTACQSANMTAHQSAMYTAMMSAHYTAD8SAKISAN8SALYRAJESAKcQABcRAEUPAAAQANINAM8OANoMACAOAEoMABkNAJoLAPwLAKsKAM4KALoJADIKAAkJAHoJAJAIAAoKAFgIAJ4JAKYIAIwIAHIJAAkJAFMKABwLAHMLAHAMALwMAMgNACUOAHUOAEcPADUQADgQAN8RAAURAOgRANcRAFQTAH4SAPUTANESAFITANcSAC4TAL8SAKASAJkSALsRAGUSAOIQABMSANgPANcRAFUPAIwRANcOADYRABkPAAYRAB8PAO0QALsPAOUQAEMQAOIQAPUQANQQAAASALsQADcSANMQAIQSAMAQACISAIUQAFwRAOAPAFoQAPUOACEPABEOAPINACgNAJ8MACEMAPkKANgKAHMJAGIJAC0IACMIACUHAPYGAPQFAOYFAOQEANUEAPMDANMDAFsDAPoCAGgCADICAHwBAFQBAEkAAGQAADr//0j//1H+/zn+/5z9//j8/yX9/+H7/8L8/536/1f8/2/5/zz8/zL4/+L7/9v2/1b7/xz2/6v6/6H1/x76/1X1/+H5/2f1/435/6D1/wb5/9z1/2P4/1L2/9z3/7P2/4X3/7X2/3D3/yX2/7/3/5n1/234/0f1/1H5/2f1/2H6/4b1/4/7/8j1/4P8/x32/2f9//r2/939/8P3/0n+/3r4/5r+/0H5/9b+/zv6//H+/wf7/xD//5v7//v+/+b7/9D+//r7/6b+/6n7/2j+/5/6/yb+/1D6/9r9/wf6/5f9/1D6/zb9/xH7/7r8/0n7/yb8/6f7/zH7/177/wf6/037/174//v6/6v2/9T6/9D0/136/yvz//v4/6Tx/4D3/0Hw/xH2/zHv/6j0/5Hu/1Dz/2Hu/7rx/9vu//7v/4zv/4Pu/6bw/4ft/5Lx/73s/4ny/yvs/1fz/0vr//Pz/3Pq//jz//vp/6Tz/zLq/+Py/9Pq/8jx/zHr/4bw/zrr/zPv/07r//Xt/2nr/yvt//br/43s/y3s/4Ts/0vs/+rs/xTs//7t/8br/1Pv//zr/wbx/37s/9Dy/1Ht/4z0/zTu/9X1/xPv/yT3/4nw/4L3/93x/5n3/8zz/xT3/5P1/+f1/xL3/6z0/0H4/0Xz//n4///x/4P5//fw/4f5/0Lw/0z5/8Hv/5P4/+nv/8/3/13w/w33/5Hx/5f2/xfz/2n2/6b0/1T2/xr2/2X2/1L3/7L2/z/4/yn3/wD5/7j3/zH5/z34/6L4/+D4/7L3/2L5/yv2/6D5/470/6z5/0Xz/3T5/zfy/xX5/5nx/3v4/1vx/9n3/7bx/wv3/7by/132/0f0/6P1/xL2///0//f3/6P0/w36/7z0/wX8/yr1/+b9/zT2/zX//6/3/+7//4r5//b//2j7/4H//zr9//b+//j+/8z+/44AAIv+/+UBAIf+/wIDABn+/40DAIP+/+QDAHD//1AEANQAAPgEALUCAMsFAPYEAGYGAEAHAD0HANsJAGcIAFoMAOwJAFoOAJcLALoPAG8NAPEPADUPAMsPAOwQAEsPABoSAEYOAKwSAIAMAJwSAHgKAPwRAJwIABMRAEIHALoPAFwGADcOAMoFAL0MABYGAFELAPwGANAJABoIAI4IAEYJAOcHAI8KAJ8HAN4LAFUHAA0NAJ0HAEcNABAIACwNAHQIAKoMAMUIAKQLAAEJABwKANEIAHwIAKAIAKIGAD4IADoFAJEHANoDAKQGABwDANAFAAcDALIEADYDAJsDAPADAKcCAG8FAOUBAAwHADMBAJwIANgAANYJALcAAMgKAD0BADcLADECADALAF8DAJ4KAPIEAM8JAFkGADAIAFUHAE8GAAMIADQEAIUIAA0CAI8IAFYAAIgIACT//3sIAJ7+/3IIAMP+/2AIADr//w0IAGsAAO8HABACABMIAAcEAIkIAOIFAAMJAIgHAAMKAKIIAF4LAEcJAMAMAJEJAPkNAFsJABEPACoJAHsPABgJAGYPAMIIAL8OAMAIAL0NAIsIAE8MAN8IAJIKAGkJALYIABcKAIkHAA4LANcGAKQMAJ4GAO0NAP8FAB0PAMMFAHAPAM8FAFsPALIFAPUOAGIFAOcNAAMFAGwMANoEAMUKALoEADgIAD8EANMFACQEAD0CAK8DAIEAAOYDAGj8//wBALH9/3cCANwFAFYGAHYDAJAEAMgBAO0CAGQAAD0BAKX//8L//1b+/9f9/wD+/8T8/3P9/637/yv9/yL7/9P8/6D6/5/8/yz6/zX8/835/2T8//v5/1z8/wL6/+H8//j5/8z8/3T5/5D8/+34/2T8/734/4r8/+b4/5f8/yX5/638/4z5/4b8/+L5/5H8/2z6/zP8/+/6/877/7f7/zf7/0/8/9r6/8b8/4j6/7H8/0b6/z/8/0H6/5T7/2f6/9z6/6z6/w76/x77/235/zr7/4H4/6v7/wD4/9r7/8n3//v7/+X3/yP8/yz4/x78/zX4/7j7//n3/4L7//j3/0v7/673//j7/7b3/5L8/2f3//j8//P2/xX9/372/1j9/3r2/3T9//j2/wr+/zP4/+f9/wn5/7T9/+H5/4H9/+v6/xb9//j7/0L9/179/1T9/5D+/yX9/3///1r9/4wAAO39/2kBAFv//3YCAIEAAG0DAIEBAFkEABICADUFAPwCAOoFAOADAKEGANkEAFQHAGIFAK0HAKIFAIEHAPgFABAHAE8GAKMGAM8GAB8GAEoHAJgFAF8HAOQEAIoHAH0EAKMHAE4EAMAHAGkEAAIHAFEEAPIFAGYEAAgFAJMEADoEAG0EAKwDAA4EAJICAAsDAGsBAKYBAIUAAG0AANj//2n//3b///j+/xb//47+/3v+/zH+/zD+/0T+/7z9/2T+/5/9/+X+/zj9//7+/9T8/+3+/3H8/27+/xn9/yz+/9D9/5r9/6/+/zH9/wD//1n8/wb//277/z///6L6/3X//3b6/27//6j6/0n//wv7/5D+/2j7/z7+/338/0H9/1D9/6r8/3P+/zb8/x7//wP8/7r//0L8/1kAAGf8/3AAANf8/5cAAM/8/6cAAPz8/zMBAHf9/ycCAPn9/+ICAET+/zoDAHP+/4YDAGP+/1IDACP+//ACABr+/58CAPn9/0QCAKH+/0gCAAUAAFoCAKQAAOsBAPABAJYCAP4BAKMCAOUBAKsCAHoBAJICAK4AAJsCAIYAANUCAGkAAOgCAND//0oCALH//20CAAD//14CACb+/8UBAI79/0gBAGL9/4YBAJz9/4YCAD/+/7UDAGf9/wwEANn8/8IEADX9/70GAAD+//QIAMj//xILAPAAALgLAK8BAK4KAI8CAHsJAFQDACUIAKwEAKEHAOoGAMQHALAIADAHAOEKAOoGAO4MAC0HALIOAG0IAJENAPUGAAkOANsIAP4RAJ0RAHsQAHERADkNAJwOAH8LAAcPAA0JACIPAFIFAPENAFQBANELAPX//3sKAK39/58HAJn7/wIEAMj5//kAAD/3/zf9/5X3/2P7/zb4/775/5j5///4/3L5/933/yX5/4f2/6j1/yP0/0/0/7vz/zby//Dy/53z/0Xz/8P1/xH0/1D0/yz0/3jy/xv1/0vv/wH1/yTu/9f1/2bs/2z2/6zt/0H3/3rv/9X2/3vy/zL3/8Lz/4v2/6j0/3P1/+T0/0/1/5X0/5z1/370/4L3/0H0/3n6/871/4H9/1b5/wkBALP8/zMDALv+/xgDABEAADkCAPgAAPsAAF8DAPgAAFcGAIEBAAAKAH8CAL0NAK4DAH8QACAFAE4RADMHAM0RAG0KAPcRAKoMADYRADoNAE0PAKUMAA0MADALANkIABAKAMsGAJ8JAEgDACkIAL4AANAGACgAALcFANv//3wEAPH+/3kCAOX8/xP//9z6/1/7/w75/8n4/2X2/8b2/3vz/x71/1Py/6/0/wXx/wz0/0/w/xz0/83w/zH0/1Ly/73z/9H1/5Pz/3D5/1fy/+T8/4nw/yMBAEzv/5gDANXt/+gEAInt/+8DAHft/zACAKfu/3oAAC3w/0v//+rx/2n9//Py/z38//Xy/4L8/8Hy/5j8//3z/6b8/wP2/z/9/xb4/8z8/9r5/6v7//j7/1z6/8r9/wP6/2v//4z4/2r//372/3D+/1j1/837/xr2//v4/3z2/1z2/2D2/zH0/7P3/3Pz/wn5/5Pz//P5/xX1/9f6/1H3/wv8/+z4/4P9/0r6/5T9/7T6/1P9/0n7/738/9n6/zb8/9P5/w37/5f4/wT5/wv3/yb4/4T2/8j3/9n1/+f3/0j1/874/270/yD6/4rz/8P7/xbz/yX+/wbz/1EAAHnz//oBAEX0/ycEAL31/w0GABv4/6oGAAX7/yUGAED9/6oFAKf+/x4FAJ8AAGMCACwBAEwAAJABAOj+/wsBAJH8/7T//2X6/6P+/574/3/8/yv4/zb7/z74/5r6/yX4/0/6/+v4/4j6/y/5/935/3H3/wX5/+X0/8z4/83x/wD4/1fu/6f3/7Xq/x34/3Tm/473/6rj/yD3/53i/9T3/3rh//H3/47j/1j5/xzo/0v6/ynt/+z6/0fy/6P7/1X3//37/1z8/9D7/8T//xD7/wcAAIr5/9D//yD5/5T//3v5/6L+/4b6/7H8/7X7/4n6/3r9/3r4/2///2L3/94BAN72/xsEADf4/xYHAEX8/+sKAF8AAP0MAJMCACUMABYEACwLADkFAN8KAI0FAEcLAMwDACsLACwAACQJAAj+/zkJAI35/00HAJrz/2AEABPu/9r//8zr/3r8/xvr/0D5/xDu//P4/8/z//j5/+j9/w///+IIAFUHAHsOADgKALcTALsNACAWAOsOAHsXAOkQAOQVAPEQAGQTACoQAI8PAMUNAPUKAL0LADsDAO8GAGP7/2MBACj4/3X+/1r4/xz8/9b7/zX8/9UAAGz9/zMIAAoCAFkQAHgJAC0WAO0QAKwZAAkWAP8cAA0aAPEfAOIcAE4hAAYfAHgfAHQfAMYaAF8eAMAUAPsbADsOAOsXAEcJAAkSAEQJADoMAG0OAK4HABwWAAIEAGwdADcBAGgjAMf//1MoAAgBACssAIcGABAuALMNAOgvAFcVAMkwAL8cAGguABUiACIoAHclAJAdAKklANYQAE0iALYEAGAcANn7/0EUAN74/z0LALL8/z8EACAFAAAAAF4PAKf+/xYYAFD//0seAP8AAP4iAP0EAAMmAOUJAHwnABQOAMgnAK4SAFMlAHoVAFQhACQXAH0bAMcWADQUAMwTAOUMAPMPAJIGAF0LAAIDABcGALkCAAcBAHkFAKv9/zoKACT8//8PANf7/40VAPb7/7MZAKf8/wobAOj9/9oYAHf//1MUAHECAMQMADQGAIYDALsJAFD7/18MAOL0/5UNAHTw/7MNAGLs/9MLAF/p/1wIAOTn/ycDAKPo/3T8/yzt/3z1/6P1/xTv/58AAG/r/30LAMHq/8oTAKfs/z0XAAnx/zkVAAX3/+QNANT9/zQCADgDAM70/80GAKfn/7oHAPDc/ygFANfU/zv//6bO/0f3/6bL/wLv/wDM/5Pm/3jP/3He/4jU//HX/47b/6XU/3fi/4XT/8Dm/8DU/6zm/zrY/9bi/0jd/2/d/+zi/3jW/1Ho/wzO/2Ht/0vG/+Tx/2PB/9X0/xi//471/6++/9vz/wnB/0zw/93G/2fr/yvP/1rk/x/Y/0fc//ng//nU/3Hp/1jO/6Hv/9LJ/6nx/6TI/zLw//DK/0Lt/6jP//Do/0vV/4Ti/5Pb/9ba/2Hi/6nT/0/o/2vO/5Xs/yXL/3Lv/zXJ/1Hw/4nK/67v/0rP/2Ht/8TV/1jq/xrd/xLo/1vl/9Pm/w3u/9Tm/6P1/1bo/zL6/7Pq/4n8/2/t/0n9//zv///8/7Py/5P7/wH2/6z5/8/5/074//r8/3H4/93+/7T4/03//0L4/xr+/xn4/yX7/5H4/wf2/2r6/4vv/6T8/9fn/6H+/9Df/6UAAFLY/64AALfS/6z+//DP/7n6/1rQ/+/2/1zU/8Tz/xvc/2Xw/0zn/zbu//70/1Tu/woDALzx/0EQAEb2/+obANv8/w8lAMoHAIgrADwVAOovANgjABEyAFsyAHUxAOs/AKstAGdLAPMnAHNSANghACZVAE4cAOZUANYXAOhQAOUUAINJAGkUAKZAAFAWAGU3APQZAE8uAI4eAF0mADwkAEIgAA0rAIccAGgxANcaAKs2AAEbAEg7AMMcAAs+AK8fADc/AK4jAJM/ABUoAKA/AGEsABU/ACQwABY9AFEzAOU5ACs3API1AGE6AB0yAJQ8AGovAANAAE0uADFDABQuAI1GAN0tAP9JAGstAIBMAJktAB9OAFAvAJRNAHkyAFdLANk1AG1IAIc4AIFDALM5ABQ8ABo5ALsyAOE3ALApAGc2APYfAPI0AE0XACY0ABsQALkyAAELABsxAA4IAC4wAMcGANQvAIgIAFIwAHMNABcxAKcTAPkxAHMaAN4yAI4gADAzAK8lACUyAKcnAAsvABknAK8pAHEkAEwiAK4fAM8YAIUZAA0NAGMSAEcAAHYLAC7z/zwFAOfm/wL///Xd/434/0TY/w7z//nV/57u/9rX/5bq/4Hc/9Xn/0fi/zXl/5jo/wLj/5ju/yjh/3D0/2Te/8D6/4/c/7j+//Xb/4b//9Hc/9H+/yzf/7f7/9jh/2H2/xjm/yHx/7zr/wDs/9Xw/37m/470/83h/8j2/7jc/5T3/4nW/+f1/yjR/2Ly/9bL/9rs//TG/xXm/wjE/5Pd/1LC/xrT/9LB/1jI/4zC/xa9/yXC/xey/wTB/7So//u+/4Ki/+m6/62f/1G2/w2g/6Gy//qj/5uw/4qp/4qw/yyw/5Wx/xi3/yGz/4m9/1+1/x3E/2G4/5TJ/4G7/0DN/8/A/4zP/0nI/5fR/3rQ/y3S/9vY/xHT/7zf/6zV/xLk/+XY/wjl/+zd/wHi/7rk/9Hc/3vs/6LX/8L0/6PU/5H7/zDU/+r//7bW/9UBAN/a/woAAB7f/y/6/+bj/47x/+vo/w/o/wzv/wPf/zn1/3vY/0j7/1/V/1kBALHV/1AFAEnY/7kGAMHc//sFACLj/zwDAIjr/3///+z1/yH9/9IAAID9/9YKAPUAAOITAOUGAE8aABkNAC0dAKsSAN8cAP4WAEwaADAaAKUWAFUdAFQTAJghAH8RAD0nAL8SAAUtAF8WAO0xAFYbAKE1ADUgALQ2AHMkABU1AP0nAN8xAMkqAFguAPIsACUsABEuALorAMYuAJcsAIkuAMwtACktAI0uAFkqAI8uAMElAN8sAG8gAJEqANEaAHIpAIoWAGcpAGMUALYqAPcUAKQsAOkXAPMsAHUbABYrAN0fADUnALMjAGghAEInAJYbAN8pAMoWALUrAGoSADUtALUPAEAuAEwOAFAvADgNAE4uAEIOAPQqAH8QAGAlAH8TAHoeAI0XAPMXAFcbALQSAMEeAEQRAIMhAGkQAJMiAOURAEohAJ0SAC8dANgTANUVAMEUADgMALkVAE4CAD8WAA/7//0VAJD3/6EVADr2/ysSAGT2/1IOABb3/8EGACr3/wUAAMH2/zf4/+b1/4/y/3f1/+vu/7b1/0bu/2P1/+/t/wXz/+jt/wbu/xLu/3fm/+Hs/4Pd/0/t//3V/zft/1vR/1nu/37Q/5Pt/x7S/6fr/7LT/3Ln/43U/3Lh/xXU/+Lb/7bS/5PX/9PR/wrW//XS/zHX/3PW/97Z/wTb/4fc/5Lh/2ve/5vn/xbg//rq/+bf/3Pr/23h/xro/2Tj/xTk//bm/3fh/6zq/+zg/3Ht/7/i/0nv/zLl/x7v/8Hl/+Du//vk/0rs/zHl/+bq/5Hm/z/p//Hp/7Po/7Dv//Dn/2L2/yXn/8H8/3/m/9YAAOfl//ABAP/l/8IAAG3m/wH//97o/z79/xrr/2n8/37t/6f8/yzv/3b8/6/w/5/7/xzx/4X5/57w/5T2/zzw/wz0/0nw/zDz/zvx/zz1/y7y/235/4zz/6D+/7H0/98CAKz2/y4FAKv4/8kEAF77/wEDAEf+/1kBAAgAABkAAEwBACz//2QBAPj9/0cAAD/8/xn+/x36/4f7/5T4/5H4/7/3/2T2/9T3/6jz/6P4/ynx/w36/3Tv///7//jt/8H9/9zs/y7//zDs/zsAADns/34BAAvu/10DAMjw//MFAEP0/5QIAPn3/w0LABH6/wUMAHf7/40LAKz7/4kJAA78/00GAAL9/2cCADv///v9/8MBAOv5/9sDAIL2/ywEAILz/5sCAL3x/9sAAHrx/zL//9jx/xX+/zTz/8z8/4j0/2r7/132/x36/xn4/5D4///4/+v2/2n5/3f1/w/5/yj1/1j4/8n1/zf3/8f3/1f2/9H6/zn2/wL+/8j3/woBANP5/6gCAM39/+cDALgCAAkFAK8HADEGALMMAAEIAOsQAGMKAPwUAC8NAN0XAHkQAH0aAMYTAEAcAI0XAPQdAMAbAEUfAFcfAAwgABUiAL0gAF0jAE4hAH8jAAEiAHwiAFohALggAHAgAM0dACIeALkZAHgaAIEVAJAWAOYRAOASAMMOADwQAMQMAPUNAFwMAPgMAAUNAJ8MAEQOAPYMALwPAOoMAMMRAKsMAGoUALAMAOYXAHkMADIcAE4MABogAJEMAGsjAIIOANwmACsSABEpAEQXAPopALYcAEUpAFUiAAEoAAonAO8mADEqAFQlADosAAYkAKYsALYjAHYrAHEkADEpAKQlANMmADInANMlALIoAKolAAwqACcmANIqALYnADcrAG8pAMIqAJgqAOgoADErAIklAE4rAHYhADwrAHEdAOgqAIcZAEYqABYVAAIpAP8RAOEmAOwQAAskALcRALwfAOcTAOMZANgVALoTAMsXANMNALcZAJIIAJYbAB8FAFMdAL0CANwdAFIAAEUcAFb+/1kZACj9/x0WACT9/2ESANn+/3ANAOwAAH0HABgDAH4BADwEAEb8/zYEAG34/0UDAO71/yUBAHT0/xP+/2H0//T6/wn1/9H4/1b2/633/834/wb4/0n7/3z5/9z8/5P7//r8/6f9/1T8/8/+/576/0EAAGX4/+kBAB72/98CABX0/zoCAEfy/1L//wnx/9v6/8jw/8n0/+Lw/xzu/zfw/wbn//zt/3Hg/0/r/3TZ/77o/zvS/3Xl/6rL/xnh/7/F/2fb//XA/67U/x29/8vN/+i7/4fH/2i+/xbD/xPE/w2//77K/wS7/6HR//O2/8TX/620/yvc/wS2//re/wG6//Df/2XB/5Df/0nK/03e/+nS/wvc/17b/2jZ/0Li/wDW/1bn/wnS/zzp/7DN/4Ln/zHJ/3zk/3DF/0bg/3XC/7ra/86///vT/769/xnM/yC8/wjD/zS7/7m6/0a7/2i1/z+9//Cy/z/B//ix/7PF/5yx/2nK/12y/6DO/x60/7/S/ze3/4LX/866/8/c/5C+//Ph/xXC/6Pl/4PF/4nn/57K/6zn/7DR/0/m/6TY/3Xk/+vg/5vi/8Po/5rg/7bv/yfe/wT2/9Hb/9/6/1Ta/xv+/2za/yL//7/b/2X9/83d/yj7/+3f/xz4/8fh/730/1vj/7vu/3Pl/1To//fo/2Pi/57t/z/d/5Hz//Xa/0L6/2Xb/0MAAGje/5EFACHj/3AKAD3p/wIPAAPy/8cTAK38/7AXAKQHAOwaADwSAGEdABQcABYfAHUkAGgfAMArABsfACExAPMeACQzAJ4eAKEyAJ4dAMUvANoaAAMsAMcXABQoACUUADwkADYRAJEgAFgPAKEdAPoNAJobAHQOAB8aAEQQADMZALMSAKIZAL0VAFkZALcZAO0ZAPUdANUaAM4jAA0dAGAqAJ4gAMgvAJ0kADA1AHopAKw5AEwuADE8AO8yACI+AF05AE1AAKZAAPZAAKdHALZAAPFNANk/AIJTAPQ8AE5XAKE6AK5ZAFQ5AOFZAGo4AMZXAKQ4APtTAGY5ACNOALk5AOdHAME6AOhAAAM7ACg5ALM6AFgxAF47AIAqAE47AN4lAM46AMYiAPs5AAgiAOs4AEIjAPM3ACwlAMc2AJ0nAEo1ANwpANQzABUtACIzALUwAOcxABUzAMYvAK8zAN8tAPkzAPUqAI0zABknAKcyABIjALEyADQfAI4yABYcAGEyAN0YAE4yAK8VAHcxAE0TAPQvAEESAM0tAPsRAHAqAEQSAOMlAPkSAKQgALMSAA0aAJwSAKUSAAgSALALAI0RAAQFAPMQAFL///oOAHj7/88MAJj4/00KAIf2/+sGAGT1/+kDABX1/24BAMb1/0z//7r2/3T9//b3/1D8//j4/+T6/6/5/5T5/yD6/6X3/4j5/9f0/yb4/4Dx/732/2/t/9n0/w3p/4vy/wDl/+Tv/8Th/ynt/xff/5Pq/4nc/0Do/3ba/yzm/7PY/7fk/7jW/4Hj/9zU/wHi//rS/6Tg/3zR/xDf//DQ/5fd/8jR/zvc/57T/+ja/3XW/w3Z/0fa/wrX/z/d/2LV/1re/0/U/7ne/97T/3Le/1HU/4vd/wLV/8fc/yTW/w7b/w7X/4DY/4fY/zPW/1ba/yjU/3Hb/wrT/0Tc/zbT/5Xc/yLT/8Hb/4HS/zPa/0/S/xnY/9/R/1zV/0HS/zLS/23T/0/O/1LU/+TK/4PV/4nI/yTW/yjH/0HV/8XG/ynT/z/H/yvQ/6LH/xjN/7nI/83K/zPK/17J/8zL/yDI/7zN/zHG/8rP/+HE/7zR/6TF/wbT/1HI/xHU/1rM/8zU/7LR/7rV/3jX/4XX/zDd/yfa/0Li//Dc/37m/zvg/4rq/wDk/8Pt/xHo/4bv/xHt/yTw/+Xx/x/w/571/9Lv/0n4/4Pw/4X5/yTy/wv6/4r0/5n5/0P4/1r4/9f7/xz3/27//671/zMDAPn0/2kGAN31/zwJAGf4/ycMAJv8/5YPALoBANkRAA8HAE0UABMMACgZACkQAKUcAHkTAMAeAEIWALgdAIoYACYaALsaAMcWAO4cAJwTAKsfAJUSAPwiAEkVAGEmABgZAAspAN8cAI0qAHsiAOkqAHQoAFIrAA4tAFAsAGUwACwuAD8yAD4wANkzAKMxACA1APAyAA42AP4zABs3AP00AFE4APU1ALI4AAo2AG43AHU1ANY1AAQ1AAg0APA0ADcyABU1AAYyAIA0ADEzAKEyANY0ALQwALs2APwvAFQ4AHMwAOM5AO8xACM7AJMzAM86ACg1AFo5AM02AJ02AGY4AL4yAI05AGQvAGI5ABQtAJQ2AA0rACMyAI0oAO8sAAQlAEInAEEhAIMiAIseABAeALwcAFAZAFYbACQUAA8aAN4OAIEYAM0LANQWAA8LAIsUAHILAEUSAFYLAAMQAKUKAEgOADcKAJENAFUKAM4NALoKAOcOAH4KAGoQAFkJAGARALAHAJMRAGMGAP4QAK8FAKgPACsGAOANAKcHAPYLALwJAMMJAM0MABQIAI0OAJMGABUPAN8FAIIOAIIGAJ4MAOsFABsKAN8EAKoGADYDANcCACQBAC3+/xH//9f4/4P8/z7z/4r5/xTu/yL2/xfq/8fy/xjn/8Dv/4bk/y/t/6fh//Dq/5re/7Ho//zb/xDm/0nZ/7zj//HW/+Th/7rU/3Pg/4vS/4nf/7PR//rd/8nS/w3d/w7V/2zc/6TX/8/b/zTZ/2Hb/3fa/yHa/43b/6XY/xbc/yvY/1Dc/7bY/0Lb/0fZ/8fZ/3za/w3Z/3/b/53Y/xLc/9fY/zPc/2DY/yvb/zbX/3bZ/xzW/2LX/+fT/53V/xzS/8DT//jR/67R/zfS//PP/8rS/2HP/wvT/w3Q/5/S/33R/zHS/4PT/znR/xzV/9TQ/1rW/yHR/9XW/+vR/07X/yTU/7HY/zzX/wbb/wLa//jd///b/8rg/yfd/6/i/+Te/9zj///g/1vk/yLj/wrk/+bl/1zj//ro/wbj/5rs/7jj/yDx/1/m/3f0/17q/0/2/4zu/xH3/zry/1T2/6X0//b0/yD2//rz/wP2/wr0/z33/+n0/2j5/6b2/wH7/zX6/2/9//z9/9X+/7gBAEX+/zwFAOj9/7cGAKr9/xMIACr+/9gIAM///4EJAH8BAOIKAKcCACoLAI4EAF4KAFoHAAoJAFQJAAYHAC4KAAoFACIKAKoDAOgIAL4DAFEHALYEAIIGAEwGANEFAD0JAHcFALEKAIAFAFUKAF4EAEgJAEoCAEMGAHD//8sCAMb7/zMAAIv4/7f8/xL2/5z5/2T0/zn4/5Xz/zv3/w/z/5X1/2Tz/331/zP0/+H0/230/6rz/570/+nz/yL1/5f0/4T1/8z1/4r2/5v4/y/4/9f7/4P6/33+/0z9/5oBAGv//9EEAA8BABkHABACAGoIAOgBALAIAD0BAK0IAGcAAEsIABb//80HAGX+/6AHAOn+/zkHAEwAADYHAMACAIIHAH4FAOMHAOwIAEsHAKgMAEYHALcPALQHAEwRAJIGAHsRAD8FAE4QAHIEAEwOAOMDAMoLAD0CAFwJACQBAN4GAB0BAFUEAOgAAIkCAG0BADkAABMCAFn9/zwCAPL6/2gCAGH5/80CAJr4/7ECAGX4/6MCAKH4/5ECAPb4/xQDANr5/5QEAL37/wYGAJD9/6EHAI/+/1UJAMT+/2UKALr+/4cKALz//7sKAGECAJIKAHcGAE8KAH0LAKoKANoQAOoKAFcVAJILAEwZAGYNANAcAEsQAFcgAKMUAPQjAKgZAC8oAEgfAMUsALQkACcxADgpAJ41ADUsAJU4AJotAHo5AD0tAA04AJMrAD80AMgpAPguAHMoAE4pANwnACIkAFIoAG0gACApAO8dAC8pAOcbABQpAPEaACIpAF4aAKooAKIZAFknAAcaAI4lAEMcALAjAOUfABEiADAjANAgAGclALMgAFQmAIIhAGYlALYiAAUkAGgkALEiAD0mAMEgAE8nAG4fAFsnAC4gAAwnAKQiAMwlAKsmACAjAIUsAFwgAGcyAAweANw1AE4cAA42AG8bAIAzAKAcAEYuAKsfADkoAIQjALYjABwoAEIhAN8rAGsgAPQtAEcgAN0tADMgAAUrAAUfAM8lAHQcAF4fADcYANgYABkTALYSAFoOAAkNABsKANoHAGUGAKYDAN0CAAYBAPD+/3T//1D7/+/9/1P4/6L7/2X1/8T3/7jy/8Dy//Dw/xzt/wnw/znn/5bv/8Lh/wbv/2fc/2rt/2HX/8jq/wjT/wTo/z/Q/6rl/xTQ/0vj/5HS/7vg/+HW/zHe/7bb/0Lc/9nf/2jb//ni/+ja/x7l/+3Z//fl/4PY/+rl/yrX/5Dl/4HW/9zk/yrW/zDj/2rV/6Dg/zbT/3Hd/3LQ//TZ/w/O/+TV/xnM/23Q/zrK/zrK/27I/+rE//TG/6/A/2nF/xu9//vD/1W5/6zC/zm1/7jB/56w/5bB/6ms/0TC/8eq/zvD/xKr/5zD/xKt/xHD/+mv/1DB/yKz/3++//S2/+i7/6m7/5S6/5/A/1C7//XE/xG+/1nJ/6rC/wTP/9zI/6nW/1zP/4zf/83V/xHo/0fc/23u/xji/9Dy/x/n/zv1/+7q/yn1//7t/zr1/5Xw/xv2/4Lz/wb4//72/zP7/0v7/xP//5EAAPcCAPsFAD0EAD0LANwBABwQACn+/+UTAAH9/4gWANf+/x8YAOMDAHQYAKoLAMoYAPoQAOgZAFkTAKEaAAwVANYaANIWAKoZAHEZAPIXAMgcAA8XAKEgAGEWAEIlAGAXAC4rAG8aABMxAHUeAN01AIsiAPI4AFUmAJs5AI4oAP43ALsoALw1APknADc0ADMnAHMzALApAI40AKswALo3AIE5AA88AH5CAGA/AH5JAOU/ALdMAPk9AF5NAD86AHJMAL83AJVKAL04AANJAMU9AIFIAJtEADVIADZJAA9IAOFKAGVHAN9IAFBFAIlEAD5CAOo/AIo+AC88AI06AG47AFY2AH89AFwzABZBADEyAOdDAA8yAGVEACwyAJNBABUxAK07ACIuAM80AB8pALstALciAGwnAOscAM0iADUYAL4eAMwUABAaAHESAMkUADMQAB8PALUNAGoJANAKANMDAJkHAKn+/0sEAJv7/30AAH36/138/2b6/wz5/775/zP2/0D3/1Pz/7Ly/wHx/63s/1bu/1Lm/zrr/2/g//Dn/0fb/5bk/+nW/0vh/x7T/zXe/yXQ/7bb/7nN/3TZ//fL/+TX/w/L/1fV/2DK/3HR/0zJ/4bL/xTI//TD/5LG/7i7/4DD/+qz/4y+/x6t/6a3/12n/3Gv/9+i//Gm/++f/3yf/3ye//KZ/2Ge/zqW/4Kf/zuU/++g/5GT/8mh/6yU/2Gh/8KX/7if/6mb/56c/zKf/xqY/6mh/yaS/6Ki/56M/5qh/3qI/4ye/5GG/zCa/3aH/82V/2OL/3iS/weS/4yR/8qb/2iT/+ym/1eY/7yx/0+g/2O7/xuq/5XC/8i0/wDH/96+/9fJ/5HH/+bK/wPO/7LK/3XS///K/8rV//zM/2HY/1/Q/93a/7nV/0be/6nc//jj/2Ll/+Dr/0Tv/yz1/9H2/zT///36/zAJAJv+/7sRANUBAD0XAE0DAOsZAMMEAK4aAP8GAM8ZAAkMADcXACYUAMEUADoeAI8TAKkqAEEVAF05ANcaAOJGAFAlAFtRANUzAERYAEJEAHVYAAlVAKdTAKpjADlLABFtAMg/AAJvAEk0ADBqAH8qAAhgAN4kAJtSAP0jAEhFAK8pACE7ALczAF04ABlAAEc+AIhNAENMAOVZANleAA9kAJlyAKJqAKWDALhtAOyOABxtAOiRAJdqAIWKAMNmAKd6ACpiAM5kADZgALVLANFfAHIyAOhdAGMdAKJbAGEQALNZAGYLAGtXACgOAP5VAC8YANBUAKknAOJSAIg5AGZRAEJKAAZPAElXAI5LAJFfAOpHAPxgANVBAFFbAEc3ADNQAGEqAA1BACAcAGIwAIkNABUhAAT//7kUAHzx/+ULAC/n/zUGAG7f/yMCACjb/y7//17c/x/8/1Th//r2/4zl/6bu/0Xp/9zk/x7t//Pa/97u/3zR/wju/43J/2jr/2bE/9vp/6PC/wfo/2rB/0bm/7i//4nm/zy//2vp/2O///rs/6W8/7zv/z64/yDv/5W3/2Ht//u6/8zr/yHA/0no/+vG/83h/+3R/zfZ//7f/4jQ/3bu/27K/zT8/x/H/xEJAATH/+oSALHK/2UWAKbQ/78UAHXZ/8gRALvl/0gNAOry/3oFAHb+/7z7/98FAAvy/xoHABbo/6IBABHe/6/3/+DV/3ns/z7O/8Dh/7bF/0DY/3G9/yXR/+62/1TO/36z//XR/0Oz/9nb/7u2/8fq/6y+/zn+/8jM/0URAK3g/yEhAOn4//ArABYUADowAGcuAEUrANRDAEkeAC5SAFUOAKNYAJT7/75UAPrq/0ZJANLf/zA4AMbe/wQkAMXm/+EQAC32/4cCAE0MAET8/2cpAAcAAAZIAPsMAKJjAIsgAMl3ANA4APyCALFRAEaEAE5nAER6AGB0AKpmAEt2AOVLAM5rAGkyALhWAPEbAHE4ABwJALATAC37/4Hu/wb3/17R/2r8/xbB/4wHAPu6/84VAM3C/8siABLa/8ArAKD6/xYyAGAeAFI1AO9FACgwAGRrACIlAM6FAL8ZAA6RAOMKAHeLAG/5/5R3AKXq/3BYAJzi/wAxAOvd/0IFAKPd/wTc/2/f/5i7/6Dk/yml/xHu/3+a/7j6/5ac/x8GANep/44PANK8/94UACPT/ycXANTp/6QWAG38/4EQAD8HAKcEADcLACL0/70HADnj/3n8/5XS/4/s/zzC/3PZ/5mz/wjE/wGs/4Cu/xyq/4qa//6o/ziJ/46q/xOD/+6t/2+L//iz/1Od/wS7/0Sy/1K//1rJ/z+//33h/4C+/4/0/626/+j9/0O3/1gBAMKy/yX//0yt/370/yOq/2fj/zao/4zQ/zSp/0y8/6eu/9On/7q4/yuX/8bF/8aH/2jR/2B8/9LX/zt4/73b/99//xzj/8CS/27o/yqu/1vp/xTK/37k/8vj/4Xf//z6/03c/74NAAfc/9IZADnf/+UeAJTj/1gfAL/n/6obAFzs/3cWAOP2/2ISAD0EAM8QABsRAE4QAFMZACoRANAfALQSAMkjAJwVAMkkAFYeAM0kAEQsAFIlAJ86AIMkALVFAMwjAIRMADgmAOZQAHcrACBTALkzAMdPAH49ACRFAOhEAJ82ALpJADUoAGpOADwdABpQALIVAINPANIRAHJPAGkSAD1NALYWABRHANodAL1AAHslAFU7AKouAMs1ABE6AHUyAIdGAG0vAMFNAOQsAM9RABkoAJ9UANwjAPlSAEAhAG5MALMgAAdFAOsgAFE/AI8eAOo2AEEbAMkrAIYZAAIgAJ4aAEsWAHIbAHIQAFUdALsNADIeAEILANsaAMkHAAgWANEDAPISAFYBACQRAJ7//5MMAD/9/4EGAFf4/6f9/1Hx/w72/1Pp/03x/6/i/53t/xHe/8ns/2za/2Hs/8/W/5fr/2nU/yfp/yHT/2ro/zjV/9bn/6bb/57m/8fj/4/j/73q/wff/2nw//3Z/5nz/03U/7Xz/4DQ/1Lz/7PN/2/z/wTL/yXx/1/I//rq/4zH/z7j/yzJ/9Hc//DM/1rX/xfR/znR/zXU/0nM/wTY/1rK/5fb/5zI/8Xe/4bG/xDh/+/F/zvj/xPI/yvl/+XL/4Pl/+3P/4rl/7TT//Xl/4HX/5nm/9Ta/0Xm//7d/3nn//vh/xfq/4nm/6jr/47r/3Ds/+Dv/0Ts/wv0/87s//D4//Xu/63+/03x/+8EABby/94LADv0/5wRAC33/w8VAGf6/6cXAHP+/6YaAJ0CAJcdAKQGAOceAOcJAPUdADUNACkbAFkQAA8XAA0UAC4SAJEXAO8NABwbAMEJAModAPgEAFMfAEoAAD0hAAD9/6siAEn8/zgkAMP9/4ElABQAAHglAAwDANIjABoHAKAiABcMAJshALQRAEEgAEsXAFgfALEcAFsdAHEhAEUaACklANsWAGsnAGgUAJ8oANkSAK8pAKURAJoqAM8QAH0qADEQAGopANYPAHkoAPAPAJsnAC8QAHYmAHQQAKskAJYRACUiACwSAJkeANEQADsaAJsPAOsVAEQPAAwSAIUOALgNADINAEQIAHYMAIkCAA4LAHX8/5IJABb2/78IAMfw/4EIAPvs/0YIAMvq/8cHAFTp/wAGAIXo/9QCAFXp/2MAAMLr/5r9/8fu/075/4Tx/6T0/wP0/1Xw//n1/x/s/173/xLo/yT4/xfl/574/0Li/xX5/67g/z74/77e/xX2/4rd/27z/+Td/9Lw/x/d/1Pu/23e/y7s/+7f/yjq/6ze/zvo/1Hg/37m/8ng/wrl/yjg/zXk/9Xj/9rj/+Hk/37j/0nk//7i/2Pl/1Xi/xbk/zri/xzi/8Li/7bh/93j/2/i/9jk/0fk/+7l/9Lm/13n/+fn/+To/8Xo/3Tq//Xq/4fs/2rt/0bv/1vu//Px/3jv/zX0//rw/2L2/5fy/9j4/8n0/3D7/9H2/3n9/6b5/xn//wf9/0EAAAb//9MAAM4AAJkAAAwDAEMAAP8FAMz//4YIAPL//xgJALYAANwIAFYBANgIAPsBANYJAKEDAMULAO8FAAgNAIUIAOwNAJULAEYPAOIOAAAQABESAPkQALEUABERAPEWAFkRAJwZAFgSAAMcAC8SAG0dAFATALEeAD4WAO0eABcYAFoeAMEaAFseALMcAI4dAKccAOAcAOAeAFodAMEhAMwcAKUjABQdAJUmAH8dAMgoAPIbAK4pADUbAI0qAJkaAF8qAHUZALApABsYABIqALcWAPkoAAEWAOkmAA0WAJAmAPwWAN4lAOUWAIAkAFUWAG8jAHwXANQgACsZAAceAIgaACQcAMsbALMYAIYdAJYUAGwfAHgSAMkfAGIQAAMfACwOAE4fAJwNALYfAIYMAGsfAIQLAJMdAGIMAGYaAG4NAO0XAPINAIwVAMoOABoSAL0PAHwOAJcQAMsLAIERAD0JAFISAFoFAPISAMkBAG8TAKT//ycTAKH8/9wRAD35/zAQAKb2/6YOAPLy/yINAGnw/7MKAPnv/7gHALju/4wEAObt/7kAABbu/+P8//ns/3v5/yvr/8H1//Dq/9fx/9bq/3ju/23q//Hq/xHs/xTn//Dt/5vj/87u/2Lg/5Tw/4Ld/4Dx//3a/83x/6DY/0jx/0XW/zjv/2/U/6bt/2nT/4Hs/+bS/3Lr/9nS/6Hq/8LT//fo/93U/yHn/zvW/4Dl/ynY/7Lj/z7a/0Pi/7vc/3nh/8jf/z7h/3Hi/zjh/1jl/0rg/2Po/6Pe/ybr/4Xd/wvu/ybd/7Dw/5/c/3fy/wnd/xr0/9jd/5f1/0ne/5X2/2Pf/5P3/5zg/yf4/xfi/2D4/7bk/zH4//Lm/2n3/63o/2H2/+fq/xf1/0/t/6zz/xrw/yjy/x7z/33w/0f1/3Tu/8j2/1ns/3/4/0/q/1z6/zDo/xT8/23m/6b9/yHl/zn+/w7k/53+/4bj/7D//2vj/04AAHTj/zAAAD/k//3//+fl/y///+3n/9v+/z/q/+v+/9fs/wr+/4Pv/+L9/2/y/37+/8L1/yv+/zz5/7f9/x39/4z9/0sBAGH9/3IFAHb9/2IJAG79/w8NAJT9/58QADv+/wEUABP//+MWABIAAB0ZACwBAO0aAFQCADIcAGUEAPIcAM0GAHsdAH0IALEdAEAKAK4dANoMAFQdAK8PAIQcAOMRACEbAEQTAN4YACYUADwWALsUAP4SAD8VAIAPAIMVANULAAkVAPcHAJ0UAH8EAO8UAFYBAOwUAPX+/xQUAHD9//ISAJb8/6YRAAv8/8YQAMz7/zoQAKz7/xoPAJP7/6kNAJD7/5AMAGr7/8kLAEb7/6wKAFn7/7EJANf7/9AIAJz8/7MHAOn9/3MGAPz//xsFALACALwDALwFALMCAKQIACYCACkLADsBACcNAF4AALoOALn//9kPAB///34QABD//8kQAF///7wQAAf//yoQAJD+/0YPAOn9/z8OAKL8/ykNAOP7//8LAGL7/6AKAMD6//EIAMn6/6AGAHX6/58DAIT5/yYAAOj4/4T8/4D4/8X4/6b4/0L1/+74/yXy/2v5//nu/wP6/+Hr//v6/4vp/xr8/1Tn/+D8/4zl/4T9/7Tk/wz+/5nj/6r9/+ri/xX9/xzj/5X8/1Pj/wX8/3Hk/6T7/3Lm/yf7/4fo/xr6/4nr/w75/9Pu/1v4//rx/+j3/9D1/4r4/475/+z5//78/+P7/6AAAHD9//QDAJf+/wsHABj//yQKAJb//+MMABQAAGMPAIkAAMYRAOsAAKYTADMBABkVANoBAD8WAKACAMUWAPIDANMWAKsFAK8WAGQHABUWABYIAAoVAEUHAJATABwGAHMRACIFABUPAPwEAIIMADoFAMIJAIwFAP4GAF8FAB4EABUFAFQBANQEALD+/0YEAF/8/8oDAGj6//gCAM74/78BAJf3/1QAAKn2/zT//7b1/7n+/730//L+/+Pz/6z//+vy/zwAAAny/w4AAEfx/w///3Dw/6z9/wLw/538/x/w/x38/5Tw/1T8/6Dx/8n8/yvz/yX9//P0/xr9/0z3//r8/wf6/638/6P8/z/8/1L//5D7/+EBAJH6/woEAHz5/yEGAIX4/y8IAAn4/ycKAE34/00MAPH4/2EOAH75//cPANz5/woRAFT6/3gRAPj6/0YRABf8/28QAFz9//MOAMr+//gMAND//6gKAFcAAAsIANIAAFgFAMsBAOgCAIUDAOgAAOMFAIX//xsIANP+/60JAMH+/zUKAPT+/+cJAP3+/6oJAND+//sJAJX+/2MLAIP+/8QNALv+/zoQAFr///4RAEIAALwSAHcBAMUSANICAHcSAB0EAPsRAI8FAGURAAUHAMsQAL0IADsQAFwKAIAPAMELAGoOAK0MAAMNAMgNAIcLAHcPAB8KAKsRAMwIABsUAGwHAP0VABEGAP4WAL4EACAXALwDAMUWAOACADoWAMIBAH4VANMAADAUAEcAAJMSAJj//8oQAFn//+EOAJH//9wMAIz//8UKAN7//5kIAC8AACQGAAEAAFMDAOz//0wAADgAAE/9//L//0j6/87//5L3/9n//z71/zv//2Lz/9P+/+zx/7T+/+Xw//D9/3rw/3L9/1/w/zL9/37w/4r8/9rw/wX8/2Px/377/+fx/4T6/+bx/7b5//7x/734/1Py/w73/9fx/4f1/3Lx/y30/zbx/3Py/wTx/wnx/ybx/8zv/yLx/yzu/xzx/8Hs/1Xx/4Pr/6zx/2Tq/9rx/6Tp/zny/zTp/87y//no/ynz/07p/7zz/6Xp/zX0/+Xp/+P0/4jq/+b1/2Hr/+32/zvs/+b3/3jt/8X4//vu/xX5/4rw/wX5/6jy/9D4/5f0//j4/3/2//T4/+r4/7X4/9L6/774/438/1v4/33+/9X3/xUAAI33/34BADv3/wQDABf3/xYEAMH3/+oEAG74/4gFAOn4/1sFALn5/wcFAH/6/84EAGb7//kDAOz8/ykDAG7+/04CAP///0EBACMBAK8AAIcBAAkAAOgBAOv+//oCAI3+/4oDALT+/40DAPr+/+sDAKn//9wDACUAAIgDAG0AAMIDAPYAABAEAJABAD8EAFMCAJYEAJIDANsEAKYEABYGAEQFAE8HAKEFAO4HAJ0FAIkIAKQFAGsJAD0GAPIJADsHAN8KAGUIAKkLAJoJAA4MAFEKAPMLAK4KAG0LAOYKAP0KAB0LALkKAIYLAKAKAMYLAMAJAL4LABIJAJILACsIAAQLAB0HAPsJAPsFANEIAA4FAKEHAOcDAIMGAMwCALQFAPgBACIFAGEBAKkEAD0BAF4EAC4BACEEAEgBALMDAFEBAFMDAJ0BAEMDAD0CALgDAAUDAI0EAHwDAG0FAL4DABwGAP4DAKwGAOsDAAYHABEEAGAHAHsEAP8HAPgEANsIAEIFAIQJAHYFAPYJALsFAF0KAEYGALMKAAkHAO0KAMIHACILADoIAEYLAHMIAAwLAMAIAG0KACUJAPAJAK8JAHEJAC8KAMoIADUKAOMHAK0JAKAGAAEJACoFAIkIAMcDAAwIAKkCAEUHALQBABkGALYAAKcEAJD///kCAIT+/2IBAKP9/x4AAC/9//L+/xP9/7D9/zP9/2D8/1f9/x37/2f9/zb6/7f9/+z5/2b+/yT6/0v//2j6/0YAAJz6/2sBAP/6/4kCAHT7/4ADAPv7/48EAPr8/7cFABv+/5kGAM7+/zAHAFP//5gHAA8AANQHAAEBAAYIAO8BABcIAMECAPcHAGgDAHgHANsDAKAGACwEAMUFAKEEACIFAE4FAIAEAPsFAIYDAFcGAGoCAIUGABcBAMEGAJn///sGAEP+/w0HAEX9/xAHAEP8/9YGAPb6/0EGAHv5/1cFAAz4/z0EAN72/zYDAA32/wcCAJ71/44AADv1//P+/8D0/3v9/1z0/wX8/zL0/3j6/1n0/+j4//P0/2P3/6L1/wb2/xH2/9f0/2r2/7fz/9f2/9Hy/3H3/23y/1D4/03y/2T5/y7y/036/3Xy/+r6/07z/2b7/2L0/9v7/4z1/4v8/832/1H9/xP4/8L9/3X5/839//H6/5P9/3j8/1j9/wj+/1j9/5D//4r9//4AAKb9/yUCAGr9/wQDAOj8/9wDAJX8/+sEAI/8/90FALn8/5EGAAL9/z0HAD39//sHACf9/84IANb8/5AJAOL8/0QKAH79/7oKAGD+/8cKAAT//3MKAE3//+kJAFH//2QJAFn//ygJANb///MIAMUAAHAIALUBAKwHAHkCANkGAAoDAB4GAFcDAHEFAMUDAMQEAIkEAA4EAF8FADgDAPMFAEsCACMGAGkBAPoFALEAAKAFACoAADQFAM7//6IEAHH//wgEAOz+/0kDAGv+/1ACADX+/zEBAC/+/xsAACz+/3P//xf+/zb//wz+/xP//zb+/6b+/3v+/6b9/8f+/4b8/zH//xX8/5j//zr8/9v//478/y0AAAH9/78AAHf9/44BAPD9/2cCAFL+/yUDAK7+/9wDAKz//8gEAEEBAOgFALMCAB4HAL8DAEoIAP0EAFgJAIkGAEYKAO8HAAsLAIwJANgLAFgLAL8MAO0MAIYNAA4OAO0NAIAOAAQOAIIOAN8NAKwOAJYNAAsPADUNAEQPAJkMABIPALYLAKMOAJkKABMOAEoJADYNAP8HADIMAL4GAAMLAHYFALcJAC4EAEEIAAsDAFgGANEBADoEAJ4AAIQCAFj//zkBANr9//H//4H8/3T+/xv7//b8///5/4T7/xr5/3X6/z/4/5X5/1T3/674/zn2//D3/y/1/xj3/0b0/0L2/2zz/231/6Ly/8/0/9bx/430/x7x/1/0/3nw/wT0/8bv/4Tz/z/v/yLz/9/u/8Ty/3ju/1ny/wnu/8fx/3zt/znx/x/t/+Xw/9vs/4Xw/6Ps/z3w/4Ls/wPw/3Xs/67v/13s/2Tv/2/s//Lu/4vs/3Hu/4bs/w3u/3fs/6Pt/3Ds/zvt/4Hs//7s/3ns///s/2Hs/yLt/0Ls/0Tt/xPs/4nt/9vr/97t/7Dr/zju/6Pr/6Tu/6/r/y/v/9vr/8fv/zPs/3fw/6Ps/0Hx/yTt/xXy/6zt/wbz/zDu///z/9Lu//n0/4Pv/9f1/03w/6f2/yzx/2r3/zLy/xT4/0nz/9b4/3L0/8v5/6z1/+/6//r2/zL8/1r4/2X9/775/4D+/wr7/33//z38/1AAAFj9/wQBAHP+/8ABAJL//4gCAKYAAF8DALgBAFQEAOICAGcFABUEAGwGADcFAEIHAE0GANgHAF0HAC8IAFIIAGUIADkJAIkIAAEKALcIAIwKAPEIAOAKACUJAP0KAEEJANoKAEEJALcKACAJALAKAO0IAK0KAJUIAIkKAD4IAFkKAAEIAAEKAMQHAHUJAIsHADQJAF4HAA0JAAAHALMIAK8GAGgIAHYGAOcHADoGAF0HAC8GADMHAEQGAPcGAC8GAMEGAAkGANoGAOgFALgGALgFAIMGAHsFAFMGADsFABQGAPwEADYGAMAEAHYGAIoEAGkGAF8EAFcGAEYEANwFACcEAPsEANgDADQEAGMDAEwDAM0CAG0CABICANcBAGIBAGcBAM4AADgBAFkAACoBACAAAOsAAAoAAMcAAPP///sAAMj//z8BAJL//5UBAHD//+MBAGD//wICAGP//ycCAHH//44CAKL//08DABUAAE0EAKcAABYFAGEBAJkFAE4CAO4FADYDADIGAAgEAKQGAMgEADAHAGIFAMoHAPEFAG0IAI8GAOcIACQHADYJAKEHAIQJAPwHANQJACYIAEsKADwIAMYKAEoIAN4KAEMIAOkKAEQIAN4KAFUIAJcKAFEIAEkKACwIAOUJANwHAGwJAF8HAAMJAOsGAHAIAIoGAI0HACMGAHoGAKIFAFAFABQFAAEEAHcEAMQCANUDANQBADkDABYBAK4CAIMAAEsCAAwAAPABAIT//7IBAP3+/5kBAID+/5IBAD3+/7IBAEf+/9wBAJb+/wICAB3//ygCALv//0kCAG8AAF0CAB8BAH0CAMoBAHECAHICAHYCADIDAGsCAMcDAF4CABUEAG8CABAEAFICANADAIICAJgDAIsCAIEDAHACAJYDAJsCAMEDAKICANoDAJcCAL0DAJsCAGYDAMoCAAgDAK4CANICAKgCANQCAI4CABoDAEwCAGYDAB4CAHcDAIIBAC0DAP4AAJYCADEAAMgBAIv//7kAAAj//3r//1b+/wX+/y/+/2f8/9/9/8f6/4v9/2H5/5b9/0T4/1b9/2L3/0j9/632/yD9/wv2/wj9/2L1/9L8/830/238/2f0/zX8/zf0/6/7/zL0/z37/3X0/w/7/+L0/+76/0z1/+L6/8f1//L6/2f2/wT7/z/3/wP7/034/wX7/2D5/yT7/1T6/xX7/xX7/xT7/5f7/xT7/+j7/+76/wr8/936//v7/4b6/9n7/136/677/yj6/2b7/9v5/yb7/8f5//L6/5n5/7f6/2P5/3n6/0T5/0X6/zT5/xn6/xP5//X5/8v4/9T5/8f4/7T5/4j4/3/5/zT4/xD5/+33/1v4/5f3/3T3/3j3/332/1n3/471/4T3/730/+L3/wf0/1D4/1Dz/+X4/6ry/335/yry/wn6/9bx/376/8Dx/+36/+bx/0z7/0Ly/537/+ry//P7/7bz/xr8/6b0/2T8/871/6j8/zD3/+j8/9j4/zz9/7r6/3r9/6/8/9f9/6T+/wr+/3kAADb+/xECAHz+/1sDAK3+/1gEAMz+/wUFANr+/00FANb+/0IFAOb+/wYFAAH//60EABD//1wEAEz//zIEAJ7//0UEAAcAAJQEAH8AAAcFAAABAKwFAIQBAGYGABMCACQHAK4CANcHAEIDAFsIAKgDAL4IAPADAPYIAAYEAO0IAAsEAMAIAA0EAH0IAPADAB8IAMsDAKQHAIoDAAsHACMDAE8GAKcCAGQFAAUCADwEAEABANoCAFYAAEQBAE7//4X//2H+/7z9/3b9//r7/3/8/1/6/777/yH5/yX7/1D4/876/+n3/8f6//X3//76/274/2z7/1L5/wr8/4T6/7H8//f7/1L9/4P9//79/xj//3T+/68AAMT+//8BAAT//wQDACL//8kDADz//0cEAD///5cEAEH//9gEAFH//xIFAFb//1IFAHz//50FAMv//wUGADwAAI8GAL4AACYHAHIBANEHABACAHMIAJECAAYJABkDAIwJAFoDACcKAHIDANgKAIQDAJkLAGIDAGIMABgDACoNAOACAMgNANUCABsOAPECABQOADMDAIcNANADAI0MALsEACcLANcFAGAJADcHAFUHAMoIAEIFAGcKAEADAAIMAKoBAHwNALwAAK8OAJgAAHMPADQBAJ4PAGICAEgPABgEAGMOACkGAAANAFEIAFALADMKAGIJALgLAIgHAKIMAOgFAOEMAKcEAEsMAAMEABoLAPYDAGgJAI0EAHkHAMMFAKgFAGcHAEYEAFAJAGsDACMLAFkDAK8MADwEAMANAJwFACMOAHAHANUNAFYJALwMAEwLAPkK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AAAEAAUBAEMEAC8BAHEEAGgBAJcEAKMBALsEAMcBANkEAPgBAPYEAB8CAA8FAE8CADAFAJcCAEUFAPUCADkFAF0DABgFAK8DAAgFAPgDAOYEACQEAL0EAJMEAKAEAC8FAHgEALsFADYEACEGABIEAGgGABwEAKQGADoEANEGAEIEAAEHADgEAEIHAD0EAGgHAE8EAG0HAFUEAEwHAIEEAA8HANcEAOMGADAFANMGAGEFAMkGAJ8FAKoGAAMGAFwGAG8GAAMGAOQGAMEFAHUHAKIFAOEHAKUFABMIAJgFACcIAIIFAC0IAG0FABgIAF4FAPQHAEEFALAHACgFAFMHAB0FANEGAC0FAC4GADoFAKEFADQFADEFAB0FALsEAAgFAEYEANUEALwDAMAEAEQDALYEANICALgEAHECALUEAFECAI0EAFYCAF4EAFsCABsEAGYCANMDAIkCAJsDAIQCAGYDAGECACQDAEgCAMkCACICAHgCANQBACACAFUBANABANUAAJgBAFYAAFoBAL3//xIBADz//8UAANb+/18AAHr+/wUAACj+/6r///39/1X//9j9/yP//8n9//n+/9f9/7v+/xP+/5/+/2z+/6H+/67+/63+//3+/9H+/47//wn//wgAAD///3kAAGj//+oAAJ///ykBAOT//z0BACkAAFkBAH0AAFUBANIAABkBAC8BALwAAHUBAD4AAJUBAK7//60BAAL//8wBAEL+/7cBAJ/9/5ABADj9/2QBAML8/yABAET8/8UAABv8/1kAACL8//T//xn8/6f//3r8/1X//xr9/xz//639/+3+/0H+/5j+//X+/1/+/6v//yf+/ygAAOL9/3gAALP9//IAAH/9/zMBAFH9/w4BAAT9/9gAALX8/34AAIT8/7T//1/8/8z+/0j8/979/y38/+f8//f7//v7/777/+j6/2/7/9X5/xz7/zT5/9D6/3X4/4n6/5P3/y/6/xf3/wL6/wz3/9z5/9b2/6r5/6r2/7P5/+z2/8r5/zn3/wD6/5b3/zD6/xD4/336/6f4/8z6/z75//v6/6n5/yD7//j5/zD7/236/x37/6X6/0T7/836/xr7//P6/936//z6/776/xf7/0v6/w77/yf6/9X6/zr6/yr7/4P5/5H7/x75/1v7/3z5/7L7//34/5b8/z74/5v8/6f4/5j8/8X4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ACAEAGoCADEEAA0CAHcEALoBAKwEADICAJwEAJADANcEAPgEAGoFAKgFAN4FAMIFANQFACAGAMAFALEGACAGAL8GAJAGAAYGAFUGACsFAIAFAM4EAKAEAJoEAEsEANsDACoEAAMDAGcDAIECAA4CACACACYBAIABACIBANoAAHMBAHIAAK4BAC0AAPYBABYAALYCAIYAALgDAD4BAI4EAAcCAPIEADIDAF4FAKkEAEoGAOIFAHsHANAGAHUIALsHAPAIAKgIAGsJAA8JAOcJAPsIAAEKAL8IADwJALIIADAIAMgIAEMHANQIAFYGAKUIAD0FAFcIAAAEAOAHAAcDAFoHADgCALwGAJ8BANwFAEgBANwEACYBAPMDAA8BAF0DACcBAAoDAIsBAMcCAP0BAKUCAGYCAMICAPECAOACAK8DAL4CAFcEAGYCANYEAMkBAB8FAPsAAD0FAO7//yMFAOf+/+YEAAv+/4EEAFL9/9IDAKP8/+sCABn8/9cBAK77/4AAAEv7/+v+/wz7/yv9///6/4r7/0X7/yH6//r7/yL5//T8/3f4/xf+/1D4/zL//5L4/ykAAAD5/w0BAHr5//ABAAb6/6YCAKT6/yIDAEn7/2MDAB38/4gDAPv8/4MDAMb9/z4DAHr+/7wCACX//xACAJ7//00BALX//30AALT//7P//7j///j+/7f//0/+/5T//6n9/4X//yj9/3L//938/zX//5r8/9/+/z78/5b+/+f7/3z+/6L7/4H+/037/4z+/9D6/5f+/1n6/5f+/wf6/57+/735/63+/4b5/8D+/3b5/7H+/5j5/4r+/9D5/17+///5/0v+/yj6/y/+/1/6/+X9/7D6/4D9//H6/yD9/yz7/8T8/3L7/0j8//T7/777/478/wf7/yX9/zj6/7T9/2f5/1T+/6j4//r+//L3/6b//2P3/zoAABb3/54AAA33/+gAAEz3/wsBAK/3//QAABn4/5oAAJv4/xAAADv5/3H//+P5/6f+/4v6/6/9/xX7/6z8/4L7/737/+v7/9/6/2P8/w/6/+b8/0z5/1n9/9b4/779/674/yj+/774/5z+//34/w3//135/3T//975/9b//4r6/y0AAEf7/3EAAPj7/6kAAIj8/8sAAPn8/8EAAFb9/5AAAJr9/1QAALv9/wcAAMb9/6n//9X9/zf//+39/8H+/xL+/0j+/zf+/+39/3D+/7/9/7/+/7f9/xj//8b9/2n//+T9/67//yf+/+r//4T+/xQAAN3+/yYAACv//ysAAG3//ysAALr//ysAAPz//wwAACAAAOX//xcAAMT///X//6D//9H//33//7n//13//6H//0H//5n//zL//6r//y7//7///zH//+7//0n//ysAAHb//3gAALj//9QAAAkAADIBAGUAAJoBAMkAAAoCACYBAIECAJYBAPICAAICAEkDAGwCAKgDAOkCAP8DAHsDAEkEABoEAJEEAJsEANUEABIFACQFAFYFAFwFAKUFAJ4FAMQFAMIFAOAFANUFAMgFAMwFAMEFAK0FALIFAIsFADsFAFEFAM4EAAoFAFEEANIEAPwDAK4EAIoDAH8EACgDAD4EAK0CAPoDAFsCAMIDAA8CAJoDAA4CAHoDAO0BAHIDAIwBAIYDAH4BAJYDAPsBALYDAFYCANkDAJ8CAAcEAOACACwEAEoDAEUEANQDAFUEAOUDAGcEAEoEAG8EAKEEAGsEAIoEAF4EAIwEAE4EAIoEAEEEAGUEAC8EAEgEABsEABwEAA4EABEEAAcEAAMEAAIEACkEAAwEAEYEAB8EAGkEAEAEAKUEAGQEAM0EAIgEABAFAKcEACAFAM8EAC0FAO8EABEFAAYFANkEAAQFAI4EAOgEADcEAMQEANwDAJoEAIEDAGUEABUDACMEALUCANMDAG4CAJADAEMCAFUDAA4CACQDAOMBAPICAL4BALgCALMBAIICAKQBAE4CAJYBABYCAIQBANoBAHoBAJcBAH0BAGEBAIkBAB8BAKABAOYAAL0BAKoAANMBAGgAAPQBACsAAAwCAOf//w8CAMf//wkCAMb///oBANT///MBAPX//+MBACcAAMIBAE8AAJcBAIcAAG4BAMAAAEIBAOcAAB4BAOkAAA8BAO4AAA8BAPYAACIBAB4BADIBADsBAEwBAFUBAFoBAG4BAGIBAJsBAFYBAMUBAEYBAOIBAC4BAPoBABgBABkCAP0AACgCAOgAABoCAM0AAPkBAKkAAMIBAIMAAG4BAGEAAOQAAEAAAHgAACEAABAAAAEAALX//9///5X//7T//0r//4v//wv//07//7P+//z+/1v+/5H+/wH+/xz+/7L9/5f9/2b9/x79/+P8/6v8/1z8/0b8/+j7//f7/4H7/8L7/yn7/6v7/876/8D7/3H6/+D7/yv6/xz8/xL6/0z8/w36/4D8/yX6/7j8/zb6/978/0H6/+b8/2D6/9P8/6T6/6b8/wb7/2L8/137/xL8/5H7/8j7/8b7/4b7//D7/177/y38/0b7/178/0n7/3n8/3D7/3/8/8D7/3P8/xj8/3z8/438/5D8/wX9/6/8/3r9/9n8/9H9//j8/x3+/zD9/0H+/2T9/0n+/7T9/yv+/wD+/+P9/zT+/5v9/1r+/0H9/1r+//X8/17+/678/0T+/4f8/xz+/3f8/9v9/4z8/5L9/7j8/0n9/w39/xD9/3r9//P8/+z9/+f8/1j+/+b8/7L+//f8//j+/xP9/yH//zj9/yn//1r9//L+/379/6P+/6P9/yz+/7f9/5n9/8X9/xj9/779/6L8/6j9/0j8/4L9/wH8/1X9/977/xj9/+X7/+f8/xP8/6z8/238/3j8/738/1H8/x39/0n8/3H9/1z8/7v9/4/8/+z9/9r8//r9/zn9/+39/5b9/8P9/+n9/5P9/zf+/2r9/27+/1L9/5r+/0P9/7H+/zb9/63+/039/5T+/4n9/33+//L9/3L+/27+/3b+//v+/3L+/4b//4X+/xcAAK/+/6cAAO/+/xkBADr//1EBAJD//1MBAOL//ykBADEAAN8AAGwAAG8AAIgAANv//4kAADf//2kAAKn+/z8AAC3+/wIAANb9/7///5v9/3L//5X9/zf//8T9//X+/xX+/8P+/3X+/7b+/97+/8b+/03//9z+/7T//xT///T//1r//w4AAKT//xAAAOr//+7//y0AALf//04AAGv//1wAABr//2wAAM7+/2cAAJj+/0QAAJH+/yQAAK3+//H//+j+/73//0H//5n//8P//3f//14AAGv//+UAAHf//1wBAJv//8cBAOX//wsCAEwAADUCAL0AADwCAEEBADECAK8BAAICAAYCAL0BAEACAHgBAHACAD8BAIYCABcBAJMCABABAKwCAC8BAMkCAG8BAOQCAMQBAOoCADkCAO0CAMsCAPgCAGADAAwDAOgDAB0DAF4EAEoDAKYEAIgDAMsEAM8DAMYEAAQEAJcEADcEAFIEAEYEAPkDACoEAI4DAO8DACcDAJ4DALQCACoDAFwCAK0CABgCABsCAPQBAKcBAPgBAEwBAA0CAP8AACgCALIAAD0CAHoAADICAGEAADICAGIAABECAEgAAOEBADQAAJYBADMAACoBACsAALIAACYAADMAABMAAIz//+///0X//+n//4/+/4v//5/+/2n//7MBAM8AAKIBAIAAAEUBABQAAD8BAOD//x8BAKr//wABAH7///4AAGz//+QAAFX//+IAAFP//9sAAFT//84AAFv//84AAG3//8YAAIL//8EAAJ3//8AAAMD//7AAAOL//6kAAA8AAJUAADoAAIIAAGcAAG8AAJQAAFUAAL0AAD0AAOQAACYAAAYBAAoAABwBAPn//y0BAOT//zABANX//ysBAMn//xcBAMH///YAAMD//80AAML//6AAAMn//24AANX//z0AANr//wgAAOb//9j///D//6j///j//33//wAAAFj//wYAADr//w4AACL//xIAAA///w4AAPz+/wwAAOj+/wQAANP+//7//8P+//j//7T+//D//6P+/+n//5b+/9z//5H+/8j//5L+/6///5r+/4v//6P+/2X//6/+/zn//73+/wr//9D+/9v+/+L+/63+/+7+/4T+/+/+/1/+/+f+/zj+/9P+/xz+/7j+/wb+/5X+//b9/23+/+r9/0b+/979/yL+/9P9/wb+/8b9//H9/7X9/+T9/6T9/+H9/5H9/+f9/3/9//L9/2n9//79/079/wf+/z39/xL+/zv9/yH+/0P9/y7+/1T9/zr+/279/0H+/5z9/0v+/9P9/1j+/xT+/2r+/1v+/3n+/6b+/47+//X+/6v+/0X//8z+/5D///D+/9L//xn//wQAAEP//ykAAGX//0UAAID//1gAAJb//2AAAKP//2IAAKj//2EAAKL//2QAAJf//2UAAIr//2AAAID//1UAAHv//0sAAHz//z8AAIX//zAAAJz//x8AAMP//xEAAPj//wIAADkAAPP//3wAAOX//78AAOL//wsBAOr//08BAPX//4UBAAwAAKgBADEAAL0BAGAAAMIBAJYAALkBANMAAKoBABUBAKIBAFYBAKIBAJIBAKQBAMsBALIBAPsBAMwBACACAO8BAD8CAB8CAFsCAFwCAHECAJ4CAIACANkCAIkCABIDAIwCADkDAIsCAFEDAIgCAFkDAIwCAFIDAJ8CAEcDAL0CADkDANICACcDAOICACADAN4CABMDANwCAA4DAM0CAAEDAMECAP4CAKgCAPkCAKUCAOsCAJICANUCAGwCALUCAFECAIcCADoCAFoCACoCACECAB0CAOIBABACAJUBAP4BAEMBAPQBAPcAAOABALUAAN8BAHUAAMUBAFUAAH8BADIAAGYBADMAAFsBADIAAB4BACkAAAIBAGsAAOgBAFcCANYBAL4CAD8BAFMCAJIAAEkCAP///zwCAIv//1YCAB7//0ICACv//zUCAFL///wBAE3//48BAC///xABACr//6YAAFj//zkAAM////7//3gAAOz//wgBAA0AAIYBAD8AAMMBAHkAAL8BAKkAAMsBAMwAAP8BAOsAAFsCAAMBAGgCAB0BACsCADIBAMYBADYBAFYBADsBAOYAAEgBAKQAADsBAJ8AABYBAKsAAAEBAJEAAO4AAEcAAMIAALL//5MAABv//4gAAJ3+/5sAAGr+/9AAAHP+/+gAALj+/+gAAP/+/88AACT//4oAAB///zEAAAP//87//wX//3r//zj//y3//5////z+/zMAAOz+/58AAOL+/8YAAAT//5oAADL//0kAAFH//////2j//7f//2v//23//1z//yP//1j//+P+/2f//53+/4T//1r+/4T//zn+/4T//yT+/3X//wD+/1j//9f9/xn//8H9/9X+/7H9/5z+/6T9/4L+/4j9/2b+/3b9/1f+/1r9/1H+/zb9/1b+/yP9/07+/zj9/zj+/1z9/xf+/5n9/+f9/+H9/4v9/yz+/wD9/1z+/5X8/17+/0f8/zD+/y78/+H9/0j8/4v9/1j8/1P9/3v8/yT9/5T8/wT9/8T8/+T8//P8/7X8/0r9/3D8/6v9/0/8//T9/zH8/0f+/xr8/5/+/yv8//L+/3r8/zz///T8/3D//4X9/5n//x/+/8P//+f+//3//6H//zsAAFwAAIIAACUBAMEAAPIBAAYBAJgCAFwBABQDAMkBAGsDADECAKMDAHICALMDAIMCAKcDAIMCAIcDAG0CAG4DAFsCAEkDACgCACADAOcBAPgCAI4BAN8CACsBAL4CANkAAKsCAIwAAI0CAEcAAF8CAAQAABcCAL///8YBAJz//zgBAHT//5oAAHT//+L//27//xD//2L//zn+/0f//2r9/xz//7P8//D+/xn8/6n+/6z7/1L+/3L7/+X9/3b7/3r9/6n7/xT9/yH8/8f8/838/5/8/5X9/5P8/2f+/6T8/zj//9f8//v//yH9/6gAAID9/zUBAOb9/4kBAFj+/8QBANr+/9ABAFr//8oBANb//88BAEMAANsBAKsAAPYBAAcBABoCAFwBAFsCAJ8BALYCAOoBACEDACICAJcDAFMCAPIDAIECAEIEAL8CAGMEAP4CAHIEAE0DAFAEAJUDAAQEAOADAJIDABAEAAEDACUEAGoCABwEAN4BAO8DAGIBAKQDAO4AADYDAIUAAKACAEsAAPQBADkAAEYBAFgAAKUAAI8AAA8AANoAAHz//ygBAAn//4sBALj+/+sBAIz+/zgCAHn+/08CAIT+/z8CAJ7+/xACAMj+/8oBAPD+/2IBAA///98AACH//1QAACj//+f//zP//4T//zP//0j//zn//yH//zj//y3//0r//2P//1T//7H//27///7//6f//1MAAO///5oAADEAANEAAI8AANEAAOUAAKcAADIBAFgAAGsBAOL//48BAEv//38BAKH+/1wBAOv9/yYBAD39/9MAAKX8/1oAAEH8/+T///77/1P//977/8j+/+P7/0f+/x38/9P9/2j8/3T9/6z8/zn9/+j8/xf9/yL9/yn9/z39/1n9/0r9/539/0D9//T9/yz9/z3+//b8/3D+/8D8/5T+/4b8/7D+/2b8/7X+/1X8/7z+/2r8/9L+/6H8/+z+//T8/wH//1X9/wP//9j9/wf//2L+/xP//+/+/yj//13//zn//7b//27//9X//7H//8////v//5n//zgAAD///3MAAMr+/4UAAFH+/30AAMH9/1MAAEr9/yEAAMr8/8///3j8/33//0b8/yL//0n8//D+/3f8/9f+/9L8/9j+/yv9/8z+/6H9//L+//T9/yf//2v+/3j//8L+/6n//xX//+j//0f//yoAAHP//3IAAGj//5gAAIv//8wAAEb//8YAAJD//+0AADr//6AAAEIAAN8AAEADABkCACsDAKsBAC4DAFcBABkDAAQBADADANUAAPkCAIsAAPoCAG0AAMQCADwAAKUCACEAAHUCAAcAAEYCAPb//xECAOj//+sBAOf//7QBAOD//5kBAOz//2oBAPH//1MBAAcAADsBABsAADEBADYAAC4BAFAAADkBAG0AAEkBAIUAAG4BAKAAAIkBAK8AALoBAMAAAOoBAMYAACICAMkAAFgCAMIAAJAC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/8D3/977/4X3/xr8/3r3/3b8/3D3/xT9/yv3/439/0v3/9r9/5H3/w/+/3L3/0/+/5L3/1n+/y74/979/674/2D9/3D5/x39/1z6/8X8//f6/0z8/9X7/237//j8/4/6/9j9/xL6/4X+/535/yj//xv5/6X//+X4/////xf5/z0AAEj5/1UAAFP5/00AANf5/ycAAKX6/7f//zX7/xL//+j7/2/+/5P8/+39/w/9/2T9/yH+/7r8/zT//yT8/+3//5n7/8wAAA/7/4oBAML6/60BAKr6/7sBAJr6/+8BALr6/84BAA77/74BAFf7/xUCALj7//8BADv8/8oBAM38/7kBAHT9/1oBACH+/+EAALv+/xsAAEj//0X//+L//8X+/40AAGT+/yIBAEX+/70BAET+/2MCADD+/90CAEv+/0sDAIv+/6sDAOX+//ADAH3//0QEAEQAAH4EADUBAIsEABECAK0EAJgCALcEAPwCALMEAHwDALgEAOwDAJgEAEcEAFsEALsEADIEAOkEAPYDAPEEAMEDAPwEAJ0DANIEAGsDAK8EADoDAJgEAPoCADQEAK8CALwDAGQCAFEDABoCAOgCANYBAKUCAJIBAFsCAEYBAN4BAOcAAGQBAI0AABkBAC8AAOsAANP//9sAAJL//8YAAF7//5IAADT//50AACz//94AACb//wEBACj//xoBAFv//zABAK7//z8BAAYAAI0BAGcAALUBAMYAALoBACABAAwCAIcBAE4CAPoBAD8CAG4CAC0CAPYCABECAIADAOsBAPoDALYBAFsEAGkBAKoEACgBAO0EAPQAABwFALsAACEFAIUAAAIFAEwAAMoEAC4AAHMEAEwAAA0EAFkAAKIDAEgAAC0DAGcAAL8CAL8AAEACABYBALcBAEQBABMBAE8BAFYAAE0BAJT//0sBAMf+/1QBAA7+/0QBAFH9/xYBALX8/xQBAEf8/zgBAAL8/zEBAAf8/wIBAEj8/8cAAK78/5IAACX9/4cAAKv9/3EAACb+/zQAAJ/+//b//wj//9f//1j//7v//53//5D//+T//3P//y0AAFD//3cAACP//9kAAOz+/1QBALX+/9wBAID+/1sCAGz+/7QCAGL+/+ECAED+/+ICACr+/8ECABb+/34CAAz+/yICACr+/7cBAD/+/zoBAB7+/6kAAP79/xoAAL39/5f//2z9/yT//0H9/7v+/wv9/1r+/+r8/+79/+/8/2j9/7j8/878/378/zH8/2T8/577/2T8/xn7/4j8/7n6/778/3P6/wT9/yf6/1z9///5/9v9/wP6/1T+//75/73+/yz6/yf//3f6/3b//6j6/5X//wT7/7j//277/9L//9z7//L//4/8/w4AAEf9/xEAAAH+/+f//+3+/8T//8H//6b//5QAAKj//3cBANf//zICADIAAOUCAIUAAI0DAKYAAA0EAKoAAIIEAH4AAOoEAFsAADIFADcAAGwFABUAAJIFAOv//5IFANv//4AFAOX//1IFAAkAAP0EAGYAAJoEAN4AAC4EAE0BAKkDAGoBABUDAFIBAGYCAD0BAKYBAFgBAOoAALIBACwAABQCAHr//3gCANb+/7UCAD7+//ACAL79/xoDAFz9/zIDAB79/zUDAAP9/w8DAAv9/8ECADD9/2ECAGb9/xACAJf9/90BAMr9/8MBAPz9/6sBACP+/2UBAEz+/+AAAGj+/x8AAHv+/2D//6f+/7z+/93+/0f+/xj//wH+/2n//8f9/7v//4X9/w4AAEH9/3QAAAT9/8kAAMz8/wYBAJ/8/zsBAG78/0wBAD/8/z8BACD8/ywBACH8/xABAFr8//gAAMT8/+4AAEH9/9YAAK39/6gAABf+/2QAAIX+/wQAAP3+/5D//4j//wX//w4AAGr+/4EAAMz9/8AAADL9/9oAAJz8/+4AACT8/x8BANT7/28BALX7/8kBAM77//kBABz8/+UBAI/8/38BAAX9//kAAGf9/4MAALn9/0MAAAX+/1AAAFX+/4wAAK7+/7gAABL//7AAAHf//3IAAN7//x4AADIAAMj//30AAHv//7oAADj///MAAAr//y0BAOv+/00BAMz+/1EBAKP+/z0BAHv+/0UBAGH+/3IBAFv+/8MBAF/+/wwCAGn+/y0CAHv+/xgCAJj+/94BAMv+/5oBAPr+/10BABv//xQBAFH//7oAAIf//2EAAK3//woAAP3//7v//0QAAG7//3MAACr//68AAOP+/8gAAIz+/74AACX+/8UAAL/9/7cAAFn9/34AAPr8/2IAALj8/y0AAIr8/9P//3v8/5f//4D8/1L//6T8//r+/+P8/8n+/yz9/5H+/4D9/1r+/939/z/+/z3+/yP+/47+/wL+/77+/wL+/wT///H9/zn//9n9/03//+n9/3b////9/5z//xT+/9r//1z+/yQAAKD+/2IAANr+/6oAACz//wMBAIX//1kBAOj//6gBAGAAAA4CANMAAGMCAFMBALMCAN8BAAoDAEgCAE4DAKACAKEDAPoCAPcDAD8DAD8EAHQDAHsEAK8DAJQEANMDAH0EAPMDAFAEACAEABcEACEEAPADACgEAKkDADIEAGADABMEABUDAPsDAK4CAOQDAE4CALYDAP4BAJkDAKcBAIUDAHcBAF0DAHkBAD8DAHABABUDAG8BANQCAIUBALQCAJgBAI4CANcBAF0CADACAEsCAIUCADMCAOICACYCABMDADoCACADADMCAEwDACwCAIgDAFUCAIkDAH0CAI0DAK4CAI4DAN0CAGIDAOACADUDAM8CACIDALsCAP0CAJQCANACAHMCAJACAFICAGkCAAQCAGcCAJYBADgCAAsBAOgBAGgAAJ0BANn//1UBAHT///4AACf//7wAAPD+/2YAALb+/wIAAGr+/2///yT+//H+/+r9/3n+/839/yX+/879/9P9/9T9/279/+L9/yT9//X9/9z8//r9/5z8//j9/2/8/wP+/2H8/xb+/0X8/zr+/0z8/3b+/2z8/7r+/6z8/wL//wP9/0v//2f9/4D//8v9/6D//y7+/7r//6b+/97//yb//xAAAJ7//z8AAPH//1UAADUAAFAAAGAAAC8AAHgAAPf//5cAAMD//7YAAJb//8cAAG///70AADT//6kAAPX+/5UAALr+/44AAIT+/4gAAFX+/3QAADX+/0gAABv+/xYAAPX9/+7//9P9/8///9L9/73//939/6T//+z9/2z///b9/yP///r9/+r+/wH+/8f+/yL+/6b+/1X+/3r+/5D+/0P+/8L+/wf+/+v+/8/9/xX//7H9/0f//679/4f//7D9/8v//7P9/wkAALj9/y4AAMn9/0EAAPr9/1kAAFD+/3QAALf+/4YAABD//48AAGX//5IAALn//38AAAEAAF4AAEoAAEMAAKYAACEAAOkAAOn//wABAKT//wwBAFn//xsBABH//yYBANH+/yMBAJP+/w0BAFb+/+MAAA7+/6YAAMj9/2QAAJz9/zAAAI/9/wYAAIb9/9X//3v9/5T//3T9/1b//2n9/yb//2f9//n+/339/87+/6v9/6r+/879/3/+/979/0r+/+X9/w/+//L9/+L9/wv+/8L9/zf+/5/9/2n+/3f9/4r+/1j9/5z+/039/6v+/0T9/77+/zz9/9/+/zj9/wz//zz9/yT//0z9/yX//2L9/yD//3n9/x7//6H9/yj//+P9/0P//yP+/2X//2H+/3f//7r+/4L//yX//43//43//6f///P//93//1MAABkAAKwAAEQAAAgBAGUAAGIBAIYAALoBALoAAA8CAAsBAF8CAGkBAKMCAMABANICAAMCAPYCAEECACIDAJICAFsDAPICAIgDAFYDAK0DALYDANUDAAEEAAcEACYEADsEAD8EAGoEAGsEAJIEAKcEAKMEANUEAJYEANoEAHIEALcEAEEEAHgEABkEADsEAP0DABMEAM8DAPIDAIgDAL0DAC8DAHYDANICABkDAHcCALECABkCAFwCALcBABsCAEwBANoBANYAAIgBAF4AACYBAOv//7sAAIf//1QAADH///X//+T+/53//5X+/1D//0L+/wH////9/7P+/9T9/2n+/7P9/zf+/5j9/y3+/3z9/z3+/279/0z+/3H9/z3+/3n9/w3+/4r9/+79/6L9//79/7P9/x7+/8D9/z/+/9b9/1z+//39/2/+/yz+/3X+/1X+/2f+/3L+/2L+/5L+/4X+/7z+/7D+/+z+/73+/xv//7T+/0D//8D+/1r//9H+/2j//97+/27////+/3v//yX//4r//zv//4v//zT//3X//wz//1P//+P+/yn//9r+///+/+X+/9X+/+v+/6H+/+b+/2b+/+f+/yX+/+b+/+j9/+P+/7r9/+P+/5X9/+P+/3n9/+f+/2r9/9/+/2n9/8H+/2r9/63+/3f9/73+/3j9/9/+/4L9//X+/5T9///+/6v9/wj//9/9/xb//xz+/zj//1r+/1X//4/+/3L//73+/4j///T+/5L//y7//5v//2z//53//6j//7L//+L//9X//x4AAPD//1UAAPz//4kAAAYAAMYAABUAAP4AACIAADEBAC0AAFUBAC8AAG8BADwAAJIBAFYAALABAHAAAMsBAJMAAOUBALIAAPYBANIAAAMCAPAAABYCAAABABsCABQBABUCACkBAAgCADgBAPwBAEgBAO4BAGEBANcBAIMBALsBAJ8BAJoBALcBAHYBANABAFIBAOIBADQBAO4BAB8BAPcBABEBAP8BAA8BAAECABcBAAUCACQBAAMCADYBAAECAEQBAP4BAFUBAPYBAGsBAOgBAIIBAM4BAJwBAK4BALgBAIcBANcBAFwBAPQBADwBAA4CACcBACQCAB4BADkCABgBAEgCAAsBAE4CAPoAAEUCAOAAAC4CAL0AAA4CAJoAAOoBAH4AAMEBAGYAAJMBAFkAAGYBAFYAAEABAFwAABkBAF4AAPEAAFUAAMwAAD8AAKkAACIAAIYAAAIAAGkAAOf//0gAANX//yEAAMr///f//7///8r//7P//5v//6L//33//4///3D//3j//2f//13//13//0r//1r//z7//0z//zD//z///yf//0z//xr//1T//wT//1f///b+/1f//+b+/0L//9r+/zz//93+/0T//97+/zv//9L+/zz//8f+/0L//7v+/zT//63+/yT//6D+/wz//5b+//z+/5D+/wj//5D+/wn//5j+//z+/6r+/+/+/8X+/8T+/+D+/5X+//X+/2/+/wn//0j+/xn//zj+/yn//0D+/0X//1b+/2z//4f+/5///7v+/+L//+v+/ycAAC///2cAAIT//5wAANv//8sAADcAAPkAAIUAACEBAMcAAEQBAAsBAGABAF0BAH0BALwBAJwBABQCALUBAE0CANABAG0CAOgBAHUCAO4BAHcCAOcBAHoCANIBAHYCAK8BAGwCAIkBAFcCAGMBAC0CADkBAPgBAAoBAL4BANQAAIQBAJgAAFUBAGEAABwBAC4AAM0AAAAAAIIAAOD//zIAAMn//93//7L//43//5v//z3//33///X+/1///7f+/0z//27+/0D//x3+/zH//8v9/x7//3n9/wf//yn9/+v+/+/8/87+/8v8/67+/7f8/5P+/7D8/3z+/6/8/2H+/6r8/0z+/6j8/zn+/638/yr+/8T8/x/+/+z8/xP+/yb9/wT+/2X9//b9/6n9/+b9/+39/9n9/y3+/879/2n+/8H9/6f+/7/9/+P+/7n9/w///8n9/yb//9f9/yn//+r9/yT//xj+/yf//zn+/zX//2P+/07//5r+/2n//8z+/3z///3+/3///zv//3n//3z//3j//6T//4X//9r//6L//wAAAM3//yMAAPL//zUAAAMAADsAAP3//zkAAOr//yEAAMf//yYAAJn//xwAAGP//xMAACL//yYAAN/+/yUAAKf+/zcAAIX+/0QAAHr+/04AAID+/2UAAJL+/2oAAKj+/30AAL/+/34AAOH+/4AAABD//4EAAEz//3UAAJT//3kAAOz//4YAAEMAAJUAAJYAAKkAAOsAAMAAAEQBANIAAKYBANwAAAgCAOoAAF8CAPIAAKICAO4AAMwCAPQAAN8CAOgAAN8CANwAAMsCAM0AAKUCAK8AAHkCAJ0AAEQCAIMAAAcCAHAAAMwBAGMAAJEBAE8AAFQBAEIAABgBADkAAOIAADQAALAAACgAAIMAAB4AAFoAABoAADUAAAUAAAsAAPj//9T//97//5L//83//0z//8P//wr//7b//9L+/7z//6b+/8X//4H+/8///1/+/9r//0X+/9///zT+/9v//zH+/8z//z3+/7v//1T+/6H//3j+/4b//6n+/2f//93+/0b//xn//zD//17//xb//6///wz//w4AAAT//3MAAAH//9cAAAv//zUBABD//4QBACH//8ABADz//+cBAFf///wBAHT///oBAJH//+MBAK///7sBANj//44BAAEAAF8BACwAADoBAF8AACMBAJUAACEBAMoAACkBAP4AAD4BAC0BAFwBAFUBAHwBAHsBAJoBAJwBAK8BALABALcBALQBALUBAKoBAKQBAJEBAIUBAHoBAF4BAFsBADUBADkBAAYBABcBANQAAPEAAJ0AAMgAAGEAAJ8AAB4AAHMAANH//0cAAH3//xcAACX//+7//8z+/9T//33+/7z//zj+/6v//wr+/6z///v9/7v//wz+/97//zv+/w8AAIf+/00AAOv+/5EAAGT//9kAAOf//xYBAG8AAEoBAO4AAHIBAGYBAIEBAMoBAIIBAA0CAHQBADECAFkBADkCADkBACMCAA0BAP4BAOEAAM0BALUAAJUBAIoAAFsBAGsAACIBAFkAAPIAAE8AAMkAAFEAAKQAAGIAAIcAAGoAAGkAAHMAAE4AAHwAADoAAHQAADUAAGwAAD4AAF8AAFUAAEMAAHIAACMAAJkAAA0AALEAAP///74AAPj//7MAAPz//4oAABMAAEUAADYAAOf//2AAAG///5cAAO7+/88AAGz+/wMBAPX9/zABAKD9/0wBAHj9/1EBAID9/zIBAK39//AAAPn9/5AAAF3+/xEAAMz+/4H//zP//+r+/3v//1T+/6X//9b9/5///3j9/2j//0b9/wL//0b9/3/+/3n9/+H9/9v9/1P9/2f+/9b8/wr//5L8/7L//3/8/0YAALn8/7gAADL9//kAANb9//8AAIb+/8gAAEr//1MAAPT//6v//3cAAOb+/78AABj+/80AAFP9/64AALD8/1oAAEj8/+r//yD8/2n//zv8/+3+/5r8/4L+/zD9/0T+/+D9/xv+/5X+/xz+/z3//zj+/7v//2H+/wEAAIL+/w4AAJX+/+P//5b+/5X//33+/zP//1r+/9T+/zj+/4v+/xf+/2b+/+P9/3D+/7f9/6n+/7f9/wr//9v9/4f//wr+/xEAAEX+/5YAAKr+/wUBADD//1IBANL//3gBAHUAAHUBABoBAEkBAKwBAP0AABUCAJ4AABcCADcAAK8BANT///gAAIT//zQAAFH//4T//zf//wL//zb//+L+/0b//0z//1r//yQAAGX//zEBAGP//zUCAE3//wsDAB///4UDAOn+/6cDALf+/08DAJz+/44CAKT+/7kBAN7+/xwBAFL//5EAAP3//y4AAMkAABEAAKIBADIAAGcCAEgAAAIDADcAAGEDAAIAAG8DAKv//yMDAEr//4gCABD//7oBAPf+/9AAAAX///D//1f//zf//+b//7L+/30AAG3+/94AAGv+//0AAKP+//QAAAb//7wAAIn//20AABkAACgAAJkAABYAAPwAADIAACwBAHAAABsBAMMAANgAAB0BAHAAAFQBAOX//1IBAEr//wgBAMP+/3gAAGD+/9L//yX+/1L//x3+/yH//2D+/0z///n+/8f//9L//4QAAMkAAHsBAMMBAHQCAK8CACQDAHUDAHsDAPUDAJcDABgEAIoDAPwDAF4DAMADACYDAGgDAPgCAAUDAO4CAKgCAAMDAGUCABYDAD4CAAcDAB0CANUCAPYBAI4CAL0BADMCAHUBAM4BABcBAHcBALMAAC4BAE4AAPoAAPX//9EAALj//7IAAKP//5kAAJv//5UAAKP//5sAALn//6AAANb//5wAAPn//4sAACMAAGUAAEoAADQAAHMAAPH//6EAAJX//9IAAC///wUBANL+/ywBAH/+/zwBAEf+/z0BAD7+/yIBAFD+/+YAAIX+/6kAANT+/4AAACr//2MAAI///1kAAP7//2cAAFwAAIAAAJ0AAKgAANMAANAAAPwAANsAABkBALwAACoBAHwAAC4BACwAABUBANH//9oAAG7//44AAAf//0QAAKr+//3//2T+/8j//zP+/6b//xH+/5D//wr+/4X//yf+/4L//2/+/4L//8/+/3z//zn//4f//6P//5f///z//5r//0wAAKj//44AAL7//70AANL//94AAOb///AAAPj///AAAAwAAOYAACcAANUAAC4AALIAABMAAIIAANn//0kAAIL//wYAAB///7j//8H+/2H//2z+/w7//yj+/7/+/+/9/3v+/8b9/0n+/639/yX+/5H9/w3+/3r9//f9/3X9/+b9/2/9/939/2f9/9L9/2z9/9X9/3X9/+v9/3H9/wz+/239/z7+/2r9/4f+/2j9/9b+/3P9/xr//5T9/1z//7/9/5v//wT+/8v//2H+//D//8/+/w4AAEr//yMAANX//zgAAGEAAEkAAOkAAFAAAGQBAEkAANEBADcAAB8CACIAAFMCAAsAAG4CAOr//2ECAMr//y8CAK7//+MBAJX//3oBAIL///0AAHL//3sAAGD///z//1H//4X//0T//yP//y7//9b+/xH//5X+//P+/2X+/9D+/0f+/6r+/zX+/4r+/yz+/3P+/yL+/2f+/x7+/23+/xH+/4L+//79/6j+/979/+H+/7f9/y3//4b9/4r//2H9//f//0T9/2UAAEf9/8wAAGj9/x4BALn9/1QBADb+/2UBANP+/1ABAH///xQBADsAALMAAO4AADcAAIsBAK///wUCACn//1gCALD+/4oCAFT+/5ICACf+/4ICAC7+/1wCAGj+/zICANf+/w4CAHT//wMCACcAAAMCAOEAABoCAJIBAD4CACQCAGoCAIoCAI4CAL8CAKMCAL8CAKsCAJkCAJ0CAFUCAIICAAUCAF8CALQBADUCAHIBAPIBAEYBAKQBADQBAGwBADgBAEEBAE8BABIBAGsBAN4AAIQBAL4AAI0BALIAAH8BALgAAFYBALwAABQBAMMAALcAAL4AAEsAAJ0AANj//zAAAGr//3L//wv//3r+/8v+/4P9/6/+/678/7X+/xT8/9z+/+T7/xv//0b8/2X//yj9/6z//1P+/+f//5H//w4AALkAABgAAJ0BABIAAD0CAAQAAHQCAP3//0sCAAgAAAcCADMAAPIBAIkAAOoBAAgBAPoBAJ0BAEACADoCALYCAMICABQDACEDADsDAEsDAC4DAC0DAOsCAL8CAIsCAA8CAD0CADgBAAICAFEAAN4BAIL//+8BAOj+/zcCAI/+/4QCAIP+/5sCAMb+/3ACAE///xsCAAoAAJ0BAOoAAAkBANgBAIMAALMCADQAAGoDABsAAOMDACsAAA0EAFcAAPADAJAAAJkDAK4AAAgDAJQAAE0CADYAAI4BAI7//9kAAM3+/zcAACv+/7X//9T9/2r//9P9/2n//x7+/6H//6f+//X//2b//0sAACcAAJsAAKAAAM0AAL0AAMkAAJ4AAHcAAFgAAPn///f//2///47//+D+/zb//17+/wv///r9/w3//8X9/xr//8T9/xX//979//r+/wP+/9j+/yX+/6/+/0P+/4j+/1L+/3n+/1z+/4P+/2T+/6n+/3P+/+D+/5b+/yT//9f+/27//xv//8r//1///ywAAKP//4QAAN7//8sAABEAAPgAADwAAAMBAFcAAPIAAGgAAL8AAHUAAGQAAH4AAO3//4QAAG7//34AAOz+/2AAAHb+/zUAACf+//P//+r9/5T//8v9/zv//8f9//7+/8n9/9b+/9z9/8r+/wD+/+H+/xr+/wv//yD+/0v//yP+/5H//yP+/77//yL+/77//yH+/5r//xz+/2L//wX+/xf//9L9/77+/5b9/1f+/2L9//L9/zn9/5z9/yj9/1T9/zH9/xT9/0v9/+r8/3T9/+L8/6f9/wX9/+D9/0P9/xD+/4v9/1L+/9j9/5j+/xj+/8/+/1X+/xD//47+/1n//73+/6L//+j+/+z//xL//zUAADX//4MAAFr//9oAAIT//x4BAKj//zsBAMX//zIBAN///wMBAPL//8EAAPn//38AAPT//0UAAPD//xcAAOr///P//+n//9v///f//9X//wkAAMX//yEAALT//y8AALj//zMAALj//zEAAK///xoAAK///wQAAKv///b//4r//+X//1r//9z//x3//+P//8/+/+n//4L+/9j//0H+/77//wX+/57//9/9/3D//9n9/zz//+n9/wr//w7+/9/+/0v+/8b+/5L+/7/+/9v+/8H+/yL//8f+/2T//8z+/5j//9j+/8L//+7+/+3///3+/wgAAAr//xQAABv//x8AADD//ygAAET//ysAAFX//zwAAF///1sAAGT//30AAGn//6gAAGH//9cAAFf///cAAFf//xEBAFj//ycBAGT//zIBAIH//zgBAK7//z8BAPD//0wBAEAAAFoBAJQAAG4BAOYAAIIBADIBAI8BAHcBAJEBALUBAIoBAOwBAHQBABUCAFABACwCACoBADECAAQBACkCAOMAABECAM8AAO4BAMgAAMcBAMoAAKEBANkAAIEBAPUAAGwBABgBAGYBAEMBAGkBAG8BAHcBAJkBAIwBAL4BAKcBANoBAL8BAO8BANcBAAACAOwBAAsCAPcBABICAPYBAAwCAOwBAPYBANoBANsBAL4BALsBAJ4BAJgBAHUBAIEBAEkBAHgBABsBAHsBAO8AAIUBAMAAAJYBAJQAAKoBAG8AALkBAEoAAMcBACwAAMsBABkAAL4BAAoAAKEBAAAAAHsBAAAAAEcBAAoAAAwBABYAAM8AACcAAI4AADkAAEkAAEcAAAMAAE4AAMH//0wAAH7//0MAAD3//zQAAAX//yMAANz+/w0AAL3+//b//7H+/+L//8H+/9z//+j+/+f//yL//////27//ycAALv//18AAAkAAKEAAFcAAOoAAJgAADcBAMwAAHsBAO8AALMBAAsBAOABAB4BAPYBACsBAPUBADEBAN4BADUBAKwBADkBAGgBADoBACYBADYBAOAAADEBAJAAACkBAEcAABoBAAgAAAcBAMj///IAAJH//9sAAGz//8IAAFj//68AAEv//54AAFL//4gAAGT//2oAAGr//0YAAHP//xcAAHv//9n//3P//4///2X//zf//1b//9r+/zf//4L+/xD//y/+//H+/+H9/8r+/6D9/6f+/3T9/4r+/1/9/3P+/139/3H+/2/9/3z+/5P9/4/+/8j9/7b+/wj+/+f+/1L+/xv//6T+/1D///L+/4v//zj//8P//3X///r//6v//ywAANP//0oAAOj//1oAAPX//18AAPv//1YAAP7//0gAAPv//zQAAPz//xoAAAEAAAEAAAgAAO///xkAAOP//zIAAOP//0sAAO///2EAAAAAAH4AABIAAJoAACcAALIAADYAAMYAAEMAANAAAEkAAM0AAE8AAMYAAFAAALEAADcAAJAAACMAAGUAABoAAC8AAPr///D//8b//63//5r//2z//23//yv//zH///D+///+/77+/97+/5b+/8P+/3z+/6/+/27+/6f+/2j+/6v+/2f+/7X+/2T+/8H+/1z+/8/+/1T+/9z+/0r+/+L+/0H+/+T+/zn+/+T+/zb+/9v+/zj+/8n+/z/+/7b+/1P+/6f+/2v+/5j+/4X+/4j+/57+/3v+/7P+/3b+/8D+/3b+/8z+/3n+/9f+/4T+/+H+/5f+//P+/67+/wv//8r+/yv///D+/0v//xz//23//0L//43//2f//6z//4///8r//6///9///8f///P//9n//wMAAOr//xAAAPn//xwAAAIAACcAAAYAAC8AAAQAADYAAAAAAEAAAAIAAEsAAAUAAFUAAAoAAGAAABIAAGoAABwAAHAAACUAAHAAAC8AAGYAAD0AAFUAAEgAAEAAAFQAACoAAGAAABkAAGkAAAcAAGsAAPr//2kAAPT//2EAAPT//1YAAPr//0UAAAMAADIAAAwAABwAABIAAAQAABUAAO7//xMAANr//wsAAMb///z//7r//+v//7P//9f//67//8T//63//7n//7D//7n//7X//77//7z//8r//8X//9n//9D///D//+P//w8AAPn//zEAABMAAE8AAC4AAGYAAEoAAH0AAGMAAJAAAHgAAKQAAIcAAL0AAIwAANsAAIsAAPUAAIsAAAsBAI4AABgBAI8AACEBAI4AACoBAJUAAC4BAJ0AACwBAKoAACYBALYAABYBAL4AAAUBANMAAO4AAOEAANAAANgAAK8AAN0AAJEAAOAAAHkAAMgAAGAAAKoAAEcAAKEAAC4AAJUAABwAAHsAABMAAGkAABIAAGUAABIAAFkAABAAAFUAAAkAAFEAAAcAAEsAAA0AAEkAABkAAEIAACkAADkAADwAADUAAEkAADEAAFYAAC4AAGsAADQAAIQAAD8AAKEAAEsAAL0AAGAAANQAAH0AAOcAAJgAAPYAALAAAAcBAMoAABwBAN8AADEBAPEAAEIBAP4AAFEBAAgBAF0BABEBAGsBAB0BAHwBACcBAJABADABAKUBAEMBALABAE8BALIBAF8BAKkBAHUBAJkBAIYBAIkBAJUBAHUBAJ8BAGABAKsBAEsBALEBADMBAK4BABgBAKUBAPUAAJsBANUAAIwBALwAAHMBAKkAAFcBAJUAADkBAHcAABwBAFcAAP4AAEAAAN4AADYAALwAADYAAJwAADoAAIEAADYAAGcAACoAAEkAAB4AADAAABkAABoAABwAAAYAABwAAPr//xwAAO///xoAAOP//xAAANv//wMAANj///3//9D//wcAAL7//xQAALj//xwAALv//xgAALv//wkAALb///n//6////X//6L///n//5b///j//5b//+j//57//8r//6v//6v//7X//5P//7f//4H//7P//2///7j//2D//8T//1H//9X//z3//+L//yP//+f//w3//+L///r+/9j//+7+/8z//+z+/7z//+r+/6v//+T+/5r//97+/4X//9z+/3L//+X+/2D///n+/1L//xL//0r//yT//0z//yz//0///zb//1D//0j//03//2H//0z//3n//1H//4b//17//4n//2n//4f//3D//4X//3T//4r//3z//5T//4P//53//4r//57//5L//5n//5z//5b//5///5f//6f//5T//57//4///6D//4f//5v//3X//53//2T//6n//1P//6P//0f//6f//zr//57//zH//4///yn//4P//yT//3X//yT//3X//yj//3b//y///2X//z3//1L//0r//zT//1j//yf//2T//yH//3D//x3//37//x///4n//wr//4v///r+/4r//+f+/4P//9z+/3r//+D+/2z//+P+/1///+/+/07///T+/zn//+3+/yP///X+/xX//wf//wr//xf////+/zL///f+/0b//+3+/0///+H+/1L//9f+/1n//9f+/27//9/+/4D//+r+/5T///z+/6b//xb//6///zb//7f//1z//7r//4j//73//7r//8P//+z//8z//xYAANP//z0AANL//2YAAM3//4cAAMH//6IAAMb//7sAANX//8kAAOD//8oAAOL//8oAAN///84AANz//84AANn//78AANv//6MAAOX//4YAAOz//2UAAPD//z4AAO7//x4AAOr//wcAAPD///H//wEAANH//xYAALv//ygAALP//y8AALL//zUAALz//0IAANT//1kAAOr//3UAAPr//4sAAAwAAJsAACMAAKkAADsAALQAAFcAALkAAHEAALoAAIoAALwAAJ0AAMEAAKoAAMEAAL8AALoAANsAAK0AAPMAAJ8AAAcBAIoAABIBAH0AAB0BAHUAACIBAHIAACcBAHAAADYBAGgAAEYBAGQAAFEBAF4AAFYBAF4AAF0BAGYAAFQBAHQAAEIBAIMAADEBAJAAABsBAKQAAP0AALgAANMAANEAAK8AAPIAAI4AABABAGwAACoBAFYAAEABAEwAAE4BAEkAAFoBAE4AAGEBAGEAAGQBAHgAAGoBAJcAAGsBAL4AAGABAPEAAFcBACgBAE8BAFUBAEMBAIQBADgBAL0BACsBAOkBABoBAAwCAAIBACcCAOwAAC4CANgAACMCAMQAABMCALYAAPMBAKkAAMEBAKIAAIEBAJkAADYBAIsAAOUAAIAAAIwAAH4AADAAAHQAAN///2wAAJ///2kAAGD//2YAACT//2MAAAf//2AAAPr+/2IAAPD+/24AAAr//3sAADr//48AAGz//6MAAKX//60AAOv//70AADYAAMgAAHUAAM0AAK4AANMAAPQAANMAACsBAM8AAEkBAL8AAGMBAKoAAHEBAJkAAGEBAIgAAEkBAHcAACsBAGIAAAgBAEQAAOMAACUAAK4AAAIAAHYAAN7//1UAAL///yUAAKT//+n//4f//8T//3v//7X//3P//5T//23//3X//3r//23//47//2X//63//2D//8z//2H///T//2f//x0AAG///z0AAGr//1oAAGL//24AAGf//3kAAF7//44AAFX//4kAAFD//30AAEf//3EAAEj//0sAAEH//zcAADP//ygAAE///93//27//6n//2X//57//4f//1P//8b///7+/8n///H+/9D//8f+/wwAAHf+/xEAAHD+/+r//4T+//X//0v+/wAAADT+/73//3b+/33//43+/3H//3H+/zf//5z+/9z+/+r+/7X+//D+/57+/97+/07+/x///wT+/13//wT+/0r//wP+/2T//9H9/7H//9X9/7L//wv+/6X//x3+/9T//0j+/+r//7H+/87//wb//8P//0n//83//6b//8H//wUAAJ7//0UAAI7//2UAAIT//4cAAGL//6EAAEP//4sAADD//1YAAAr//xQAAOD+/8T//7r+/2n//4z+/w3//1j+/6X+/zn+/zn+/xn+/+39/+T9/6n9/8z9/2H9/9n9/0v9/8v9/1T9/9D9/1r9///9/4/9/yf+/+L9/1H+/x/+/5T+/3X+/9j+/+L+/xL//zL//1H//3z//53//8f//9v///3//yAAACAAAFYAADwAAGwAAE8AAKIAAEgAAKMAADgAAJUAACcAAIUAAAIAAHgAAND//1EAAJv//woAAGn//+P//0L//8///x///5b//wD//2D///j+/0j//xH//y///0f//xj//4H//wf//8L//wf//xQAAAH//2sAAP7+/7MAABT//+AAAA3///MAACb///0AAEf//wABAFP//+EAAGz//6EAAIb//2IAAIv//yUAAJj//9b//6f//37//6z//yv//7v//+L+/8f//6r+/+X//4L+/wsAAGP+/xsAAFL+/z8AAGH+/2QAAI7+/5IAANb+/7gAADP//9EAAJv//+8AABAAAAUBAIsAABQBAPUAACIBAFQBACwBAKABACgBANIBABkBAPIBAAMBAAsCANwAAAwCALAAAPoBAH4AANwBAEUAALcBAA8AAIYBAOD//0cBALv///0AAJr//6sAAIv//1cAAI7//w8AAJr//9T//7X//6b//+D//5X//xAAAJ3//0IAALf//28AAOb//50AACsAAM4AAIEAAOoAANEAAP8AABcBABkBAFkBACgBAIoBACkBAKQBACMBAKMBABwBAI8BABsBAHwBABMBAG8BAAcBAFEBAPoAAB0BAPIAAN8AAOwAAKwAAOYAAIcAAOAAAF4AANsAADIAAN8AABcAAO4AABMAAPkAACAAAPYAACwAAPIAADMAAOwAAEcAAN8AAHYAAMcAAKwAAKsAANUAAJAAAOwAAHIAAPMAAFoAAP8AAEsAABQBAD0AABoBADcAAAoBAEEAAPUAAEYAAOcAAEsAANIAAFQAAK0AAFkAAHQAAGMAADoAAGsAAA4AAHAAAO3//3kAANH//4EAALP//4AAAJz//4MAAI///4EAAIz//30AAJn//3IAALL//2AAANv//08AABMAADUAAEkAAA8AAH0AAO///60AAN3//9EAAN3///UAAN3//w4BANv//xwBAO///xQBABQAAPsAADEAANkAAFcAALcAAIUAAJwAAKcAAIEAAMEAAE4AAOEAABEAAPkAANz///gAAKX//+kAAGj//94AADj//88AABj//7wAAAb//6cAAP/+/4cAAAP//2cAABr//0oAAEj//y0AAIf//xQAAMv//////xkAAOz//2wAAOD//6kAANz//84AANT//+YAAMP//wABALb//x0BALT//zIBAK7//zcBAJf//yUBAHT//wMBAFH//88AADL//4EAABX//yIAAPn+/8X//+n+/3X///L+/yz//wP//+P+/x3//5X+/z7//2D+/23//1H+/5z//1P+/8v//1X+/////2f+/zAAAI7+/1QAAML+/2QAANv+/2EAAOD+/1YAAOP+/0UAAPv+/ywAACL//wkAAD7//+P//0v//7X//1z//4H//3T//0P//4v///7+/5f//7v+/3P//4D+/zj//0H+/+3+/xX+/6/+//39/4j+//X9/23+//39/1b+/w/+/1D+/zP+/2z+/2b+/6/+/4P+//D+/5f+/yH//67+/1f//8/+/5f//+/+/9X////+/+///wD//+b//wf//9L//xX//83//yv//9b//z7//9X//0r//87//2f//8v//5D//9X//77//+P//+b//+r//wUAAM7//zgAAJf//3oAAHL//8cAAG7//w8BAID//0EBAHL//1wBAEL//1wBAB///0ABACb//xIBAEb//9UAAGD//4UAAHD//y4AAJD//9v//8f//4X///v//yv//xAAAL/+/yIAAEf+/y0AAOT9/ygAALP9/xQAAKb9/xEAAJ/9/x4AAJ/9/wYAAMv9/8v//yf+/6n//4r+/8P//9P+/+r//xv//+X//2r//7T//9D//5v//x8AAJf//0kAAHH//2cAABj//5AAAMf+/7QAALL+/8YAAMz+/9QAAN7+/+oAAN3+/+IAAPP+/60AADj//3sAAIH//2YAALT//2oAAOL//18AAB8AAFIAAFcAAHQAAH4AAMgAALkAABMBAAcBACYBAEYBABEBAGEBAA0BAHkBABIBAKoBAPIAANYBAKEAAM4BAE8AAJsBACIAAGQBAAEAAE4BAMH//zwBAIP///oAAGL//5IAAE7//0oAAC3//zoAABP//zsAAAz//zMAABL//zAAACf//0sAAGD//3UAAKn//5EAAPb//5AAAFoAAJcAAMwAAMEAACgBAP0AAGsBACoBAKwBADoBAOYBAE4BAPgBAGQBAOgBAGIBAM0BACgBAL4BAOUAALcBAK8AAKwBAHwAAJIBAEEAAHEBAAEAAEkBANj//yEBALv///YAAK///8AAALX//4gAAMr//10AAOL//04AAAcAAFUAAEAAAGUAAHoAAIIAALMAALMAAPYAAOUAAEQBAAcBAIsBABwBAMgBACABAPYBABYBABkCAPsAAC8CAOEAADwCAM4AAD4CAMAAAC0CAK8AAA8CAKIAAOUBAJUAAKkBAIIAAF0BAHIAAAUBAGcAALcAAGwAAHQAAIUAAEsAAKgAADMAAM8AADoAAO0AAFMAAP8AAHEAAAoBAIoAABUBAKIAABQBALgAAAcBAMoAAO8AAOIAANcAAPcAALsAAAIBAJYAAAUBAGsAAAMBAEAAAPIAABgAAMgAAPj//5sAAOL//3IAANj//0oAANn//x8AAOL///7///j//+D//x4AAL3//0YAAJr//2YAAIL//4UAAHv//6UAAIP//7kAAJH//74AAKP//74AALb//74AAND//7gAAO///64AABEAAKQAACsAAJ8AAEEAAJUAAFYAAIAAAHMAAGMAAIsAAEQAAJYAACYAAJkAAAEAAJwAANn//5wAALP//5IAAJ///4AAAJP//2AAAIn//zcAAIH//wkAAIT//97//4///7H//6L//4z//7X//3T//8T//2r//9T//27//+H//3b//+b//3z//+D//4X//9X//5L//8r//57//7f//6f//53//6b//4L//53//27//5L//17//43//0///4r//0L//4X//0b//37//1f//3z//3L//37//5H//4P//7H//4n//9P//5L///j//5r//xkAAKP//zIAAKv//zsAALL//zkAALH//y0AAKn//xkAAKP///v//5z//9j//5L//7f//4X//5r//3n//4P//23//27//2r//2P//3H//2D//4D//2P//5L//2j//6T//23//73//3L//9j//3b//+z//3b///n//3b///7//3b//wEAAHf///3//3H//+3//2n//87//2P//6f//1v//37//1P//1b//0r//y7//0D//wr//zj//+3+/zD//9L+/yj//7/+/yP//7P+/yL//63+/yX//63+/yn//7H+/zD//7v+/zf//8r+/z3//9/+/0j///b+/1P//wr//17//yT//3D//z///4r//1v//6n//3j//8L//5j//9v//7z//+r//9z///7//wAAAAkAAB0AABcAADUAABgAAEcAACMAAFMAACoAAF4AABoAAGEAAA4AAGEAAAAAAGQAAPv//2oAAPD//2sAAOf//2UAANf//1wAANH//1UAAMn//08AANT//0kAANH//0cAALv//0kAALv//0cAANr//0cAAOr//0YAAPX//0UAAPn//z8AAAgAADUAABsAACgAAA0AABoAABYAAAkAABkAAPX//wAAAN////H//8n//+D//7X//8r//6H//7j//47//6b//3///5///3X//5v//23//6j//2z//7T//3H//8b//3z//9///4v///f//53//xcAALD//yoAAMn//0AAAOP//0sAAPz//1AAABIAAFIAACQAAFIAADcAAFEAAEkAAFAAAFsAAEoAAGoAAEcAAHcAAEoAAIgAAFMAAJoAAFcAAK8AAFwAAMIAAGIAANEAAGwAAN8AAHIAAOsAAHcAAPQAAHoAAPkAAHwAAPgAAIEAAPcAAIYAAPAAAIwAAOgAAJMAANoAAJYAAMkAAJwAALUAAJ4AAJwAAJkAAIsAAJIAAH4AAIgAAHIAAIAAAGkAAHUAAGIAAGcAAFYAAFUAAE4AAEUAAEUAADQAADcAACYAAB8AAB0AAAoAABoAAPj//xoAAO///xwAAOX//yAAAN7//yEAANj//yIAANz//x8AAOL//xwAAOf//xkAAO///xgAAP3//xkAAAkAABwAABIAACAAABkAACMAAB8AACgAACAAADAAABYAADoAABkAAEYAAB8AAFMAACsAAGAAAEYAAGsAAFcAAHcAAGsAAH4AAHgAAIAAAIUAAHoAAI8AAHEAAJwAAGMAAKUAAFgAAJ4AAEwAAJQAAEMAAIwAAD0AAIQAADwAAHwAAEAAAHAAAE0AAF8AAFkAAFIAAGoAAEsAAHUAAEcAAH4AAEUAAIYAAD4AAIgAADMAAIAAACoAAHAAACkAAFkAAC0AAD0AACsAAB4AAB8AAAEAABMAAOj//wQAANX///r//8j//+z//8L//9v//8b//8X//9X//6z//+X//5v///z//5D//xMAAIn//ygAAIf//zQAAIT//z0AAIv//zoAAJH//zEAAKH//x0AALL//////77//+H//8f//8H//8n//6T//83//4v//8v//3v//8f//3L//73//3T//7P//33//6r//5L//6f//67//6v//8z//7L//+r//73//wQAAMz//xoAAN3//yoAAO///zMAAP7//y0AAA0AACIAABoAAA4AACEAAPX//yYAAOD//yMAAM///xoAAMX//w0AAL7///z//77//+b//8f//9L//9b//7r//+z//6T///z//5D//wsAAIP//xMAAHz//xQAAH3//wsAAIP///b//4z//9f//5T//7D//5j//4f//5v//2D//5j//z7//5L//x///4f//wL//3b///H+/2H//+z+/07///X+/0D//wb//zj//x7//y///zj//y3//1f//zT//3j//0H//5X//1P//6X//2j//6r//37//6j//5T//6D//6X//5D//7D//3r//7X//2H//7P//1H//7D//0X//6r//0P//6P//0f//5z//1j//5n//3T//5b//5b//5f//7j//6L//9r//7T///n//8b//xQAAOD//yEAAPz//yMAABcAABwAAC8AAAwAAEMAAPX//00AANr//1EAAL7//1MAAKT//00AAJH//z8AAIv//zAAAI///xsAAJz//wYAALD///P//9H//+H///b//9T//xYAAM3//zIAAMz//0oAANX//1gAAOT//2AAAPb//18AAAwAAFoAAB0AAEsAACgAADcAAC0AACQAADEAABUAAC8AAAoAAC0AAAgAAC8AABAAADUAAB4AADsAADIAAD0AAE8AAEAAAHAAAEcAAJIAAFAAAK4AAFoAAMcAAGwAANEAAIIAANQAAJoAAMwAAK0AALoAAMAAAKMAAMcAAIkAAMQAAGsAALgAAFEAAKgAADMAAI4AACAAAHMAABIAAFIAAA0AADoAABIAACoAAB0AAB0AACgAAA4AADMAAAkAADQAAAkAADkAABEAADUAABEAAC8AABMAACAAABoAAA0AACAAAPT//yUAAN7//yoAALr//ycAALf//y8AAJP//x0AALD//yMAAIcAAIYAAIUAAHUAAHsAAGIAAIAAAFoAAIUAAFQAAIUAAE4AAJAAAFEAAJMAAFEAAJsAAFUAAKEAAFsAAKYAAGAAAKsAAGcAAK8AAG4AAK8AAHQAALIAAHsAAK0AAIAAAKoAAIcAAKMAAIwAAJsAAJIAAJIAAJYAAIYAAJkAAHsAAJsAAHAAAJwAAGMAAJkAAFkAAJUAAE0AAI4AAEQAAIcAADsAAHwAADQAAG8AAC4AAGAAACoAAFIAACUAAEMAACIAADUAAB0AACYAABkAABkAABQAAA0AAA8AAAMAAAkAAPr//wMAAPL///3//+z///j//+X///H//9///+r//9j//+P//9D//93//8n//9j//8L//9T//7v//9D//7X//8z//7D//8j//63//8T//6z//8D//6z//7z//63//7j//6///7b//7P//7X//7b//7T//7n//7X//7r//7f//7r//7n//7b//73//7H//8H//6r//8b//6L//8n//5j//8v//47//8v//4X//8j//37//8P//3j//7z//3X//7H//3T//6T//3P//5T//3L//4H//3H//2///3H//1///3H//1D//3D//0L//27//zf//2v//y7//2n//yf//2f//yL//2b//yD//2X//yH//2b//yT//2n//yv//27//zP//3X//z7//3///0r//4r//1f//5X//2f//6D//3n//6r//47//7P//6T//7v//7z//8L//9X//8f//+///83//wYAANP//xoAANn//ywAAN///zoAAOf//0YAAPP//04AAAAAAFQAABEAAFgAACUAAFkAADkAAFcAAE0AAFUAAGEAAFMAAHMAAFAAAIEAAE8AAIoAAFAAAI4AAFIAAIwAAFQAAIMAAFgAAHgAAF0AAG0AAGAAAGIAAGIAAFcAAGIAAE0AAF8AAEUAAFoAAD8AAFIAAD0AAEoAAD4AAEIAAEEAADkAAEAAADEAAD8AACcAADoAAB4AADIAABUAACcAAA8AABgAAA0AAAwAAA8AAAAAABEAAPb//xIAAPD//xAAAO3//w4AAO3//wwAAO///wsAAPj//w0AAAUAABAAABAAABQAABoAABoAACIAACIAACcAAC4AACgAADkAACMAAEcAAB0AAFcAABMAAGUAAAUAAHIAAPn//3wAAOz//4EAAN7//4UAANn//38AAM///3oAAND//20AANT//04AAMv//0UAAOz//60AAMIAAJAAANwAAEQAAK4AAAEAAKoAALz//6sAAIv//7wAAHP//8AAAIj//8UAAKz//7oAAL7//5gAAMX//3IAANz//1YAAAUAADkAAE8AADIAAKUAAD4AAPIAAFwAAC8BAH8AAE0BAKMAAEwBAL8AAFEBANMAAHgBAOEAAK0BAOoAAMQBAPUAALoBAAABAKABAAQBAIEBAAgBAGABAA8BAFcBAAcBAG4BAPUAAIIBAOwAAHcBAN0AAEUBALwAAOoAAJkAAIkAAIgAADEAAIoAAPn//5oAAOX//5kAAO3//4sAAPX//28AAOP//z0AALX///7//3n//7z//1D//4P//0f//1X//2X//zj//53//zP//8T//zX//8z//0b//6n//1j//3n//1z//1T//1f//zr//0b//y3//zD//yj//yD//y7//yX//zT//0H//zz//1///1T//33//2z//5P//3H//5f//3H//4z//3v//4T//4v//4j//5r//5n//6X//6///7L//9P//7b//////6z//yoAAK///1IAAMj//3QAAO///5IAACoAAKIAAGsAAJUAAKUAAG8AAMMAAEEAALIAAB8AAHQAAAoAABgAAP3//7n//+v//3X//9L//0f//7v//zH//6L//yz//4T//xT//3n///D+/3r//+D+/4X//8f+/5T//6D+/53//4/+/5z//6H+/4r//8H+/3L//8r+/1n//9P+/zj///P+/xT//wv///b+/xr//+D+/0H//+X+/4L//wb//7j//z///9z//3////z//7X//xoAAN3//yEAAPb//xAAAAoAAPX//xIAAOL//xEAAM///woAAKz//wUAAIH//wQAAFz//wQAAEP//wMAADn///r//zf//+n//zv//9T//1r//8P//3j//7n//4L//7b//5D//7v//7D//8n//8b//+P//8f//wMAAMf//yYAAMv//0UAAMT//1UAALb//0sAALX//zcAAL3//x0AAMj///j//+j//8z//x4AAKr//1oAAJD//5YAAIX//8UAAIn//94AAJT//98AAJ3//8oAAJ///6MAAJr//2kAAKb//x0AAL3//9b//8H//6j//7v//43//8X//3v//9f//43//+H//9D//+7//yUAAAUAAHEAAB4AAL0AACgAAAEBACEAAB4BABcAAAwBAA0AAOoAAP3//8kAAOr//6AAAOr//20AAPr//0IAAA4AAC4AACcAADEAAEkAAEEAAG4AAGMAAIoAAJ0AAKMAAOcAALsAACkBAM0AAGEBANMAAI0BAM8AAJkBAMMAAG8BAKkAACMBAHwAAM4AAEQAAG0AAA8AAAIAANv//7L//6v//5H//4v//5L//4j//7H//57///z//8j//3AAAAoAAOUAAGMAAEwBAMIAAKUBAA4BAOABAEQBAOABAFkBAJ4BAEcBADkBABMBAMIAAMUAADkAAGQAAK7//////zr//6z///X+/3X//97+/1j//+n+/1P//yD//2j//3n//5b//9n//9T//ysAABYAAGgAAFEAAIsAAH4AAH8AAJ8AAEQAAK0AAOf//6QAAHf//4MAAP/+/0sAAJX+/wAAAFD+/6r//zr+/1D//1L+//z+/5L+/7n+//v+/5j+/4D//53+/wQAAMv+/20AACX//64AAKD//8UAACMAAKMAAJcAAEUAAOwAAMj//xUBAED//w0BALP+/9cAADf+/3gAAOz9/wQAANT9/4j//+b9/xf//yb+/8b+/5D+/53+/wj//5j+/23//7L+/7r//+H+/+j//xf//+f//0b//7f//2z//2v//4v//xb//5j//7n+/5D//17+/3T//xj+/0z///f9/yP///r9//n+/xr+/9n+/1H+/83+/57+/9X+/+z+/+j+/y3//wX//1///yn//4P//1D//5X//3P//5n//5f//43//7///3b//+P//2z//wAAAGP//xoAAFb//ysAAFz//zEAAID//y8AALH//ywAAOf//y4AACsAADYAAHIAAEIAAKQAAE4AAMUAAFMAAOEAAFkAAO0AAF0AAOQAAFYAAN0AAE0AANwAAEcAAOAAAEEAAOQAAEAAAOgAAEAAAOsAADkAAOoAACoAAOgAABMAAOMAAP3//9MAAP///7oAABEAAKUAABwAAKIAACoAAKYAAE0AAKsAAHcAAM8AAJoAABkBAMEAAG0BAPIAALkBACABAAgCAD0BAEwCAEkBAGgCAFABAFgCAFMBADkCAEsBABcCAEEBAOYBAEgBAKkBAFsBAHEBAG4BAE0BAIUBADkBAKIBAC4BALwBADQBAMkBAFIBAM8BAHoBANEBAJkBAMkBAK8BALQBALkBAJMBAJ8BAGkBAFMBADEBAO4AAOYAAIYAAJQAABUAAEgAAKX//////1n//8D//0L//5j//1H//5H//4T//6b//+z//9b//3sAACMAAAwBAIsAAJEBAPkAAAkCAFcBAF8CAKIBAHcCAM0BAE8CANMBAAcCALgBAKsBAIYBADkBAEIBAMMAAPsAAGMAAMYAAC8AAKkAACEAAKEAADEAAK0AAGcAAMwAALcAAP8AAAUBADoBAD0BAHEBAFkBAJcBAFMBAKcBABUBAKIBAKIAAIABAAsAAD0BAF///9sAAKz+/1oAAAn+/8L//479/xv//0j9/2/+/zX9/839/1L9/0b9/6L9/+v8/xn+/8P8/5n+/878/wb//xP9/1L//4b9/3H//wj+/0z//4P+/+H+/+H+/1X+/xP//7z9/xD//yb9/9b+/638/27+/3P8/+79/4L8/2X9/8z8//H8/079/7D8//z9/6n8/7n+/9X8/2P//yz9/+b//6T9/zAAACL+/zUAAJD+/+7//+v+/2f//yX//7r+/yz////9//v+/0T9/53+/6X8/yv+/0D8/7f9/yP8/0H9/0f8/938/5r8/6P8/wz9/478/4f9/5P8//79/6j8/2P+/838/6j+//j8/77+/yf9/6r+/2z9/2r+/839/wf+/zD+/5/9/4n+/0D9/9X+//j8/wn//9n8/xf///n8//7+/2L9/9H+/w/+/6b+//X+/4f+//D//3/+/9UAAJ/+/5kBAO3+/y8CAFv//3QCANf//1MCAF8AANwBAPAAACwBAHcBAFYAAOcBAGv//zACAJj+/zYCAAr+//ABAM79/20BAOr9/8sAAF7+/ycAAB3//5v//wAAAEv//+wAAEj//8EBAIL//1wCAOX//58CAF8AAIUCAOkAADACAHcBAL4BAA0CADkBAKYCAMQAADUDAIcAALEDAI0AAAEEANYAABQEAE0BAOoDAOcBAIgDAJ4CAAMDAGoDAIQCADUEADMCAOYEABQCAFYFACICAHEFAGACAD0FALwCAMMEABcDAAgEAGcDAB8DAKYDADICANUDAGwBAO8DAOQAAPADAKYAANkDAKMAAJ0DANgAADUDADcBAKgCAKMBAA8CABECAIsBAHoCADUBAM0CABUBAAcDACABACMDADgBABkDAEQBAOICAEYBAIACAEgBAAgCAFMBAJMBAGkBAC0BAIkBAO4AAKwBAOAAAMoBAPMAANMBABUBALABADYBAFcBAFQBAMwAAGQBACMAAFMBAIH//ywBAP3+//gAAKD+/7oAAHP+/20AAHf+/xQAALP+/7L//xv//0r//5///+L+/zgAAJP+/88AAH3+/1ABAK3+/7ABAAX//9EBAKz//64BAFUAAE0BAPcAAKwAAIoBAOP//+0BAAv//ykCAEj+/xoCALb9/+kBAFf9/24BACf9/84AABb9/+///xn9/xD//zH9/z7+/2P9/4r9/7H9/xv9/yT+/+v8/7j+/+/8/0L///T8/6v//yX9/+P//1/9/+f//779/9b//yX+/9T//6P+//L//yD//x4AAIr//zkAANH//y8AAAwAAPT//zMAAJP//0kAADX//30AAPP+/7MAANX+/+QAANP+//cAAN3+/9IAAO/+/5MAAPj+/x8AAPL+/5///9v+/yv//8D+/73+/6r+/1j+/6T+/+H9/7j+/4P9/9n+/w/9//n+/8n8/xL//438/x///4r8/y3//7X8/1P//wH9/5///3H9/wgAAPz9/28AAJX+/7MAAC///8IAAM3//6IAAF4AAGEAAOYAAAwAAFsBAL///68BAIj//9EBAFP//8YBAA3//5QBALX+/zIBAFf+/7oAAAj+/ykAAOL9/5b//+r9/wn//xr+/4H+/3f+//j9/97+/5v9/zX//1L9/37//yz9/7r//z/9//z//2H9/1cAALn9/7AAAB/+//AAAJf+/yQBABb//y8BAHz//xQBANT///0AADIAAN0AAH4AAJ8AALYAAFkAANUAAPv//9kAAH3//78AAA///5YAAKb+/2AAAFH+/zYAACH+/xAAAAL+/+L///r9/7f//w/+/3T//xj+/yH//yL+/8P+/zL+/3b+/zL+/zL+/zT+/wX+/zn+//z9/0v+//b9/2z+/wD+/5H+/wL+/7j+/w3+/+n+/zv+/yP//4D+/1P//9P+/4j//zT//8b//6X///z//wkAADIAAGwAAGkAANIAAJwAACgBAMkAAHcBANwAALUBAOEAANYBAN8AANQBAOwAALcBAO8AAHgBAP0AACoBAAsBANkAAAEBAIIAAAABAD8AAPMAABQAAPYAAPr//+oAAAIAANoAACIAANMAAEgAAL0AAG0AAKUAAJMAAJkAALgAAJsAANEAAJ0AAOAAAK8AAOEAALoAANgAAMAAANEAAMoAAMUAALsAAL4AALAAAMgAAKEAAOUAAJkAABABAKEAAEIBAMIAAHcBAPMAAK8BACUBANkBAEwBAPsBAHABABQCAJEBACICAKYBACACALgBAA4CAL8BAO0BAMMBAMABANEBAIcBAOkBAFEBAAMCACABACUCAO8AAEACAM8AADICAMAAAAYCAMMAAM8BANIAAJABAOMAAFcBAPAAACABAPkAAOAAAPYAAKYAAPYAAHgAAO0AAFEAANkAADoAAL8AACsAAJsAABIAAHQAAPr//1QAAOv//z0AAN///ysAAOP//yAAAOz//x4AAPL//zIAAP7//1MAAAEAAHgAAPH//5cAANz//6IAANP//5MAAOD//34AAAYAAGUAADAAAEIAAD4AAB0AACwAAPz//xkAANn//xcAAL///yoAAKv//0oAAJ///3AAAKP//44AALX//5wAAMf//5kAAND//4QAAND//2EAALv//yoAAKL//+f//5H//6L//4D//1///2j//yP//0r//+/+/yD//7v+//X+/43+/8P+/2/+/5v+/1j+/3/+/1L+/2b+/07+/17+/0P+/2j+/zv+/33+/z3+/5n+/z/+/6z+/zD+/6z+/1P+/6D+/4n+/4n+/6v+/3n+/87+/27+/7j+/2H+/5L+/1X+/2z+/1H+/0v+/2H+/2D+/4r+/57+/7T+/8n+/87+//T+/8r+/y3//7T+/0///6n+/1b//7P+/0j//8/+/zT//+T+/yD//+r+/wX//+j+//P+/93+/+7+/9D+//n+/8D+//j+/6H+/+X+/4r+/9H+/4r+/7H+/6D+/5H+/7j+/4T+/7j+/3r+/6H+/3T+/5j+/3f+/6f+/4j+/87+/7v+//v+//r+/xj//zb//yX//2f//zD//4D//0f//4r//2r//5r//3///7D//33//8P//37//83//4z//8v//7T//9P///X//+v//y4AAAMAAFIAABMAAFEAABoAAEQAACEAAFcAADIAAHgAAEkAAJEAAGkAAJIAAI4AAJYAALUAAKsAANgAANMAAPsAAPkAABwBAAoBAD0BAA8BAFQBABEBAGMBAB0BAG0BADQBAHQBAFEBAHgBAF0BAHsBAGYBAHUBAHIBAHoBAGwBAHYBAGkBAH8BAGIBAIkBAF8BAH8BAGQBAHIBAHgBAGQBAJQBAGUBAKcBAGoBALMBAHQBALYBAHoBAL8BAHwBANoBAH0BAP0BAH4BABYCAIEBABUCAIEBAAsCAHsBAAICAGoBAPgBAGIBAPQBAFwBAOUBAFwBANEBAFsBAMwBAFkBANQBAGkBAOIBAHsBAN8BAJ0BAL0BALsBAJUBAMcBAGcBAMwBAD4BANMBABkBANABAOgAAMIBAL4AAK8BAJoAAIsBAIEAAGcBAH0AADcBAHQAAPwAAHYAAMQAAHkAAJYAAG8AAHMAAHkAAEwAAI8AACEAAJ0AAP///6wAAPT//6kAAPX//60AAAMAAMEAABUAANsAACIAAP4AACkAAA4BACkAAAoBADMAAAABAEkAAOUAAGgAAL8AAIAAAI4AAJAAAFsAAJEAADQAAI0AAAwAAH8AAOX//2UAAMb//0QAAKX//yEAAJX//wUAAI7//wIAAHX//wcAAFv//w4AAD3//xEAABf//w8AAPP+//X//9f+/83//8L+/7P//6n+/33//5r+/zn//6L+///+/67+/7D+/9H+/2L+//L+/y7+/w3//w7+/yT//wb+/xX//wr+/wH//wT+/+H+//n9/6/+/wP+/4H+/xr+/13+/yr+/z7+/zj+/yX+/z/+/xH+/zb+/wr+/zH+//v9/y3+//j9/x7+/wf+/xf+/wT+/xD+/wf+/wP+/wv+//39//39//j9/wP+//v9/wL+/w7+//H9/yT+//b9/0D+/xX+/1z+/y7+/3f+/0z+/53+/3L+/73+/3r+/9H+/4f+/+n+/5n+//n+/53+/wH//6X+/w7//77+/xf//9L+/yX//+b+/yz//wf//yv//yD//yr//yj//x7//yH//wj//xL///D+/wb//8/+//n+/6b+//D+/4n+/+b+/3r+/9/+/4L+/+H+/5z+/+v+/8j+//X+/wv///f+/1L//xb//43//zj//7P//1H//8f//3n//8///7L//9f//+L//+T//wAAAAAAADkAABwAAHQAAEQAAKgAAHYAAN4AAJYAAP4AAKsAAAYBAMIAAAIBAN4AAO4AAPsAAMsAABQBAKwAACQBAI0AAC0BAIUAADgBAIsAAEEBAJQAADgBAKMAABkBALEAAOcAAK4AALQAAKUAAJMAAKAAAIwAAJAAAJUAAIIAAKUAAHYAALEAAGcAALAAAGcAAKwAAHkAAKYAAKUAAKYAAOcAAK8AADEBAM4AAIUBAPYAAM4BACgBAAYCAGIBACcCAIwBADACAJ0BACACAI8BAAUCAG0BAOoBAEgBANYBACkBAMoBABwBAMgBACoBAMABAEIBAK4BAGABAKIBAIUBAJsBAJ4BAJABALQBAIYBANgBAH8BAAgCAH8BADUCAIMBAEkCAI8BAEACAKgBABMCAMUBAM0BAOQBAIsBAAMCAEMBABUCAPUAAAoCAL0AAOgBAKoAALgBALIAAG0BANQAABQBAAoBAMUAAC4BAIUAACEBAFQAAOgAAD0AAI0AAEwAAB4AAG4AAMb//5kAAKD//8EAAKb//9IAAMn//8YAAP7//5gAAC0AAEoAAEUAAOz//0QAAJb//ygAAFX//wIAACv//+H//xT//8X//xL//7D//y3//5b//2T//3b//6L//2H//9f//1H///H//z7//+n//y///8r//y3//5r//zT//2T//zz//yn//zj//+f+/xv//6f+//T+/2z+/9b+/03+/8H+/1f+/67+/4L+/57+/77+/5T+//X+/5v+/xr//7L+/zD//8b+/zP//9H+/yX//9f+/xL//+T+/wT///7+//T+/xv//93+/yj//8T+/yX//7P+/yf//6v+/zD//6X+/z7//5b+/0n//5P+/1T//6v+/13//9j+/2D//wb//2D//yr//1z//zv//13//zr//2j//0D//3n//1n//4f//37//4P//6P//2v//7z//z7//8r//wf//9b//9v+/+b//8T+/+n//8r+/9j//+T+/8n//xT//8///0v//+z//3n//woAAKT//woAAMb//+H//9r//6f//9j//07//8H//+z+/5z//7L+/2///5z+/0n//6v+/zL//9j+/zH//xf//0H//0P//1n//zD//3j//+b+/5n//6j+/7D//7D+/8T///P+/8///3z//9j//w4AAPT//14AABQAAJAAAC0AALoAADYAAOkAAB8AAB4BAA0AAE4BAAkAAHYBABIAAKQBAEYAANQBAJwAAO0BAPoAAO4BAFcBAMwBAKMBAIQBAL4BAC4BAK4BAO8AAIcBANMAAG0BANcAAJ0BAAgBAAUCAFgBAHICAKgBAMsCAL8BAOECAJUBALICADcBAGQCAMgAAAYCAJAAAK4BALgAAHQBADUBAFMBALEBAD4BAP8BADkBABYCACMBAN4BAPUAAIgBALgAADIBAHIAAPoAACkAAPcAAPD//xoBAOj//0EBAA0AAEkBAFEAACUBAJQAAMkAAL0AAFkAAMYAAP3//6MAALn//3gAAKX//1wAALj//1EAAMv//1wAAMv//2oAAL7//2kAAKH//1gAAHr//zEAAEj///z//yf//8z//y7//5r//1f//37//5L//4n//7///6b//9L//9H//8////n//8b//wcAAML///r//8j//9f//9X//6b//9T//3b//8P//1v//6j//1H//4T//2L//2L//4X//0P//5P//yf//4X//xT//1L//xL//w3//xf//87+/xP//6P+/wH//5H+/+f+/5f+/9P+/6j+/8r+/8X+/83+/+r+/9n+/xz//+T+/0///+f+/33//9/+/57//9v+/7X//+/+/8P//xn//8P//1L//7f//5v//6D//+z//5b//zoAAJX//3gAAKT//6kAAM///9IAAAUAAOwAAEoAAP0AAJ4AAAEBAOkAAPsAACEBAPAAAE0BAOQAAGgBANwAAIIBANEAAKQBAMkAALQBAMYAALIBAMgAAKsBAM4AAJ0BANUAAIgBANQAAGwBAM4AAEEBAMgAACABAL0AAPoAAK4AAKoAAJ0AAE4AAH0AABsAAFAAAP3//yUAAM7//wkAALL//wkAAK///yMAALz//1oAANf//6IAAOH//+kAAP7//ykBADAAAFUBAFAAAGkBAGgAAGIBAIcAAEMBALQAAB0BAOUAAO4AAPwAALgAAAgBAIAAABIBAEsAAAsBABsAAOYAAOj//7cAAL3//6AAAJ///4IAAJb//1QAAKL//ygAALX//wMAAMT//+r//8P//9b//63//8D//4f//7P//1n//6v//zD//5L//xD//23///3+/0X//wD//wb//xD//6n+/yj//zr+/zj//739/zn//0v9/yr///L8/wn//7T8/9/+/7D8/7P+/9z8/3v+/xz9/zv+/239/wT+/7/9/979/wr+/8r9/0n+/7v9/3f+/6v9/5H+/579/6/+/4f9/8T+/1v9/9X+/zj9//T+/yv9/xf//yr9/zv//zn9/0///2z9/0b//8f9/xb//zr+/8j+/7D+/2r+/xv///z9/2z//4r9/5r//y79/6X///v8/5X//+z8/2X//wD9/xD//zD9/7r+/2j9/2/+/4/9/xz+/5H9/9L9/3v9/6P9/2n9/4H9/2j9/1j9/4H9/yv9/7L9/w79//L9/wL9/0L+//f8/5X+/+z8/+z+/+v8/0X////8/43//yf9/8b//2z9/+z//9j9/+///2H+/+f///v+/87//5v//5///ywAAGn//6UAAD///wkBADT//1wBAF3//6IBAKz//+0BAPv//08CAEwAALgCAI4AABIDAKcAAFIDAJgAAGcDAIAAAEEDAHsAAOECAIcAAFQCALsAAJgBABABAMQAAIEBAP3//+QBAFr//0sCAPD+/6ECAMP+//ACAOn+/zYDAGL//2wDAA8AAI0DANwAAJEDAMMBAHQDAJACAEMDADcDABQDAKQDANkCAMcDAKsCALcDAJ8CAJ4DALwCAKkDAPkCAOIDAFIDAFAEALwDAOwEABkEAL4FAEoEALcGAE8EAJkHACUEAC8IANIDAFgIAFEDAP8HANACAB4HAF8CAMYFADACAB8EAD4CAFoCAIsCALMAABkDAGj//9wDAJn+/7UEAFP+/2wFAJv+/+YFAEL///MFABkAAIMFAN8AALYEAIABAJsDANYBAFkCANgBACwBAK4BAD8AAGwBAJL//y8BACj//xYBAAL//0oBABj//9EBAF///4MCAIb//0ADAGf//+YDABz//1YEAMH+/04EAEz+/78DAPf9/74CALL9/2QBAML9/67//0D+/9r9/wP//yz8/w4AAN76/0QBACT6/18CAB36/xwDALz6/2UDAL/7/98CAPH8/6UBAAr+/x4AALX+/1P+/63+/5D8//r9/w/7/8/8/xT6/2v7/7f5/y76/wb6/1/5/8L6/2b5/7P7/2L6/8H8/zj8/5b9/5P+/yH+//wAAEX+/wwDAA3+/2kEAIT9/9UEANT8/xQEACz8/1YCAJP7/+///1X7/y/9/4D7/236/7f7/xT4//b7/5T2/1n8///1/8X8/zn2/0H9/zH3/8v9/7n4/zX+/4T6/5T+/z78/+T+/639/xf//7j+/0r//0D//2H//zn//x///9f+/6r+/0n+/yT+/8P9/5r9/4T9/xf9/7T9/6H8/1H+/2X8/z3//1/8/0QAAIv8/0sBABr9/y4CAAH+/7wCAOH+/9ICAJ///5ECAGcAACoCAAgBAK0BAG4BADIBAKMBANYAANYBALEAAPwBAJYAAA8CAGAAAC0CADAAAHECAAgAAMACALP///8CACn//wwDAM3+//ACAMn+/9cCAPn+/6UCAE3//z4CAPP//64BAO4AABcBAAoCAKMAAC4DAGkAAFAEAGAAAFQFAJQAAP4FAPUAAEsGAIABAHcGAEcCAI4GACkDAGoGAPYDABMGAI8EALIFAM4EAEcFAKYEAMcEAC4EAE8EAJ0DANYDABcDADkDAKkCAIICAGECAMgBAFACACcBAIcCAKUAAAoDAEAAALcDAAUAAIIEAAsAADIFAFQAAJUFAMwAAKEFAHABAEEFABkCAG8EAJsCADADANoCAMQBANMCAEMAAG0CANj+/8IBALP9//IAAAz9/xUAAOL8/1f//wv9/97+/3H9/8f+/w3+/w3//7P+/5j//yb//0AAAE7//98AADr//0kBAPD+/2QBAG3+/xIBANz9/0AAAD79/wj//8T8/439/3z8//z7/2D8/2/6/2f8/xz5/6/8/0D4/yT9//n3/7H9/xz4/y/+/6X4/4b+/4/5/6H+/5z6/5f+/5z7/2z+/3T8/xP+/xn9/6T9/3j9/1D9/639/w/9/8z9/938/+39/8r8/yT+/9z8/3/+/+38/xH///D8/8v//9b8/4gAAKz8/yEBAGz8/3QBACD8/3ABAOf7/wYBAMz7/zwAAPH7/yz//1D8/wH+//T8/+r8/9H9/xv8/+T+/6L7//j//537//EAAAD8/7IBAKf8/w0CAGf9/wcCABn+/7kBAKn+/zMBAPf+/6AAABz//ywAADr///f//2T///H//7T//ycAAEYAAI4AADkBACUBAHUCAL4BANYDABgCADAFACECAG0GABECAFgHANwBALYHAJYBAIsHAGwBAO8GAF4BAOUFALUBAIAEAF4CAAgDAE0DALIBAHUEAL8AAK4FAFAAAKUGAH8AADEHACMBACcHAP0BAEMGANUCAN0EAGADACkDAE8DAFEBAHsCAJz//xUBAD7+/1D//339/4D9/1j9/wX8/8/9/zP7/5L+/2T7/4X//5b8/2UAAKH+/wUBAAgBAEwBAGwDACgBAF8FALIAAJMGAPT//8MGACj//9YFAGb+/xQEANP9/8kBALj9/0X//9r9/9/8//v9/wn7/zr+/xP6/5b+/+n5//n+/3P6/3L//5f7/+L//xf9/zYAAJ7+/4IAAOD//6wAALIAAL8AAAcBAM8AALwAAJwAAOb//wgAAMb+/0v//4/9/3v+/4P8/6f9/+P7/9D8/8f7/xX8/yf8/5z7/9j8/037/679/0n7/5D+/7j7/1H//2L8/7j//+78/7z//3r9/5H////9/1P//1T+/xH//3b+/+X+/3v+/+r+/5b+/xv//6b+/zT//7r+/zD///7+/yz//3L//wr//+///4r+/1sAAOT9/4QAAIj9/6AAAG39/7oAAGz9/6AAAJr9/0UAACn+/8T///P+/0v//9D//xH//7IAAAr//5YBAD///0kCALX//5MCAEwAAJ8CABEBALECAAgCALICAPMCAIQCAKQDAEcCAO8DABoCALcDAOsBAAIDALwBAAgCAKUBAAkBAHsBACMAACcBAGb//74AAO7+/10AANr+/x4AAFH//////zkAAAwAAHQBAFYAAOYCAPwAACoEAOoBAA8FAAwDAHgFAD0EAFQFADkFAHIEALwFABEDALQFAI8BAB4FAPD//94DAJT+/z4CAL39/2oAAKj9/6L+/zD+/y79/zT//1X8/58AAEP8/28CAAj9/ywEAH7+/5AFAGUAAFMGAIcCAG4GAI4EANIFACoGAIwEAP4GALMCAO4GAJ4AAO4FAOD+/zUEAH/9/+ABAIb8/zX//wr8/6v8/1T8/9/6/z39//T5/3b+/735/8v//4H6/+EAADT8/5sBAFX+/xYCAIkAAD8CANoCAMMBAM8EAPYAAOQFAB0AAOkFAAv//+EEANv9/xUDAPj8/8EAAI/8/yb+/1n8/477/278/3X5/6P8/y34/xL9/7f3/8j9/yD4/6b+/2L5/2D//0X7//3//1v9/1EAAH3//4IAAG4BAIwAAN0CAEMAAJ4DAKn//84DAOT+/10DADb+/2QCAJ39/xwBABz9/6L//8v8/wz+//78/4j8/379/yv7//79/yL6/5j+//75/z///9L6//r//zT8/6IAALj9//gAAF7///MAAAUBANEAAD4CAHEAANUCAA4AABkDAIf///sCAPv+/1wCAJD+/2kBADv+/3MAAB/+/27//1L+/3X+/9L+/7z9/3r//xT9//r//6n8/x0AALf8/zoAAHj9/5gAAMj+/8MAAG4AALAAANkBAEkAAPICAPr//7cDANb//xAEAPH//94DADoAADwDAJgAAFMCANoAADsBAC0BACwAANsBAFX//5cCAMj+/ygDAGz+/1kDAEf+/14DAEj+/yYDAIn+/7cCAE3//zcCAGwAAMABAIwBAC0BAHICAKoAABQDAGUAAJIDAFYAAOIDAIEAAMIDAL8AACYDANMAAFMCAM8AAIcBANkAAPIAALYAAIkAAIgAAFAAAHcAAE4AAEkAAHQAAPD//6oAALf//9MAAJL//wsBAIH//1kBAKD//6UBAMP//40BAOz//08BAO///wQBAP7//3wAACMAAL3//2kAACb//58AAML+/54AAEf+/4sAAMX9/48AAGD9/7QAAEL9/8kAAH/9/+cAAPb9/9sAAHP+/4cAAN7+/yIAAEP//+T//7r//7T//ywAAFP//3kAAN/+/4UAAEv+/1cAAOX9/wsAAK39/8T//5z9/4j//7v9/0T//+D9/+z+///9/5z+/wj+/1b+/zH+/0X+/1r+/3T+/3P+/67+/2T+/8/+/0X+/9/+/xb+/8f+/+H9/47+/879/2b+/8P9/1j+/7X9/y7+/6j9/9v9/7v9/5D9//L9/3b9/0j+/3n9/5b+/3/9/9D+/6v9/xf//wv+/1X//2f+/4v//7n+/7T//x///+H//6T//wQAACoAABMAAJoAACQAAO0AAEAAACgBAF8AAEMBAHEAAEgBAKIAAEkBAOIAAEUBAAwBADkBACEBABcBACQBAPIAADMBANwAAFUBANgAAGoBAOQAAGABAAIBAGcBABIBAHABAA0BAHgBAA8BAIEBACwBAIYBAFQBAIABAGwBAGkBAG0BAFQBAFwBAD0BAEIBADEBACgBACYBAB4BACEBABMBAA8BAPwAAPkAAOQAAPQAAN8AAO4AAPsAAPcAACkBAAMBAFEBAP4AAHIBAOwAAJIBAO8AALABAPQAAMYBAP8AAM0BABIBAMUBABEBAKsBAAABAHsBAO0AADYBAOoAAOkAAPAAAKcAAPYAAG4AAPwAADIAAP0AAPv///wAANz///oAAM////MAAM7//+gAANL//+UAANj//8wAANb//5QAANP//2QAANv//0IAAOz//xYAAPL//+j//+L//8f//8v//57//6X//33//3b//23//1H//2z//zz//23//zX//27//yr//1n//yH//zX//yn//yT//0H//wz//1f//97+/2L//67+/2X//4n+/13//2P+/1D//0T+/z7//zb+/zH//yr+/yv//zD+/xf//yz+//r+/zv+/+T+/1f+/9n+/2H+/9v+/5j+/+z+/73+/wL//7j+/x3//+z+/zv//wD//1z//xb//4L//2j//6b//37//8D//5D//8v//7X//8n//6n//8b//57//8L//67//7r//87//6X///7//4v//ysAAG///zgAAFD//0EAADD//1kAABv//2cAABP//1IAAAz//z0AAAT//ycAAAT//w4AABP///b//yr//9j//0L//8j//17//7n//3r//4///5T//2j//6n//07//8P//0P//9///zD//wkAAAb//zgAANv+/2EAAML+/4YAAMf+/7UAAOP+/+QAAPv+/wwBABn//zEBAEX//00BAHD//1sBAKP//1QBAMr//0IBAP///zIBAD0AABUBAGYAAOcAAKsAALgAAAMBAHoAAEQBADkAAI4BAAkAALYBANL//8ABALH///EBAKv//xcCAJz//ycCAKr//0ICAL7//0QCAL7//y0CANf//w8CAPT//9sBAA4AAKUBACYAAH8BAEEAADoBAGYAAPAAAJQAAMgAAMkAAJkAAN8AAGgAAO8AADwAABIBAPv//zABAMb//z8BAKH//0UBAGP//0wBACj//0wBABb//yoBAAP///oAAPj+/94AAAf//8IAAAr//54AABn//2IAAEb//x0AAHD///L//5H//87//7j//6T//+H//4X//wgAAIL//zEAAIT//1kAAHb//4AAAH7//6YAAJ///8AAALD//80AAMD//9sAANj///AAAN3//wcBAPz//xIBAC4AABkBAEcAAB8BAGYAAB0BAIgAAB4BAIYAACUBAHcAACQBAHoAAB8BAHQAAB8BAGgAABMBAH4AAP0AAIYAAOYAAIAAAMoAAIoAAKsAAIIAAIgAAHIAAFwAAFQAACgAACYAAPT//wsAAMb///r//5f///P//2v///P//0r//+j//yX//+D//wP//97//+r+/9v//9T+/+D//8n+/+7//8j+/wIAAMX+/xIAAND+/wkAAOH+//L///f+/+D//xf//9H//zn//7r//1f//67//3z//5v//6P//4D//8v//2z///n//1P//yIAAD///0oAADv//2oAAC3//4IAABv//5UAABP//6EAABL//6kAAB7//6kAAC///6EAADX//4wAADr//3AAAEr//04AAGH//yUAAH3///v//5j//9H//6X//6X//7n//33//9n//1T//+///yr///r//wn//wIAAPP+/wEAAN/+/wkAAM7+/w0AAMH+/wAAALT+/wIAAK7+/wcAALD+//X//7f+/+H//8n+/87//+T+/7r//wD//6b//x7//47//z3//3v//2D//3D//4b//2j//6f//2T//8X//2L//+L//2X///z//3n//xUAAJH//zAAAJ///0sAALP//2kAANj//4MAAP7//5kAABoAAKgAACgAAKsAADEAAKkAADgAAJ4AAD8AAJEAAEEAAH4AADkAAGkAADcAAFkAAEEAAEoAAEQAAEUAADsAAEgAAC8AAE4AACQAAFEAACQAAFEAACgAAEkAACMAADwAAB0AACcAACEAAAsAACsAAOr//zEAAMr//zsAAK7//0gAAJX//1EAAIb//1gAAIP//14AAI3//2QAAJz//28AAKv//38AALf//4YAAMH//4sAAMn//48AANL//5EAANv//5kAAOf//58AAPX//5QAAAMAAIQAABQAAGwAACsAAEgAAEYAACwAAGUAAA8AAIMAAPH//50AAN///6sAAMH//64AAJ3//6kAAIL//54AAG3//48AAGX//38AAGL//28AAGX//1cAAG3//zoAAIH//yMAAJj//wMAAKz//+X//8D//87//9T//6n//9v//4f//+L//2z//+v//03///X//zz//wEAADL//woAACj//wYAAC7//wQAADT//wQAADv//wgAAE3//xkAAF7//zQAAG///1AAAIf//14AAJv//2IAALL//1YAAM7//0oAAOj//zsAAAQAACoAACIAABYAADwAAAQAAFQAAPf//2oAAO7//3gAAPH//4QAAPr//5AAAAMAAJUAAPr//5YAAN3//5AAAMD//4MAAK3//3MAAK3//2EAALT//00AAMD//zkAAMT//yQAAMn//xEAANH//wAAANb///X//9z//+3//97//+r//9r//+v//9T//+7//9b//+3//+P//+n///v//+T//xkAANr//zAAAM///zgAAMP//zAAALT//yUAAKv//x8AAKj//yIAAKj//zAAAK///z4AALz//0cAAMr//0gAAN///0UAAPb//z4AAAkAADMAABwAACIAACoAAAsAADIAAPL//zkAANv//0IAAM3//0oAAMr//1gAAMv//2YAAMj//24AAMH//3AAALz//2sAALr//18AAL///04AAMf//zYAAM///xwAAND//wEAAMr//+b//8f//8///8///8D//+T//7v//wQAAML//x8AANT//y8AAO7//y0AAAoAACIAAB4AABwAACoAACMAADMAAD4AADsAAGgAAEQAAI8AAE8AAKgAAFoAAK4AAGYAAKoAAG4AAKEAAHIAAJcAAHUAAIwAAHYAAIIAAHgAAHgAAHcAAGwAAHAAAFwAAGIAAEgAAFsAADUAAGAAACYAAHAAABoAAIMAAA8AAI8AAAYAAI4AAAEAAIQAAAQAAHgAAAkAAHAAAAsAAGkAABMAAF0AACEAAFMAAC0AAEwAAEMAAEgAAFwAAEUAAHAAAEUAAIkAAEUAAJ0AAEIAAKYAADoAALAAADEAALsAACcAALkAABwAALkAABYAALYAABMAAKUAABUAAJcAABkAAIoAACEAAHAAAC0AAFsAADcAAEcAAD8AACwAAEYAABQAAEkAAPv//0UAANv//zQAAMH//yIAAKT//w8AAH///+z//2H//8v//0f//6r//yv//4z//xn//3H//wv//1X///n+/zr//+7+/yX//+f+/xP//+X+/wD//+r+//X+//P+/+3+/wD//+X+/xb//+P+/yf//+L+/zb//+j+/0n///b+/1v//wX//2v//xb//37//yb//5L//y7//6P//zP//7v//zj//8r//0b//9j//1L//+z//1z///T//2z///r//3X//wIAAH7//wMAAIz//wUAAJj//wgAAKn//wUAAMf//wIAAOH///z///f//+3//xAAAOL//yYAANn//z0AAMr//1oAAMH//3IAALn//4gAALH//5AAALX//4oAALb//4QAALP//4UAAL7//3gAAM///2QAAOL//1MAAPn//zgAAAkAABsAABMAAAcAAB8AAPP//ykAAN7//zUAAMv//0QAALz//0sAAL7//0gAALz//z4AALT//y0AAK///x0AALD//xcAAK7//xYAALf//xcAAL3//xcAAMH//w0AAL3//wAAALn///H//7j//+X//77//97//8j//9X//8b//8r//8n//77//8v//63//8r//5f//8n//4L//8z//3D//8n//2L//8j//1z//8r//1r//8///1z//9n//2H//+L//2f//+r//2r//+7//2////X//3r///7//47//wcAAKf//wcAAL7//wMAANL///7//+P///P///D//+z///3//+r//xAAAOr//yYAAOb//zcAAOL//0UAAOL//1MAAOn//2AAAPX//2wAAAIAAHkAAAsAAIQAABQAAIkAACEAAIkAADIAAI0AAEcAAJEAAF0AAJIAAGsAAI8AAHMAAIcAAHsAAH0AAIkAAHYAAJcAAHMAAKAAAHIAAKQAAG8AAKQAAGoAAKEAAGUAAKEAAGQAAKYAAGkAAKsAAHEAAK0AAHwAAKwAAIQAAKsAAIgAAK8AAJEAALoAAJ4AAMoAAKsAANUAALkAANsAAMYAAOEAANEAAOQAANkAAOQAAOEAAOkAAOkAAOsAAOsAAOEAAOgAANMAAOIAAMcAANoAALsAANIAAK4AAMgAAJ0AALwAAIoAAKoAAHMAAJUAAFsAAIIAAEgAAHQAADsAAGcAAC8AAFYAAB8AAEMAABEAAC8AAAgAABkAAAEAAAkAAPv///////n///T///X//+T//+///9P//+b//8P//+D//7f//93//7L//9n//7L//9P//7H//87//6z//8v//6n//8n//6j//8X//6z//8D//7X//7v//7z//7b//7z//7L//7v//6z//7r//6j//7v//6j//8D//6j//8f//6X//8n//6X//8b//6v//8L//6///77//7H//7///7L//8D//6///7z//67//7P//6z//6f//6r//53//6j//5r//6b//5v//6H//5r//5r//5T//5D//4v//4n//4j//4n//4v//4j//5H//4b//5n//4f//5///43//5///5f//5z//6L//6H//6///6///7j//77//77//8j//7///8v//7///8r//8P//8r//83//9L//9j//+L//97//+///+L///n//+b//wAAAOz//wQAAPT//wwAAPv//xoAAAIAACkAAAcAADMAAAoAADgAAA4AADgAABUAADcAAB4AADcAACkAADQAADIAADMAADYAADAAADsAACoAAEMAACEAAEwAABsAAFIAAB0AAFQAACQAAFYAACoAAFgAACcAAFkAABoAAFkAAAsAAFgAAAcAAFMAAAoAAEoAAAwAAEAAAA0AADoAAAsAADUAAAcAAC8AAP///yYAAPf//x0AAPn//xcAAAEAABUAAAUAABQAAAEAABMAAAMAABIAAAkAAA8AAA0AAA0AABcAAA0AACMAABIAAC4AABcAADEAABgAACsAABcAACIAABUAACEAABUAACYAABYAACoAABYAACoAABMAACkAABAAACgAAAwAACUAAAsAACEAAAwAABwAAA0AABgAABAAABAAABUAAAIAABgAAPP//xsAAOz//xsAAOz//xkAAOr//xcAAOP//xQAAN3//xUAANf//xkAANf//xoAANf//xkAANf//xQAANf//xAAANT//wwAANL//wkAAM7//wUAAM///wEAANT///3//9r///n//9v///P//9v///H//9z//+7//93//+v//93//+b//9r//97//9j//9n//9n//9T//9n//8///9r//8v//9r//8f//9n//8L//9f//7///9L//7v//8v//7T//8b//63//7///6f//7j//6L//7P//5z//7L//5b//7L//5H//7L//4v//7T//4f//7b//4b//7j//4j//7v//47//8L//5f//8j//6T//9H//7T//9z//8b//+j//9j///b//+v//wUAAAAAABQAABUAACAAACwAACwAAEIAADcAAFoAAEAAAHAAAEwAAIUAAFoAAJkAAGkAAKsAAHoAALsAAIYAAMcAAJAAAM4AAJYAANEAAJgAAM8AAJYAAMoAAJQAAMMAAJEAALgAAI4AAKwAAIsAAJ8AAIoAAJEAAIUAAIIAAH0AAHAAAHAAAF8AAGAAAEsAAE0AADgAADsAACMAACsAAAwAAB0AAPT//w8AANv//wIAAMD///T//6n//+b//5j//9j//4n//8r//3v//7///3D//7b//2X//6///1r//6r//1j//6f//1n//6L//1r//6D//13//5///1///5///2T//6P//3H//6f//3z//6n//4n//6r//5r//6z//6j//67//7b//7H//8P//7X//9D//7n//+D//77//+7//8P///n//8n//wMAAM///wkAANb//wwAANv//xEAAN///xUAAOT//xkAAOj//xwAAO7//x4AAPT//yEAAPr//yEAAP3//x8AAAAAABwAAAEAABkAAAAAABUAAP///w8AAAEAAAgAAAYAAAAAAAsAAPj//w4AAPD//xAAAOX//xAAANn//wwAAMz//wgAAMD//wUAALb//wQAAK7//wUAAKj//wkAAKb//xAAAKj//xcAAKz//xsAALL//x0AALv//x0AAMb//xwAANP//xwAAOH//x8AAO7//yQAAPr//yoAAAUAAC4AAA8AADIAABwAADQAACsAADUAADwAADQAAEoAADMAAFkAADMAAGMAADMAAGkAADIAAHQAADEAAH4AACsAAIIAACcAAIUAACIAAIEAABwAAH0AABoAAHwAABgAAHYAABIAAHAAAAwAAGsAAAYAAGEAAP///1QAAPj//0UAAPL//zYAAO3//y4AAOn//yUAAOf//xcAAOb//wgAAOj///P//+r//9r//+n//8P//+b//6z//+L//5n//9z//4z//9f//4L//9T//3///9P//3z//9T//3j//9b//3f//9b//3v//9L//4D//83//4f//8f//4v//8D//4z//7n//4///7H//5b//6v//6P//6n//7L//6f//7z//6j//8L//6v//8X//6///8n//7H//9H//7P//9v//7X//+f//7f///T//77//////8X//woAAM7//xYAANf//yQAAN7//zcAAOj//0kAAPP//1UAAP7//2IAAAwAAG4AABwAAHYAACoAAH8AADcAAIUAAEAAAIkAAEYAAI4AAE0AAI0AAFQAAIYAAFgAAHoAAFkAAGsAAFgAAFkAAFQAAEcAAE4AADcAAEcAACkAAEAAABwAADoAAA4AADIAAPz//ywAAOn//ycAANf//yMAAMj//yAAAL7//x0AALj//xkAALX//xYAALP//xIAALT//w4AALX//woAALf//wUAALr//wEAAMH///z//8b///r//8j///j//8b///X//8X///j//8f///f//87///b//9r///n//+j///r///b///r//wEAAP3//woAAAMAABQAAAMAACEAAAcAADMAAAkAAEkAAAsAAF4AAA0AAG0AAAsAAHUAAAoAAHgAAAYAAHYAAAgAAHEAAAsAAGcAAA0AAFsAABkAAEsAACEAADwAACoAADAAADYAACgAAD4AACQAAEgAACAAAE0AABsAAFMAABQAAFMAAAwAAE8AAAYAAEwAAAEAAEEAAPz//zcAAPr//y8AAPf//yYAAPH//x4AAOv//xUAAOX//wsAAOH//////+D///P//9z//+n//9X//9z//8v//9P//77//8n//67//8D//57//7n//43//7D//3///63//3T//6r//2r//6r//2b//67//2b//7L//2r//7f//3L//77//37//8f//47//87//6H//9P//7X//9r//8v//9z//+H//9z///L//9r///7//9j//wYAANb//wwAANL//xEAANH//xUAANL//xcAANL//xcAANP//xMAANL//w8AANH//wgAAM3//wMAAMr///3//8f///f//8T///P//8P//+3//8L//+j//8b//+T//8v//+P//9P//+b//93//+z//+j///P///f///r//wIAAAAAAA8AAAQAAB0AAAQAACgAAAMAADEAAP7//zcAAPf//zoAAO7//zwAAOX//zwAAN7//zgAANv//zQAAN3//y8AAOT//ygAAPD//x8AAP///xUAABAAAAoAACEAAP///zIAAPX//0AAAOr//0kAAN7//08AANP//1EAAMf//04AAL///0kAALr//0IAALj//zsAALv//zIAAMD//ykAAMf//x8AANH//xMAANz//wYAAOj///j///T//+n//wAAANr//w4AAM3//xwAAML//ycAAL3//zUAAMD//0EAAMn//04AANn//1sAAO7//2YAAAgAAG8AACUAAHUAAEIAAHQAAF8AAG4AAHYAAGQAAIkAAFEAAJYAADoAAJgAAB8AAJAAAAIAAIAAAOb//2kAAMn//0wAALD//y0AAJv//w0AAIn//+7//37//9L//3v//7r//3///6f//4n//5j//5z//4///67//4j//8T//4b//9z//4n///D//5P//wQAAKP//xYAALn//yUAANP//zAAAPL//zsAABAAAEUAACwAAE8AAEIAAFgAAFEAAGIAAFkAAGwAAFkAAHUAAFIAAH4AAEcAAIUAADoAAIoAAC0AAIsAACYAAIcAACgAAH0AADQAAGoAAEcAAFAAAF4AADAAAHoAAAoAAJYAAOL//60AALv//7sAAJf//78AAHz//7QAAG3//50AAGv//3cAAHj//0oAAJT//xUAAL3//+P///L//7X//y0AAJf//2kAAIT//58AAIX//8sAAJn//+gAALf///QAANv//+0AAAEAANMAACQAAKoAAD0AAHYAAEcAADwAAEIAAAIAADQAAMz//xYAAKT///T//4r//83//3///6r//4P//4v//5X//3n//67//27//8j//3D//97//3r//+v//4n//+v//5j//93//6T//8P//6z//6H//67//33//6z//1z//6v//0T//6v//zj//6j//zv//6L//07//6j//27//7b//5j//8j//8j//9v///n///b//yUAABcAAEkAAEAAAGQAAGYAAHQAAIoAAHgAAKkAAHQAAL0AAGoAALgAAFsAAJYAAEsAAFwAAD8AAB0AADcAAOH//zQAALL//zQAAJj//zcAAKL//zkAAMr//zYAAAMAAC0AADwAAB0AAGoAAAUAAIEAAOj//4IAAMv//2YAALL//y8AAKH///D//53//7///6f//5n//8H//3z//+X//3P//w4AAH7//zUAAIr//1IAAI3//2QAAIn//2QAAHv//1AAAGv//ykAAGL///j//2T//8L//3D//5D//4v//2r//7f//1T//+j//0///w0AAF3//x4AAHr//yQAAKL//x0AANH//w4AAAMAAP///y8AAPz//1EAAAUAAGQAABYAAGQAAC0AAFQAAEQAADgAAFUAABAAAFYAAOL//0QAALf//x8AAJT///H//3r//8r//23//7b//3L//7n//4z//9H//7j///r//+3//zEAACQAAGwAAFkAAJYAAIYAAKYAAKQAAKYAAKwAAJsAAKMAAIgAAJQAAHIAAIAAAF8AAGoAAFUAAFgAAFUAAE0AAFgAAEwAAFQAAE4AAEgAAFAAADYAAE0AACIAAEYAAAoAADgAAPb//ycAAOf//xQAAN///wEAANr///P//9j//+7//9j//+z//93//+r//+b//+v//+7//+v///T//+z///f//+7///X//+7//+///+3//+X//+///9X///H//8L///X//7H///j//6P///b//5v///P//6D//+v//6z//93//8L//8///9///8j//////8j//yEAAM///0cAAN7//2kAAPL//4IAAAsAAJYAACcAAKcAADwAALMAAEYAALsAAEUAAL4AAD8AALgAADUAAKgAACcAAJAAABcAAHYAAAcAAFwAAPr//0UAAPP//zIAAO3//yIAAOz//xQAAPL//wcAAAIAAPv//xgAAOz//zAAAOD//0YAANj//1YAAMz//2MAAMT//2wAAL///28AAL3//24AAL3//2oAAL///2IAAMT//1gAAM///00AANn//0AAANv//zAAANf//x8AAMz//wwAAL3///b//7L//9///6v//8r//6v//7X//6///6X//7j//5z//8f//5f//9b//5f//+X//5n///n//5v//w4AAJ///yAAAKL//zIAAKb//0UAALD//04AALz//1IAAMv//1EAAN///0oAAPX//z8AAAUAADUAABIAACsAAB0AACIAACMAAB8AACYAAB8AACcAACAAACgAACUAACsAACoAAC8AACwAADQAACsAADcAACcAADcAAB0AADYAAA8AADUAAAAAADEAAO7//yoAANf//yMAAMH//xwAAKz//xMAAJf//woAAIf//////37///P//3j//+f//3f//9n//3z//8r//4D//77//4T//7T//4v//63//5L//6v//5r//67//6T//7b//7L//8P//8L//9D//9T//93//+f//+j///j///H//wYAAPf//xEAAPz//xYAAPz//xcAAPj//xQAAO///xAAAOL//wkAANP//wQAAMD//////63///r//5z///b//43///P//4L//+///33//+z//3v//+j//3///+L//4b//9z//5D//9L//5z//8f//6r//73//7j//7P//8b//6n//9P//6D//9///5X//+v//4z///X//4X///7//4D//wcAAIL//xAAAIv//xcAAJr//yAAAK///ycAAMf//y4AAOP//zYAAP///z0AABwAAEMAADgAAEsAAFAAAFIAAGMAAFgAAHMAAF4AAH8AAGQAAIcAAGkAAI0AAGsAAJAAAGwAAI4AAGoAAIoAAGQAAIMAAFkAAHkAAEsAAGwAADoAAF4AACcAAFAAABIAAEEAAPv//zMAAOX//ykAANP//yMAAMT//x4AALr//x0AALX//xoAALT//xYAALj//xEAAL///wkAAMj///7//9L///D//9r//+D//+L//9H//+b//8P//+j//7X//+f//6r//+H//6P//9r//57//9X//5z//9L//57//8///6P//8///6r//9P//7T//9j//8H//+H//9H//+7//+L//wAAAPb//xIAAAsAACcAACAAAD4AADIAAFAAAEIAAGAAAFAAAG0AAFoAAHUAAGAAAHgAAGEAAHkAAF8AAHUAAFwAAG0AAFgAAGQAAFQAAFkAAFQAAE0AAFYAAEEAAFwAADYAAGMAACwAAGwAACQAAHQAAB4AAH0AABkAAIQAABgAAIgAABgAAIgAABkAAIUAAB0AAH8AACMAAHYAACoAAGwAADEAAGEAADgAAFQAAD8AAEYAAEIAADkAAEMAACoAAEAAABsAADsAAAwAADUAAAAAACsAAPT//yEAAOv//xYAAOj//w0AAOj//wcAAOz//wUAAPP//wUAAPn//wkAAP7//xEAAAIAABkAAAMAACIAAAAAACoAAPr//zAAAPL//zMAAOr//zIAAOH//y4AANr//yUAANT//xgAANL//wcAANL///n//9P//+7//9f//+H//97//9j//+b//9P//+///9D///r//9D//wcAANX//xQAAN///yQAAOv//zYAAPv//0YAAA4AAFQAAB4AAGAAACwAAGcAADgAAGkAAD8AAGYAAEIAAFwAAEMAAE8AAD4AAEAAADUAAC4AACwAABwAACAAAAkAABIAAPj//wUAAOr///f//9///+3//9X//+b//87//9///8j//93//8T//9z//8H//9z//77//9v//7v//9v//7X//9r//63//9n//6T//9f//5n//9H//4v//8f//3z//7v//23//63//2D//5///1b//5H//03//4L//0r//3b//0n//23//07//2f//1f//2b//2T//2v//3H//3L//4P//3z//5b//4j//6r//5X//77//6L//9H//7D//+L//77///L//83//wAAANf//wsAAOH//xMAAPD//xgAAPr//xsAAP7//xsAAAMAABwAAAgAABsAAAkAABsAAAoAABsAAA8AABwAABQAAB8AABkAACMAAB8AACYAACUAACkAACwAACkAADAAACUAADIAAB8AADMAABcAAC8AAA0AACgAAAEAACAAAPT//xQAAOn//wQAAN3///T//9T//+X//8v//9X//8P//8b//7v//7j//7P//6z//6r//6T//6H//53//5n//5r//5P//5n//5D//5z//5H//6H//5b//6n//53//7X//6b//8D//7D//8v//7v//9j//8j//+T//9P//+3//+D///X//+z///z///j//wMAAAMAAAgAAA8AAAsAABkAAAwAACMAAAwAACwAAA0AADUAAA4AAD0AAA4AAEQAAA8AAEkAABAAAE0AABAAAE0AABAAAEoAABAAAEQAABEAADwAABEAADMAABIAACoAABMAACEAABIAABkAABAAABMAAA4AAA4AAAwAAAsAAAkAAAgAAAUAAAcAAAMAAAQAAP///wIAAPz///7///r///n///n///T///n//+7///r//+f///v//+L///3//97//wAAAN3//wIAAN7//wQAAOH//wYAAOX//wcAAOr//woAAPL//wwAAPn//w8AAAAAABIAAAYAABQAAAoAABYAAA4AABcAABMAABUAABgAABIAAB8AAA0AACYAAAkAACwAAAYAADEAAAQAADQAAAIAADkAAAIAAD0AAAQAAEAAAAgAAEIAAA0AAEIAABEAAEMAABoAAEIAACIAAEEAACQAAD4AACkAADsAADAAADsAADEAADoAAC8AADgAADIAADUAADUAADQAADUAADMAADUAADQAADkAADUAADwAADQAAD4AADAAAEEAACwAAEIAACoAAEQAACgAAEMAACYAAEEAACUAAD8AACEAADwAAB0AADkAABoAADYAABkAADQAABgAADIAABcAADAAABYAAC8AABQAAC4AABEAACoAAA8AACcAAA4AACIAAA4AABsAAA4AABMAAA4AAAoAAA0AAAEAAA0AAPn//w8AAPH//xIAAOn//xYAAOT//xcAAN///xcAANv//xQAANv//xAAANr//wwAANv//wcAANv//wIAAN3///7//+D///r//+P///X//+X//+///+f//+n//+v//+b//+3//+T//+///+T///L//+H///X//93///n//9z///3//9///wAAAOT//wQAAOv//wgAAO///w0AAPL//w8AAPP//xIAAPb//xUAAPv//xcAAAAAABoAAAQAABwAAAcAAB0AAAgAAB0AAAcAAB4AAAgAAB0AAAwAABgAABEAABUAABUAABQAABcAABMAABUAAA8AABIAAAsAABMAAAYAABYAAAEAABkAAAAAABgAAAAAABQAAAMAAA8AAAUAAA0AAAcAAAwAAAYAAAwAAAgAAAwAAAwAAA0AABEAAA0AABYAAAoAABkAAAcAABkAAAYAABcAAAQAABQAAAQAABEAAAQAAAwAAAIAAAcAAP7//wAAAPr///n///j///H///f//+v///f//+X///T//+H//+///93//+j//9j//+P//9P//+D//83//93//8n//9j//8f//9D//8b//8j//8P//8H//8H//7z//8D//7r//7///7n//8D//7f//8H//7X//8T//7X//8b//7b//8r//7j//8v//7r//87//73//9H//73//9b//73//97//7///+L//8H//+j//8P//+v//8b//+3//8r//+///83///D//9L///T//9f///n//9z///n//+P///j//+r///P///D///H///b///L///v///L//wIAAPT//wgAAPH//wsAAOz//w8AAOf//xAAAOT//xEAAOT//xIAAOT//xMAAOb//xIAAOf//xEAAOT//w8AAOP//w4AAOf//w0AAOn//wwAAO7//woAAPL//wYAAPP//wEAAPL///r///L///T///X//+////n//+r///3//+T//wEAAOD//wIAANz//wQAANr//wQAANj//wUAANn//wYAANr//wgAANr//woAANr//woAAN3//wkAAOD//wYAAOP//wcAAOj//wsAAO7//w4AAPL//w8AAPn//w4AAAMAAAwAAA4AAAsAABgAAAkAAB8AAAoAACcAAAoAAC8AAAkAADUAAAYAADsAAAIAAEMAAAAAAEoAAAAAAEwAAAMAAE0AAAQAAE8AAAIAAFAAAAEAAFAAAAEAAFAAAAMAAE0AAAkAAEUAAA0AADsAABAAADAAABIAACMAABUAABYAABcAAAkAABgAAPz//xoAAO3//x0AAN///x8AANX//yAAAM///yAAAMz//x4AAMv//xwAAMr//xoAAM7//xkAANP//xoAANv//xoAAOn//xgAAPr//xYAAAsAABIAAB0AAA8AAC8AAA4AAD4AAA0AAEkAAAwAAFMAAAsAAFsAAAoAAF8AAAoAAF0AAAsAAFgAAA4AAFMAABEAAEkAABQAAEAAABcAADcAABkAAC0AABsAACMAAB4AABsAACAAABMAACUAAAwAACoAAAcAAC0AAAYAADEAAAgAADcAAAoAADsAAA0AAEEAABYAAEYAAB8AAEkAACgAAEsAADMAAEsAADsAAEwAAEEAAEsAAEkAAEoAAE8AAEcAAFEAAEUAAFEAAEAAAE8AADgAAEoAADAAAEIAACgAADgAAB4AAC0AABMAACYAAAkAABsAAP7//w4AAPT//wQAAOr///z//+P///H//9///+z//93//+r//9///+f//+P//+P//+b//+P//+z//+T///T//+P///z//+H//wUAAOT//w8AAOf//xkAAOf//yEAAOn//ycAAO3//y8AAO7//zcAAO7//z0AAPL//0IAAPj//0MAAAEAAEIAAAgAAD0AAA8AADYAAB0AAC4AACgAACUAAC4AABkAADcAAA4AAEUAAAQAAEwAAPj//00AAO///1IAAOj//1IAAOP//04AAN7//0cAANv//z8AANv//zIAANn//yEAANj//woAANj///b//9f//97//9v//8b//9z//7D//9z//5r//+H//4n//+L//3r//+b//2z///H//2v//+7//3H//+///3H///3//33///z//5j///P//6f///z//7b//wEAANb///f//+7///r///f//wUAAAwAAPv//yQAAPH//ycAAP3//yQAAAAAAC4AAPD//y4AAOv//x4AAPP//xYAAOj//xIAANP///3//9H//+P//9T//9n//8D//9H//7X//7j//77//6f//7n//6f//6z//5///7L//5n//7n//6X//7P//7H//7T//7f//7///8b//8f//9n//8v//+j//9T///D//+L///v//+r//wcAAPP//wsAAP///wgAAAUAAAQAAAkAAP///wwAAPf//wsAAPD//wcAAOn//wQAAN///wAAANv///T//9n//+z//9X//+v//9f//+P//9///9v//+P//9z//+v//9r///b//9f///n//9f///z//9f//////9f///z//9f///X//9j//+3//9r//+P//9r//9f//93//8n//+D//8P//9///77//93//7b//+P//7f//+H//8H//9r//8X//+H//8r//+P//97//9z//+7//+P///T//+///wUAAOr//xoAAOf//x4AAPj//x4AAAAAACoAAPf//ysAAPn//x8AAAYAABsAAAIAABkAAPL//wgAAPb///L///3//+3//+///+n//+j//9b///T//8v///H//9H//+f//87///D//83///j//9////T//+3///X///f//wAAAAkAAAgAAB4AAAsAAC4AABQAADcAACEAAEIAACgAAE4AADAAAFAAADsAAEwAAEAAAEUAAEIAAD0AAEUAADMAAEMAACkAAD0AAB0AADkAAA4AADQAAAYAACYAAAAAABsAAPf//xkAAPj//w4AAAAAAAMAAAQAAAIAABAAAAAAACIAAPv//y4AAPz//zsAAP///00AAP7//1YAAAAAAFsAAAcAAGAAAAwAAGAAABQAAFoAABwAAFIAAB4AAEoAACkAADwAACwAAC0AACwAACAAAC4AAA8AADMAAP7//zYAAO3//y8AAN///zAAANb//zkAAND//zoAAMz//zkAAM7//z4AANr//0MAAO7//0YAAAQAAEgAABoAAEwAADQAAE0AAFAAAEoAAGcAAEsAAHYAAEMAAH0AAD8AAIEAADwAAIIAADIAAHsAACgAAGoAAB4AAFgAAA8AAEYAAAAAADAAAPP//xcAAOT//////9n//+r//8///9n//8r//8z//8z//8L//8r//7r//87//7r//9f//8L//+P//9H///H//+T///3///r//w0AABIAABwAACwAACsAAEEAADoAAFMAAEkAAGAAAFUAAGYAAFwAAGgAAGMAAGgAAGMAAGIAAGAAAFkAAFsAAEwAAFIAAD8AAEgAADAAADwAAB4AADEAAAsAACUAAPb//xsAAOH//xQAAND//w0AAMP//wcAALn//wQAALf//wIAALv///7//8T///r//9H///T//+L///H///f//+j//woAAN7//xkAANf//yUAAM///y0AAMb//y0AALz//yYAALX//xkAALH//wsAAK7//////6z///D//6v//9v//67//8T//7P//7D//7n//6L//8D//5T//8j//4b//9P//37//+D//33//+3//4P///b//4r///7//5H//wUAAJv//wkAAK3//wkAAMP//wgAANb//wUAAOX//wEAAPD///z///z///r//wkAAPf//xQAAPX//xgAAPb//xoAAPX//xwAAPT//xwAAPT//xcAAPL//wwAAPH///////D///T//+7//+z//+z//+X//+z//9z//+n//9T//+f//83//+T//8r//+H//8n//9z//8z//9b//9L//9D//93//8j//+j//77///L//7X///v//6///wIAAK///woAAK///w4AAK7//xAAALP//w4AALz//wcAAMT///7//87///b//9r//+///+P//+n//+r//93///P//83///v//8D///3//7L///z//6P///z//5b///v//43///r//4f///n//4X///b//4X///P//4n///H//5T//+///6P//+7//7T//+7//8f//+7//93//+///+7///L///n///P//wEAAPL//woAAO///xYAAO///yAAAO7//ygAAOf//ywAANz//ysAANH//ycAAMb//x4AALz//xAAALL//wIAAKr///j//6n///H//6z//+n//7D//+D//7j//9v//8P//97//8///+b//9z//+z//+z///X///z//wEAAAoAAA8AABQAABcAABsAABYAACAAABMAACQAABUAACgAABoAACkAABwAACoAABsAACoAABkAACgAABkAACQAABkAAB0AABgAABYAAAwAABEAAPr//wkAAOT//wQAANL//wMAAMj//wUAAML//wkAAL///w0AAMD//xQAAMr//x0AAN7//x8AAPT//x0AAAQAABsAABYAABkAACoAABcAAD0AABAAAEgAAAUAAEgAAPz//0UAAPX//0QAAPD//0cAAOz//0gAAOj//0cAAOj//0UAAO7//0YAAPb//0gAAP///0gAAAYAAEAAABMAAC8AACYAACIAAD0AABwAAFUAAB4AAGgAABgAAHUAAAkAAHwAAPz//30AAPn//3kAAP7//3EAAAMAAGQAAAQAAFUAAAkAAEcAABQAADcAACAAACYAACUAABAAACgAAPT//yoAAN3//ygAAND//yMAAM3//yIAAMn//ycAAMb//yQAAMr//xcAANr//xAAAO3//xgAAPf//yYAAP///ykAAAcAACAAABYAABsAACAAAB0AACAAABcAAB0AAAMAABwAAO///x4AAOj//xsAAO///xkAAPT//xsAAPL//xgAAPT//wsAAAEAAAAAABAAAPz//xgAAAMAABwAAAcAACQAAAsAACoAABoAACsAADcAADAAAFQAADsAAGIAAEMAAGMAAEEAAGcAAD4AAG4AAEEAAGsAAEYAAFoAAD4AAEUAACwAADkAABkAADAAABAAAB0AAAsAAAgAAPz///r//+L//+7//9D//97//87//87//9P//8P//9b//7r//9r//7T//+X//7j///T//8H//wEAAMr//wUAANn//woAAO7//xYAAP7//ycAAAkAADUAABMAADkAAB4AAD0AACEAAEEAABwAAEAAABUAAC8AABMAABsAABQAAAoAABYAAPr//xUAAOj//xMAANX//xAAAMj//wwAAL7//wkAALn//wIAALj///n//7v///P//8D///P//8f///f//9P///3//+D//wQAAOz//w8AAPr//xkAAAsAAB4AABoAAB4AACYAABgAAC0AAA8AADIAAAAAADMAAPH//zEAAOX//y4AANv//yUAAND//xkAAMf//wsAAMD///n//7j//+T//7L//8v//6///7b//7D//6X//7n//5v//8T//5f//9L//5v//9///6X//+r//7H///L//7z///v//8f//wEAANL//wQAANv//wMAAOf//wMAAPL//wEAAPv///z//wEAAPX//wYAAO3//wgAAOX//wMAAN////z//9r///b//9j///H//9j//+r//9n//+X//93//+H//+X//9v//+3//9X///P//9H///j//9D///7//9P//wIAANj//wEAAN3//wAAAOL//////+j///7//+////z///f///v///3///z//wIAAP3//wYAAPv//wwAAPf//xIAAPP//xQAAPD//xQAAOv//xQAAOb//xQAAOD//xIAAN///w4AAOD//wYAAOH///z//+P///L//+b//+j//+v//9////H//9f///f//9P///z//9L//////9X//wIAANr//wMAAN7//wEAAOP///7//+n///r//+////X///T//+7///b//+f///f//+P///f//9////j//93///v//9v///3//93///7//+P//wAAAOv//wQAAPX//wgAAP///wwAAAkAABAAABQAABQAAB4AABgAACUAABoAACgAABwAACgAABwAACUAABkAACAAABYAABkAABMAABAAAA4AAAgAAAkAAAEAAAQAAPz///7///j///v///X///r///b///z///n///////z//wMAAP///wgAAAMAAA8AAAYAABQAAAkAABgAAAsAABsAAA4AAB4AABEAACAAABIAACAAABMAABwAABMAABcAABQAABEAABMAAAwAABMAAAcAABIAAAMAABAAAAEAAA4AAP///w0AAP///wsAAAAAAAoAAAIAAAkAAAQAAAkAAAcAAAgAAAoAAAgAAA0AAAcAABEAAAgAABUAAAgAABYAAAgAABkAAAoAABsAAA4AAB0AABQAAB8AABkAACEAAB0AACQAAB8AACcAACQAACoAACUAACwAACgAAC0AACkAAC0AACoAAC0AAC0AACwAACkAACoAACYAACgAACMAACcAACMAACcAACAAACcAAB8AACYAABsAACQAABoAACMAABgAACIAABoAACIAABoAACIAABQAACQAABIAACUAABkAACUAAB0AACUAAB4AACYAAB8AACUAACAAACMAACQAAB8AAB8AABwAAB8AABcAACAAABIAABgAAAwAABMAAAYAAA4AAAEAAAgAAPz//wMAAPf///7///T///z///H///v//+////7//+///wEAAPD//wUAAPP//wsAAPb//w8AAPr//xYAAP3//xkAAAIAABwAAAcAABwAAAsAABsAAA4AABcAABAAABMAABEAAA8AABIAAAsAABIAAAYAABIAAAEAABEAAP7//xEAAPz//xEAAPr//xIAAPj//xMAAPf//xMAAPf//xMAAPf//xQAAPf//xQAAPf//xIAAPf//xEAAPj//xAAAPr//w4AAP3//wwAAAAAAAoAAAMAAAYAAAYAAAMAAAkAAP///wsAAP3//wwAAPz//wwAAP3//w0AAP3//wwAAP7//wsAAP7//wkAAP7//wcAAP7//wQAAP3//wIAAPn//wAAAPT//wAAAPH//wAAAO///wAAAOz//wAAAOr//////+n///3//+j///r//+n///f//+n///P//+n///D//+v//+3//+3//+v//+3//+j//+3//+b//+z//+X//+r//+P//+b//+P//+T//+T//+T//+X//+T//+b//+n//+j//+z//+r//+///+v///H//+z///L//+z///P//+v///X//+r///f//+n///X//+j///L//+j///D//+n//+7//+v//+3//+3//+v///H//+n///X//+j///r//+n///3//+r//////+3//wEAAO///wMAAPH//wIAAPT//wEAAPf///////v///z///7///v//wAAAPr//wEAAPr//wIAAPv//wMAAP3//wMAAAAAAAIAAAQAAAAAAAYAAAAAAAgAAAEAAAkAAAIAAAoAAAQAAAoAAAcAAAkAAAgAAAYAAAkAAAMAAAoAAAAAAAkAAP3//wUAAPr//wEAAPn///3///j///v///f///j///f///b///X///P///L///L//+////L//+v///L//+f///H//+P///L//+D///L//97///L//9z///H//9v///D//9v//+7//9v//+n//93//+j//+D//+j//+T//+n//+j//+///+3///P///L///f///f///v///r///7///z//wEAAP3//wYAAP7//woAAP///wkAAAAAAAkAAAEAAAkAAAMAAAkAAAYAAAoAAAkAAAoAAA4AAAgAABMAAAgAABkAAAoAABsAAAwAAB4AAA8AAB8AABEAAB0AABEAABoAABIAABQAABQAAAwAABcAAAIAABkAAPj//xgAAPD//xYAAOf//xMAAOL//xIAAN7//w8AAN3//wsAAN7//wUAAOP//////+n///r///H///f///n///T//wEAAPP//wgAAPL//w0AAPP//xEAAPT//xIAAPb//xEAAPr//w4AAPz//woAAP7//wYAAP3//wIAAP7///////3///7///z///7///r//wEAAPf//wQAAPb//woAAPX//xIAAPf//xkAAPv//x8AAP///yUAAAQAACgAAAkAACoAAA8AACkAABQAACUAABkAAB8AAB0AABcAAB8AAA4AACEAAAcAACEAAAEAAB8AAP3//xwAAPv//xgAAPv//xIAAP3//w4AAAIAAAgAAAoAAAMAAA8AAP7//xUAAPz//xoAAPv//xwAAPz//x0AAP///xsAAAMAABYAAAcAAA8AAAkAAAgAAAsAAAIAAAwAAPz//wwAAPf//wsAAPP//wgAAPL//wUAAPL//wEAAPf///////z///7//wMAAP3//woAAP3//xIAAP///xkAAAMAAB8AAAYAACEAAAsAACAAAA8AABwAABIAABcAABQAAA8AABMAAAYAABEAAP3//w0AAPT//wgAAO7//wIAAOr///z//+j///b//+n///L//+7//+3///T//+r///r//+r//wAAAOv//wUAAO7//woAAPP//wwAAPn//wsAAP7//wcAAAQAAAIAAAkAAPz//wwAAPX//w0AAO7//w8AAOj//w4AAOP//wwAAOP//woAAOX//wYAAOr//wIAAPD///////n///z//wMAAPr//wwAAPn//xMAAPn//xkAAPr//xwAAP3//xwAAAAAABoAAAQAABcAAAYAABAAAAUAAAgAAAMAAAEAAP////n///r///P///T//+////D//+3//+z//+3//+j//+7//+T///H//+D///X//93///n//9v///z//9r///7//9r///3//93///r//+D///T//+P//+z//+X//+T//+b//9v//+T//9P//+H//8v//9z//8T//9b//7///9D//7z//8j//7z//8T//7///8L//8T//8D//8r//7///87//8D//9L//8P//9b//8j//9j//8v//9n//87//9n//9P//9b//9f//9T//9z//9H//+D//8z//+T//87//+j//8j//+j//8///+v//wwAAAoAABAAAAoAAA4AAAcAABIAAAkAABQAAAsAABYAAA0AABoAABEAAB0AABUAACAAABkAACMAAB0AACUAACEAACgAACUAACoAACkAACwAACwAAC0AAC8AAC0AADIAAC0AADQAACwAADUAACsAADYAACkAADcAACcAADcAACUAADcAACIAADYAACAAADQAAB4AADMAABwAADAAABoAAC4AABkAACoAABcAACcAABcAACMAABcAACAAABcAAB0AABcAABsAABcAABgAABcAABcAABcAABYAABcAABUAABcAABUAABcAABYAABcAABYAABcAABcAABcAABcAABcAABgAABcAABgAABcAABcAABcAABcAABcAABYAABcAABUAABcAABQAABcAABMAABcAABMAABYAABIAABUAABIAABQAABEAABIAABEAABEAABEAABAAABAAAA8AABAAAA4AAA8AAA0AAA0AAAwAAAsAAAsAAAkAAAoAAAYAAAoAAAQAAAkAAAIAAAgAAAAAAAYAAP///wQAAP///wIAAP///wAAAAAAAP7//wEAAPz//wIAAPr//wMAAPn//wUAAPj//wYAAPj//wcAAPr//wgAAPz//wcAAP///wcAAAIAAAcAAAcAAAcAAAsAAAcAABAAAAcAABYAAAcAABsAAAcAACAAAAgAACQAAAkAACgAAAoAACsAAAsAAC0AAAwAAC4AAAwAAC4AAAwAAC4AAAsAAC0AAAoAACsAAAkAACcAAAcAACMAAAUAAB0AAAMAABUAAAEAAA0AAP///wQAAP7///r///3///H///3//+f///7//9///////9b//wAAAND//wAAAMr//wAAAMf//wAAAMX///7//8b///z//8n///n//87///T//9T//+///9z//+v//+X//+j//+7//+X///f//+T//wAAAOT//wgAAOX//w8AAOf//xUAAOv//xsAAPD//x8AAPT//yIAAPn//yMAAPz//yIAAP///yAAAAEAABwAAAIAABkAAAMAABQAAAQAAA4AAAQAAAYAAAUAAPz//wYAAPL//wcAAOf//wcAAN3//wkAANP//woAAMr//woAAML//wkAALv//wYAALb//wIAALT///3//7P///b//7T//+7//7f//+X//7z//9z//8L//9P//8j//8v//8///8P//9f//7///93//7n//+T//7n//+n//7j//+v//7j///D//7///xEAAPX//xUAAAQAAAgAAPv///z///z//+///////+b//wkAAOD//w4AAOf//xQAAPD//xUAAPP//xEAAPH//wsAAPL//wYAAPb//wEAAAEAAAEAAA8AAAMAABoAAAsAACEAABIAACAAABgAABcAABwAAA8AABwAABAAABoAABcAABYAABcAABEAABAAAA0AAAUAAAcAAPv//wEAAPL///3//+////X///b//+z//////+b//wEAAOH///v//9j//+r//8///9n//83//8v//9H//8X//9v//8n//+L//9b//+f//+P//+n//+r//+f//+n//+L//+T//93//+P//9r//+r//9v///v//9///xIAAOr//yUAAPX//y8AAAQAAC0AABIAACYAABoAACEAAB8AAB4AACAAAB4AAB0AAB8AABoAACIAABwAACQAACEAACYAACcAACoAACsAAC8AAC0AAC4AACkAACsAACEAACkAABkAACkAABUAACkAABMAACgAABQAACgAABgAACYAACAAACAAACgAAB4AAC8AACMAADYAACwAAD0AADoAAEEAAEwAAD8AAFwAADcAAGcAAC4AAGcAACcAAFsAACUAAEgAACYAADUAACYAACkAACUAACMAACMAACQAACEAACkAAB0AACkAAB0AACQAACAAACQAACQAACAAACoAABgAAC0AABIAACwAABQAACcAABkAAB8AABgAABgAABMAAA0AABMAAAEAABEAAPf//wsAAO///woAAO3//w8AAPL//xIAAP7//xAAAAwAAA0AABYAAAsAAB0AAAcAACEAAAEAACIAAPz//yAAAPz//xoAAP3//xQAAPn//w8AAPL//wwAAOr//woAAOX//wgAAOb//wQAAOr//wAAAPP///z///v///j///3///n///7///z//////wEAAPn//wYAAPH//wcAAO///wQAAPP///z///P///T//+z//+n//+j//93//+b//9H//97//8b//9b//7///9f//8D//9r//8j//9n//9T//9X//97//9H//+X//83//+j//8P//+j//7b//+b//6r//+L//6T//9z//53//9X//5T//9D//43//8v//4r//8j//4v//8T//5H//77//5n//7j//6X//7L//7X//67//8L//67//8r//7D//9b//7T//+L//73//+f//8n//+j//9b//+r//+T//+n///D//+X///j//+D///r//9////z//97///v//9////f//+j///X///P///X//wAAAPb//wsAAPv//xIAAAMAABQAAAkAABEAAA4AAAkAAA4AAP///w4AAPD//xMAAOD//xQAANX//w8AANL//woAANL//wgAANf//wYAAOj//wEAAAIAAP///xsAAP///zIAAP7//0gAAPj//1YAAPH//1gAAOv//08AAOb//0UAAOH//zoAAN///ywAAOT//x0AAO3//xMAAPj//w8AAAcAABAAABgAABUAACgAACAAADcAADEAAEUAAEMAAFIAAFIAAFwAAGAAAGIAAGkAAGUAAGYAAGQAAFcAAF0AAEMAAE8AAC8AAD8AABcAAC4AAAAAAB0AAPX//wsAAPT//wAAAPr///n//wgAAPj//yEAAPz//0AAAAUAAFsAABMAAHEAACAAAIAAACcAAIQAACkAAHcAACMAAFwAABYAADwAAAIAABkAAO3///T//9f//9T//8b//7///77//7j//7///77//8n//8///9v//+z///X//w8AABQAADIAADYAAE8AAFcAAGUAAHMAAHIAAIkAAG8AAJkAAGAAAKAAAEgAAJ0AACwAAJAAAA0AAHsAAPP//14AAOL//zwAANz//xgAAN////X//+v//9n//wAAAMf//xkAAL///y4AAMP//zoAANP//zoAAOr//ywAAAIAAAoAABQAANn//xwAAKT//xgAAG///wcAAEH//+n//x///8P//xT//5v//x7//3X//zr//1v//2b//1H//5///1n//9r//3D//w8AAJL//zoAALv//1YAAOT//2AAAAkAAFcAACgAAD8AADwAAB8AAEEAAPz//zgAANn//yQAAL7//wsAALD///L//7L//9f//7///8H//9P//7T//+j//67///r//6v//wUAAKr//wgAAKn//////6j//+f//6b//8X//6r//5j//7H//2b//7j//zb//7r//w3//7n//+7+/7D//+D+/5///+b+/4b//wP//2z//zP//1b//3P//0b//7b//0H///P//0j//ykAAF7//1EAAHv//2IAAJ3//1sAAMT//0AAAOz//xkAABAAAOr//y8AALj//0AAAI///z8AAHn//ywAAHf//wsAAIn//+X//67//8D//+H//6T//xYAAJn//0cAAKD//2wAALT//34AAM///3UAAO3//1cAAAwAACwAACkAAP7//0gAAM7//2QAAKn//3wAAJb//44AAJj//5IAAK3//4gAAM7//28AAPr//0oAAC4AACIAAGcAAAMAAKAAAPP//88AAPP//+wAAAEAAPMAABwAAOgAAD4AAMwAAGAAAKIAAIAAAG4AAJwAAEAAALQAAB0AAMcAAAwAANMAAAwAANgAABoAANMAADQAAMIAAFQAAKkAAHQAAI4AAJMAAHsAAK4AAHMAAMAAAHcAAMsAAIIAAM4AAIwAAMUAAJAAALEAAI8AAJQAAI4AAHUAAI4AAFkAAJAAAEMAAJMAADoAAJQAAD4AAJQAAEkAAI0AAFcAAHkAAGMAAFkAAG8AAC4AAHQAAAAAAHEAANr//2gAAL7//10AAK///04AAK///zwAAL3//yYAANn//w4AAAAAAPT//y0AANz//10AAM3//4oAAM7//68AAOD//8gAAPz//84AACkAAMIAAFIAAKQAAHoAAHYAAJcAAEAAAKsAAAcAALEAANf//6UAALP//5EAAJv//2sAAI3//zoAAIX///7//4D//8n//4H//5X//4j//3P//5X//2L//6v//2L//8L//2v//9D//3b//9D//4X//8H//5b//6f//6f//47//7P//33//77//3b//7///3j//7f//3///6X//4z//47//57//3j//7f//2r//9b//2z///b//3r//w8AAJz//xkAAMT//xMAAOz///v//xYAANX//zMAAKj//0gAAH7//0oAAF///0IAAE7//ygAAEn//wUAAEv//9L//1H//57//1v//3H//2v//0f//4D//zH//57//yr//8T//zL//+f//zn//wEAAEr//w8AAFz//w4AAHf//wcAAJP//wQAALL//wgAANP//xIAAO7//xkAAP///xcAAA0AAAkAABYAAPD//xoAANj//yYAAMf//zQAAMD//0IAAMD//0oAAMT//0QAAMr//zcAAM7//x4AAM7//wIAAMr//+n//8T//9H//8D//8D//7///6f//8X//5T//9D//33//9z//27//+X//2L//+z//2P///P//3D//wAAAIP//xcAAJ7//zYAAL///1UAAOP//2sAAAUAAHQAACgAAG8AAEcAAGEAAGMAAE0AAHoAADkAAIoAACoAAI4AABwAAIcAAAkAAHcAAPD//1wAANP//z0AALn//xkAAKf///X//6H//9X//6P//7f//7D//5v//8D//4j//8z//33//9P//3n//9j//4P//9///5H//+3//6v///3//8j//wkAAOj//xUAAAkAABoAACMAABcAADYAABcAAEsAABkAAFsAABcAAGYAABUAAGoAABEAAGkAAAUAAGAAAP3//1QAAPr//0cAAPr//z0AAAMAADcAABEAADAAACEAACsAADcAACIAAEcAABUAAFIAAAUAAF0AAPn//14AAPD//1sAAOv//1UAAO///04AAPP//0gAAPn//z8AAPz//zUAAP3//yoAAAQAACEAAA8AABUAABwAAAkAACoAAAAAADoAAPf//0YAAPD//1AAAOz//1oAAOn//2AAAOr//2QAAOf//2YAAOT//2IAAOP//1cAAOn//0gAAPH//zMAAP7//x0AABAAAAoAABwAAPj//y0AAO7//zsAAOz//00AAPH//10AAAAAAGkAABYAAHcAAC8AAH8AAEYAAIMAAFwAAIgAAHAAAI0AAH4AAI8AAIcAAJEAAIoAAI8AAIYAAIgAAIAAAH8AAHUAAG0AAGgAAFoAAF0AAEQAAFQAAC8AAEwAAB0AAEYAABAAAD8AAAkAADkAAAQAADAAAPz//yYAAPX//xwAAO///xEAAOn//wUAAOT///j//+D//+v//93//97//9///9L//+b//8r///D//8f///7//8b//w4AAMv//xUAANf//xUAAOf//xIAAPz//w8AABAAAA0AACIAAAwAADIAAAkAADsAAAYAAEMAAAUAAEYAAAUAAEMAAAcAADsAAAoAAC8AAAoAAB4AAAYAAA0AAAQAAP3//wAAAO3///7//97///3//9D///r//8n///b//8b///H//8b//+X//8b//9f//8T//8z//73//8f//7b//8j//7L//83//67//8v//6z//8L//63//7n//7D//7b//7b//7n//7///8L//8r//87//9n//9r//+v//+P///z//+n//wkAAOv//xIAAOz//xQAAOf//xEAAOH//w8AANr//woAANT//wIAAND///b//87//+b//8z//9T//8n//8H//8r//6///8z//6H//8///5T//9P//4z//9P//4r//9H//4z//9D//5L//87//5j//8b//5v//8b//5v//83//5r//87//5v//8///5///8H//6P//67//6j//5v//67//4n//7n//4X//8n//4///9n//5f//+T//57//+b//6v//+H//7T//93//7j//93//7j//+H//7f//+P//7n//+H//7r//9z//77//9X//8f//87//9X//8f//+H//77//+j//7f//+///7j///L//8D///T//8v///n//9L//////9P//wQAANj//woAAOX//xEAAPf//x4AAAwAAC8AAB0AADwAACgAAEUAADEAAEYAADoAAEIAAEUAAD0AAEsAADoAAEkAADYAAEQAAC8AAEAAACQAAEAAABwAAEUAABgAAEcAABYAAEMAABIAADUAAAwAACIAAAgAABcAAAYAABIAAAYAAA0AAAsAAAMAABEAAPv//xgAAPr//yAAAAAAACgAAAoAADAAABAAADgAABUAAD4AABsAAEMAACUAAEYAADMAAEgAAEQAAEoAAFEAAEwAAFsAAEwAAGcAAE0AAGsAAE0AAG8AAE8AAG8AAFMAAG0AAFAAAGsAAE0AAGoAAEkAAGkAAEgAAGQAAEgAAFsAAEkAAE8AAEkAAEIAAEgAADkAAEYAADMAAEMAAC0AAEEAACIAAD4AABUAADkAAAsAADIAAAQAACwAAAIAACgAAAEAACQAAAEAACIAAAgAAB8AABUAACEAACYAACUAADQAACwAADwAADIAAEMAADUAAEoAADYAAFAAADcAAFcAADcAAFkAADUAAFoAADIAAFgAAC4AAFQAAC0AAE8AACkAAEcAACMAAD0AAB4AADQAABoAACkAABoAABoAABsAAAkAABwAAPb//xoAAOb//xgAANv//xUAANL//xEAAMj//wwAALr//wUAAK////v//6f//+///6T//+b//6X//93//6f//9b//63//8z//7v//8b//83//8X//+H//8X//+///8n///j//8v//////8r//wQAAMr//wsAAMz//w0AAMz//woAAMv//wgAAMr//wMAAMb//////8T///r//7////L//7r//+n//7b//9v//7f//8v//7j//8D//7j//7T//7b//6f//7j//5n//73//4r//8T//4H//8v//33//9H//3///9P//4T//9D//4X//8z//4f//8r//4r//8n//4z//8j//47//8X//5D//77//5b//7T//5///6r//6f//53//7D//4///7r//4L//8P//3f//87//3L//9b//3X//9j//3z//9j//4X//9P//47//8r//5j//8H//5z//7j//6L//7D//6r//6b//6z//6H//7D//6D//7P//6P//7L//6z//7b//7T//7///77//83//8b//9///8n///H//87///3//9H//wgAANT//xkAANv//ycAAOb//zEAAPP//zkAAAEAADwAABIAADoAACIAADgAAC8AADQAAD8AAC4AAEwAACkAAFIAACIAAFgAABoAAFgAABQAAFIAAA4AAE0AAAsAAEEAAAwAADMAAA0AACoAABAAACQAABMAABoAABcAABQAAB0AAA0AACAAAAEAACMAAPr//ycAAPT//ygAAO///yoAAPH//ywAAPj//zAAAAAAADQAAA0AADYAAB4AADcAAC4AADkAADsAADcAAEUAADQAAFAAADEAAFoAACsAAGQAACYAAG0AACQAAHMAACYAAHkAAC4AAH4AADkAAIEAAEkAAH8AAFsAAH0AAGwAAH0AAHYAAHgAAHoAAHIAAHkAAG4AAHUAAGwAAG8AAGMAAGwAAFsAAGoAAFoAAGkAAFgAAGsAAFgAAGsAAFgAAGUAAFMAAF8AAE0AAFsAAEcAAFgAAD8AAFUAADgAAFEAADQAAE0AADUAAEgAAD0AAEcAAEcAAEQAAFMAADwAAF4AADEAAGcAACQAAGoAABoAAGsAABcAAGgAABsAAGAAACEAAFcAACkAAEsAACwAADwAAC0AADAAACwAACYAACkAACEAACcAAB8AACcAAB0AACkAABwAACsAABYAAC8AAAwAAC8AAP7//ygAAOr//xoAANT//wIAAMD//+j//6///83//6P//7f//57//6j//5z//6D//5r//5r//5n//5n//5z//5r//6H//5r//6b//57//6v//6j//7P//7f//7v//8X//8T//87//8///9H//9v//8z//+f//8b///H//8P///r//7////z//7v///b//8H//+z//87//93//9///8j///f//7T//w4AAKT//xoAAJr//xYAAJb//wcAAJz//+7//6z//9P//7///8H//9X//7v//+j//7////T//8f///n//9L///T//9j//+j//9n//9r//9L//8///8j//8n//77//8f//7j//8j//7T//83//7P//9f//7L//+X//7H///H//7X///b//7n///L//73//+X//8T//9P//87//7///9j//6v//+D//5b//+P//4P//9///3P//9n//2n//9X//2v//9L//3r//83//5L//8n//63//8b//8j//8j//97//8z///H//87//wAAAM7//wwAAM///xcAANP//yIAANz//ysAAOT//zAAAOn//zMAAO7//zcAAPb//zoAAAIAADkAAA8AADUAABwAADMAACsAADcAADkAADwAAEUAAD4AAFAAADsAAFsAADMAAGYAACgAAHIAACMAAH0AACMAAIQAACcAAIMAACsAAHsAAC4AAGwAADEAAFsAADgAAE0AAEAAAEQAAEYAAEEAAEoAAEEAAFMAAEYAAGMAAEkAAHcAAEsAAIgAAE0AAI0AAEsAAIkAAEcAAH4AAD8AAGoAADMAAFgAACYAAE4AABsAAEoAABUAAE0AABQAAFIAABsAAFcAACUAAE8AADIAADMAAD8AAA4AAEoAAPT//1MAAOr//1gAAPH//1kAAAgAAFkAABUAAFwAABQAAFsAABAAAFQAAA4AAEQAAA8AAC0AABIAABcAABUAAAEAABkAAPL//yAAAO3//yUAAOz//yUAAOz//x4AAOv//w0AAOL///T//87//9z//7P//8z//5f//8P//4n//8L//5T//8z//6n//9n//7///9///8///9P//83//7j//8H//5H//7H//3D//6P//2X//5v//3X//57//5b//6b//7D//7L//7///8D//7///8f//7L//8j//6X//8X//53//7///6T//7j//7n//7j//9b//8X///H//9n//wIAAPH//wUAAAMAAPv//wwAAPH//wkAAOr///3//+r///P///X//+z//wEAAOv//wgAAO7//wcAAO///////+z///D//+X//97//9n//8j//83//7r//8L//7f//7j//7r//7f//8D//8D//8H//83//77//9z//7n//+b//7f//+r//7r//+j//8P//+H//8///9n//9n//9T//+P//9X//+z//9z///b//+v//wEAAPv//w4AAAUAABsAAAYAACoAAAAAADsAAPn//0oAAPb//1IAAPr//1MAAAQAAFAAABIAAEwAACMAAEgAADQAAEMAAEYAAD0AAFkAADIAAGgAACMAAHMAABAAAHcAAAAAAHYAAPf//28AAPT//2IAAPT//08AAPr//zkAAAMAACYAAAsAABMAABEAAAUAABcAAPz//x0AAPX//yEAAPP//yYAAPP//ygAAPD//ysAAOz//y0AAOf//y8AAOL//zMAAOL//zUAAOX//zcAAOf//zkAAOr//zoAAO///zsAAPb//zkAAP///zIAAAYAACoAAA4AACAAABoAABQAACAAAAcAABwAAPf//xsAAOX//yMAANP//ycAAMP//yYAALv//yoAALz//y4AAMb//zMAANn//zMAAPD//y0AAAcAACsAABsAACYAACsAABoAADQAAAwAADcAAAAAADQAAPf//zAAAO3//ygAAN7//x4AAND//xIAAMP//wUAALX///f//6P//+b//5j//9f//5f//8r//5X//8L//5b//73//5z//7j//6j//7H//7n//6b//8v//5f//9///4j///b//3v//wwAAHT//xoAAHP//yUAAHv//yoAAIr//yUAAKD//xYAALr///7//9H//+L//+f//8j///j//7H//wYAAKD//xIAAJ3//xsAAKD//x4AAKb//x4AAK3//x0AALP//x0AALb//xwAALj//xYAALf//wsAALX///3//7f//+b//7r//8n//8P//7D//9H//5v//+X//4n///r//37//wwAAIH//xgAAI7//x0AAKT//x4AALz//x0AANX//xsAAOr//xwAAPz//yUAAAsAADgAABoAAFAAACcAAGsAADYAAIQAAEwAAJkAAGgAAKEAAIgAAJwAAKwAAI8AAM8AAH8AAO8AAHAAAAUBAGMAABQBAFsAAB0BAF4AAB4BAGYAABUBAHIAAAQBAIAAAO8AAIwAANkAAJYAAMEAAJ0AAKQAAKAAAIQAAKAAAGIAAKEAADsAAKEAABMAAKMAAPH//6gAANj//64AAMb//7QAAL///7UAAMn//60AAOL//50AAAQAAIYAACsAAGwAAFMAAE8AAHcAADMAAJUAACAAAK0AABgAAMEAABcAAMoAAB4AAMwAACkAAM4AADQAAMwAADYAAMUAAC4AALwAACEAALMAABcAAKMAABEAAIkAABIAAGkAABcAAEcAAB8AACEAACgAAPX//zEAAMb//zkAAJn//z8AAHD//z4AAEz//zkAADL//ywAACX//xYAACL///7//yj//+D//zL//7z//z7//5n//0v//3v//1n//2j//2r//2L//3///2P//53//2L//8X//2P//+7//13//xQAAE3//zEAADb//0EAACX//z0AABn//ykAABX//wYAAB7//9L//zH//5j//0j//17//17//yv//3T//wH//4X//+T+/5j//9j+/6X//9z+/6///+f+/7H///j+/6v//wv//57//xb//43//xn//3v//w7//2f///j+/1j//+D+/1P//9P+/1f//9r+/2L///b+/3P//yb//4b//2n//5L//8D//5P//x4AAIj//3MAAHb//7IAAFr//9MAADn//9EAACD//6wAABL//2sAABr//xcAADT//8D//2P//3T//6L//0H///H//yr//z8AADP//4EAAFf//7AAAIn//8EAAL3//7QAAOX//5IAAP7//18AAAAAACoAAPP//////+D//+f//87//93//8b//+P//9L///j///v//xoAADsAAD8AAIkAAFIAANoAAFEAACcBAEoAAGMBADsAAH4BACgAAHoBAB8AAFwBAB8AACYBADkAAN0AAGsAAJIAAK8AAFIAAAIBAC0AAFoBACkAAKABAE0AAMoBAI0AAM8BANcAAJ0BABsBAEgBAEgBAOIAAEgBAHQAABIBABAAALMAAMT//zoAAJ///73//6L//1b//8z//xr//wcAACD//0kAAGj//4UAAOb//6wAAHwAALgAAA4BAKgAAIMBAIAAAMUBAEUAAMcBAAYAAIABAMz//wUBAJ3//2wAAI7//8r//5L//zP//5b//8X+/6P//5T+/7j//5n+/9D//8z+/+///yX//w0AAJP//yQAAP7//zoAAFQAAEgAAIgAAFAAAJgAAFgAAHwAAFAAADoAAC8AAOT//wIAAIj//9H//zf//5///wL//2r///H+/z3////+/x///yT//wv//1L//wb//4T//x7//63//0L//8H//13//73//3X//63//4n//5v//4///4r//4j//4H//3r//4b//3L//5f//2n//6X//2L//6r//2r//6///4H//63//5z//5P//7f//27//8L//1v//83//1n//9r//17//93//2z//9H//5P//77//8j//67//wAAALH//zgAAMH//28AAOD//5kAAA8AAKgAAEUAAKcAAIQAAKgAAMwAAKYAAA4BAJoAAD4BAIsAAFABAIIAAD4BAHoAAAoBAHMAAMEAAHIAAHYAAG4AADEAAF8AAPf//0oAAM7//zYAAL///yoAANL//yQAAAIAACgAAEYAADkAAJgAAF8AAN4AAJQAAAsBANMAABgBABMBAAIBAEIBAL4AAFEBAFsAADoBAPT///4AAIj//5kAADP//x0AAAH//5j//wP//xn//zD//7X+/3z//3z+/+H//3v+/14AALT+/9QAABz//zABAKL//2EBADcAAGQBAMQAADkBADUBAOEAAHIBAGUAAHQBANv//zoBAGj//9AAABH//0AAANb+/5z//7v+/wL//9T+/5j+/xX//2v+/2v//2r+/8X//6X+/w4AABz//z4AAKr//1wAADYAAGQAAMUAAEMAADgBAAwAAG8BANX//10BAJD//wUBAEb//30AABD//9f///r+/yL///T+/3X+/wH//+79/xb//6L9/zj//5L9/2z//779/6r//yP+/93//7L+/wYAAE3//x4AAOj//ysAAHMAADEAAN0AACIAABkBAAAAADIBANT//yUBAKz///gAAIj//7kAAGn//20AAFH//xcAAFf//8L//2///3H//43//y3//7f//xX//+v//y7//ysAAGb//3IAAKz//68AAAAAANsAAFwAAPcAAK0AAPsAAOgAAOwAABEBAMEAAB0BAH0AAAIBACwAAMAAAOL//2QAAKf///H//3///3D//27///r+/4D//6j+/6///43+/+7//6L+/zcAAPX+/3sAAIf//6oAADcAAMwAAOcAAN0AAJoBAMoAADUCAKEAAJMCAHoAAKQCAEYAAGgCAAwAAPABAOL//08BANr//5YAAOL//9v///3//zz//x4AANP+/0oAAJ/+/4UAAKX+/8cAAOT+//0AAE7//yUBAMn//zYBAEgAADgBAL4AAC0BABYBAAkBAEQBAM4AAE4BAIIAADYBADsAAPwAAPr//7EAAL///1wAAJD//wMAAIL//6///4///2b//5z//y7//7P//yr//8///2T///P//8L//xcAACIAACoAAIIAACcAANwAACAAABcBAAoAACABAPb//wwBANz//+AAAL///5AAAKz//yoAAJ7//8P//5z//17//6z////+/83//7j+//f//3v+/xUAAFT+/xgAAE/+/w4AAH3+/xQAANf+/w4AAE7///T//7z//8L//xYAAJP//1wAAG///4cAAFv//5EAAFf//3kAAFj//08AAFj//xUAAFr//9r//3b//6r//5z//4r//73//3L//8f//2T//8n//1z//8H//13//63//3n//5f//6z//4b//9///3P//wIAAGT//xEAAGX//xYAAHX//xMAAJP///r//7j//8T//9L//4T//+H//0v///L//yf///b//xb///P//xj///b//y7///L//1T//+D//4P//9L//7L//8z//+T//8j//xwAAND//1UAANv//3QAAOj//4MAAOz//40AAPL//4QAAP///2gAABQAAE0AACoAAD4AADMAACcAADYAAAgAAD8AAOv//1IAAN3//2IAAOL//3MAAPb//34AAAwAAHMAABwAAGMAACoAAFoAAD4AAFcAAFIAAEgAAGEAADMAAGIAABQAAFgAAP3//0gAAPb//zwAAPT//zgAAAEAADUAAA8AAC8AABwAAC0AACEAAC0AAC4AADkAADwAAFUAAEcAAHUAAEkAAIsAAEUAAJgAAD4AAJgAADUAAIsAADQAAHwAADcAAHEAADgAAF4AADgAADsAAD0AABYAAEsAAPv//14AAOj//28AANT//3YAAMn//34AAMz//4AAANH//34AANP//3UAANv//2kAAO3//1oAAAMAAEQAABcAACwAACQAABUAAC4AAAAAADEAAOj//zAAANf//y4AAM3//ywAAL///ygAAK///x8AAJz//xMAAI7//wkAAIn//wIAAIb///3//33///v//3z///T//4D//+X//4X//9X//4///8r//5n//8L//6P//7f//6r//6b//7H//5H//7j//3z//8P//2j//8z//1z//9f//1X//93//07//+D//0r//+X//07//+j//1///+3//3n///L//5X///H//7H//+r//87//+f//+z//+X//wgAAOP//yAAAOT//zQAAOD//0EAANn//0cAANH//0UAAM7//z0AAM///zUAANL//ywAANb//yAAANv//xIAAOD//wgAAOb//wAAAO3///r///L///X///z//+///wIAAOj//////+L///3//9///wAAAOH//wEAAOP//wAAAOL//wMAAOL//wQAAOH//wYAAOH//wwAAOX//xYAAO///yAAAP///yoAAA8AAC4AAB8AAC4AADMAADIAAEsAADUAAGAAADIAAHAAAC4AAHoAAC0AAH8AACwAAH8AACsAAHkAAC8AAHEAADIAAGgAADkAAFkAADwAAEUAAEEAADAAAEoAABwAAEwAAAwAAFUAAP7//1sAAPP//1IAAOv//1QAAOX//08AAOL//0QAAOP//0oAAOb//0EAAOr//zIAAO3//ykAAPD//xUAAPX///////z///H//wQAAOj//wsAAOX//xAAAOX//xUAAN///xoAANj//xwAANn//yAAANr//yUAANb//ygAANT//ygAANT//ycAANb//yYAANv//yUAAN///yEAAOj//xwAAPP//xUAAPj//w0AAP3//wEAAAQAAPf//w4AAO7//xYAAOj//xYAAOb//xIAAOT//xEAAOL//xQAAOX//xsAAOz//x8AAPP//yEAAPv//yQAAAQAACQAAAsAACUAAA8AACAAABAAABwAABMAABsAABUAABMAABEAABEAAA4AABUAAAYAABMAAPv//xMAAPT//w4AAOr//wEAAOP///3//+H///v//93///T//93///L//9///+3//9n//+P//9j//9n//9n//83//9n//8D//9j//7v//9j//7H//9v//6b//+H//6X//+v//6b//+///6b///H//6r///r//6r//wQAAKz//wsAALT//xAAALf//xYAALn//xsAAMX//xoAANL//xIAAN7//xAAAPH//w8AAAEAAAsAAA8AAAAAACQAAPL//zcAAOn//0UAAOP//1IAANn//1wAANL//2MAAND//2gAANH//2kAAM7//2gAAM7//2UAANb//1wAANr//08AAN7//z8AAOX//zEAAOj//yMAAPD//xIAAP///wEAAAoAAPD//xQAAN///yEAANH//yUAAMb//yUAAL3//yoAALX//ywAALL//ysAALD//zIAAK///zcAALD//zYAALT//zcAALr//zMAAML//ywAAMv//yIAANP//xEAANz//wQAAOj///r///T///L//wAAAO3//w8AAOb//xsAAOD//yYAANz//zEAANn//zoAANr//0IAAN///0oAAOb//04AAO///1IAAPP//1QAAPT//1QAAPj//1QAAP///1IAAAMAAE0AAAsAAEYAABMAAEEAABcAADkAAB0AADMAACEAAC0AACUAACUAACwAAB4AAC8AABYAAC8AAA4AAC8AAAYAAC8AAP///zAAAPn//zIAAPT//y8AAO3//ykAAOf//yUAAOL//yIAAN3//x8AANr//xwAANj//xYAANf//xAAANj//w4AANn//wwAANv//wYAAN///wIAAOX///z//+v///n///L///j///j///T///3///P//wMAAPX//wkAAPL//w8AAO///xUAAO3//xwAAOv//yMAAOn//ycAAOb//ysAAOT//y0AAOP//zAAAOP//y8AAOP//y0AAOT//yoAAOT//yQAAOj//x4AAO3//xgAAO///xEAAPH//wsAAPf//wQAAP7///3//wIAAPT//wMAAOn//wIAAN7//wAAANH//////8X///3//7r///n//6////b//6f///f//6L///f//6D///P//6P//+///6n//+v//6///+r//7f//+r//77//+n//8X//+b//8v//+X//9D//+f//9X//+b//9r//+f//+D//+n//+f//+r///D//+r///v//+r//wgAAOv//xUAAO3//yEAAPH//yoAAPT//zAAAPf//zQAAPr//zYAAP3//zcAAAIAADYAAAgAADQAAAsAADAAAA0AACwAAA0AACgAAAoAACUAAAkAACIAAAkAAB8AAAgAABsAAAoAABYAAAkAAA0AAAYAAAQAAAQAAPr//wMAAPH//wUAAOn//wYAAOP//wkAAN7//wwAANj//xAAANb//xUAANP//xgAANL//xoAANX//xwAANX//xoAANb//xcAANr//xUAANz//xIAAOL//xAAAOr//w0AAPH//wgAAPv//wMAAAQAAP///wsAAPv//xQAAP3//xwAAAAAACEAAAUAACYAAAcAACkAAAYAACsAAAIAAC0AAP3//y0AAPn//ywAAPT//ywAAO///ykAAOv//yUAAOj//yEAAOj//xoAAOn//xQAAO7//w0AAPL//wcAAPP//wAAAO////j//+r//+///+j//+f//+v//+D///D//9r///f//9b///v//9L//wAAANH//wQAANH//wgAANP//wwAANj//w4AAN7//w8AAOX//w4AAO3//w4AAPX//xAAAPv//xQAAAEAABkAAAUAABwAAAkAABwAAAwAABkAAA4AABUAABAAABIAABMAABEAABYAABEAABoAABEAAB0AAA8AACAAAAwAACIAAAkAACUAAAUAACgAAAEAACkAAPz//yoAAPb//ysAAPH//ykAAO3//ykAAO7//ygAAPL//yUAAPn//yMAAP7//x8AAAEAABoAAAIAABYAAAMAABEAAAUAAAwAAAYAAAgAAAcAAAMAAAgAAP///wsAAPz//w8AAPj//xUAAPb//x0AAPT//yQAAPP//ycAAPP//yMAAPL//x0AAPH//xgAAPH//xYAAPL//xYAAPT//xYAAPb//xQAAPj//xAAAPz//w0AAP///wcAAAQAAAMAAAkAAPz//w8AAPT//xUAAOz//xoAAOX//x0AAOL//x0AAOH//x0AAOT//xkAAOb//xMAAOX//w0AAOL//wQAAN3///z//9r///T//9v//+3//9///+j//+b//+T//+z//+D///D//97///T//97///f//93///n//93///v//97///r//93///r//93///n//9////n//+L///3//+f//wAAAO7//wMAAPP//wMAAPj//wMAAPz//wIAAP7//wMAAAAAAAMAAP///wMAAP7//wAAAPz///v///r///X///f///H///b///H///f///P///n///X///7///T//wQAAPD//woAAOn//w0AAOP//w4AAOL//w0AAOX//wsAAO///wgAAPr//wcAAAMAAAUAAAcAAAMAAAoAAAIAAAsAAP///w4AAP3//xAAAPv//xMAAPr//xcAAPr//xoAAPj//xwAAPb//x0AAPX//x0AAPj//x0AAP7//x0AAAYAABwAAA0AABsAABAAABgAABEAABcAABEAABUAABAAABAAABEAAAwAABAAAAgAAA4AAAMAAAwAAP///wsAAPz//wkAAPj//wcAAPT//wQAAPH//wEAAOv///v//+b///X//+P//+7//97//+f//9r//+H//9n//9z//9X//9n//9P//9f//9X//9b//9T//9f//9b//9n//9v//9v//97//93//+P//+D//+n//+L//+7//+H///T//+H///r//+L///z//+D//////9///wMAAN7//wQAAN7//wYAAOD//wkAAOL//wkAAOT//wgAAOj//wcAAOz//wUAAO///wMAAPP//wIAAPj//wAAAPz//////wEAAP3//wQAAPn//wkAAPb//w4AAPT//xMAAPH//xcAAO///xoAAO///xsAAO7//xkAAPH//xcAAPT//xYAAPb//xQAAPv//xEAAAAAABAAAAQAAAwAAAoAAAkAABAAAAYAABUAAAQAABwAAAIAACIAAAQAACcAAAcAACwAAAgAAC4AAAoAAC8AAA0AADEAAA8AADAAABQAAC8AABkAAC0AAB0AACoAACAAACgAAB4AACUAAB0AAB4AAB4AABoAABwAABcAABgAABMAABYAABAAABIAAAsAAAwAAAQAAAkAAP3//wYAAPf//wIAAPD//////+z///z//+j///3//+H///7//9v///z//9T///n//87///j//8v///b//8z///b//8////X//9P///T//9f///D//9n//+v//93//+f//+H//+X//+b//+T//+z//+H///H//9////b//93///n//9v///r//9r///r//9r///v//9r///v//9r///z//9z///7//9///////+T//wAAAOr//wAAAPD//wAAAPX///7///v///3//wIAAP7//wkAAAAAAA8AAAIAABIAAAMAABYAAAQAABcAAAMAABkAAAMAABwAAAQAAB8AAAgAACEAAAsAACIAAA0AACMAABEAACUAABQAACkAABgAACsAAB0AAC0AACIAAC0AACYAAC4AACkAADAAACwAADIAADAAADQAADQAADUAADYAADMAADYAADAAADUAAC8AADQAAC4AADQAAC0AADMAACkAADIAACUAAC8AACAAACsAABwAACcAABkAACQAABYAACIAABQAAB8AABAAABwAAAwAABcAAAoAABMAAAoAABAAAAwAAA4AAAwAAAsAAAwAAAkAAAwAAAcAAAwAAAUAAAsAAAMAAAwAAAIAAAwAAAEAAAsAAP///wgAAP7//wUAAPz//wQAAPv//wMAAPv//wEAAPz//wAAAPz///3///v///v///r///n///z///r///////v//wAAAPv//wEAAPv//wIAAPz//wEAAP3//wEAAP7//wIAAAAAAAQAAAEAAAMAAAEAAAAAAAAAAP3///7///v///3///n///z///j///n///b///X///P///P//+////D//+z//+3//+n//+n//+j//+X//+f//+H//+T//97//+D//9r//93//9f//9r//9X//9n//9T//9n//9L//9r//9L//9n//9P//9j//9X//9j//9b//9r//9j//9z//9n//9///9r//+D//9z//+D//97//+L//+H//+X//+P//+n//+X//+3//+b///D//+f///H//+j///T//+r///f//+3///v//+////////H//wIAAPX//wMAAPn//wIAAP3//wEAAAEAAAMAAAUAAAUAAAcAAAYAAAgAAAQAAAgAAAEAAAgAAP3//wsAAPv//w0AAPv//w4AAPz//w4AAPv//w0AAPr//w0AAPj//w0AAPf//w0AAPn//wwAAPv//wsAAP3//wkAAP7//wcAAP7//wUAAP7//wQAAP7//wQAAP///wMAAP///wEAAAAAAP///wEAAP7//wEAAP3//wEAAPz//wMAAPv//wYAAPn//woAAPn//wsAAPj//woAAPj//wcAAPj//wYAAPj//wcAAPf//wgAAPb//wgAAPf//wcAAPj//wYAAPr//wMAAPv//wAAAPz///7//////////wIAAP///wYAAP3//woAAPz//w0AAPz//xAAAP3//xIAAP7//xUAAAEAABkAAAMAABwAAAQAAB4AAAQAAB4AAAIAAB4AAAIAAB4AAAQAAB4AAAYAAB0AAAgAABsAAAkAABkAAAsAABYAAAwAABQAAA0AABIAAA4AABAAAA4AAA4AAA4AAA0AAAwAAAsAAAoAAAoAAAkAAAgAAAoAAAUAAAoAAAIAAAkAAP///wgAAP3//wYAAPz//wUAAPv//wQAAPn//wMAAPb//wIAAPP//wAAAPH///3//+////v//+3///j//+v///j//+r///f//+j///b//+f///T//+f///P//+j///L//+n///L//+r///H//+v///H//+3///L///D///P///P///b///j///n///z///v//wEAAP7//wYAAAEAAAwAAAQAABEAAAYAABYAAAkAABoAAAwAAB8AAA8AACMAABMAACYAABcAACkAABoAACsAAB0AACwAACAAACwAACIAACwAACMAACwAACQAACsAACQAACoAACQAACkAACMAACYAACIAACMAACEAAB8AAB8AABoAABwAABUAABkAABAAABUAAAoAABEAAAUAAAwAAAAAAAgAAPv//wQAAPb//wIAAPL//wAAAO7//////+v///3//+j///v//+X///n//+L///f//+D///X//+D///X//+D///T//+D///X//+L///f//+b///n//+n///v//+3///v///L///v///b///r///v///r///////r//wIAAPr//wUAAPr//wcAAPr//wcAAPn//wgAAPj//wkAAPf//wkAAPX//wkAAPP//wgAAPL//wYAAPD//wMAAO///wEAAO7//////+3///z//+z///n//+v///X//+r///H//+v//+7//+z//+v//+z//+j//+3//+j//+7//+b//+7//+T//+///+P///D//+L///H//+L///L//+T///P//+b///X//+f///f//+f///r//+b///v//+X///v//+X///v//+X///r//+f///r//+n///r//+3///v///L///z///X///7///j//wAAAP3//wEAAAEAAAIAAAUAAAMAAAkAAAQAAAsAAAQAAA0AAAYAABAAAAcAABQAAAkAABgAAAwAABsAAA4AAB0AABEAAB0AABQAAB0AABUAAB4AABcAAB4AABgAAB8AABgAAB8AABgAAB8AABcAAB4AABYAAB0AABUAABsAABMAABoAABAAABcAAA4AABUAAAsAABIAAAgAAA4AAAUAAAoAAAIAAAUAAP///wAAAPz///z///r///j///f///P///X///D///P//+3///H//+r///D//+f//+///+T//+7//+T//+7//+X//+///+X///D//+X///L//+X///T//+T///X//+T///b//+P///b//+T///b//+X///X//+n///X//+3///X///L///b///b///f///n///j///7///f//wMAAPb//wgAAPX//wsAAPT//w0AAPP//w4AAPL//xAAAPH//xIAAPL//xUAAPP//xYAAPT//xYAAPf//xQAAPr//xIAAPz//xAAAP///w4AAAEAAA0AAAMAAA0AAAYAAAwAAAkAAAoAAAwAAAgAAA8AAAgAABEAAAgAABMAAAgAABUAAAgAABcAAAgAABgAAAgAABkAAAgAABoAAAcAABoAAAcAABkAAAYAABcAAAYAABQAAAYAABIAAAQAAA4AAAEAAAsAAP///wcAAPv//wIAAPj///7///b///r///T///X///T///L///T///D///P//+7///L//+3///D//+z///D//+3///H//+7///P///D///b///L///n///T///z///b///////j//wMAAPv//wUAAP3//wkAAAAAAAsAAAEAAA0AAAQAAA0AAAYAAAwAAAkAAAwAAAsAAAwAAAwAAA4AAA4AABAAAA8AABEAAA8AABIAABAAABEAABEAABEAABEAABEAABEAABIAABEAABQAABAAABYAAA8AABcAAA0AABYAAAsAABQAAAkAABIAAAcAAA4AAAcAAAoAAAYAAAUAAAcAAAAAAAgAAPv//wkAAPf//wwAAPX//w0AAPX//w4AAPT//w8AAPT//xAAAPX//xAAAPT//w8AAPX//w0AAPb//wsAAPf//wgAAPn//wYAAPz//wQAAP3//wIAAP7//wAAAAAAAP7//wEAAPv//wMAAPn//wUAAPf//wYAAPT//wUAAPL//wMAAPD//wEAAO7///7//+3///r//+v///f//+r///T//+r///H//+r//+///+v//+7//+3//+3//+7//+3///D//+7///L///D///X///L///b///X///n///f///r///r///r///z///v///z///v///z///v///v///z///r///z///n///3///n///////j//wAAAPf//wEAAPX//wIAAPT//wIAAPT//wIAAPT//wEAAPT//wEAAPT//wAAAPX//wAAAPb///////j///////r///////3//wAAAAEAAAAAAAUAAAIAAAgAAAIAAAsAAAIAAA4AAAMAAA8AAAMAAA4AAAMAAA4AAAIAAAsAAAEAAAgAAAAAAAQAAP7//wAAAPz///3///v///v///n///r///n///v///j///z///f///7///b//wAAAPb//wIAAPb//wQAAPb//wUAAPb//wUAAPb//wUAAPb//wQAAPb//wIAAPf//wEAAPj///////n///7///v///z///3///v///7///n//wAAAPj//wEAAPb//wIAAPP//wIAAPH//wIAAO///wMAAO7//wIAAO3//wMAAO7//wMAAPH//wMAAPX//wQAAPr//wYAAAAAAAcAAAgAAAgAAA8AAAkAABUAAAkAABsAAAkAACAAAAcAACMAAAUAACQAAAIAACIAAP///x4AAPz//xkAAPn//xIAAPf//wsAAPb//wQAAPX///7///b///j///f///T///r///D///3//+7//wIAAO3//wYAAO3//wkAAO3//w0AAO7//w4AAPH//w8AAPT//w8AAPn//w4AAP7//wsAAAQAAAgAAAkAAAYAAA4AAAMAABEAAAEAABIAAP///xAAAP7//w0AAP7//wgAAP///wIAAAEAAPz//wIAAPX//wQAAPH//wUAAO///wYAAPD//wUAAPT//wMAAPr//wAAAAEAAPv//woAAPX//xIAAPD//xgAAOv//xwAAOj//x0AAOf//xsAAOj//xYAAO3//w4AAPX//wUAAP////v//wwAAPP//xkAAO3//yYAAOv//zIAAO3//zsAAPT//0AAAP3//0AAAAgAADwAABIAADMAAB0AACYAACQAABYAACcAAAYAACYAAPX//yEAAOf//xkAAN3//w8AANb//wMAANX///j//9j//+7//9///+f//+n//+P///P//+H///z//+L//wMAAOX//wcAAOj//wcAAOr//wMAAOv///z//+v///T//+r//+z//+j//+T//+f//+D//+X//97//+L//+D//+H//+X//+P//+3//+f///X//+r///7//+///wcAAPb//w0AAP///xAAAAgAABIAABEAABEAABkAAA0AAB8AAAkAACAAAAQAABoAAP///w4AAPv//wAAAPr///P///r//+n///z//+P///7//+f//wIAAPP//wQAAAUAAAUAABgAAAQAACkAAAIAADMAAP3//zgAAPn//zUAAPX//yoAAPL//xsAAPL//w0AAPX//wQAAPv///v//wUAAPb//w8AAPb//xkAAPj//yEAAPf//yYAAPT//yYAAO7//yEAAOb//xcAAN///woAANz///v//9r//+3//93//+L//+T//9v//+7//9n///b//9v///r//+L///r//+z///j///f///T//wMAAO///w4AAO7//xcAAPD//xsAAPb//xoAAP3//xUAAAUAAAwAAAwAAAAAAA8AAPL//w4AAOX//wgAANn///7//9D///T//8r//+///8j//+///83///X//9b///7//+T//wsAAPL//xoAAAAAACUAAA0AACoAABcAACkAABwAACUAABwAAB8AABoAABcAABcAABAAABQAAAsAABIAAAkAABIAAAoAABQAAAkAABcAAAcAABsAAAMAAB0AAP///x0AAPv//xwAAPf//xkAAPX//xUAAPX//xAAAPX//wwAAPf//wkAAPr//wcAAP3//wUAAAEAAAMAAAUAAAEAAAgAAP///wsAAP3//wsAAPv//woAAPn//wgAAPf//wQAAPb///////b///n///b///T///b///D///b//+7///X//+////L///L///D///f//+////3///D//wMAAPP//wkAAPj//xAAAP7//xQAAAUAABYAAA0AABgAABMAABgAABYAABgAABUAABcAABMAABQAAA4AAA8AAAkAAAgAAAIAAAAAAPv///n///T///L//+///+3//+r//+r//+f//+f//+X//+X//+b//+T//+r//+T//+///+P///X//+T///n//+X///7//+f//wIAAOr//wUAAO3//wcAAPL//woAAPf//wwAAP3//w4AAAQAABAAAAsAABEAABEAABMAABQAABMAABUAABMAABQAABIAABIAABAAABIAAA0AABIAAAsAABMAAAgAABQAAAcAABYAAAYAABcAAAYAABgAAAUAABkAAAQAABoAAAIAABkAAAAAABgAAP7//xcAAP3//xQAAPz//w8AAPv//wkAAPz//wIAAP7///r///////P//////+3//////+j///7//+X///3//+T///v//+T///r//+b///r//+n///v//+3///z///H///3///T///////b///////j//wAAAPr//wEAAPv//wEAAPv//wEAAPr//wAAAPr//wAAAPr///////n///3///r///v///v///n///3///f///////T//wAAAPL//wEAAPD//wIAAO///wIAAO7//wEAAPD//wAAAPL//wAAAPb//wAAAPr//wAAAP7//wEAAAEAAAEAAAQAAAEAAAYAAAAAAAcAAP7//wgAAPv//wcAAPj//wUAAPX//wMAAPL///////D///r//+////b//+7///H//+///+3//+///+r///H//+j///L//+j///T//+j///X//+r///b//+z///b//+7///b///D///X///P///X///X///T///f///T///n///T///v///T///3///X//wAAAPb//wMAAPj//wUAAPv//wgAAP7//wsAAAEAAA4AAAQAABAAAAcAABIAAAkAABMAAAoAABQAAAsAABQAAAsAABMAAAsAABEAAAsAAA4AAAsAAAsAAAsAAAUAAAsAAAAAAAoAAPr//wkAAPX//wcAAPD//wQAAO3//wEAAOz//////+z///7//+7///3///D///z///L///z///X///v///j///v///v///r///7///n//wAAAPf//wIAAPf//wMAAPf//wQAAPf//wQAAPn//wQAAPz//wMAAP///wMAAAMAAAMAAAgAAAQAAAwAAAUAABEAAAcAABQAAAgAABcAAAoAABgAAAsAABgAAAsAABcAAAsAABUAAAoAABMAAAkAAA8AAAYAAAoAAAMAAAQAAAAAAP7///3///f///n///H///b//+3///P//+n///D//+f//+7//+b//+3//+f//+3//+f//+3//+n//+7//+v///D//+3///L//+7///X//+////j///H///z///L//wAAAPT//wQAAPb//wcAAPj//woAAPr//wwAAPz//w0AAP7//w0AAP///wwAAAEAAAoAAAMAAAgAAAUAAAUAAAYAAAIAAAkAAP7//wwAAP3//xEAAPz//xQAAPz//xgAAP3//xsAAP///x0AAAIAAB4AAAUAAB4AAAgAABsAAAwAABkAAA0AABQAABAAABIAAA8AAAwAAA8AAAoAAAIAAPb///v//+r//wAAAO///wEAAO///wQAAPP//wUAAPP//wcAAPf//wgAAPn//woAAPz//woAAP7//wsAAAAAAAoAAAIAAAsAAAQAAAoAAAUAAAkAAAYAAAgAAAYAAAcAAAcAAAUAAAcAAAQAAAcAAAIAAAYAAAEAAAUAAP///wQAAP7//wMAAP3//wEAAPz//wAAAPr///7///r///3///n///v///j///r///j///n///f///j///f///f///f///b///f///b///f///X///j///X///j///X///j///X///n///X///n///X///r///b///r///b///v///f///v///f///z///j///z///j///3///n///3///n///7///r///7///r///////v///////z//wAAAPz//wEAAP3//wEAAP7//wIAAP7//wMAAP///wMAAAAAAAQAAAEAAAQAAAIAAAUAAAMAAAUAAAQAAAYAAAUAAAYAAAUAAAYAAAYAAAYAAAcAAAcAAAgAAAYAAAgAAAYAAAkAAAYAAAkAAAUAAAoAAAUAAAkAAAQAAAkAAAMAAAkAAAIAAAgAAAEAAAcAAAAAAAYAAP///wUAAP7//wQAAP3//wIAAPz//wEAAPv///////r///7///n///z///j///v///j///n///f///j///f///f///f///b///f///X///f///X///f///T///j///X///n///X///n///X///r///b///v///f///z///n///7///r///////z//wAAAP7//wEAAAAAAAIAAAIAAAQAAAQAAAUAAAYAAAYAAAgAAAcAAAkAAAcAAAsAAAgAAA0AAAgAAA4AAAkAAA8AAAkAABAAAAkAABEAAAkAABIAAAkAABIAAAkAABIAAAkAABIAAAkAABIAAAgAABEAAAgAABEAAAgAABAAAAcAAA8AAAcAAA4AAAYAAA0AAAYAAAwAAAUAAAsAAAUAAAkAAAQAAAgAAAQAAAcAAAMAAAYAAAMAAAUAAAIAAAQAAAIAAAMAAAIAAAIAAAEAAAEAAAEAAAAAAAEAAP///wAAAP///wAAAP7//wAAAP7///////7///////3///////3///////3///7///3///7///3///7///7///7///7///7///////7//////////wAAAP///wAAAAAAAAEAAAAAAAIAAAEAAAMAAAEAAAQAAAIAAAUAAAMAAAYAAAQAAAYAAAQAAAcAAAUAAAgAAAYAAAkAAAYAAAkAAAcAAAoAAAgAAAoAAAgAAAoAAAgAAAoAAAgAAAoAAAgAAAoAAAgAAAkAAAgAAAkAAAgAAAgAAAcAAAcAAAYAAAYAAAYAAAUAAAUAAAQAAAQAAAMAAAQAAAEAAAMAAAAAAAIAAP///wEAAP7//wEAAP3//wAAAPz///////z///////v///////v///7///r///7///r///7///r///7///r///7///r///7///v///7///v///////v///////z///////z///////3///////3///////7///////7///////7///7///7///7///7///7///7///7///7///3///7///3///7///3///3///z///3///z///z///z///v///z///v///z///r///z///r///z///n///z///n///z///j///3///j///3///j///7///j///7///j///////j///////j//wAAAPj//wEAAPj//wEAAPn//wEAAPn//wIAAPr//wIAAPr//wIAAPv//wIAAPv//wIAAPz//wEAAPz//wEAAP3//wEAAP3//wAAAP3//wAAAP7///////7///7///7///7///7///3///7///3///7///z///7///z///7///z///7///z///7///z///7///v///7///z///7///z///7///z///7///z///3///z///3///3///3///3///3///3///3///7///3///7///3///7///z///7///z///7///z///7///z///7///z///7///z///7///z///7///z///7///z///3///z///3///z///3///z///3///z///3///z///3///3///3///3///3///3///7///7///7///7///7//////////wAAAP///wAAAAAAAAEAAAAAAAEAAAAAAAIAAAEAAAMAAAEAAAMAAAIAAAMAAAIAAAQAAAIAAAQAAAIAAAQAAAIAAAUAAAIAAAUAAAIAAAUAAAIAAAUAAAEAAAUAAAEAAAUAAAEAAAQAAAAAAAQAAAAAAAQAAP///wQAAP///wQAAP///wQAAP///wMAAP7//wMAAP7//wMAAP7//wMAAP7//wMAAP///wQAAP///wQAAP///wQAAAAAAAQAAAAAAAUAAAEAAAUAAAEAAAUAAAIAAAYAAAIAAAYAAAMAAAYAAAMAAAcAAAMAAAcAAAQAAAcAAAQAAAgAAAQAAAgAAAQAAAgAAAQAAAgAAAQAAAgAAAQAAAgAAAQAAAgAAAMAAAgAAAMAAAgAAAMAAAgAAAMAAAgAAAIAAAcAAAIAAAcAAAIAAAcAAAIAAAcAAAIAAAcAAAIAAAYAAAIAAAYAAAIAAAYAAAIAAAYAAAIAAAYAAAIAAAYAAAIAAAYAAAIAAAYAAAIAAAUAAAMAAAUAAAMAAAUAAAMAAAUAAAMAAAUAAAMAAAUAAAMAAAUAAAMAAAUAAAIAAAUAAAIAAAUAAAIAAAUAAAIAAAUAAAEAAAQAAAEAAAQAAAEAAAQAAAAAAAQAAAAAAAUAAAAAAAUAAAAAAAUAAAAAAAUAAP///wUAAP///wUAAAAAAAUAAAAAAAYAAAAAAAYAAAAAAAYAAAAAAAYAAAEAAAYAAAEAAAYAAAIAAAYAAAIAAAYAAAIAAAYAAAMAAAYAAAMAAAYAAAMAAAYAAAMAAAYAAAQAAAYAAAQAAAYAAAQAAAUAAAMAAAUAAAMAAAQAAAMAAAQAAAMAAAMAAAMAAAMAAAIAAAIAAAIAAAIAAAIAAAEAAAEAAAEAAAEAAAAAAAAAAP///wAAAP///wAAAP7///////7///////3///////3///////z///////z///////z///////v///////v///////v///////v///////v///7///v///7///v///7///v///7///v///7///z///7///z///7///z///7///3///7///3///7///7///7///7///7///////7///////7///////7//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP///wAAAP////////////////////7//wAAAP7//wAAAP3//wAAAP3//wAAAPz//wAAAPz//wEAAPz//wEAAPz//wEAAPz//wEAAPz//wEAAPz//wAAAPz//wAAAP3//wAAAP3//wAAAP7//wAAAP7//wAAAP////////////////////////////////////////////7///////7///7///7///3///7///3///7///z///7///v///7///r///////n///////j///////j///////f///////b//wAAAPb//wAAAPb//wAAAPf//wAAAPf//wAAAPj//wAAAPn//wEAAPv//wEAAPz//wEAAP7//wEAAAAAAAEAAAIAAAEAAAQAAAEAAAYAAAEAAAgAAAEAAAkAAAEAAAoAAAEAAAsAAAEAAAwAAAEAAAwAAAEAAAwAAAEAAAsAAAEAAAoAAAEAAAkAAAEAAAcAAAEAAAQAAAEAAAIAAAEAAP///wEAAPz//wEAAPr//wEAAPf//wEAAPX//wEAAPL//wEAAPH//wEAAPD//wEAAO///wEAAO///wEAAO///wEAAPD//wEAAPL//wEAAPX//wEAAPf//wEAAPv//wEAAP7//wEAAAIAAAEAAAYAAAEAAAoAAAAAAA4AAAAAABMAAAAAABYAAAAAABgAAAAAAB0AAAAAABwAAAAAABoAAAAAABsAAAAAABoAAAAAABQAAAAAABAAAAAAAA4AAAAAAAcAAAEAAAAAAAEAAP3//wEAAPn//wEAAPL//wEAAO3//wEAAO3//wEAAOr//wEAAOb//wEAAOf//wIAAOn//wIAAOr//wIAAO7//wIAAPX//wIAAPr//wIAAP///wIAAAYAAAIAAAwAAAIAABAAAAIAABMAAAIAABYAAAIAABgAAAIAABgAAAIAABUAAAIAABMAAAIAAA8AAAIAAAsAAAIAAAcAAAIAAAMAAAIAAP7//wEAAPz//wEAAPn//wEAAPb//wEAAPf//wEAAPj//wEAAPn//wAAAP3//wAAAAEAAAAAAAMAAAAAAAcAAAAAAAsAAAAAAAwAAP///w0AAP///w4AAP///w0AAP///wsAAP///wkAAP///wYAAP///wIAAP////7///////v///////f///////P//////+///////+3//////+v//////+v//////+v//wAAAO3//wAAAPH//wAAAPf//wAAAP3//wAAAAMAAAAAAAoAAAAAABEAAAAAABYAAAAAABgAAAAAABkAAAAAABkAAAAAABcAAAEAABQAAAEAAA4AAAEAAAkAAAEAAAQAAAEAAP3//wEAAPf//wEAAPH//wEAAOz//wEAAOj//wEAAOb//wEAAOP//wEAAOP//wEAAOX//wEAAOj//wEAAO7//wEAAPT//wEAAPv//wEAAAIAAAEAAAkAAAAAAA4AAAAAABMAAAAAABYAAAAAABgAAAAAABgAAAAAABgAAAAAABYAAAAAABQAAAAAABEAAAAAAA4AAAAAAAkAAAAAAAUAAAAAAP///wAAAPr//wAAAPX//wAAAPH//wAAAO7//wAAAO3//wAAAO3//wAAAO///wAAAPH//wAAAPX//wAAAPr//wAAAAAAAAAAAAUAAAAAAAkAAAAAAAsAAAAAAA0AAAAAAA4AAAAAAAwAAAAAAAkAAAAAAAgAAAAAAAYAAAAAAAMAAAAAAP///wAAAPv//wAAAPj//wAAAPb//wAAAPX//wAAAPP//wAAAPL//wAAAPT//wAAAPb//wAAAPj//wAAAPn//wAAAPv//wAAAP///wAAAAMAAAAAAAYAAAAAAAcAAAAAAAcAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAYAAAAAAAQAAAAAAAIAAAAAAAEAAP////3///////n///////b///////T///////L///////D//////+///////+///////+////////H///////P///////b///////r///////7//////wMAAP///wcAAP///woAAP///w0AAP///w8AAP///xEAAP///xEAAP///xAAAP///w8AAP///wwAAAAAAAoAAAAAAAgAAAAAAAYAAAAAAAIAAAAAAP///wAAAPv//wAAAPf//wAAAPP//wAAAPH//wAAAO///wAAAO7//wAAAO7//wAAAO///wAAAPH//wAAAPX//wAAAPn//wAAAP3//wAAAAIAAAAAAAcAAAAAAAoAAAAAAAwAAAAAAA0AAAAAAA8AAAAAABEAAAAAABIAAAAAABIAAAAAABIAAAAAABAAAAAAAA0AAAAAAAgAAAAAAAQAAAAAAP///wAAAP3//wAAAPr//wAAAPf//wAAAPT//wAAAPP//wAAAPT//wAAAPX//wAAAPb//wAAAPj//wAAAPv//wAAAP7//wAAAP7//wAAAP3//wEAAPz//wEAAP3//wEAAP7//wEAAP7//wEAAP3//wEAAP3//wEAAP3//wEAAP3//wEAAPz//wEAAPn//wEAAPT//wEAAPD//wEAAO3//wEAAOz//wEAAO3//wEAAO7//wEAAPD//wEAAPX//wEAAPz//wEAAAIAAAAAAAgAAAAAAA0AAAAAABMAAAAAABgAAAAAABkAAAAAABgAAAAAABcAAAAAABcAAAEAABcAAAEAABYAAAEAABQAAAEAABIAAAEAABIAAAEAABEAAAEAAA4AAAEAAAkAAAEAAAMAAAEAAP///wEAAP3//wEAAPz//wEAAPj//wEAAPP//wEAAO///wEAAO///wEAAPD//wEAAPH//wEAAPH//wEAAPP//wEAAPb//wAAAPn//wAAAPr//wAAAPv//wAAAPz//wAAAPv//wAAAPv//wAAAPz//wAAAP3//wAAAPz//wAAAPn//wAAAPr//wAAAP7//wAAAAEAAAAAAAEAAAAAAP///wAAAP///wAAAP///wAAAPz//wAAAPf//wAAAPP//wAAAPT//wAAAPb//wAAAPf//wAAAPf//wAAAPn//wAAAP7//wAAAAEAAAAAAAMAAP///wQAAP///wYAAP///wcAAP///wgAAP///woAAP///wwAAP///w0AAP///wwAAP///wsAAP///wwAAP7//wwAAP///wgAAP///wMAAP////7///////z///////n///////T//////+3//////+r//////+v//////+z//////+3//////+////////L///////b///////n///////r///////z//////wEAAP///wYAAP///wgAAP///woAAP///wsAAP///w0AAP///wwAAP///wcAAP///wMAAP////////////z//wAAAPj//wAAAPX//wAAAPP//wAAAPH//wAAAPH//wAAAPL//wAAAPT//wAAAPX//wAAAPj//wAAAPv//wAAAP7//wAAAAEAAAAAAAUAAAAAAAkAAAAAAAwAAAAAAA4AAAAAAA8AAAAAABAAAAAAABAAAAAAAA8AAAAAAA4AAAAAAAsAAAAAAAgAAAAAAAUAAAAAAAAAAAAAAPv//wAAAPb//wAAAPL//wAAAPD//wAAAO///wEAAPD//wEAAPL//wEAAPb//wEAAPn//wEAAPv//wEAAP7//wEAAAEAAAIAAAQAAAIAAAYAAAIAAAgAAAIAAAoAAAIAAAsAAAIAAA0AAAEAAA4AAAEAAA0AAAEAAA0AAAEAAA0AAAEAAAsAAAEAAAgAAAEAAAUAAAAAAAIAAAAAAP///wAAAPv//wAAAPf//wAAAPX//wAAAPP//wAAAPL//wAAAPL//wAAAPP//wEAAPP//wEAAPX//wEAAPj//wEAAPr//wEAAP3//wEAAAAAAAEAAAQAAAIAAAgAAAIAAAoAAAIAAAwAAAIAAA4AAAIAAA4AAAIAAA4AAAEAAA4AAAEAAAwAAAEAAAoAAAEAAAgAAAEAAAQAAAEAAAAAAAAAAPz//wAAAPj//wAAAPb//wAAAPX//wAAAPb///////n///////z//////wAAAP///wMAAP///wUAAP///wcAAP///wkAAP///wsAAP///wwAAP///w0AAP///w0AAP///wwAAP///wsAAP///wcAAP///wQAAP///wEAAP////////////z///////v///////n///////f///////b///////X///////X///////b///////j///////r///////v///////3//////wAAAP///wIAAP///wQAAP///wUAAP///wYAAP///wgAAP///wkAAP///wkAAP///wkAAP///wkAAP///wkAAP///wcAAAAAAAYAAAAAAAQAAAAAAAEAAAAAAP///wAAAPz///////r///////n///////j///////n///////r///////z///////3///////7//////wAAAP///wEAAP///wIAAP///wIAAP///wIAAP///wIAAP///wEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAIAAAAAAAIAAAEAAAIAAAEAAAMAAAEAAAMAAAEAAAMAAAEAAAIAAAEAAAEAAAEAAAEAAAEAAAAAAAEAAP7//wEAAP3//wEAAPz//wEAAPv//wEAAPr//wAAAPv//wAAAPz//wAAAP3//wAAAP3//wAAAAMAAAAAAAYAAAEAAAUAAAEAAAUAAAEAAAUAAAEAAAUAAAEAAAQAAAEAAAQAAAEAAAMAAAEAAAIAAAIAAAIAAAIAAAEAAAIAAAAAAAIAAAAAAAIAAP///wIAAP///wIAAP7//wIAAP7//wIAAP3//wIAAP3//wIAAPz//wIAAPz//wEAAPz//wEAAPz//wEAAPz//wEAAPz//wEAAPz//wAAAP3//wAAAP3//wAAAP3//wAAAP3//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP7//wAAAP7//wAAAP7//wAAAP7///////7///////3///////3///////3///////3///////z///////z///////z///////z///7///z///7///z///7///v///7///v///7///v///7///v///////v///////v///////v///////v///////v///////v///////v///////v///////v///////v///////v///////v///////v///////z///////z///////z///////3///////3///////7///////7//////////wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAIAAAEAAAIAAAEAAAEAAAEAAAEAAAEAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAIAAAAAAAIAAAAAAAIAAAEAAAMAAAEAAAMAAAEAAAMAAAIAAAMAAAIAAAQAAAIAAAQAAAMAAAQAAAMAAAQAAAMAAAQAAAMAAAQAAAMAAAQAAAMAAAUAAAMAAAUAAAMAAAUAAAMAAAUAAAMAAAUAAAIAAAUAAAIAAAUAAAIAAAUAAAIAAAUAAAIAAAUAAAEAAAUAAAEAAAUAAAEAAAUAAAEAAAUAAAEAAAUAAAEAAAUAAAEAAAUAAAEAAAUAAAEAAAUAAAEAAAUAAAEAAAUAAAIAAAUAAAIAAAUAAAIAAAQAAAIAAAQAAAIAAAQAAAIAAAMAAAEAAAMAAAEAAAMAAAEAAAIAAAEAAAIAAAAAAAIAAAAAAAEAAAAAAAEAAP///wEAAP///wAAAP7//wAAAP7//wAAAP3//wAAAP3///////3///////3///////z///////z///////z///////z///////3///////3///////3///////3///////3//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP///wAAAP///wAAAP///wAAAP///wAAAP7//wAAAP7///////7///////7///////7///////3///////3///////3///7///3///7///3///7///z///7///z///7///z///3///3///3///3///3///3///3///3///3///3///3///7///3///7///3///7///3///////3///////3//wAAAP3//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wEAAP///wEAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///////////////////////wAAAP7//wAAAP7//wAAAP7//wAAAP3//wAAAP3//wEAAP3//wEAAPz//wEAAPz//wEAAPz//wEAAPz//wEAAPz//wAAAPz//wAAAPz//wAAAPz//wAAAP3//wAAAP3//wAAAP3//wAAAP7//wAAAP7//wAAAP7//wAAAP///wAAAP///wAAAAAAAAAAAAAAAAEAAAAAAAEAAAEAAAEAAAEAAAEAAAEAAAIAAAIAAAIAAAIAAAIAAAIAAAMAAAIAAAMAAAIAAAMAAAIAAAMAAAIAAAMAAAIAAAMAAAIAAAMAAAIAAAMAAAEAAAMAAAEAAAMAAAEAAAMAAAEAAAIAAAAAAAIAAAAAAAIAAAAAAAEAAP///wEAAP///wEAAP///wAAAP7//wAAAP7//wAAAP3///////3///////3///////z///////z///7///z///7///v///7///v///7///v///3///v///3///v///3///r///z///r///z///r///z///r///v///v///v///v///v///v///r///v///r///v///r///z///r///z///r///3///r///3///r///3///r///7///r///7///v///////v///////z//wAAAP3//wAAAP7//wEAAP7//wEAAP///wEAAAAAAAEAAAEAAAEAAAIAAAEAAAIAAAEAAAMAAAEAAAMAAAEAAAMAAAEAAAMAAAEAAAMAAAEAAAMAAAAAAAIAAAAAAAIAAAAAAAEAAP///wAAAP///wAAAP////////7///7///7///3///7///z///7///v///7///v///7///r///7///r///7///r///7///r///////r///////r//wAAAPv//wAAAPz//wEAAP3//wEAAP7//wIAAP///wMAAAEAAAMAAAIAAAQAAAMAAAUAAAUAAAUAAAYAAAYAAAcAAAcAAAgAAAcAAAkAAAgAAAkAAAgAAAoAAAkAAAoAAAkAAAoAAAkAAAoAAAkAAAoAAAkAAAkAAAkAAAkAAAgAAAgAAAgAAAcAAAcAAAcAAAcAAAYAAAYAAAUAAAUAAAQAAAQAAAMAAAMAAAIAAAIAAAEAAAEAAAAAAAAAAP////////7///7///3///3///3///z///z///z///z///v///v///r///v///r///v///r///r///r///r///r///r///r///v///v///v///z///v///z///z///3///3///7///3//wAAAP7//wEAAP///wIAAAEAAAMAAAIAAAUAAAMAAAYAAAQAAAcAAAYAAAgAAAcAAAkAAAgAAAoAAAoAAAsAAAsAAAwAAAsAAA0AAAwAAA0AAA0AAA0AAA0AAA0AAA0AAA0AAA0AAA0AAAwAAA0AAAwAAAwAAAsAAAsAAAoAAAsAAAgAAAoAAAcAAAkAAAYAAAgAAAQAAAcAAAMAAAYAAAIAAAQAAAAAAAMAAP///wIAAP///wEAAP7//wAAAP7///////3///7///3///3///7///3///7///z///////z//wAAAPv//wEAAPv//wIAAPv//wIAAPv//wMAAPv//wQAAPv//wQAAPv//wUAAPv//wUAAPv//wUAAPv//wQAAPz//wMAAPz//wIAAPz//wEAAP3//wAAAP3///7///3///z///3///v///3///n///3///f///3///b///3///T///3///P///3///P///z///L///z///L///v///P///v///T///r///X///r///b///n///j///n///n///j///v///j///7///j//wAAAPj//wEAAPj//wMAAPj//wUAAPj//wYAAPj//wcAAPn//wcAAPn//wgAAPr//wcAAPv//wcAAPz//wYAAP3//wQAAP3//wMAAP7//wEAAP///////wAAAP3//wEAAPv//wEAAPr//wIAAPj//wIAAPf//wIAAPb//wIAAPX//wIAAPT//wIAAPT//wEAAPX//wAAAPb//wAAAPf///////j///7///n///z///v///v///3///r///7///n///////j//wEAAPf//wIAAPb//wIAAPb//wIAAPX//wIAAPX//wMAAPX//wEAAPX//wAAAPn//wcAAAgAAAQAAAkAAP///wYAAPn//wYAAPX//wYAAPH//wgAAPD//wgAAPL//wgAAPT//wgAAPX//wUAAPX//wMAAPb//wEAAPn///////7//////wMAAP///wcAAAEAAAoAAAMAAAsAAAQAAAoAAAQAAAkAAAUAAAsAAAQAAA0AAAQAAA0AAAMAAAwAAAIAAAkAAAIAAAYAAAIAAAQAAAEAAAMAAAAAAAQAAP///wYAAP///wUAAP7//wEAAP3///z///z///f///z///P///7///H//wEAAPP//wIAAPb//wMAAPn//wMAAPr//wEAAPr///7///j///z///n///r///z///n//wAAAPn//wYAAPr//wsAAPz//w0AAP7//wwAAAAAAAkAAAEAAAcAAAAAAAYAAP///wUAAP3//wUAAPz//wUAAPz//wQAAP7//wQAAP///wQAAAEAAAQAAAEAAAIAAAAAAAEAAP///wAAAP7//wAAAP7//////////////wEAAP///wMAAP///wYAAP7//wkAAP///wsAAAEAAA4AAAUAABAAAAoAABEAAA8AABAAABQAAA0AABYAAAsAABYAAAkAABMAAAgAAA4AAAgAAAkAAAcAAAcAAAYAAAUAAAUAAAUAAAQAAAYAAAIAAAUAAAIAAAMAAAIAAAEAAAMAAP///wUAAPz//wUAAPv//wQAAPv//wMAAPz//wEAAPv///////r///3///v///r///v///n///v///f///3///f///////r//wIAAP7//wQAAAIAAAUAAAQAAAcAAAYAAAcAAAcAAAYAAAgAAAQAAAcAAAQAAAcAAAMAAAUAAAIAAAQAAAAAAAQAAP///wMAAP7//wMAAP7//wIAAP7//wEAAP///////wEAAP7//wMAAP7//wIAAP7//wIAAP7//wIAAP///wIAAAEAAP///wQAAP3//wYAAPv//wgAAPj//wgAAPb//wcAAPT//wUAAPP//wMAAPL//wAAAPT///3///f///v///r///n///7///j//wAAAPj//wIAAPn//wIAAPn//wEAAPn///////j///z///n///j///r///b///r///X///n///X///r///b///v///n///z///////3//wYAAP///wsAAAEAABAAAAIAABQAAAIAABUAAAIAABIAAAIAAA8AAAIAAAsAAAIAAAcAAAIAAAMAAAQAAP///wYAAP7//wgAAP7//wsAAP7//w0AAAAAAA8AAAQAAA8AAAgAABAAAAwAAA8AAA8AAA4AABEAAAwAABEAAAkAAA0AAAUAAAcAAAAAAAIAAPr///z///X///X///H///D//+z//+///+r///H//+n///T//+v///r//+7//wIAAPP//wkAAPr//xAAAAAAABUAAAYAABgAAAoAABYAAAwAABEAAAwAAAoAAAoAAAIAAAYAAPn//wIAAPL///7//+z///z//+r///v//+z///3///D///////f//wQAAAAAAAkAAAkAAA8AABEAABUAABYAABkAABoAABwAABkAAB0AABYAAB0AAA8AABoAAAgAABYAAAAAABAAAPn//wgAAPX//wEAAPT///n///b///L///r//+3//wIAAOz//wsAAO3//xQAAPL//xsAAPr//yAAAAUAACEAABAAAB0AABoAABUAACIAAAoAACYAAP///yYAAPb//yIAAO7//xoAAOr//xIAAOz//wgAAPL//wAAAPz///v//wgAAPr//xQAAP3//x8AAAEAACcAAAgAACsAAA4AACkAABQAACMAABcAABgAABgAAAsAABYAAP3//xAAAPD//wcAAOX///3//97///T//9z//+v//97//+T//+P//+D//+r//9////H//+D///f//+L///z//+X///7//+j///3//+z///r///D///T///X//+z///v//+T//wAAAN7//wMAANn//wQAANf//wMAANn///7//+H///j//+z///P///v//+7//wsAAOr//xgAAOn//yMAAOv//yoAAPD//ysAAPX//yUAAPr//xkAAAAAAAoAAAUAAPr//wkAAOj//woAANj//wgAAM7//wEAAMn///b//8v//+r//9L//97//9///9X//+3//9H///v//9L//wgAANj//xAAAOD//xIAAOr//w4AAPX//wYAAP////3//wkAAPP//xIAAOr//xoAAOb//yEAAOb//yQAAOv//yMAAPP//x4AAP3//xUAAAkAAAoAABUAAP///yAAAPj//yoAAPT//y4AAPT//y0AAPf//ycAAPz//xwAAAIAAA4AAAYAAP7//woAAO7//w0AAOH//w4AANr//w8AANj//w4AANv//wsAAOL//wYAAOv///////b///j//wEAAPP//wsAAPL//xQAAPT//xoAAPr//x8AAAAAACEAAAYAAB8AAAoAABsAAA4AABYAABIAABEAABYAAA0AABoAAAoAAB4AAAsAACIAAA8AACMAABIAACEAABQAABsAABYAABIAABcAAAYAABUAAPz//xEAAPP//wwAAO3//wYAAOr//////+v///j//+////H///b//+n///7//+L//wgAAN7//xEAAN3//xgAAOH//x0AAOj//x4AAPT//xoAAAEAABMAAA0AAAgAABgAAPv//x8AAO7//yMAAOL//yMAANv//yAAANf//xkAANf//xAAANn//wMAANz///b//+D//+v//+b//+H//+3//9z///X//9v//wAAAN7//wkAAOH//w8AAOX//xIAAOn//xAAAPD//w4AAPf//wsAAP3//wsAAAQAAAwAAAkAAAwAAAwAAAkAAA0AAAMAAA0AAPv//wwAAPP//w0AAO7//w8AAOv//xAAAOv//xAAAOv//w0AAOz//wgAAO3//wAAAO3///j//+z///L//+v//+v//+r//+f//+r//+H//+3//93///D//9n///P//9f///b//9X///j//9j///r//93///3//+P//wIAAOz//woAAPX//xIAAP///xcAAAgAABgAABEAABYAABkAABIAACAAAAwAACYAAAYAACkAAAIAACoAAP3//ycAAPj//yIAAPP//xoAAO7//xAAAOr//wQAAOn///n//+r//+7//+3//+P///P//9z///n//9f//wAAANb//wUAANb//woAANn//wwAANz//w0AAOP//wwAAOv//wsAAPL//wwAAPv//wwAAAIAAAwAAAcAAAsAAAwAAAgAABAAAAIAABIAAPz//xYAAPj//xsAAPf//yAAAPj//yQAAPr//yQAAP3//yIAAP///x0AAAAAABYAAAAAABAAAP///woAAP///wUAAP////7//wAAAPj//wMAAPL//wUAAO3//wcAAOj//wgAAOf//wkAAOn//wsAAOz//w8AAPL//xYAAPn//xwAAAAAACAAAAgAACEAAA8AAB4AABYAABoAABwAABMAACEAAA4AACUAAAoAACYAAAYAACQAAAIAACAAAP3//xoAAPf//xMAAPH//woAAO///wMAAO////3///L///f///f///H///7//+7//wIAAO3//wUAAO3//wgAAPD//woAAPT//w4AAPv//xIAAAMAABUAAAoAABYAABEAABYAABYAABMAABkAABEAABwAAA8AAB4AAAwAAB4AAAkAABwAAAUAABkAAP///xQAAPr//w8AAPb//woAAPT//wUAAPT//wIAAPX///////f///3///z///n///7///X//wAAAPH//wIAAO7//wIAAOz//wEAAOv//wAAAOz//wAAAO7//////+////7///H///3///L///z///T///v///j///r///v///j///////j//wMAAPf//wYAAPb//wkAAPb//wsAAPb//wwAAPf//wwAAPf//wwAAPb//woAAPX//wcAAPb//wIAAPf///3///n///b///3///L//////+z//wIAAOr//wQAAOn//wgAAPP//wUAAPz//wEAAPz//wIAAP///wIAAAAAAAIAAAIAAAEAAAIAAAEAAAMAAAEAAAMAAAAAAAMAAP///wMAAP///wIAAP7//wEAAP7//wAAAP3///////3///7///z///z///z///v///z///r///z///n///z///j///3///j///3///f///7///j///7///j///////n///////r//wAAAPv//wAAAPz//wEAAP3//wEAAP7//wEAAAAAAAEAAAEAAAEAAAIAAAEAAAIAAAAAAAMAAAAAAAMAAP///wMAAP7//wMAAP7//wIAAP3//wEAAPz//wAAAPv///////v///7///r///z///r///v///n///r///n///n///n///j///n///j///n///f///r///f///r///f///v///j///z///j///z///r///3///v///7///z///////3//wAAAP///wEAAAAAAAEAAAIAAAIAAAMAAAIAAAQAAAMAAAUAAAMAAAUAAAMAAAUAAAIAAAUAAAIAAAUAAAEAAAQAAAEAAAQAAAAAAAIAAP///wEAAP7//wAAAP7///////3///3///z///z///z///v///v///r///v///n///r///j///r///j///r///j///v///n///v///n///v///r///z///v///3///z///7///3//////////////wAAAAAAAAEAAAEAAAMAAAIAAAQAAAIAAAQAAAMAAAUAAAMAAAYAAAQAAAYAAAQAAAYAAAQAAAUAAAQAAAUAAAMAAAQAAAMAAAMAAAIAAAIAAAEAAAEAAAEAAAAAAAAAAP////////7///7///3///3///z///3///v///z///v///z///r///v///r///v///r///v///r///v///v///v///v///z///z///z///3///3///3///3///7///7//////////////////wAAAAAAAAEAAAEAAAEAAAEAAAEAAAIAAAEAAAIAAAIAAAIAAAIAAAIAAAEAAAMAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wEAAP7//wEAAP///wEAAP///wIAAP///wIAAAAAAAIAAAAAAAIAAAEAAAIAAAIAAAIAAAIAAAMAAAMAAAMAAAMAAAMAAAQAAAMAAAQAAAMAAAQAAAMAAAUAAAMAAAUAAAMAAAUAAAQAAAUAAAQAAAUAAAQAAAUAAAQAAAUAAAQAAAQAAAQAAAQAAAQAAAQAAAUAAAQAAAUAAAQAAAUAAAMAAAUAAAMAAAQAAAMAAAQAAAMAAAQAAAMAAAQAAAMAAAMAAAMAAAMAAAMAAAMAAAMAAAIAAAMAAAIAAAMAAAIAAAMAAAEAAAMAAAEAAAMAAAEAAAMAAAEAAAMAAAEAAAMAAAEAAAMAAAEAAAMAAAEAAAMAAAIAAAIAAAIAAAIAAAIAAAIAAAMAAAIAAAMAAAIAAAMAAAEAAAQAAAEAAAQAAAEAAAQAAAEAAAQAAAEAAAQAAAAAAAMAAAAAAAMAAAAAAAIAAAAAAAIAAAAAAAEAAAAAAAAAAAAAAAAAAP////////////7///////3///////3///////z///////z///////z///////z///////z///////z///////z///////3///////3///////7//////////////wAAAP///wAAAAAAAAEAAAAAAAEAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAP////////7///////3///////z///7///v///7///v///3///r///3///n///z///n///z///n///v///n///v///n///r///n///r///n///r///r///n///v///n///v///n///z///r///3///r///3///r///7///v///7///v///////z///////3///////3///////7//////////////////////wAAAP7//wAAAP7//wAAAP3//wAAAP3//wAAAPz//wAAAPz//wAAAPz///////z///////z///7///z///7///z///3///3///3///3///z///7///z///7///v///////v///////v//wAAAPv//wAAAPv//wAAAPv//wEAAPv//wEAAPz//wEAAPz//wAAAP3//wAAAP3//wAAAP7//////////////wAAAP7//wAAAP3//wEAAP3//wEAAPz//wIAAPz//wIAAPz//wIAAPz//wIAAPz//wIAAPz//wIAAP3//wEAAP7//wEAAP///wAAAAAAAAAAAAEAAP///wIAAP///wMAAP7//wQAAP7//wUAAP3//wUAAP3//wYAAP3//wYAAP3//wYAAP7//wYAAP7//wYAAP///wUAAP///wUAAAAAAAQAAAEAAAMAAAIAAAEAAAMAAAAAAAMAAP///wQAAP7//wUAAP7//wUAAP3//wYAAP3//wYAAP3//wYAAP3//wYAAP3//wYAAP7//wUAAP///wUAAAAAAAQAAAIAAAQAAAMAAAMAAAUAAAIAAAYAAAIAAAgAAAEAAAkAAAAAAAoAAAAAAAsAAP///wsAAP///wsAAP///wsAAP///woAAP///wkAAAAAAAcAAAAAAAUAAAAAAAQAAAEAAAIAAAEAAP///wIAAP3//wIAAPz//wMAAPr//wMAAPn//wMAAPj//wMAAPf//wMAAPf//wMAAPj//wMAAPj//wIAAPr//wIAAPv//wEAAP3//wEAAP///wAAAAEAAP///wQAAP///wYAAP7//wgAAP7//wkAAP3//woAAP3//wsAAP3//wwAAP3//wwAAP7//wsAAP7//woAAP7//wgAAP///wYAAP///wQAAAAAAAEAAAAAAP7//wEAAPz//wEAAPn//wEAAPf//wIAAPX//wIAAPP//wEAAPL//wEAAPH//wEAAPH//wAAAPH///////L///////P///7///X///3///f///z///r///v///3///v///////r//wIAAPr//wQAAPn//wYAAPn//wgAAPr//wkAAPr//woAAPv//woAAPv//wkAAPz//wgAAP3//wcAAP7//wUAAP///wMAAAEAAAAAAAIAAP7//wMAAPv//wMAAPn//wQAAPf//wQAAPX//wUAAPT//wUAAPT//wUAAPT//wQAAPT//wQAAPb//wQAAPf//wMAAPn//wIAAPz//wIAAP///wEAAAIAAAEAAAUAAAAAAAgAAAAAAAsAAAAAAA0AAAAAAA8AAAEAABEAAAEAABIAAAIAABIAAAMAABIAAAQAABEAAAUAAA8AAAYAAA4AAAcAAAsAAAgAAAkAAAkAAAYAAAkAAAMAAAoAAAAAAAoAAP7//woAAPv//wkAAPn//wgAAPj//wcAAPf//wYAAPb//wQAAPf//wMAAPf//wEAAPj///////r///3///v///v///3///r///////j//wEAAPf//wMAAPb//wQAAPb//wUAAPX//wYAAPX//wYAAPb//wYAAPb//wUAAPf//wMAAPj//wIAAPr///////v///3///z///r///7///f///////X//wAAAPL//wEAAPH//wEAAO///wEAAO7//wEAAO3//wEAAO7//wAAAO7///////D///7///L///z///T///v///f///n///r///j///7///f//wEAAPX//wQAAPT//wcAAPT//wkAAPT//wsAAPT//wsAAPT//wwAAPX//wsAAPb//woAAPj//wgAAPn//wYAAPv//wMAAP3//wAAAP////z//wEAAPj//wMAAPT//wQAAPH//wYAAO7//wcAAOz//wgAAOr//wgAAOr//wgAAOn//wcAAOz//wcAAOz//wUAAPD//wQAAPH//wIAAAYAAAcAABUAAAoAABIAAAYAABEAAAIAAAwAAP3//wwAAPj//w0AAPT//xMAAPT//xgAAPb//xwAAPz//xwAAAIAABgAAAYAABEAAAgAAAwAAAkAAAcAAAcAAAUAAAcAAAUAAAgAAAUAAAoAAAUAAA4AAAIAAA8AAP///xAAAPv//w8AAPf//w0AAPP//wsAAPP//wgAAPX//wUAAPr//wYAAP7//wcAAAEAAAkAAAQAAAsAAAUAAAsAAAgAAAkAAAsAAAYAAA8AAAIAABIAAP7//xUAAPv//xYAAPr//xYAAPv//xUAAP7//xUAAAEAABQAAAIAABIAAAEAABEAAP///xAAAP7//w4AAP3//wsAAP///wYAAAIAAAEAAAYAAP3//woAAPn//w4AAPf//xIAAPX//xYAAPL//xgAAO///xkAAO3//xgAAO3//xYAAO///xIAAPL//w0AAPf//wYAAP3//////wMAAPn//wcAAPT//wsAAPD//w4AAO7//xAAAOz//xEAAOz//xEAAO3//w8AAOz//wwAAOv//wgAAOr//wQAAOn//////+r///r//+v///X//+v///D//+z//+v//+z//+b//+7//+H//+///9z///D//9j///H//9T///L//9L///H//9D//+7//87//+3//87//+///87//+7//9D//+7//9X//+///9z///D//+b///L///L///P///3///T//wgAAPb//xEAAPf//xgAAPf//xwAAPf//x4AAPj//x0AAPr//xsAAPv//xgAAPv//xMAAPv//w4AAPv//wgAAPr//wIAAPn///v///n///X///r///D///v//+3///z//+v///3//+r//wAAAOn//wMAAOj//wYAAOf//woAAOb//w4AAOj//xEAAOv//xIAAPD//xMAAPj//xMAAAIAABAAAA0AAAwAABgAAAcAACIAAAIAACoAAP///zEAAP3//zYAAP7//zkAAAMAADsAAAkAADoAABAAADkAABcAADYAAB0AADQAACIAADAAACYAACsAACgAACUAACkAAB0AACsAABMAACsAAAoAAC0AAAIAAC4AAPv//y8AAPb//zAAAPP//y4AAPX//ykAAPn//yMAAP///xsAAAYAABIAAA0AAAkAABMAAAEAABcAAPz//xoAAPn//x0AAPj//x0AAPr//x0AAP3//x4AAP7//x4AAP7//x4AAPv//x8AAPn//x8AAPf//x0AAPj//xkAAPr//xQAAP3//w8AAAEAAAkAAAYAAAAAAAoAAPf//w4AAO7//xAAAOb//xIAAN///xEAANv//w8AANn//woAANj//wQAANn///3//9r///X//9v//+3//9z//+f//97//+T//+D//+T//+T//+T//+r//+T///P//+P///z//+D//wQAANv//woAANT//wwAAND//woAAM3//wUAAM3///z//9D///D//9b//+T//9v//9n//+H//9D//+b//8r//+v//8j//+///8r///P//8////X//9X///X//9v///T//+H///D//+P//+3//+L//+n//93//+X//9X//+T//87//+X//8r//+f//8z//+z//9L///H//9////f//+////n//wUAAPj//xsAAPX//ywAAO///zgAAOj//zwAAOD//zcAANv//ysAANr//xkAAN7//wQAAOj///H///b//+L//wgAANz//xwAANz//y8AAOX//z4AAPT//0YAAAQAAEUAABIAAD8AABwAADIAACEAACMAAB4AABUAABgAAAsAABEAAAUAAAoAAAMAAAYAAAQAAAgAAAkAABEAABEAAB4AABcAAC4AABgAAD0AABQAAEoAAA8AAFAAAAcAAE4AAAEAAEYAAPz//zgAAPz//yQAAAMAAA8AAA8AAPv//yAAAO3//zQAAOf//0gAAOz//1YAAPv//1wAABAAAFcAACUAAEUAADcAAC4AAEEAABMAAD4AAPn//y4AAOT//xUAANj///b//9b//9r//9///8X///D//77//wMAAMn//xcAAOL//ycAAAYAADAAAC0AADEAAE8AACoAAGYAAB4AAG4AAA0AAGQAAPz//0kAAOz//yQAAOH///n//9///87//9///6v//97//5b//+H//5D//+X//5n//+n//63//+///8n///X//+j///n//wQAAP3//xkAAP///yQAAAIAACYAAAQAABwAAAAAAAoAAPj///X//+///+D//+b//8///93//8f//9X//8j//9D//9D//8///93//9H//+v//9j///j//+b//wIAAPT//wYAAP7//wQAAAcAAAAAAA0AAPz//w8AAPj//wwAAPf//wcAAPr//wQAAP7///////////z///////z///////////v//wIAAPL//wQAAOj//wIAAOX//wAAAOT///7//+b///j//+r//+////T//+X//wAAAN7//wwAANz//xcAAN7//yAAAOb//yQAAPH//yEAAP7//x0AAA8AABoAACIAABUAADEAAA8AADwAAAoAAD0AAAcAADUAAAQAACYAAAIAABQAAAEAAAMAAP////X///r//+r///X//+b///L//+n///L///X///T//wcAAPr//x0AAAUAADMAABUAAEMAACgAAEoAAD0AAEgAAFAAADwAAFsAACQAAFwAAAgAAFIAAOv//z4AANH//yAAAL7///7//7j//9z//7///8D//9D//6z//+j//6X//wUAAK7//yYAAMT//0IAAOT//1UAAAgAAFsAACwAAFYAAEsAAEQAAF4AACkAAGIAAAcAAFYAAOX//zwAAMv//xkAALr//+///7D//8T//7H//6L//7///5L//9X//4///+7//5n//wYAALT//xcAANr//yEAAAIAACcAACcAACQAAEoAABcAAGEAAAgAAGYAAPb//1kAAOP//zsAAM///xQAAMT//+b//8D//7j//8D//5D//8X//3T//8z//2j//9f//2v//+b//33///X//5z//wAAAMP//wgAAOr//woAABAAAAsAADAAAAcAAEQAAP///0wAAPH//0sAAOT//z4AANn//yoAAND//xIAAMv///j//8r//9///9L//8j//93//7X//+j//6v///P//7L//wAAAMj//wwAAOP//xcAAP3//xwAABgAABwAAC8AABoAADwAABYAAD8AABIAAD0AAAwAADMAAAUAACIAAP///w0AAPr///n///j//+T///n//9H//////8L//wYAALj//wsAALb//w0AAL///xMAANb//xsAAPf//x8AABwAAB8AAD4AABwAAF4AABcAAHgAABIAAIUAAA0AAIQAAAYAAHUAAP3//1wAAPb//zoAAPP//xUAAPT//+////f//8////v//7n//wIAAK7//w0AALD//xsAAL///yYAANn//zEAAPf//zcAABYAADoAADIAADkAAEUAADEAAE8AACIAAE8AABAAAEUAAP///zMAAO3//xwAAN///wIAANT//+f//9T//87//9r//7j//+H//6v//+r//6////X//8T//wMAAOH//w8AAP7//xUAAB0AABUAADoAABMAAEwAAA0AAFIAAAcAAFEAAP7//0YAAPb//zAAAO///xUAAOv///r//+v//93///D//8T///r//7D//wUAAKD//wwAAJj//wwAAJ3//w0AALD//xEAAM7//xAAAPL//wkAABAAAP3//ykAAPT//zwAAO3//0UAAOr//0QAAOr//zsAAOv//ysAAOr//xgAAOz//wUAAPX///X//////+r//wcAAOL//wkAAN3//wsAANz//wkAAN///wYAAOz//wIAAP3//wEAAA4AAP3//xkAAPv//yAAAPz//yQAAAEAACQAAAgAABwAABAAAAwAABIAAPn//xQAAOn//xYAAN///xQAANn//xIAANj//xIAANz//w0AAOX//wcAAPD//wMAAPz//////wsAAPr//xoAAPv//ykAAPj//zAAAPf//zQAAPL//zEAAAAAACsAAAoAACYAAAgAAB8AAAoAABcAAAkAAA4AAAwAAAUAAA0AAPv//w4AAPT//w4AAO3//w4AAOn//w0AAOb//wsAAOb//wgAAOf//wYAAOn//wMAAOz//wAAAPD///z///T///r///j///j///v///f///3///b///////X//wAAAPT//wEAAPT//wEAAPP//wIAAPP//wMAAPL//wQAAPH//wQAAPH//wUAAPH//wUAAPH//wQAAPL//wMAAPT//wIAAPb///////j///z///r///j///3///T///////H//wAAAO3//wIAAOv//wIAAOn//wIAAOf//wIAAOf//wIAAOj//wEAAOn//wAAAOv///7//+7///3///D///v///P///r///f///j///r///f///7///b//wEAAPT//wQAAPT//wYAAPP//wgAAPP//wkAAPP//woAAPP//wkAAPX//wgAAPb//wcAAPf//wQAAPj//wEAAPr///////v///z///3///n///7///f///////T//wAAAPL//wEAAPH//wIAAPD//wIAAPD//wIAAPD//wIAAPH//wIAAPP//wIAAPX//wEAAPf//wAAAPr//wAAAP3//////wAAAP7//wMAAP3//wYAAP3//wgAAP3//woAAP3//wwAAP3//w0AAP3//w4AAP3//w4AAP3//w0AAP7//wwAAP///woAAAAAAAkAAAEAAAYAAAIAAAQAAAMAAAIAAAQAAAAAAAUAAP3//wUAAPz//wYAAPr//wYAAPn//wYAAPn//wYAAPn//wUAAPn//wUAAPr//wQAAPv//wQAAPz//wMAAP7//wIAAAAAAAEAAAIAAAEAAAQAAAAAAAYAAP///wcAAP///wkAAP7//wkAAP7//woAAP7//woAAP7//woAAP///wkAAP///wgAAP///wYAAAAAAAQAAAAAAAIAAAEAAAAAAAEAAP7//wEAAP3//wEAAPv//wEAAPn//wEAAPj//wEAAPf//wEAAPf//wAAAPf//wAAAPf///////f///7///j///3///r///3///v///z///3///v///7///r//wAAAPr//wIAAPr//wMAAPr//wQAAPr//wUAAPv//wUAAPv//wYAAPz//wUAAP3//wUAAP7//wQAAP///wQAAAAAAAMAAAEAAAEAAAIAAAAAAAMAAP///wQAAP7//wUAAP3//wYAAPz//wcAAPz//wcAAPz//wcAAPz//wcAAP3//wcAAP7//wYAAP///wYAAAAAAAUAAAEAAAUAAAMAAAQAAAQAAAQAAAYAAAMAAAgAAAIAAAkAAAIAAAoAAAEAAAoAAAEAAAsAAAEAAAsAAAEAAAsAAAEAAAoAAAEAAAkAAAEAAAgAAAIAAAcAAAIAAAUAAAMAAAQAAAMAAAIAAAQAAAEAAAQAAP///wQAAP7//wUAAP3//wUAAPz//wUAAPz//wUAAPz//wUAAPz//wUAAPz//wQAAP3//wQAAP7//wQAAP///wMAAAEAAAMAAAIAAAIAAAMAAAEAAAUAAAEAAAYAAAEAAAcAAAEAAAcAAAAAAAgAAAAAAAgAAAAAAAcAAAAAAAcAAAAAAAYAAAAAAAUAAAAAAAQAAAEAAAMAAAEAAAEAAAEAAAAAAAEAAP7//wEAAP3//wEAAPz//wEAAPv//wEAAPr//wEAAPr//wEAAPn//wAAAPn//wAAAPr//wAAAPr///////v///////z///7///3///7///7///7///////7//wAAAP3//wEAAP3//wIAAP3//wIAAP3//wIAAP3//wMAAP3//wIAAP3//wIAAP7//wEAAP7//wEAAP7//wAAAP7///////7///3///////z///////v///////r///////n///7///j///7///j///7///f///3///f///3///f///z///f///z///j///z///n///v///r///r///v///r///v///n///z///n///3///n///7///n///////n//wAAAPr//wAAAPr//wAAAPr//wAAAPv//wAAAPv//wAAAPz///////3///////7///7///7///3///////3///////z//wAAAPv//wEAAPv//wEAAPv//wEAAPr//wIAAPr//wIAAPv//wIAAPv//wEAAPz//wEAAP3//wEAAP7//wEAAP///wAAAAAAAAAAAAEAAAAAAAIAAAAAAAMAAP///wQAAP///wUAAP///wUAAP///wUAAP///wYAAAAAAAYAAAAAAAYAAAAAAAUAAAAAAAQAAAEAAAQAAAEAAAMAAAIAAAIAAAIAAAEAAAIAAAAAAAMAAAAAAAMAAP///wMAAP7//wMAAP7//wMAAP7//wMAAP7//wMAAP7//wMAAP7//wMAAP///wMAAP///wIAAAAAAAIAAAEAAAIAAAIAAAIAAAIAAAEAAAMAAAEAAAQAAAEAAAUAAAEAAAUAAAEAAAUAAAEAAAYAAAEAAAUAAAEAAAUAAAEAAAUAAAEAAAQAAAIAAAQAAAIAAAMAAAIAAAIAAAIAAAEAAAIAAAEAAAIAAAAAAAIAAP///wIAAP7//wIAAP7//wIAAP3//wEAAP3//wEAAP3//wEAAP3//wAAAP3//wAAAP7//wAAAP7//////////////////////wAAAP///wAAAP7//wEAAP7//wEAAP7//wEAAP7//wEAAP7//wEAAP7//wEAAP7//wEAAP7//wEAAP///wEAAP///wAAAP///wAAAP///////wAAAP7//wAAAP7//wAAAP3//wAAAP3//wAAAPz///////z///////z///////z///////z///7///z///7///z///7///z///3///z///3///3///z///3///z///7///z///7///z///7///v///////v///////v///////z///////z///////z///////3///////3///////3///////7///7///7///7///////7///////7///////3//wAAAP3//wAAAP3//wAAAP3//wEAAP3//wEAAP3//wEAAP7//wEAAP7//wEAAP7//wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAP///wEAAP///wIAAP///wIAAP///wIAAP///wIAAP///wIAAP///wIAAP///wIAAP///wEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAP///wEAAP///wEAAP///wEAAP///wEAAP///wEAAP///wEAAP///wEAAP///wEAAAAAAAIAAAAAAAIAAAAAAAIAAAEAAAEAAAEAAAEAAAEAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAIAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAP///wEAAP///wEAAP///wEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAP///wEAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///////wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP////////////////////////////////////////////////////7///////7///////7///////7//////////////////////////////////////////////////////////////wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///////////////////////////////wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAP///////////////////////////////////////////////////////////////////////////////////////////////wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP7//wAAAP///wAAAAEAAAAAAAIAAAAAAAMAAAAAAAQAAAAAAAMAAAAAAAEAAAAAAP///wAAAP3//wAAAP7//wAAAP///wAAAAEAAAAAAAMAAAAAAAMAAAAAAAEAAAAAAAAAAAAAAP7//wAAAP7//wAAAP7//wAAAP///wAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAEAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAEAAAAAAAEAAAAAAAIAAAAAAAIAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP7//wAAAP7//wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP7//wAAAP7//wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAP///wAAAP///wAAAP3//wAAAP3//wAAAP3//wAAAP3//wAAAP3//wAAAP///wAAAP///wAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP7//wAAAP7//wAAAP7//wAAAP///wAAAP///wAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP7//wAAAP///wAAAP///wAAAP///wAAAP///wAAAP7//wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAEAAAAAAAIAAAAAAAQAAAAAAAUAAAAAAAYAAAAAAAYAAAAAAAYAAAAAAAUAAAAAAAUAAAAAAAQAAAAAAAMAAAAAAAIAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAIAAAAAAAIAAAAAAAMAAAAAAAMAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAIAAAAAAAEAAAAAAAAAAAAAAP///wAAAP7//wAAAP3//wAAAP3//wAAAPz//wAAAP3//wAAAP7//wAAAP7//wAAAP///wAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAP///wAAAP7//wAAAP3//wAAAP3//wAAAPz//wAAAP3//wAAAP3//wAAAP3//wAAAP7//wAAAP7//wAAAP7//wAAAP3//wAAAPz//wAAAPv//wAAAPv//wAAAPr//wAAAPn//wAAAPn//wAAAPr//wAAAPz//wAAAP///wAAAAEAAAAAAAMAAAAAAAMAAAAAAAIAAAAAAAEAAAAAAP///wAAAAAAAAAAAAEAAAAAAAMAAAAAAAQAAAAAAAQAAAAAAAIAAAAAAAEAAAAAAP///wAAAP7//wAAAP7//wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP3//wAAAPz//wAAAPz//wAAAP3//wAAAP///wAAAAAAAAAAAAEAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAMAAAAAAAQAAAAAAAQAAAAAAAUAAAAAAAQAAAAAAAQAAAAAAAMAAAAAAAMAAAAAAAQAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAIAAAAAAAIAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAEAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP7//wAAAP7//wAAAP7//wAAAP3//wAAAP3//wAAAP3//wAAAP3//wAAAP7//wAAAP7//wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP7//wAAAP3//wAAAPz//wAAAPv//wAAAPv//wAAAPv//wAAAPz//wAAAPz//wAAAP3//wAAAP3//wAAAP7//wAAAP3//wAAAP3//wAAAPz//wAAAPv//wAAAPr//wAAAPn//wAAAPn//wAAAPj//wAAAPj//wAAAPj//wAAAPj//wAAAPn//wAAAPr//wAAAPz//wAAAP3//wAAAP7//wAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAIAAAAAAAMAAAAAAAQAAAAAAAUAAAAAAAYAAAAAAAcAAAAAAAcAAAAAAAgAAAAAAAcAAAAAAAcAAAAAAAYAAAAAAAYAAAAAAAUAAAAAAAQAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAIAAAAAAAIAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAIAAAAAAAMAAAAAAAUAAAAAAAcAAAAAAAkAAAAAAAsAAAAAAAsAAAAAAAwAAAAAAAsAAAAAAAoAAAAAAAkAAAAAAAgAAAAAAAcAAAAAAAUAAAAAAAUAAAAAAAQAAAAAAAMAAAAAAAMAAAAAAAIAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAP///wAAAP7//wAAAP3//wAAAPz//wAAAP3//wAAAP3//wAAAP3//wAAAP7//wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAAAAAAAAAAEAAAAAAAEAAAAAAAIAAAAAAAIAAAAAAAEAAAAAAP///wAAAP3//wAAAPr//wAAAPf//wAAAPT//wAAAPL//wAAAPH//wAAAPH//wAAAPP//wAAAPX//wAAAPj//wAAAPz//wAAAP///wAAAAIAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAEAAAAAAP///wAAAP3//wAAAP3//wAAAP7//wAAAP///wAAAAIAAAAAAAUAAAAAAAgAAAAAAAoAAAAAAAoAAAAAAAgAAAAAAAUAAAAAAP///wAAAPn//wAAAPP//wAAAO7//wAAAOr//wAAAOn//wAAAOv//wAAAO///wAAAPT//wAAAPr//wAAAP7//wAAAAMAAAAAAAUAAAAAAAYAAAAAAAUAAAAAAAQAAAAAAAMAAAAAAAMAAAAAAAQAAAAAAAYAAAAAAAkAAAAAAAwAAAAAAA8AAAAAABEAAAAAABEAAAAAAA8AAAAAAAsAAAAAAAYAAAAAAAAAAAAAAPn//wAAAPT//wAAAPH//wAAAPD//wAAAPL//wAAAPf//wAAAP7//wAAAAUAAAAAAAoAAAAAAA4AAAAAAA4AAAAAAAsAAAAAAAYAAAAAAP///wAAAPn//wAAAPb//wAAAPb//wAAAPr//wAAAAIAAAAAAAwAAAAAABUAAAAAAB0AAAAAACEAAAAAACEAAAAAABwAAAAAABMAAAAAAAgAAAAAAPz//wAAAPH//wAAAOj//wAAAOP//wAAAOP//wAAAOb//wAAAO3//wAAAPX//wAAAP7//wAAAAYAAAAAAAwAAAAAAA8AAAAAABAAAAAAAA4AAAAAAAoAAAAAAAQAAAAAAP///wAAAPz//wAAAPr//wAAAPv//wAAAP3//wAAAP///wAAAAEAAAAAAAMAAAAAAAQAAAAAAAIAAAAAAP///wAAAPz//wAAAPn//wAAAPb//wAAAPX//wAAAPT//wAAAPT//wAAAPT//wAAAPT//wAAAPT//wAAAPT//wAAAPL//wAAAPH//wAAAPL//wAAAPP//wAAAPX//wAAAPf//wAAAPz//wAAAAEAAAAAAAUAAAAAAAkAAAAAAAwAAAAAAA0AAAAAAAwAAAAAAAsAAAAAAAoAAAAAAAgAAAAAAAUAAAAAAAIAAAAAAAAAAAAAAP7//wAAAPz//wAAAPv//wAAAPr//wAAAPj//wAAAPb//wAAAPb//wAAAPb//wAAAPf//wAAAPr//wAAAP3//wAAAAIAAAAAAAgAAAAAAA4AAAAAABQAAAAAABgAAAAAABkAAAAAABcAAAAAABMAAAAAAA0AAAAAAAUAAAAAAP3//wAAAPb//wAAAPL//wAAAPH//wAAAPP//wAAAPj//wAAAP///wAAAAcAAAAAAA8AAAAAABUAAAAAABgAAAAAABgAAAAAABMAAAAAAAsAAAAAAAEAAAAAAPb//wAAAOv//wAAAOP//wAAAOD//wAAAOH//wAAAOX//wAAAO7//wAAAPn//wAAAAUAAAAAABAAAAAAABoAAAAAACAAAAAAACIAAAAAAB4AAAAAABYAAAAAAAwAAAAAAAAAAAAAAPT//wAAAOr//wAAAOP//wAAAOD//wAAAOL//wAAAOb//wAAAO7//wAAAPf//wAAAAEAAAAAAAkAAAAAAA8AAAAAABIAAAAAABIAAAAAABAAAAAAAAwAAAAAAAYAAAAAAAAAAAAAAPr//wAAAPT//wAAAO///wAAAOv//wAAAOr//wAAAO7//wAAAPX//wAAAP3//wAAAAQAAAAAAAsAAAAAABEAAAAAABQAAAAAABQAAAAAABIAAAAAAA4AAAAAAAkAAAAAAAIAAAAAAP3//wAAAPf//wAAAPP//wAAAPD//wAAAO7//wAAAO3//wAAAPD//wAAAPX//wAAAP3//wAAAAQAAAAAAAoAAAAAAA4AAAAAABEAAAAAABEAAAAAAA8AAAAAAAsAAAAAAAcAAAAAAAIAAAAAAP///wAAAPz//wAAAPr//wAAAPr//wAAAPr//wAAAPr//wAAAPz//wAAAP///wAAAAMAAAAAAAYAAAAAAAcAAAAAAAcAAAAAAAcAAAAAAAQAAAAAAAIAAAAAAPz//wAAAPj//wAAAPP//wAAAPn//wAAAAMAAAAAAAIAAAAAAAMAAAAAAAIAAAAAAAMAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP7//wAAAP///wAAAP7//wAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\"","export default \"data:audio/wav;base64,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/P9Q/P9Q/P8w/P8w/P8Y/P8Y/P8O/P8O/P8U/P8U/P8v/P8v/P9e/P9e/P+l/P+l/P8G/f8G/f+C/f+C/f8Z/v8Z/v/J/v/J/v+N//+N//9hAABhAAA+AQA+AQAcAgAcAgD0AgD0AgC/AwC/AwB3BAB3BAAVBQAVBQCNBQCNBQDcBQDcBQD8BQD8BQDvBQDvBQCxBQCxBQBEBQBEBQCqBACqBADpAwDpAwAKAwAKAwAYAgAYAgAdAQAdAQAlAAAlAAA7//87//9q/v9q/v+4/f+4/f8t/f8t/f/N/P/N/P+b/P+b/P+S/P+S/P+t/P+t/P/o/P/o/P88/f88/f+i/f+i/f8P/v8P/v99/v99/v/j/v/j/v8+//8+//+J//+J///B///B///n///n///5///5///5///5///r///r///U///U//+2//+2//+Y//+Y//+A//+A//91//91//97//97//+T//+T//+///+////6///6//9CAABCAACVAACVAADtAADtAABFAQBFAQCTAQCTAQDUAQDUAQACAgACAgAXAgAXAgATAgATAgDzAQDzAQC8AQC8AQBwAQBwAQATAQATAQCmAACmAAAxAAAxAAC+//++//9U//9U///4/v/4/v+u/v+u/v91/v91/v9R/v9R/v9B/v9B/v9B/v9B/v9R/v9R/v9v/v9v/v+X/v+X/v/G/v/G/v/7/v/7/v80//80//9y//9y//+2//+2//8BAAABAABTAABTAACqAACqAAAEAQAEAQBcAQBcAQCtAQCtAQD0AQD0AQAsAgAsAgBTAgBTAgBjAgBjAgBZAgBZAgAzAgAzAgD0AQD0AQCgAQCgAQA7AQA7AQDIAADIAABNAABNAADM///M//9M//9M///T/v/T/v9m/v9m/v8G/v8G/v+3/f+3/f98/f98/f9U/f9U/f9C/f9C/f9I/f9I/f9n/f9n/f+d/f+d/f/p/f/p/f9I/v9I/v+4/v+4/v8z//8z//+0//+0//81AAA1AAC2AAC2AAAvAQAvAQCYAQCYAQDsAQDsAQAuAgAuAgBbAgBbAgBsAgBsAgBjAgBjAgBIAgBIAgAcAgAcAgDiAQDiAQCnAQCnAQB0AQB0AQBKAQBKAQAoAQAoAQAOAQAOAQD+AAD+AADuAADuAADYAADYAAC+AAC+AACgAACgAAB5AAB5AABEAABEAAAGAAAGAAC6//+6//9f//9f///6/v/6/v+O/v+O/v8i/v8i/v+7/f+7/f9f/f9f/f8T/f8T/f/e/P/e/P/H/P/H/P/O/P/O/P/w/P/w/P8q/f8q/f9+/f9+/f/o/f/o/f9l/v9l/v/t/v/t/v99//99//8OAAAOAACZAACZAAAUAQAUAQB6AQB6AQDJAQDJAQD9AQD9AQAWAgAWAgAYAgAYAgAGAgAGAgDnAQDnAQC7AQC7AQCJAQCJAQBWAQBWAQAnAQAnAQAAAQAAAQDlAADlAADWAADWAADWAADWAADmAADmAAAAAQAAAQAhAQAhAQBDAQBDAQBeAQBeAQBxAQBxAQB2AQB2AQBmAQBmAQA9AQA9AQD6AAD6AACeAACeAAAqAAAqAACk//+k//8T//8T//9//v9//v/t/f/t/f9n/f9n/f/4/P/4/P+n/P+n/P95/P95/P91/P91/P+d/P+d/P/u/P/u/P9k/f9k/f/5/f/5/f+l/v+l/v9i//9i//8lAAAlAADnAADnAACbAQCbAQA6AgA6AgC7AgC7AgAZAwAZAwBNAwBNAwBXAwBXAwA7AwA7AwD5AgD5AgCWAgCWAgAZAgAZAgCLAQCLAQDzAADzAABZAABZAADE///E//88//88///G/v/G/v9p/v9p/v8o/v8o/v8D/v8D/v/8/f/8/f8P/v8P/v81/v81/v9s/v9s/v+v/v+v/v/5/v/5/v9F//9F//+P//+P///U///U//8QAAAQAABEAABEAABpAABpAAB/AAB/AACGAACGAAB+AAB+AABsAABsAABRAABRAAAvAAAvAAALAAALAADo///o///G///G//+o//+o//+O//+O//96//96//9u//9u//9r//9r//9u//9u//93//93//+G//+G//+a//+a//+x//+x///J///J///k///k//8BAAABAAAbAAAbAAA0AAA0AABKAABKAABdAABdAABqAABqAABwAABwAABuAABuAABpAABpAABhAABhAABbAABbAABYAABYAABaAABaAABfAABfAABmAABmAABvAABvAAB4AAB4AACDAACDAACPAACPAACbAACbAACnAACnAACwAACwAAC1AAC1AAC4AAC4AAC3AAC3AACxAACxAAClAAClAACTAACTAAB7AAB7AABgAABgAABAAABAAAAeAAAeAAD4///4///P///P//+i//+i//9y//9y//9C//9C//8T//8T///l/v/l/v+5/v+5/v+R/v+R/v9u/v9u/v9S/v9S/v9A/v9A/v8+/v8+/v9M/v9M/v9t/v9t/v+h/v+h/v/o/v/o/v9B//9B//+p//+p//8cAAAcAACUAACUAAAOAQAOAQCDAQCDAQDvAQDvAQBJAgBJAgCQAgCQAgC+AgC+AgDSAgDSAgDGAgDGAgCbAgCbAgBRAgBRAgDsAQDsAQBxAQBxAQDjAADjAABHAABHAACm//+m//8G//8G//9r/v9r/v/c/f/c/f9f/f9f/f/8/P/8/P+2/P+2/P+Q/P+Q/P+M/P+M/P+o/P+o/P/k/P/k/P9C/f9C/f++/f++/f9V/v9V/v8A//8A//+0//+0//9pAABpAAAXAQAXAQC0AQC0AQA5AgA5AgCfAgCfAgDiAgDiAgD+AgD+AgDzAgDzAgDBAgDBAgBpAgBpAgDzAQDzAQBlAQBlAQDKAADKAAAsAAAsAACS//+S///8/v/8/v9o/v9o/v/j/f/j/f+C/f+C/f9P/f9P/f9M/f9M/f9t/f9t/f+h/f+h/f/m/f/m/f9F/v9F/v/D/v/D/v9i//9i//8TAAATAAC9AAC9AABQAQBQAQDRAQDRAQBKAgBKAgC1AgC1AgD+AgD+AgAWAwAWAwD+AgD+AgC/AgC/AgBkAgBkAgDoAQDoAQBLAQBLAQCcAACcAADt///t//9D//9D//+Z/v+Z/v/0/f/0/f9g/f9g/f/n/P/n/P+N/P+N/P9c/P9c/P9Z/P9Z/P+B/P+B/P/M/P/M/P81/f81/f+//f+//f9l/v9l/v8e//8e///g///g//+fAACfAABOAQBOAQDiAQDiAQBRAgBRAgCcAgCcAgDNAgDNAgDiAgDiAgDXAgDXAgCmAgCmAgBYAgBYAgD9AQD9AQCdAQCdAQAyAQAyAQC9AAC9AABIAABIAADe///e//+G//+G//9B//9B//8J//8J///i/v/i/v/N/v/N/v/O/v/O/v/k/v/k/v8K//8K//88//88//9y//9y//+l//+l///V///V//8AAAAAAAAiAAAiAAA4AAA4AAA/AAA/AAA1AAA1AAAeAAAeAAD9///9///Y///Y//+x//+x//+J//+J//9h//9h//85//85//8Z//8Z//8E//8E///9/v/9/v8C//8C//8S//8S//8s//8s//9T//9T//+H//+H///F///F//8IAAAIAABNAABNAACRAACRAADUAADUAAAWAQAWAQBWAQBWAQCPAQCPAQC/AQC/AQDlAQDlAQAAAgAAAgAQAgAQAgAVAgAVAgAPAgAPAgD+AQD+AQDhAQDhAQC5AQC5AQCEAQCEAQBEAQBEAQD5AAD5AACkAACkAABGAABGAADh///h//95//95//8R//8R//+s/v+s/v9N/v9N/v/5/f/5/f+y/f+y/f96/f96/f9X/f9X/f9L/f9L/f9W/f9W/f90/f90/f+o/f+o/f/z/f/z/f9U/v9U/v/F/v/F/v9A//9A///B///B//9FAABFAADLAADLAABPAQBPAQDLAQDLAQA4AgA4AgCQAgCQAgDSAgDSAgD8AgD8AgAPAwAPAwAIAwAIAwDlAgDlAgClAgClAgBLAgBLAgDcAQDcAQBbAQBbAQDOAADOAAA7AAA7AACr//+r//8i//8i//+l/v+l/v84/v84/v/d/f/d/f+X/f+X/f9o/f9o/f9R/f9R/f9R/f9R/f9m/f9m/f+L/f+L/f+//f+//f/8/f/8/f9A/v9A/v+H/v+H/v/P/v/P/v8Y//8Y//9f//9f//+h//+h///i///i//8hAAAhAABeAABeAACWAACWAADIAADIAAD1AAD1AAAfAQAfAQBEAQBEAQBhAQBhAQB4AQB4AQCJAQCJAQCRAQCRAQCPAQCPAQCGAQCGAQB0AQB0AQBYAQBYAQAyAQAyAQABAQABAQDFAADFAACCAACCAAA5AAA5AADu///u//+h//+h//9V//9V//8M//8M///L/v/L/v+U/v+U/v9p/v9p/v9K/v9K/v83/v83/v8w/v8w/v8x/v8x/v87/v87/v9Q/v9Q/v9v/v9v/v+V/v+V/v/D/v/D/v/1/v/1/v8t//8t//9p//9p//+q//+q///r///r//8tAAAtAABxAABxAAC4AAC4AAACAQACAQBOAQBOAQCbAQCbAQDsAQDsAQBBAgBBAgCZAgCZAgDuAgDuAgA9AwA9AwCGAwCGAwDDAwDDAwDqAwDqAwDwAwDwAwDLAwDLAwBzAwBzAwDiAgDiAgAWAgAWAgASAQASAQDe///e//+K/v+K/v8u/f8u/f/j+//j+//B+v/B+v/e+f/e+f9L+f9L+f8O+f8O+f8m+f8m+f+M+f+M+f82+v82+v8U+/8U+/8V/P8V/P8t/f8t/f9R/v9R/v95//95//+hAAChAADEAQDEAQDdAgDdAgDsAwDsAwDuBADuBADgBQDgBQC8BgC8BgB4BwB4BwAICAAICABdCABdCABmCABmCAAaCAAaCABuBwBuBwBjBgBjBgADBQADBQBaAwBaAwB/AQB/AQCM//+M//+a/f+a/f/H+//H+/8n+v8n+v/P+P/P+P/M9//M9/8m9/8m9//a9v/a9v/k9v/k9v8+9/8+9//b9//b9/+u+P+u+P+p+f+p+f+/+v+/+v/o+//o+/8c/f8c/f9Y/v9Y/v+Z//+Z///cAADcAAAdAgAdAgBYAwBYAwCJBACJBACkBQCkBQCcBgCcBgBkBwBkBwDxBwDxBwA7CAA7CAA5CAA5CADsBwDsBwBVBwBVBwB5BgB5BgBjBQBjBQAgBAAgBADAAgDAAgBUAQBUAQDu///u//+d/v+d/v9t/f9t/f9q/P9q/P+X+/+X+//3+v/3+v+F+v+F+v9A+v9A+v8f+v8f+v8c+v8c+v8x+v8x+v9c+v9c+v+e+v+e+v/3+v/3+v9p+/9p+//2+//2+/+f/P+f/P9p/f9p/f9S/v9S/v9W//9W//9qAABqAACEAQCEAQCXAgCXAgCVAwCVAwBtBABtBAATBQATBQB8BQB8BQCkBQCkBQCLBQCLBQA1BQA1BQCtBACtBAD+AwD+AwA0AwA0AwBcAgBcAgCEAQCEAQC4AAC4AAAAAAAAAABj//9j///j/v/j/v9+/v9+/v80/v80/v///f///f/b/f/b/f/D/f/D/f+y/f+y/f+p/f+p/f+n/f+n/f+w/f+w/f/D/f/D/f/l/f/l/f8U/v8U/v9R/v9R/v+c/v+c/v/z/v/z/v9Q//9Q//+r//+r///9///9//8+AAA+AABtAABtAACJAACJAACRAACRAACKAACKAAB5AAB5AABmAABmAABZAABZAABXAABXAABnAABnAACNAACNAADIAADIAAASAQASAQBmAQBmAQC7AQC7AQAJAgAJAgBJAgBJAgByAgByAgCBAgCBAgBxAgBxAgBBAgBBAgDwAQDwAQCDAQCDAQABAQABAQBzAABzAADf///f//9O//9O///F/v/F/v9M/v9M/v/l/f/l/f+V/f+V/f9b/f9b/f84/f84/f8r/f8r/f80/f80/f9R/f9R/f+F/f+F/f/P/f/P/f8w/v8w/v+m/v+m/v8v//8v///H///H//9pAABpAAAQAQAQAQC1AQC1AQBOAgBOAgDWAgDWAgBCAwBCAwCNAwCNAwCxAwCxAwCqAwCqAwB7AwB7AwAkAwAkAwCrAgCrAgAXAgAXAgBwAQBwAQC/AAC/AAAOAAAOAABo//9o///Q/v/Q/v9O/v9O/v/l/f/l/f+W/f+W/f9i/f9i/f9I/f9I/f9G/f9G/f9Z/f9Z/f9//f9//f+1/f+1/f/5/f/5/f9L/v9L/v+q/v+q/v8T//8T//+D//+D///3///3//9sAABsAADeAADeAABGAQBGAQCgAQCgAQDnAQDnAQAXAgAXAgAsAgAsAgAlAgAlAgACAgACAgDHAQDHAQB7AQB7AQAkAQAkAQDKAADKAABvAABvAAAbAAAbAADU///U//+b//+b//9z//9z//9c//9c//9U//9U//9Y//9Y//9l//9l//93//93//+K//+K//+a//+a//+m//+m//+w//+w//+3//+3//+8//+8///B///B///F///F///M///M///T///T///X///X///X///X///T///T///I///I//+3//+3//+d//+d//97//97//9U//9U//8r//8r//8H//8H///t/v/t/v/h/v/h/v/l/v/l/v/9/v/9/v8o//8o//9k//9k//+t//+t//8AAAAAAABZAABZAACzAACzAAAKAQAKAQBWAQBWAQCSAQCSAQC7AQC7AQDPAQDPAQDOAQDOAQC6AQC6AQCYAQCYAQBnAQBnAQApAQApAQDhAADhAACSAACSAAA/AAA/AADo///o//+O//+O//8y//8y///Z/v/Z/v+E/v+E/v83/v83/v/2/f/2/f/H/f/H/f+s/f+s/f+q/f+q/f/F/f/F/f/8/f/8/f9P/v9P/v+5/v+5/v82//82//+9//+9//9GAABGAADLAADLAABEAQBEAQCnAQCnAQDwAQDwAQAdAgAdAgAsAgAsAgAfAgAfAgD5AQD5AQC/AQC/AQB2AQB2AQAiAQAiAQDGAADGAABoAABoAAAMAAAMAAC0//+0//9e//9e//8N//8N///E/v/E/v+F/v+F/v9V/v9V/v81/v81/v8n/v8n/v8r/v8r/v9A/v9A/v9p/v9p/v+m/v+m/v/y/v/y/v9J//9J//+m//+m//////////9SAABSAACXAACXAADJAADJAADoAADoAAD2AAD2AADzAADzAADiAADiAADGAADGAACiAACiAAB8AAB8AABXAABXAAA3AAA3AAAeAAAeAAALAAALAAD+///+///3///3///1///1///5///5//8BAAABAAALAAALAAAXAAAXAAAkAAAkAAA1AAA1AABHAABHAABYAABYAABoAABoAAB2AAB2AACBAACBAACGAACGAACAAACAAABvAABvAABUAABUAAAwAAAwAAACAAACAADL///L//+M//+M//9L//9L//8N//8N///Z/v/Z/v+z/v+z/v+i/v+i/v+m/v+m/v++/v++/v/o/v/o/v8g//8g//9j//9j//+t//+t///9///9//9RAABRAACkAACkAADzAADzAAA9AQA9AQB+AQB+AQCyAQCyAQDaAQDaAQDwAQDwAQD0AQD0AQDjAQDjAQC7AQC7AQCAAQCAAQAyAQAyAQDQAADQAABgAABgAADl///l//9n//9n///w/v/w/v+H/v+H/v8z/v8z/v/5/f/5/f/c/f/c/f/a/f/a/f/1/f/1/f8q/v8q/v91/v91/v/N/v/N/v8t//8t//+N//+N///n///n//83AAA3AAB6AAB6AACwAACwAADaAADaAAD4AAD4AAAGAQAGAQAHAQAHAQD7AAD7AADlAADlAADHAADHAACkAACkAAB/AAB/AABaAABaAAA4AAA4AAAZAAAZAAD////////s///s///g///g///c///c///e///e///o///o///5///5//8PAAAPAAAlAAAlAAA2AAA2AAA/AAA/AAA+AAA+AAAyAAAyAAAYAAAYAADv///v//+6//+6//98//98//85//85///4/v/4/v+7/v+7/v+J/v+J/v9j/v9j/v9P/v9P/v9P/v9P/v9j/v9j/v+K/v+K/v/G/v/G/v8Q//8Q//9l//9l///B///B//8hAAAhAACBAACBAADfAADfAAA2AQA2AQCFAQCFAQDFAQDFAQDzAQDzAQAMAgAMAgAOAgAOAgD3AQD3AQDLAQDLAQCLAQCLAQA7AQA7AQDfAADfAAB9AAB9AAAcAAAcAADA///A//9t//9t//8o//8o///x/v/x/v/K/v/K/v+z/v+z/v+r/v+r/v+x/v+x/v/E/v/E/v/g/v/g/v8E//8E//8s//8s//9U//9U//96//96//+d//+d//++//++///e///e///7///7//8XAAAXAAAzAAAzAABOAABOAABpAABpAACDAACDAACcAACcAAC1AAC1AADMAADMAADkAADkAAD4AAD4AAAJAQAJAQAVAQAVAQAgAQAgAQAnAQAnAQAqAQAqAQAoAQAoAQAgAQAgAQAOAQAOAQDxAADxAADGAADGAACNAACNAABIAABIAAD5///5//+o//+o//9W//9W//8J//8J///F/v/F/v+N/v+N/v9m/v9m/v9R/v9R/v9N/v9N/v9Z/v9Z/v92/v92/v+k/v+k/v/g/v/g/v8n//8n//9z//9z///C///C//8LAAALAABPAABPAACJAACJAAC5AAC5AADdAADdAAD0AAD0AAACAQACAQAGAQAGAQADAQADAQD5AAD5AADqAADqAADWAADWAAC/AAC/AACnAACnAACPAACPAAB5AAB5AABjAABjAABNAABNAAA4AAA4AAAlAAAlAAATAAATAAACAAACAADw///w///e///e///K///K//+1//+1//+e//+e//+J//+J//91//91//9j//9j//9U//9U//9I//9I//8///8///89//89//9C//9C//9N//9N//9f//9f//95//95//+a//+a//+///+////l///l//8MAAAMAAAxAAAxAABRAABRAABpAABpAAB6AAB6AACFAACFAACIAACIAACCAACCAAB1AAB1AABhAABhAABKAABKAAAzAAAzAAAcAAAcAAAJAAAJAAD5///5///u///u///o///o///o///o///w///w///9///9//8NAAANAAAfAAAfAAAwAAAwAAA+AAA+AABKAABKAABTAABTAABYAABYAABXAABXAABSAABSAABIAABIAAA4AAA4AAAjAAAjAAALAAALAADy///y///Y///Y///A///A//+t//+t//+f//+f//+Y//+Y//+Z//+Z//+e//+e//+p//+p//+3//+3///I///I///Z///Z///o///o///1///1///+///+//8EAAAEAAAGAAAGAAAEAAAEAAACAAACAAD+///+///5///5///0///0///y///y///w///w///x///x///z///z///5///5//8BAAABAAAMAAAMAAAZAAAZAAAnAAAnAAA1AAA1AABBAABBAABKAABKAABPAABPAABQAABQAABMAABMAABFAABFAAA7AAA7AAAvAAAvAAAiAAAiAAATAAATAAABAAABAADt///t///Y///Y///B///B//+r//+r//+W//+W//+E//+E//93//93//9u//9u//9s//9s//9x//9x//99//99//+P//+P//+m//+m///D///D///l///l//8JAAAJAAAvAAAvAABUAABUAAB3AAB3AACVAACVAACrAACrAAC5AAC5AAC/AAC/AAC+AAC+AAC0AAC0AACjAACjAACKAACKAABtAABtAABMAABMAAArAAArAAALAAALAADw///w///Z///Z///J///J///B///B//+///+////E///E///R///R///k///k///8///8//8XAAAXAAAzAAAzAABPAABPAABoAABoAAB+AAB+AACQAACQAACdAACdAACkAACkAACiAACiAACYAACYAACEAACEAABoAABoAABFAABFAAAdAAAdAADy///y///H///H//+e//+e//95//95//9b//9b//9G//9G//84//84//8y//8y//80//80//9A//9A//9S//9S//9r//9r//+H//+H//+l//+l///G///G///n///n//8FAAAFAAAeAAAeAAAyAAAyAABCAABCAABLAABLAABRAABRAABSAABSAABRAABRAABLAABLAABEAABEAAA7AAA7AAAyAAAyAAAqAAAqAAAjAAAjAAAdAAAdAAAaAAAaAAAYAAAYAAAYAAAYAAAZAAAZAAAZAAAZAAAaAAAaAAAYAAAYAAAVAAAVAAAPAAAPAAAHAAAHAAD+///+///1///1///s///s///h///h///X///X///P///P///L///L///L///L///O///O///V///V///g///g///s///s///5///5//8IAAAIAAAYAAAYAAAqAAAqAAA7AAA7AABMAABMAABcAABcAABoAABoAAByAAByAAB4AAB4AAB7AAB7AAB5AAB5AABzAABzAABmAABmAABXAABXAABEAABEAAAwAAAwAAAaAAAaAAAEAAAEAADu///u///b///b///L///L//++//++//+3//+3//+1//+1//+3//+3//+6//+6//++//++///C///C///H///H///M///M///S///S///Y///Y///d///d///i///i///n///n///t///t///x///x///0///0///1///1///z///z///u///u///o///o///f///f///W///W///M///M///D///D//+7//+7//+0//+0//+v//+v//+q//+q//+l//+l//+h//+h//+d//+d//+d//+d//+h//+h//+r//+r//+7//+7///S///S///s///s//8IAAAIAAAkAAAkAAA8AAA8AABRAABRAABhAABhAABtAABtAAByAAByAABxAABxAABnAABnAABXAABXAABDAABDAAAsAAAsAAAVAAAVAAABAAABAADx///x///m///m///h///h///h///h///k///k///m///m///m///m///l///l///i///i///c///c///Q///Q//++//++//+o//+o//+S//+S//99//99//9s//9s//9f//9f//9Y//9Y//9V//9V//9a//9a//9o//9o//9+//9+//+a//+a//+6//+6///e///e//8CAAACAAAmAAAmAABHAABHAABmAABmAACCAACCAACbAACbAACuAACuAAC7AAC7AADCAADCAADDAADDAAC/AAC/AAC0AAC0AACjAACjAACNAACNAABzAABzAABZAABZAAA7AAA7AAAdAAAdAAD8///8///Z///Z//+1//+1//+S//+S//90//90//9Y//9Y//9B//9B//8y//8y//8r//8r//8q//8q//8v//8v//87//87//9O//9O//9m//9m//+E//+E//+h//+h//+///+////b///b///0///0//8IAAAIAAAYAAAYAAAkAAAkAAAuAAAuAAA5AAA5AABFAABFAABVAABVAABoAABoAACAAACAAACaAACaAAC1AAC1AADNAADNAADdAADdAADjAADjAADdAADdAADLAADLAACuAACuAACHAACHAABYAABYAAAjAAAjAADq///q//+w//+w//96//96//9M//9M//8n//8n//8J//8J///0/v/0/v/o/v/o/v/m/v/m/v/s/v/s/v/4/v/4/v8K//8K//8i//8i//8///8///9g//9g//+G//+G//+u//+u///X///X///9///9//8gAAAgAAA+AAA+AABXAABXAABtAABtAAB/AAB/AACMAACMAACWAACWAACeAACeAACkAACkAACqAACqAACuAACuAACxAACxAACxAACxAACvAACvAACrAACrAACkAACkAACbAACbAACNAACNAAB7AAB7AABjAABjAABHAABHAAAoAAAoAAAJAAAJAADq///q///N///N//+2//+2//+i//+i//+T//+T//+I//+I//+A//+A//97//97//97//97//9+//9+//+F//+F//+O//+O//+Y//+Y//+j//+j//+u//+u//+5//+5///F///F///S///S///g///g///w///w//////////8OAAAOAAAeAAAeAAAtAAAtAAA7AAA7AABKAABKAABYAABYAABlAABlAABwAABwAAB5AAB5AACDAACDAACLAACLAACRAACRAACUAACUAACTAACTAACRAACRAACKAACKAAB/AAB/AABxAABxAABgAABgAABNAABNAAA3AAA3AAAhAAAhAAALAAALAADz///z///Z///Z//+9//+9//+g//+g//+F//+F//9t//9t//9a//9a//9L//9L//9B//9B//88//88//88//88//9B//9B//9M//9M//9Z//9Z//9p//9p//97//97//+O//+O//+i//+i//+2//+2///M///M///h///h///3///3//8OAAAOAAAjAAAjAAA4AAA4AABNAABNAABhAABhAAB1AAB1AACJAACJAACeAACeAACwAACwAADAAADAAADNAADNAADTAADTAADUAADUAADOAADOAADFAADFAAC5AAC5AACrAACrAACaAACaAACEAACEAABsAABsAABQAABQAAA0AAA0AAAWAAAWAAD3///3///Z///Z//+7//+7//+e//+e//+B//+B//9n//9n//9R//9R//9A//9A//80//80//8v//8v//8z//8z//8///8///9T//9T//9s//9s//+J//+J//+q//+q///O///O///x///x//8UAAAUAAA1AAA1AABUAABUAABxAABxAACMAACMAACiAACiAAC0AAC0AADAAADAAADGAADGAADHAADHAADEAADEAAC6AAC6AACtAACtAACdAACdAACNAACNAAB7AAB7AABpAABpAABWAABWAABEAABEAAAyAAAyAAAgAAAgAAAPAAAPAAD////////w///w///g///g///R///R///D///D//+0//+0//+m//+m//+Z//+Z//+P//+P//+H//+H//+A//+A//9///9///+D//+D//+N//+N//+c//+c//+u//+u///F///F///e///e///4///4//8SAAASAAAsAAAsAABFAABFAABdAABdAABxAABxAACAAACAAACLAACLAACRAACRAACUAACUAACUAACUAACQAACQAACJAACJAAB+AAB+AAByAAByAABjAABjAABTAABTAABDAABDAAAxAAAxAAAfAAAfAAAKAAAKAAD0///0///f///f///M///M//+5//+5//+n//+n//+W//+W//+I//+I//99//99//90//90//9t//9t//9p//9p//9m//9m//9l//9l//9n//9n//9t//9t//92//92//+C//+C//+S//+S//+k//+k//+4//+4///O///O///k///k///7///7//8UAAAUAAArAAArAAA+AAA+AABPAABPAABdAABdAABoAABoAABwAABwAAB1AAB1AAB3AAB3AAB1AAB1AABxAABxAABsAABsAABmAABmAABeAABeAABUAABUAABIAABIAAA8AAA8AAAtAAAtAAAeAAAeAAAOAAAOAAD+///+///u///u///e///e///O///O//++//++//+u//+u//+g//+g//+U//+U//+L//+L//+G//+G//+D//+D//+D//+D//+F//+F//+M//+M//+W//+W//+i//+i//+w//+w///A///A///T///T///m///m///5///5//8KAAAKAAAZAAAZAAAnAAAnAAA0AAA0AAA/AAA/AABLAABLAABXAABXAABhAABhAABqAABqAABvAABvAABwAABwAABvAABvAABqAABqAABiAABiAABXAABXAABIAABIAAA3AAA3AAAkAAAkAAAQAAAQAAD////////y///y///o///o///j///j///i///i///m///m///s///s///0///0///6///6//////////8DAAADAAAEAAAEAAADAAADAAAAAAAAAAD6///6///z///z///s///s///n///n///l///l///l///l///o///o///u///u///2///2//////////8HAAAHAAAOAAAOAAAUAAAUAAAZAAAZAAAcAAAcAAAdAAAdAAAdAAAdAAAbAAAbAAAYAAAYAAAUAAAUAAAPAAAPAAAJAAAJAAADAAADAAD+///+///5///5///0///0///x///x///s///s///n///n///i///i///b///b///V///V///Q///Q///M///M///J///J///H///H///H///H///G///G///G///G///F///F///F///F///G///G///J///J///O///O///Y///Y///j///j///u///u///3///3//8BAAABAAAIAAAIAAAPAAAPAAAVAAAVAAAZAAAZAAAeAAAeAAAhAAAhAAAjAAAjAAAkAAAkAAAjAAAjAAAhAAAhAAAcAAAcAAAYAAAYAAATAAATAAAOAAAOAAAMAAAMAAAMAAAMAAAMAAAMAAANAAANAAAPAAAPAAAQAAAQAAATAAATAAAVAAAVAAAVAAAVAAAUAAAUAAARAAARAAANAAANAAAFAAAFAAD+///+///4///4///y///y///t///t///q///q///p///p///n///n///m///m///m///m///o///o///t///t///z///z///6///6//8AAAAAAAAHAAAHAAAPAAAPAAAXAAAXAAAeAAAeAAAjAAAjAAAnAAAnAAApAAApAAApAAApAAAnAAAnAAAkAAAkAAAfAAAfAAAZAAAZAAASAAASAAAMAAAMAAAFAAAFAAD////////4///4///w///w///n///n///c///c///Q///Q///G///G//+9//+9//+3//+3//+y//+y//+t//+t//+q//+q//+q//+q//+r//+r//+w//+w//+3//+3///A///A///L///L///W///W///h///h///r///r///1///1///9///9//8CAAACAAAEAAAEAAAFAAAFAAAEAAAEAAACAAACAAD+///+///7///7///5///5///3///3///z///z///v///v///q///q///n///n///j///j///f///f///Z///Z///T///T///O///O///O///O///S///S///Y///Y///h///h///p///p///w///w///3///3///8///8//8AAAAAAAAEAAAEAAAHAAAHAAAIAAAIAAAHAAAHAAAGAAAGAAADAAADAAABAAABAAAAAAAAAAD+///+///9///9///8///8///7///7///7///7///8///8///+///+//8BAAABAAADAAADAAAGAAAGAAAIAAAIAAALAAALAAAQAAAQAAAUAAAUAAAZAAAZAAAcAAAcAAAeAAAeAAAgAAAgAAAiAAAiAAAkAAAkAAAkAAAkAAAiAAAiAAAdAAAdAAAZAAAZAAATAAATAAANAAANAAAHAAAHAAACAAACAAD////////9///9///8///8///6///6///6///6///8///8//8AAAAAAAAEAAAEAAAIAAAIAAAJAAAJAAALAAALAAALAAALAAAOAAAOAAASAAASAAAXAAAXAAAcAAAcAAAhAAAhAAAlAAAlAAAoAAAoAAAoAAAoAAAnAAAnAAAlAAAlAAAjAAAjAAAhAAAhAAAfAAAfAAAdAAAdAAAcAAAcAAAZAAAZAAAVAAAVAAARAAARAAAJAAAJAAACAAACAAD8///8///2///2///w///w///r///r///n///n///i///i///f///f///d///d///d///d///d///d///e///e///f///f///i///i///l///l///q///q///t///t///x///x///0///0///4///4///7///7///+///+//8CAAACAAAGAAAGAAAKAAAKAAAOAAAOAAASAAASAAAVAAAVAAAYAAAYAAAbAAAbAAAgAAAgAAAlAAAlAAApAAApAAAsAAAsAAAtAAAtAAAtAAAtAAAqAAAqAAAnAAAnAAAjAAAjAAAeAAAeAAAbAAAbAAAYAAAYAAAXAAAXAAAWAAAWAAAUAAAUAAAUAAAUAAATAAATAAAUAAAUAAAVAAAVAAAWAAAWAAAUAAAUAAATAAATAAARAAARAAAPAAAPAAALAAALAAAHAAAHAAADAAADAAAAAAAAAAD9///9///7///7///7///7///8///8///+///+//8BAAABAAAFAAAFAAAJAAAJAAANAAANAAARAAARAAAVAAAVAAAZAAAZAAAcAAAcAAAdAAAdAAAeAAAeAAAeAAAeAAAeAAAeAAAfAAAfAAAiAAAiAAAiAAAiAAAhAAAhAAAeAAAeAAAaAAAaAAATAAATAAALAAALAAACAAACAAD4///4///v///v///m///m///f///f///W///W///O///O///J///J///F///F///D///D///B///B//++//++//+7//+7//+4//+4//+3//+3//+4//+4//+7//+7//+9//+9///B///B///G///G///N///N///T///T///Y///Y///d///d///h///h///m///m///q///q///u///u///x///x///0///0///z///z///z///z///w///w///s///s///p///p///m///m///l///l///n///n///s///s///0///0///8///8//8FAAAFAAANAAANAAASAAASAAAWAAAWAAAZAAAZAAAYAAAYAAAWAAAWAAATAAATAAANAAANAAAHAAAHAAACAAACAAD+///+///6///6///3///3///3///3///2///2///2///2///1///1///z///z///y///y///x///x///w///w///v///v///u///u///v///v///x///x///1///1///4///4///8///8//8CAAACAAAIAAAIAAAOAAAOAAAVAAAVAAAcAAAcAAAlAAAlAAAtAAAtAAA1AAA1AAA8AAA8AABCAABCAABHAABHAABKAABKAABJAABJAABEAABEAAA7AAA7AAAwAAAwAAAkAAAkAAAXAAAXAAAKAAAKAAD8///8///v///v///k///k///b///b///U///U///R///R///S///S///W///W///d///d///l///l///v///v///6///6//8HAAAHAAAVAAAVAAAmAAAmAAA3AAA3AABHAABHAABVAABVAABgAABgAABqAABqAABxAABxAAB4AAB4AAB8AAB8AAB9AAB9AAB8AAB8AAB3AAB3AABwAABwAABmAABmAABaAABaAABKAABKAAA4AAA4AAAiAAAiAAAKAAAKAADx///x///X///X//+///+///+p//+p//+Y//+Y//+O//+O//+H//+H//+F//+F//+F//+F//+K//+K//+R//+R//+c//+c//+n//+n//+y//+y//+9//+9///H///H///S///S///b///b///k///k///s///s///1///1///9///9//8EAAAEAAAKAAAKAAAPAAAPAAAUAAAUAAAYAAAYAAAaAAAaAAAbAAAbAAAZAAAZAAAXAAAXAAATAAATAAANAAANAAAGAAAGAAD+///+///3///3///w///w///q///q///l///l///g///g///c///c///b///b///c///c///f///f///h///h///j///j///k///k///m///m///n///n///m///m///l///l///k///k///l///l///m///m///o///o///r///r///w///w///2///2///9///9//8FAAAFAAAOAAAOAAAXAAAXAAAeAAAeAAAjAAAjAAAnAAAnAAAqAAAqAAAsAAAsAAAsAAAsAAAqAAAqAAAnAAAnAAAiAAAiAAAcAAAcAAAVAAAVAAAPAAAPAAAJAAAJAAAFAAAFAAABAAABAAD+///+///8///8///6///6///4///4///3///3///2///2///1///1///y///y///v///v///t///t///v///v///y///y///3///3///8///8//8AAAAAAAAEAAAEAAAHAAAHAAAKAAAKAAAMAAAMAAAOAAAOAAAOAAAOAAAOAAAOAAAPAAAPAAARAAARAAAUAAAUAAAYAAAYAAAcAAAcAAAeAAAeAAAfAAAfAAAdAAAdAAAaAAAaAAAXAAAXAAAUAAAUAAAQAAAQAAALAAALAAAHAAAHAAAEAAAEAAABAAABAAAAAAAAAAABAAABAAACAAACAAAEAAAEAAAGAAAGAAAJAAAJAAANAAANAAAQAAAQAAASAAASAAAVAAAVAAAWAAAWAAAXAAAXAAAWAAAWAAAXAAAXAAAXAAAXAAAWAAAWAAAUAAAUAAARAAARAAAOAAAOAAANAAANAAALAAALAAAKAAAKAAAJAAAJAAAJAAAJAAAKAAAKAAALAAALAAAMAAAMAAANAAANAAANAAANAAAMAAAMAAAKAAAKAAAIAAAIAAAEAAAEAAAAAAAAAAD8///8///4///4///z///z///w///w///s///s///p///p///m///m///l///l///l///l///n///n///r///r///w///w///1///1///6///6//8AAAAAAAAFAAAFAAAKAAAKAAAMAAAMAAAPAAAPAAARAAARAAATAAATAAAVAAAVAAAYAAAYAAAbAAAbAAAdAAAdAAAeAAAeAAAeAAAeAAAeAAAeAAAdAAAdAAAdAAAdAAAcAAAcAAAYAAAYAAATAAATAAAOAAAOAAAIAAAIAAACAAACAAD+///+///6///6///3///3///1///1///0///0///z///z///y///y///x///x///x///x///x///x///y///y///0///0///2///2///4///4///3///3///2///2///0///0///x///x///u///u///r///r///n///n///h///h///c///c///Z///Z///Z///Z///b///b///g///g///l///l///p///p///t///t///w///w///x///x///z///z///0///0///3///3///5///5///6///6///7///7///7///7///7///7///6///6///6///6///6///6///6///6///6///6///5///5///4///4///3///3///2///2///0///0///y///y///v///v///r///r///m///m///i///i///g///g///g///g///i///i///n///n///u///u///0///0///8///8//8CAAACAAAHAAAHAAANAAANAAAUAAAUAAAaAAAaAAAeAAAeAAAiAAAiAAAkAAAkAAAlAAAlAAAlAAAlAAAmAAAmAAAoAAAoAAApAAApAAAoAAAoAAAmAAAmAAAkAAAkAAAhAAAhAAAcAAAcAAAXAAAXAAAOAAAOAAAGAAAGAAD8///8///0///0///s///s///j///j///b///b///U///U///P///P///N///N///N///N///O///O///Q///Q///V///V///Z///Z///d///d///h///h///m///m///r///r///v///v///z///z///1///1///2///2///2///2///3///3///3///3///3///3///3///3///3///3///4///4///5///5///8///8//8AAAAAAAADAAADAAAGAAAGAAALAAALAAAOAAAOAAAQAAAQAAAQAAAQAAAOAAAOAAANAAANAAANAAANAAAKAAAKAAAIAAAIAAAIAAAIAAAJAAAJAAALAAALAAAOAAAOAAAQAAAQAAASAAASAAASAAASAAASAAASAAASAAASAAATAAATAAAVAAAVAAAWAAAWAAAWAAAWAAAVAAAVAAAQAAAQAAAJAAAJAAACAAACAAD7///7///2///2///z///z///x///x///w///w///w///w///x///x///z///z///0///0///1///1///0///0///0///0///2///2///3///3///3///3///4///4///5///5///6///6///7///7///8///8//8AAAAAAAAFAAAFAAALAAALAAARAAARAAAXAAAXAAAbAAAbAAAeAAAeAAAfAAAfAAAfAAAfAAAdAAAdAAAZAAAZAAATAAATAAANAAANAAAHAAAHAAACAAACAAD9///9///4///4///1///1///y///y///y///y///z///z///2///2///4///4///5///5///5///5///4///4///0///0///v///v///p///p///i///i///b///b///V///V///Q///Q///M///M///J///J///H///H///H///H///J///J///M///M///Q///Q///U///U///Z///Z///e///e///l///l///q///q///v///v///0///0///3///3///6///6///+///+//8CAAACAAAGAAAGAAAJAAAJAAALAAALAAANAAANAAANAAANAAANAAANAAANAAANAAAMAAAMAAAKAAAKAAAIAAAIAAAFAAAFAAADAAADAAAAAAAAAAD8///8///5///5///3///3///2///2///2///2///4///4///8///8//8CAAACAAAJAAAJAAARAAARAAAZAAAZAAAgAAAgAAAnAAAnAAAtAAAtAAAwAAAwAAAyAAAyAAAzAAAzAAAxAAAxAAAuAAAuAAApAAApAAAkAAAkAAAeAAAeAAAYAAAYAAASAAASAAANAAANAAAIAAAIAAAFAAAFAAACAAACAAAAAAAAAAD///////8AAAAAAAABAAABAAADAAADAAAFAAAFAAAHAAAHAAAJAAAJAAAMAAAMAAANAAANAAAPAAAPAAAPAAAPAAAQAAAQAAAPAAAPAAAPAAAPAAANAAANAAALAAALAAAIAAAIAAAGAAAGAAACAAACAAD////////9///9///6///6///4///4///2///2///2///2///2///2///3///3///4///4///6///6///8///8//////////8CAAACAAAFAAAFAAAIAAAIAAAKAAAKAAANAAANAAAPAAAPAAAQAAAQAAAQAAAQAAAQAAAQAAAQAAAQAAAQAAAQAAAPAAAPAAANAAANAAANAAANAAALAAALAAAKAAAKAAAJAAAJAAAIAAAIAAAHAAAHAAAHAAAHAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAFAAAFAAAEAAAEAAAEAAAEAAADAAADAAADAAADAAACAAACAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAD////////////////////////////////////////////////////////+///+///9///9///9///9///7///7///7///7///5///5///4///4///2///2///1///1///0///0///z///z///y///y///y///y///y///y///z///z///z///z///0///0///1///1///2///2///4///4///5///5///7///7///8///8///+///+//////////8AAAAAAAABAAABAAACAAACAAACAAACAAADAAADAAADAAADAAADAAADAAAEAAAEAAAEAAAEAAAEAAAEAAADAAADAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAFAAAFAAAFAAAFAAAEAAAEAAAEAAAEAAADAAADAAACAAACAAACAAACAAAAAAAAAAAAAAAAAAD////////+///+///9///9///9///9///9///9///8///8///8///8///9///9///9///9///9///9///+///+//////////8AAAAAAAABAAABAAACAAACAAADAAADAAADAAADAAAEAAAEAAAEAAAEAAAEAAAEAAAFAAAFAAAFAAAFAAAFAAAFAAAFAAAFAAAEAAAEAAAEAAAEAAADAAADAAADAAADAAACAAACAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAACAAACAAADAAADAAAEAAAEAAAFAAAFAAAGAAAGAAAHAAAHAAAIAAAIAAAJAAAJAAAKAAAKAAAKAAAKAAALAAALAAALAAALAAALAAALAAALAAALAAAKAAAKAAAKAAAKAAAJAAAJAAAIAAAIAAAIAAAIAAAHAAAHAAAHAAAHAAAHAAAHAAAGAAAGAAAGAAAGAAAHAAAHAAAHAAAHAAAHAAAHAAAHAAAHAAAHAAAHAAAIAAAIAAAIAAAIAAAIAAAIAAAHAAAHAAAHAAAHAAAGAAAGAAAFAAAFAAAEAAAEAAACAAACAAABAAABAAD////////9///9///7///7///5///5///3///3///2///2///0///0///z///z///y///y///y///y///x///x///x///x///x///x///y///y///y///y///z///z///0///0///1///1///1///1///2///2///2///2///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///3///4///4///4///4///4///4///4///4///4///4///4///4///4///4///4///4///3///3///4///4///3///3///3///3///3///3///3///3///3///3///3///3///4///4///4///4///5///5///6///6///6///6///8///8///9///9///+///+//////////8AAAAAAAABAAABAAACAAACAAACAAACAAADAAADAAADAAADAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAADAAADAAADAAADAAACAAACAAACAAACAAABAAABAAAAAAAAAAAAAAAAAAD////////+///+///+///+///+///+///9///9///8///8///8///8///7///7///7///7///7///7///6///6///6///6///6///6///6///6///6///6///6///6///6///6///6///6///6///6///6///6///6///6///6///6///7///7///7///7///8///8///8///8///8///8///9///9///+///+///+///+//////////////////8AAAAAAAABAAABAAACAAACAAACAAACAAAEAAAEAAAEAAAEAAAFAAAFAAAGAAAGAAAGAAAGAAAHAAAHAAAHAAAHAAAHAAAHAAAGAAAGAAAFAAAFAAAFAAAFAAADAAADAAADAAADAAABAAABAAABAAABAAD////////////////////////+///+///+///+///+///+///9///9///+///+///+///+///+///+///9///9///9///9///8///8///8///8///7///7///7///7///7///7///7///7///7///7///7///7///8///8///+///+///+///+//8AAAAAAAABAAABAAACAAACAAADAAADAAAEAAAEAAAFAAAFAAAGAAAGAAAHAAAHAAAHAAAHAAAHAAAHAAAIAAAIAAAIAAAIAAAIAAAIAAAHAAAHAAAGAAAGAAAFAAAFAAAFAAAFAAAEAAAEAAADAAADAAACAAACAAABAAABAAAAAAAAAAD////////+///+///9///9///9///9///8///8///8///8///8///8///8///8///8///8///8///8///9///9///+///+//////////8AAAAAAAABAAABAAACAAACAAADAAADAAAEAAAEAAAEAAAEAAAEAAAEAAAFAAAFAAAFAAAFAAAFAAAFAAAGAAAGAAAHAAAHAAAHAAAHAAAHAAAHAAAIAAAIAAAIAAAIAAAJAAAJAAAJAAAJAAAIAAAIAAAHAAAHAAAGAAAGAAAFAAAFAAADAAADAAABAAABAAD////////9///9///7///7///6///6///5///5///4///4///3///3///3///3///2///2///3///3///3///3///4///4///4///4///5///5///6///6///7///7///9///9///+///+//////////8AAAAAAAABAAABAAACAAACAAADAAADAAADAAADAAAEAAAEAAAEAAAEAAAEAAAEAAAFAAAFAAAFAAAFAAAGAAAGAAAFAAAFAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAFAAAFAAAFAAAFAAAEAAAEAAAEAAAEAAADAAADAAACAAACAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAACAAACAAACAAACAAACAAACAAADAAADAAADAAADAAAEAAAEAAAEAAAEAAAEAAAEAAAFAAAFAAAFAAAFAAAFAAAFAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAHAAAHAAAHAAAHAAAHAAAHAAAHAAAHAAAGAAAGAAAGAAAGAAAFAAAFAAAFAAAFAAAFAAAFAAAEAAAEAAADAAADAAACAAACAAACAAACAAABAAABAAAAAAAAAAAAAAAAAAD////////+///+///+///+///+///+///9///9///9///9///9///9///+///+///+///+//////////////////////////8AAAAAAAABAAABAAABAAABAAACAAACAAADAAADAAADAAADAAAEAAAEAAAEAAAEAAAEAAAEAAAFAAAFAAAGAAAGAAAFAAAFAAAGAAAGAAAHAAAHAAAHAAAHAAAHAAAHAAAHAAAHAAAHAAAHAAAHAAAHAAAGAAAGAAAFAAAFAAAFAAAFAAAEAAAEAAADAAADAAADAAADAAACAAACAAABAAABAAAAAAAAAAD////////9///9///9///9///8///8///7///7///6///6///6///6///5///5///4///4///4///4///4///4///4///4///5///5///5///5///6///6///7///7///8///8///9///9///+///+//////////8AAAAAAAAAAAAAAAABAAABAAACAAACAAACAAACAAADAAADAAADAAADAAADAAADAAADAAADAAADAAADAAADAAADAAACAAACAAACAAACAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAD////////////////////////+///+///+///+///9///9///9///9///9///9///9///9///9///9///8///8///8///8///8///8///8///8///8///8///8///8///8///8///9///9///+///+///+///+//////////8AAAAAAAAAAAAAAAABAAABAAACAAACAAACAAACAAADAAADAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAAEAAADAAADAAADAAADAAADAAADAAADAAADAAACAAACAAABAAABAAABAAABAAABAAABAAAAAAAAAAD////////////////////////+///+///9///9///9///9///9///9///8///8///8///8///8///8///8///8///8///8///8///8///8///8///8///8///8///8///9///9///9///9///+///+///+///+//////////8AAAAAAAAAAAAAAAABAAABAAACAAACAAACAAACAAACAAACAAADAAADAAAEAAAEAAAEAAAEAAADAAADAAAEAAAEAAAEAAAEAAADAAADAAADAAADAAADAAADAAADAAADAAADAAADAAADAAADAAACAAACAAACAAACAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAD////////////////////////+///+///9///9///9///9///9///9///9///9///9///9///8///8///8///8///9///9///9///9///9///9///+///+///+///+///+///+//////////8AAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAACAAACAAACAAACAAACAAACAAACAAACAAADAAADAAADAAADAAADAAADAAADAAADAAADAAADAAADAAADAAACAAACAAACAAACAAABAAABAAABAAABAAABAAABAAAAAAAAAAD///////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////////////////////////////////////////////////////+///+///+///+///+///+///+///+///+///+///+///+///+///+///+///+///+///+///+///+///+///+///+///+//////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAD////////////////////////+///+///+///+///+///+///+///+///+///+///+///+///+///+///+///+///+///+///+///+///+///+///+///+//////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////////////////////////////////////////////+///+///+///+///9///9///9///9///9///9///9///9///9///9///9///9///9///9///9///9///9///9///9///9///+///+///+///+///+///+///+///+//////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAACAAACAAACAAACAAACAAACAAACAAACAAACAAACAAACAAACAAACAAACAAACAAACAAACAAACAAACAAACAAACAAACAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAACAAACAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////////////////////////////////////////////+///+///+///+///+///+///+///+///+///+///+///+///+///+///+///+///+///+//////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAACAAACAAACAAACAAACAAACAAACAAACAAACAAACAAACAAACAAACAAACAAACAAACAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAD///////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAACAAACAAACAAACAAADAAADAAADAAADAAADAAADAAADAAADAAADAAADAAADAAADAAADAAADAAADAAADAAADAAADAAACAAACAAACAAACAAACAAACAAABAAABAAAAAAAAAAAAAAAAAAD////////+///+///+///+///9///9///9///9///9///9///9///9///9///9///9///9///9///9///9///9///9///9///9///9///+///+///+///+//////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\"","export default \"data:audio/wav;base64,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AwBhAABhAAB0+/90+/+D+/+D+/+i+v+i+v89+f89+f9f+/9f+/8n/f8n/f+0/f+0/f93AQB3AQDsAgDsAgCKAwCKAwDDAwDDAwAkAQAkAQB+/f9+/f/F/v/F/v+IAQCIAQDMAwDMAwDXBgDXBgCvBgCvBgB3BAB3BAB+BAB+BAArAwArAwDiAgDiAgC2AgC2AgADAAADAADRAADRAAAbAgAbAgB+AwB+AwD+AAD+AABf//9f//+dAACdAADN///N//9dAABdAACVAACVAACS//+S//8aAAAaAABW/v9W/v+u/f+u/f9S/f9S/f96/f96/f/Z/v/Z/v8C//8C///M///M///BAQDBAQBCBQBCBQC8CAC8CADGBwDGBwDcBQDcBQBjBQBjBQAaBQAaBQA7BAA7BAB+AQB+AQB7/v97/v+L+/+L+/8z+v8z+v9x/P9x/P9R/v9R/v8bAAAbAAAMAAAMAAAZ/P8Z/P8//P8//P8+/v8+/v/x///x///eAADeAADMAQDMAQANBAANBABlBABlBAASBQASBQCHBgCHBgDFBADFBABDAgBDAgDy///y//+R/v+R/v++/v++/v84AAA4AACVAACVAABr//9r///T/f/T/f+8+/+8+//y+//y+/+g+v+g+v/M+f/M+f8I+/8I+//b+//b+/8p/v8p/v9tAABtAADcAQDcAQA5AwA5AwDTAwDTAwA4BQA4BQCZBACZBADvAwDvAwCtBACtBAD3AwD3AwA0BAA0BABzBQBzBQC3BQC3BQByAgByAgCr/v+r/v+OAwCOAwAoBwAoBwA7AgA7AgA0AwA0AwBnBwBnBwA1BQA1BQCGAwCGAwCCBACCBADN///N//8f//8f//9q//9q///yAQDyAQCK//+K//8p//8p///E///E//9U//9U//+X//+X//+hAQChAQDHAADHAABG/f9G/f8y//8y//8rAgArAgDU/v/U/v9fAABfAACRAgCRAgBLAgBLAgBeAwBeAwCeAQCeAQCmAQCmAQA2AQA2AQBpAABpAACC/P+C/P8f+v8f+v9N+v9N+v8B/v8B/v+gAgCgAgB2AgB2AgCaAwCaAwD6BAD6BACrAgCrAgC9AQC9AQC5AgC5AgDXAgDXAgCqAACqAADb/v/b/v8xAAAxAAB/AAB/AADqAADqAABKAQBKAQCJAgCJAgA3AwA3AwAI//8I//9SAABSAABA//9A//9h/v9h/v8RAQARAQBXAgBXAgANAgANAgBQBgBQBgDUBgDUBgAsBAAsBABc+v9c+v9H/f9H/f+sBQCsBQDYBQDYBQDHAgDHAgAUAQAUAQCjAgCjAgAhAwAhAwD2AQD2AQCPAQCPAQCEAQCEAQC4AAC4AABbAgBbAgD+AgD+AgBBAgBBAgBC//9C//9Q+f9Q+f+f+/+f+/8Q/v8Q/v+S/v+S/v8PAQAPAQAJAgAJAgC3//+3//+k/v+k/v9N/v9N/v98//98///b/v/b/v8z/f8z/f8K/v8K/v86//86//+RAQCRAQBdAQBdAQAgAQAgAQAyAAAyAABg/v9g/v/0/v/0/v9OAQBOAQA+//8+//98AQB8AQD3BgD3BgCjAQCjAQCr/f+r/f/o/v/o/v9QAQBQAQDH/f/H/f+p/v+p/v84AAA4AABiAgBiAgDp/v/p/v90/v90/v8d//8d//81AgA1AgB4AwB4AwBA/v9A/v/A/f/A/f/N/P/N/P+i+P+i+P/09//09//L+//L+/+K+P+K+P8G/f8G/f8OAQAOAQC2AQC2AQCuAQCuAQAoAQAoAQAb/v8b/v81/v81/v+P//+P//+l/v+l/v/j///j//8mAQAmAQAaAAAaAAD7///7///fAQDfAQALBQALBQCSBACSBAB1AQB1AQD6///6//8PAQAPAQCGAQCGAQA4AQA4AQBcAgBcAgDjAgDjAgBnAQBnAQBI//9I//+r/f+r/f+4/P+4/P+6/P+6/P8x/v8x/v/H/f/H/f9r//9r//+7//+7///dAADdAACI//+I//+g/v+g/v9b//9b///F///F//9MAABMAAB0/v90/v9Y/v9Y/v8g/v8g/v/g///g//8OAQAOAQDwAADwAAAOAQAOAQDGAQDGAQAZAQAZAQALAQALAQAhAQAhAQBm/f9m/f9P/f9P/f+E/v+E/v+F//+F//81/v81/v9m/P9m/P8f/P8f/P+w/f+w/f93/P93/P/j/P/j/P/G/f/G/f8C//8C//+n/v+n/v9V//9V///N///N//8i//8i///M/v/M/v9B//9B//9J//9J//+D//+D//+p/f+p/f8B+/8B+/++/f++/f+0+v+0+v+v+v+v+v8GAAAGAABpAABpAADf/f/f/f8vBwAvBwCWBQCWBQCO/v+O/v/I+v/I+v+6+f+6+f+e9P+e9P+b+/+b+/+b/f+b/f98AQB8AQArBgArBgA2BAA2BAAbAwAbAwBrBQBrBQDPAADPAADkAADkAAATBAATBAAm/f8m/f8PAQAPAQCLAgCLAgDl+f/l+f/0+f/0+f/r///r///s/f/s/f+D//+D///FCADFCACeAwCeAwDmAQDmAQDjAwDjAwDj/P/j/P96+v96+v/f/f/f/f+ZAACZAACaAACaAABgAABgAAD0AAD0AABs/v9s/v/rAADrAABKAQBKAQCK/f+K/f/K/f/K/f/w///w//8jAQAjAQBKAQBKAQBUAgBUAgAuAgAuAgCjAACjAAAsAQAsAQDO///O//+y/v+y/v8///8///9dAABdAABR//9R//9IAABIAAAg//8g//8b//8b//9G//9G//+R//+R//9u//9u//91//91//8aAAAaAACiAQCiAQDzAwDzAwC8AwC8AwAIAgAIAgBRAgBRAgBmAABmAAA1AQA1AQCIAACIAAAL/v8L/v8B/v8B/v8B//8B///U/v/U/v9i/v9i/v/JAQDJAQDaAQDaAQB+AQB+AQDkAQDkAQCAAACAAADnAADnAABwAgBwAgAfAQAfAQD+AQD+AQBDAABDAAALAAALAADr/v/r/v/M/f/M/f+q/P+q/P8SAAASAABfAgBfAgAmAgAmAgD9AAD9AACk//+k//9F//9F//8BAAABAAA2AAA2AAAPAAAPAABQAABQAACYAACYAABL//9L//9gAQBgAQAGAAAGAAAR/v8R/v/9/f/9/f8D/f8D/f/w+//w+/+T/v+T/v81//81//+h/v+h/v/Y/f/Y/f9//v9//v+e/v+e/v9o//9o//+D/v+D/v+K//+K//+DAACDAAC1/v+1/v9d/v9d/v/V/v/V/v+YAQCYAQAZAQAZAQBaAgBaAgAMAQAMAQB0//90//+L/v+L/v9eAABeAADqAADqAABnAABnAAB0AAB0AAAVAQAVAQAyAAAyAADfAADfAADoAADoAAAFAQAFAQCyAACyAAA8AAA8AACA/v+A/v95/v95/v98/f98/f9g/P9g/P84/P84/P/Y/P/Y/P+g/P+g/P9q/f9q/f9Q/v9Q/v+v/v+v/v+H/v+H/v9W/v9W/v+v/v+v/v9A//9A///RAADRAADvAQDvAQBbAwBbAwBRBABRBAATBAATBACXAgCXAgCZBACZBADFBADFBABwAQBwAQAWAQAWAQBSAQBSAQCyAgCyAgCiAQCiAQAdAAAdAADNAADNAAB5AwB5AwAn//8n//+GAQCGAQCsAACsAACuAACuAACXAACXAABO/P9O/P/j/v/j/v+RAQCRAQB1//91///Y///Y//90AAB0AABiAABiAAD/AQD/AQCQAACQAACVAACVAABAAABAAAC6AwC6AwDm/v/m/v9SAwBSAwAVBAAVBAB3BQB3BQAL/f8L/f+ZAACZAACJAQCJAQBIBgBIBgAu+/8u+/+N//+N///pCgDpCgCC+v+C+v85//85//9ADABADAB9/P99/P+y/f+y/f/RBgDRBgCd+P+d+P/8+//8+//k///k//8T+P8T+P95AgB5AgDvBADvBADpAgDpAgD8AAD8AABN8v9N8v8OAgAOAgD0BQD0BQBN+/9N+/+2AAC2AABw//9w//9K/v9K/v/aAwDaAwBj+/9j+/9+AQB+AQB6BQB6BQAJ+f8J+f+Q/v+Q/v85AQA5AQDf/f/f/f/VAADVAAD4AAD4AACAAwCAAwCA//+A//95/f95/f+tAACtAAAVAgAVAgDHAADHAAA8AQA8AQBcAQBcAQB7AgB7AgARAQARAQAHAgAHAgDB///B//9JAgBJAgD4BAD4BAA7AgA7AgDh///h//8BAgABAgBmAwBmAwChAQChAQB7AgB7AgChAgChAgATAgATAgAFBAAFBACCAQCCAQC3AQC3AQCuAQCuAQBWAABWAADJ///J//9e/v9e/v8TAAATAAB+AAB+AAB7/v97/v/Y///Y//94//94//9FAABFAABBAABBAABTAQBTAQC0/v+0/v93/v93/v+B//+B//+dAQCdAQDDAADDAABLAgBLAgDkAgDkAgAZAgAZAgCe//+e//+q//+q//8tAAAtAACJAACJAABZAABZAAD1///1///PAADPAAAUAQAUAQD7AgD7AgBsAQBsAQBSAABSAACxAACxAAD////////lAADlAACNAACNAACwAACwAAA1AQA1AQBEAABEAAA4AwA4AwA3AgA3AgDp/v/p/v+rAACrAAAX//8X//9M//9M//9JAABJAACK/v+K/v+Z//+Z///cAADcAACnAgCnAgDAAADAAADxAADxAABkAQBkAQAXAgAXAgBEAgBEAgBAAgBAAgC+AQC+AQDLAQDLAQA5AQA5AQDLAQDLAQAHAQAHAQANAwANAwCiAgCiAgD7AQD7AQBiAQBiAQBIAgBIAgD4AAD4AAAEAQAEAQD3AAD3AACMAQCMAQDKAADKAAALAQALAQCIAQCIAQB9AQB9AQCNAACNAAAiAAAiAAA/AAA/AAANAQANAQBsAABsAADoAADoAABZAQBZAQCoAACoAADWAADWAAAWAQAWAQBPAABPAABY//9Y//+o/v+o/v+M//+M//83AAA3AADS/v/S/v9w//9w//+o/v+o/v91/f91/f8R/f8R/f8u/v8u/v/S/v/S/v/m/f/m/f9p/P9p/P88/f88/f98/v98/v/3/v/3/v8E/v8E/v9k//9k//8p//8p//8k/v8k/v+X//+X//+g/v+g/v8c//8c///t/v/t/v9j/v9j/v+///+///8o//8o//8M/v8M/v+f/v+f/v9L/v9L/v8v/v8v/v8+/v8+/v84/v84/v8R/v8R/v+0//+0//8WAAAWAACXAACXAAAGAQAGAQA1AAA1AADl///l///+///+//+I/v+I/v8o/v8o/v+l/v+l/v+D/v+D/v/U/f/U/f8O//8O//8s//8s//8z/f8z/f/s/v/s/v8IAAAIAAD4AAD4AAC2AQC2AQB0/P90/P9h//9h//+L/v+L/v+1//+1//8TAAATAAD5/f/5/f/1AAD1AAC/AAC/AACF/v+F/v8z//8z//89AAA9AABXAQBXAQCTAgCTAgCPAACPAABR/v9R/v+T/P+T/P+I/f+I/f+K/f+K/f9q//9q//8p/v8p/v8j/v8j/v+Q//+Q///j/v/j/v/0///0//83/v83/v/L/v/L/v/A/v/A/v8q//8q//+y//+y//+J//+J//+qAACqAACkAACkAADhAADhAABGAQBGAQCm//+m//+r/v+r/v8Z/v8Z/v/2/v/2/v8p/v8p/v8g/v8g/v9Y/v9Y/v9P/f9P/f/m+//m+/8r/P8r/P/J/P/J/P95/P95/P81/f81/f9a/f9a/f9t/f9t/f8I/v8I/v+t/f+t/f/z/f/z/f+O/v+O/v93AAB3AABI//9I///5/P/5/P9+/f9+/f/W///W///KAQDKAQDeAADeAAAOAAAOAACC/v+C/v+r/f+r/f8n/f8n/f+5/P+5/P8K/f8K/f9+/f9+/f/3/P/3/P/u/f/u/f8n//8n///Z///Z///f///f//8p//8p///I///I///+///+//8PAAAPAAB4//94//9j//9j//+D//+D//8jAAAjAAAAAgAAAgCgAQCgAQASAgASAgDcAQDcAQDmAADmAABwAABwAADTAADTAACeAACeAADU///U///yAADyAADzAADzAABO//9O//9U//9U//9w//9w//9sAABsAADgAADgAABkAABkAAAWAQAWAQDFAADFAABeAQBeAQCYAQCYAQCOAQCOAQAPAQAPAQDAAADAAABAAABAAADTAADTAABQAQBQAQBGAABGAABQ//9Q//+r/v+r/v+2/f+2/f8c/v8c/v8WAAAWAADtAADtAAA9AAA9AAC+//++//8KAAAKAAC1AQC1AQA0AQA0AQAVAAAVAAD0///0//9CAABCAAAIAAAIAAAHAAAHAAB7AAB7AAD2AAD2AAAFAQAFAQDqAADqAADt///t//88AAA8AABgAABgAACgAACgAABrAABrAAAtAAAtAABtAABtAABrAQBrAQB+AQB+AQCeAACeAABX/f9X/f9a//9a///cAgDcAgCnAQCnAQCp//+p//+v//+v//+HAACHAABDAQBDAQD6AQD6AQDJAQDJAQClAAClAABkAQBkAQCnAQCnAQB2AgB2AgAFAwAFAwBXAgBXAgAKAgAKAgDbAQDbAQByAAByAABk//9k//9C/v9C/v/q/f/q/f/U/f/U/f9k/f9k/f83/f83/f9M/f9M/f8b/f8b/f/+/v/+/v8m//8m//9g//9g//95//95///qAQDqAQD5AQD5AQBS/P9S/P/M/f/M/f8m+P8m+P/y+f/y+f/W/v/W/v/OAgDOAgBQCgBQCgBnCgBnCgAYBwAYBwC0BAC0BAAyAAAyAADnAwDnAwCr//+r//89+v89+v9A+f9A+f/f9f/f9f+A+/+A+/9RAQBRAQA2CAA2CAC7CAC7CABmBQBmBQDWBwDWBwDwBADwBACtAgCtAgAgAQAgAQAqAQAqAQCuAQCuAQCSAwCSAwDSBgDSBgCEBgCEBgCNBQCNBQAGBAAGBACLAwCLAwBwBQBwBQDBCADBCABpCgBpCgAXBgAXBgBr//9r//+G+v+G+v/N9v/N9v+M9v+M9v9m+/9m+/9/+/9/+/+1+/+1+/+J/f+J/f8g/f8g/f/q+//q+/+2+/+2+//3+v/3+v8g+v8g+v+S+P+S+P/W9//W9/+R+P+R+P+/+P+/+P/5/P/5/P+/AAC/AAC4AQC4AQArBAArBABeBwBeBwBzCgBzCgAFDQAFDQDPDQDPDQDrCwDrCwDUCwDUCwDTCQDTCQAdCAAdCABqBQBqBQABAgABAgDe///e//8H/v8H/v/z/P/z/P+6+v+6+v9g+v9g+v/i+P/i+P9/+f9/+f/p+f/p+f/n/P/n/P+c/f+c/f9r//9r///P///P//9XAABXAAAU/v8U/v9q/P9q/P/t/P/t/P9i/P9i/P/j+//j+/9Q/P9Q/P+C/f+C/f+j/f+j/f+r//+r//84AgA4AgBNAwBNAwBFAwBFAwB6AgB6AgDrAQDrAQD+AgD+AgA+AwA+AwBAAgBAAgDvAwDvAwBoBABoBAAPBAAPBADiBADiBAB5BQB5BQCLBQCLBQAGAwAGAwDnAQDnAQA7AwA7AwDTAwDTAwC6AgC6AgAIAQAIAQDu/v/u/v+//f+//f9s/f9s/f+I/v+I/v9jAABjAACGAQCGAQCmAACmAABUAABUAABL//9L//+5//+5//8AAAAAAACVAACVAAC+AQC+AQCpAACpAAC8//+8//+B//+B//+m//+m//9GAABGAAB2AQB2AQBXAgBXAgDIAwDIAwA1AwA1AwCTAwCTAwCqAwCqAwDgAgDgAgC7AQC7AQD2AAD2AABVAQBVAQBRAABRAAD+///+//8AAAAAAAAL//8L//9c//9c//8CAAACAAAo//8o///W/v/W/v9b/v9b/v/w///w///QAADQAACiAQCiAQAaAgAaAgAbAQAbAQAxAQAxAQB6AAB6AADGAADGAACfAACfAAD7AAD7AACsAQCsAQCyAACyAABtAQBtAQCvAQCvAQA3AgA3AgAnAwAnAwA0AwA0AwDtAgDtAgBMAQBMAQDIAADIAADqAADqAAAAAQAAAQB3AQB3AQBVAQBVAQBuAABuAADU///U//9OAABOAABsAABsAAANAQANAQAJAgAJAgDHAgDHAgA6AwA6AwBiAwBiAwDPAgDPAgBEAgBEAgDmAQDmAQAiAgAiAgCKAQCKAQBNAQBNAQDJAADJAAARAAARAACC//+C//9OAABOAABmAABmAAC5//+5///l/v/l/v8o/v8o/v9b/v9b/v/s/v/s/v/g///g///t///t//8oAAAoAADu///u//9GAABGAABaAABaAADwAADwAAAqAQAqAQChAAChAADLAADLAACzAACzAADm///m//+o//+o//+T/v+T/v90/v90/v9+/v9+/v9K/v9K/v9n/v9n/v9K//9K///1///1///i///i//9hAABhAADX///X//8N//8N//9Y/v9Y/v/y/v/y/v+Q//+Q//8pAAApAAAfAAAfAAD0AAD0AAC4AQC4AQBfAgBfAgDRAgDRAgA1AwA1AwDfAwDfAwDDAwDDAwDmAwDmAwBfBABfBAAfBAAfBACcAwCcAwB9AwB9AwCMAgCMAgCqAgCqAgArAgArAgDEAQDEAQC2AAC2AAAuAAAuAADn///n//+R//+R//8AAAAAAAC///+///9o//9o//8P/v8P/v/X/f/X/f8q//8q//++AAC+AAByAAByAADz/v/z/v/h/f/h/f9z/f9z/f/R/f/R/f82/f82/f8a/f8a/f9s/P9s/P9u/P9u/P/d/P/d/P/9/f/9/f9e/v9e/v9y//9y//84AAA4AAD4///4//+y//+y///R/v/R/v83//83///p///p///l///l//+mAACmAAA8AQA8AQAaAQAaAQAMAgAMAgA0AgA0AgBRAwBRAwDAAwDAAwAiBAAiBADOAwDOAwABAwABAwDNAgDNAgDCAQDCAQBaAQBaAQC2AQC2AQB8AQB8AQB2AQB2AQDSAQDSAQAPAQAPAQDdAADdAACUAACUAABGAABGAADc///c//+u/v+u/v8K//8K///n///n///4AAD4AAAyAgAyAgChAQChAQDjAQDjAQApAgApAgA2AgA2AgB3AQB3AQCwAACwAAAlAAAlAABx//9x///s///s///7///7//81AAA1AAC/AAC/AADFAADFAACZAACZAABKAQBKAQAUAQAUAQABAQABAQAPAQAPAQDPAADPAACaAACaAAAnAQAnAQAFAQAFAQC9AAC9AADp///p//9m//9m///H///H//9lAABlAAC1AAC1AACqAACqAADT///T//9s//9s//9n//9n//8t//8t///r///r//8cAQAcAQCvAQCvAQAAAgAAAgB8AQB8AQBhAQBhAQBFAQBFAQDOAADOAABkAABkAAD7///7//9N//9N///Q/v/Q/v8l//8l///iAADiAABxBABxBAC8AQC8AQD2/P/2/P+4/f+4/f9vAwBvAwDbBADbBAC2AAC2AADP/f/P/f9y/v9y/v+0//+0//+S//+S///P/v/P/v+h/f+h/f8X/v8X/v8jAAAjAABaAQBaAQDsAQDsAQDL///L///u/f/u/f9c/f9c/f/E/f/E/f/p/f/p/f+v/f+v/f+P/v+P/v+5//+5//+ZAACZAACvAACvAABNAABNAACjAACjAADfAADfAACCAACCAAABAAABAAB2//92///y/v/y/v+B//+B///t///t//92AAB2AAA2AQA2AQCvAQCvAQAsAQAsAQDfAADfAADwAADwAAC1AQC1AQDTAQDTAQAuAQAuAQCRAACRAAAJAAAJAABLAABLAAAcAAAcAAD////////K///K///S///S///o///o//9kAABkAABuAABuAACgAACgAAB9AAB9AACjAACjAAChAAChAADIAADIAAASAQASAQD1AAD1AACzAACzAAB0AAB0AACmAACmAACtAACtAACWAACWAAAEAAAEAAAKAAAKAABHAABHAABgAABgAACuAACuAAC2AAC2AABBAABBAAC1//+1//9n//9n//9a//9a//9P//9P//9B//9B//+y//+y//+x//+x//+9//+9//+e//+e//97//97//9y//9y///L///L//+R//+R//+u//+u//+o//+o//+s//+s///b///b//+z//+z//+O//+O//9p//9p//9O//9O///u/v/u/v9q/v9q/v/5/f/5/f+z/f+z/f9r/f9r/f+w/P+w/P9W/P9W/P80/P80/P+h/P+h/P8E/f8E/f+O/f+O/f+w/f+w/f8r/v8r/v/+/v/+/v/1/v/1/v9t/v9t/v+D/v+D/v8k//8k//+j/v+j/v/z/f/z/f+y/f+y/f/n/P/n/P9C/f9C/f/V/f/V/f+m/f+m/f+q/f+q/f8d/v8d/v9F/v9F/v/m/v/m/v8b//8b//+n/v+n/v9y/v9y/v/J/v/J/v+6/v+6/v/T/v/T/v9R//9R///S///S//9OAABOAAClAAClAABJAQBJAQB2AQB2AQBWAQBWAQB+AQB+AQBTAQBTAQDcAADcAABjAABjAAAmAAAmAABy//9y//8l//8l//8I//8I//9f/v9f/v/f/f/f/f85/v85/v9z/v9z/v+L/v+L/v/0/v/0/v+P//+P//+J//+J///z///z//++AAC+AACzAQCzAQB8AgB8AgB5AgB5AgAmAgAmAgDJAQDJAQBiAQBiAQAPAQAPAQB1AAB1AAAbAAAbAADK///K//9O//9O///w/v/w/v96/v96/v/x/f/x/f9b/f9b/f9f/f9f/f/D/f/D/f/z/f/z/f8q/v8q/v8L/v8L/v/w/f/w/f9R/v9R/v9v/v9v/v+N/v+N/v8t/v8t/v+V/v+V/v/0/v/0/v8Z//8Z//9j//9j///H///H//+H//+H///7/v/7/v/p/v/p/v9N//9N//9B//9B///Y/v/Y/v/R/v/R/v/9/v/9/v8w//8w//9d//9d//9k//9k///s/v/s/v8//v8//v8u/v8u/v9n/v9n/v9h/v9h/v+S/v+S/v8k//8k//9v//9v//9O//9O//9t//9t///W///W///0///0///e///e///f///f//9GAABGAABTAABTAAAxAAAxAAATAAATAACn//+n///g/v/g/v/r/f/r/f89/f89/f/a/P/a/P+J/P+J/P+7/P+7/P8v/f8v/f+x/f+x/f8E/v8E/v8E/v8E/v/n/f/n/f/Y/f/Y/f+9/f+9/f92/f92/f8j/f8j/f+k/P+k/P9e/P9e/P8y/P8y/P83/P83/P+H/P+H/P/c/P/c/P8F/f8F/f/l/f/l/f8k//8k//9wAABwAADSAQDSAQD0AgD0AgDqAwDqAwA0BAA0BADWAwDWAwBuAwBuAwDDAgDDAgAzAgAzAgDbAQDbAQCpAQCpAQAZAQAZAQD////////E/v/E/v/Q/f/Q/f/u/P/u/P8i/P8i/P9v+/9v+/9C+/9C+/+2+/+2+/9x/P9x/P8G/f8G/f9D/f9D/f+R/f+R/f9N/v9N/v8s//8s///b///b//9CAABCAACCAACCAACoAACoAACuAACuAACFAACFAABTAABTAADv///v//8x//8x//90/v90/v8P/v8P/v/i/f/i/f9t/f9t/f/l/P/l/P+k/P+k/P+3/P+3/P/s/P/s/P9Y/f9Y/f8P/v8P/v+l/v+l/v/f/v/f/v81//81///0///0//+3AAC3AAARAQARAQAlAQAlAQA4AQA4AQAlAQAlAQC/AAC/AAAhAAAhAACN//+N//8i//8i///Z/v/Z/v+O/v+O/v8g/v8g/v+a/f+a/f8g/f8g/f+8/P+8/P9W/P9W/P/p+//p+/+j+/+j+/+s+/+s+//R+//R+/+9+/+9+/+L+/+L+/+f+/+f+/8i/P8i/P/U/P/U/P+L/f+L/f9W/v9W/v80//80//8AAAAAAAChAAChAAALAQALAQA5AQA5AQBXAQBXAQCpAQCpAQAqAgAqAgCQAgCQAgCnAgCnAgB6AgB6AgAcAgAcAgCLAQCLAQDQAADQAAANAAANAABr//9r///0/v/0/v+b/v+b/v9d/v9d/v9Y/v9Y/v+n/v+n/v8j//8j//+F//+F//+y//+y///I///I///b///b///z///z//8gAAAgAABvAABvAADQAADQAAAkAQAkAQBbAQBbAQB0AQB0AQB9AQB9AQB5AQB5AQBeAQBeAQA1AQA1AQARAQARAQDYAADYAABHAABHAABd//9d//90/v90/v/I/f/I/f9F/f9F/f/W/P/W/P+s/P+s/P/0/P/0/P+G/f+G/f8u/v8u/v/z/v/z/v/y///y//8GAQAGAQDuAgDuAgBOBABOBADJAwDJAwCkAgCkAgCiAQCiAQCY//+Y//+r/f+r/f/R/f/R/f+J/v+J/v9zAABzAAC2AAC2AAB5AAB5AAA5//85//8H/v8H/v8b/f8b/f87/P87/P8V/f8V/f/+/v/+/v8HAQAHAQDLAADLAACdAACdAAAU//8U//+q/v+q/v8a/v8a/v8n/v8n/v8B//8B//8PAQAPAQDnAQDnAQDEAQDEAQBIAQBIAQAdAAAdAAC9/v+9/v97/f97/f8e/P8e/P+U+/+U+/8Z/P8Z/P98/f98/f+a/v+a/v/5///5//8sAQAsAQB+AgB+AgDuAgDuAgCJAgCJAgAXAgAXAgDZAQDZAQDGAQDGAQDdAQDdAQCkAQCkAQD2AAD2AACl//+l//9Z//9Z///r/v/r/v/F/v/F/v9N/v9N/v9Z/v9Z/v+H/v+H/v+q/v+q/v9e//9e//9bAABbAABfAABfAABB//9B///A/v/A/v+A/v+A/v/I/f/I/f+k/f+k/f/r/v/r/v+yAACyAACMAQCMAQBpAQBpAQCoAQCoAQDJAQDJAQAHAgAHAgC2AgC2AgBlAwBlAwAeBAAeBADwAwDwAwC/AwC/AwA6AwA6AwB+AgB+AgDUAQDUAQAgAQAgAQCRAACRAAABAQABAQB3AQB3AQDKAQDKAQCUAQCUAQCxAACxAAAWAAAWAACJAACJAABYAABYAACWAACWAADy///y//9M//9M//8k//8k//81//81//94AAB4AAAFAQAFAQAQAgAQAgA4AwA4AwBpAwBpAwDqAgDqAgBlAgBlAgAmAgAmAgB0AQB0AQDuAADuAAB0AAB0AAAgAAAgAAAdAAAdAADm///m///O///O//8UAAAUAAAjAAAjAAAdAAAdAACKAACKAAAqAAAqAABn//9n///q///q///1///1///hAADhAABlAQBlAQDNAgDNAgABAgABAgA4AQA4AQAwAgAwAgCJAQCJAQCEAACEAABmAABmAABUAQBUAQBEAQBEAQC0AgC0AgBOAgBOAgAeAgAeAgBSAgBSAgBWAQBWAQBPAQBPAQCdAgCdAgCLAgCLAgA1AQA1AQBcAQBcAQAkAQAkAQAtAQAtAQAwAwAwAwBPAQBPAQCE//+E//9N//9N//9J//9J//+t/v+t/v/0/v/0/v9m//9m//9///9///+bAACbAAC5AAC5AAAXAQAXAQCKAQCKAQByAQByAQD/AAD/AAAVAQAVAQDfAADfAABzAQBzAQDmAQDmAQBNAgBNAgAGAgAGAgA0AgA0AgAZAgAZAgCSAQCSAQAgAQAgAQDVAADVAAA1AAA1AAANAAANAADe///e//8iAAAiAABdAABdAADOAADOAADVAADVAAAtAQAtAQDrAADrAAAZAQAZAQDvAADvAACeAACeAAAyAAAyAACAAACAAABnAABnAAAvAAAvAAArAAArAADZ///Z//8RAAARAABnAABnAABWAABWAABhAABhAAB0AAB0AAClAAClAACFAACFAACKAACKAAClAAClAACFAACFAACuAACuAAA1AAA1AAA4AAA4AAAaAAAaAABK//9K///E///E//8DAAADAACF//+F//+M//+M//85AAA5AABIAABIAAD4///4//9VAABVAAB3//93///q///q//9cAABcAACGAACGAAAAAAAAAACc//+c//8KAAAKAAALAAALAAD0///0//+5//+5//9+//9+//+r//+r//83//83//++/v++/v+X/v+X/v89//89//+j/v+j/v8a/v8a/v9U/v9U/v+n/v+n/v+V/v+V/v+d/v+d/v8i//8i///c///c//+k//+k//9y/v9y/v9Q/v9Q/v9tAABtAADs/v/s/v+G/P+G/P+K//+K///UAADUAACz/v+z/v+9/v+9/v9C//9C///L/f/L/f8X/v8X/v+Q//+Q//8R//8R//+F/v+F/v9a//9a//9p//9p//96//96//8O/v8O/v86/v86/v9///9///9T//9T//98//98///H/v/H/v+t//+t///xAADxAABn//9n//+7AAC7AABt/v9t/v/t/v/t/v99AAB9AADzAADzAABvAABvAACD//+D//+AAQCAAQC+//++///b///b//8DAAADAABHAQBHAQA4AAA4AACe//+e//9N//9N///SAADSAABg//9g///sAQDsAQCWAACWAACB//+B//+WAACWAADjAQDjAQDTAADTAABvAABvAADQAADQAACAAACAAABb//9b//80AQA0AQAQAAAQAAAt//8t///j///j//98AAB8AABe//9e///h///h///0/v/0/v9N//9N///t/f/t/f/o/v/o/v86//86//8///8///9b//9b//+Y//+Y///+///+//8VAAAVAAB+AgB+AgBGAgBGAgDRAQDRAQDk/v/k/v8QAQAQAQCzAACzAACv//+v///9///9///3AQD3AQCH/v+H/v/N/P/N/P85AAA5AAD4AwD4AwDn8v/n8v/BCgDBCgBB9v9B9v8i+v8i+v/YAgDYAgDl+//l+/9ZAABZAABnAgBnAgDl/v/l/v9y/f9y/f+MAgCMAgCI//+I//8LAgALAgDQAQDQAQCkAQCkAQDA///A//8jAAAjAADM///M//9NAgBNAgC//v+//v9h/v9h/v9E//9E//+f//+f//8A//8A//+PAQCPAQCcAACcAADd/v/d/v9cAABcAADF/v/F/v8KAQAKAQBd//9d//+kAACkAAB6/v96/v9q//9q//8iAAAiAAA+AgA+AgC8AQC8AQBQAABQAACs//+s//8YAAAYAAAoAAAoAAAv/v8v/v9+AAB+AABI/v9I/v+T//+T//96/v96/v+x//+x///P/v/P/v8s//8s///4/v/4/v/Y/v/Y/v8QAAAQAAD5///5//+dAACdAAApAAApAADfAADfAAATAQATAQAKAQAKAQC5AQC5AQDCAQDCAQC/AAC/AAAdAAAdAAByAQByAQDeAADeAABgAQBgAQA9AAA9AAAmAAAmAAAIAAAIAABu//9u///q/v/q/v+P/v+P/v8K/v8K/v+Y/v+Y/v9+/v9+/v8R//8R//9V//9V//+v/v+v/v/Q/v/Q/v9p/v9p/v+x/v+x/v+k//+k///m///m//8cAQAcAQDuAADuAABlAgBlAgDnAgDnAgC3AQC3AQCpAQCpAQCeAgCeAgBUAgBUAgDHAQDHAQCQAQCQAQDiAQDiAQBBAQBBAQBO//9O//83//83//8S//8S//9Q//9Q///A/v/A/v81/v81/v8Q//8Q//8I//8I//84/f84/f8d/v8d/v+2/v+2/v8J//8J//9uAABuAACOAQCOAQADAQADAQDB///B///A///A//8lAgAlAgDnAgDnAgBIAwBIAwCfAQCfAQB///9///9XAABXAACy/f+y/f9S/f9S/f9V//9V//9Q/v9Q/v+u/f+u/f9Q/v9Q/v+K/v+K/v/z///z//+7//+7///s///s//8EAAAEAAAZAQAZAQCGAQCGAQBqAgBqAgBZAwBZAwCnAgCnAgAfAgAfAgAiBAAiBADbAgDbAgAfAwAfAwBrAQBrAQBKAQBKAQC3AAC3AAC0//+0//9u//9u//9v//9v//98/v98/v98//98//9WAABWAAAA/v8A/v+7//+7//+H//+H//9mAABmAAAAAAAAAAAvAAAvAADJAQDJAQC9AQC9AQD0AQD0AQByAQByAQAFAwAFAwB8AQB8AQBiAgBiAgAdAwAdAwCcAACcAAA0AAA0AAA4//84//+bAACbAABq+f9q+f9zAwBzAwAb/v8b/v+0+f+0+f/2AwD2AwAI/P8I/P+r+/+r+/9OBgBOBgDS+//S+/9/AAB/AAB3AwB3AwAc/f8c/f/9BAD9BACYAQCYAQBt//9t//8oBQAoBQD8AwD8AwD6/P/6/P8nAwAnAwDa/v/a/v+b/f+b/f9f/v9f/v8I/v8I/v9uAgBuAgA5/v85/v9///9////I///I//+s/P+s/P86/f86/f8Q/f8Q/f/IAADIAAAX/f8X/f/MAADMAAA8/v88/v+E//+E//+T/v+T/v+4AgC4AgDZAADZAACL//+L//9oAgBoAgDe/v/e/v83/v83/v+p//+p//+w+/+w+/81/v81/v/p/v/p/v8C/v8C/v97//97//9a//9a//+L//+L//+f//+f///eAADeAACQ/f+Q/f8eAAAeAAAV//8V//+2AQC2AQAPAAAPAAC5AQC5AQAyAAAyAADB/f/B/f8NAgANAgDr///r//8hAgAhAgCA/v+A/v+zAACzAAAWAAAWAADLAADLAAA+AQA+AQBQ/v9Q/v9q/v9q/v8D/v8D/v/j/f/j/f/6AAD6AABvAQBvAQDUAADUAABdAQBdAQCW//+W//9iAQBiAQBEAQBEAQBgAQBgAQBrAABrAAAo//8o//8GAgAGAgCjAACjAAB5AQB5AQDgAADgAABP//9P///rAQDrAQCv//+v//8xAAAxAABf//9f//++AAC+AAA0//80//9g/v9g/v/o/v/o/v/I///I///m///m//9QAABQAAAgAAAgAADW///W//9M//9M//8O//8O//9j//9j//////////+bAACbAACh//+h//+UAACUAACjAQCjAQCX//+X//9iAABiAACT//+T//9H//9H//8X//8X//9S/v9S/v8X//8X///w/v/w/v+S/f+S/f+o/v+o/v8G/v8G/v+u/v+u/v/D///D//+D//+D//+LAACLAABjAABjAACGAACGAACBAACBAACcAACcAACnAACnAACi//+i///D///D//8aAAAaAABn//9n///v/v/v/v+5//+5//9T//9T//9l//9l//9+//9+//9v/v9v/v+n//+n//8rAAArAAABAAABAAAj//8j//+6//+6//8TAAATAAB9AAB9AAAvAQAvAQBbAQBbAQDV///V//9NAABNAACR//+R//8hAAAhAAAhAAAhAABT//9T///r///r//8GAAAGAACV//+V//9P//9P///Q/f/Q/f/W/v/W/v8y//8y//+b/v+b/v/fAADfAACoAACoAABKAABKAADl///l//8HAAAHAAD7/v/7/v+i//+i//+R//+R///0///0//9M//9M//96//96//9l//9l//+t/v+t/v9J/v9J/v87/v87/v/M/v/M/v/B/v/B/v/L/v/L/v+H/v+H/v+m/v+m/v/W/v/W/v8c//8c//9i//9i//8S//8S///Y///Y///u///u//8HAAAHAABDAABDAACk//+k//+U//+U//8wAAAwAADt///t//9L//9L//+5/v+5/v9a//9a//+h/v+h/v8///8///9Q/v9Q/v82//82///F///F//8TAAATAAAPAAAPAABo//9o//83//83//9c//9c//+P//+P//+k//+k///h///h//8aAAAaAABXAABXAABL//9L//95//95//83//83//+r//+r//+Y//+Y//8z//8z//9bAABbAACx//+x//9p//9p///g///g//96//96//9q//9q//+d//+d///7/v/7/v9YAABYAAA9//89//+U//+U//9m//9m//8LAAALAAB2//92///B///B//91AAB1AABmAQBmAQCgAACgAAAeAQAeAQBVAQBVAQDLAADLAAC1AAC1AABhAABhAACzAACzAAAnAAAnAABLAQBLAQDz///z//8xAAAxAACV//+V///P///P//97AAB7AAAWAQAWAQDWAADWAAARAAARAACDAACDAABQAABQAACZAACZAADgAADgAACrAACrAAAjAQAjAQBWAQBWAQCiAACiAAAnAQAnAQAnAAAnAACPAACPAACrAACrAADZAADZAACqAQCqAQA0AQA0AQCaAACaAADo///o//+4//+4//8M//8M///K///K//+E//+E///T///T//90AAB0AAApAQApAQDXAADXAACpAACpAADYAADYAAD4AAD4AAB6AQB6AQDvAQDvAQDJAQDJAQBHAQBHAQBPAQBPAQAWAQAWAQBmAABmAACw//+w//9p//9p///jAADjAABsAQBsAQCFAQCFAQA9AQA9AQBIAABIAABZAABZAADaAADaAADeAADeAAB9AAB9AAAWAAAWAADs///s//8vAAAvAAB5AAB5AACJAACJAACVAACVAABHAABHAADvAADvAAAFAQAFAQDhAADhAAAuAAAuAACwAACwAADLAADLAABvAQBvAQA2AQA2AQCPAQCPAQDkAADkAAAZAAAZAADt///t//9YAABYAADrAADrAAA8AQA8AQCyAACyAADqAADqAADnAADnAAB/AAB/AAD/AAD/AACJAACJAABxAABxAAAzAAAzAAAcAAAcAAANAAANAABWAABWAAAoAAAoAAAZAAAZAADPAADPAABgAABgAADXAADXAAATAQATAQBMAQBMAQBYAQBYAQACAQACAQAmAQAmAQBPAQBPAQD9AAD9AACOAQCOAQA3AQA3AQBKAQBKAQAzAQAzAQDhAADhAADnAADnAABWAQBWAQAOAQAOAQD1AAD1AAAqAQAqAQDPAADPAAASAQASAQAXAQAXAQBWAQBWAQDFAADFAABOAABOAADfAADfAAD7AAD7AAD3///3///6///6//8eAAAeAABdAABdAACD//+D//9X/f9X/f8q//8q//+CAACCAAB6AQB6AQDvAADvAAAA//8A//+I//+I//+t//+t//9rAABrAADo///o//8tAAAtAABDAABDAAB9AAB9AABGAQBGAQCMAACMAACmAACmAAAEAQAEAQB3AQB3AQAnAQAnAQA+AAA+AABUAABUAABPAABPAACL//+L//9x//9x//9M//9M//8H//8H///w/v/w/v+D//+D//8QAAAQAABV//9V//+y//+y//+m//+m//8IAAAIAAAiAAAiAACBAACBAABuAABuAACX//+X//9AAABAAABiAABiAADRAADRAADoAADoAABcAQBcAQBfAQBfAQAIAQAIAQBwAQBwAQCxAQCxAQDAAQDAAQCJAQCJAQCpAQCpAQByAQByAQA1AQA1AQBJAABJAABz//9z//8k//8k//8a//8a///S///S///u///u///r///r//8VAAAVAADC///C//+p//+p//97//97//8N//8N//8v//8v//9h//9h//+x//+x//9U//9U//+v/v+v/v+2/v+2/v9R//9R//+Q//+Q//9V//9V//+n//+n//+d//+d///r///r//92AAB2AACEAACEAAD9AAD9AAA+AQA+AQBgAQBgAQDuAADuAAB+AAB+AADxAADxAAABAQABAQDFAADFAAByAAByAADHAADHAABLAQBLAQAsAQAsAQAVAAAVAACN//+N//89//89//9G//9G//+a//+a///v/v/v/v9L//9L//9r//9r//9X//9X//83//83//8M//8M//9S//9S///9/v/9/v8s//8s//+e//+e//+1//+1//+D//+D//9T//9T//9S//9S//92//92//97//97//+7//+7//+X//+X//8o//8o//8Y//8Y///N/v/N/v8g//8g//9U//9U//++/v++/v/l/v/l/v/5/v/5/v+z/v+z/v91//91//+r//+r//9C//9C//85/v85/v8L/v8L/v/y///y//9sAABsAABGAABGAADV///V//9p//9p//83AAA3AAAOAAAOAAArAAArAADbAADbAACHAACHAAAeAAAeAACuAACuAAAsAAAsAADy///y//9MAABMAADd///d//9gAABgAABtAABtAABOAABOAAD5///5//+y//+y///f///f//8RAAARAAAuAAAuAACx//+x//8y//8y//+z/v+z/v/m/v/m/v9X//9X//9c//9c//8+//8+//9C//9C//+U//+U///X///X///Z///Z//+r//+r///F///F//8YAAAYAABIAABIAAA1AAA1AABIAABIAAB8AAB8AADaAADaAADjAADjAACvAACvAACuAACuAABkAABkAAAhAAAhAAA2AAA2AADM///M//9f//9f//9h//9h//9Y//9Y///B///B//91AAB1AACn//+n///e///e//8rAAArAAC2//+2//8DAAADAADE///E///2///2//8OAAAOAAAgAAAgAABiAABiAABxAABxAAAyAAAyAAD1///1//9CAABCAADIAADIAACbAACbAADqAADqAACtAACtAADw///w///A///A//+W//+W//+P//+P//8a//8a//9+//9+//9G//9G//+y/v+y/v94/v94/v9J/v9J/v+c/v+c/v+p/v+p/v/F/v/F/v8a//8a///s/v/s/v+V/v+V/v/B/v/B/v/P/v/P/v/n/v/n/v9z//9z//9R//9R//8v//8v//9P//9P//8k//8k//8i//8i//9Z//9Z//+P//+P//++//++//9///9///8s//8s//81//81///N/v/N/v/E/v/E/v/q/v/q/v/Y/v/Y/v+A/v+A/v/X/f/X/f+D/v+D/v+C/v+C/v/M/v/M/v9C//9C///c/v/c/v9v/v9v/v+q/v+q/v+y/v+y/v+i/v+i/v9p//9p//+C//+C//+Q//+Q//+c//+c//++//++//8s//8s//9l//9l///G///G///s///s//82AAA2AAAqAAAqAABqAABqAADWAADWAAA2AQA2AQC3AAC3AABJAABJAAAoAAAoAABXAABXAAChAAChAAAKAAAKAACj//+j//+M//+M//+///+///8vAAAvAAASAAASAADd///d//+x//+x//9i//9i//9F//9F//82//82//9r//9r//////////9fAABfAADXAADXAAD9AAD9AAC/AAC/AACQAACQAAA1AAA1AAB/AAB/AABMAABMAACUAACUAAC6AAC6AABFAABFAAAWAAAWAADC///C///b///b//+7//+7//+///+///+J//+J//9w//9w//9Y//9Y//83//83//93//93//9q//9q//+z/v+z/v/z/v/z/v+n/v+n/v9z/v9z/v/S/v/S/v+C/v+C/v+b/v+b/v96/v96/v91//91///q/v/q/v+b/v+b/v/C///C//9l//9l//+E//+E//8i//8i///p/v/p/v83//83///O/v/O/v8s//8s//8PAAAPAABNAABNAAALAAALAAA1AAA1AAAFAAAFAAD4///4//9kAABkAABeAABeAAA6AAA6AAA5AAA5AACcAACcAABNAABNAADb///b//9o//9o///K///K///9///9//+c//+c//8JAAAJAABcAABcAABOAABOAACtAACtAADsAADsAAB9AAB9AABgAABgAACNAACNAAC5AAC5AABAAABAAACmAACmAAB+AAB+AAASAAASAAARAAARAADa///a//9DAABDAABrAABrAABDAABDAAByAAByAAAvAAAvAADz///z//8CAAACAAAVAAAVAAAEAAAEAABVAABVAACnAACnAACgAACgAAC3AAC3AABwAABwAAD+///+///S///S//8zAAAzAABtAABtAAAkAAAkAACz//+z//8WAAAWAAARAAARAAB2AAB2AADZAADZAACyAACyAABBAABBAABOAABOAAA4AQA4AQC4AAC4AABEAABEAAAnAAAnAABaAABaAACuAACuAABcAABcAABrAABrAACcAACcAACWAACWAACQAACQAABUAABUAABVAABVAADj///j//8OAAAOAABeAABeAAAWAAAWAABeAABeAACjAACjAACAAACAAACZAACZAADXAADXAADtAADtAACQAACQAABzAABzAADNAADNAACuAACuAADsAADsAAC9AAC9AACxAACxAAB2AAB2AACcAACcAADpAADpAAC+AAC+AAAIAAAIAADA///A//+ZAACZAACI//+I//8P//8P//+///+///9l//9l//+J//+J//+X//+X///h///h//80AAA0AAAkAAAkAADIAADIAACrAACrAACoAACoAADtAADtAAAgAQAgAQBBAQBBAQBCAQBCAQB7AQB7AQBUAQBUAQDxAADxAAAKAQAKAQDwAADwAAC6AAC6AACRAACRAABQAABQAAB5AAB5AAA5AAA5AABqAABqAAB2AAB2AAAPAAAPAABCAABCAACNAACNAADGAADGAAC5AAC5AAAcAAAcAAA5AAA5AADj///j///n///n//8xAAAxAAAXAAAXAACBAACBAAAlAAAlAAAqAAAqAAAvAAAvAAB9//99//81AAA1AACDAQCDAQAVAQAVAQDs///s///G///G///PAADPAAB+AQB+AQDHAQDHAQASAQASAQAlAQAlAQBJAQBJAQAVAQAVAQBnAABnAAB7//97//9YAABYAACE//+E//8S//8S//9tAABtAABgAABgAACTAACTAAAKAAAKAABV//9V//+n//+n//+y//+y//82AAA2AAC8AAC8AAASAgASAgAJAgAJAgB4AQB4AQBxAQBxAQDeAADeAABMAQBMAQDWAADWAABZAABZAAD3AAD3AAC/AAC/AACVAACVAABtAABtAAAAAAAAAADP///P//8FAAAFAAA8AAA8AABHAABHAACMAACMAACnAACnAACkAACkAADaAADaAAB5AAB5AACyAACyAAC0AAC0AAChAAChAADTAADTAAB9AAB9AABpAABpAACNAACNAACfAACfAACbAACbAACUAACUAACBAACBAAANAAANAADd///d//9FAABFAABgAABgAADz///z//8mAAAmAABuAABuAAB4AAB4AAC5//+5//82/v82/v+r/f+r/f/K/P/K/P9//f9//f8rAAArAADaAADaAABQAABQAACBAACBAADCAADCAAD6AAD6AACPAACPAABO//9O//9C/v9C/v8S/v8S/v+J//+J//8xAAAxAADM///M//9TAABTAADPAADPAACNAACNAAAFAAAFAAA8AAA8AADq///q//91/v91/v+t/v+t/v+L//+L//++//++///v///v//+4//+4///Q///Q//8XAAAXAACy//+y///m///m//9EAABEAACJAACJAAAOAQAOAQDWAADWAADYAADYAADUAADUAADNAADNAAACAQACAQClAAClAABdAABdAACPAACPAADp///p//+3//+3//+kAACkAAA8AAA8AABu//9u//+U//+U///q///q///w///w//9Y//9Y///p/v/p/v+O/v+O/v8s/v8s/v8L/v8L/v9E/v9E/v9G/v9G/v+F/v+F/v8a//8a//9D//9D//9b//9b//9T//9T//9k//9k//+G//+G//+p//+p//99//99//+P//+P//8w//8w//8i//8i//+n//+n//+M//+M//86//86//9e//9e//9n//9n//9b//9b//8e//8e//8L//8L//9o//9o//+M//+M//9e//9e//8D//8D//8S//8S//9Q//9Q//8Q//8Q//8w//8w//+G//+G//+F//+F//94//94//9T//9T//9t//9t//+J//+J//+J//+J///X///X///L///L//9s//9s//9n//9n//9r//9r//+k//+k//8KAAAKAAAhAAAhAAA8AAA8AADDAADDAAD9AAD9AACjAACjAABVAABVAAAvAAAvAAAbAAAbAADj///j//95//95//9Z//9Z//8k//8k//8o//8o//8Q//8Q//8///8////R///R///L///L///M///M//8CAAACAABVAABVAAA5AAA5AACP//+P///q///q//8tAAAtAADQ///Q///6///6//9XAABXAAD7///7//+x//+x//8hAAAhAADs///s///d///d//8VAAAVAADf///f//+F//+F//9h//9h///F///F//9+//9+//9Z//9Z//+d//+d//9R//9R//9z//9z///9///9//8xAAAxAACf//+f//85//85//91//91//9s//9s//99//99//+c//+c//9p//9p//9h//9h///c///c//8BAAABAADp///p//82AAA2AAANAAANAADa///a//+K//+K//99//99///G///G///e///e//9hAABhAAAWAAAWAAA6//86///f/v/f/v+F/v+F/v/M/v/M/v+Q//+Q//+CAACCAADpAADpAACFAACFAAAeAAAeAADv/v/v/v+q/f+q/f8P/f8P/f/U/P/U/P/W/f/W/f93//93//+MAACMAAAzAQAzAQB5AQB5AQD0AAD0AABdAABdAABYAABYAAALAAALAACB//+B//+E//+E//9r//9r//9E//9E//9///9///+w//+w///A///A//8pAAApAABRAABRAABiAABiAABoAABoAAAgAAAgAAC6//+6///e///e//8qAAAqAABqAABqAAC9AAC9AAC6AAC6AAB7AAB7AAB8AAB8AABYAABYAABQAABQAABLAABLAAAAAAAAAAAWAAAWAAA6AAA6AABhAABhAAAbAAAbAADu///u//8RAAARAAD7///7//8KAAAKAAAQAAAQAAD0///0//8CAAACAADS///S//+///+///+1//+1//+6//+6///g///g///k///k///6///6//8xAAAxAACSAACSAADyAADyAADXAADXAACjAACjAACVAACVAACOAACOAAB1AAB1AAApAAApAADW///W//+E//+E//9f//9f//+d//+d///R///R//8DAAADAAACAAACAACT//+T//+Y//+Y///Q///Q///+///+//8YAAAYAAAyAAAyAABwAABwAAB6AAB6AACMAACMAAC1AAC1AACEAACEAAA/AAA/AAD+///+///Y///Y///d///d//8GAAAGAAAQAAAQAADw///w///D///D//+J//+J//+Q//+Q//9r//9r//9U//9U//93//93//+N//+N///N///N//8LAAALAAAzAAAzAABaAABaAABqAABqAACRAACRAACAAACAAABtAABtAACCAACCAABuAABuAAB1AAB1AACYAACYAACeAACeAABEAABEAADb///b//9jAABjAADHAADHAAA9AAA9AABZAABZAADOAADOAACRAACRAABiAABiAAB9AAB9AAD6///6///o///o///w///w//82AAA2AAD0///0///p///p///5///5///t///t///1///1//8tAAAtAAAVAAAVAAC1//+1///q///q//88AAA8AADg///g//8KAAAKAABHAABHAAA/AAA/AABeAABeAAAtAAAtAAAuAAAuAAAhAAAhAAALAAALAACg//+g//9d//9d//9i//9i///J///J//9JAABJAABEAABEAABkAABkAACKAACKAABKAABKAAAwAAAwAABLAABLAABPAABPAAASAAASAADg///g//8GAAAGAAAOAAAOAAAZAAAZAAAkAAAkAABHAABHAABZAABZAADl///l//8JAAAJAADr///r///T///T//8eAAAeAABBAABBAAA5AAA5AACwAACwAAC+AAC+AABzAABzAABk//9k//+1//+1//+dAACdAACiAACiAABNAABNAAAeAAAeAABJAABJAABXAABXAAA2AAA2AAAsAAAsAAAqAAAqAAAUAAAUAABCAABCAABTAABTAAA+AAA+AADs///s//9H//9H//+H//+H///K///K///Y///Y//8dAAAdAAA5AAA5AAD4///4///b///b///R///R///x///x///h///h//+y//+y///K///K///q///q//8rAAArAAAmAAAmAAAfAAAfAAAFAAAFAADT///T///j///j//8kAAAkAADr///r//8pAAApAADBAADBAAAtAAAtAADA///A///i///i//8kAAAkAADC///C///b///b//8GAAAGAABDAABDAADh///h///V///V///n///n//89AAA9AABgAABgAADP///P///C///C//+n//+n//80//80//8h//8h//+M//+M//8x//8x//+u//+u//8dAAAdAAAwAAAwAAAuAAAuAAAgAAAgAADL///L///P///P///0///0///a///a///9///9//8gAAAgAAADAAADAAAAAAAAAAA0AAA0AACMAACMAAB+AAB+AAAoAAAoAAD///////8dAAAdAAAqAAAqAAAiAAAiAABBAABBAABQAABQAAAnAAAnAADs///s//+///+///+l//+l//+l//+l///O///O///C///C///w///w///5///5//8YAAAYAADz///z///a///a///v///v///6///6//8IAAAIAADV///V///S///S///M///M///8///8//8dAAAdAAAaAAAaAAAdAAAdAAAxAAAxAAAeAAAeAAAdAAAdAAAgAAAgAAC4//+4//+2//+2///X///X///z///z///O///O//+c//+c//+V//+V///A///A//+e//+e//+q//+q///C///C///k///k///a///a///u///u///6///6///o///o///f///f///r///r///s///s///y///y//+///+///91//91///B///B//9t//9t//9t//9t//8BAAABAAAMAAAMAADF///F///IAADIAACbAACbAADX///X//9v//9v//9S//9S///F/v/F/v+G//+G//++//++//8pAAApAACrAACrAAB1AAB1AABWAABWAACWAACWAAAWAAAWAAAYAAAYAABxAABxAACx//+x//8dAAAdAABHAABHAABX//9X//9Y//9Y///+///+///G///G///z///z///zAADzAABkAABkAAA1AAA1AABsAABsAACq//+q//9n//9n///F///F//8RAAARAAARAAARAAALAAALAAAbAAAbAADV///V//8aAAAaAAAkAAAkAAC8//+8///D///D///+///+//8fAAAfAAAkAAAkAABBAABBAAA8AAA8AAASAAASAAAhAAAhAAD7///7///c///c///r///r//8KAAAKAADt///t//8IAAAIAADo///o///n///n///s///s///0///0///w///w///x///x//8DAAADAAAtAAAtAABuAABuAABoAABoAAA4AAA4AABBAABBAAALAAALAAAhAAAhAAAPAAAPAADJ///J///I///I///l///l///f///f///T///T//8yAAAyAAAzAAAzAAAqAAAqAAA0AAA0AAAOAAAOAAAZAAAZAABEAABEAAAfAAAfAAA3AAA3AAAIAAAIAAABAAABAADi///i///D///D//+j//+j//8CAAACAABCAABCAAA7AAA7AAAbAAAbAAD2///2///s///s//8AAAAAAAAGAAAGAAABAAABAAAIAAAIAAAQAAAQAADs///s//8mAAAmAAAAAAAAAADL///L///I///I//+t//+t//+P//+P///Y///Y///q///q///a///a///E///E///W///W///a///a///w///w///W///W///0///0//8OAAAOAADc///c///T///T///f///f//8sAAAsAAAfAAAfAABCAABCAAAdAAAdAADx///x///Y///Y//8KAAAKAAAaAAAaAAAMAAAMAAANAAANAAAeAAAeAAAGAAAGAAAYAAAYAAAZAAAZAAAcAAAcAAATAAATAAAGAAAGAADW///W///W///W//+7//+7//+b//+b//+X//+X//+p//+p//+j//+j//+5//+5///R///R///c///c///X///X///S///S///c///c///r///r//8XAAAXAAA2AAA2AABdAABdAAB3AAB3AABxAABxAABHAABHAACAAACAAACEAACEAAAoAAAoAAAeAAAeAAAkAAAkAABLAABLAAAtAAAtAAADAAADAAAWAAAWAABhAABhAADo///o//8qAAAqAAASAAASAAATAAATAAAQAAAQAACa//+a///h///h//8rAAArAADx///x///7///7//8MAAAMAAAKAAAKAAA3AAA3AAAQAAAQAAAQAAAQAAAHAAAHAABnAABnAADh///h//9cAABcAABxAABxAACYAACYAACu//+u//8RAAARAAArAAArAACuAACuAAB7//97///z///z//8vAQAvAQBn//9n///q///q//9UAQBUAQCf//+f///A///A//+9AAC9AAAz//8z//+R//+R///9///9//8k//8k//9EAABEAACJAACJAABQAABQAAAbAAAbAACE/v+E/v85AAA5AAClAAClAAB9//99//8UAAAUAADx///x///Q///Q//9rAABrAACA//+A//8qAAAqAACYAACYAAA///8////Y///Y//8hAAAhAADF///F//8XAAAXAAAbAAAbAABhAABhAADy///y//+6//+6//8TAAATAAA5AAA5AAAWAAAWAAAiAAAiAAAlAAAlAABFAABFAAAeAAAeAAA4AAA4AAD5///5//9AAABAAACKAACKAAA+AAA+AAD9///9//83AAA3AABeAABeAAAtAAAtAABFAABFAABJAABJAAA5AAA5AABwAABwAAAqAAAqAAAvAAAvAAAvAAAvAAAKAAAKAAD6///6///T///T//8CAAACAAAOAAAOAADW///W///8///8///y///y//8IAAAIAAAHAAAHAAAkAAAkAADd///d///W///W///y///y//8tAAAtAAAVAAAVAAA/AAA/AABQAABQAAA6AAA6AAD2///2///3///3//8FAAAFAAAPAAAPAAAKAAAKAAD///////8XAAAXAAAeAAAeAABTAABTAAAnAAAnAAAJAAAJAAATAAATAAAAAAAAAAAZAAAZAAAQAAAQAAATAAATAAAhAAAhAAAHAAAHAABZAABZAAA+AAA+AADh///h//8TAAATAADn///n///t///t//8IAAAIAADX///X///1///1//8YAAAYAABKAABKAAAUAAAUAAAaAAAaAAAnAAAnAAA6AAA6AAA/AAA/AAA+AAA+AAAwAAAwAAAyAAAyAAAhAAAhAAAyAAAyAAAdAAAdAABUAABUAABJAABJAAA3AAA3AAAmAAAmAAA/AAA/AAAbAAAbAAAcAAAcAAAaAAAaAAArAAArAAAWAAAWAAAdAAAdAAAqAAAqAAApAAApAAAPAAAPAAAEAAAEAAAHAAAHAAAdAAAdAAALAAALAAAZAAAZAAAmAAAmAAASAAASAAAXAAAXAAAeAAAeAAAJAAAJAADu///u///b///b///z///z//8GAAAGAADf///f///w///w///a///a//+6//+6//+v//+v///N///N///g///g///G///G//+d//+d//+0//+0///W///W///j///j///J///J///v///v///o///o///N///N///1///1///a///a///o///o///i///i///T///T///5///5///o///o///K///K///a///a///R///R///N///N///Q///Q///O///O///L///L///4///4//8CAAACAAAQAAAQAAAdAAAdAAAGAAAGAAD8///8//8AAAAAAADX///X///N///N///b///b///X///X///E///E///m///m///p///p//+z//+z///i///i//8AAAAAAAAbAAAbAAAvAAAvAACd//+d///v///v///X///X///4///4//8CAAACAADI///I//8bAAAbAAAVAAAVAADX///X///q///q//8GAAAGAAAlAAAlAABHAABHAAAPAAAPAADR///R//+h//+h//+8//+8//+7//+7///w///w///N///N///M///M///0///0///h///h///////////O///O///e///e///e///e///p///p///3///3///z///z//8SAAASAAARAAARAAAYAAAYAAAjAAAjAAD2///2///b///b///M///M///j///j///M///M///M///M///T///T//+1//+1//+O//+O//+W//+W//+n//+n//+e//+e//+y//+y//+2//+2//+5//+5///K///K//+///+////H///H///Y///Y//8NAAANAADs///s//+s//+s//+6//+6///8///8//8yAAAyAAAYAAAYAAABAAABAADX///X//+///+///+x//+x//+l//+l//+u//+u//+7//+7//+s//+s///H///H///o///o///7///7///9///9///p///p///6///6//8AAAAAAAABAAABAADx///x///v///v///y///y//8EAAAEAAA3AAA3AAAtAAAtAAA5AAA5AAA0AAA0AAAZAAAZAAANAAANAAAWAAAWAAARAAARAAD7///7//8aAAAaAAAaAAAaAADs///s///u///u///w///w//8MAAAMAAAYAAAYAAALAAALAAAeAAAeAAAWAAAWAAAlAAAlAAAsAAAsAAArAAArAAAeAAAeAAAUAAAUAAAHAAAHAAAWAAAWAAAkAAAkAAAHAAAHAADt///t///c///c///A///A///M///M//8CAAACAAAaAAAaAAAGAAAGAAD5///5//8BAAABAAAvAAAvAAAhAAAhAAACAAACAAD///////8HAAAHAAABAAABAAABAAABAAANAAANAAAbAAAbAAAcAAAcAAAaAAAaAAD+///+//8HAAAHAAALAAALAAASAAASAAAMAAAMAAAFAAAFAAAMAAAMAAAoAAAoAAApAAApAAARAAARAAC2//+2///u///u//9QAABQAAAuAAAuAAD2///2///3///3//8OAAAOAAAjAAAjAAA3AAA3AAAxAAAxAAASAAASAAAnAAAnAAAuAAAuAABEAABEAABTAABTAABBAABBAAA4AAA4AAA0AAA0AAAMAAAMAADw///w///Q///Q///H///H///E///E//+4//+4//+z//+z//+1//+1//+v//+v///k///k///o///o///v///v///x///x//81AAA1AAA2AAA2AACa//+a///D///D//8m//8m//9Y//9Y///g///g//9OAABOAAAeAQAeAQAhAQAhAQDFAADFAACDAACDAAAFAAAFAABtAABtAAD3///3//9g//9g//9F//9F///n/v/n/v+D//+D//8lAAAlAADkAADkAADyAADyAACVAACVAADaAADaAACJAACJAABKAABKAAAgAAAgAAAgAAAgAAAvAAAvAABjAABjAAC9AAC9AAC1AAC1AACaAACaAABvAABvAABiAABiAACXAACXAADzAADzAAAgAQAgAQCpAACpAADw///w//9o//9o//8B//8B///5/v/5/v+A//+A//+D//+D//+J//+J//+8//+8//+x//+x//+P//+P//+J//+J//90//90//9e//9e//8x//8x//8e//8e//8y//8y//83//83//+s//+s//8VAAAVAAAwAAAwAAB0AAB0AADMAADMAAAiAQAiAQBpAQBpAQB/AQB/AQBLAQBLAQBIAQBIAQAQAQAQAQDhAADhAACWAACWAAA4AAA4AAD9///9///J///J//+s//+s//9u//9u//9k//9k//87//87//9M//9M//9X//9X//+q//+q//+9//+9///w///w///7///7//8JAAAJAADK///K//+d//+d//+r//+r//+c//+c//+O//+O//+a//+a//+7//+7//+///+////3///3//8+AAA+AABbAABbAABaAABaAABEAABEAAA1AAA1AABTAABTAABZAABZAAA/AAA/AABtAABtAAB6AAB6AABxAABxAACHAACHAACYAACYAACZAACZAABUAABUAAA0AAA0AABaAABaAABqAABqAABMAABMAAAcAAAcAADi///i///C///C//+4//+4///X///X//8LAAALAAArAAArAAASAAASAAAJAAAJAADs///s///4///4//8AAAAAAAAQAAAQAAAwAAAwAAASAAASAAD4///4///y///y///3///3//8HAAAHAAAoAAAoAABBAABBAABpAABpAABZAABZAABjAABjAABmAABmAABQAABQAAAwAAAwAAAbAAAbAAAlAAAlAAAJAAAJAAAAAAAAAAAAAAAAAADm///m///u///u//8AAAAAAADo///o///f///f///T///T///+///+//8XAAAXAAAtAAAtAAA7AAA7AAAeAAAeAAAhAAAhAAAOAAAOAAAVAAAVAAARAAARAAAbAAAbAAAuAAAuAAATAAATAAAoAAAoAAAvAAAvAAA9AAA9AABYAABYAABZAABZAABRAABRAAAkAAAkAAAWAAAWAAAZAAAZAAAcAAAcAAApAAApAAAlAAAlAAAMAAAMAAD8///8//8JAAAJAAALAAALAAAdAAAdAAA4AAA4AABNAABNAABaAABaAABeAABeAABOAABOAAA/AAA/AAA0AAA0AAA7AAA7AAArAAArAAAkAAAkAAAWAAAWAAACAAACAADz///z//8JAAAJAAALAAALAAD4///4///h///h///N///N///T///T///i///i///8///8///+///+//8EAAAEAAD+///+//8IAAAIAAAJAAAJAAAaAAAaAAAgAAAgAAARAAARAAAWAAAWAAAUAAAUAAD+///+///2///2///Z///Z///V///V///W///W///Q///Q///U///U///s///s///////////9///9//8LAAALAAD8///8///m///m///S///S///j///j///0///0//8EAAAEAAADAAADAAAbAAAbAAAvAAAvAABCAABCAABOAABOAABZAABZAABsAABsAABpAABpAABsAABsAAB5AAB5AABzAABzAABkAABkAABgAABgAABGAABGAABKAABKAAA9AAA9AAAxAAAxAAATAAATAAAFAAAFAAD9///9///0///0//8AAAAAAAD5///5///w///w///K///K///E///E///o///o//8UAAAUAAAMAAAMAADj///j///F///F//+6//+6///D///D//+z//+z//+v//+v//+d//+d//+d//+d//+p//+p///I///I///T///T///x///x//8GAAAGAAD////////3///3///f///f///r///r///+///+///9///9//8SAAASAAAiAAAiAAAeAAAeAAA5AAA5AAA9AAA9AABcAABcAABoAABoAABzAABzAABqAABqAABUAABUAABOAABOAAAxAAAxAAAlAAAlAAAwAAAwAAApAAApAAAoAAAoAAAzAAAzAAAdAAAdAAAYAAAYAAAQAAAQAAAHAAAHAAD8///8///b///b///l///l///9///9//8bAAAbAAA9AAA9AAAtAAAtAAA0AAA0AAA8AAA8AAA9AAA9AAApAAApAAATAAATAAAEAAAEAADx///x///+///+//////////8GAAAGAAAVAAAVAAAVAAAVAAARAAARAAAkAAAkAAAeAAAeAAAcAAAcAAAdAAAdAAAXAAAXAAAQAAAQAAAgAAAgAAAcAAAcAAAVAAAVAAD+///+///v///v///5///5//8LAAALAAAUAAAUAAASAAASAAD7///7///w///w///v///v///p///p///+///+//8fAAAfAAAvAAAvAAA3AAA3AAAqAAAqAAAmAAAmAAAjAAAjAAAWAAAWAAALAAALAAD////////t///t///f///f///o///o//8YAAAYAAB7AAB7AAAwAAAwAACs//+s///B///B//9fAABfAACHAACHAAAUAAAUAADD///D///V///V///4///4///0///0///f///f//++//++///L///L//8EAAAEAAAlAAAlAAA2AAA2AAD6///6///G///G//+3//+3///C///C///H///H///A///A///Y///Y///4///4//8RAAARAAATAAATAAAIAAAIAAASAAASAAAZAAAZAAAOAAAOAAAAAAAAAADx///x///j///j///y///y///+///+//8MAAAMAAAiAAAiAAAuAAAuAAAhAAAhAAAYAAAYAAAaAAAaAAAvAAAvAAAzAAAzAAAhAAAhAAAPAAAPAAABAAABAAAIAAAIAAADAAADAAAAAAAAAAD6///6///7///7///+///+//8LAAALAAAMAAAMAAARAAARAAAOAAAOAAASAAASAAASAAASAAAVAAAVAAAeAAAeAAAaAAAaAAATAAATAAANAAANAAASAAASAAATAAATAAAQAAAQAAAAAAAAAAABAAABAAAIAAAIAAAKAAAKAAATAAATAAATAAATAAAHAAAHAAD4///4///w///w///u///u///t///t///s///s///4///4///3///3///5///5///1///1///y///y///x///x///6///6///0///0///4///4///2///2///3///3///8///8///4///4///0///0///w///w///t///t///i///i///U///U///I///I///B///B//+4//+4//+k//+k//+a//+a//+W//+W//+i//+i//+u//+u//+8//+8///A///A///N///N///k///k///j///j///V///V///X///X///o///o///a///a///H///H///A///A//+q//+q//+0//+0///E///E//+///+////A///A///M///M///Q///Q///i///i///n///n///b///b///V///V///e///e///d///d///g///g///t///t///7///7//8JAAAJAAASAAASAAAjAAAjAAApAAApAAAlAAAlAAAqAAAqAAAlAAAlAAAYAAAYAAALAAALAAAEAAAEAADx///x///o///o///l///l///S///S///F///F///P///P///V///V///Y///Y///j///j///0///0///z///z//////////8VAAAVAAAvAAAvAABFAABFAABFAABFAAA8AAA8AAAxAAAxAAAnAAAnAAAdAAAdAAANAAANAAADAAADAAD6///6///s///s///j///j///W///W///H///H//+3//+3//+3//+3///C///C///H///H///N///N///K///K///G///G///R///R///U///U///X///X///O///O///Y///Y///j///j///n///n///v///v///6///6///z///z///k///k///i///i///t///t///r///r///g///g///g///g///k///k///q///q///u///u///v///v///i///i///P///P///O///O///T///T///T///T///Y///Y///o///o///w///w///s///s///w///w///8///8///+///+///8///8///8///8//8HAAAHAAAJAAAJAAAFAAAFAAACAAACAAD3///3///h///h///G///G//+0//+0//+p//+p//+f//+f//+l//+l//+y//+y///A///A///J///J///J///J///G///G///E///E///B///B//+6//+6//+x//+x//+i//+i//+b//+b//+W//+W//+X//+X//+f//+f//+p//+p//+t//+t///G///G///o///o//8MAAAMAAAyAAAyAABSAABSAABsAABsAAB0AAB0AABqAABqAABfAABfAABMAABMAAA8AAA8AAA0AAA0AAAuAAAuAAAeAAAeAAAAAAAAAADe///e///D///D//+r//+r//+V//+V//+B//+B//98//98//+J//+J//+e//+e//+u//+u//+0//+0//+9//+9///R///R///p///p///8///8//8HAAAHAAAOAAAOAAASAAASAAATAAATAAAOAAAOAAAJAAAJAAD+///+///p///p///V///V///K///K///F///F//+4//+4//+q//+q//+j//+j//+l//+l//+r//+r//+3//+3///K///K///a///a///g///g///q///q//////////8UAAAUAAAeAAAeAAAfAAAfAAAiAAAiAAAgAAAgAAAUAAAUAAADAAADAADz///z///o///o///g///g///X///X///M///M//++//++//+w//+w//+l//+l//+a//+a//+O//+O//+I//+I//+I//+I//+M//+M//+K//+K//+F//+F//+H//+H//+V//+V//+o//+o//+8//+8///S///S///q///q//8AAAAAAAARAAARAAAdAAAdAAAiAAAiAAAmAAAmAAAuAAAuAAA8AAA8AABHAABHAABKAABKAABEAABEAAA7AAA7AAArAAArAAAXAAAXAAACAAACAADw///w///i///i///a///a///S///S///S///S///a///a///o///o///z///z///3///3///6///6///8///8//////////8EAAAEAAAMAAAMAAAXAAAXAAAfAAAfAAAlAAAlAAAoAAAoAAAqAAAqAAApAAApAAAmAAAmAAAiAAAiAAAdAAAdAAAXAAAXAAAIAAAIAADu///u///V///V///C///C//+0//+0//+o//+o//+k//+k//+s//+s//+8//+8///N///N///j///j///+///+//8cAAAcAABSAABSAAB4AAB4AABpAABpAABJAABJAAAtAAAtAAD0///0//+///+////E///E///X///X//8MAAAMAAATAAATAAANAAANAADq///q///J///J//+w//+w//+Y//+Y//+v//+v///k///k//8cAAAcAAAWAAAWAAARAAARAADm///m///b///b///L///L///N///N///k///k//8dAAAdAAA1AAA1AAAxAAAxAAAjAAAjAAADAAADAADd///d//+6//+6//+U//+U//+F//+F//+U//+U//+6//+6///Z///Z//////////8hAAAhAABFAABFAABSAABSAABGAABGAAA6AAA6AAAzAAAzAAAxAAAxAAAzAAAzAAAuAAAuAAAbAAAbAAD2///2///u///u///i///i///e///e///R///R///S///S///X///X///b///b///u///u//8JAAAJAAAKAAAKAADs///s///d///d///W///W///C///C//+///+////h///h//8UAAAUAAAqAAAqAAAnAAAnAAAuAAAuAAAyAAAyAAA4AAA4AABMAABMAABeAABeAAByAAByAABtAABtAABoAABoAABZAABZAABFAABFAAAzAAAzAAAgAAAgAAAPAAAPAAAcAAAcAAApAAApAAAyAAAyAAArAAArAAATAAATAAACAAACAAAPAAAPAAAKAAAKAAAQAAAQAAD////////s///s///o///o///q///q//8NAAANAAAdAAAdAAA5AAA5AABaAABaAABfAABfAABRAABRAABCAABCAAA8AAA8AAAoAAAoAAAaAAAaAAANAAANAAAEAAAEAAADAAADAAD9///9///7///7//8CAAACAAAEAAAEAAADAAADAAAPAAAPAAAFAAAFAADv///v///9///9///+///+//8YAAAYAAAnAAAnAABNAABNAAA4AAA4AAAhAAAhAAA9AAA9AAArAAArAAAOAAAOAAALAAALAAAlAAAlAAAjAAAjAABLAABLAAA/AAA/AAA7AAA7AABAAABAAAAlAAAlAAAkAAAkAABJAABJAABGAABGAAAiAAAiAAAlAAAlAAAgAAAgAAAhAAAhAABYAABYAAAlAAAlAADy///y///t///t///s///s///b///b///j///j///w///w///y///y//8RAAARAAAUAAAUAAAeAAAeAAArAAArAAApAAApAAAbAAAbAAAeAAAeAAAZAAAZAAAoAAAoAAA1AAA1AABAAABAAAA4AAA4AAA9AAA9AAA6AAA6AAAsAAAsAAAgAAAgAAAXAAAXAAAGAAAGAAABAAABAAD8///8//8EAAAEAAAKAAAKAAAXAAAXAAAXAAAXAAAgAAAgAAAaAAAaAAAfAAAfAAAaAAAaAAARAAARAAAGAAAGAAAOAAAOAAAMAAAMAAAFAAAFAAAEAAAEAAD7///7//8CAAACAAALAAALAAAJAAAJAAALAAALAAANAAANAAASAAASAAAOAAAOAAAPAAAPAAASAAASAAAPAAAPAAATAAATAAAFAAAFAAAGAAAGAAADAAADAADs///s///5///5//8AAAAAAADy///y///z///z//8GAAAGAAAHAAAHAAD///////8JAAAJAADx///x///9///9//8KAAAKAAAPAAAPAAAAAAAAAAD1///1//8BAAABAAABAAABAAD////////4///4///y///y///3///3///q///q///d///d///Z///Z///r///r///a///a///M///M///S///S///a///a///Z///Z///Z///Z///n///n///9///9///2///2///V///V///R///R//8LAAALAADi///i//+f//+f///z///z//8XAAAXAADc///c///d///d///r///r///D///D///L///L///0///0///m///m///X///X///u///u///w///w///y///y///K///K///P///P///y///y///t///t///y///y///e///e///3///3//8aAAAaAADw///w//8VAAAVAADV///V///i///i//8NAAANAAAaAAAaAAAMAAAMAADz///z//8qAAAqAAD5///5///8///8//8BAAABAAAjAAAjAAAGAAAGAAD1///1///s///s//8WAAAWAADu///u//81AAA1AAAQAAAQAADy///y//8QAAAQAAA1AAA1AAAXAAAXAAAMAAAMAAAXAAAXAAAOAAAOAADu///u//8iAAAiAAABAAABAADq///q///9///9//8OAAAOAADv///v///9///9///j///j///s///s///H///H///i///i///q///q///s///s///u///u///1///1//8AAAAAAAACAAACAABFAABFAAA/AAA/AAAyAAAyAADh///h//8dAAAdAAATAAATAAD3///3//8AAAAAAAA3AAA3AADX///X//+n//+n//8GAAAGAABuAABuAACU/v+U/v8qAQAqAQDy/v/y/v9e//9e//9PAABPAACO//+O//8KAAAKAABDAABDAADh///h//+5//+5//9HAABHAADz///z//85AAA5AAAyAAAyAAAuAAAuAAD5///5//8DAAADAAD6///6//9AAABAAADd///d///T///T///s///s///1///1///k///k//8rAAArAAARAAARAADg///g//8KAAAKAADe///e//8dAAAdAADu///u//8SAAASAADV///V///w///w//8EAAAEAAA+AAA+AAAwAAAwAAAJAAAJAAD3///3//8DAAADAAAFAAAFAADO///O//8NAAANAADQ///Q///0///0///W///W///3///3///f///f///p///p///j///j///g///g//8CAAACAAAAAAAAAAAQAAAQAAAEAAAEAAAYAAAYAAAeAAAeAAAdAAAdAAAvAAAvAAAxAAAxAAAVAAAVAAAEAAAEAAAoAAAoAAAYAAAYAAAmAAAmAAAHAAAHAAAEAAAEAAAAAAAAAADx///x///i///i///Y///Y///K///K///Z///Z///X///X///m///m///t///t///b///b///f///f///U///U///c///c///2///2///9///9//8fAAAfAAAaAAAaAABCAABCAABRAABRAAAwAAAwAAAtAAAtAABJAABJAABAAABAAAAyAAAyAAArAAArAAA0AAA0AAAiAAAiAADs///s///q///q///m///m///t///t///d///d///P///P///m///m///l///l//+z//+z///L///L///c///c///l///l//8LAAALAAArAAArAAAcAAAcAAD5///5///5///5//88AAA8AABRAABRAABbAABbAAAtAAAtAADy///y//8JAAAJAADB///B//+1//+1///u///u///R///R///A///A///R///R///Y///Y///////////5///5///+///+//8AAAAAAAAeAAAeAAArAAArAABDAABDAABdAABdAABJAABJAAA7AAA7AABzAABzAABPAABPAABWAABWAAAoAAAoAAAkAAAkAAAUAAAUAAD4///4///w///w///w///w///W///W///y///y//8KAAAKAADJ///J///4///4///z///z//8LAAALAAAAAAAAAAAFAAAFAAAyAAAyAAAwAAAwAAA2AAA2AAAoAAAoAABUAABUAAApAAApAABCAABCAABWAABWAAARAAARAAAFAAAFAADq///q//8RAAARAABJ//9J//9fAABfAADL///L//9R//9R//9uAABuAACS//+S//+I//+I//+uAACuAACM//+M//8OAAAOAABgAABgAACw//+w//+LAACLAAAsAAAsAADw///w//+PAACPAABvAABvAACt//+t//9YAABYAADg///g//++//++///T///T///K///K//9EAABEAADO///O///y///y///6///6//+j//+j//+z//+z//+v//+v//8VAAAVAACv//+v//8WAAAWAADP///P///y///y///Y///Y//9LAABLAAAYAAAYAAD0///0//9CAABCAADg///g///P///P///3///3//+J//+J///O///O///i///i///I///I///y///y///u///u///z///z///1///1//8YAAAYAAC8//+8//8EAAAEAADn///n//8wAAAwAAABAAABAAAwAAAwAAAGAAAGAADC///C//85AAA5AAD+///+//87AAA7AADX///X//8UAAAUAAADAAADAAAVAAAVAAAiAAAiAADR///R///U///U///J///J///G///G//8bAAAbAAAoAAAoAAAXAAAXAAAmAAAmAAD1///1//8mAAAmAAAjAAAjAAAmAAAmAAAMAAAMAADp///p//84AAA4AAARAAARAAApAAApAAAZAAAZAADt///t//82AAA2AAD3///3//8FAAAFAADu///u//8UAAAUAADq///q///T///T///i///i///6///6///9///9//8IAAAIAAADAAADAAD7///7///s///s///m///m///v///v//8AAAAAAAARAAARAAD2///2//8QAAAQAAAtAAAtAAD0///0//8KAAAKAAD0///0///s///s///n///n///R///R///m///m///j///j//+8//+8///b///b///J///J///c///c///6///6///z///z//8PAAAPAAALAAALAAAPAAAPAAAOAAAOAAAQAAAQAAASAAASAAD2///2///5///5//8CAAACAADv///v///j///j///4///4///t///t///v///v///y///y///V///V///2///2//8FAAAFAAAAAAAAAADo///o///4///4//8CAAACAAANAAANAAAhAAAhAAAmAAAmAAD8///8//8JAAAJAAD0///0//8EAAAEAAAEAAAEAADt///t///+///+//8BAAABAAD0///0///t///t///E///E///g///g///p///p///a///a//8YAAAYAAATAAATAAAJAAAJAAD+///+//8BAAABAADk///k///2///2///0///0///////////s///s///x///x///v///v///b///b///Q///Q///P///P///e///e///e///e///e///e///Y///Y///b///b///f///f///o///o///v///v///m///m///7///7///+///+//8AAAAAAAAHAAAHAAD2///2///1///1//8FAAAFAAD+///+///s///s///c///c///u///u///a///a///r///r///R///R///q///q///5///5//8CAAACAAABAAABAADw///w///q///q///u///u///0///0///2///2///9///9//8DAAADAAAKAAAKAADt///t///x///x///q///q///2///2///1///1///q///q//8KAAAKAAD4///4///v///v///8///8///x///x///w///w///1///1///k///k//8JAAAJAADq///q///1///1///v///v//8BAAABAADx///x///5///5//8MAAAMAAAnAAAnAAARAAARAAAfAAAfAAAlAAAlAAAWAAAWAAATAAATAAAKAAAKAAATAAATAAAEAAAEAAAkAAAkAAD///////8GAAAGAAD1///1///7///7//8NAAANAAAeAAAeAAAYAAAYAAACAAACAAAPAAAPAAAIAAAIAAAQAAAQAAAYAAAYAAASAAASAAAgAAAgAAAmAAAmAAARAAARAAAgAAAgAAAEAAAEAAAPAAAPAAATAAATAAAYAAAYAAAuAAAuAAAhAAAhAAARAAARAAD+///+///4///4///l///l///6///6///y///y///8///8//8NAAANAAAgAAAgAAAXAAAXAAASAAASAAAYAAAYAAAbAAAbAAApAAApAAA2AAA2AAAxAAAxAAAjAAAjAAAlAAAlAAAeAAAeAAALAAALAAD3///3///v///v//8YAAAYAAAnAAAnAAAqAAAqAAAiAAAiAAAIAAAIAAAJAAAJAAAYAAAYAAAYAAAYAAAOAAAOAAADAAADAAD+///+//8FAAAFAAANAAANAAAOAAAOAAAQAAAQAAAIAAAIAAAaAAAaAAAdAAAdAAAYAAAYAAAFAAAFAAATAAATAAAWAAAWAAAoAAAoAAAhAAAhAAArAAArAAAZAAAZAAADAAADAAD+///+//8KAAAKAAAZAAAZAAAiAAAiAAAUAAAUAAAaAAAaAAAZAAAZAAAOAAAOAAAcAAAcAAAPAAAPAAANAAANAAAFAAAFAAADAAADAAABAAABAAAJAAAJAAAEAAAEAAADAAADAAAWAAAWAAALAAALAAAYAAAYAAAdAAAdAAAkAAAkAAAmAAAmAAAcAAAcAAAgAAAgAAAlAAAlAAAbAAAbAAArAAArAAAiAAAiAAAjAAAjAAAhAAAhAAAZAAAZAAAZAAAZAAAlAAAlAAAeAAAeAAAaAAAaAAAgAAAgAAAXAAAXAAAdAAAdAAAeAAAeAAAlAAAlAAAVAAAVAAAIAAAIAAAYAAAYAAAcAAAcAAD+///+//////////8DAAADAAAKAAAKAADy///y//+3//+3///p///p//8OAAAOAAApAAApAAAaAAAaAADk///k///z///z///3///3//8MAAAMAAD9///9//8EAAAEAAAHAAAHAAANAAANAAAjAAAjAAAQAAAQAAASAAASAAAcAAAcAAApAAApAAAgAAAgAAAHAAAHAAAJAAAJAAAJAAAJAADz///z///x///x///s///s///l///l///i///i///z///z//8CAAACAADu///u///4///4///2///2//8BAAABAAAEAAAEAAAOAAAOAAAMAAAMAAD0///0//8HAAAHAAAKAAAKAAAXAAAXAAAZAAAZAAAlAAAlAAAmAAAmAAAdAAAdAAAoAAAoAAAvAAAvAAAwAAAwAAArAAArAAAuAAAuAAAoAAAoAAAhAAAhAAAIAAAIAADx///x///o///o///n///n///7///7///+///+///9///9//8CAAACAAD5///5///2///2///x///x///l///l///q///q///v///v///4///4///t///t///b///b///c///c///t///t///0///0///u///u///2///2///1///1///+///+//8NAAANAAAPAAAPAAAbAAAbAAAiAAAiAAAmAAAmAAAZAAAZAAANAAANAAAaAAAaAAAcAAAcAAAVAAAVAAAMAAAMAAAWAAAWAAAjAAAjAAAhAAAhAAACAAACAAD0///0///r///r///s///s///1///1///i///i///s///s///w///w///u///u///q///q///m///m///t///t///k///k///q///q///2///2///4///4///z///z///t///t///t///t///x///x///x///x///4///4///0///0///o///o///n///n///f///f///o///o///t///t///e///e///i///i///k///k///c///c///x///x///3///3///s///s///P///P///K///K//////////8MAAAMAAAIAAAIAAD8///8///w///w//8GAAAGAAACAAACAAAFAAAFAAAXAAAXAAAPAAAPAAADAAADAAATAAATAAAFAAAFAAD///////8JAAAJAAD9///9//8KAAAKAAALAAALAAAIAAAIAAD////////3///3///8///8//8CAAACAAAFAAAFAAD3///3///q///q///c///c///i///i///u///u///u///u///r///r///r///r///1///1///8///8///8///8///3///3///6///6//8DAAADAAAIAAAIAAAGAAAGAAAHAAAHAAANAAANAAAYAAAYAAAZAAAZAAATAAATAAASAAASAAALAAALAAADAAADAAAGAAAGAAD6///6///u///u///v///v///t///t///5///5//8MAAAMAAD2///2///8///8//8EAAAEAAD4///4//8AAAAAAAD5///5//////////8BAAABAAADAAADAAAKAAAKAAAMAAAMAAAGAAAGAAD///////8HAAAHAAAWAAAWAAAQAAAQAAAZAAAZAAATAAATAAD+///+///5///5///1///1///0///0///n///n///y///y///r///r///c///c///W///W///Q///Q///a///a///b///b///e///e///n///n///i///i///Y///Y///e///e///f///f///h///h///x///x///t///t///p///p///t///t///o///o///o///o///u///u///0///0///5///5///y///y///p///p///r///r///f///f///e///e///h///h///g///g///W///W///E///E///X///X///X///X///f///f///r///r///h///h///V///V///b///b///c///c///a///a///v///v///z///z///0///0///1///1///5///5///p///p///v///v///6///6///+///+//8GAAAGAAAFAAAFAAAMAAAMAAAXAAAXAAAhAAAhAAAUAAAUAAAIAAAIAAAFAAAFAAAKAAAKAAASAAASAAACAAACAAD2///2///0///0///5///5//8FAAAFAAACAAACAAD8///8///3///3///v///v///r///r///r///r///w///w//8AAAAAAAAKAAAKAAAYAAAYAAAcAAAcAAAVAAAVAAAQAAAQAAAGAAAGAAAOAAAOAAAIAAAIAAAQAAAQAAAVAAAVAAAIAAAIAAACAAACAAD6///6///8///8///5///5///5///5///z///z///w///w///u///u///q///q///y///y///w///w///c///c///i///i///b///b///V///V///g///g///X///X///Z///Z///W///W///x///x///h///h///Z///Z///5///5///v///v///z///z///o///o///i///i///q///q///f///f///p///p//8BAAABAAAIAAAIAAABAAABAAAGAAAGAAAAAAAAAAD///////8LAAALAAAKAAAKAAAGAAAGAAAGAAAGAAARAAARAAAIAAAIAAD8///8///v///v///6///6///////////1///1//8BAAABAAAKAAAKAAAJAAAJAAASAAASAAAZAAAZAAANAAANAAAKAAAKAAAPAAAPAAAUAAAUAAAHAAAHAAASAAASAAAOAAAOAAACAAACAAACAAACAAD8///8//8IAAAIAAAMAAAMAAAIAAAIAAAMAAAMAAAFAAAFAAD+///+//8AAAAAAAADAAADAAABAAABAAAKAAAKAAASAAASAAARAAARAAAUAAAUAAAMAAAMAAAAAAAAAAD7///7//8FAAAFAAAMAAAMAAAEAAAEAAD4///4//8CAAACAAACAAACAAANAAANAAAYAAAYAAAUAAAUAAAHAAAHAAAJAAAJAAAhAAAhAAAUAAAUAAAHAAAHAAAEAAAEAAAKAAAKAAATAAATAAAKAAAKAAAMAAAMAAARAAARAAAQAAAQAAAPAAAPAAAJAAAJAAAJAAAJAAD9///9//8BAAABAAAKAAAKAAACAAACAAAKAAAKAAASAAASAAAOAAAOAAARAAARAAAYAAAYAAAZAAAZAAAQAAAQAAAMAAAMAAAWAAAWAAATAAATAAAZAAAZAAAUAAAUAAATAAATAAANAAANAAARAAARAAAaAAAaAAAUAAAUAAABAAABAAD5///5//8QAAAQAADz///z///l///l///5///5///v///v///z///z///1///1///9///9//8GAAAGAAAEAAAEAAAWAAAWAAATAAATAAATAAATAAAZAAAZAAAfAAAfAAAjAAAjAAAiAAAiAAApAAApAAAlAAAlAAAaAAAaAAAdAAAdAAAaAAAaAAAVAAAVAAAPAAAPAAAIAAAIAAANAAANAAAGAAAGAAAMAAAMAAANAAANAAACAAACAAAHAAAHAAAQAAAQAAAVAAAVAAAUAAAUAAADAAADAAAGAAAGAAD9///9///9///9//8FAAAFAAACAAACAAAOAAAOAAAEAAAEAAAFAAAFAAAFAAAFAADy///y//8GAAAGAAApAAApAAAeAAAeAAD+///+///6///6//8XAAAXAAAqAAAqAAAxAAAxAAAeAAAeAAAfAAAfAAAkAAAkAAAeAAAeAAALAAALAADx///x//8JAAAJAADy///y///n///n//8MAAAMAAALAAALAAAQAAAQAAABAAABAADt///t///2///2///3///3//8FAAAFAAAUAAAUAAA6AAA6AAA4AAA4AAApAAApAAAoAAAoAAAYAAAYAAAkAAAkAAAXAAAXAAAJAAAJAAAbAAAbAAAVAAAVAAAQAAAQAAALAAALAAAAAAAAAAD6///6//8AAAAAAAAGAAAGAAAIAAAIAAAPAAAPAAASAAASAAARAAARAAAXAAAXAAANAAANAAAUAAAUAAATAAATAAARAAARAAAXAAAXAAAOAAAOAAAMAAAMAAAPAAAPAAARAAARAAARAAARAAAQAAAQAAAOAAAOAAABAAABAAD8///8//8HAAAHAAAKAAAKAAD///////8EAAAEAAAMAAAMAAANAAANAAD5///5///P///P//+///+///+n//+n//+7//+7//8FAAAFAAAYAAAYAAAJAAAJAAAOAAAOAAAVAAAVAAAbAAAbAAAQAAAQAADt///t///Q///Q///L///L///z///z//8GAAAGAAD7///7//8JAAAJAAAXAAAXAAAPAAAPAAAAAAAAAAAGAAAGAAD+///+///V///V///c///c///0///0///5///5///+///+///4///4///7///7//8DAAADAAD4///4///9///9//8IAAAIAAAPAAAPAAAdAAAdAAAXAAAXAAAYAAAYAAAXAAAXAAAWAAAWAAAcAAAcAAASAAASAAALAAALAAAPAAAPAAD9///9///4///4//8SAAASAAAGAAAGAADw///w///0///0///+///+///+///+///u///u///h///h///Y///Y///N///N///K///K///Q///Q///Q///Q///X///X///n///n///r///r///u///u///u///u///v///v///z///z///3///3///y///y///0///0///p///p///o///o///3///3///0///0///r///r///u///u///v///v///u///u///o///o///m///m///v///v///z///z///u///u///k///k///m///m///t///t///m///m///p///p///z///z///z///z///y///y///t///t///w///w///z///z///z///z///7///7///6///6///w///w///w///w///w///w///2///2//8BAAABAAAEAAAEAAAHAAAHAAAVAAAVAAAcAAAcAAARAAARAAAJAAAJAAAFAAAFAAADAAADAAD9///9///x///x///u///u///p///p///p///p///m///m///r///r///7///7///6///6///6///6//8BAAABAAAJAAAJAAAGAAAGAADz///z///9///9//8EAAAEAAD6///6//8AAAAAAAAJAAAJAAD////////3///3//8DAAADAAD9///9///9///9//8DAAADAAD9///9///z///z///v///v///6///6///y///y///u///u///1///1///t///t///x///x//8AAAAAAAAGAAAGAAD2///2///q///q///x///x///w///w///x///x///1///1///w///w///v///v///8///8//8AAAAAAAD+///+//8GAAAGAAABAAABAAD8///8///z///z///x///x///5///5///8///8//8KAAAKAAACAAACAADq///q///h///h///X///X///e///e///0///0//8OAAAOAAAaAAAaAAAOAAAOAAADAAADAADi///i//+///+///+v//+v//+o//+o///E///E///x///x//8PAAAPAAAiAAAiAAApAAApAAAaAAAaAAAKAAAKAAAKAAAKAAABAAABAADz///z///z///z///w///w///r///r///y///y///4///4///5///5//8FAAAFAAAJAAAJAAALAAALAAAMAAAMAAADAAADAAD5///5///9///9//8FAAAFAAAMAAAMAAAUAAAUAAAUAAAUAAANAAANAAANAAANAAAKAAAKAAAJAAAJAAAIAAAIAAAAAAAAAAADAAADAAAHAAAHAAALAAALAAADAAADAAD+///+//8CAAACAAAAAAAAAAABAAABAAACAAACAAD///////8AAAAAAAD7///7///5///5///4///4///4///4///8///8///9///9//////////8FAAAFAAAQAAAQAAAaAAAaAAAYAAAYAAASAAASAAAQAAAQAAAPAAAPAAAMAAAMAAAEAAAEAAD7///7///y///y///u///u///2///2///7///7//8BAAABAAAAAAAAAAD0///0///1///1///7///7//8AAAAAAAACAAACAAAFAAAFAAAMAAAMAAANAAANAAAPAAAPAAAUAAAUAAAOAAAOAAAGAAAGAAD////////7///7///8///8//8BAAABAAACAAACAAD////////6///6///z///z///0///0///w///w///t///t///x///x///0///0///7///7//8CAAACAAAGAAAGAAAKAAAKAAAMAAAMAAAPAAAPAAAOAAAOAAAMAAAMAAAOAAAOAAAMAAAMAAANAAANAAARAAARAAASAAASAAAHAAAHAAD8///8//8KAAAKAAAVAAAVAAAHAAAHAAAKAAAKAAAWAAAWAAAQAAAQAAALAAALAAAOAAAOAAD////////+///+//////////8GAAAGAAD////////+///+//8AAAAAAAD+///+//////////8FAAAFAAADAAADAAD4///4///+///+//8HAAAHAAD9///9//8BAAABAAAIAAAIAAAHAAAHAAALAAALAAAEAAAEAAAFAAAFAAADAAADAAABAAABAAD1///1///v///v///v///v///6///6//8IAAAIAAAIAAAIAAALAAALAAAPAAAPAAAIAAAIAAAFAAAFAAAIAAAIAAAIAAAIAAACAAACAAD8///8//8AAAAAAAABAAABAAACAAACAAAEAAAEAAAHAAAHAAAJAAAJAAD9///9//8BAAABAAD+///+///7///7//8DAAADAAAHAAAHAAAGAAAGAAATAAATAAAVAAAVAAANAAANAADv///v///4///4//8RAAARAAASAAASAAAIAAAIAAADAAADAAAIAAAIAAAJAAAJAAAGAAAGAAAFAAAFAAAEAAAEAAACAAACAAAHAAAHAAAJAAAJAAAHAAAHAAD+///+///s///s///z///z///6///6///7///7//8DAAADAAAGAAAGAAD////////8///8///7///7///+///+///8///8///3///3///6///6///+///+//8EAAAEAAAEAAAEAAADAAADAAAAAAAAAAD7///7///8///8//8DAAADAAD9///9//8EAAAEAAAVAAAVAAAFAAAFAAD5///5///8///8//8EAAAEAAD5///5///8///8//8AAAAAAAAHAAAHAAD8///8///7///7///9///9//8GAAAGAAAKAAAKAAD6///6///5///5///2///2///q///q///o///o///z///z///p///p///3///3//8DAAADAAAFAAAFAAAFAAAFAAADAAADAAD6///6///6///6///+///+///7///7//////////8DAAADAAAAAAAAAAD///////8FAAAFAAAPAAAPAAAOAAAOAAAEAAAEAAAAAAAAAAADAAADAAAFAAAFAAAEAAAEAAAHAAAHAAAJAAAJAAAEAAAEAAD+///+///5///5///2///2///2///2///6///6///5///5///+///+//////////8CAAACAAD+///+///8///8///+///+//////////8BAAABAAD7///7///7///7///6///6//8AAAAAAAAEAAAEAAACAAACAAADAAADAAAFAAAFAAADAAADAAADAAADAAADAAADAAD4///4///3///3///8///8///////////7///7///1///1///1///1///5///5///1///1///3///3///5///5///9///9///8///8///+///+///////////9///9///8///8///9///9///9///9///////////5///5///x///x///5///5///w///w///w///w//8AAAAAAAABAAABAAD5///5//8VAAAVAAARAAARAAD8///8///w///w///t///t///e///e///z///z///5///5//8FAAAFAAATAAATAAANAAANAAAKAAAKAAAQAAAQAAACAAACAAACAAACAAAMAAAMAAD3///3//8DAAADAAAHAAAHAADt///t///u///u//8AAAAAAAD6///6//////////8bAAAbAAAKAAAKAAAFAAAFAAALAAALAAD2///2///v///v///6///6//8CAAACAAACAAACAAACAAACAAADAAADAAD8///8//8DAAADAAAEAAAEAAD5///5///6///6//8AAAAAAAAEAAAEAAAEAAAEAAAHAAAHAAAHAAAHAAACAAACAAAEAAAEAAAAAAAAAAD8///8///+///+//8BAAABAAD+///+//8BAAABAAD+///+///+///+///+///+///////////+///+///+///+//8AAAAAAAAFAAAFAAAMAAAMAAALAAALAAAGAAAGAAAHAAAHAAACAAACAAAEAAAEAAACAAACAAD7///7///6///6///9///9///9///9///7///7//8GAAAGAAAGAAAGAAAFAAAFAAAGAAAGAAACAAACAAADAAADAAAIAAAIAAAEAAAEAAAGAAAGAAABAAABAAABAAABAAD9///9///6///6///2///2//8AAAAAAAAHAAAHAAAHAAAHAAADAAADAAD////////+///+//8AAAAAAAABAAABAAAAAAAAAAABAAABAAACAAACAAD+///+//8EAAAEAAAAAAAAAAD6///6///6///6///3///3///0///0///8///8///9///9///8///8///5///5///7///7///7///7///+///+///8///8//////////8CAAACAAD9///9///7///7///9///9//8FAAAFAAAEAAAEAAAHAAAHAAAEAAAEAAD////////8///8//8BAAABAAADAAADAAACAAACAAACAAACAAAEAAAEAAABAAABAAADAAADAAADAAADAAAEAAAEAAADAAADAAABAAABAAD8///8///8///8///5///5///1///1///1///1///2///2///2///2///4///4///7///7///8///8///7///7///7///7///8///8///+///+//8DAAADAAAGAAAGAAALAAALAAANAAANAAAMAAAMAAAIAAAIAAAOAAAOAAAOAAAOAAAEAAAEAAADAAADAAAEAAAEAAAIAAAIAAAFAAAFAAABAAABAAADAAADAAALAAALAAD+///+//8FAAAFAAACAAACAAACAAACAAACAAACAAD1///1///9///9//8FAAAFAAD///////8AAAAAAAACAAACAAABAAABAAAGAAAGAAACAAACAAACAAACAAABAAABAAAMAAAMAAD9///9//8KAAAKAAANAAANAAAQAAAQAAD3///3//8BAAABAAAEAAAEAAATAAATAADx///x///+///+//8hAAAhAADv///v///9///9//8lAAAlAAD2///2///5///5//8VAAAVAADq///q///0///0///////////o///o//8HAAAHAAAOAAAOAAAJAAAJAAADAAADAADW///W//8HAAAHAAARAAARAADx///x//8DAAADAAD////////7///7//8MAAAMAADz///z//8FAAAFAAARAAARAADs///s///8///8//8EAAAEAAD6///6//8DAAADAAADAAADAAALAAALAAD////////5///5//8CAAACAAAHAAAHAAADAAADAAAEAAAEAAAFAAAFAAAIAAAIAAADAAADAAAGAAAGAAD///////8GAAAGAAAPAAAPAAAHAAAHAAD///////8GAAAGAAAKAAAKAAAFAAAFAAAIAAAIAAAIAAAIAAAGAAAGAAAMAAAMAAAFAAAFAAAGAAAGAAAGAAAGAAAAAAAAAAD////////8///8//8BAAABAAACAAACAAD8///8//8AAAAAAAD///////8BAAABAAABAAABAAAEAAAEAAD8///8///8///8//////////8FAAAFAAADAAADAAAHAAAHAAAJAAAJAAAGAAAGAAD+///+//////////8AAAAAAAABAAABAAABAAABAAD///////8CAAACAAADAAADAAAJAAAJAAAEAAAEAAABAAABAAACAAACAAAAAAAAAAACAAACAAABAAABAAACAAACAAADAAADAAABAAABAAAKAAAKAAAHAAAHAAD9///9//8CAAACAAD9///9///+///+//8BAAABAAD8///8//////////8DAAADAAAIAAAIAAACAAACAAADAAADAAAEAAAEAAAGAAAGAAAHAAAHAAAHAAAHAAAGAAAGAAAGAAAGAAADAAADAAAFAAAFAAADAAADAAAJAAAJAAAIAAAIAAAGAAAGAAAEAAAEAAAHAAAHAAADAAADAAADAAADAAADAAADAAAFAAAFAAACAAACAAADAAADAAAFAAAFAAAFAAAFAAACAAACAAABAAABAAABAAABAAADAAADAAACAAACAAADAAADAAAEAAAEAAACAAACAAACAAACAAADAAADAAAAAAAAAAD+///+///7///7///+///+//8AAAAAAAD8///8///+///+///8///8///5///5///4///4///7///7///9///9///6///6///1///1///4///4///7///7///9///9///6///6///+///+///9///9///6///6///////////8///8///9///9///8///8///7///7///////////9///9///6///6///7///7///7///7///7///7///7///7///7///7///6///6//////////8AAAAAAAACAAACAAADAAADAAABAAABAAAAAAAAAAAAAAAAAAD8///8///7///7///8///8///8///8///6///6///9///9///9///9///4///4///9///9//8AAAAAAAADAAADAAAFAAAFAAD1///1///+///+///7///7//////////8AAAAAAAD6///6//8DAAADAAACAAACAAD7///7///9///9//8AAAAAAAAEAAAEAAAHAAAHAAABAAABAAD7///7///1///1///4///4///4///4///////////7///7///7///7///////////9///9//8AAAAAAAD7///7///9///9///8///8///+///+//////////////////8CAAACAAACAAACAAADAAADAAAEAAAEAAD////////8///8///6///6///9///9///6///6///6///6///7///7///4///4///z///z///0///0///3///3///2///2///4///4///4///4///4///4///6///6///5///5///6///6///7///7//8BAAABAAD+///+///3///3///4///4//////////8FAAAFAAACAAACAAAAAAAAAAD7///7///5///5///4///4///2///2///3///3///5///5///3///3///6///6///9///9///////////////////9///9//////////8AAAAAAAAAAAAAAAD+///+///+///+///+///+//8AAAAAAAAGAAAGAAAFAAAFAAAGAAAGAAAFAAAFAAACAAACAAABAAABAAACAAACAAACAAACAAD///////8DAAADAAADAAADAAD+///+///+///+///+///+//8BAAABAAACAAACAAABAAABAAADAAADAAACAAACAAAEAAAEAAAFAAAFAAAFAAAFAAADAAADAAACAAACAAABAAABAAACAAACAAAEAAAEAAABAAABAAD+///+///8///8///5///5///6///6//8AAAAAAAADAAADAAAAAAAAAAD///////8AAAAAAAAFAAAFAAADAAADAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAABAAABAAADAAADAAADAAADAAADAAADAAAAAAAAAAAAAAAAAAABAAABAAACAAACAAABAAABAAAAAAAAAAABAAABAAAEAAAEAAAEAAAEAAACAAACAAD4///4///+///+//8IAAAIAAAFAAAFAAD///////////////8BAAABAAAEAAAEAAAGAAAGAAAFAAAFAAACAAACAAAEAAAEAAAFAAAFAAAHAAAHAAAJAAAJAAAHAAAHAAAGAAAGAAAGAAAGAAACAAACAAD////////7///7///6///6///6///6///4///4///4///4///4///4///3///3///9///9///9///9///+///+///+///+//8FAAAFAAAGAAAGAAD1///1///5///5///p///p///u///u///9///9//8JAAAJAAAfAAAfAAAfAAAfAAAVAAAVAAAOAAAOAAABAAABAAAMAAAMAAD////////v///v///s///s///h///h///z///z//8EAAAEAAAYAAAYAAAaAAAaAAAQAAAQAAAYAAAYAAAPAAAPAAAIAAAIAAAEAAAEAAADAAADAAAFAAAFAAAKAAAKAAAUAAAUAAAUAAAUAAARAAARAAAMAAAMAAALAAALAAAQAAAQAAAaAAAaAAAfAAAfAAATAAATAAD////////w///w///k///k///j///j///y///y///z///z///z///z///5///5///3///3///0///0///z///z///x///x///u///u///q///q///o///o///q///q///q///q///2///2//8DAAADAAAFAAAFAAAMAAAMAAAWAAAWAAAfAAAfAAAnAAAnAAApAAApAAAkAAAkAAAkAAAkAAAdAAAdAAAYAAAYAAARAAARAAAGAAAGAAAAAAAAAAD6///6///3///3///w///w///v///v///q///q///s///s///u///u///3///3///5///5///+///+//8AAAAAAAABAAABAAD6///6///1///1///3///3///1///1///z///z///1///1///4///4///5///5//////////8HAAAHAAAKAAAKAAAJAAAJAAAHAAAHAAAFAAAFAAAJAAAJAAAKAAAKAAAHAAAHAAAMAAAMAAANAAANAAAMAAAMAAAPAAAPAAAQAAAQAAAQAAAQAAAJAAAJAAAGAAAGAAAKAAAKAAAMAAAMAAAIAAAIAAADAAADAAD9///9///6///6///4///4///8///8//8BAAABAAAFAAAFAAACAAACAAABAAABAAD+///+//////////8AAAAAAAACAAACAAAFAAAFAAACAAACAAAAAAAAAAD///////////////8BAAABAAAFAAAFAAAHAAAHAAAMAAAMAAAJAAAJAAAKAAAKAAALAAALAAAJAAAJAAAFAAAFAAADAAADAAAEAAAEAAABAAABAAAAAAAAAAAAAAAAAAD9///9///+///+//8AAAAAAAD+///+///9///9///7///7//8AAAAAAAACAAACAAAFAAAFAAAGAAAGAAAEAAAEAAAEAAAEAAACAAACAAADAAADAAACAAACAAADAAADAAAFAAAFAAADAAADAAAFAAAFAAAFAAAFAAAGAAAGAAAJAAAJAAAJAAAJAAAJAAAJAAAEAAAEAAACAAACAAADAAADAAADAAADAAAFAAAFAAAEAAAEAAACAAACAAAAAAAAAAABAAABAAACAAACAAADAAADAAAGAAAGAAAJAAAJAAAJAAAJAAAKAAAKAAAIAAAIAAAHAAAHAAAGAAAGAAAGAAAGAAAFAAAFAAAEAAAEAAADAAADAAAAAAAAAAD///////8BAAABAAABAAABAAD////////9///9///7///7///7///7///9///9//8AAAAAAAAAAAAAAAABAAABAAAAAAAAAAABAAABAAABAAABAAADAAADAAAEAAAEAAACAAACAAADAAADAAADAAADAAAAAAAAAAD////////8///8///8///8///8///8///7///7///7///7///+///+//8AAAAAAAAAAAAAAAABAAABAAAAAAAAAAD9///9///7///7///9///9//////////8BAAABAAABAAABAAADAAADAAAGAAAGAAAIAAAIAAAIAAAIAAAJAAAJAAALAAALAAALAAALAAAMAAAMAAANAAANAAANAAANAAALAAALAAAKAAAKAAAHAAAHAAAIAAAIAAAGAAAGAAAFAAAFAAACAAACAAABAAABAAAAAAAAAAD///////8AAAAAAAD////////+///+///6///6///6///6///9///9//8CAAACAAABAAABAAD9///9///6///6///4///4///5///5///3///3///3///3///1///1///1///1///3///3///6///6///7///7//////////8BAAABAAAAAAAAAAD////////9///9///+///+//8AAAAAAAAAAAAAAAACAAACAAAEAAAEAAAEAAAEAAAGAAAGAAAGAAAGAAAKAAAKAAALAAALAAAMAAAMAAAMAAAMAAAJAAAJAAAJAAAJAAAGAAAGAAAFAAAFAAAFAAAFAAAEAAAEAAAEAAAEAAAFAAAFAAADAAADAAACAAACAAACAAACAAABAAABAAAAAAAAAAD8///8///9///9//8AAAAAAAADAAADAAAHAAAHAAAFAAAFAAAGAAAGAAAHAAAHAAAHAAAHAAAFAAAFAAADAAADAAAAAAAAAAD+///+//////////8AAAAAAAAAAAAAAAACAAACAAACAAACAAACAAACAAAEAAAEAAADAAADAAADAAADAAADAAADAAACAAACAAACAAACAAAEAAAEAAADAAADAAACAAACAAAAAAAAAAD+///+//8AAAAAAAABAAABAAACAAACAAACAAACAAAAAAAAAAD////////////////+///+//8AAAAAAAAEAAAEAAAGAAAGAAAGAAAGAAAEAAAEAAAEAAAEAAAEAAAEAAACAAACAAABAAABAAAAAAAAAAD+///+///8///8///9///9//8DAAADAAANAAANAAAFAAAFAAD3///3///5///5//8KAAAKAAAPAAAPAAADAAADAAD6///6///8///8///////////////////9///9///5///5///7///7//8BAAABAAAEAAAEAAAGAAAGAAAAAAAAAAD6///6///4///4///6///6///6///6///5///5///8///8//////////8CAAACAAACAAACAAABAAABAAACAAACAAADAAADAAACAAACAAAAAAAAAAD////////9///9//////////8AAAAAAAABAAABAAADAAADAAAFAAAFAAADAAADAAACAAACAAADAAADAAAFAAAFAAAFAAAFAAAEAAAEAAACAAACAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAACAAACAAACAAACAAACAAACAAACAAACAAACAAACAAADAAADAAADAAADAAACAAACAAACAAACAAABAAABAAACAAACAAACAAACAAACAAACAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAACAAACAAACAAACAAABAAABAAD////////+///+///+///+///+///+///+///+//////////////////////////////////////////////////8AAAAAAAD///////////////////////////////8AAAAAAAD////////////////////////+///+///9///9///8///8///6///6///5///5///4///4///2///2///1///1///1///1///2///2///3///3///4///4///5///5///6///6///9///9///8///8///7///7///7///7///9///9///7///7///6///6///6///6///3///3///4///4///6///6///5///5///5///5///6///6///7///7///9///9///9///9///8///8///7///7///8///8///8///8///8///8///+///+//////////8BAAABAAACAAACAAAEAAAEAAAEAAAEAAAEAAAEAAAFAAAFAAAEAAAEAAADAAADAAABAAABAAABAAABAAD////////+///+///9///9///7///7///6///6///7///7///8///8///8///8///9///9//////////////////8AAAAAAAACAAACAAAFAAAFAAAIAAAIAAAIAAAIAAAHAAAHAAAGAAAGAAAEAAAEAAADAAADAAABAAABAAAAAAAAAAD////////+///+///9///9///7///7///5///5///4///4///4///4///6///6///6///6///7///7///6///6///6///6///7///7///7///7///8///8///7///7///8///8///9///9///9///9///+///+///////////////////9///9///9///9///+///+///+///+///8///8///8///8///9///9///9///9///+///+///+///+///9///9///7///7///6///6///7///7///7///7///7///7///9///9///+///+///+///+///+///+//////////////////////////////////8AAAAAAAABAAABAAAAAAAAAAAAAAAAAAD////////8///8///5///5///3///3///3///3///2///2///2///2///4///4///5///5///6///6///6///6///6///6///5///5///5///5///4///4///3///3///2///2///1///1///1///1///1///1///2///2///3///3///3///3///6///6///9///9//8BAAABAAAFAAAFAAAJAAAJAAAMAAAMAAANAAANAAAMAAAMAAALAAALAAAIAAAIAAAGAAAGAAAFAAAFAAAFAAAFAAADAAADAAAAAAAAAAD8///8///5///5///2///2///0///0///z///z///y///y///z///z///1///1///3///3///4///4///5///5///7///7///9///9//////////8AAAAAAAABAAABAAACAAACAAACAAACAAABAAABAAABAAABAAAAAAAAAAD9///9///7///7///6///6///5///5///4///4///3///3///2///2///2///2///3///3///4///4///6///6///8///8///9///9///+///+//8AAAAAAAACAAACAAADAAADAAADAAADAAAEAAAEAAADAAADAAACAAACAAAAAAAAAAD////////9///9///9///9///8///8///6///6///5///5///3///3///2///2///1///1///0///0///z///z///z///z///z///z///z///z///y///y///y///y///1///1///3///3///5///5///7///7///+///+//8AAAAAAAACAAACAAADAAADAAAEAAAEAAAEAAAEAAAFAAAFAAAHAAAHAAAIAAAIAAAIAAAIAAAIAAAIAAAHAAAHAAAEAAAEAAACAAACAAAAAAAAAAD+///+///9///9///8///8///8///8///7///7///8///8///+///+//////////////////8AAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAADAAADAAAEAAAEAAAEAAAEAAAFAAAFAAAFAAAFAAAFAAAFAAAEAAAEAAAEAAAEAAAEAAAEAAADAAADAAABAAABAAD////////8///8///6///6///4///4///3///3///2///2///3///3///4///4///6///6///9///9//8AAAAAAAADAAADAAAJAAAJAAANAAANAAALAAALAAAIAAAIAAAFAAAFAAD////////5///5///5///5///7///7//8BAAABAAACAAACAAABAAABAAD+///+///6///6///3///3///0///0///3///3///9///9//8EAAAEAAADAAADAAACAAACAAD+///+///8///8///7///7///7///7///9///9//8DAAADAAAGAAAGAAAGAAAGAAAEAAAEAAABAAABAAD9///9///5///5///0///0///z///z///0///0///4///4///7///7//8AAAAAAAADAAADAAAHAAAHAAAJAAAJAAAHAAAHAAAGAAAGAAAFAAAFAAAFAAAFAAAGAAAGAAAFAAAFAAADAAADAAD////////+///+///9///9///8///8///7///7///7///7///7///7///8///8///+///+//8BAAABAAABAAABAAD9///9///8///8///7///7///5///5///5///5///9///9//8CAAACAAAFAAAFAAAFAAAFAAAFAAAFAAAGAAAGAAAGAAAGAAAIAAAIAAAKAAAKAAAMAAAMAAAMAAAMAAALAAALAAAKAAAKAAAIAAAIAAAGAAAGAAAEAAAEAAACAAACAAADAAADAAAFAAAFAAAGAAAGAAAFAAAFAAACAAACAAABAAABAAACAAACAAABAAABAAACAAACAAAAAAAAAAD+///+///+///+///+///+//8CAAACAAADAAADAAAHAAAHAAAKAAAKAAAKAAAKAAAIAAAIAAAHAAAHAAAGAAAGAAAEAAAEAAADAAADAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAD+///+//8AAAAAAAAAAAAAAAACAAACAAAEAAAEAAAIAAAIAAAGAAAGAAAEAAAEAAAHAAAHAAAFAAAFAAACAAACAAABAAABAAAEAAAEAAAEAAAEAAAIAAAIAAAHAAAHAAAHAAAHAAAHAAAHAAAEAAAEAAADAAADAAAHAAAHAAAHAAAHAAADAAADAAAEAAAEAAADAAADAAADAAADAAAJAAAJAAAEAAAEAAD+///+///+///+///+///+///8///8///9///9///+///+///+///+//8CAAACAAACAAACAAADAAADAAAFAAAFAAAEAAAEAAADAAADAAADAAADAAADAAADAAAEAAAEAAAGAAAGAAAHAAAHAAAGAAAGAAAHAAAHAAAHAAAHAAAFAAAFAAAEAAAEAAACAAACAAAAAAAAAAAAAAAAAAD///////8AAAAAAAABAAABAAACAAACAAACAAACAAADAAADAAACAAACAAADAAADAAADAAADAAACAAACAAAAAAAAAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAD///////8AAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAACAAACAAABAAABAAACAAACAAACAAACAAACAAACAAACAAACAAABAAABAAABAAABAAAAAAAAAAD+///+//////////8AAAAAAAD///////////////8BAAABAAABAAABAAAAAAAAAAABAAABAAD+///+//8AAAAAAAABAAABAAACAAACAAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAD////////////////////////+///+///8///8///8///8///+///+///8///8///6///6///7///7///8///8///8///8///8///8///9///9///////////////////7///7///7///7//8BAAABAAD8///8///1///1//////////8DAAADAAD9///9///9///9///+///+///6///6///7///7///////////9///9///8///8///+///+///+///+///////////6///6///7///7///////////+///+///+///+///8///8//////////8DAAADAAD+///+//8CAAACAAD7///7///9///9//8BAAABAAADAAADAAABAAABAAD+///+//8EAAAEAAD///////8AAAAAAAAAAAAAAAAEAAAEAAABAAABAAD////////+///+//8CAAACAAD+///+//8GAAAGAAACAAACAAD///////8CAAACAAAGAAAGAAADAAADAAABAAABAAADAAADAAACAAACAAD+///+//8EAAAEAAAAAAAAAAD+///+//8AAAAAAAACAAACAAD+///+//8AAAAAAAD9///9///+///+///6///6///9///9///+///+///+///+///+///+//////////8AAAAAAAAAAAAAAAAHAAAHAAAHAAAHAAAGAAAGAAD9///9//8DAAADAAACAAACAAD///////8AAAAAAAAGAAAGAAD8///8///2///2//8BAAABAAAMAAAMAADZ///Z//8gAAAgAADj///j///u///u//8IAAAIAADz///z//8BAAABAAAHAAAHAAD8///8///4///4//8HAAAHAAD+///+//8GAAAGAAAFAAAFAAAFAAAFAAD///////8AAAAAAAD///////8HAAAHAAD8///8///7///7///9///9///////////9///9//8EAAAEAAACAAACAAD8///8//8BAAABAAD8///8//8DAAADAAD+///+//8CAAACAAD7///7///+///+//8AAAAAAAAGAAAGAAAFAAAFAAABAAABAAD///////8AAAAAAAAAAAAAAAD6///6//8BAAABAAD6///6///+///+///7///7///////////8///8///9///9///8///8///9///9//8BAAABAAAAAAAAAAACAAACAAABAAABAAADAAADAAAEAAAEAAADAAADAAAFAAAFAAAFAAAFAAACAAACAAAAAAAAAAAEAAAEAAACAAACAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAD+///+///8///8///7///7///6///6///7///7///7///7///9///9///+///+///8///8///9///9///8///8///8///8//////////8AAAAAAAAEAAAEAAADAAADAAAIAAAIAAAJAAAJAAAFAAAFAAAEAAAEAAAHAAAHAAAHAAAHAAAFAAAFAAAEAAAEAAAFAAAFAAAEAAAEAAD+///+///9///9///9///9///+///+///8///8///6///6///9///9///9///9///3///3///6///6///9///9///+///+//8CAAACAAAFAAAFAAADAAADAAD///////////////8GAAAGAAAIAAAIAAAKAAAKAAAFAAAFAAD+///+//8BAAABAAD5///5///4///4///+///+///6///6///5///5///7///7///8///8//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAFAAAFAAAHAAAHAAAKAAAKAAAIAAAIAAAGAAAGAAAMAAAMAAAIAAAIAAAJAAAJAAAEAAAEAAAEAAAEAAACAAACAAD////////+///+///+///+///8///8///+///+//8BAAABAAD6///6//////////////////8BAAABAAAAAAAAAAABAAABAAAFAAAFAAAFAAAFAAAGAAAGAAAFAAAFAAAJAAAJAAAFAAAFAAAIAAAIAAAKAAAKAAABAAABAAAAAAAAAAD9///9//8BAAABAADt///t//8LAAALAAD7///7///t///t//8MAAAMAAD0///0///z///z//8TAAATAAD0///0//8CAAACAAALAAALAAD4///4//8PAAAPAAAFAAAFAAD///////8QAAAQAAAMAAAMAAD3///3//8JAAAJAAD8///8///4///4///7///7///6///6//8HAAAHAAD6///6///+///+//8AAAAAAAD2///2///4///4///3///3//8DAAADAAD3///3//8DAAADAAD7///7///////////8///8//8IAAAIAAADAAADAAD///////8HAAAHAAD9///9///7///7///////////z///z///7///7///9///9///6///6///+///+///+///+///+///+//////////8CAAACAAD4///4//8AAAAAAAD9///9//8FAAAFAAAAAAAAAAAFAAAFAAAAAAAAAAD5///5//8GAAAGAAAAAAAAAAAGAAAGAAD7///7//8CAAACAAAAAAAAAAACAAACAAAEAAAEAAD7///7///7///7///6///6///5///5//8DAAADAAAEAAAEAAACAAACAAAEAAAEAAD///////8EAAAEAAAEAAAEAAAEAAAEAAABAAABAAD9///9//8GAAAGAAACAAACAAAEAAAEAAADAAADAAD+///+//8GAAAGAAD///////8BAAABAAD+///+//8CAAACAAD+///+///7///7///9///9//////////8AAAAAAAABAAABAAAAAAAAAAD////////+///+///9///9///+///+//8AAAAAAAACAAACAAD///////8CAAACAAAFAAAFAAD///////8BAAABAAD////////+///+///9///9///7///7///9///9///9///9///4///4///8///8///6///6///8///8///////////+///+//8BAAABAAABAAABAAABAAABAAABAAABAAABAAABAAACAAACAAD///////////////8AAAAAAAD+///+///8///8///////////+///+///+///+///+///+///7///7///+///+//8AAAAAAAAAAAAAAAD+///+//8AAAAAAAABAAABAAACAAACAAAEAAAEAAAEAAAEAAD///////8AAAAAAAD+///+//8AAAAAAAAAAAAAAAD9///9//////////8AAAAAAAD////////+///+///6///6///9///9///+///+///8///8//8DAAADAAACAAACAAABAAABAAAAAAAAAAAAAAAAAAD9///9//////////////////8AAAAAAAD+///+///////////+///+///8///8///7///7///7///7///8///8///8///8///8///8///7///7///8///8///8///8///9///9///+///+///9///9//////////////////8AAAAAAAAAAAAAAAD////////+///+//8AAAAAAAD////////9///9///8///8///+///+///8///8///+///+///7///7///+///+//8AAAAAAAABAAABAAABAAABAAD////////+///+///+///+//////////////////8AAAAAAAABAAABAAABAAABAAD+///+///////////+///+///////////////////+///+//8BAAABAAD////////+///+//8AAAAAAAD+///+///+///+///////////9///9//8BAAABAAD+///+///////////+///+//8AAAAAAAD+///+//////////8BAAABAAAEAAAEAAACAAACAAADAAADAAAEAAAEAAACAAACAAACAAACAAABAAABAAACAAACAAAAAAAAAAAEAAAEAAAAAAAAAAABAAABAAD///////////////8BAAABAAADAAADAAACAAACAAAAAAAAAAACAAACAAABAAABAAACAAACAAADAAADAAACAAACAAADAAADAAAEAAAEAAACAAACAAAEAAAEAAABAAABAAACAAACAAACAAACAAADAAADAAAFAAAFAAAEAAAEAAACAAACAAAAAAAAAAD////////9///9//8AAAAAAAD///////8AAAAAAAACAAACAAAEAAAEAAADAAADAAACAAACAAADAAADAAADAAADAAAFAAAFAAAGAAAGAAAGAAAGAAAEAAAEAAADAAADAAADAAADAAABAAABAAD////////+///+//8CAAACAAAEAAAEAAAEAAAEAAADAAADAAABAAABAAABAAABAAACAAACAAACAAACAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAACAAACAAABAAABAAADAAADAAADAAADAAADAAADAAAAAAAAAAACAAACAAACAAACAAAEAAAEAAAEAAAEAAAFAAAFAAADAAADAAAAAAAAAAAAAAAAAAABAAABAAADAAADAAAEAAAEAAACAAACAAADAAADAAADAAADAAACAAACAAADAAADAAACAAACAAACAAACAAABAAABAAABAAABAAAAAAAAAAABAAABAAABAAABAAABAAABAAADAAADAAABAAABAAADAAADAAAEAAAEAAAEAAAEAAAEAAAEAAADAAADAAADAAADAAAEAAAEAAADAAADAAAEAAAEAAADAAADAAAEAAAEAAADAAADAAACAAACAAADAAADAAAEAAAEAAADAAADAAADAAADAAADAAADAAACAAACAAADAAADAAADAAADAAAEAAAEAAACAAACAAABAAABAAADAAADAAADAAADAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAD////////4///4///+///+//8CAAACAAAFAAAFAAADAAADAAD9///9//////////////////8CAAACAAAAAAAAAAABAAABAAABAAABAAACAAACAAAEAAAEAAACAAACAAACAAACAAADAAADAAAFAAAFAAADAAADAAAAAAAAAAABAAABAAAAAAAAAAD+///+///+///+///9///9///9///9///9///9//////////8BAAABAAD+///+//8AAAAAAAD///////8BAAABAAABAAABAAACAAACAAACAAACAAD///////8BAAABAAABAAABAAACAAACAAACAAACAAAEAAAEAAAEAAAEAAADAAADAAAEAAAEAAAFAAAFAAAFAAAFAAAFAAAFAAAFAAAFAAAEAAAEAAAEAAAEAAABAAABAAD+///+///9///9///9///9//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////+///+///9///9///+///+///+///+///////////+///+///8///8///8///8///+///+///////////+///+//////////////////8AAAAAAAABAAABAAABAAABAAADAAADAAAEAAAEAAAEAAAEAAADAAADAAACAAACAAADAAADAAADAAADAAACAAACAAACAAACAAADAAADAAAEAAAEAAAEAAAEAAABAAABAAD////////+///+///+///+///////////9///9///+///+///////////+///+///+///+///9///9///+///+///9///9///+///+///////////////////////////+///+///+///+///+///+///////////////////////////9///9///9///9///8///8///9///9///+///+///8///8///9///9///9///9///8///8///+///+///////////+///+///6///6///6///6//8AAAAAAAABAAABAAABAAABAAD////////+///+//8AAAAAAAAAAAAAAAAAAAAAAAACAAACAAABAAABAAAAAAAAAAACAAACAAAAAAAAAAAAAAAAAAABAAABAAD///////8BAAABAAABAAABAAABAAABAAAAAAAAAAD///////////////8AAAAAAAAAAAAAAAD////////9///9///8///8///8///8///+///+///+///+///9///9///9///9///+///+//////////////////////////////////8AAAAAAAABAAABAAAAAAAAAAABAAABAAABAAABAAACAAACAAACAAACAAACAAACAAACAAACAAABAAABAAAAAAAAAAABAAABAAD////////+///+///+///+///+///+//////////8BAAABAAD///////////////8AAAAAAAD///////8AAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAABAAABAAACAAACAAACAAACAAADAAADAAACAAACAAAAAAAAAAD////////////////////////9///9///+///+///+///+///8///8///7///7///7///7///8///8///8///8///8///8///9///9///8///8///7///7///8///8///8///8///9///9///////////+///+///+///+///+///+///+///+///+///+///+///+//////////8AAAAAAAD////////+///+///+///+///9///9///8///8///9///9///9///9///8///8///6///6///8///8///7///7///8///8///+///+///8///8///7///7///8///8///8///8///8///8///+///+///+///+///+///+///+///+///////////9///9///+///+//////////////////8AAAAAAAAAAAAAAAABAAABAAACAAACAAADAAADAAACAAACAAAAAAAAAAAAAAAAAAABAAABAAACAAACAAAAAAAAAAD////////+///+//////////8AAAAAAAAAAAAAAAD////////////////+///+///9///9///9///9//////////8AAAAAAAACAAACAAACAAACAAACAAACAAACAAACAAABAAABAAAAAAAAAAABAAABAAAAAAAAAAABAAABAAACAAACAAAAAAAAAAAAAAAAAAD////////////////////////////////+///+///+///+///+///+///9///9///////////////////9///9///9///9///8///8///8///8///9///9///8///8///8///8///8///8///+///+///9///9///8///8///////////+///+///////////9///9///9///9///+///+///8///8///9///9//8AAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAACAAACAAABAAABAAD////////+///+//////////8AAAAAAAD///////8AAAAAAAABAAABAAABAAABAAACAAACAAADAAADAAABAAABAAABAAABAAABAAABAAACAAACAAABAAABAAACAAACAAABAAABAAAAAAAAAAAAAAAAAAD///////8BAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAACAAACAAACAAACAAACAAACAAABAAABAAAAAAAAAAD///////8BAAABAAABAAABAAAAAAAAAAD///////8AAAAAAAAAAAAAAAABAAABAAACAAACAAACAAACAAABAAABAAABAAABAAAEAAAEAAACAAACAAABAAABAAAAAAAAAAABAAABAAACAAACAAABAAABAAABAAABAAACAAACAAACAAACAAACAAACAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAABAAABAAACAAACAAACAAACAAACAAACAAADAAADAAADAAADAAACAAACAAACAAACAAADAAADAAACAAACAAADAAADAAADAAADAAACAAACAAACAAACAAACAAACAAADAAADAAADAAADAAABAAABAAAAAAAAAAACAAACAAD////////+///+//8AAAAAAAD///////////////////////8AAAAAAAABAAABAAABAAABAAADAAADAAACAAACAAACAAACAAADAAADAAAEAAAEAAADAAADAAADAAADAAAEAAAEAAAEAAAEAAACAAACAAADAAADAAADAAADAAACAAACAAABAAABAAABAAABAAABAAABAAAAAAAAAAABAAABAAABAAABAAAAAAAAAAABAAABAAABAAABAAACAAACAAACAAACAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAD+///+//8BAAABAAAEAAAEAAADAAADAAAAAAAAAAD///////8CAAACAAAFAAAFAAAFAAAFAAADAAADAAAEAAAEAAAEAAAEAAAEAAAEAAABAAABAAD///////8BAAABAAD////////9///9//8CAAACAAABAAABAAACAAACAAAAAAAAAAD+///+//////////////////8BAAABAAACAAACAAAHAAAHAAAHAAAHAAAFAAAFAAAFAAAFAAACAAACAAADAAADAAACAAACAAABAAABAAADAAADAAACAAACAAABAAABAAABAAABAAAAAAAAAAD///////8AAAAAAAAAAAAAAAABAAABAAABAAABAAACAAACAAACAAACAAACAAACAAABAAABAAACAAACAAACAAACAAACAAACAAACAAACAAABAAABAAABAAABAAACAAACAAACAAACAAACAAACAAACAAACAAACAAACAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAAAAAAAAAABAAABAAABAAABAAACAAACAAD////////7///7///5///5///2///2///4///4//8AAAAAAAADAAADAAABAAABAAACAAACAAACAAACAAADAAADAAACAAACAAD+///+///7///7///6///6//////////8BAAABAAD///////8BAAABAAACAAACAAACAAACAAAAAAAAAAABAAABAAAAAAAAAAD7///7///8///8//////////////////8AAAAAAAD///////////////8AAAAAAAD///////8AAAAAAAABAAABAAACAAACAAADAAADAAADAAADAAADAAADAAADAAADAAADAAADAAADAAADAAACAAACAAABAAABAAACAAACAAAAAAAAAAD///////8CAAACAAABAAABAAD///////////////8AAAAAAAAAAAAAAAD+///+///9///9///8///8///7///7///6///6///7///7///7///7///8///8///9///9///+///+///+///+///+///+///+///+///+///+///////////+///+///////////9///9///9///9///////////+///+///9///9///+///+///+///+///+///+///9///9///9///9///+///+///+///+///+///+///9///9///9///9///9///9///9///9///+///+///////////////////////////+///+//////////////////////////8AAAAAAAAAAAAAAAD///////////////////////////////8AAAAAAAABAAABAAABAAABAAADAAADAAADAAADAAACAAACAAABAAABAAABAAABAAABAAABAAAAAAAAAAD////////+///+///+///+///+///+///+///+///+///+//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAD///////8AAAAAAAABAAABAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAD///////8BAAABAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAD////////+///+//8AAAAAAAD////////+///+///////////+///+///+///+//8AAAAAAAABAAABAAD////////+///+///+///+///+///+///////////////////+///+///+///+//8AAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAD////////+///+//////////8AAAAAAAABAAABAAAAAAAAAAD+///+///9///9///7///7///8///8//////////8BAAABAAADAAADAAABAAABAAAAAAAAAAD9///9///5///5///3///3///2///2///5///5///+///+//8BAAABAAADAAADAAAEAAAEAAACAAACAAABAAABAAABAAABAAAAAAAAAAD+///+///+///+///+///+///9///9///+///+//////////////////8AAAAAAAAAAAAAAAABAAABAAABAAABAAAAAAAAAAD///////////////8AAAAAAAABAAABAAACAAACAAACAAACAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAAAAAD///////////////////////////////////////////////////////8AAAAAAAABAAABAAACAAACAAACAAACAAACAAACAAABAAABAAABAAABAAABAAABAAAAAAAAAAD////////+///+///+///+///+///+//////////8AAAAAAAAAAAAAAAD+///+///+///+//////////8AAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAACAAACAAABAAABAAAAAAAAAAAAAAAAAAD///////////////8AAAAAAAAAAAAAAAD////////////////+///+///+///+///+///+///+///+///+///+///+///+//////////8AAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAD///////8BAAABAAACAAACAAAAAAAAAAABAAABAAACAAACAAABAAABAAABAAABAAABAAABAAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAD///////8AAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAD///////////////8AAAAAAAD///////8AAAAAAAABAAABAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////+///+///+///+//////////8BAAABAAAAAAAAAAABAAABAAABAAABAAABAAABAAAAAAAAAAABAAABAAABAAABAAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAD///////8AAAAAAAAAAAAAAAD///////8AAAAAAAABAAABAAAAAAAAAAACAAACAAACAAACAAABAAABAAD+///+//////////8CAAACAAACAAACAAABAAABAAAAAAAAAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAAAAAAAAAD+///+///+///+//////////////////8AAAAAAAABAAABAAAAAAAAAAD///////////////8AAAAAAAD///////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////8AAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAAAAAAD///////8AAAAAAAAAAAAAAAD///////////////8AAAAAAAABAAABAAAAAAAAAAD///////8AAAAAAAABAAABAAABAAABAAD////////////////////////9///9///9///9///+///+///9///9//////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////8AAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAD///////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAD///////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////8AAAAAAAD////////////////+///+//////////////////////////////////////////////////////////8AAAAAAAD////////////////////////////////////////////////+///+///////////+///+///+///+//8AAAAAAAAAAAAAAAD///////8CAAACAAABAAABAAD////////+///+///9///9///8///8//////////8AAAAAAAABAAABAAACAAACAAACAAACAAACAAACAAABAAABAAAAAAAAAAAAAAAAAAABAAABAAD///////8AAAAAAAAAAAAAAAD+///+///+///+//////////8AAAAAAAAAAAAAAAADAAADAAABAAABAAAAAAAAAAABAAABAAD////////+///+//////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAAAAAAAAAAAAAD///////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////8AAAAAAAD///////8AAAAAAAD///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAACAAACAAACAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////8AAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////+///+//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAAAAAD///////////////8AAAAAAAD///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAACAAACAAACAAACAAABAAABAAACAAACAAACAAACAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAABAAABAAACAAACAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAD///////8AAAAAAAABAAABAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAABAAABAAABAAABAAABAAABAAAAAAAAAAACAAACAAAAAAAAAAABAAABAAACAAACAAACAAACAAD///////8BAAABAAABAAABAAACAAACAAD///////8AAAAAAAAEAAAEAAD///////8AAAAAAAAEAAAEAAD+///+//8AAAAAAAACAAACAAD9///9//////////8AAAAAAAD+///+//8BAAABAAACAAACAAABAAABAAABAAABAAD8///8//8BAAABAAACAAACAAD///////8BAAABAAAAAAAAAAAAAAAAAAACAAACAAD///////8BAAABAAACAAACAAD+///+//8AAAAAAAABAAABAAAAAAAAAAABAAABAAABAAABAAACAAACAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAABAAABAAACAAACAAABAAABAAAAAAAAAAABAAABAAACAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////8AAAAAAAAAAAAAAAD///////////////////////8AAAAAAAAAAAAAAAAAAAAAAAD///////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAD///////8AAAAAAAD///////////////8AAAAAAAD///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAAAAAAAAAAAAAD///////8AAAAAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAD///////////////////////////////8AAAAAAAD///////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////8AAAAAAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAAAAAAAAAD///////8AAAAAAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAD///////////////8AAAAAAAABAAABAAACAAACAAACAAACAAABAAABAAABAAABAAAAAAAAAAABAAABAAAAAAAAAAD///////////////////////8AAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAD///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\"","export default \"data:audio/wav;base64,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AgD2AwBFAgB4BACFAgDcBACyAgAwBQDRAgBtBQDnAgCpBQD+AgDSBQAPAwDpBQARAwASBgAWAwAhBgABAwAvBgDoAgA2BgDFAgA4BgCPAgA7BgBaAgA4BgAgAgAzBgDaAQAbBgCGAQAMBgAzAQD8BQDlAADhBQCOAAC/BQAvAACZBQDY//9vBQCE//9MBQBE//82BQAA//8oBQC8/v8jBQCS/v8hBQBr/v8vBQBW/v9BBQBT/v9RBQBj/v9RBQBz/v87BQCF/v8kBQCw/v8KBQDo/v/iBAAh//+zBABS//+WBACM//9vBAC1//9NBADW//83BAD///8UBAAWAADkAwAjAACcAwAfAABCAwAIAAC7AgDX//82AgCq//+2AQCC//8XAQBE//+FAAAP///r///S/v9F//+M/v++/v9e/v9D/v86/v+8/f8M/v9C/f/i/f/g/P/L/f+G/P+8/f85/P+z/f8B/P/A/f/M+//Q/f+W+//q/f9y+/8c/v9a+/9F/v9S+/9+/v9c+//A/v96+/8E//+v+/9Y///6+/+o//9V/P/+//+4/P9NAAAe/f+UAACC/f/fAADr/f8sAQBS/v9wAQC2/v+kAQAg///VAQCD////AQDl//8sAgBJAABXAgCfAAB5AgDgAACSAgAKAQCdAgAVAQCtAgD/AAC0AgDnAAC3AgDFAACuAgCNAACUAgBeAAB8AgA+AABWAgAjAAAkAgAQAAD2AQAGAAC7AQD9//9+AQD2//9GAQDn//8KAQDE///BAACQ//9uAABW//8hAAAU///U///W/v+Y//+l/v9r//91/v8v//9S/v8D//9F/v/l/v9R/v/P/v91/v/F/v+f/v+6/v/a/v/G/v8g///Z/v9h///r/v+k//8Z///k//9W//8LAACR//8mAADO//86AAASAAA6AABVAAA9AAClAABCAAD7AAA3AAA7AQAkAABuAQAWAACYAQD///+oAQDg//+hAQDO//+bAQC6//+OAQCm//92AQCZ//9dAQCK//85AQB9//8UAQBz////AABf///tAAA2///lAAAK///mAADV/v/rAACR/v/4AABZ/v8QAQAx/v88AQAY/v9pAQAV/v+oAQAz/v/1AQBt/v86AgDB/v+OAgAn///MAgCj//8KAwA2AABaAwDJAACaAwBRAQDQAwDEAQDqAwAfAgABBABnAgAbBACcAgAmBAC+AgAiBADQAgADBADiAgDlAwD7AgDHAwAiAwCoAwBNAwCCAwB0AwBMAwCMAwALAwCZAwDRAgCWAwCfAgB+AwBpAgBhAwA9AgAsAwALAgDwAgDdAQC0AgC4AQBxAgB8AQA7AgBIAQAHAgAfAQDKAQDqAACSAQC2AABaAQB3AAAUAQAwAADGAADd//9wAABw//8QAAAF//+5//+c/v9w//82/v86///R/f8U//9i/f///v8L/f/l/v+x/P/O/v9o/P/B/v84/P+g/v8E/P99/v/1+/9g/v/z+/8+/v/1+/8u/v8W/P8v/v9F/P8q/v98/P8q/v+3/P8z/v///P85/v9U/f8//v+s/f88/v8B/v8t/v9L/v8e/v+W/v/9/f/V/v+1/f/y/v9s/f8L//8z/f8g///o/P8m//+p/P8q//95/P8p//86/P8a//8N/P8Z///v+/8a///Q+/8d//+5+/8m//+c+/8p//+H+/9K//9++/9u//+B+/+e//+d+//k///I+/8pAAAU/P+NAAB0/P/hAADo/P9EAQBw/f+vAQAB/v8FAgCq/v92AgBY///WAgAFAAAnAwC5AABzAwBxAQC0AwAkAgDyAwDRAgAqBABxAwBSBAD7AwBjBAB6BABsBADrBABxBABUBQB4BAC4BQBwBAAeBgBfBACBBgBHBADjBgAfBABDBwD9AwCVBwDcAwDmBwC5AwAbCACOAwAzCABfAwAuCAA3AwAQCAAOAwDkBwDfAgCeBwCuAgBNBwB0AgD8BgA+AgC4BgAEAgB8BgDAAQBLBgB6AQAgBgAaAQDwBQC3AADFBQBXAACZBQD0//9tBQCQ//81BQAd///5BAC3/v+1BABN/v9oBADo/f8pBACX/f/gAwA0/f+XAwDo/P9sAwC7/P9MAwCF/P82AwBn/P85AwBj/P9BAwBn/P9IAwBs/P9cAwCA/P9sAwCs/P9lAwDT/P9SAwAB/f8vAwAp/f/0AgBE/f+wAgBj/f9WAgBy/f/0AQB3/f+RAQBz/f8mAQBq/f+2AABd/f84AABB/f++//8Z/f9M///2/P/b/v/S/P9u/v+s/P8L/v+Y/P+u/f97/P9d/f9u/P8g/f93/P/q/P+G/P/N/P+t/P/N/P/k/P/i/P82/f8I/f+N/f89/f/u/f+C/f9i/v/O/f/M/v8j/v89//95/v+2///K/v8lAAAd//+IAABy///jAAC+//86AQAGAACDAQBVAAC9AQCjAADmAQD4AAABAgBQAQAcAgCrAQA2AgAAAgBFAgBSAgBMAgCaAgBKAgDBAgA+AgDWAgA1AgDSAgAvAgDCAgAqAgClAgAgAgB2AgATAgBCAgAGAgAKAgDvAQDeAQDUAQC7AQC8AQCdAQClAQCCAQCRAQBiAQB4AQA9AQBUAQAZAQA3AQD6AAAZAQDWAADuAACyAADFAACRAAChAAByAAB5AABYAABLAABQAAAjAABUAAD9//9WAADR//9kAACw//+AAACX//+bAAB6///AAABv///oAABy///8AAB4//8GAQCJ//8GAQCj///yAAC8///WAADX//+1AAD9//+HAAAgAABTAAA9AAAmAABcAAD4//9wAADJ//99AACe//+CAABx//9+AAA9//9uAAAD//9TAADC/v8xAABx/v8LAAAS/v/e//+v/f+r//9J/f92///k/P8///+K/P8L//8+/P/Z/v/9+/+p/v/S+/+G/v+++/9r/v+2+/9a/v+++/9b/v/W+/9v/v/4+/+L/v8m/P+v/v9i/P/l/v+h/P8h///h/P9g//8q/f+m//98/f/v///P/f8yAAAq/v9vAACP/v+sAADy/v/iAABT//8QAQCx//8vAQADAAA6AQBOAAA7AQCZAAA+AQDdAAA+AQAYAQAyAQBQAQAlAQB1AQATAQCLAQD+AACeAQDwAACqAQDlAAC0AQDXAAC/AQDNAADGAQDIAADDAQC3AAC7AQCmAACxAQCbAACYAQCJAAB6AQB3AABVAQBiAAAkAQBHAADwAAApAADCAAAHAACUAADf//9lAACw//9EAACD//8sAABT//8fAAAb//8lAADk/v87AAC1/v9TAACD/v9lAABO/v93AAAh/v9/AAD4/f94AADU/f9uAAC6/f9cAACr/f8/AACi/f8lAACn/f8LAAC1/f/z///G/f/n///j/f/d//8H/v/Z//8u/v/Z//9W/v/c//+A/v/a//+k/v/Q///E/v+////j/v+l///7/v+G//8K//9i//8V//84//8a//8E//8W///Z/v8M//+3/v8B//+T/v/y/v92/v/g/v9h/v/P/v9L/v+8/v86/v+q/v8v/v+h/v8j/v+j/v8V/v+t/v8G/v/C/v/6/f/h/v/v/f8D///2/f81//8R/v9x//8z/v+o//9k/v/i//+m/v8cAADy/v9WAABE//+KAACf//+/AAD5///wAABPAAAUAQCoAAA1AQD7AABMAQBHAQBaAQCQAQBlAQDZAQBrAQAYAgBgAQBOAgBPAQB9AgA9AQCVAgAfAQCmAgACAQCrAgDiAACgAgC9AACGAgCVAABeAgBwAAAkAgBJAADiAQAgAAChAQD9//9TAQDY//8GAQC5//+7AACa//9wAAB5//8nAABa///u//8////C//8f//+Z///8/v+A///a/v9p//+1/v9V//+N/v9D//9b/v85//8v/v84//8F/v8t///U/f8u//+l/f85//95/f9I//9P/f9j//8s/f+I//8a/f+q//8K/f/I///9/P/n//8C/f/6//8I/f8GAAAc/f8QAABE/f8NAABs/f8EAACY/f/y///O/f/X//8E/v+7//88/v+W//9x/v9u//+i/v9J///M/v8r///v/v8Y//8L//8F//8V///2/v8b///5/v8Z//8C//8M//8I///5/v8Q///i/v8S///L/v8O//+6/v8J//+s/v/9/v+c/v/v/v+d/v/i/v+o/v/Y/v/B/v/V/v/e/v/n/v8E//8O//8+//89//91//94//+z///F///y//8iAAAxAACAAABxAADsAACyAABbAQD2AADJAQAnAQA4AgBSAQChAgB2AQAOAwCVAQBxAwCnAQDZAwC3AQA5BAC/AQCRBAC7AQDjBAC0AQAjBQChAQBYBQCJAQB+BQBrAQCVBQBKAQCUBQAjAQCDBQAAAQBVBQDcAAAPBQC1AADHBACdAABtBACJAAAQBAB4AACrAwBrAABIAwBfAADrAgBVAACbAgBMAABgAgA/AAAoAgAnAAACAgAQAADnAQD1///RAQDQ//+8AQCe//+nAQBs//+XAQA6//97AQD6/v9VAQC3/v8sAQB2/v/7AAA5/v/JAAAD/v+mAADZ/f+GAAC3/f9kAACX/f9GAACM/f8iAACM/f/1//+L/f/L//+f/f+a//+7/f9Y///S/f8X///1/f/Q/v8V/v+I/v80/v9D/v9U/v/3/f9s/v+t/f+A/v9n/f+N/v8l/f+X/v/g/P+d/v+a/P+h/v9V/P+h/v8T/P+j/v/Z+/+o/v+i+/+o/v9w+/+n/v9I+/+q/v81+/+u/v80+/+0/v9C+//D/v9g+//U/v+L+//s/v+9+/8F///1+/8h//84/P9T//98/P+K//+4/P/E///0/P8HAAAx/f9QAABn/f+bAACk/f/sAADm/f9BAQAn/v+MAQBz/v/PAQDG/v8QAgAk//9KAgCG//9zAgDy//+PAgBoAACgAgDWAACcAgA+AQCSAgCWAQB+AgDSAQBdAgD8AQA/AgAKAgAcAgDzAQDyAQDFAQDLAQCBAQCmAQAtAQCGAQDeAABrAQCbAABQAQBnAAA6AQBJAAAoAQBHAAAVAQBaAAAEAQB/AAD6AACvAADtAADfAADZAAALAQDDAAAsAQCpAAA5AQCPAAAwAQBvAAAXAQBKAAD4AAArAADXAAAJAAC7AADj//+uAAC9//+tAACW//+4AABu///SAABM///5AAAu//8jAQAM//9HAQD0/v9eAQDp/v9eAQDh/v9IAQDg/v8nAQDy/v/zAAAC//+0AAAQ//9/AAAm//9aAAA5//9LAABK//9SAABd//9hAABr//9vAAB3//9xAACB//9YAACH//8gAACE///T//9///9+//9y//8p//9X///V/v8x//+H/v8H//9A/v/X/v8J/v+q/v/k/f96/v/M/f9K/v/H/f8p/v/Q/f8U/v/b/f8M/v/f/f8P/v/X/f8f/v/E/f9C/v+m/f9u/v+J/f+j/v9+/f/g/v+F/f8e//+f/f9c///U/f+Y//8W/v/M//9e/v/y//+q/v8RAAD4/v8uAABD//9GAACD//9VAAC+//9gAADs//9oAAAHAABrAAAUAABsAAAUAABnAAAOAABdAAANAABSAAAQAABFAAAUAAA4AAATAAArAAAJAAAhAADv//8cAADJ//8ZAACd//8eAABw//8nAABF//8yAAAk//8/AAAW//9RAAAZ//9pAAAl//97AAAz//+LAABB//+cAABL//+oAABN//+sAABC//+hAAAu//+QAAAS//94AADo/v9RAAC1/v8hAACC/v/y//9Y/v/D//9E/v+X//9V/v91//+J/v9W///O/v8+//8a//84//9a//8///99//9R//+A//9t//9l//+W//8u///C///r/v/0//+u/v8qAAB8/v9ZAABh/v+LAABg/v+4AABy/v/bAACU/v/1AAC5/v8EAQDS/v8OAQDW/v8PAQC9/v8KAQCG/v8AAQA4/v/yAADk/f/gAACS/f/LAABS/f+2AAAz/f+eAAA6/f+LAABk/f99AACq/f91AAD7/f90AABE/v93AAB7/v99AACa/v+OAACp/v+qAACm/v/BAACh/v/hAACp/v8GAQDB/v8oAQD1/v9PAQA///9zAQCZ//+SAQD5//+rAQBVAADCAQCqAADRAQDuAADUAQAhAQDRAQBKAQDEAQBdAQCoAQBbAQCGAQBKAQBkAQAlAQA5AQD8AAAPAQDTAADkAACoAAC0AACKAACLAAB3AABlAABvAABKAABoAAA1AABcAAAhAABHAAAUAAAgAAAKAADr//8GAACs//8BAABk///8//8f///6///i/v/z//+1/v/t//+b/v/m//+V/v/g//+d/v/a//+n/v/O//+0/v/D//+7/v+6//+1/v+t//+n/v+g//+R/v+V//97/v+J//9p/v+B//9i/v96//9o/v9x//93/v9u//+S/v9v//+w/v90///N/v97///p/v+M//8A//+k//8H//+////8/v/g///k/v8DAADB/v8qAACb/v9QAAB5/v90AABg/v+WAABV/v+2AABV/v/SAABa/v/oAABd/v/4AABg/v8CAQBc/v8GAQBQ/v/+AABD/v/xAAAw/v/kAAAc/v/RAAAK/v/DAAD5/f+1AADq/f+tAADj/f+uAADn/f+2AAD3/f/GAAAV/v/YAABC/v/2AAB8/v8YAQC6/v88AQD9/v9nAQA8//+RAQBw//+/AQCd///sAQC///8WAgDf//87AgD+//9bAgApAAB3AgBlAACLAgCtAACbAgABAQCkAgBaAQCoAgCoAQCpAgDlAQClAgAHAgCcAgANAgCPAgD5AQB9AgDWAQBpAgCqAQBTAgCAAQA6AgBgAQAiAgBLAQAKAgBCAQDvAQBIAQDWAQBSAQC7AQBZAQChAQBaAQCKAQBJAQBwAQAkAQBVAQDtAAA6AQCpAAAfAQBjAAAFAQAhAADsAADt///TAADL//+3AAC9//+aAADG//9/AADa//9gAADz//9AAAAJAAAiAAAXAAAEAAAWAADn//8HAADI///p//+o//+8//+L//+I//9y//9R//9c//8e//9K///v/v87///P/v8x//++/v8v//+3/v80//+6/v86//+//v9D//+8/v9P//+v/v9d//+W/v9s//91/v97//9O/v+H//8o/v+S//8F/v+b///r/f+g///X/f+i///I/f+i///D/f+i///C/f+g///H/f+d///S/f+Z///e/f+Y///u/f+Z//8B/v+d//8V/v+k//8o/v+v//89/v+7//9V/v/O//92/v/o//+g/v8FAADQ/v8lAAAJ//9JAABG//9tAACH//+UAADI//+4AAAGAADdAABAAAACAQB0AAAkAQCnAABDAQDTAABeAQD3AAB1AQAbAQCHAQA6AQCVAQBXAQCcAQByAQCfAQCNAQCcAQCqAQCVAQDHAQCIAQDkAQB4AQD7AQBmAQAJAgBRAQANAgA8AQABAgAmAQDnAQAQAQDEAQD+AACdAQDvAAB5AQDkAABbAQDdAABFAQDXAAA5AQDXAAA1AQDaAAA3AQDdAAA/AQDkAABHAQDsAABLAQDzAABOAQD4AABPAQD8AABPAQD/AABNAQAAAQBJAQD/AABEAQD7AABDAQD1AABFAQDsAABKAQDeAABUAQDPAABhAQDAAABvAQCyAAB8AQCjAACBAQCVAAB/AQCHAAB6AQB7AABvAQB0AABcAQBuAABFAQBqAAAoAQBoAAAFAQBpAADhAABsAAC+AAByAACfAAB6AACCAACAAABqAACGAABWAACKAABIAACLAAA5AACJAAAtAACGAAAhAAB/AAAQAAB0AAD+//9mAADn//9VAADQ//9CAAC9//8uAACs//8bAACf//8IAACU///2//+Q///o//+R///g//+a///e//+m///g//+3///n///N///x///k///////9//8SAAASAAAnAAAnAAA+AAA5AABVAABJAABrAABcAACCAABtAACTAACEAAChAACiAACuAADCAAC7AADjAADCAAABAQDEAAAaAQDDAAAqAQC/AAAwAQC1AAAvAQCrAAApAQCgAAAdAQCQAAAPAQCAAAACAQBxAAD1AABiAADtAABVAADsAABMAADvAABEAAD4AAA9AAADAQA3AAAIAQAyAAANAQAyAAAOAQAyAAAJAQA3AAD7AAA5AADpAAA8AADZAABCAADLAABFAADFAABJAADGAABJAADQAABKAADhAABHAAD4AABDAAARAQA6AAAqAQAuAABDAQAkAABWAQAZAABnAQAOAABwAQACAABwAQD4//9sAQDu//9lAQDq//9YAQDq//9KAQDr//8+AQDw//8yAQD5//8qAQAHAAAkAQAXAAAlAQAqAAAkAQA+AAAlAQBRAAAjAQBnAAAdAQB6AAARAQCMAAAAAQCcAADvAACrAADdAAC0AADOAAC4AADLAAC5AADOAAC2AADZAACtAADxAACkAAAQAQCbAAAsAQCPAABKAQCFAABhAQB9AABzAQB3AAB9AQB1AAB/AQB4AAB8AQB9AAB3AQCGAABzAQCSAABxAQCfAAB4AQCxAACIAQDDAACfAQDVAAC/AQDlAADeAQDxAAD7AQD4AAAZAgD4AAAuAgD2AAA9AgDvAABEAgDhAAA+AgDLAAAxAgCyAAAcAgCUAAAEAgBxAADqAQBQAADNAQAqAAC0AQAEAACdAQDi//+GAQDB//9vAQCj//9aAQCO//9AAQB5//8hAQBm//8AAQBX///bAABK//+3AABG//+SAABB//9zAABA//9UAABB//83AAA///8kAABB//8XAABD//8RAABE//8OAABF//8OAABG//8PAABE//8SAABB//8XAAA8//8YAAAz//8bAAAq//8dAAAh//8eAAAZ//8eAAAN//8XAAAD//8PAAD5/v8IAADx/v/+///v/v/0///r/v/s///r/v/m///u/v/f///y/v/d///8/v/g//8H///g//8V///g//8h///d//8u///X//89///N//9J///B//9U//+3//9d//+v//9j//+t//9n//+t//9l//+x//9g//+6//9Z///G//9R///V//9J///i//8////v//81///8//8v//8JAAAt//8UAAAt//8eAAAw//8pAAA2//83AABA//9JAABP//9dAABh//90AAB3//+NAACM//+nAACj///DAAC6///cAADP///zAADi//8KAQDw//8eAQD8//8wAQAFAAA/AQAKAABKAQAIAABUAQACAABcAQD5//9jAQDp//9rAQDZ//9yAQDG//94AQCy//97AQCf//98AQCM//94AQB7//9wAQBs//9kAQBi//9QAQBX//83AQBO//8bAQBI///6AABD///bAABB///AAABB//+nAABB//+TAABC//+GAABD//9/AABE//9+AABE//+AAABC//+DAAA///+FAAA7//+EAAA2//99AAAv//9xAAAl//9hAAAa//9PAAAO//87AAAB//8oAAD0/v8VAADn/v8DAADa/v/0///Q/v/p///J/v/e///F/v/U///B/v/L///C/v/D///F/v+5///M/v+u///W/v+h///g/v+R///r/v+A///1/v9s/////v9Z//8J//9J//8R//87//8Y//8y//8c//8s//8f//8q//8g//8s//8f//8x//8e//83//8c//8+//8b//9H//8a//9Q//8b//9b//8e//9n//8l//9z//8u//+A//85//+P//9G//+f//9V//+x//9m///E//94///Y//+L///t//+d//8CAACu//8XAAC9//8qAADK//87AADU//9LAADb//9YAADf//9kAADg//9vAADe//94AADa//+AAADR//+IAADH//+NAAC7//+TAACt//+YAACg//+aAACS//+bAACF//+YAAB6//+TAABw//+LAABp//+CAABk//92AABh//9oAABf//9bAABf//9PAABh//9DAABk//85AABo//8yAABt//8sAABy//8nAAB3//8iAAB8//8cAAB///8WAACC//8OAACD//8EAACD///5//+C///v//+B///m//9////e//97///Z//93///X//9z///X//9v///W//9q///X//9n///W//9k///V//9j///S//9j///K//9j///B//9k//+2//9o//+r//9s//+e//9y//+S//95//+F//9+//94//+D//9q//+I//9b//+L//9M//+N//8+//+P//8v//+O//8g//+M//8R//+I//8E//+E///6/v9////y/v96///u/v92///u/v90///w/v9y///1/v9z///7/v91/////v95//8C//9///8E//+G//8F//+O//8G//+X//8I//+h//8M//+s//8R//+2//8a///B//8l///K//8x///S//8////a//9L///f//9V///k//9e///n//9l///p//9p///p//9s///p//9v///o//9y///l//91///i//97///f//+A///b//+F///W//+I///S//+L///P//+M///L//+N///H//+M///E//+L///C//+K///B//+I///A//+G///B//+E///C//+C///E//+B///G//9////H//9+///I//99///I//98///J//97///J//96///I//93///G//92///E//91///C//91//+///92//+8//95//+6//9+//+4//+C//+3//+H//+2//+L//+1//+N//+2//+O//+3//+O//+5//+N//+8//+K//++//+H///C//+C///G//99///K//97///O//94///T//93///Y//93///d//91///g//91///k//9z///m//9w///n//9s///n//9p///n//9o///n//9m///m//9m///l//9n///k//9q///j//9t///i//9y///j//92///k//97///m//+B///p//+G///s//+L///w//+Q///2//+V///8//+Z//8CAACd//8JAACg//8OAACi//8TAACl//8WAACn//8ZAACp//8aAACs//8aAACv//8ZAACx//8XAACz//8UAAC0//8QAAC0//8MAACy//8GAACw//8BAACt///8//+p///2//+n///y//+k///u//+i///q//+g///m//+e///k//+c///i//+Z///h//+V///h//+R///h//+M///i//+G///k//+B///m//99///p//95///s//92///w//90///z//9z///3//9z///7//9z///+//90//8CAAB1//8FAAB2//8IAAB4//8LAAB6//8NAAB9//8PAACA//8QAACD//8SAACG//8TAACK//8UAACN//8WAACR//8XAACT//8ZAACW//8bAACY//8cAACZ//8eAACZ//8gAACa//8iAACa//8kAACa//8mAACb//8oAACc//8pAACd//8qAACe//8sAACg//8tAACh//8tAACi//8uAACk//8vAACl//8wAACm//8wAACn//8xAACo//8xAACq//8yAACr//8yAACt//8zAACv//80AACy//80AAC1//81AAC4//82AAC7//83AAC+//83AADB//84AADD//85AADG//86AADI//86AADK//87AADM//87AADO//87AADQ//87AADR//87AADS//87AADT//86AADU//85AADV//85AADV//84AADV//83AADV//82AADV//82AADV//81AADV//80AADV//80AADV//80AADV//8zAADV//8zAADW//8zAADW//8zAADW//8zAADX//8zAADX//8zAADY//8yAADY//8yAADZ//8yAADa//8yAADa//8yAADb//8xAADb//8xAADc//8xAADc//8xAADd//8xAADd//8xAADe//8wAADe//8wAADf//8wAADf//8wAADg//8wAADg//8vAADh//8vAADh//8vAADi//8vAADi//8vAADj//8uAADj//8uAADk//8uAADk//8uAADl//8uAADl//8tAADl//8tAADm//8tAADm//8tAADn//8tAADn//8sAADo//8sAADo//8sAADp//8sAADp//8sAADp//8rAADq//8rAADq//8rAADr//8rAADr//8rAADr//8qAADs//8qAADs//8qAADt//8qAADt//8qAADt//8pAADu//8pAADu//8pAADv//8pAADv//8pAADv//8oAADw//8oAADw//8oAADx//8oAADx//8oAADx//8nAADy//8nAADy//8nAADy//8nAADz//8nAADz//8mAADz//8mAAD0//8mAAD0//8mAAD0//8mAAD1//8lAAD1//8lAAD1//8lAAD2//8lAAD2//8lAAD2//8kAAD3//8kAAD3//8kAAD3//8kAAD4//8kAAD4//8kAAD4//8jAAD5//8jAAD5//8jAAD5//8jAAD5//8jAAD6//8iAAD6//8iAAD6//8iAAD7//8iAAD7//8iAAD7//8hAAD7//8hAAD8//8hAAD8//8hAAD8//8hAAD8//8hAAD9//8gAAD9//8gAAD9//8gAAD+//8gAAD+//8gAAD+//8fAAD+//8fAAD///8fAAD///8fAAD///8fAAD///8fAAD///8eAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAABAAAdAAABAAAdAAABAAAdAAABAAAdAAACAAAdAAACAAAdAAACAAAcAAACAAAcAAACAAAcAAADAAAcAAADAAAcAAADAAAcAAADAAAbAAADAAAbAAAEAAAbAAAEAAAbAAAEAAAbAAAEAAAaAAAEAAAaAAAFAAAaAAAFAAAaAAAFAAAaAAAFAAAaAAAFAAAZAAAFAAAZAAAGAAAZAAAGAAAZAAAGAAAZAAAGAAAZAAAGAAAZAAAGAAAYAAAHAAAYAAAHAAAYAAAHAAAYAAAHAAAYAAAHAAAYAAAHAAAXAAAIAAAXAAAIAAAXAAAIAAAXAAAIAAAXAAAIAAAXAAAIAAAWAAAIAAAWAAAJAAAWAAAJAAAWAAAJAAAWAAAJAAAWAAAJAAAWAAAJAAAVAAAJAAAVAAAJAAAVAAAKAAAVAAAKAAAVAAAKAAAVAAAKAAAUAAAKAAAUAAAKAAAUAAAKAAAUAAAKAAAUAAAKAAAUAAALAAAUAAALAAATAAALAAATAAALAAATAAALAAATAAALAAATAAALAAATAAALAAATAAALAAASAAAMAAASAAAMAAASAAAMAAASAAAMAAASAAAMAAASAAAMAAASAAAMAAARAAAMAAARAAAMAAARAAAMAAARAAAMAAARAAAMAAARAAANAAARAAANAAARAAANAAAQAAANAAAQAAANAAAQAAANAAAQAAANAAAQAAANAAAQAAANAAAQAAANAAAQAAANAAAPAAANAAAPAAANAAAPAAANAAAPAAAOAAAPAAAOAAAPAAAOAAAPAAAOAAAPAAAOAAAOAAAOAAAOAAAOAAAOAAAOAAAOAAAOAAAOAAAOAAAOAAAOAAAOAAAOAAAOAAAOAAANAAAOAAANAAAOAAANAAAOAAANAAAOAAANAAAOAAANAAAOAAANAAAPAAANAAAPAAANAAAPAAAMAAAPAAAMAAAPAAAMAAAPAAAMAAAPAAAMAAAPAAAMAAAPAAAMAAAPAAAMAAAPAAAMAAAPAAALAAAPAAALAAAPAAALAAAPAAALAAAPAAALAAAPAAALAAAPAAALAAAPAAALAAAPAAALAAAPAAAKAAAPAAAKAAAPAAAKAAAPAAAKAAAPAAAKAAAPAAAKAAAPAAAKAAAPAAAKAAAPAAAKAAAPAAAKAAAPAAAKAAAPAAAJAAAPAAAJAAAPAAAJAAAPAAAJAAAPAAAJAAAPAAAJAAAPAAAJAAAPAAAJAAAPAAAJAAAPAAAJAAAPAAAIAAAPAAAIAAAPAAAIAAAPAAAIAAAPAAAIAAAPAAAIAAAPAAAIAAAPAAAIAAAPAAAIAAAPAAAIAAAPAAAIAAAPAAAIAAAPAAAHAAAPAAAHAAAPAAAHAAAPAAAHAAAPAAAHAAAPAAAHAAAPAAAHAAAPAAAHAAAPAAAHAAAPAAAHAAAPAAAHAAAPAAAHAAAPAAAGAAAPAAAGAAAPAAAGAAAPAAAGAAAPAAAGAAAPAAAGAAAPAAAGAAAPAAAGAAAPAAAGAAAPAAAGAAAPAAAGAAAPAAAGAAAPAAAGAAAPAAAFAAAPAAAFAAAPAAAFAAAPAAAFAAAPAAAFAAAPAAAFAAAPAAAFAAAPAAAFAAAPAAAFAAAPAAAFAAAPAAAFAAAPAAAFAAAPAAAFAAAPAAAFAAAPAAAFAAAPAAAEAAAPAAAEAAAPAAAEAAAPAAAEAAAPAAAEAAAPAAAEAAAPAAAEAAAPAAAEAAAPAAAEAAAPAAAEAAAPAAAEAAAOAAAEAAAOAAAEAAAOAAAEAAAOAAAEAAAOAAAEAAAOAAADAAAOAAADAAAOAAADAAAOAAADAAAOAAADAAAOAAADAAAOAAADAAAOAAADAAAOAAADAAAOAAADAAAOAAADAAAOAAADAAAOAAADAAAOAAADAAAOAAADAAAOAAADAAAOAAADAAAOAAADAAAOAAACAAAOAAACAAAOAAACAAAOAAACAAAOAAACAAAOAAACAAAOAAACAAAOAAACAAANAAACAAANAAACAAANAAACAAANAAACAAANAAACAAANAAACAAANAAACAAANAAACAAANAAACAAANAAACAAANAAACAAANAAACAAANAAACAAANAAACAAANAAABAAANAAABAAANAAABAAANAAABAAANAAABAAANAAABAAANAAABAAANAAABAAANAAABAAANAAABAAANAAABAAAMAAABAAAMAAABAAAMAAABAAAMAAABAAAMAAABAAAMAAABAAAMAAABAAAMAAABAAAMAAABAAAMAAABAAAMAAABAAAMAAABAAAMAAABAAAMAAABAAAMAAABAAAMAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAAMAAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAAKAAAAAAAKAAAAAAAKAAAAAAAKAAD///8KAAD///8KAAD///8KAAD///8KAAD///8KAAD///8KAAD///8KAAD///8KAAD///8KAAD///8KAAD///8KAAD///8KAAD///8KAAD///8KAAD///8KAAD///8KAAD///8KAAD///8KAAD///8JAAD///8JAAD///8JAAD///8JAAD///8JAAD///8JAAD///8JAAD///8JAAD///8JAAD///8JAAD///8JAAD///8JAAD///8JAAD///8JAAD///8JAAD///8JAAD///8JAAD///8JAAD///8JAAD///8JAAD///8JAAD///8JAAD///8JAAD///8IAAD///8IAAD///8IAAD///8IAAD///8IAAD///8IAAD///8IAAD///8IAAD///8IAAD///8IAAD///8IAAD///8IAAD///8IAAD///8IAAD///8IAAD///8IAAD///8IAAD+//8IAAD+//8IAAD+//8IAAD+//8IAAD+//8IAAD+//8IAAD+//8HAAD+//8HAAD+//8HAAD+//8HAAD+//8HAAD+//8HAAD+//8HAAD+//8HAAD+//8HAAD+//8HAAD+//8HAAD+//8HAAD+//8HAAD+//8HAAD+//8HAAD+//8HAAD+//8HAAD+//8HAAD+//8HAAD+//8HAAD+//8HAAD+//8HAAD+//8HAAD+//8HAAD+//8HAAD+//8GAAD+//8GAAD+//8GAAD+//8GAAD+//8GAAD+//8GAAD+//8GAAD+//8GAAD+//8GAAD+//8GAAD+//8GAAD+//8GAAD+//8GAAD+//8GAAD+//8GAAD+//8GAAD+//8GAAD+//8GAAD+//8GAAD+//8GAAD+//8GAAD+//8GAAD+//8GAAD+//8GAAD+//8GAAD+//8GAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8FAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8EAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8DAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8CAAD+//8BAAD+//8BAAD+//8BAAD+//8BAAD+//8BAAD+//8BAAD+//8BAAD+//8BAAD+//8BAAD+//8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8BAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\"","export default \"data:audio/wav;base64,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/f+n9v+k/f869v/I/f/I9f/E/f9W9f+k/f/p9P93/f+C9P9R/f8u9P82/f/q8/8j/f+08/8c/f+U8/8h/f+K8/80/f+Q8/9W/f+e8/+I/f+w8//M/f++8/8Z/v/L8/9s/v/Z8//D/v/p8/8W///78/9X//8O9P+A//8k9P+M//9D9P99//9r9P9g//+Z9P8+///L9P8a//8I9f/1/v9Q9f/P/v+V9f+o/v/R9f98/v8A9v9G/v8i9v/+/f829v+q/f8/9v9T/f9D9v8E/f8+9v/H/P869v+j/P889v+b/P9K9v+z/P9u9v/q/P+09v85/f8a9/+Z/f+h9////f9A+P9Z/v/v+P+f/v+o+f/T/v9l+v/6/v8g+/8Y///X+/8v//+J/P9B//8v/f9G///K/f89//9U/v8i///M/v/3/v8u//+9/v9z//+B/v+g//9O/v+9//8t/v/J//8q/v/I//9G/v+9//9+/v+m///K/v+D//8t//9S//+r//8Y//9JAADZ/v8JAQCd/v/gAQBp/v/EAgBC/v+rAwAv/v+OBAAv/v9kBQA+/v8jBgBb/v/FBgCD/v9LBwCr/v+wBwDQ/v/uBwDt/v8LCAD9/v8SCAAF//8RCAAH//8UCAAO//8iCAAc//89CAAz//9jCABf//+PCACa//+/CADe///6CAAcAAA7CQBNAACDCQBxAADQCQCKAAAcCgCbAABoCgCfAACmCgCQAADHCgB0AADICgBWAACrCgA9AABsCgAuAAAWCgAnAAC0CQArAABNCQA+AADlCABiAACGCACJAAAnCACqAAC/BwC+AABHBwDBAAC5BgC2AAAbBgCdAAB1BQCAAADQBABeAAA0BAA7AACmAwAVAAAiAwDp//+0AgC+//9mAgCX//8+AgB7//84AgBm//9IAgBU//9fAgA///90AgAp//+DAgAM//+IAgDl/v94AgC5/v9XAgCO/v8qAgBq/v/zAQBU/v+wAQBH/v9fAQA6/v8DAQAh/v+WAAD7/f8jAADM/f+6//+a/f9k//9n/f8u//82/f8X//8R/f8Z///0/P8y///e/P9b///Q/P+V///K/P/t///M/P9kAADY/P/xAADu/P+JAQAP/f8iAgBA/f+sAgCA/f8XAwDN/f9SAwAg/v9bAwBx/v83AwC4/v/hAgD5/v9VAgAv//+nAQBT///iAABo//8UAAB0//9R//98//+m/v+K//8W/v+i//+m/f/Q//9S/f8TAAAe/f9eAAAS/f+rAAAq/f/2AABn/f89AQDG/f9+AQBD/v+5AQDZ/v/lAQB2///7AQAKAAAAAgCGAAD8AQDrAAD4AQA1AQD9AQBuAQAZAgCgAQBRAgDOAQClAgD/AQAVAwA2AgCQAwBtAgAKBACcAgB2BAC0AgDPBAC5AgASBQCsAgBGBQCdAgB2BQCUAgCnBQCeAgDiBQC/AgApBgDuAgB4BgAuAwDUBgCEAwA8BwDsAwCxBwBcBAAuCADGBAClCAAaBQAOCQBQBQBuCQBgBQC+CQBHBQD8CQACBQAxCgCVBABfCgAUBACOCgCJAwDDCgD0AgD7CgBaAgAvCwDBAQBWCwAmAQBsCwCQAABtCwAOAABcCwCq//87CwBj//8RCwA4///nCgAi//++CgAj//+PCgAx//9eCgBH//8vCgBz//8GCgC1///pCQAJAADZCQBrAADbCQDQAADyCQAnAQAbCgBhAQBNCgBxAQCFCgBaAQC4CgAvAQDhCgD0AAD7CgCwAAABCwB6AADnCgBaAACqCgBKAABKCgBKAADMCQBbAAA6CQB5AACjCACeAAAOCADGAAB/BwDuAADzBgAXAQBiBgBFAQDJBQBwAQAfBQCRAQBnBACiAQClAwClAQDYAgCWAQD+AQBpAQAhAQAXAQBMAACkAACB//8YAADI/v93//8m/v/L/v+c/f8X/v8n/f9b/f/I/P+k/P91/P/u+/8q/P80+//a+/9t+v9++/+W+f8b+/+z+P+4+v/Q9/9e+v//9v8Q+v9R9v/V+f/I9f+x+f9j9f+c+f8p9f+X+f8f9f+f+f9D9f+t+f+J9f/C+f/q9f/b+f9h9v/4+f/j9v8W+v9f9/8v+v/N9/88+v8j+P86+v9h+P8x+v+R+P8k+v+y+P8W+v+/+P8H+v+++P/s+f+0+P+6+f+c+P9u+f9/+P8T+f9q+P+q+P9j+P84+P9p+P/E9/98+P9V9/+c+P/y9v/O+P+f9v8Y+f9g9v+D+f819v8d+v8h9v/h+v8o9v/H+/9R9v/F/P+e9v/E/f8Q9/+u/v+g9/9q//9I+P/n//8G+f8pAADN+f9BAACT+v80AABY+/8PAAAR/P/o//+w/P/P//8v/f/F//+L/f/S///J/f/6///t/f8yAAAG/v97AAAZ/v/TAAAv/v86AQBF/v+1AQBd/v9GAgBz/v/nAgB7/v+JAwBz/v8mBABc/v+zBAA3/v8mBQAE/v9xBQDE/f+MBQCD/f+ABQBJ/f9RBQAW/f8GBQDw/P+iBADa/P8nBADO/P+eAwDG/P8PAwC3/P97AgCY/P/gAQBe/P86AQAH/P+OAACW+//e//8R+/8x//+E+v+Z/v/z+f8d/v9n+f+5/f/p+P9w/f97+P9B/f8c+P8q/f/Q9/8j/f+W9/8l/f9r9/8r/f9Q9/8t/f9L9/8q/f9X9/8f/f9r9/8D/f+E9//S/P+p9/+O/P/f9/9A/P8p+P/m+/+J+P+A+//9+P8U+/98+f+n+v/2+f81+v9r+v/H+f/e+v9n+f9K+/8S+f+x+//G+P8T/P+C+P93/P9H+P/d/P8W+P9J/f/09/+//f/s9/9C/v8F+P/M/v8++P9f//+U+P8BAAAH+f+zAACJ+f91AQAH+v9AAgBw+v8PAwC4+v/iAwDl+v+1BAAI+/+EBQAl+/9NBgBD+/8KBwBu+/+oBwCu+/8fCAAC/P9tCABw/P+RCADy/P+RCAB5/f99CAAA/v9lCACH/v9TCAAQ//9HCACZ//9ACAAmAAA2CAC4AAAbCABFAQDqBwDNAQCiBwBHAgBIBwCqAgDcBgDtAgBhBgAPAwDfBQAaAwBdBQAXAwDeBAAIAwBsBADqAgALBAC9AgC7AwCMAgB2AwBbAgAxAwAuAgDiAgAEAgB8AgDgAQD+AQDFAQBoAQC6AQDBAADGAQAPAADwAQBR//9BAgCJ/v+2AgDA/f9KAwD4/P/8AwA2/P/EBACA+/+cBQDY+v95BgA++v9PBwC4+f8cCABP+f/ZCAAA+f+GCQDD+P8WCgCQ+P+GCgBm+P/XCgBD+P8HCwAk+P8SCwAR+P/5CgAE+P/LCgD69/+LCgDo9/8+CgDK9//wCQCj9/+jCQBv9/9dCQA09/8jCQD69v/8CADG9v/nCACe9v/kCACC9v/zCAB09v8VCQB79v9JCQCY9v+KCQDJ9v/RCQAY9/8bCgCF9/9gCgAN+P+UCgCm+P+uCgBI+f+qCgD0+f+PCgCh+v9lCgBM+/8uCgDu+//uCQCK/P+wCQAX/f94CQCU/f9OCQAG/v8uCQBx/v8aCQDV/v8JCQA5///4CACo///tCAArAADsCAC+AAD6CABZAQAYCQD7AQBJCQCaAgCJCQArAwDPCQCsAwATCgAfBABICgB+BABlCgDTBABmCgAmBQBRCgB7BQAtCgDWBQD5CQA9BgCtCQC3BgBMCQBGBwDcCADmBwBiCACQCADfBwA3CQBZBwDOCQDWBgBOCgBZBgC1CgDdBQAMCwBjBQBYCwDwBACVCwCFBADECwAiBADsCwDOAwAPDACLAwAtDABVAwBKDAAsAwBkDAAHAwB6DADkAgCODADBAgCmDACbAgDADAB0AgDUDABJAgDbDAAbAgDbDADpAQDWDACvAQDRDABoAQDLDAAMAQDHDAChAADADAAnAACsDACh//+JDAAX//9WDACN/v8SDAAA/v/DCwB5/f93CwAC/f8vCwCb/P/xCgBG/P+5CgD7+/+CCgC3+/9QCgB8+/8fCgBP+//yCQAu+//NCQAY+/+1CQAH+/+qCQDy+v+kCQDT+v+cCQCl+v+JCQBn+v9oCQAf+v82CQDJ+f/yCABq+f+iCAAL+f9DCACy+P/ZBwBn+P9oBwAq+P/zBgD/9/90BgDm9//xBQDb9/9wBQDd9//4BADq9/+IBAD59/8ZBAAL+P+oAwAh+P8tAwA4+P+hAgBJ+P8HAgBW+P9lAQBi+P++AABj+P8dAABT+P+J//85+P8G//8X+P+U/v/p9/8z/v+t9//l/f9j9/+o/f8N9/91/f+w9v9E/f9O9v8N/f/s9f/F/P+O9f9o/P839f/1+//r9P92+/+w9P/x+v+H9P9o+v9x9P/k+f9z9P9r+f+L9P8C+f+59P+i+P/39P9N+P869f8C+P939f/D9/+q9f+V9//N9f949//h9f9n9//q9f9d9//o9f9U9//d9f9M9//E9f9G9/+V9f9G9/9J9f9N9//k9P9c9/9v9P9p9//y8/9v9/9z8/9w9/8B8/9o9/+g8v9Z9/9P8v9G9/8U8v8z9//z8f8k9//z8f8c9/8R8v8e9/9L8v8j9/+c8v8u9/8L8/9B9/+X8/9a9/8/9P+A9//+9P+39//M9f/79/+i9v9G+P949/+R+P9D+P/a+P//+P8e+f+w+f9a+f9X+v+Z+f/2+v/e+f+R+/8j+v8o/P9k+v+6/P+m+v9M/f/k+v/i/f8f+/97/v9X+/8S//+N+/+m///C+/8yAAD4+/+9AAAt/P9MAQBj/P/gAQCZ/P9zAgDG/P/5AgDq/P9uAwAH/f/VAwAh/f8iBAA6/f9VBABS/f9tBABr/f9vBACL/f9fBACy/f9CBADg/f8jBAAY/v8HBABV/v/vAwCT/v/bAwDO/v/KAwAC//+6AwAq//+pAwBI//+TAwBf//94AwB0//9fAwCG//9PAwCc//9LAwC6//9TAwDi//9oAwAOAACDAwA6AACcAwBmAACrAwCRAACsAwC8AACgAwDnAACMAwAPAQB1AwA0AQBiAwBTAQBVAwBrAQBLAwB8AQBCAwCIAQA0AwCSAQAiAwCXAQANAwCVAQD4AgCHAQDsAgBtAQDvAgBJAQD+AgAZAQATAwDiAAAvAwCmAABPAwBpAABrAwAqAAB+AwDq//+GAwCn//+GAwBf//+IAwAT//+UAwDC/v+sAwBx/v/LAwAk/v/sAwDf/f8QBACi/f81BABu/f9UBABD/f9pBAAh/f92BAAI/f97BAD//P96BAAE/f94BAAU/f9wBAAq/f9kBABI/f9UBABn/f9BBACJ/f8tBACv/f8XBADV/f8ABAD5/f/qAwAa/v/aAwA7/v/YAwBa/v/pAwB2/v8LBACP/v83BACn/v9oBADC/v+aBADh/v/FBAAG///pBAAw//8JBQBg//8oBQCY//9KBQDa//9wBQAiAACaBQBqAADHBQCuAAD0BQDmAAAXBgAPAQAqBgAjAQAtBgAgAQAcBgAJAQD4BQDnAADFBQC+AACNBQCVAABXBQB2AAAoBQBjAAAGBQBcAAD1BABgAAD1BABuAAACBQCDAAAUBQCeAAAhBQC+AAAnBQDfAAAmBQAEAQAkBQAwAQAjBQBkAQAlBQCeAQAmBQDfAQAkBQAlAgAfBQBsAgAUBQCzAgABBQD2AgDmBAAuAwDFBABcAwCkBAB+AwCDBACXAwBoBACpAwBUBAC2AwBEBAC/AwAzBADHAwAjBADNAwARBADSAwD7AwDWAwDkAwDZAwDUAwDbAwDJAwDaAwDAAwDbAwC2AwDbAwCqAwDZAwCbAwDTAwCFAwDIAwBkAwC4AwA5AwCiAwAEAwCLAwDJAgByAwCLAgBXAwBMAgA7AwANAgAeAwDPAQD8AgCUAQDVAgBYAQCsAgAdAQB+AgDjAABLAgCrAAAXAgB8AADlAQBZAACzAQBAAACEAQAsAABWAQAWAAAqAQD9//8AAQDf///XAAC5//+zAACK//+SAABV//94AAAf//9iAADs/v9UAADB/v9MAACe/v9FAACA/v9BAABk/v8+AABL/v87AAAw/v84AAAR/v83AADp/f84AAC3/f8/AAB//f9NAABI/f9kAAAY/f+HAADz/P+zAADZ/P/kAADI/P8ZAQDA/P9LAQC+/P94AQC+/P+eAQC//P+7AQDB/P/QAQDF/P/dAQDM/P/nAQDY/P/wAQDo/P/3AQD5/P/+AQAJ/f8FAgAW/f8MAgAg/f8SAgAl/f8YAgAk/f8bAgAb/f8cAgAN/f8cAgD6/P8aAgDl/P8WAgDT/P8PAgDE/P8EAgC5/P/5AQCz/P/sAQCz/P/dAQC3/P/LAQDD/P+3AQDW/P+iAQDw/P+LAQAN/f91AQAr/f9dAQBI/f9DAQBh/f8oAQB2/f8NAQCE/f/xAACM/f/XAACQ/f/AAACS/f+qAACT/f+WAACU/f+EAACW/f9zAACZ/f9hAACf/f9NAACo/f81AAC0/f8aAADD/f/7///W/f/b///t/f+4//8I/v+V//8o/v9x//9I/v9O//9m/v8r//+D/v8J//+c/v/q/v+y/v/M/v/E/v+y/v/R/v+c/v/e/v+M/v/q/v+B/v/5/v97/v8J//95/v8Y//95/v8n//97/v82//9+/v9D//+B/v9Q//+D/v9Z//+G/v9e//+J/v9h//+O/v9h//+U/v9i//+c/v9i//+m/v9k//+x/v9n//+9/v9s///J/v9x///V/v91///h/v95///t/v99///5/v+B//8F//+G//8S//+L//8g//+S//8v//+a//89//+i//9L//+r//9Z//+0//9l//+9//9x///G//97///O//+D///X//8=\"","import type { SoundEvent, SoundConfig } from './SoundContext';\n\n// Bundled default sounds. Vite emits these as assets and rewrites the imports\n// to the published URLs, so consumers get working sound with zero config.\n//\n// These are real audio clips. Six files cover all events — several events\n// share one file (see assets/README.md for the full mapping). Replace a file\n// in place to restyle, or override any event via the `sounds` prop on\n// <ExerciseRenderer>.\nimport dragStart from './assets/drag-start.wav';\nimport dragDrop from './assets/drag-drop.wav';\nimport buttonClick from './assets/button-click.wav';\nimport inputSelect from './assets/select-input.wav';\nimport answerCorrect from './assets/answer-correct.wav';\nimport answerWrong from './assets/answer-wrong.wav';\n\nexport const DEFAULT_SOUNDS: Record<SoundEvent, string> = {\n  'drag-start': dragStart,\n  'drag-drop': dragDrop,\n  'drag-cancel': dragDrop,\n  'radio-select': buttonClick,\n  'pair-select': buttonClick,\n  'pair-link': buttonClick,\n  'pair-unlink': buttonClick,\n  'keypad-press': buttonClick,\n  'matcher-select': buttonClick,\n  'fraction-shade': buttonClick,\n  'clock-hour-tick': buttonClick,\n  'clock-minute-tick': buttonClick,\n  'counter-step': buttonClick,\n  'cursor-step': buttonClick,\n  'cursor-release': dragDrop,\n  'input-select': inputSelect,\n  'answer-correct': answerCorrect,\n  'answer-wrong': answerWrong,\n};\n\n/** Merge consumer overrides over the bundled defaults. */\nexport function resolveSounds(overrides?: SoundConfig): SoundConfig {\n  return overrides ? { ...DEFAULT_SOUNDS, ...overrides } : DEFAULT_SOUNDS;\n}\n","import React, { createContext, useContext, useEffect, useMemo, useRef, useCallback } from 'react';\nimport { resolveSounds } from './defaults';\n\n// ============================================\n// TYPES\n// ============================================\n\n/** All sound events the renderer can emit. */\nexport type SoundEvent =\n  | 'drag-start'\n  | 'drag-drop'\n  | 'drag-cancel'\n  | 'radio-select'\n  | 'pair-select'\n  | 'pair-link'\n  | 'pair-unlink'\n  | 'keypad-press'\n  | 'matcher-select'\n  | 'fraction-shade'\n  | 'clock-hour-tick'\n  | 'clock-minute-tick'\n  | 'counter-step'\n  | 'cursor-step'\n  | 'cursor-release'\n  | 'input-select'\n  | 'answer-correct'\n  | 'answer-wrong';\n\n/**\n * Maps a sound event to either:\n *  - a `string` URL (renderer plays it via the native Audio API), or\n *  - a `() => void` callback (consumer owns playback — preloading, mobile\n *    unlock, volume, etc.).\n * Omitted events are silent.\n */\nexport type SoundConfig = Partial<Record<SoundEvent, string | (() => void)>>;\n\ninterface SoundContextValue {\n  play: (event: SoundEvent) => void;\n}\n\nconst SoundContext = createContext<SoundContextValue | null>(null);\n\n// ============================================\n// PROVIDER\n// ============================================\n\nexport interface SoundProviderProps {\n  children: React.ReactNode;\n  /** Master on/off switch. When false, `play()` is a no-op. */\n  enabled?: boolean;\n  /**\n   * Per-event overrides (URL or callback), merged over the bundled defaults.\n   * Omit to use the built-in sounds for every event.\n   */\n  sounds?: SoundConfig;\n}\n\n/**\n * Builds a stable `play(event)` bound to the given config. Exposed separately\n * so a component can both share the player via context AND call it directly\n * (e.g. ExerciseRenderer firing `submit` / feedback sounds from its imperative\n * submit(), which runs outside the provider's own subtree).\n */\nexport function useSoundPlayer(\n  enabled: boolean,\n  sounds?: SoundConfig,\n): (event: SoundEvent) => void {\n  // Cache one Audio element per URL. Re-using avoids spawning a new element\n  // (and a fresh network fetch/decode) on every play — important for rapid\n  // events like keypad presses. Lazy creation also keeps the first play\n  // inside the triggering user gesture, satisfying mobile autoplay rules.\n  const audioCache = useRef<Map<string, HTMLAudioElement>>(new Map());\n\n  // Latest config in a ref so `play` keeps a stable identity (no consumer\n  // re-renders) while still reading fresh values.\n  const enabledRef = useRef(enabled);\n  enabledRef.current = enabled;\n  const resolved = useMemo(() => resolveSounds(sounds), [sounds]);\n  const soundsRef = useRef<SoundConfig>(resolved);\n  soundsRef.current = resolved;\n\n  // Pre-warm: instantiate + buffer every URL ahead of the first interaction so\n  // the first play isn't stalled by fetch/decode latency. Buffering (not\n  // playing) outside a user gesture is allowed on mobile. Keyed on the URL set\n  // so it re-runs only when the actual sources change.\n  const urlKey = Object.values(resolved)\n    .filter((v): v is string => typeof v === 'string')\n    .join('|');\n  useEffect(() => {\n    const cache = audioCache.current;\n    // Evict elements whose URL left the config so a runtime `sounds` swap\n    // doesn't leak stale Audio entries forever.\n    const liveUrls = new Set(\n      Object.values(resolved).filter((v): v is string => typeof v === 'string'),\n    );\n    for (const url of [...cache.keys()]) {\n      if (liveUrls.has(url)) continue;\n      cache.get(url)?.pause();\n      cache.delete(url);\n    }\n    if (!enabled) return;\n    for (const url of liveUrls) {\n      if (cache.has(url)) continue;\n      try {\n        const audio = new Audio(url);\n        audio.preload = 'auto';\n        audio.load();\n        cache.set(url, audio);\n      } catch {\n        /* ignore — falls back to lazy create on play */\n      }\n    }\n    // urlKey proxies the identity of `sounds` (via resolveSounds) so the effect\n    // only re-runs when URLs actually change, not on every render.\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [urlKey, enabled]);\n\n  return useCallback((event: SoundEvent) => {\n    if (!enabledRef.current) return;\n    const entry = soundsRef.current?.[event];\n    if (!entry) return;\n\n    if (typeof entry === 'function') {\n      entry();\n      return;\n    }\n\n    // Never let audio failures break the triggering interaction (the caller's\n    // onChange runs after play()). Guard construction, playback, and the\n    // returned promise — jsdom's play() returns undefined, not a Promise.\n    try {\n      let audio = audioCache.current.get(entry);\n      if (!audio) {\n        audio = new Audio(entry);\n        audio.preload = 'auto';\n        audioCache.current.set(entry, audio);\n      }\n      // Reset so overlapping triggers replay from the start.\n      audio.currentTime = 0;\n      const result = audio.play();\n      // play() rejects on autoplay block / interruption — swallow the promise\n      // to avoid unhandled-rejection noise.\n      if (result && typeof result.then === 'function') result.catch(() => {});\n    } catch {\n      /* audio unsupported or blocked — stay silent */\n    }\n  }, []);\n}\n\nexport const SoundProvider: React.FC<SoundProviderProps> = ({\n  children,\n  enabled = true,\n  sounds,\n}) => {\n  const play = useSoundPlayer(enabled, sounds);\n  const value = useMemo<SoundContextValue>(() => ({ play }), [play]);\n  return <SoundContext.Provider value={value}>{children}</SoundContext.Provider>;\n};\n\n/** Shares an already-built `play` over context (see useSoundPlayer). */\nexport const SoundPlayerProvider: React.FC<{\n  play: (event: SoundEvent) => void;\n  children: React.ReactNode;\n}> = ({ play, children }) => {\n  const value = useMemo<SoundContextValue>(() => ({ play }), [play]);\n  return <SoundContext.Provider value={value}>{children}</SoundContext.Provider>;\n};\n\n// ============================================\n// HOOK\n// ============================================\n\n/**\n * Returns `play(event)`. Safe to call outside a SoundProvider — it returns a\n * stable no-op, so widgets never need to know whether sound is wired up.\n */\nexport function useSound(): (event: SoundEvent) => void {\n  const ctx = useContext(SoundContext);\n  return ctx ? ctx.play : NOOP_PLAY;\n}\n\nconst NOOP_PLAY = (_event: SoundEvent): void => {};\n","import React, { createContext, useContext, useState, useCallback, useMemo } from 'react';\nimport {\n  DndContext as DndKitContext,\n  DragOverlay,\n  useSensor,\n  useSensors,\n  PointerSensor,\n  KeyboardSensor,\n  DragStartEvent,\n  DragEndEvent,\n} from '@dnd-kit/core';\nimport type {\n  DragItem,\n  DragOptionData,\n  DropResult\n} from '../schemas';\nimport { useSound } from '../../sounds';\n\n// ============================================\n// CONTEXT\n// ============================================\n\ninterface ExerciseDndContextValue {\n  activeItem: DragItem | null;\n  isDragging: boolean;\n  usedOptionIds: Set<string>; // Source option IDs currently placed in inputs\n  droppedSources: Map<string, string>; // inputWidgetId → source drag option ID\n  registerDropHandler: (targetId: string, handler: (item: DragItem) => boolean | void) => void;\n  unregisterDropHandler: (targetId: string) => void;\n}\n\nconst ExerciseDndContext = createContext<ExerciseDndContextValue | null>(null);\n\nexport function useExerciseDnd() {\n  const ctx = useContext(ExerciseDndContext);\n  if (!ctx) {\n    throw new Error('useExerciseDnd must be used within ExerciseDndProvider');\n  }\n  return ctx;\n}\n\n// Optional hook that doesn't throw - for components that may be outside provider\nexport function useExerciseDndOptional() {\n  return useContext(ExerciseDndContext);\n}\n\n// ============================================\n// PROVIDER\n// ============================================\n\ninterface ExerciseDndProviderProps {\n  children: React.ReactNode;\n  droppedSources: Map<string, string>; // inputWidgetId → source drag option ID\n  onDragEnd?: (result: DropResult) => void;\n}\n\nexport const ExerciseDndProvider: React.FC<ExerciseDndProviderProps> = ({\n  children,\n  droppedSources,\n  onDragEnd,\n}) => {\n  const [activeItem, setActiveItem] = useState<DragItem | null>(null);\n  const [dropHandlers] = useState(() => new Map<string, (item: DragItem) => boolean | void>());\n  const playSound = useSound();\n\n  // Collect all source option IDs currently placed in inputs\n  const usedOptionIds = useMemo(() => {\n    return new Set(droppedSources.values());\n  }, [droppedSources]);\n\n  // Sensors with activation constraints to prevent accidental drags\n  const sensors = useSensors(\n    useSensor(PointerSensor, {\n      activationConstraint: {\n        distance: 5, // 5px movement before drag starts\n      },\n    }),\n    useSensor(KeyboardSensor)\n  );\n\n  const registerDropHandler = useCallback((targetId: string, handler: (item: DragItem) => boolean | void) => {\n    dropHandlers.set(targetId, handler);\n  }, [dropHandlers]);\n\n  const unregisterDropHandler = useCallback((targetId: string) => {\n    dropHandlers.delete(targetId);\n  }, [dropHandlers]);\n\n  const handleDragStart = (event: DragStartEvent) => {\n    const { active } = event;\n    const raw = active.data.current as Record<string, unknown>;\n    const item: DragItem = raw?.type === 'placed-chip'\n      ? { type: 'placed-chip', widgetId: raw.widgetId as string, label: raw.label as string, sourceOptionId: raw.sourceOptionId as string | undefined }\n      : raw as DragItem;\n    setActiveItem(item);\n    playSound('drag-start');\n  };\n\n  const handleDragEnd = (event: DragEndEvent) => {\n    const { active, over } = event;\n\n    if (over && active.data.current) {\n      const item = active.data.current as DragItem;\n      const targetId = String(over.id);\n\n      // Call registered handler for this drop target\n      const handler = dropHandlers.get(targetId);\n      if (handler && handler(item) !== false) {\n        playSound('drag-drop');\n      }\n\n      // Notify parent\n      onDragEnd?.({ targetId, item });\n    }\n\n    setActiveItem(null);\n  };\n\n  const handleDragCancel = () => {\n    setActiveItem(null);\n    playSound('drag-cancel');\n  };\n\n  return (\n    <ExerciseDndContext.Provider\n      value={{\n        activeItem,\n        isDragging: activeItem !== null,\n        usedOptionIds,\n        droppedSources,\n        registerDropHandler,\n        unregisterDropHandler,\n      }}\n    >\n      <DndKitContext\n        sensors={sensors}\n        onDragStart={handleDragStart}\n        onDragEnd={handleDragEnd}\n        onDragCancel={handleDragCancel}\n      >\n        {children}\n\n        {/* Drag overlay - shows what's being dragged */}\n        <DragOverlay dropAnimation={null}>\n          {activeItem && <DragOverlayContent item={activeItem} />}\n        </DragOverlay>\n      </DndKitContext>\n    </ExerciseDndContext.Provider>\n  );\n};\n\n// ============================================\n// DRAG OVERLAY - Customize appearance per type\n// ============================================\n\nconst DragOverlayContent: React.FC<{ item: DragItem }> = ({ item }) => {\n  switch (item.type) {\n    case 'drag-option': {\n      const data = item.data as DragOptionData;\n      return (\n        <div className=\"drag-overlay-option\">\n          {data.label}\n        </div>\n      );\n    }\n\n    case 'placed-chip': {\n      return (\n        <div className=\"drag-overlay-option\">\n          {item.label}\n        </div>\n      );\n    }\n    // Future: Add cases for other drag types\n    // case 'ruler-handle':\n    //   return <RulerHandleOverlay data={item.data} />;\n\n    default:\n      return null;\n  }\n};\n","import React, { useEffect } from 'react';\nimport { useDraggable, useDroppable } from '@dnd-kit/core';\nimport { CSS } from '@dnd-kit/utilities';\nimport type { DragItem, DragItemType } from '../schemas';\nimport { useExerciseDnd } from './DndContext';\n\n// ============================================\n// DRAGGABLE WRAPPER\n// ============================================\n\ninterface DraggableProps {\n  id: string | number;\n  type: Exclude<DragItem['type'], 'placed-chip'>;\n  data: unknown;\n  disabled?: boolean;\n  children: React.ReactNode;\n  className?: string;\n}\n\n/**\n * Generic draggable wrapper - use for any draggable element\n *\n * @example\n * <Draggable id=\"opt-1\" type=\"drag-option\" data={{ value: '5', label: '5' }}>\n *   <button>5</button>\n * </Draggable>\n */\nexport const Draggable: React.FC<DraggableProps> = ({\n  id,\n  type,\n  data,\n  disabled = false,\n  children,\n  className = '',\n}) => {\n  const dragItem: DragItem = { id, type, data };\n\n  const {\n    attributes,\n    listeners,\n    setNodeRef,\n    transform,\n    isDragging,\n  } = useDraggable({\n    id,\n    data: dragItem,\n    disabled,\n  });\n\n  const style: React.CSSProperties = {\n    transform: CSS.Translate.toString(transform),\n    cursor: disabled ? 'default' : 'grab',\n    touchAction: 'none',\n  };\n\n  return (\n    <div\n      ref={setNodeRef}\n      style={style}\n      className={`draggable ${isDragging ? 'dragging' : ''} ${className}`}\n      {...listeners}\n      {...attributes}\n    >\n      {children}\n    </div>\n  );\n};\n\n// ============================================\n// DROPPABLE WRAPPER\n// ============================================\n\ninterface DroppableProps {\n  id: string;\n  accepts?: DragItemType[]; // Which types can be dropped here\n  onDrop: (item: DragItem) => boolean | void;\n  disabled?: boolean;\n  children: React.ReactNode;\n  className?: string;\n}\n\n/**\n * Generic droppable wrapper - use for any drop target\n *\n * @example\n * <Droppable id=\"input-1\" accepts={['drag-option']} onDrop={handleDrop}>\n *   <input value={value} readOnly />\n * </Droppable>\n */\nexport const Droppable: React.FC<DroppableProps> = ({\n  id,\n  accepts,\n  onDrop,\n  disabled = false,\n  children,\n  className = '',\n}) => {\n  const { activeItem, registerDropHandler, unregisterDropHandler } = useExerciseDnd();\n\n  const {\n    setNodeRef,\n    isOver,\n  } = useDroppable({\n    id,\n    disabled,\n  });\n\n  // Register drop handler\n  useEffect(() => {\n    registerDropHandler(id, (item: DragItem) => {\n      if (accepts && !accepts.includes(item.type)) {\n        return false;\n      }\n      return onDrop(item);\n    });\n\n    return () => {\n      unregisterDropHandler(id);\n    };\n  }, [id, accepts, onDrop, registerDropHandler, unregisterDropHandler]);\n\n  // Check if current drag is valid for this target\n  const canDrop = activeItem && (!accepts || accepts.includes(activeItem.type));\n  const isValidOver = isOver && canDrop;\n\n  return (\n    <div\n      ref={setNodeRef}\n      className={`droppable ${isValidOver ? 'drop-active' : ''} ${isOver && !canDrop ? 'drop-invalid' : ''} ${className}`}\n    >\n      {children}\n    </div>\n  );\n};\n","import { useState, useRef } from 'react';\nimport type { Position } from '../../schemas';\n\ninterface UseDragOptions {\n  initialPosition?: Position;\n  onDragStart?: () => void;\n  onDragEnd?: () => void;\n}\n\ninterface UseDragReturn {\n  position: Position;\n  isDragging: boolean;\n  startDrag: (clientX: number, clientY: number) => void;\n  moveDrag: (clientX: number, clientY: number) => void;\n  endDrag: () => void;\n}\n\n/**\n * Hook for drag state of a tool.\n * All pointer events (mouse + touch) are wired up in DraggableTool\n * via document-level listeners so drag continues even when the cursor\n * leaves the element boundary.\n */\nexport function useDrag(options: UseDragOptions = {}): UseDragReturn {\n  const { initialPosition = { x: 0, y: 0 }, onDragStart, onDragEnd } = options;\n\n  const [position, setPosition] = useState<Position>(initialPosition);\n  const [isDragging, setIsDragging] = useState(false);\n  const dragStartPos = useRef({ x: 0, y: 0 });\n  const positionRef = useRef<Position>(initialPosition);\n\n  const startDrag = (clientX: number, clientY: number) => {\n    setIsDragging(true);\n    dragStartPos.current = {\n      x: clientX - positionRef.current.x,\n      y: clientY - positionRef.current.y,\n    };\n    onDragStart?.();\n  };\n\n  const moveDrag = (clientX: number, clientY: number) => {\n    const next: Position = {\n      x: clientX - dragStartPos.current.x,\n      y: clientY - dragStartPos.current.y,\n    };\n    positionRef.current = next;\n    setPosition(next);\n  };\n\n  const endDrag = () => {\n    setIsDragging(false);\n    onDragEnd?.();\n  };\n\n  return { position, isDragging, startDrag, moveDrag, endDrag };\n}\n","import { useState } from 'react';\n\ninterface UseRotateOptions {\n  initialRotation?: number;\n}\n\ninterface UseRotateReturn {\n  rotation: number;\n  setRotation: React.Dispatch<React.SetStateAction<number>>;\n}\n\n/**\n * Hook for handling rotation state of tools.\n * Scroll-wheel and drag-to-rotate are wired up natively in DraggableTool\n */\nexport function useRotate(options: UseRotateOptions): UseRotateReturn {\n  const { initialRotation = 0 } = options;\n\n  const [rotation, setRotation] = useState(initialRotation);\n\n  return { rotation, setRotation };\n}\n","import { useState, useRef, useEffect, useCallback } from 'react';\n\nconst REPEAT_DELAY_MS = 5000;\n\n/**\n * Plays a CSS jiggle affordance on mount, then repeats every REPEAT_DELAY_MS\n * until the element is first dragged. Once discovered, jiggling stops permanently.\n */\nexport function useJiggle(isDragging: boolean) {\n  const [jiggling, setJiggling] = useState(true);\n  const [discovered, setDiscovered] = useState(false);\n  const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n  useEffect(() => {\n    if (isDragging && !discovered) {\n      setDiscovered(true);\n      if (timerRef.current) clearTimeout(timerRef.current);\n      setJiggling(false);\n    }\n  }, [isDragging, discovered]);\n\n  useEffect(() => () => { if (timerRef.current) clearTimeout(timerRef.current); }, []);\n\n  const onAnimationEnd = useCallback(() => {\n    setJiggling(false);\n    if (!discovered) {\n      timerRef.current = setTimeout(() => setJiggling(true), REPEAT_DELAY_MS);\n    }\n  }, [discovered]);\n\n  return { jiggling, onAnimationEnd };\n}\n","import React from 'react';\n\nexport interface RulerSvgProps {\n  width?: number;\n}\n\n// Internal design space\nconst VW = 320;\nconst VH = 44;\n/** Rendered height ÷ width — use this to reserve layout space without duplicating viewBox values. */\nexport const RULER_ASPECT_RATIO = VH / VW;\nconst PX = 8;  // horizontal padding\nconst PY = 5;  // vertical padding\nconst BODY_W = VW - PX * 2;\nconst BODY_H = VH - PY * 2;\nconst CM_COUNT = 15;\nconst CM_PX = BODY_W / CM_COUNT;\n\nconst C_BORDER = '#705DC0';\nconst C_FILL   = '#f5f2ff';\nconst C_TICK   = '#4a3a9e';\nconst C_LABEL  = '#2d1f7a';\nconst C_STRIPE = '#c4b8f0';\n\n/**\n * Compact 15 cm ruler — viewBox-based, scales via width prop.\n */\nexport const RulerSvg: React.FC<RulerSvgProps> = ({ width = 240 }) => {\n  const ticks: React.ReactNode[] = [];\n\n  for (let mm = 0; mm <= CM_COUNT * 10; mm++) {\n    const x = PX + (mm / 10) * CM_PX;\n    const isCm  = mm % 10 === 0;\n    const isMid = mm % 5 === 0 && !isCm;\n    const tickH = isCm ? 16 : isMid ? 10 : 6;\n    const sw    = isCm ? 1.2 : 0.7;\n\n    ticks.push(\n      <line\n        key={`mm${mm}`}\n        x1={x} y1={PY}\n        x2={x} y2={PY + tickH}\n        stroke={C_TICK}\n        strokeWidth={sw}\n      />\n    );\n\n    if (isCm && mm > 0 && mm < CM_COUNT * 10) {\n      ticks.push(\n        <text\n          key={`lbl${mm}`}\n          x={x}\n          y={PY + BODY_H - 6}\n          textAnchor=\"middle\"\n          fontSize={8}\n          fontWeight=\"600\"\n          fontFamily=\"Arial, sans-serif\"\n          fill={C_LABEL}\n        >\n          {mm / 10}\n        </text>\n      );\n    }\n  }\n\n  return (\n    <svg\n      width={width}\n      viewBox={`0 0 ${VW} ${VH}`}\n      xmlns=\"http://www.w3.org/2000/svg\"\n      style={{ display: 'block' }}\n      role=\"img\"\n      aria-label=\"Ruler\"\n    >\n      <rect\n        x={PX} y={PY}\n        width={BODY_W} height={BODY_H}\n        rx={2}\n        fill={C_FILL}\n        stroke={C_BORDER}\n        strokeWidth={1.5}\n      />\n      <rect x={PX} y={PY} width={BODY_W} height={4} rx={2} fill={C_STRIPE} opacity={0.6} />\n      {ticks}\n      <text x={PX + 3} y={PY + BODY_H - 6} fontSize={7} fontFamily=\"Arial, sans-serif\" fill={C_LABEL} opacity={0.6}>0</text>\n      <text x={PX + BODY_W - 2} y={PY + BODY_H - 6} textAnchor=\"end\" fontSize={7} fontFamily=\"Arial, sans-serif\" fill={C_BORDER} opacity={0.7}>cm</text>\n    </svg>\n  );\n};\n","import React from 'react';\n\nexport interface ProtractorSvgProps {\n  width?: number;\n}\n\n// Design space: 200 x 112 (semicircle + base strip)\nconst VW = 200;\nconst CX = 100;\nconst CY = 96;\nconst R_OUT = 91;   // outer arc radius\nconst R_IN  = 72;   // inner arc radius (reading band)\nconst R_LBL = 79;   // label radius\n\nconst C_BORDER = '#705DC0';\nconst C_FILL   = '#f5f2ff';\nconst C_TICK   = '#4a3a9e';\nconst C_LABEL  = '#2d1f7a';\nconst BASE_H   = 14;\nconst VH = CY + BASE_H + 2;\n/** Rendered height ÷ width — use this to reserve layout space without duplicating viewBox values. */\nexport const PROTRACTOR_ASPECT_RATIO = VH / VW;\n\nconst toRad = (deg: number) => (deg * Math.PI) / 180;\nconst ptOnArc = (r: number, deg: number) => ({\n  x: CX + r * Math.cos(toRad(180 - deg)),\n  y: CY - r * Math.sin(toRad(180 - deg)),\n});\n\n/**\n * Compact semicircle protractor — viewBox-based, scales via width prop.\n */\nexport const ProtractorSvg: React.FC<ProtractorSvgProps> = ({ width = 180 }) => {\n  const ticks: React.ReactNode[] = [];\n\n  for (let deg = 0; deg <= 180; deg++) {\n    const isMajor = deg % 10 === 0;\n    const isMid   = deg % 5 === 0 && !isMajor;\n    const tickLen = isMajor ? 10 : isMid ? 6 : 3.5;\n    const sw      = isMajor ? 1.2 : 0.6;\n\n    const outer = ptOnArc(R_OUT, deg);\n    const inner = ptOnArc(R_OUT - tickLen, deg);\n\n    ticks.push(\n      <line\n        key={`t${deg}`}\n        x1={outer.x} y1={outer.y}\n        x2={inner.x} y2={inner.y}\n        stroke={C_TICK}\n        strokeWidth={sw}\n      />\n    );\n\n    if (isMajor && deg > 0 && deg < 180) {\n      const lp = ptOnArc(R_LBL, deg);\n      ticks.push(\n        <text\n          key={`l${deg}`}\n          x={lp.x} y={lp.y}\n          textAnchor=\"middle\"\n          dominantBaseline=\"middle\"\n          fontSize={deg % 30 === 0 ? 7.5 : 6}\n          fontWeight={deg % 30 === 0 ? '700' : '400'}\n          fontFamily=\"Arial, sans-serif\"\n          fill={C_LABEL}\n        >\n          {deg}\n        </text>\n      );\n    }\n  }\n\n  const oLeft  = ptOnArc(R_OUT, 0);\n  const oRight = ptOnArc(R_OUT, 180);\n  const iLeft  = ptOnArc(R_IN, 0);\n  const iRight = ptOnArc(R_IN, 180);\n\n  return (\n    <svg\n      width={width}\n      viewBox={`0 0 ${VW} ${VH}`}\n      xmlns=\"http://www.w3.org/2000/svg\"\n      style={{ display: 'block' }}\n      role=\"img\"\n      aria-label=\"Protractor\"\n    >\n      {/* Filled semicircle body */}\n      <path\n        d={`M ${oLeft.x} ${oLeft.y} A ${R_OUT} ${R_OUT} 0 0 1 ${oRight.x} ${oRight.y} Z`}\n        fill={C_FILL}\n        stroke={C_BORDER}\n        strokeWidth={1.5}\n      />\n      {/* Base strip */}\n      <rect x={oLeft.x} y={CY} width={R_OUT * 2} height={BASE_H} fill={C_FILL} stroke={C_BORDER} strokeWidth={1.5} />\n      {/* Inner reading arc */}\n      <path\n        d={`M ${iLeft.x} ${iLeft.y} A ${R_IN} ${R_IN} 0 0 1 ${iRight.x} ${iRight.y}`}\n        fill=\"none\"\n        stroke={C_BORDER}\n        strokeWidth={0.8}\n        opacity={0.5}\n      />\n      {/* Ticks */}\n      {ticks}\n      {/* Centre dot */}\n      <circle cx={CX} cy={CY} r={2.5} fill={C_BORDER} />\n      {/* 0° / 180° edge labels */}\n      <text x={oLeft.x + 3} y={CY - 3} fontSize={6.5} fontFamily=\"Arial, sans-serif\" fill={C_LABEL}>0</text>\n      <text x={oRight.x - 3} y={CY - 3} textAnchor=\"end\" fontSize={6.5} fontFamily=\"Arial, sans-serif\" fill={C_LABEL}>180</text>\n    </svg>\n  );\n};\n","import React from 'react';\n\nexport interface SetSquareSvgProps {\n  width?: number;\n  /**\n   * Mirror the set square:\n   *   false (default) → right angle at bottom-right\n   *   true            → right angle at bottom-left\n   * Geometry is recomputed so graduation labels are always readable.\n   */\n  flipped?: boolean;\n}\n\n// ── Design constants ──────────────────────────────────────────────────────────\nconst PAD_SIDE = 22;          // label space on BOTH sides (symmetric viewBox)\nconst PAD_T    = 8;\nconst LEG      = 160;         // leg length (12 cm)\nconst CM       = 12;\nconst CM_PX    = LEG / CM;    // px/cm ≈ 13.33\n\n// Hypotenuse of a 45-45-90 triangle with legs of CM cm ≈ CM*√2 cm.\n// Rounded to the nearest integer for a clean tick count.\nconst HYP_CM   = Math.round(CM * Math.SQRT2);  // 17\nconst BOTTOM_Y = PAD_T + LEG;         // 168 — y of the horizontal base\nconst VW       = PAD_SIDE * 2 + LEG;  // 204 — symmetric: labels fit on either side\nconst VH       = BOTTOM_Y + 20;       // 188\n/** Rendered height ÷ width — use this to reserve layout space without duplicating viewBox values. */\nexport const SET_SQUARE_ASPECT_RATIO = VH / VW;\n\nconst C_BORDER = '#705DC0';\nconst C_FILL   = '#f5f2ff';\nconst C_TICK   = '#4a3a9e';\nconst C_LABEL  = '#2d1f7a';\n\n// Fixed base corners — same in both modes\nconst AX = PAD_SIDE;        // 22  — bottom-left\nconst BX = PAD_SIDE + LEG;  // 182 — bottom-right\n\n/**\n * 45-45-90 set square.\n *\n * Normal  (flipped=false): right angle at bottom-right, apex top-right.\n * Flipped (flipped=true):  right angle at bottom-left,  apex top-left.\n *\n * Geometry is recomputed for each mode — no CSS mirror transform.\n * Graduation labels are always upright and outside the triangle body.\n */\nexport const SetSquareSvg: React.FC<SetSquareSvgProps> = ({ width = 160, flipped = false }) => {\n  // Apex (top corner) — changes side with flipped\n  const CX = flipped ? AX : BX;\n  const CY = PAD_T;  // 8\n\n  // Right-angle corner and per-mode directions\n  const raX         = flipped ? AX : BX;\n  const raDir       = flipped ? +1 : -1;   // toward interior along X from 90° corner\n  const vertX       = flipped ? AX : BX;   // x of vertical leg\n  const tickXDir    = flipped ? +1 : -1;   // tick points inward\n  const labelX      = flipped ? vertX - 7 : vertX + 7;\n  const labelAnchor = flipped ? 'end' : 'start';\n\n  const ticks: React.ReactNode[] = [];\n\n  // ── Bottom edge (AX → BX): identical in both modes ───────────────────────\n  for (let i = 0; i <= CM; i++) {\n    const x     = AX + i * CM_PX;\n    const isMaj = i % 5 === 0;\n    const h     = isMaj ? 10 : i % 2 === 0 ? 6 : 3.5;\n    ticks.push(\n      <line key={`h${i}`}\n        x1={x} y1={BOTTOM_Y} x2={x} y2={BOTTOM_Y - h}\n        stroke={C_TICK} strokeWidth={isMaj ? 1.3 : 0.7}\n      />\n    );\n    if (i > 0 && i < CM) {\n      ticks.push(\n        <text key={`hl${i}`}\n          x={x} y={BOTTOM_Y + 13}\n          textAnchor=\"middle\"\n          fontSize={isMaj ? 7.5 : 6}\n          fontWeight={isMaj ? '700' : '400'}\n          fontFamily=\"Arial, sans-serif\"\n          fill={C_LABEL}\n        >{i}</text>\n      );\n    }\n  }\n\n  // ── Vertical leg: right edge (normal) or left edge (flipped) ─────────────\n  for (let i = 0; i <= CM; i++) {\n    const y     = BOTTOM_Y - i * CM_PX;\n    const isMaj = i % 5 === 0;\n    const w     = isMaj ? 10 : i % 2 === 0 ? 6 : 3.5;\n    ticks.push(\n      <line key={`v${i}`}\n        x1={vertX} y1={y} x2={vertX + tickXDir * w} y2={y}\n        stroke={C_TICK} strokeWidth={isMaj ? 1.3 : 0.7}\n      />\n    );\n    if (i > 0 && i < CM) {\n      ticks.push(\n        <text key={`vl${i}`}\n          x={labelX} y={y + 2.5}\n          textAnchor={labelAnchor as 'start' | 'end'}\n          fontSize={isMaj ? 7.5 : 6}\n          fontWeight={isMaj ? '700' : '400'}\n          fontFamily=\"Arial, sans-serif\"\n          fill={C_LABEL}\n        >{i}</text>\n      );\n    }\n  }\n\n  // ── Hypotenuse ticks ──────────────────────────────────────────────────────\n  // Normal:  A(22,168)→C(182,8)   inward perpendicular = (+x,+y) toward B(182,168)\n  // Flipped: B(182,168)→C(22,8)   inward perpendicular = (-x,+y) toward A(22,168)\n  const hypX1 = flipped ? BX : AX;\n  const hdx   = (CX - hypX1) / HYP_CM;\n  const hdy   = (CY - BOTTOM_Y) / HYP_CM;\n  const hlen  = Math.sqrt(hdx * hdx + hdy * hdy);\n  const hnx   = flipped ?  hdy / hlen : -hdy / hlen;\n  const hny   = flipped ? -hdx / hlen :  hdx / hlen;\n\n  const hypTicks: React.ReactNode[] = [];\n  for (let i = 1; i < HYP_CM; i++) {\n    const x     = hypX1 + i * hdx;\n    const y     = BOTTOM_Y + i * hdy;\n    const isMaj = i % 5 === 0;\n    const t     = isMaj ? 7 : i % 2 === 0 ? 4.5 : 2.5;\n    hypTicks.push(\n      <line key={`hyp${i}`}\n        x1={x} y1={y} x2={x + hnx * t} y2={y + hny * t}\n        stroke={C_TICK} strokeWidth={isMaj ? 1.3 : 0.7}\n      />\n    );\n  }\n\n  return (\n    <svg\n      width={width}\n      viewBox={`0 0 ${VW} ${VH}`}\n      xmlns=\"http://www.w3.org/2000/svg\"\n      style={{ display: 'block' }}\n      role=\"img\"\n      aria-label=\"Set Square\"\n    >\n      {/* Triangle body */}\n      <polygon\n        points={`${AX},${BOTTOM_Y} ${BX},${BOTTOM_Y} ${CX},${CY}`}\n        fill={C_FILL}\n        stroke={C_BORDER}\n        strokeWidth={1.8}\n        strokeLinejoin=\"round\"\n      />\n\n      {/* Graduations */}\n      {ticks}\n\n      {/* Right-angle symbol — small square at the 90° corner, opening toward interior */}\n      <polyline\n        points={`${raX + raDir * 13},${BOTTOM_Y} ${raX + raDir * 13},${BOTTOM_Y - 13} ${raX},${BOTTOM_Y - 13}`}\n        fill=\"none\"\n        stroke={C_BORDER}\n        strokeWidth={1.3}\n      />\n\n      {/* Hypotenuse ticks */}\n      {hypTicks}\n    </svg>\n  );\n};\n","import React, { useRef, useState, useEffect, useCallback } from 'react';\nimport type { ToolType, Position } from '../schemas';\nimport { useDrag } from './hooks/useDrag';\nimport { useRotate } from './hooks/useRotate';\nimport { useJiggle } from '../hooks/useJiggle';\nimport { RulerSvg, ProtractorSvg, SetSquareSvg } from './geometry-svgs';\n\nexport interface DraggableToolProps {\n  id: string;\n  type: ToolType;\n  /** Only used when type === 'custom'. Geometry tools render inline SVG. */\n  imageSrc?: string;\n  initialPosition?: Position;\n  initialRotation?: number;\n  width?: number;\n  className?: string;\n}\n\n/** Left/right edges rotate; the center drags. */\nconst EXTREMITY_RATIO = 0.25;\n\ninterface ToolContentProps {\n  type: ToolType;\n  width?: number;\n  imageSrc?: string;\n  /** Mirrors the set-square geometry, not the wrapper. */\n  flipped?: boolean;\n}\n\nconst ToolContent: React.FC<ToolContentProps> = ({ type, width, imageSrc, flipped }) => {\n  switch (type) {\n    case 'ruler':\n      return <RulerSvg width={width} />;\n    case 'protractor':\n      return <ProtractorSvg width={width} />;\n    case 'set-square':\n      return <SetSquareSvg width={width} flipped={flipped} />;\n    default:\n      return imageSrc ? (\n        <img\n          src={imageSrc}\n          alt={`${type} tool`}\n          draggable={false}\n          style={{ width: width ? `${width}px` : 'auto', pointerEvents: 'none', display: 'block' }}\n        />\n      ) : null;\n  }\n};\n\n/**\n * Draggable geometry tool.\n * Center drag moves it; edge drag and mouse wheel rotate it.\n */\nexport const DraggableTool: React.FC<DraggableToolProps> = ({\n  id,\n  type,\n  imageSrc,\n  initialPosition = { x: 0, y: 0 },\n  initialRotation = 0,\n  width,\n  className = '',\n}) => {\n  const toolRef = useRef<HTMLDivElement>(null);\n  const modeRef = useRef<'drag' | 'rotate' | null>(null);\n  const touchRotateCentre = useRef<{ x: number; y: number } | null>(null);\n\n  const [inRotateZone, setInRotateZone] = useState(false);\n  const [isFlipped, setIsFlipped] = useState(false);\n\n  const drag = useDrag({ initialPosition });\n  const rotate = useRotate({ initialRotation });\n  const { jiggling, onAnimationEnd } = useJiggle(drag.isDragging);\n\n  // Native listeners need stable refs to the latest hook callbacks.\n  const dragRef = useRef(drag);\n  const rotateRef = useRef(rotate);\n  dragRef.current = drag;\n  rotateRef.current = rotate;\n\n  const isInExtremity = useCallback((clientX: number): boolean => {\n    const rect = toolRef.current?.getBoundingClientRect();\n    if (!rect || rect.width === 0) return false;\n    const ratio = (clientX - rect.left) / rect.width;\n    return ratio < EXTREMITY_RATIO || ratio > 1 - EXTREMITY_RATIO;\n  }, []);\n\n  useEffect(() => {\n    const el = toolRef.current;\n    if (!el) return;\n\n    const onTouchStart = (e: TouchEvent) => {\n      if ((e.target as Element).closest('.tool-flip-btn')) return;\n      e.preventDefault();\n      const touch = e.touches[0];\n      if (!touch) return;\n\n      if (isInExtremity(touch.clientX)) {\n        modeRef.current = 'rotate';\n        const rect = el.getBoundingClientRect();\n        touchRotateCentre.current = {\n          x: rect.left + rect.width / 2,\n          y: rect.top + rect.height / 2,\n        };\n      } else {\n        modeRef.current = 'drag';\n        dragRef.current.startDrag(touch.clientX, touch.clientY);\n      }\n    };\n\n    const onTouchMove = (e: TouchEvent) => {\n      e.preventDefault();\n      const touch = e.touches[0];\n      if (!touch) return;\n\n      if (modeRef.current === 'rotate' && touchRotateCentre.current) {\n        const { x: cx, y: cy } = touchRotateCentre.current;\n        const angle = Math.atan2(touch.clientY - cy, touch.clientX - cx) * (180 / Math.PI);\n        rotateRef.current.setRotation(angle);\n      } else if (modeRef.current === 'drag') {\n        dragRef.current.moveDrag(touch.clientX, touch.clientY);\n      }\n    };\n\n    const onTouchEnd = () => {\n      if (modeRef.current === 'drag') dragRef.current.endDrag();\n      touchRotateCentre.current = null;\n      modeRef.current = null;\n    };\n\n    const onWheel = (e: WheelEvent) => {\n      e.preventDefault();\n      const delta = e.deltaY > 0 ? 5 : -5;\n      rotateRef.current.setRotation((prev: number) => ((prev + delta) % 360 + 360) % 360);\n    };\n\n    const opts: AddEventListenerOptions = { passive: false };\n    el.addEventListener('touchstart', onTouchStart, opts);\n    el.addEventListener('touchmove', onTouchMove, opts);\n    el.addEventListener('touchend', onTouchEnd);\n    el.addEventListener('touchcancel', onTouchEnd);\n    el.addEventListener('wheel', onWheel, opts);\n\n    return () => {\n      el.removeEventListener('touchstart', onTouchStart, opts);\n      el.removeEventListener('touchmove', onTouchMove, opts);\n      el.removeEventListener('touchend', onTouchEnd);\n      el.removeEventListener('touchcancel', onTouchEnd);\n      el.removeEventListener('wheel', onWheel, opts);\n    };\n  }, [isInExtremity]);\n\n  const handleMouseDown = (e: React.MouseEvent) => {\n    e.preventDefault();\n    if (isInExtremity(e.clientX)) {\n      modeRef.current = 'rotate';\n\n      const rect = toolRef.current!.getBoundingClientRect();\n      const cx = rect.left + rect.width / 2;\n      const cy = rect.top + rect.height / 2;\n\n      const onMove = (me: MouseEvent) => {\n        rotateRef.current.setRotation(\n          Math.atan2(me.clientY - cy, me.clientX - cx) * (180 / Math.PI)\n        );\n      };\n      const onUp = () => {\n        modeRef.current = null;\n        document.removeEventListener('mousemove', onMove);\n        document.removeEventListener('mouseup', onUp);\n      };\n      document.addEventListener('mousemove', onMove);\n      document.addEventListener('mouseup', onUp);\n    } else {\n      modeRef.current = 'drag';\n      dragRef.current.startDrag(e.clientX, e.clientY);\n\n      const onMove = (me: MouseEvent) => {\n        dragRef.current.moveDrag(me.clientX, me.clientY);\n      };\n      const onUp = () => {\n        dragRef.current.endDrag();\n        modeRef.current = null;\n        document.removeEventListener('mousemove', onMove);\n        document.removeEventListener('mouseup', onUp);\n      };\n      document.addEventListener('mousemove', onMove);\n      document.addEventListener('mouseup', onUp);\n    }\n  };\n\n  const handleMouseMove = (e: React.MouseEvent) => {\n    setInRotateZone(isInExtremity(e.clientX));\n  };\n\n  const handleMouseLeave = () => {\n    setInRotateZone(false);\n  };\n\n  const cursor = drag.isDragging ? 'grabbing' : inRotateZone ? 'crosshair' : 'grab';\n\n  return (\n    <div\n      ref={toolRef}\n      id={id}\n      className={[\n        'draggable-tool',\n        `draggable-tool-${type}`,\n        drag.isDragging ? 'dragging' : '',\n        className,\n      ].filter(Boolean).join(' ')}\n      style={{\n        position: 'absolute',\n        left: drag.position.x,\n        top: drag.position.y,\n        transform: `rotate(${rotate.rotation}deg)`,\n        cursor,\n        zIndex: drag.isDragging ? 1000 : 100,\n        userSelect: 'none',\n      }}\n      onMouseDown={handleMouseDown}\n      onMouseMove={handleMouseMove}\n      onMouseLeave={handleMouseLeave}\n    >\n      <div\n        className={jiggling ? 'tool-content-jiggle' : undefined}\n        onAnimationEnd={onAnimationEnd}\n        style={{ pointerEvents: 'none', display: 'block' }}\n      >\n        <ToolContent type={type} width={width} imageSrc={imageSrc} flipped={isFlipped} />\n      </div>\n      {type === 'set-square' && (\n        <button\n          className={`tool-flip-btn${isFlipped ? ' tool-flip-btn--active' : ''}`}\n          title=\"Retourner l'équerre\"\n          aria-label=\"Retourner l'équerre\"\n          onPointerDown={(e) => e.stopPropagation()}\n          onClick={() => setIsFlipped(f => !f)}\n        >\n          <svg width=\"16\" height=\"16\" viewBox=\"0 0 20 20\" fill=\"none\" aria-hidden=\"true\">\n            <polygon points=\"3,17 9,17 9,7\" fill=\"currentColor\" />\n            <line x1=\"10\" y1=\"2\" x2=\"10\" y2=\"18\"\n              stroke=\"currentColor\" strokeWidth=\"1.5\" strokeDasharray=\"2 1.5\" strokeLinecap=\"round\" />\n            <polygon points=\"17,17 11,17 11,7\" fill=\"currentColor\" opacity=\"0.4\" />\n          </svg>\n        </button>\n      )}\n    </div>\n  );\n};\n","import React from 'react';\nimport { DraggableTool } from './DraggableTool';\nimport type { ToolConfig } from '../schemas';\n\nexport interface ToolsOverlayProps {\n  tools: ToolConfig[];\n  /**\n   * Bump this number to reset all tool positions / rotations / flip state.\n   * Each DraggableTool is keyed as `{id}-{resetKey}`, so a change causes React\n   * to unmount + remount it — identical to how resetKey works for other widgets.\n   */\n  resetKey?: number;\n  className?: string;\n}\n\n/**\n * Container for draggable tools that overlays the exercise area.\n * Tools can be freely positioned and rotated within this container.\n */\nexport const ToolsOverlay: React.FC<ToolsOverlayProps> = ({\n  tools,\n  resetKey = 0,\n  className = '',\n}) => {\n  if (tools.length === 0) return null;\n\n  return (\n    <div className={`tools-overlay ${className}`}>\n      {tools.map((tool) => (\n        <DraggableTool\n          key={`${tool.id}-${resetKey}`}\n          id={tool.id}\n          type={tool.type}\n          imageSrc={tool.imageSrc}\n          initialPosition={tool.initialPosition}\n          initialRotation={tool.initialRotation}\n          width={tool.width}\n        />\n      ))}\n    </div>\n  );\n};\n","import type { DragItem, DragOptionData } from '../dnd';\n\nexport type ChipOnChange = (\n  widgetId: string,\n  value: string,\n  fromDrop?: boolean,\n  sourceOptionId?: string,\n) => void;\n\n/**\n * Apply a dropped item onto the input identified by `targetId`.\n *\n * - `drag-option`: a fresh chip from the bank → fill the target.\n * - `placed-chip`: a chip moved from another input/slot → clear its source slot,\n *   then fill the target. Dropping a chip back onto itself is a no-op.\n *\n * Returns true when the item was handled, false when ignored.\n */\nexport function applyDropToInput(targetId: string, item: DragItem, onChange: ChipOnChange): boolean {\n  if (item.type === 'drag-option') {\n    const data = item.data as DragOptionData;\n    onChange(targetId, data.value, true, String(item.id));\n    return true;\n  }\n  if (item.type === 'placed-chip') {\n    if (item.widgetId === targetId) return false; // dropped back on itself — no-op\n    onChange(item.widgetId, '', false); // clear the source slot\n    onChange(targetId, item.label, true, item.sourceOptionId); // place it here\n    return true;\n  }\n  return false;\n}\n\n/** Minimal shape of a dnd-kit drag-end event we care about for undo. */\ninterface DragEndLike {\n  active: { id: string | number };\n  over: { id: string | number } | null;\n}\n\n/**\n * True when this drag-end means \"undo\": the chip with `dragId` was released\n * over empty space (no drop target). Drops onto an input are handled by that\n * input's drop handler instead.\n */\nexport function isUndoDrop(event: DragEndLike, dragId: string): boolean {\n  return event.active.id === dragId && !event.over;\n}\n","import React from 'react';\nimport { useDraggable, useDndMonitor } from '@dnd-kit/core';\nimport { useExerciseDnd, type PlacedChipItem } from '../dnd';\nimport { isUndoDrop } from './chip-drop';\n\nexport interface PlacedInputChipProps {\n  /** Input id this chip currently occupies (also used in droppedSources). */\n  widgetId: string;\n  value: string;\n  /** Extra classes appended after the base `inline-input-chip`. */\n  className?: string;\n  /** Remove the chip and return its option to the bank. */\n  onRemove: () => void;\n}\n\n/**\n * A value placed into an input via drag-drop, shown as a chip.\n * - Draggable: drag onto another input to move it, or onto empty space to undo.\n * - Click (without dragging) still removes it.\n *\n * Shared by InlineInput and FractionInput (one chip per fraction slot).\n */\nexport const PlacedInputChip: React.FC<PlacedInputChipProps> = ({ widgetId, value, className = '', onRemove }) => {\n  const { droppedSources } = useExerciseDnd();\n  const sourceOptionId = droppedSources.get(widgetId);\n  const dragId = `${widgetId}__chip`;\n\n  const { attributes, listeners, setNodeRef, isDragging } = useDraggable({\n    id: dragId,\n    data: { type: 'placed-chip', widgetId, label: value, sourceOptionId } satisfies PlacedChipItem,\n  });\n\n  // Dropped on empty space (no valid target) → undo. Drops onto an input are\n  // handled by that input's drop handler, which clears this source slot.\n  useDndMonitor({\n    onDragEnd(event) {\n      if (isUndoDrop(event, dragId)) onRemove();\n    },\n  });\n\n  return (\n    <button\n      ref={setNodeRef}\n      className={`inline-input-chip ${className}${isDragging ? ' dragging' : ''}`.trim()}\n      // Only a real pointer click removes (detail >= 1). Keyboard-synthesized\n      // clicks have detail === 0 — ignore them so dnd-kit's KeyboardSensor can\n      // own Space/Enter to start a drag instead of removing the chip.\n      onClick={(e) => { if (e.detail !== 0) onRemove(); }}\n      title=\"Drag to move, or click to remove\"\n      style={{ touchAction: 'none', cursor: 'grab' }}\n      {...listeners}\n      {...attributes}\n    >\n      {value}\n    </button>\n  );\n};\n","import React, { useCallback } from 'react';\nimport { Droppable, type DragItem } from '../dnd';\nimport { PlacedInputChip } from './PlacedInputChip';\nimport { applyDropToInput } from './chip-drop';\nimport type { ValidationStatus } from './types';\nimport { useSound } from '../sounds';\n\nexport interface InlineInputProps {\n  widgetId: string;\n  value: string;\n  isDropped?: boolean;\n  validationStatus?: ValidationStatus;\n  inputType: 'numeric' | 'string';\n  length?: number;\n  digits?: number;\n  placeholder?: string;\n  onChange: (widgetId: string, value: string, fromDrop?: boolean, sourceOptionId?: string) => void;\n  onFocus?: (widgetId: string) => void;\n}\n\n/**\n * Inline input widget - accepts both typed input and drag-drop values\n * When a value is dropped, it shows as a removable chip\n * Otherwise shows a regular text input\n */\nexport const InlineInput: React.FC<InlineInputProps> = ({\n  widgetId,\n  value,\n  isDropped = false,\n  validationStatus = null,\n  inputType,\n  length,\n  digits,\n  placeholder,\n  onChange,\n  onFocus,\n}) => {\n  const playSound = useSound();\n  const handleChange = useCallback((newValue: string, fromDrop = false, sourceOptionId?: string) => {\n    onChange(widgetId, newValue, fromDrop, sourceOptionId);\n  }, [onChange, widgetId]);\n\n  // Accepts fresh bank chips (drag-option) or chips moved from another input (placed-chip).\n  const handleDrop = useCallback((item: DragItem) => {\n    return applyDropToInput(widgetId, item, onChange);\n  }, [onChange, widgetId]);\n\n  const expectedLength = inputType === 'numeric' ? digits : length;\n  const dynamicWidth = `${(expectedLength || 5) * 0.8 + 1}em`;\n  const statusClass = validationStatus ? ` widget--${validationStatus}` : '';\n\n  return (\n    <Droppable\n      id={widgetId}\n      accepts={['drag-option', 'placed-chip']}\n      onDrop={handleDrop}\n      className=\"inline-widget inline-input-droppable\"\n    >\n      {isDropped && value !== '' ? (\n        // Show as chip only when value came from drag-drop\n        <PlacedInputChip\n          widgetId={widgetId}\n          value={value}\n          className={statusClass.trim()}\n          onRemove={() => handleChange('', false)}\n        />\n      ) : (\n        // Regular input for typing\n        <input\n          id={widgetId + '-input'}\n          type=\"text\"\n          className={`inline-input${statusClass}`}\n          value={value}\n          onChange={(e) => handleChange(e.target.value, false)}\n          onMouseDown={() => playSound('input-select')}\n          onFocus={() => onFocus?.(widgetId)}\n          maxLength={expectedLength}\n          style={{ width: dynamicWidth }}\n          placeholder={placeholder}\n        />\n      )}\n    </Droppable>\n  );\n};\n","import React from 'react';\nimport { Draggable, useExerciseDnd, type DragOptionData } from '../../../dnd';\n\nexport interface SingleDragOptionProps {\n  /** Unique DnD id for this chip (e.g. \"drag-option-0\" or \"_inline_drag_opt_0\") */\n  optionId: string;\n  /** Display value of the chip */\n  value: string;\n  /** Called when the chip is clicked instead of dragged */\n  onOptionClick?: (value: string) => void;\n  /** Extra class applied to the outer slot wrapper */\n  className?: string;\n}\n\n/**\n * SingleDragOption - one draggable chip with its empty-slot counterpart.\n *\n * Shared between:\n *  - DragOptions (the panel widget — renders many chips in a pill background)\n *  - InlineDragOption (the inline widget — renders one chip inline in text flow)\n *\n * When the chip is currently \"in use\" (dropped into an input), an empty slot\n * is rendered in its place so the layout stays stable.\n */\nexport const SingleDragOption: React.FC<SingleDragOptionProps> = ({\n  optionId,\n  value,\n  onOptionClick,\n  className = '',\n}) => {\n  const { usedOptionIds } = useExerciseDnd();\n  const isUsed = usedOptionIds.has(optionId);\n\n  return (\n    <div className={`drag-option-slot ${className}`.trim()}>\n      {isUsed ? (\n        <div className=\"drag-option-empty\" aria-hidden=\"true\" />\n      ) : (\n        <Draggable\n          id={optionId}\n          type=\"drag-option\"\n          data={{ value, label: value } as DragOptionData}\n          className=\"drag-option-wrapper\"\n        >\n          <button\n            className=\"drag-option\"\n            onClick={() => onOptionClick?.(value)}\n          >\n            {value}\n          </button>\n        </Draggable>\n      )}\n    </div>\n  );\n};\n","import React from 'react';\n\nexport interface PillBackgroundProps extends React.HTMLAttributes<HTMLDivElement> {\n  width?: React.CSSProperties['width'];\n  minHeight?: React.CSSProperties['minHeight'];\n  fill?: string;\n  children?: React.ReactNode;\n}\n\nexport const PillBackground: React.FC<PillBackgroundProps> = ({\n  width = '100%',\n  minHeight = '72px',\n  fill,\n  children,\n  className = '',\n  style,\n  ...rest\n}) => {\n  const pillVarStyle = fill ? ({ '--exercise-pill-bg': fill } as React.CSSProperties) : {};\n\n  return (\n    <div\n      className={`pill-bg-wrapper ${className}`.trim()}\n      style={{\n        position: 'relative',\n        display: 'inline-flex',\n        alignItems: 'center',\n        justifyContent: 'center',\n        width,\n        minHeight,\n        ...pillVarStyle,\n        ...style,\n      }}\n      {...rest}\n    >\n      <svg\n        viewBox=\"0 0 510 108\"\n        preserveAspectRatio=\"none\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n        aria-hidden=\"true\"\n        style={{\n          position: 'absolute',\n          inset: 0,\n          width: '100%',\n          height: '100%',\n          display: 'block',\n        }}\n      >\n        <path\n          className=\"pill-bg-path\"\n          d=\"M439.707 0C457.071 0 472.52 8.196 482.398 20.9297C498.608 26.3308 510 39.1028 510 54C510 68.8966 498.608 81.667 482.399 87.0684C472.521 99.803 457.072 108 439.707 108H70.8975C53.653 108 38.2956 99.9172 28.4092 87.333C11.7719 82.0918 0.00025108 69.1432 0 54C0 38.8562 11.7721 25.906 28.4102 20.665C38.2966 8.08186 53.6537 0 70.8975 0H439.707Z\"\n        />\n      </svg>\n\n      <div\n        style={{\n          position: 'relative',\n          zIndex: 1,\n          display: 'flex',\n          alignItems: 'center',\n          justifyContent: 'center',\n          width: '100%',\n          height: '100%',\n          padding: '0 2rem',\n          boxSizing: 'border-box',\n        }}\n      >\n        {children}\n      </div>\n    </div>\n  );\n};\n\n","import React from 'react';\nimport { PillBackground } from '../PillBackground';\nimport { SingleDragOption } from './shared/SingleDragOption';\n\nexport interface DragOptionsProps {\n  options: (string | number)[];\n  onOptionClick?: (value: string) => void;\n}\n\n/**\n * DragOptions widget — displays a panel of draggable answer chips.\n * Chips can be dragged to input fields or clicked to select.\n * Shows empty slots for chips that are currently in use.\n *\n * Uses SingleDragOption for each chip so the chip logic is shared\n * with the InlineDragOption widget.\n */\nexport const DragOptions: React.FC<DragOptionsProps> = ({\n  options,\n  onOptionClick,\n}) => {\n  return (\n    <PillBackground>\n      <div className=\"drag-options\">\n        {options.map((option, idx) => {\n          const optionId = `drag-option-${idx}`;\n          const optionValue = String(option);\n\n          return (\n            <SingleDragOption\n              key={optionId}\n              optionId={optionId}\n              value={optionValue}\n              onOptionClick={onOptionClick}\n            />\n          );\n        })}\n      </div>\n    </PillBackground>\n  );\n};\n","import React from 'react';\nimport { SingleDragOption } from './shared/SingleDragOption';\nimport type { InlineDragOptionJSON } from '../../../transformers/zod-schemas';\n\nexport interface InlineDragOptionProps {\n  /** The widget id — also used as the DnD optionId so the chip can be\n   *  tracked across drops (e.g. \"_inline_drag_opt_0\"). */\n  widgetId: string;\n  widget: InlineDragOptionJSON;\n}\n\n/**\n * InlineDragOption — a single draggable chip rendered inline in text flow.\n */\nexport const InlineDragOption: React.FC<InlineDragOptionProps> = ({\n  widgetId,\n  widget,\n}) => {\n\n  return (\n    <div className=\"inline-widget\">\n      <SingleDragOption\n        optionId={widgetId}\n        value={widget.value}\n      />\n    </div>\n  );\n\n};\n\n","import React from 'react';\nimport { useSound } from '../sounds';\n\nexport interface NumericKeypadProps {\n  value: string;\n  includeOperators?: boolean;\n  includeDecimal?: boolean;\n  onChange: (value: string) => void;\n}\n\n/**\n * Numeric keypad widget - pure input widget with no drag-drop\n * Provides buttons for digits 0-9, optional operators (+, -, ×, ÷), and backspace\n * This is just a helper widget for answering, not part of DnD system\n */\nexport const NumericKeypad: React.FC<NumericKeypadProps> = ({\n  value,\n  includeOperators = false,\n  includeDecimal = false,\n  onChange,\n}) => {\n  const playSound = useSound();\n  const handleDigit = (digit: string) => {\n    playSound('keypad-press');\n    onChange(value + digit);\n  };\n\n  const handleBackspace = () => {\n    playSound('keypad-press');\n    onChange(value.slice(0, -1));\n  };\n\n  return (\n    <div className={`numeric-keypad ${includeOperators ? 'numeric-keypad-with-operators' : ''}`}>\n      {/* Row 1: 1, 2, 3, + */}\n      <button className=\"keypad-btn keypad-btn-digit\" onClick={() => handleDigit('1')}>1</button>\n      <button className=\"keypad-btn keypad-btn-digit\" onClick={() => handleDigit('2')}>2</button>\n      <button className=\"keypad-btn keypad-btn-digit\" onClick={() => handleDigit('3')}>3</button>\n      {includeOperators && (\n        <button className=\"keypad-btn keypad-btn-operator\" onClick={() => handleDigit('+')}>+</button>\n      )}\n      \n      {/* Row 2: 4, 5, 6, - */}\n      <button className=\"keypad-btn keypad-btn-digit\" onClick={() => handleDigit('4')}>4</button>\n      <button className=\"keypad-btn keypad-btn-digit\" onClick={() => handleDigit('5')}>5</button>\n      <button className=\"keypad-btn keypad-btn-digit\" onClick={() => handleDigit('6')}>6</button>\n      {includeOperators && (\n        <button className=\"keypad-btn keypad-btn-operator\" onClick={() => handleDigit('-')}>-</button>\n      )}\n      \n      {/* Row 3: 7, 8, 9, × */}\n      <button className=\"keypad-btn keypad-btn-digit\" onClick={() => handleDigit('7')}>7</button>\n      <button className=\"keypad-btn keypad-btn-digit\" onClick={() => handleDigit('8')}>8</button>\n      <button className=\"keypad-btn keypad-btn-digit\" onClick={() => handleDigit('9')}>9</button>\n      {includeOperators && (\n        <button className=\"keypad-btn keypad-btn-operator\" onClick={() => handleDigit('×')}>×</button>\n      )}\n      \n      {/* Row 4: decimal/empty, 0, backspace, ÷ */}\n      {includeDecimal ? (\n        <button className=\"keypad-btn keypad-btn-decimal\" onClick={() => handleDigit(',')}>,</button>\n      ) : (\n        <div />\n      )}\n      <button className=\"keypad-btn keypad-btn-digit\" onClick={() => handleDigit('0')}>0</button>\n      <button className=\"keypad-btn keypad-btn-backspace\" onClick={handleBackspace}>⌫</button>\n      {includeOperators && (\n        <button className=\"keypad-btn keypad-btn-operator\" onClick={() => handleDigit('÷')}>÷</button>\n      )}\n    </div>\n  );\n};","import React, { useCallback } from 'react';\nimport { Droppable, type DragItem } from '../dnd';\nimport { PlacedInputChip } from './PlacedInputChip';\nimport { applyDropToInput } from './chip-drop';\nimport { getFractionKey } from '../../utils/fraction-keys';\nimport { useSound } from '../sounds';\nimport type { ValidationStatus } from './types';\n\nexport interface FractionInputProps {\n  widgetId: string;\n  numerator: number | null;\n  denominator: number | null;\n  values: Record<string, string>;\n  droppedInputs: Set<string>;\n  validationStatus?: ValidationStatus;\n  numValidationStatus?: ValidationStatus;\n  denValidationStatus?: ValidationStatus;\n  onChange: (widgetId: string, value: string, fromDrop?: boolean, sourceOptionId?: string) => void;\n  onFocus?: (widgetId: string) => void;\n  placeholder?: string;\n}\n\nexport const FractionInput: React.FC<FractionInputProps> = ({\n  widgetId,\n  numerator,\n  denominator,\n  values,\n  droppedInputs,\n  validationStatus = null,\n  numValidationStatus = null,\n  denValidationStatus = null,\n  onChange,\n  onFocus,\n  placeholder,\n}) => {\n  const playSound = useSound();\n  const numKey = getFractionKey(widgetId, 'num');\n  const denKey = getFractionKey(widgetId, 'den');\n\n  const numValue = values[numKey] ?? '';\n  const denValue = values[denKey] ?? '';\n  const statusClass = validationStatus ? ` widget--${validationStatus}` : '';\n\n  const handleDrop = useCallback((subKey: string) => (item: DragItem) => {\n    return applyDropToInput(subKey, item, onChange);\n  }, [onChange]);\n\n  const renderSlot = (\n    subKey: string,\n    fixedValue: number | null,\n    currentValue: string,\n    label: string,\n    slotStatus: ValidationStatus\n  ) => {\n    if (fixedValue !== null) {\n      return (\n        <span className=\"fraction-fixed\">{fixedValue}</span>\n      );\n    }\n\n    const isDroppedHere = droppedInputs.has(subKey);\n    // Falls back to whole-widget status when per-slot not available (e.g. expression-mode validation).\n    const slotClass = slotStatus ? ` widget--${slotStatus}` : statusClass;\n\n    return (\n      <Droppable\n        id={subKey}\n        accepts={['drag-option', 'placed-chip']}\n        onDrop={handleDrop(subKey)}\n        className=\"fraction-slot-droppable\"\n      >\n        {isDroppedHere && currentValue !== '' ? (\n          <PlacedInputChip\n            widgetId={subKey}\n            value={currentValue}\n            className={`fraction-chip${slotClass}`}\n            onRemove={() => onChange(subKey, '', false)}\n          />\n        ) : (\n          <input\n            id={`${subKey}-input`}\n            type=\"text\"\n            className={`inline-input fraction-input${slotClass}`}\n            value={currentValue}\n            onChange={(e) => onChange(subKey, e.target.value, false)}\n            onMouseDown={() => playSound('input-select')}\n            onFocus={() => onFocus?.(subKey)}\n            maxLength={placeholder ? Math.max(20, placeholder.length) : 4}\n            size={placeholder ? placeholder.length : undefined}\n            aria-label={label}\n            // Single placeholder shown on both num and den slots as a general hint.\n            placeholder={placeholder}\n          />\n        )}\n      </Droppable>\n    );\n  };\n\n  return (\n    <span className=\"inline-widget fraction\" role=\"math\" aria-label={`fraction ${widgetId}`}>\n      <span className=\"fraction-numerator\">\n        {renderSlot(numKey, numerator, numValue, 'numerator', numValidationStatus)}\n      </span>\n      <span className=\"fraction-bar\" aria-hidden=\"true\" />\n      <span className=\"fraction-denominator\">\n        {renderSlot(denKey, denominator, denValue, 'denominator', denValidationStatus)}\n      </span>\n    </span>\n  );\n};\n","/**\n * Shared group color palette resolution for renderer widgets.\n *\n * Widgets that expose several visual groups can use this without coupling\n * themselves to each other. User-provided colors stay first; generated colors\n * only fill gaps.\n */\n\n/**\n * Determine whether a hex color is \"light\" using relative luminance.\n * Supports 3-char (#rgb) and 6-char (#rrggbb) hex colors.\n */\nexport function isLightColor(hex: string): boolean {\n  const clean = hex.replace('#', '');\n  const full = clean.length === 3\n    ? clean.split('').map(c => c + c).join('')\n    : clean;\n\n  if (!/^[0-9a-fA-F]{6}$/.test(full)) {\n    return false;\n  }\n\n  const r = parseInt(full.slice(0, 2), 16) / 255;\n  const g = parseInt(full.slice(2, 4), 16) / 255;\n  const b = parseInt(full.slice(4, 6), 16) / 255;\n  const lin = (c: number) => (c <= 0.04045 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4);\n  const L = 0.2126 * lin(r) + 0.7152 * lin(g) + 0.0722 * lin(b);\n\n  return (1.05 / (L + 0.05)) < 4.5;\n}\n\n/** Text color to use on a given background for WCAG AA compliance. */\nexport function getTextColorForBackground(color: string): string {\n  const hslLightness = parseHslLightness(color);\n  if (hslLightness !== null) return hslLightness >= 60 ? '#1a1a1a' : '#ffffff';\n  return isLightColor(color) ? '#1a1a1a' : '#ffffff';\n}\n\nfunction generateHslPalette(n: number): string[] {\n  return Array.from({ length: n }, (_, i) => {\n    const hue = Math.round(((i * 360) / n + 200) % 360);\n    return `hsl(${hue}, 60%, 72%)`;\n  });\n}\n\n/** Resolve the final palette of exactly `groupCount` colors. */\nexport function resolveGroupPalette(\n  userColors: readonly string[] | undefined,\n  groupCount: number,\n): string[] {\n  if (groupCount <= 0) return [];\n\n  if (!userColors || userColors.length === 0) {\n    return generateHslPalette(groupCount);\n  }\n\n  if (userColors.length >= groupCount) {\n    return userColors.slice(0, groupCount) as string[];\n  }\n\n  const needed = groupCount - userColors.length;\n  const extras = generateHslPalette(needed);\n  return [...userColors, ...extras];\n}\n\nexport interface DistinctGroupPaletteOptions {\n  seedColors?: readonly string[];\n  excludeColors?: readonly string[];\n}\n\nexport function resolveDistinctGroupPalette(\n  groupCount: number,\n  options: DistinctGroupPaletteOptions = {},\n): string[] {\n  if (groupCount <= 0) return [];\n\n  const used = new Set((options.excludeColors ?? []).map(normalizeColorToken));\n  const palette: string[] = [];\n\n  for (const color of options.seedColors ?? []) {\n    const token = normalizeColorToken(color);\n    if (used.has(token)) continue;\n    palette.push(color);\n    used.add(token);\n    if (palette.length === groupCount) return palette;\n  }\n\n  const addCandidates = (candidates: readonly string[]) => {\n    for (const color of candidates) {\n      const token = normalizeColorToken(color);\n      if (used.has(token)) continue;\n      palette.push(color);\n      used.add(token);\n      if (palette.length === groupCount) return;\n    }\n  };\n\n  addCandidates(generateHslPalette(groupCount));\n\n  let candidateCount = groupCount + 1;\n  while (palette.length < groupCount) {\n    addCandidates(generateHslPalette(candidateCount++));\n  }\n\n  return palette;\n}\n\nexport function getGroupClassName(groupIndex: number): string {\n  return `widget-group-${groupIndex + 1}`;\n}\n\nfunction normalizeColorToken(color: string): string {\n  return color.replace(/\\s+/g, '').toLowerCase();\n}\n\nfunction parseHslLightness(color: string): number | null {\n  const match = color.match(/^hsl\\(\\s*[\\d.]+\\s*,\\s*[\\d.]+%\\s*,\\s*([\\d.]+)%\\s*\\)$/i);\n  return match ? Number(match[1]) : null;\n}\n","/**\n * Pure data-transformation helpers for VisualFraction.\n */\n\n/** Sum all group counts. */\nexport function sumCounts(counts: readonly number[]): number {\n  return counts.reduce((sum, count) => sum + count, 0);\n}\n\n/**\n * Expand group counts into a flat array of group indices.\n * e.g. [2, 1] → [0, 0, 1]\n */\nexport function countsToPartGroups(counts: readonly number[]): number[] {\n  return counts.flatMap((count, groupIndex) =>\n    Array.from({ length: count }, () => groupIndex),\n  );\n}\n\n/**\n * Clamp each element of `value` into the range [0, expected[i]].\n * Returns zeros when `value` is absent.\n */\nexport function normalizeCounts(\n  value: number[] | undefined,\n  expected: readonly number[],\n): number[] {\n  if (!Array.isArray(value)) return expected.map(() => 0);\n  return expected.map((max, i) => Math.max(0, Math.min(max, value[i] ?? 0)));\n}\n\n/** Stable string key for a count array — used to skip redundant syncs. */\nexport function serializeCounts(value: readonly number[] | undefined): string | null {\n  return Array.isArray(value) ? value.join('|') : null;\n}\n\n/**\n * Build a per-slot assignment array from group counts.\n * Filled slots (indices < filledCount) are always null in the output —\n * they are handled separately via `countsToPartGroups`.\n */\nexport function countsToAssignments(\n  counts: readonly number[],\n  divisions: number,\n  filledCount: number,\n): Array<number | null> {\n  const assignments: Array<number | null> = Array.from({ length: divisions }, () => null);\n  let index = filledCount;\n\n  counts.forEach((count, groupIndex) => {\n    for (let i = 0; i < count && index < divisions; i++) {\n      assignments[index] = groupIndex;\n      index++;\n    }\n  });\n\n  return assignments;\n}\n\n/**\n * Cycle the assignment of `partIndex` through:\n *   null → 0 → 1 → … → (groupCount - 1) → null\n */\nexport function getNextAssignments(\n  assignments: readonly (number | null)[],\n  partIndex: number,\n  groupCount: number,\n): Array<number | null> {\n  if (groupCount === 0) return [...assignments];\n\n  const current = assignments[partIndex] ?? null;\n  const next =\n    current === null ? 0\n    : current + 1 >= groupCount ? null\n    : current + 1;\n\n  const updated = [...assignments];\n  updated[partIndex] = next;\n  return updated;\n}\n\n/**\n * Reduce a slot-assignment array back to per-group counts.\n */\nexport function assignmentsToCounts(\n  assignments: readonly (number | null)[],\n  groupCount: number,\n): number[] {\n  const counts = Array.from({ length: groupCount }, () => 0);\n  for (const groupIndex of assignments) {\n    if (groupIndex !== null && groupIndex >= 0 && groupIndex < groupCount) {\n      counts[groupIndex] = (counts[groupIndex] ?? 0) + 1;\n    }\n  }\n  return counts;\n}\n","import { useEffect, useRef, useState } from 'react';\nimport {\n  countsToAssignments,\n  getNextAssignments,\n  assignmentsToCounts,\n  normalizeCounts,\n  serializeCounts,\n} from './part-utils';\n\ninterface UseVisualFractionStateOptions {\n  widgetId: string;\n  divisions: number;\n  filledCount: number;\n  answer: readonly number[];\n  value: number[] | undefined;\n  onChange: (widgetId: string, value: number[]) => void;\n}\n\ninterface UseVisualFractionStateResult {\n  partAssignments: Array<number | null>;\n  handlePartClick: (partIndex: number) => void;\n}\n\n/**\n * Encapsulates all interactive state for VisualFraction:\n * - syncing external `value` prop → internal slot assignments\n * - cycling group assignments on click\n * - emitting onChange with the updated counts\n */\nexport function useVisualFractionState({\n  widgetId,\n  divisions,\n  filledCount,\n  answer,\n  value,\n  onChange,\n}: UseVisualFractionStateOptions): UseVisualFractionStateResult {\n  const [partAssignments, setPartAssignments] = useState<Array<number | null>>(\n    () => countsToAssignments(normalizeCounts(value, answer), divisions, filledCount),\n  );\n\n  // Track the last value we emitted ourselves so we can skip the redundant\n  // useEffect sync that would otherwise fire after every onChange call.\n  const lastInternalValueRef = useRef<string | null>(null);\n\n  // Stable string key — avoids re-running the effect when the parent passes\n  // a fresh array reference with the same contents.\n  const valueKey = serializeCounts(value);\n\n  useEffect(() => {\n    if (valueKey !== null && valueKey === lastInternalValueRef.current) return;\n    lastInternalValueRef.current = null;\n    setPartAssignments(\n      countsToAssignments(normalizeCounts(value, answer), divisions, filledCount),\n    );\n  }, [answer, divisions, filledCount, valueKey]);\n\n  const handlePartClick = (partIndex: number) => {\n    if (partIndex < filledCount) return;\n\n    const updated = getNextAssignments(partAssignments, partIndex, answer.length);\n    const nextCounts = assignmentsToCounts(updated, answer.length);\n    lastInternalValueRef.current = serializeCounts(nextCounts);\n    setPartAssignments(updated);\n    onChange(widgetId, nextCounts);\n  };\n\n  return { partAssignments, handlePartClick };\n}\n","import type React from 'react';\n\n// JS-side seeds for palette generation only — keep in sync with widgets.css.\nexport const VISUAL_FRACTION_DISPLAY_COLOR = '#AE9CFF';\nexport const VISUAL_FRACTION_BORDER_COLOR = '#705DC0';\n\n// ─── Part descriptor ──────────────────────────────────────────────────────────\n\n/**\n * All data needed to render one visual fraction part (bar cell, circle sector,\n * or triangle sub-path).  Computed once and passed down to shape components so\n * the shapes stay stateless.\n */\nexport interface VisualFractionPart {\n  /** Position index within the shape (0-based). */\n  index: number;\n  className: string;\n  style: React.CSSProperties | undefined;\n  /** True when this slot can be clicked by the user. */\n  isInteractiveSlot: boolean;\n  /** True when a group is assigned to this slot. */\n  isSelected: boolean;\n  /** Index into the answer/filled palette, or null when empty. */\n  groupIndex: number | null;\n}\n","/**\n * Pure SVG geometry helpers for the VisualFraction widget.\n */\n\n/**\n * Converts the unified `size` unit (cell rem) to a comparable SVG viewport rem\n * for circle/triangle shapes.\n */\nexport const VISUAL_FRACTION_SVG_SIZE_SCALE = 8;\n\n// ─── Circle sectors ──────────────────────────────────────────────────────────\n\nexport type CircleSectorProps =\n  | { kind: 'circle' }\n  | { kind: 'path'; d: string };\n\nexport function getCircleSectorProps(\n  index: number,\n  divisions: number,\n): CircleSectorProps {\n  if (divisions <= 1) return { kind: 'circle' };\n\n  const angle = 360 / divisions;\n  const startAngle = -90 + index * angle;\n  const endAngle = startAngle + angle;\n  const start = polarToCartesian(50, 50, 48, endAngle);\n  const end = polarToCartesian(50, 50, 48, startAngle);\n  const largeArcFlag = angle > 180 ? 1 : 0;\n\n  return {\n    kind: 'path',\n    d: [\n      'M', 50, 50,\n      'L', start.x, start.y,\n      'A', 48, 48, 0, largeArcFlag, 0, end.x, end.y,\n      'Z',\n    ].join(' '),\n  };\n}\n\nexport function polarToCartesian(\n  cx: number,\n  cy: number,\n  r: number,\n  angleInDegrees: number,\n): { x: number; y: number } {\n  const rad = (angleInDegrees * Math.PI) / 180;\n  return { x: cx + r * Math.cos(rad), y: cy + r * Math.sin(rad) };\n}\n\n// ─── Triangle parts ───────────────────────────────────────────────────────────\n\n/**\n * Computes the SVG path for one triangular sub-part of a triangle shape\n * divided into `divisions` equal triangles (divisions must be a perfect square).\n */\nexport function getEqualTrianglePartPath(index: number, divisions: number): string {\n  const side = Math.sqrt(divisions);\n  if (!Number.isInteger(side)) {\n    throw new Error(`getEqualTrianglePartPath: divisions (${divisions}) must be a perfect square.`);\n  }\n\n  const smallSide = 96 / side;\n  const smallHeight = (smallSide * Math.sqrt(3)) / 2;\n  const totalHeight = side * smallHeight;\n  const offsetY = (100 - totalHeight) / 2;\n  let cursor = 0;\n\n  for (let row = 0; row < side; row++) {\n    const y = offsetY + row * smallHeight;\n    const rowLeft = 50 - ((row + 1) * smallSide) / 2;\n\n    // Upright triangles in this row\n    for (let col = 0; col <= row; col++) {\n      if (cursor === index) {\n        const x = rowLeft + col * smallSide;\n        return ['M', x + smallSide / 2, y, 'L', x + smallSide, y + smallHeight, 'L', x, y + smallHeight, 'Z'].join(' ');\n      }\n      cursor++;\n    }\n\n    // Inverted triangles in this row\n    for (let col = 0; col < row; col++) {\n      if (cursor === index) {\n        const x = rowLeft + col * smallSide;\n        return ['M', x + smallSide, y + smallHeight, 'L', x + smallSide / 2, y, 'L', x + smallSide * 1.5, y, 'Z'].join(' ');\n      }\n      cursor++;\n    }\n  }\n\n  return '';\n}\n\n// ─── Shared layout helpers ────────────────────────────────────────────────────\n\nexport function isPerfectSquare(value: number): boolean {\n  return Number.isInteger(Math.sqrt(value));\n}\n\nexport function getGridColumnCount(divisions: number): number {\n  return Math.ceil(Math.sqrt(divisions));\n}\n","import type React from 'react';\nimport type { VisualFractionPart } from '../types';\n\n/** Returns the interactive ARIA + event props for a clickable part. */\nexport function getInteractiveProps(\n  part: VisualFractionPart,\n  onPartClick: (index: number) => void,\n) {\n  if (!part.isInteractiveSlot) return {};\n\n  return {\n    onClick: () => onPartClick(part.index),\n    role: 'button' as const,\n    'aria-pressed': part.isSelected,\n    'aria-label': getPartAriaLabel(part),\n    tabIndex: 0,\n    onKeyDown: (event: React.KeyboardEvent<HTMLElement | SVGElement>) => {\n      if (event.key === 'Enter' || event.key === ' ') {\n        event.preventDefault();\n        onPartClick(part.index);\n      }\n    },\n  };\n}\n\nfunction getPartAriaLabel(part: VisualFractionPart): string {\n  return part.groupIndex === null\n    ? `Part ${part.index + 1}, empty`\n    : `Part ${part.index + 1}, group ${part.groupIndex + 1}`;\n}\n","import React from 'react';\nimport type { VisualFractionPart } from '../types';\nimport { getInteractiveProps } from './part-interactions';\n\ninterface BarShapeProps {\n  parts: VisualFractionPart[];\n  divisions: number;\n  orientation: 'horizontal' | 'vertical';\n  onPartClick: (index: number) => void;\n}\n\nexport const BarShape: React.FC<BarShapeProps> = ({\n  parts,\n  divisions,\n  orientation,\n  onPartClick,\n}) => {\n  const renderedParts = orientation === 'vertical' ? [...parts].reverse() : parts;\n\n  return (\n    <div\n      className={`visual-fraction-widget__parts${\n        orientation === 'vertical'\n          ? ' visual-fraction-widget__parts--vertical'\n          : ' visual-fraction-widget__parts--horizontal'\n      }`}\n      style={{ '--visual-fraction-divisions': divisions } as React.CSSProperties}\n    >\n      {renderedParts.map(part => (\n        <div\n          key={part.index}\n          className={part.className}\n          style={part.style}\n          {...getInteractiveProps(part, onPartClick)}\n        />\n      ))}\n    </div>\n  );\n};\n\nBarShape.displayName = 'BarShape';\n","import React from 'react';\nimport type { VisualFractionPart } from '../types';\nimport { getInteractiveProps } from './part-interactions';\nimport { getGridColumnCount } from '../../../utils/visual-fraction-geometry';\n\ninterface GridShapeProps {\n  parts: VisualFractionPart[];\n  divisions: number;\n  onPartClick: (index: number) => void;\n}\n\n/**\n * Grid shape — always 2-D square layout, orientation prop is ignored.\n * `divisions` must be a perfect square (enforced by zod schema).\n */\nexport const GridShape: React.FC<GridShapeProps> = ({\n  parts,\n  divisions,\n  onPartClick,\n}) => (\n  <div\n    className=\"visual-fraction-widget__parts visual-fraction-widget__parts--horizontal\"\n    style={{\n      '--visual-fraction-divisions': divisions,\n      '--visual-fraction-grid-cols': getGridColumnCount(divisions),\n      // Safe integer division: zod schema enforces divisions = perfect square.\n      '--visual-fraction-grid-rows': divisions / getGridColumnCount(divisions),\n    } as React.CSSProperties}\n  >\n    {parts.map(part => (\n      <div\n        key={part.index}\n        className={part.className}\n        style={part.style}\n        {...getInteractiveProps(part, onPartClick)}\n      />\n    ))}\n  </div>\n);\n\nGridShape.displayName = 'GridShape';\n","import React from 'react';\nimport type { VisualFractionPart } from '../types';\nimport { getInteractiveProps } from './part-interactions';\nimport { getCircleSectorProps } from '../../../utils/visual-fraction-geometry';\n\ninterface CircleShapeProps {\n  parts: VisualFractionPart[];\n  divisions: number;\n  onPartClick: (index: number) => void;\n}\n\nexport const CircleShape: React.FC<CircleShapeProps> = ({\n  parts,\n  divisions,\n  onPartClick,\n}) => (\n  <svg\n    className=\"visual-fraction-widget__shape visual-fraction-widget__circle\"\n    viewBox=\"0 0 100 100\"\n  >\n    {parts.map(part => {\n      const sectorProps = getCircleSectorProps(part.index, divisions);\n      const className = `${part.className} visual-fraction-widget__sector`;\n      const interactiveProps = getInteractiveProps(part, onPartClick);\n\n      return sectorProps.kind === 'circle' ? (\n        <circle\n          key={part.index}\n          className={className}\n          style={part.style}\n          cx=\"50\"\n          cy=\"50\"\n          r=\"48\"\n          {...interactiveProps}\n        />\n      ) : (\n        <path\n          key={part.index}\n          className={className}\n          style={part.style}\n          d={sectorProps.d}\n          {...interactiveProps}\n        />\n      );\n    })}\n  </svg>\n);\n\nCircleShape.displayName = 'CircleShape';\n","import React from 'react';\nimport type { VisualFractionPart } from '../types';\nimport { getInteractiveProps } from './part-interactions';\nimport { getEqualTrianglePartPath } from '../../../utils/visual-fraction-geometry';\n\ninterface TriangleShapeProps {\n  parts: VisualFractionPart[];\n  divisions: number;\n  onPartClick: (index: number) => void;\n}\n\nexport const TriangleShape: React.FC<TriangleShapeProps> = ({\n  parts,\n  divisions,\n  onPartClick,\n}) => (\n  <svg\n    className=\"visual-fraction-widget__shape visual-fraction-widget__triangle\"\n    viewBox=\"0 0 100 100\"\n  >\n    {parts.map(part => (\n      <path\n        key={part.index}\n        className={`${part.className} visual-fraction-widget__sector`}\n        style={part.style}\n        d={getEqualTrianglePartPath(part.index, divisions)}\n        {...getInteractiveProps(part, onPartClick)}\n      />\n    ))}\n  </svg>\n);\n\nTriangleShape.displayName = 'TriangleShape';\n","import React, { useMemo, useCallback } from 'react';\nimport type { ValidationStatus } from '../types';\nimport { useSound } from '../../sounds';\nimport type { VisualFractionJSON } from '../../../transformers/zod-schemas';\nimport {\n  getTextColorForBackground,\n  getGroupClassName,\n  resolveDistinctGroupPalette,\n} from '../../utils/group-palette';\nimport { sumCounts, countsToPartGroups } from './part-utils';\nimport { useVisualFractionState } from './use-visual-fraction-state';\nimport {\n  VISUAL_FRACTION_DISPLAY_COLOR,\n  VISUAL_FRACTION_BORDER_COLOR,\n} from './types';\nimport type { VisualFractionPart } from './types';\nimport { VISUAL_FRACTION_SVG_SIZE_SCALE } from '../../utils/visual-fraction-geometry';\nimport { VISUAL_FRACTION_SHAPE } from '../../../ast/inline';\nimport type { VisualFractionShape } from '../../../ast/inline';\nimport { BarShape } from './shapes/BarShape';\nimport { GridShape } from './shapes/GridShape';\nimport { CircleShape } from './shapes/CircleShape';\nimport { TriangleShape } from './shapes/TriangleShape';\n\ntype ShapeComponentProps = {\n  parts: VisualFractionPart[];\n  divisions: number;\n  orientation: 'horizontal' | 'vertical';\n  onPartClick: (index: number) => void;\n};\n\nconst ShapeBar: React.FC<ShapeComponentProps> = ({ parts, divisions, orientation, onPartClick }) => (\n  <BarShape parts={parts} divisions={divisions} orientation={orientation} onPartClick={onPartClick} />\n);\nconst ShapeCircle: React.FC<ShapeComponentProps> = ({ parts, divisions, onPartClick }) => (\n  <CircleShape parts={parts} divisions={divisions} onPartClick={onPartClick} />\n);\nconst ShapeTriangle: React.FC<ShapeComponentProps> = ({ parts, divisions, onPartClick }) => (\n  <TriangleShape parts={parts} divisions={divisions} onPartClick={onPartClick} />\n);\nconst ShapeGrid: React.FC<ShapeComponentProps> = ({ parts, divisions, onPartClick }) => (\n  <GridShape parts={parts} divisions={divisions} onPartClick={onPartClick} />\n);\n\nconst SHAPE_COMPONENTS: Record<VisualFractionShape, React.ComponentType<ShapeComponentProps>> = {\n  [VISUAL_FRACTION_SHAPE.BAR]: ShapeBar,\n  [VISUAL_FRACTION_SHAPE.CIRCLE]: ShapeCircle,\n  [VISUAL_FRACTION_SHAPE.TRIANGLE]: ShapeTriangle,\n  [VISUAL_FRACTION_SHAPE.GRID]: ShapeGrid,\n};\n\nexport interface VisualFractionProps {\n  widgetId: string;\n  widget: VisualFractionJSON;\n  value?: number[];\n  validationStatus?: ValidationStatus;\n  onChange: (widgetId: string, value: number[]) => void;\n}\n\n/**\n * VisualFraction widget\n *\n * Renders a shape divided into equal parts.\n * - `filled` parts are display-only (group colors from the filled palette).\n * - Non-filled parts are clickable when `answer` is non-empty; clicks cycle\n *   through answer groups then back to empty.\n *\n * Colors are exposed through stable CSS classes and custom properties so\n * consuming apps can override them without touching JS.\n */\nexport const VisualFraction: React.FC<VisualFractionProps> = ({\n  widgetId,\n  widget,\n  value,\n  validationStatus = null,\n  onChange,\n}) => {\n  const { shape, divisions, filled, answer, orientation, label } = widget;\n\n  const filledCount = sumCounts(filled);\n  const filledPartGroups = useMemo(() => countsToPartGroups(filled), [filled]);\n\n  // Palette for display-only (filled) parts — seed with the brand purple.\n  const filledPalette = useMemo(() => {\n    if (filled.length === 0) return [];\n    return resolveDistinctGroupPalette(filled.length, {\n      seedColors: [VISUAL_FRACTION_DISPLAY_COLOR],\n      excludeColors: [VISUAL_FRACTION_BORDER_COLOR],\n    });\n  }, [filled]);\n\n  // Palette for interactive (answer) parts — must not reuse filled colors.\n  const answerPalette = useMemo(() => {\n    if (answer.length === 0) return [];\n    return resolveDistinctGroupPalette(answer.length, {\n      excludeColors: [VISUAL_FRACTION_BORDER_COLOR, ...filledPalette],\n    });\n  }, [answer, filledPalette]);\n\n  const { partAssignments, handlePartClick } = useVisualFractionState({\n    widgetId,\n    divisions,\n    filledCount,\n    answer,\n    value,\n    onChange,\n  });\n\n  // Sound only on a real shade toggle — interactive slots (answer set,\n  // non-filled). Filled/display clicks no-op in handlePartClick, so stay silent.\n  const playSound = useSound();\n  const handlePartClickWithSound = useCallback(\n    (index: number) => {\n      if (answer.length > 0 && index >= filledCount) playSound('fraction-shade');\n      handlePartClick(index);\n    },\n    [answer.length, filledCount, playSound, handlePartClick],\n  );\n\n  // Build part descriptors once; shape components stay stateless.\n  const parts = useMemo<VisualFractionPart[]>(\n    () =>\n      Array.from({ length: divisions }, (_, i) => {\n        let partClass = 'visual-fraction-widget__part visual-fraction-widget__part--empty';\n        let groupIdx: number | null = null;\n\n        if (i < filledCount) {\n          groupIdx = filledPartGroups[i] ?? 0;\n          partClass = 'visual-fraction-widget__part visual-fraction-widget__part--filled';\n        } else if (partAssignments[i] != null) {\n          groupIdx = partAssignments[i];\n          partClass = 'visual-fraction-widget__part visual-fraction-widget__part--answer';\n        }\n\n        if (groupIdx !== null) {\n          partClass += ` visual-fraction-widget__part--group-${groupIdx + 1} ${getGroupClassName(groupIdx)}`;\n        }\n\n        const colorKind = i < filledCount ? 'filled' : 'answer';\n        const palette = colorKind === 'filled' ? filledPalette : answerPalette;\n        const fallbackColor = palette[groupIdx ?? 0]!;\n\n        const style: React.CSSProperties | undefined =\n          groupIdx !== null\n            ? {\n                '--visual-fraction-part-color': `var(--visual-fraction-${colorKind}-group-${groupIdx + 1}-color, ${fallbackColor})`,\n                '--visual-fraction-part-text-color': `var(--visual-fraction-${colorKind}-group-${groupIdx + 1}-text-color, ${getTextColorForBackground(fallbackColor)})`,\n              } as React.CSSProperties\n            : undefined;\n\n        return {\n          index: i,\n          className: partClass,\n          style,\n          // A slot is interactive when there are answer groups AND it falls in the non-filled range.\n          // answer.length counts groups (not total slots); the state hook handles per-slot cycling.\n          isInteractiveSlot: answer.length > 0 && i >= filledCount,\n          isSelected: groupIdx !== null,\n          groupIndex: groupIdx,\n        };\n      }),\n    [divisions, filledCount, filledPartGroups, partAssignments, answer, filledPalette, answerPalette],\n  );\n\n  const statusClass = validationStatus\n    ? ` visual-fraction-widget--${validationStatus} widget--${validationStatus}`\n    : '';\n\n  const rootStyle = useMemo(() => getSizeStyle(widget.size, shape), [widget.size, shape]);\n\n  const ShapeComponent = SHAPE_COMPONENTS[shape];\n\n  return (\n    <div\n      className={`inline-widget visual-fraction-widget visual-fraction-widget--${shape}${statusClass}`}\n      style={rootStyle}\n      role=\"group\"\n      aria-label={`${divisions} part ${shape} fraction`}\n    >\n      <ShapeComponent\n        parts={parts}\n        divisions={divisions}\n        orientation={orientation ?? 'horizontal'}\n        onPartClick={handlePartClickWithSound}\n      />\n\n      {label && (\n        <span className=\"visual-fraction-widget__label\">{label}</span>\n      )}\n    </div>\n  );\n};\n\nVisualFraction.displayName = 'VisualFraction';\n\n/**\n * Map the unified author `size` (1 = small, 2 = bigger) onto the right CSS target per shape:\n *   bar / grid        → --visual-fraction-part-size  (one cell, rem)\n *   circle / triangle → --visual-fraction-size = size × VISUAL_FRACTION_SVG_SIZE_SCALE rem\n *\n * The scale factor keeps shapes visually comparable across the size unit:\n *   size=1.35 (bar default) → 1.35 × 8 = 10.8rem ≈ CSS clamp(7rem, 24vw, 12rem).\n * When `size` is omitted, CSS defaults apply automatically.\n */\nfunction getSizeStyle(\n  size: number | undefined,\n  _shape: VisualFractionJSON['shape'],\n): React.CSSProperties | undefined {\n  if (size === undefined) return undefined;\n  // All shapes: size scales the total container.\n  // bar/grid use --visual-fraction-size as total span; --visual-fraction-part-size stays as bar thickness.\n  return {\n    '--visual-fraction-size': `${size * VISUAL_FRACTION_SVG_SIZE_SCALE}rem`,\n  } as React.CSSProperties;\n}\n","import React from 'react';\nimport type { ValidationStatus } from './types';\nimport { useSound } from '../sounds';\n\nexport interface RadioOptionsProps {\n  name: string;\n  options: string[];\n  value: string;\n  validationStatus?: ValidationStatus;\n  onChange: (name: string, value: string) => void;\n}\n\n/**\n * Radio options widget - displays single-choice radio buttons\n * Only one option can be selected at a time\n */\nexport const RadioOptions: React.FC<RadioOptionsProps> = ({\n  name,\n  options,\n  value,\n  validationStatus = null,\n  onChange,\n}) => {\n  const playSound = useSound();\n  return (\n    <div className=\"radio-options\">\n      {options.map((option, idx) => {\n        const isSelected = value === option;\n        const statusClass = isSelected && validationStatus ? ` widget--${validationStatus}` : '';\n\n        return (\n          <button\n            key={`${name}-radio-${idx}`}\n            className={`radio-option${isSelected ? ' selected' : ''}${statusClass}`}\n            onClick={() => { playSound('radio-select'); onChange(name, option); }}\n            type=\"button\"\n          >\n            {option}\n          </button>\n        );\n      })}\n    </div>\n  );\n};\n","import React from 'react';\nimport { useSound } from '../sounds';\n\nexport interface DiamondKeypadProps {\n  value: string;\n  onChange: (value: string) => void;\n}\n\nconst Btn: React.FC<{ label: string; extraClass?: string; onClick: () => void }> = ({\n  label,\n  extraClass = 'keypad-btn-digit',\n  onClick,\n}) => (\n  <button className={`keypad-btn ${extraClass}`} onClick={onClick}>\n    <span>{label}</span>\n  </button>\n);\n\nexport const DiamondKeypad: React.FC<DiamondKeypadProps> = ({ value, onChange }) => {\n  const playSound = useSound();\n  const append = (ch: string) => { playSound('keypad-press'); onChange(value + ch); };\n  const backspace = () => { playSound('keypad-press'); onChange(value.slice(0, -1)); };\n\n  return (\n    <div className=\"diamond-keypad\">\n      <div className=\"diamond-keypad-row\">\n        <Btn label=\"1\" onClick={() => append('1')} />\n        <Btn label=\"2\" onClick={() => append('2')} />\n        <Btn label=\"3\" onClick={() => append('3')} />\n      </div>\n      <div className=\"diamond-keypad-row\">\n        <Btn label=\"4\" onClick={() => append('4')} />\n        <Btn label=\"5\" onClick={() => append('5')} />\n        <Btn label=\"6\" onClick={() => append('6')} />\n        <Btn label=\"7\" onClick={() => append('7')} />\n      </div>\n      <div className=\"diamond-keypad-row\">\n        <Btn label=\"8\" onClick={() => append('8')} />\n        <Btn label=\"9\" onClick={() => append('9')} />\n        <Btn label=\"0\" onClick={() => append('0')} />\n      </div>\n      <div className=\"diamond-keypad-row\">\n        <Btn label=\".\" extraClass=\"keypad-btn-decimal\" onClick={() => append('.')} />\n        <Btn label=\"⌫\" extraClass=\"keypad-btn-backspace\" onClick={backspace} />\n      </div>\n    </div>\n  );\n};\n","import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport type { MatcherWidgetJSON, MatcherRowItem, MatcherItemContent, LayoutItem, WidgetJSON } from '../../../transformers/zod-schemas';\nimport type { ValidationStatus } from '../types';\nimport { LayoutRenderer } from '../../components/LayoutRenderer';\nimport { resolveGroupPalette, getTextColorForBackground } from '../../utils/group-palette';\nimport { useSound } from '../../sounds';\n\nexport interface MatcherWidgetProps {\n  widgetId: string;\n  widget: MatcherWidgetJSON;\n  onChange: (widgetId: string, value: string[][]) => void;\n  validationStatus?: ValidationStatus | null;\n  /** Pre-populate state (e.g. restore saved progress). Same shape as onChange value. */\n  defaultValue?: string[][];\n  /** Widgets map for resolving widget-refs nested inside item content (e.g. display fractions). */\n  widgets?: Record<string, WidgetJSON>;\n}\n\n/** colorIdx per itemId; null = unassigned. */\ntype Assignments = Record<string, number | null>;\n\nfunction collectItemIds(rows: readonly MatcherRowItem[]): string[] {\n  return rows.flatMap(row => row.items.map(item => item.itemId));\n}\n\nfunction initialAssignments(itemIds: string[]): Assignments {\n  return Object.fromEntries(itemIds.map(id => [id, null]));\n}\n\nfunction assignmentsFromValue(value: string[][], itemIds: string[], groupCount: number): Assignments {\n  const base = initialAssignments(itemIds);\n  value.forEach((group, groupIdx) => {\n    if (groupIdx >= groupCount) return;\n    group.forEach(id => {\n      if (id in base) base[id] = groupIdx;\n    });\n  });\n  return base;\n}\n\n// Map preserves insertion (click) order, so group indices in the emitted\n// value reflect the order the user selected them.\nfunction buildGroups(assignments: Assignments): string[][] {\n  const map = new Map<number, string[]>();\n  for (const [itemId, colorIdx] of Object.entries(assignments)) {\n    if (colorIdx === null) continue;\n    if (!map.has(colorIdx)) map.set(colorIdx, []);\n    map.get(colorIdx)!.push(itemId);\n  }\n  return Array.from(map.values());\n}\n\n// Stable refs — defined outside component to preserve referential equality.\nconst EMPTY_WIDGETS: Record<string, WidgetJSON> = {};\nconst EMPTY_VALUES: Record<string, never> = {};\nconst EMPTY_DROPPED = new Set<string>();\nconst NOOP = () => {};\n\n// Reset is handled by the parent remounting via `key={resetKey}` — the\n// state initializer runs again on each mount, picking up defaultValue afresh.\nexport const MatcherWidget: React.FC<MatcherWidgetProps> = ({\n  widgetId,\n  widget,\n  onChange,\n  validationStatus = null,\n  defaultValue,\n  widgets,\n}) => {\n  const { rows, colors: userColors, groupCount } = widget;\n  const widgetsMap = widgets ?? EMPTY_WIDGETS;\n\n  const palette = useMemo(\n    () => resolveGroupPalette(userColors, groupCount),\n    [userColors, groupCount],\n  );\n\n  const textColors = useMemo(\n    () => palette.map(getTextColorForBackground),\n    [palette],\n  );\n\n  const itemIds = useMemo(() => collectItemIds(rows), [rows]);\n\n  const [assignments, setAssignments] = useState<Assignments>(\n    () => defaultValue && defaultValue.length > 0\n      ? assignmentsFromValue(defaultValue, itemIds, groupCount)\n      : initialAssignments(itemIds),\n  );\n\n  const playSound = useSound();\n  const handleCardClick = useCallback(\n    (itemId: string) => {\n      playSound('matcher-select');\n      setAssignments(prev => {\n        const current = prev[itemId] ?? null;\n        const next = current === null\n          ? 0\n          : current + 1 >= groupCount\n            ? null\n            : current + 1;\n        return { ...prev, [itemId]: next };\n      });\n    },\n    [groupCount, playSound],\n  );\n  // Notify parent after state has settled — avoids setState-during-render warning.\n  // Skip the initial mount to avoid spurious onChange on first render.\n  const onChangeRef = useRef(onChange);\n  onChangeRef.current = onChange;\n  const isMounted = useRef(false);\n  useEffect(() => {\n    if (!isMounted.current) {\n      isMounted.current = true;\n      return;\n    }\n    onChangeRef.current(widgetId, buildGroups(assignments));\n  }, [assignments, widgetId]);\n\n  const maxCols = useMemo(\n    () => (rows.length === 0 ? 1 : Math.max(...rows.map(r => r.items.length))),\n    [rows],\n  );\n\n  return (\n    <div\n      className={`matcher-widget${validationStatus ? ` widget--${validationStatus}` : ''}`}\n      style={{ '--matcher-cols': maxCols } as React.CSSProperties}\n      role=\"group\"\n      aria-label=\"Matcher exercise\"\n    >\n      {rows.map((row: MatcherRowItem) => (\n        <div key={row.id} className=\"matcher-row\">\n          {row.items.map((item: MatcherItemContent) => {\n            const colorIdx = assignments[item.itemId] ?? null;\n            const isSelected = colorIdx !== null;\n            const color = isSelected && !validationStatus ? palette[colorIdx] : undefined;\n\n            return (\n              <button\n                key={item.id}\n                type=\"button\"\n                className={`matcher-card${isSelected ? ' matcher-card--selected' : ''}`}\n                style={\n                  colorIdx !== null && color\n                    ? {\n                        '--matcher-card-color': `var(--matcher-group-${colorIdx + 1}-color, ${color})`,\n                        '--matcher-card-text-color': `var(--matcher-group-${colorIdx + 1}-text-color, ${textColors[colorIdx]})`,\n                      } as React.CSSProperties\n                    : undefined\n                }\n                onClick={() => handleCardClick(item.itemId)}\n                aria-pressed={isSelected}\n                aria-label={isSelected ? `Assigned to group ${colorIdx + 1}` : 'Not assigned'}\n              >\n                {item.content.map((layoutItem: LayoutItem) => (\n                  <LayoutRenderer\n                    key={layoutItem.id}\n                    item={layoutItem}\n                    widgets={widgetsMap}\n                    values={EMPTY_VALUES}\n                    droppedInputs={EMPTY_DROPPED}\n                    onChange={NOOP}\n                  />\n                ))}\n              </button>\n            );\n          })}\n        </div>\n      ))}\n    </div>\n  );\n};\nMatcherWidget.displayName = 'MatcherWidget';\n","/**\n * Text Direction Utilities\n *\n * Utilities for detecting text direction and language scripts.\n * Supports bidirectional text (Arabic, Hebrew) and Latin scripts.\n */\n\n/**\n * Check if text contains Arabic characters\n *\n * Unicode ranges:\n * - U+0600–U+06FF: Arabic\n * - U+0750–U+077F: Arabic Supplement\n * - U+08A0–U+08FF: Arabic Extended-A\n * - U+FB50–U+FDFF: Arabic Presentation Forms-A\n * - U+FE70–U+FEFF: Arabic Presentation Forms-B\n *\n * @param text - The text to check\n * @returns true if text contains at least one Arabic character\n */\nexport function isArabic(text: string): boolean {\n  return /[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]/.test(text);\n}\n\n/**\n * Check if text contains Latin characters (A-Z, a-z)\n *\n * @param text - The text to check\n * @returns true if text contains at least one Latin letter\n */\nexport function hasLatinChars(text: string): boolean {\n  return /[A-Za-z]/.test(text);\n}\n\n/**\n * Check if text is purely Arabic (no Latin characters)\n *\n * Note: Numbers and punctuation don't count as \"mixed\" - they're neutral\n * in bidirectional text.\n *\n * @param text - The text to check\n * @returns true if text has Arabic and no Latin characters\n */\nexport function isPureArabic(text: string): boolean {\n  return isArabic(text) && !hasLatinChars(text);\n}\n\n/**\n * Determine if text should use RTL direction\n *\n * @param text - The text to check\n * @returns true if text should be rendered RTL\n */\nexport function shouldUseRTL(text: string): boolean {\n  return isPureArabic(text);\n}\n","/**\n * Bidirectional Text Detection for Layout Items\n *\n * Utilities for detecting Arabic and Latin text in layout items.\n * Used to determine text direction for rendering.\n */\n\nimport type { LayoutItem } from '../../transformers/zod-schemas';\nimport { JSON_TYPES } from '../../constants';\nimport { isArabic, hasLatinChars } from './text-direction';\n\n/**\n * Check if a layout item contains Arabic text\n *\n * Recursively checks text-based layout items and groups.\n *\n * @param item - The layout item to check\n * @returns true if item contains any Arabic text\n */\nexport function itemContainsArabic(item: LayoutItem): boolean {\n  if (item.type === JSON_TYPES.TEXT && 'value' in item) {\n    return isArabic(item.value);\n  }\n  if (item.type === JSON_TYPES.HIGHLIGHTED_TEXT && 'value' in item) {\n    return isArabic(item.value);\n  }\n  if (item.type === JSON_TYPES.GROUP && 'items' in item) {\n    return item.items.some((subItem: LayoutItem) => itemContainsArabic(subItem));\n  }\n  return false;\n}\n\n/**\n * Check if a layout item contains Latin text\n *\n * Recursively checks text-based layout items and groups.\n *\n * @param item - The layout item to check\n * @returns true if item contains any Latin characters\n */\nexport function itemContainsLatin(item: LayoutItem): boolean {\n  if (item.type === JSON_TYPES.TEXT && 'value' in item) {\n    return hasLatinChars(item.value);\n  }\n  if (item.type === JSON_TYPES.HIGHLIGHTED_TEXT && 'value' in item) {\n    return hasLatinChars(item.value);\n  }\n  if (item.type === JSON_TYPES.GROUP && 'items' in item) {\n    return item.items.some((subItem: LayoutItem) => itemContainsLatin(subItem));\n  }\n  return false;\n}\n\n/**\n * Check if layout items contain mixed Arabic and Latin text\n *\n * @param items - Array of layout items\n * @returns true if items contain both Arabic and Latin characters\n */\nexport function hasMixedLanguages(items: LayoutItem[]): boolean {\n  const hasArabic = items.some(itemContainsArabic);\n  const hasLatin = items.some(itemContainsLatin);\n  return hasArabic && hasLatin;\n}\n\n/**\n * Determine if items should use RTL direction\n *\n * @param items - Array of layout items\n * @returns true if items are pure Arabic (no Latin)\n */\nexport function shouldItemsUseRTL(items: LayoutItem[]): boolean {\n  const hasArabic = items.some(itemContainsArabic);\n  const hasLatin = items.some(itemContainsLatin);\n  return hasArabic && !hasLatin;\n}\n","import {\n  useCallback,\n  useEffect,\n  useLayoutEffect,\n  useRef,\n  useState,\n} from 'react';\nimport type React from 'react';\nimport type { ValidationStatus } from '../types';\n\n// ─── Types ────────────────────────────────────────────────────────────────────\n\nexport type LineData = {\n  topId: string;\n  x1: number;\n  y1: number;\n  x2: number;\n  y2: number;\n  status: 'idle' | 'correct' | 'incorrect';\n};\n\ninterface UsePairLinesOptions {\n  containerRef: React.RefObject<HTMLDivElement | null>;\n  pairs: Record<string, string>;\n  lineDirections: Record<string, 'top-to-bottom' | 'bottom-to-top'>;\n  validationStatus: ValidationStatus | null | undefined;\n  pairStatusByTopId: Record<string, 'correct' | 'incorrect'>;\n}\n\n// ─── Hook ─────────────────────────────────────────────────────────────────────\n\n/**\n * Manages SVG connector-line geometry for the PairMatcher widget.\n *\n * Returns a stable `dotRefs` map so callers can register DOM dot elements,\n * and a `lines` array that is recalculated after every layout paint in which\n * pairs or validation state changes, and again on container resize.\n */\nexport function usePairLines({\n  containerRef,\n  pairs,\n  lineDirections,\n  validationStatus,\n  pairStatusByTopId,\n}: UsePairLinesOptions): {\n  dotRefs: React.MutableRefObject<Map<string, HTMLSpanElement>>;\n  lines: LineData[];\n} {\n  const dotRefs = useRef<Map<string, HTMLSpanElement>>(new Map());\n  const [lines, setLines] = useState<LineData[]>([]);\n\n  const recalcLines = useCallback(() => {\n    const container = containerRef.current;\n    if (!container) return;\n\n    const cr = container.getBoundingClientRect();\n    const newLines: LineData[] = [];\n\n    for (const [topId, bottomId] of Object.entries(pairs)) {\n      const topDot    = dotRefs.current.get(`top:${topId}`);\n      const bottomDot = dotRefs.current.get(`bottom:${bottomId}`);\n      if (!topDot || !bottomDot) continue;\n\n      const tr = topDot.getBoundingClientRect();\n      const br = bottomDot.getBoundingClientRect();\n\n      const status: LineData['status'] = validationStatus\n        ? (pairStatusByTopId[topId] ?? (validationStatus === 'correct' ? 'correct' : 'incorrect'))\n        : 'idle';\n\n      const direction = lineDirections[topId] ?? 'top-to-bottom';\n      const startRect = direction === 'top-to-bottom' ? tr : br;\n      const endRect   = direction === 'top-to-bottom' ? br : tr;\n\n      newLines.push({\n        topId,\n        x1: startRect.left - cr.left + startRect.width  / 2,\n        y1: startRect.top  - cr.top  + startRect.height / 2,\n        x2: endRect.left   - cr.left + endRect.width    / 2,\n        y2: endRect.top    - cr.top  + endRect.height   / 2,\n        status,\n      });\n    }\n\n    setLines(newLines);\n  }, [pairs, lineDirections, validationStatus, pairStatusByTopId]);\n\n  // Recalculate immediately after every layout paint that changes pairs/validation.\n  useLayoutEffect(() => {\n    recalcLines();\n  }, [recalcLines]);\n\n  // Recalculate on container resize (e.g. window resize, orientation change).\n  useEffect(() => {\n    const el = containerRef.current;\n    if (!el) return;\n    const ro = new ResizeObserver(recalcLines);\n    ro.observe(el);\n    return () => ro.disconnect();\n  }, [containerRef, recalcLines]);\n\n  return { dotRefs, lines };\n}\n","import type { WidgetJSON } from '../../transformers/zod-schemas';\nimport type { ValidationStatus } from '../widgets/types';\nimport type { LineData } from '../widgets/pair-matcher/usePairLines';\n\n// ─── Types ────────────────────────────────────────────────────────────────────\n\nexport type PairState = {\n  pairs: Record<string, string>;\n  lineDirections: Record<string, 'top-to-bottom' | 'bottom-to-top'>;\n  pending: PendingSelection;\n  /** Recently paired cards get a short selected-card flash while the line appears. */\n  flashTopId: string | null;\n  flashBottomId: string | null;\n};\n\nexport type PendingSelection = { side: 'top' | 'bottom'; id: string } | null;\nexport type PairStatus = 'idle' | 'pending' | 'paired' | 'correct' | 'incorrect';\n\n// ─── Stable module-level constants ───────────────────────────────────────────\n\nexport const EMPTY_WIDGETS: Record<string, WidgetJSON> = {};\nexport const EMPTY_VALUES: Record<string, never> = {};\nexport const EMPTY_DROPPED = new Set<string>();\nexport const NOOP = () => {};\n\n// ─── Pure helpers ─────────────────────────────────────────────────────────────\n\nexport function buildInitialState(\n  defaultValue: string[][] | undefined,\n  topIds: Set<string>,\n  bottomIds: Set<string>,\n): { pairs: Record<string, string>; lineDirections: Record<string, 'top-to-bottom' | 'bottom-to-top'> } {\n  if (!defaultValue?.length) return { pairs: {}, lineDirections: {} };\n  const pairs: Record<string, string> = {};\n  const lineDirections: Record<string, 'top-to-bottom' | 'bottom-to-top'> = {};\n  for (const pair of defaultValue) {\n    if (!Array.isArray(pair) || pair.length !== 2 || pair[0] == null || pair[1] == null) continue;\n    const [first, second] = pair as [string, string];\n    if (topIds.has(first) && bottomIds.has(second)) {\n      pairs[first] = second;\n      lineDirections[first] = 'top-to-bottom';\n    } else if (bottomIds.has(first) && topIds.has(second)) {\n      pairs[second] = first;\n      lineDirections[second] = 'bottom-to-top';\n    }\n  }\n  return { pairs, lineDirections };\n}\n\nexport function findTopForBottom(pairs: Record<string, string>, bottomId: string): string | undefined {\n  return Object.keys(pairs).find(topId => pairs[topId] === bottomId);\n}\n\nexport function withLineDirection(\n  lineDirections: Record<string, 'top-to-bottom' | 'bottom-to-top'>,\n  pairs: Record<string, string>,\n  topId: string,\n  bottomId: string,\n  direction: 'top-to-bottom' | 'bottom-to-top',\n): Record<string, 'top-to-bottom' | 'bottom-to-top'> {\n  const next = { ...lineDirections };\n  delete next[topId];\n  const existingTop = findTopForBottom(pairs, bottomId);\n  if (existingTop !== undefined) delete next[existingTop];\n  next[topId] = direction;\n  return next;\n}\n\nexport function getPairIds(\n  pair: string[],\n  topIds: Set<string>,\n  bottomIds: Set<string>,\n): { topId: string; bottomId: string } | null {\n  if (pair.length !== 2) return null;\n  const first = pair[0];\n  const second = pair[1];\n  if (first === undefined || second === undefined) return null;\n  if (topIds.has(first) && bottomIds.has(second)) return { topId: first, bottomId: second };\n  if (bottomIds.has(first) && topIds.has(second)) return { topId: second, bottomId: first };\n  return null;\n}\n\nexport function withPair(\n  pairs: Record<string, string>,\n  topId: string,\n  bottomId: string,\n): Record<string, string> {\n  const next = { ...pairs };\n  delete next[topId];\n  const existingTop = findTopForBottom(next, bottomId);\n  if (existingTop !== undefined) delete next[existingTop];\n  next[topId] = bottomId;\n  return next;\n}\n\n/** Compute the visual status of a card given current interaction + validation state. */\nexport function resolveCardStatus(\n  ownId: string,\n  isTop: boolean,\n  pairs: Record<string, string>,\n  pending: PendingSelection,\n  validationStatus: ValidationStatus | null | undefined,\n  pairStatus: 'correct' | 'incorrect' | null,\n): PairStatus {\n  // ── Validation mode ──\n  if (validationStatus) {\n    const topId = isTop ? ownId : findTopForBottom(pairs, ownId);\n    if (topId === undefined || pairs[topId] === undefined) return 'idle';\n    return pairStatus ?? (validationStatus === 'correct' ? 'correct' : 'incorrect');\n  }\n\n  // ── Interaction mode ──\n  if (pending?.side === (isTop ? 'top' : 'bottom') && pending.id === ownId) return 'pending';\n  const topId = isTop ? ownId : findTopForBottom(pairs, ownId);\n  if (topId !== undefined && pairs[topId] !== undefined) return 'paired';\n  return 'idle';\n}\n\nexport function buildDotClass(status: PairStatus, position: 'south' | 'north'): string {\n  const cls = ['pair-matcher-dot', `pair-matcher-dot--${position}`];\n  if (status !== 'idle') {\n    cls.push('pair-matcher-dot--active');\n    if (status !== 'paired') cls.push(`pair-matcher-dot--${status}`);\n  }\n  return cls.join(' ');\n}\n\nexport function buildCardClass(status: PairStatus, isFlashing: boolean): string {\n  const cls = ['pair-matcher-card'];\n  if (status !== 'idle') cls.push(`pair-matcher-card--${status}`);\n  if (isFlashing) cls.push('pair-matcher-card--flash');\n  return cls.join(' ');\n}\n\nexport function lineStrokeVar(status: LineData['status']): string {\n  if (status === 'correct')   return 'var(--pm-line-color-correct)';\n  if (status === 'incorrect') return 'var(--pm-line-color-incorrect)';\n  return 'var(--pm-line-color)';\n}\n","import React, {\n  useCallback,\n  useEffect,\n  useMemo,\n  useRef,\n  useState,\n} from 'react';\nimport type {\n  PairMatcherWidgetJSON,\n  MatcherItemContent,\n  LayoutItem,\n  WidgetJSON,\n} from '../../../transformers/zod-schemas';\nimport type { WidgetValidation } from '../../../validators';\nimport type { ValidationStatus } from '../types';\nimport { LayoutRenderer } from '../../components/LayoutRenderer';\nimport { JSON_TYPES } from '../../../constants';\nimport { shouldItemsUseRTL } from '../../utils/bidi-detection';\nimport { usePairLines } from './usePairLines';\nimport { useSound } from '../../sounds';\nimport { shuffle } from 'lodash';\nimport {\n  type PairState,\n  EMPTY_WIDGETS,\n  EMPTY_VALUES,\n  EMPTY_DROPPED,\n  NOOP,\n  buildInitialState,\n  findTopForBottom,\n  withLineDirection,\n  getPairIds,\n  withPair,\n  resolveCardStatus,\n  buildDotClass,\n  buildCardClass,\n  lineStrokeVar,\n} from '../../utils/pair-matcher.utils';\n\nexport interface PairMatcherWidgetProps {\n  widgetId: string;\n  widget: PairMatcherWidgetJSON;\n  onChange: (widgetId: string, value: string[][]) => void;\n  validationStatus?: ValidationStatus | null;\n  validationDetail?: WidgetValidation;\n  /** Restore saved progress. Shape: [[topId, bottomId], ...] */\n  defaultValue?: string[][];\n  /** Widget-refs nested inside item content. */\n  widgets?: Record<string, WidgetJSON>;\n  /** Shuffle TOP/BOTTOM on mount (default true). Pass false for tests/review. */\n  shuffleItems?: boolean;\n}\n\n/** Display-only item renderer. SPACE/GROUP short-circuit LayoutRenderer to avoid spurious onChange. */\nfunction renderPairMatcherItemContent(\n  item: LayoutItem,\n  widgets: Record<string, WidgetJSON>,\n): React.ReactNode {\n  if (item.type === JSON_TYPES.SPACE) {\n    return <span key={item.id} className=\"space\"> </span>;\n  }\n\n  if (item.type === JSON_TYPES.GROUP) {\n    return (\n      <span key={item.id} className=\"group\">\n        {item.items.map((subItem: LayoutItem) => renderPairMatcherItemContent(subItem, widgets))}\n      </span>\n    );\n  }\n\n  return (\n    <LayoutRenderer\n      key={item.id}\n      item={item}\n      widgets={widgets}\n      values={EMPTY_VALUES}\n      droppedInputs={EMPTY_DROPPED}\n      onChange={NOOP}\n    />\n  );\n}\n\n// ─── Component ────────────────────────────────────────────────────────────────\nexport const PairMatcherWidget: React.FC<PairMatcherWidgetProps> = ({\n  widgetId,\n  widget,\n  onChange,\n  validationStatus = null,\n  validationDetail,\n  defaultValue,\n  widgets,\n  shuffleItems = true,\n}) => {\n  const { topItems, bottomItems } = widget;\n\n\n  // Shuffle once on mount intentionally.\n  // PairMatcher intentionally assumes widget item identity remains stable for the component lifetime;\n  // reordering cards during student interaction would be a poor UX.\n  const [shuffledTop] = useState<MatcherItemContent[]>(\n    () => shuffleItems ? shuffle([...topItems]) : [...topItems],\n  );\n  const [shuffledBottom] = useState<MatcherItemContent[]>(\n    () => shuffleItems ? shuffle([...bottomItems]) : [...bottomItems],\n  );\n  const widgetsMap = widgets ?? EMPTY_WIDGETS;\n  const topIds = useMemo(() => new Set(topItems.map(item => item.itemId)), [topItems]);\n  const bottomIds = useMemo(() => new Set(bottomItems.map(item => item.itemId)), [bottomItems]);\n  const pairStatusByTopId = useMemo(() => {\n    const statuses: Record<string, 'correct' | 'incorrect'> = {};\n    for (const result of validationDetail?.groupResults ?? []) {\n      const ids = getPairIds(result.group, topIds, bottomIds);\n      if (ids) statuses[ids.topId] = result.isCorrect ? 'correct' : 'incorrect';\n    }\n    return statuses;\n  }, [validationDetail?.groupResults, topIds, bottomIds]);\n\n  // ── State ──────────────────────────────────────────────────────────────────\n  const [state, setState] = useState<PairState>(() => ({\n    ...buildInitialState(defaultValue, topIds, bottomIds),\n    pending: null,\n    flashTopId: null,\n    flashBottomId: null,\n  }));\n  const flashTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n  // ── Sound — derive events from state transitions (reducers stay pure) ──────\n  const playSound = useSound();\n  const soundPrevRef = useRef({ count: 0, pendingId: null as string | null, flashId: null as string | null });\n  const soundMounted = useRef(false);\n  useEffect(() => {\n    const count = Object.keys(state.pairs).length;\n    const pendingId = state.pending?.id ?? null;\n    const flashId = state.flashTopId;\n    const prev = soundPrevRef.current;\n    if (!soundMounted.current) {\n      soundMounted.current = true; // baseline only — don't sound on restore/mount\n    } else if (flashId !== null && flashId !== prev.flashId) {\n      // Track the flashed id, not a bool: a rapid re-pair sets a new flashTopId\n      // while the old flash is still up, so a bool edge would miss it.\n      // Re-pair keeps pair count stable, so `count < prev.count` is false here —\n      // the else-if branches are mutually exclusive by reducer invariant.\n      playSound('pair-link');        // new pair or re-pair (covers unlink+link)\n    } else if (count < prev.count) {\n      playSound('pair-unlink');      // bare unpair\n    } else if (pendingId !== null && pendingId !== prev.pendingId) {\n      playSound('pair-select');      // card picked, awaiting partner\n    }\n    soundPrevRef.current = { count, pendingId, flashId };\n  }, [state.pairs, state.pending, state.flashTopId, playSound]);\n\n  const handleTopClick = useCallback((topId: string) => {\n    if (validationStatus) return;\n    if (flashTimerRef.current) {\n      clearTimeout(flashTimerRef.current);\n      flashTimerRef.current = null;\n    }\n    setState(prev => {\n      if (prev.pairs[topId] !== undefined) {\n        // Paired → unpair, re-pair with pending bottom if any\n        const { [topId]: _, ...rest } = prev.pairs;\n        const { [topId]: __, ...restDirections } = prev.lineDirections;\n        if (prev.pending?.side === 'bottom') {\n          return {\n            pairs: withPair(rest, topId, prev.pending.id),\n            lineDirections: withLineDirection(restDirections, rest, topId, prev.pending.id, 'bottom-to-top'),\n            pending: null,\n            flashTopId: topId,\n            flashBottomId: prev.pending.id,\n          };\n        }\n        return {\n          pairs: rest,\n          lineDirections: restDirections,\n          pending: { side: 'top', id: topId },\n          flashTopId: null,\n          flashBottomId: null,\n        };\n      }\n      if (prev.pending?.side === 'bottom') {\n        return {\n          pairs: withPair(prev.pairs, topId, prev.pending.id),\n          lineDirections: withLineDirection(prev.lineDirections, prev.pairs, topId, prev.pending.id, 'bottom-to-top'),\n          pending: null,\n          flashTopId: topId,\n          flashBottomId: prev.pending.id,\n        };\n      }\n      // Toggle pending selection\n      return {\n        ...prev,\n        pending: prev.pending?.side === 'top' && prev.pending.id === topId\n          ? null\n          : { side: 'top', id: topId },\n        flashTopId: null,\n        flashBottomId: null,\n      };\n    });\n  }, [validationStatus]);\n\n  const handleBottomClick = useCallback((bottomId: string) => {\n    if (validationStatus) return;\n    if (flashTimerRef.current) {\n      clearTimeout(flashTimerRef.current);\n      flashTimerRef.current = null;\n    }\n    setState(prev => {\n      // Paired → remove, re-pair with pending top if any\n      const existingTop = findTopForBottom(prev.pairs, bottomId);\n      if (existingTop !== undefined) {\n        const { [existingTop]: _, ...rest } = prev.pairs;\n        const { [existingTop]: __, ...restDirections } = prev.lineDirections;\n        if (prev.pending?.side === 'top' && prev.pending.id !== existingTop) {\n          return {\n            pairs: withPair(rest, prev.pending.id, bottomId),\n            lineDirections: withLineDirection(restDirections, rest, prev.pending.id, bottomId, 'top-to-bottom'),\n            pending: null,\n            flashTopId: prev.pending.id,\n            flashBottomId: bottomId,\n          };\n        }\n        return {\n          pairs: rest,\n          lineDirections: restDirections,\n          pending: { side: 'bottom', id: bottomId },\n          flashTopId: null,\n          flashBottomId: null,\n        };\n      }\n      // New pair\n      if (prev.pending?.side === 'top') {\n        return {\n          pairs: withPair(prev.pairs, prev.pending.id, bottomId),\n          lineDirections: withLineDirection(prev.lineDirections, prev.pairs, prev.pending.id, bottomId, 'top-to-bottom'),\n          pending: null,\n          flashTopId: prev.pending.id,\n          flashBottomId: bottomId,\n        };\n      }\n      return {\n        ...prev,\n        pending: prev.pending?.side === 'bottom' && prev.pending.id === bottomId\n          ? null\n          : { side: 'bottom', id: bottomId },\n        flashTopId: null,\n        flashBottomId: null,\n      };\n    });\n  }, [validationStatus]);\n\n  useEffect(() => {\n    if (validationStatus || state.flashTopId === null || state.flashBottomId === null) return;\n    flashTimerRef.current = setTimeout(() => {\n      flashTimerRef.current = null;\n      setState(current => {\n        if (current.flashTopId === null && current.flashBottomId === null) return current;\n        return { ...current, flashTopId: null, flashBottomId: null };\n      });\n    }, 650);\n\n    return () => {\n      if (flashTimerRef.current) {\n        clearTimeout(flashTimerRef.current);\n        flashTimerRef.current = null;\n      }\n    };\n  }, [state.flashTopId, state.flashBottomId, validationStatus]);\n\n  // ── Notify parent — skip first render to avoid overwriting defaultValue ───\n  // Contract: ExerciseRenderer pre-seeds PAIR_MATCHER values, so the parent never sees `undefined` before first interaction.\n  // External consumers should initialize the widget value as well before allowing submit.\n  const onChangeRef = useRef(onChange);\n  onChangeRef.current = onChange;\n  const isMounted = useRef(false);\n  useEffect(() => {\n    if (!isMounted.current) { isMounted.current = true; return; }\n    const value: string[][] = Object.entries(state.pairs).map(([topId, bottomId]) =>\n      state.lineDirections[topId] === 'bottom-to-top'\n        ? [bottomId, topId]\n        : [topId, bottomId]\n    );\n    onChangeRef.current(widgetId, value);\n  }, [state.pairs, state.lineDirections, widgetId]);\n\n  // ── SVG connector lines ───────────────────────────────────────────────────\n  const containerRef = useRef<HTMLDivElement>(null);\n  const { dotRefs, lines } = usePairLines({\n    containerRef,\n    pairs: state.pairs,\n    lineDirections: state.lineDirections,\n    validationStatus,\n    pairStatusByTopId,\n  });\n\n  // ── Render ──────────────────────────────────────────────────────────────────\n  const cols = useMemo(\n    () => Math.max(topItems.length, bottomItems.length, 1),\n    [topItems.length, bottomItems.length],\n  );\n\n  const renderCard = (item: MatcherItemContent, isTop: boolean) => {\n    const isRtl = shouldItemsUseRTL(item.content);\n    const pairedTopId = isTop ? item.itemId : findTopForBottom(state.pairs, item.itemId);\n    const pairStatus = pairedTopId ? pairStatusByTopId[pairedTopId] ?? null : null;\n    const status = resolveCardStatus(\n      item.itemId, isTop,\n      state.pairs, state.pending,\n      validationStatus,\n      pairStatus,\n    );\n    const isFlashing = isTop\n      ? state.flashTopId === item.itemId\n      : state.flashBottomId === item.itemId;\n    const dotKey = isTop ? `top:${item.itemId}` : `bottom:${item.itemId}`;\n    const dot = (\n      <span\n        className={buildDotClass(status, isTop ? 'south' : 'north')}\n        ref={el => { if (el) dotRefs.current.set(dotKey, el); else dotRefs.current.delete(dotKey); }}\n      />\n    );\n    return (\n      <div key={item.id} className=\"pair-matcher-cell\">\n        {/* north dot (bottom row only) */}\n        {!isTop && dot}\n\n        <button\n          type=\"button\"\n          className={`${buildCardClass(status, isFlashing)}${isRtl ? ' pair-matcher-card--rtl' : ''}`}\n          dir={isRtl ? 'rtl' : undefined}\n          onClick={() => isTop ? handleTopClick(item.itemId) : handleBottomClick(item.itemId)}\n          aria-pressed={status !== 'idle'}\n          aria-disabled={validationStatus ? 'true' : undefined}\n        >\n          <span className=\"pair-matcher-card-content\">\n            {item.content.map(li => renderPairMatcherItemContent(li, widgetsMap))}\n          </span>\n        </button>\n\n        {/* south dot (top row only) */}\n        {isTop && dot}\n      </div>\n    );\n  };\n\n  return (\n    <div\n      className={`pair-matcher-widget${validationStatus ? ` pair-matcher-widget--${validationStatus}` : ''}`}\n      style={{ '--pm-cols': cols } as React.CSSProperties}\n      ref={containerRef}\n      role=\"group\"\n      aria-label=\"Pair matcher exercise\"\n    >\n      {/* Top row */}\n      <div className=\"pair-matcher-row pair-matcher-row--top\">\n        {shuffledTop.map(item => renderCard(item, true))}\n      </div>\n\n      {/* SVG overlay — pointer-events:none */}\n      <svg className=\"pair-matcher-lines\" aria-hidden=\"true\">\n        {lines.map(line => (\n          <line\n            key={line.topId}\n            x1={line.x1} y1={line.y1}\n            x2={line.x2} y2={line.y2}\n            stroke={lineStrokeVar(line.status)}\n            strokeWidth=\"var(--pm-line-width, 4)\"\n            strokeLinecap=\"round\"\n            pathLength={1}\n            className=\"pair-matcher-line\"\n          />\n        ))}\n      </svg>\n\n      {/* Bottom row */}\n      <div className=\"pair-matcher-row pair-matcher-row--bottom\">\n        {shuffledBottom.map(item => renderCard(item, false))}\n      </div>\n    </div>\n  );\n};\n\nPairMatcherWidget.displayName = 'PairMatcherWidget';\n","import type {\n  WidgetJSON,\n  InlineInputJSON,\n  DragOptionsJSON,\n  InlineDragOptionJSON,\n  RadioOptionsJSON,\n  NumericKeypadJSON,\n  FractionJSON,\n  MatcherWidgetJSON,\n  PairMatcherWidgetJSON,\n  VisualFractionJSON,\n} from '../../transformers/zod-schemas';\n\n/**\n * Type guards for widget types\n * These help TypeScript properly narrow discriminated unions\n */\n\nexport function isInlineInputWidget(widget: WidgetJSON): widget is InlineInputJSON {\n  return widget.type === 'inline-input';\n}\n\nexport function isDragOptionsWidget(widget: WidgetJSON): widget is DragOptionsJSON {\n  return widget.type === 'drag-options';\n}\n\nexport function isInlineDragOptionWidget(widget: WidgetJSON): widget is InlineDragOptionJSON {\n  return widget.type === 'inline-drag-option';\n}\n\nexport function isRadioOptionsWidget(widget: WidgetJSON): widget is RadioOptionsJSON {\n  return widget.type === 'radio-options';\n}\n\nexport function isNumericKeypadWidget(widget: WidgetJSON): widget is NumericKeypadJSON {\n  return widget.type === 'numeric-keypad';\n}\n\nexport function isFractionWidget(widget: WidgetJSON): widget is FractionJSON {\n  return widget.type === 'fraction';\n}\n\nexport function isMatcherWidget(widget: WidgetJSON): widget is MatcherWidgetJSON {\n  return widget.type === 'matcher';\n}\n\nexport function isPairMatcherWidget(widget: WidgetJSON): widget is PairMatcherWidgetJSON {\n  return widget.type === 'pair-matcher';\n}\n\nexport function isVisualFractionWidget(widget: WidgetJSON): widget is VisualFractionJSON {\n  return widget.type === 'visual-fraction';\n}\n","import React from 'react';\nimport type { WidgetJSON } from '../../transformers/zod-schemas';\nimport type { ValidationStatus } from './types';\nimport { InlineInput } from './InlineInput';\nimport { DragOptions, InlineDragOption } from './drag-widgets';\nimport { RadioOptions } from './RadioOptions';\nimport { DiamondKeypad } from './DiamondKeypad';\nimport { NumericKeypad } from './NumericKeypad';\nimport { FractionInput } from './FractionInput';\nimport { MatcherWidget } from './matcher';\nimport { PairMatcherWidget } from './pair-matcher';\nimport { VisualFraction } from './visual-fraction';\nimport {\n  isInlineInputWidget,\n  isDragOptionsWidget,\n  isInlineDragOptionWidget,\n  isRadioOptionsWidget,\n  isNumericKeypadWidget,\n  isFractionWidget,\n  isMatcherWidget,\n  isPairMatcherWidget,\n  isVisualFractionWidget,\n} from './type-guards';\nimport type { UserAnswerValue } from '../types';\nimport type { WidgetValidation } from '../../validators';\n\nexport type { ValidationStatus } from './types';\n\nexport interface WidgetRendererProps {\n  widget: WidgetJSON;\n  widgetId: string;\n  value: UserAnswerValue | undefined;\n  values?: Record<string, string>;\n  isDropped?: boolean;\n  validationStatus?: ValidationStatus;\n  numValidationStatus?: ValidationStatus;\n  denValidationStatus?: ValidationStatus;\n  validationDetail?: WidgetValidation;\n  droppedInputs?: Set<string>;\n  /** All widgets in the exercise — needed so MatcherWidget can resolve refs in its items. */\n  widgets?: Record<string, WidgetJSON>;\n  onChange: (widgetId: string, value: UserAnswerValue, fromDrop?: boolean, sourceOptionId?: string) => void;\n  onInputFocus?: (widgetId: string) => void;\n  onKeypadChange?: (value: string) => void;\n}\n\n/**\n * WidgetRenderer - Router component that delegates to specific widget components\n * This is a thin layer that just switches between different widget types\n * Each widget handles its own behavior (DnD, buttons, input, etc.)\n */\nexport const WidgetRenderer: React.FC<WidgetRendererProps> = ({\n  widget,\n  widgetId,\n  value,\n  values = {},\n  isDropped = false,\n  validationStatus = null,\n  numValidationStatus = null,\n  denValidationStatus = null,\n  validationDetail,\n  droppedInputs = new Set<string>(),\n  widgets,\n  onChange,\n  onInputFocus,\n  onKeypadChange,\n}) => {\n  // Scalar widgets always receive a string value.\n  const strValue = typeof value === 'string' ? value : '';\n\n  if (isInlineInputWidget(widget)) {\n    return (\n      <InlineInput\n        widgetId={widgetId}\n        value={strValue}\n        isDropped={isDropped}\n        validationStatus={validationStatus}\n        inputType={widget.inputType}\n        length={widget.inputType === 'string' ? widget.length : undefined}\n        digits={widget.inputType === 'numeric' ? widget.digits : undefined}\n        placeholder={widget.placeholder}\n        onChange={onChange}\n        onFocus={onInputFocus}\n      />\n    );\n  }\n\n  if (isDragOptionsWidget(widget)) {\n    return (\n      <DragOptions\n        options={widget.options}\n        onOptionClick={() => {}}\n      />\n    );\n  }\n\n  if (isInlineDragOptionWidget(widget)) {\n    // Drag only — same as DragOptions panel: click-to-select not wired because\n    // the same chip widgetId can appear multiple times, making the target ambiguous\n    return (\n      <InlineDragOption\n        widgetId={widgetId}\n        widget={widget}\n      />\n    );\n  }\n\n  if (isRadioOptionsWidget(widget)) {\n    return (\n      <RadioOptions\n        name={widgetId}\n        options={widget.options}\n        value={strValue}\n        validationStatus={validationStatus}\n        onChange={onChange}\n      />\n    );\n  }\n\n  if (isNumericKeypadWidget(widget)) {\n    // Keypad updates the focused input directly, not itself\n    const keypadOnChange = onKeypadChange || (() => {});\n    if (widget.style === 'classic') {\n      return (\n        <NumericKeypad\n          value={strValue}\n          includeOperators={widget.includeOperators}\n          includeDecimal={widget.includeDecimal}\n          onChange={keypadOnChange}\n        />\n      );\n    }\n    return (\n      <DiamondKeypad\n        value={strValue}\n        onChange={keypadOnChange}\n      />\n    );\n  }\n\n  if (isFractionWidget(widget)) {\n    return (\n      <FractionInput\n        widgetId={widgetId}\n        numerator={widget.numerator}\n        denominator={widget.denominator}\n        values={values}\n        droppedInputs={droppedInputs}\n        validationStatus={validationStatus}\n        numValidationStatus={numValidationStatus}\n        denValidationStatus={denValidationStatus}\n        onChange={onChange}\n        onFocus={onInputFocus}\n        placeholder={widget.placeholder}\n        />\n    );\n  }\n  if (isMatcherWidget(widget)) {\n    return (\n      <MatcherWidget\n        widgetId={widgetId}\n        widget={widget}\n        onChange={onChange}\n        validationStatus={validationStatus}\n        defaultValue={Array.isArray(value) ? value as string[][] : undefined}\n        widgets={widgets}\n      />\n    );\n  }\n\n  if (isPairMatcherWidget(widget)) {\n    return (\n      <PairMatcherWidget\n        widgetId={widgetId}\n        widget={widget}\n        onChange={onChange}\n        validationStatus={validationStatus}\n        validationDetail={validationDetail}\n        defaultValue={Array.isArray(value) ? value as string[][] : undefined}\n        widgets={widgets}\n      />\n    );\n  }\n\n  if (isVisualFractionWidget(widget)) {\n    return (\n      <VisualFraction\n        widgetId={widgetId}\n        widget={widget}\n        value={Array.isArray(value) && value.every(v => typeof v === 'number') ? value : undefined}\n        validationStatus={validationStatus}\n        onChange={(id, nextValue) => onChange(id, nextValue)}\n      />\n    );\n  }\n\n  // Exhaustive check - should never reach here\n  return null;\n};","import type { LayoutItem } from '../../transformers/zod-schemas';\nimport { isWidgetRef } from '../../transformers/json-schema';\nimport { SIDE_PAD, INTERNAL_PRECISION, DISPLAY_PRECISION } from '../../constants';\n\nexport { SIDE_PAD } from '../../constants';\nexport { CSS_VAR_SIDE_PAD } from '../../constants';\nexport { DISPLAY_PRECISION } from '../../constants';\n\n/**\n * Tolerance for float comparisons — matches INTERNAL_PRECISION so that values\n * cleaned by `cleanFloat` are treated as equal when within this margin.\n * Use `almostEqual` instead of `===` when comparing computed floats.\n */\nexport const EPSILON = 10 ** -INTERNAL_PRECISION;\n\nexport const cleanFloat = (n: number): number => parseFloat(n.toFixed(INTERNAL_PRECISION));\nexport const roundTick = (n: number): number => parseFloat(n.toFixed(DISPLAY_PRECISION));\nexport const almostEqual = (a: number, b: number): boolean => Math.abs(a - b) <= EPSILON;\n\n\n/** Map a value to a CSS `left` percentage within the padded region.\n *  Clamps to [SIDE_PAD, 100-SIDE_PAD] so out-of-range values never escape the axis.\n */\nexport const toPercent = (value: number, min: number, max: number): number => {\n  const raw = SIDE_PAD + ((value - min) / (max - min)) * (100 - 2 * SIDE_PAD);\n  return Math.max(SIDE_PAD, Math.min(100 - SIDE_PAD, raw));\n};\n\n/**\n * Convert a chip's pixel X position to its axis value.\n * Exact inverse of `toPercent`.\n */\nexport const pixelToValue = (\n  chipCenterX: number,\n  axisLeft: number,\n  axisWidth: number,\n  min: number,\n  max: number,\n): number => {\n  const relX     = (chipCenterX - axisLeft) / axisWidth;\n  const fraction = (relX - SIDE_PAD / 100) / (1 - 2 * SIDE_PAD / 100);\n  const clamped  = Math.max(0, Math.min(1, fraction));\n  return min + clamped * (max - min);\n};\n\n/**\n * Build ordered major tick values for [min, max] at the given step.\n * `max` is always included as the last tick even if not a step multiple.\n */\nexport const getMajorTicks = (min: number, max: number, step: number): number[] => {\n  if (step <= 0 || max <= min) return [min, max];\n  const count = Math.floor((max - min) / step);\n  const ticks = Array.from({ length: count + 1 }, (_, i) => cleanFloat(min + i * step));\n  const lastTick = ticks[ticks.length - 1]!;\n  // `almostEqual` is intentionally not used here — the concern is visual duplicates at\n  // DISPLAY_PRECISION, not internal float noise. Two ticks that look identical on screen\n  // (same rounded label) must collapse to one, even when they differ by more than EPSILON.\n  if (roundTick(lastTick) !== roundTick(max)) {\n    // max is visually distinct — append it as an extra tick\n    ticks.push(max);\n  } else {\n    // Same display value — snap to the canonical max\n    ticks[ticks.length - 1] = max;\n  }\n  return ticks;\n};\n\n/**\n * Flat array of minor tick values across the entire axis.\n * Shared by rendering and snap computation so they stay consistent.\n */\nexport const getMinorTickValues = (majorTicks: number[], minorTicks: number): number[] => {\n  if (minorTicks <= 0 || majorTicks.length < 2) return [];\n  const result: number[] = [];\n  for (let i = 0; i < majorTicks.length - 1; i++) {\n    const from     = majorTicks[i]!;\n    const to       = majorTicks[i + 1]!;\n    const interval = to - from;\n    for (let j = 1; j <= minorTicks; j++) {\n      result.push(cleanFloat(from + (j / (minorTicks + 1)) * interval));\n    }\n  }\n  return result;\n};\n\n/** Full snap candidate list: major + all minor ticks. */\nexport const getSnapTicks = (majorTicks: number[], minorTicks: number): number[] => [\n  ...majorTicks,\n  ...getMinorTickValues(majorTicks, minorTicks),\n];\n\n/**\n * Snap `raw` to the nearest tick value.\n * Returns `cleanFloat(raw)` when `ticks` is empty (no-snap fallback).\n * Ticks are assumed to be already cleaned — no double-rounding applied.\n */\nexport const snapToNearest = (raw: number, ticks: number[]): number => {\n  if (ticks.length === 0) return cleanFloat(raw);\n  return ticks.reduce((best, t) => Math.abs(t - raw) < Math.abs(best - raw) ? t : best);\n};\n\n// ─── Widget resolution ─────────────────────────────────────────────────────────\n\n/** Return the `widgetId` of the first widget-ref in a position's content, or `null`. */\nexport const getPositionWidgetId = (content: LayoutItem[]): string | null => {\n  for (const item of content) {\n    if (isWidgetRef(item)) return item.widgetId;\n  }\n  return null;\n};\n\n// ─── Number-line overlays ──────────────────────────────────────────────────────\n\n/**\n * Returns the CSS custom property call for a highlight color token.\n * e.g. `'blue'` → `'var(--nl-highlight-blue)'`\n */\nexport const toHighlightColor = (color: string): string =>\n  `var(--nl-highlight-${color})`;\n","import React from 'react';\nimport type { NumberLineItem } from '../../../../transformers/zod-schemas';\nimport { toPercent, toHighlightColor } from '../../../utils/number-line.utils';\n\ntype HighlightItem = NonNullable<NumberLineItem['highlights']>[number];\n\nexport interface HighlightBandsProps {\n  highlights: HighlightItem[] | undefined;\n  min: number;\n  max: number;\n}\n\ninterface BandGeometry {\n  leftPct:  number;\n  widthPct: number;\n}\n\n/** Pre-compute band geometry outside JSX for readability and testability. */\nconst getBandGeometry = (h: HighlightItem, min: number, max: number): BandGeometry => {\n  const leftPct  = toPercent(Math.min(h.from, h.to), min, max);\n  const rightPct = toPercent(Math.max(h.from, h.to), min, max);\n  return { leftPct, widthPct: rightPct - leftPct };\n};\n\nexport const HighlightBands: React.FC<HighlightBandsProps> = ({ highlights, min, max }) => {\n  if (!highlights?.length) return null;\n\n  return (\n    <>\n      {highlights.map(h => {\n        const { leftPct, widthPct } = getBandGeometry(h, min, max);\n        if (widthPct <= 0) return null;\n        return (\n          <div\n            key={h.id}\n            className=\"number-line-highlight-band\"\n            aria-hidden=\"true\"\n            style={\n              {\n                left:  `${leftPct}%`,\n                width: `${widthPct}%`,\n                ...(h.color && { '--nl-highlight-color': toHighlightColor(h.color) }),\n              } as React.CSSProperties\n            }\n          />\n        );\n      })}\n    </>\n  );\n};\n","import React, { useCallback, useRef, useState } from 'react';\nimport type { NumberLineItem } from '../../../../transformers/zod-schemas';\nimport type { UserAnswerValue } from '../../../types';\nimport {\n  toPercent,\n  pixelToValue,\n  snapToNearest,\n  cleanFloat,\n  almostEqual,\n} from '../../../utils/number-line.utils';\nimport { useJiggle } from '../../../dnd';\nimport { useSound } from '../../../sounds';\n\ntype CursorItem = NonNullable<NumberLineItem['cursors']>[number];\nexport type CursorValidationStatus = 'correct' | 'incorrect';\nexport type CursorValidationStatuses = Record<string, CursorValidationStatus>;\n\nexport interface CursorBallsProps {\n  cursors: NumberLineItem['cursors'];\n  min: number;\n  max: number;\n  snapTicks: number[];\n  audibleTicks?: number[];\n  axisRowRef: { current: HTMLDivElement | null };\n  onChange: (cursorId: string, value: UserAnswerValue) => void;\n  values: Record<string, UserAnswerValue>;\n  cursorValidationStatuses?: CursorValidationStatuses;\n}\n\n// ─── Single draggable cursor ────────────────────────────────────────────────\n\ninterface DraggableCursorProps {\n  cursor: CursorItem;\n  min: number;\n  max: number;\n  snapTicks: number[];\n  audibleTicks?: number[];\n  axisRowRef: { current: HTMLDivElement | null };\n  onChange: (cursorId: string, value: UserAnswerValue) => void;\n  currentValue: number;\n  validationStatus: CursorValidationStatus | null;\n}\n\nconst DraggableCursor: React.FC<DraggableCursorProps> = ({\n  cursor, min, max, snapTicks, audibleTicks, axisRowRef, onChange, currentValue, validationStatus,\n}) => {\n  const [isDragging, setIsDragging] = useState(false);\n  const isDraggingRef = useRef(false);\n  const currentValueRef = useRef(currentValue);\n  currentValueRef.current = currentValue;\n  const dragStartValueRef = useRef(currentValue);\n  const lastSoundValueRef = useRef(currentValue);\n  const { jiggling, onAnimationEnd } = useJiggle(isDragging);\n  const playSound = useSound();\n\n  // Author color is dynamic; validation feedback colors live in CSS classes.\n  const colorVar = !validationStatus && cursor.color\n    ? ({ '--nl-cursor-color': cursor.color } as React.CSSProperties)\n    : undefined;\n\n  // Fill geometry: spans from the initial position (cursor.value) to the current ball\n  const initialPct = toPercent(cursor.value, min, max);\n  const ballPct    = toPercent(currentValue, min, max);\n  const fillLeft   = Math.min(initialPct, ballPct);\n  const fillWidth  = Math.abs(ballPct - initialPct);\n\n  const snap = useCallback((clientX: number): number => {\n    const el = axisRowRef.current;\n    if (!el) return currentValueRef.current;\n    const rect = el.getBoundingClientRect();\n    const raw  = pixelToValue(clientX, rect.left, rect.width, min, max);\n    return snapTicks.length > 0 ? snapToNearest(raw, snapTicks) : cleanFloat(raw);\n  }, [axisRowRef, min, max, snapTicks]);\n\n  const handlePointerDown = useCallback((e: React.PointerEvent<HTMLDivElement>) => {\n    e.currentTarget.setPointerCapture(e.pointerId);\n    e.stopPropagation();\n    isDraggingRef.current = true;\n    dragStartValueRef.current = currentValue;\n    lastSoundValueRef.current = currentValue;\n    setIsDragging(true);\n  }, [currentValue]);\n\n  const updateCursorValue = useCallback((clientX: number): number => {\n    const next = snap(clientX);\n    if (!almostEqual(next, lastSoundValueRef.current)) {\n      const soundTicks = audibleTicks ?? snapTicks;\n      if (soundTicks.some(tick => almostEqual(tick, next))) playSound('cursor-step');\n      lastSoundValueRef.current = next;\n    }\n    onChange(cursor.id, String(next));\n    return next;\n  }, [snap, audibleTicks, snapTicks, playSound, onChange, cursor.id]);\n\n  const handlePointerMove = useCallback((e: React.PointerEvent<HTMLDivElement>) => {\n    if (!isDraggingRef.current) return;\n    e.stopPropagation();\n    updateCursorValue(e.clientX);\n  }, [updateCursorValue]);\n\n  const handlePointerUp = useCallback((e: React.PointerEvent<HTMLDivElement>) => {\n    if (!isDraggingRef.current) return;\n    isDraggingRef.current = false;\n    setIsDragging(false);\n    e.currentTarget.releasePointerCapture(e.pointerId);\n    e.stopPropagation();\n    const next = updateCursorValue(e.clientX);\n    if (!almostEqual(next, dragStartValueRef.current)) {\n      playSound('cursor-release');\n    }\n  }, [updateCursorValue, playSound]);\n\n  // Keyboard: left/right navigates to adjacent snap tick\n  const handleKeyDown = useCallback((e: React.KeyboardEvent<HTMLDivElement>) => {\n    if (!snapTicks.length) return;\n    const sorted = [...snapTicks].sort((a, b) => a - b);\n    const idx    = sorted.findIndex(t => t >= currentValue - 1e-9);\n    const first  = sorted[0] ?? currentValue;\n    const last   = sorted[sorted.length - 1] ?? currentValue;\n    if (e.key === 'ArrowRight' || e.key === 'ArrowUp') {\n      e.preventDefault();\n      const next = sorted[idx + 1] ?? last;\n      const soundTicks = audibleTicks ?? snapTicks;\n      if (!almostEqual(next, currentValue) && soundTicks.some(tick => almostEqual(tick, next))) {\n        playSound('cursor-step');\n      }\n      onChange(cursor.id, String(next));\n    } else if (e.key === 'ArrowLeft' || e.key === 'ArrowDown') {\n      e.preventDefault();\n      const next = sorted[idx - 1] ?? first;\n      const soundTicks = audibleTicks ?? snapTicks;\n      if (!almostEqual(next, currentValue) && soundTicks.some(tick => almostEqual(tick, next))) {\n        playSound('cursor-step');\n      }\n      onChange(cursor.id, String(next));\n    }\n  }, [snapTicks, audibleTicks, currentValue, playSound, onChange, cursor.id]);\n\n  const ballClass = [\n    'number-line-cursor-ball',\n    isDragging       ? 'number-line-cursor-ball--dragging'            : '',\n    jiggling && !isDragging ? 'number-line-cursor-ball--jiggle'       : '',\n    validationStatus ? `number-line-cursor-ball--${validationStatus}` : '',\n  ].filter(Boolean).join(' ');\n  const fillClass = [\n    'number-line-cursor-fill',\n    validationStatus ? `number-line-cursor-fill--${validationStatus}` : '',\n  ].filter(Boolean).join(' ');\n  const labelClass = [\n    'number-line-cursor-label',\n    validationStatus ? `number-line-cursor-label--${validationStatus}` : '',\n  ].filter(Boolean).join(' ');\n  const sliderAriaLabel = cursor.label\n    ? `${cursor.label}: cursor position ${currentValue}`\n    : `cursor position ${currentValue}`;\n\n  return (\n    <React.Fragment>\n      {/* Fill: from initial position to current position, only when enabled and ball has moved */}\n      {cursor.fillRange && fillWidth > 0 && (\n        <div\n          className={fillClass}\n          aria-hidden=\"true\"\n          style={{ left: `${fillLeft}%`, width: `${fillWidth}%`, ...colorVar }}\n        />\n      )}\n\n      {cursor.label && (\n        <span\n          className={labelClass}\n          aria-hidden=\"true\"\n          style={{ left: `${ballPct}%`, ...colorVar }}\n        >\n          {cursor.label}\n        </span>\n      )}\n\n      <div\n        className={ballClass}\n        style={{ left: `${ballPct}%`, ...colorVar }}\n        onPointerDown={handlePointerDown}\n        onPointerMove={handlePointerMove}\n        onPointerUp={handlePointerUp}\n        onKeyDown={handleKeyDown}\n        onAnimationEnd={onAnimationEnd}\n        role=\"slider\"\n        aria-valuemin={min}\n        aria-valuemax={max}\n        aria-valuenow={currentValue}\n        aria-label={sliderAriaLabel}\n        tabIndex={0}\n      />\n    </React.Fragment>\n  );\n};\n\n// ─── Public component ────────────────────────────────────────────────────────\n\nexport const CursorBalls: React.FC<CursorBallsProps> = ({\n  cursors, min, max, snapTicks, audibleTicks, axisRowRef, onChange, values, cursorValidationStatuses,\n}) => {\n  if (!cursors?.length) return null;\n\n  return (\n    <>\n      {cursors.map(cursor => {\n        const raw          = values[cursor.id];\n        const parsed = Number(raw);\n        const currentValue = raw !== undefined && raw !== '' && isFinite(parsed) ? parsed : cursor.value;\n        const validationStatus = cursorValidationStatuses?.[cursor.id] ?? null;\n\n        return (\n          <DraggableCursor\n            key={cursor.id}\n            cursor={cursor}\n            min={min}\n            max={max}\n            snapTicks={snapTicks}\n            audibleTicks={audibleTicks}\n            axisRowRef={axisRowRef}\n            onChange={onChange}\n            currentValue={currentValue}\n            validationStatus={validationStatus}\n          />\n        );\n      })}\n    </>\n  );\n};\n","import { useRef, useCallback, useState, useEffect, useMemo } from 'react';\nimport { useDroppable, useDndMonitor, useDraggable } from '@dnd-kit/core';\nimport type { NumberLineItem } from '../../../../transformers/zod-schemas';\nimport { type DragOptionData } from '../../../dnd';\nimport { HighlightBands } from './HighlightBands';\nimport { CursorBalls, type CursorValidationStatuses } from './CursorBalls';\nimport {\n  toPercent,\n  pixelToValue,\n  getSnapTicks,\n  snapToNearest,\n  getMinorTickValues,\n  getPositionWidgetId,\n  cleanFloat,\n  almostEqual,\n} from '../../../utils/number-line.utils';\nimport { encodeNLDragValue } from '../../../../utils/number-line.utils';\nimport type { UserAnswerValue } from '../../../types';\n\nexport interface FreeDragAxisProps {\n  axisDropId: string;\n  min: number;\n  max: number;\n  minorTicks: number;\n  majorTicks: number[];\n  showArrowLeft: boolean;\n  showArrowRight: boolean;\n  positions: NumberLineItem['positions'];\n  values: Record<string, UserAnswerValue>;\n  onChange: (widgetId: string, value: UserAnswerValue, fromDrop?: boolean, sourceOptionId?: string) => void;\n  highlights?: NumberLineItem['highlights'];\n  cursors?: NumberLineItem['cursors'];\n  cursorValidationStatuses?: CursorValidationStatuses;\n  /** Increments/decrements whenever the snap grid changes (driven by counterCount).\n   *  FreeDragAxis uses this to discard stale chip positions on grid change. */\n  snapKey: number;\n}\n\n// PlacedChip\n\ninterface PlacedChipProps {\n  widgetId: string;\n  label: string;\n  leftPercent: number;\n  isLanding: boolean;\n  onRemove: () => void;\n}\n\nconst PlacedChip: React.FC<PlacedChipProps> = ({ widgetId, label, leftPercent, isLanding, onRemove }) => {\n  const { attributes, listeners, setNodeRef, isDragging } = useDraggable({\n    id: widgetId,\n    data: { type: 'placed-chip' as const, widgetId, label },\n  });\n\n  return (\n    <div\n      className={`number-line-placed-chip${isLanding ? ' nl-chip-landing' : ''}${isDragging ? ' nl-chip-dragging' : ''}`}\n      style={{ left: `${leftPercent}%` }}\n    >\n      <div className=\"number-line-placed-chip-inner\">\n        <button\n          ref={setNodeRef}\n          className=\"number-line-placed-chip-btn\"\n          aria-label={`${label}, drag to move`}\n          {...listeners}\n          {...attributes}\n        >\n          {label}\n        </button>\n        <button\n          type=\"button\"\n          className=\"number-line-placed-chip-remove\"\n          aria-label=\"Remove\"\n          onClick={onRemove}\n        >\n          ✕\n        </button>\n      </div>\n    </div>\n  );\n};\n\n// Types\n\ninterface PlacedChipState {\n  label:    string;\n  position: number;\n  sourceId: string; // original drag-option id — keeps bank slot hidden\n}\n\n/** Nearest unoccupied widget slot to `axisValue`. Checks `values` + `placedChips`\n *  to block double-drops. `excludeWid` = chip being re-dragged (treated as free). */\nexport function findNearestFreeWidgetSlot(\n  positions:   NumberLineItem['positions'],\n  axisValue:   number,\n  values:      Record<string, UserAnswerValue>,\n  placedChips: Map<string, PlacedChipState>,\n  excludeWid?: string,\n): NumberLineItem['positions'][number] | undefined {\n  let best: NumberLineItem['positions'][number] | undefined;\n  let bestDist = Infinity;\n  for (const pos of positions) {\n    const wid = getPositionWidgetId(pos.content);\n    if (!wid) continue;\n    if (wid !== excludeWid && (values[wid] || placedChips.has(wid))) continue;\n    const dist = Math.abs(pos.value - axisValue);\n    if (dist < bestDist) { bestDist = dist; best = pos; }\n  }\n  return best;\n}\n\n// FreeDragAxis\n\n/** Axis drop zone for free-drag mode. Chips snap to the nearest tick on release. */\nexport const FreeDragAxis: React.FC<FreeDragAxisProps> = ({\n  axisDropId,\n  min, max,\n  minorTicks, majorTicks,\n  showArrowLeft, showArrowRight,\n  positions, values, onChange,\n  highlights,\n  cursors,\n  cursorValidationStatuses,\n  snapKey,\n}) => {\n  const axisRef = useRef<HTMLDivElement | null>(null);\n\n  const snapTicks = useMemo(\n    () => getSnapTicks(majorTicks, minorTicks),\n    [majorTicks, minorTicks],\n  );\n\n  const minorValues = useMemo(\n    () => getMinorTickValues(majorTicks, minorTicks),\n    [majorTicks, minorTicks],\n  );\n\n  const [placedChips, setPlacedChips] = useState<Map<string, PlacedChipState>>(new Map());\n  const [hoverSnap, setHoverSnap]     = useState<number | null>(null);\n  const [landingChips, setLandingChips] = useState<Set<string>>(new Set());\n  const landingTimersRef = useRef<Map<string, ReturnType<typeof setTimeout>>>(new Map());\n\n  useEffect(() => () => landingTimersRef.current.forEach(clearTimeout), []); // cancel on unmount\n  const onChangeRef    = useRef(onChange);   // stable refs — avoid stale closures in monitor\n  const placedChipsRef = useRef(placedChips);\n  useEffect(() => { onChangeRef.current    = onChange;     }, [onChange]);\n  useEffect(() => { placedChipsRef.current = placedChips; }, [placedChips]);\n\n  // snap grid changed — discard stale chips; guard skips initial mount\n  const isFirstRender = useRef(true);\n  useEffect(() => {\n    if (isFirstRender.current) {\n      isFirstRender.current = false;\n      return;\n    }\n    for (const [widgetId, chip] of placedChipsRef.current) {\n      onChangeRef.current(widgetId, '', false, chip.sourceId);\n    }\n    landingTimersRef.current.forEach(clearTimeout);\n    landingTimersRef.current.clear();\n    // sync ref before setState to prevent any race\n    const empty = new Map<string, PlacedChipState>();\n    placedChipsRef.current = empty;\n    setPlacedChips(empty);\n    setHoverSnap(null);\n    setLandingChips(new Set());\n  }, [snapKey]);\n\n  // drop chips cleared externally\n  useEffect(() => {\n    setPlacedChips(prev => {\n      let changed = false;\n      const next = new Map(prev);\n      for (const [wid] of next) {\n        if (!values[wid]) { next.delete(wid); changed = true; }\n      }\n      if (changed) { placedChipsRef.current = next; }\n      return changed ? next : prev;\n    });\n  }, [values]);\n\n  const { setNodeRef } = useDroppable({ id: axisDropId });\n\n  const mergedRef = useCallback((node: HTMLDivElement | null) => {\n    axisRef.current = node;\n    setNodeRef(node);\n  }, [setNodeRef]);\n\n  const snapFromEvent = useCallback((translated: { left: number; width: number }): number | null => {\n    if (!axisRef.current) return null;\n    const axisRect = axisRef.current.getBoundingClientRect();\n    if (axisRect.width === 0) return null; // not yet laid out\n    const chipCenterX = translated.left + translated.width / 2;\n    const raw         = pixelToValue(chipCenterX, axisRect.left, axisRect.width, min, max);\n    return snapToNearest(raw, snapTicks);\n  }, [min, max, snapTicks]);\n\n  // float-safe; excludeWid = chip being re-dragged (its tick treated as free)\n  const isTickOccupied = useCallback(\n    (tick: number, excludeWid?: string): boolean =>\n      [...placedChipsRef.current.entries()].some(\n        ([wid, c]) => wid !== excludeWid && almostEqual(c.position, tick),\n      ),\n    [], // reads placedChipsRef (a ref — stable, no dep needed)\n  );\n\n  // reads placedChipsRef directly — always sync-up-to-date\n  const findNearestFreeWidgetSlotCb = useCallback(\n    (axisValue: number, excludeWid?: string) =>\n      findNearestFreeWidgetSlot(positions, axisValue, values, placedChipsRef.current, excludeWid),\n    [positions, values],\n  );\n\n  const triggerLanding = useCallback((widgetId: string) => {\n    setLandingChips(prev => new Set(prev).add(widgetId));\n    clearTimeout(landingTimersRef.current.get(widgetId));\n    landingTimersRef.current.set(widgetId, setTimeout(() => {\n      setLandingChips(prev => { const s = new Set(prev); s.delete(widgetId); return s; });\n      landingTimersRef.current.delete(widgetId);\n    }, 300));\n  }, []);\n\n  useDndMonitor({\n    onDragMove(event) {\n      if (!event.over || event.over.id !== axisDropId) {\n        setHoverSnap(null);\n        return;\n      }\n      const translated = event.active.rect.current.translated;\n      if (!translated) return;\n      setHoverSnap(snapFromEvent(translated));\n    },\n    onDragCancel() { setHoverSnap(null); },\n    onDragEnd(event) {\n      setHoverSnap(null);\n      if (!event.over || event.over.id !== axisDropId) return;\n      if (!axisRef.current) return;\n\n      const translated = event.active.rect.current.translated;\n      if (!translated) return;\n\n      const rawPlaced = snapFromEvent(translated);\n      if (rawPlaced === null) {\n        if (process.env.NODE_ENV !== 'production') {\n          console.warn('[FreeDragAxis] snap calculation failed — axis may not be laid out yet');\n        }\n        return;\n      }\n      const placed = cleanFloat(rawPlaced);\n\n      const data = event.active.data.current as Record<string, unknown>;\n      if (!data) return;\n\n      // re-drag\n      if (data.type === 'placed-chip') {\n        const oldWidgetId = data.widgetId as string;\n        const label       = data.label as string;\n        const sourceId    = placedChipsRef.current.get(oldWidgetId)?.sourceId ?? oldWidgetId;\n\n        if (isTickOccupied(placed, oldWidgetId)) return;\n        const targetPos = findNearestFreeWidgetSlotCb(placed, oldWidgetId);\n        if (!targetPos) return;\n\n        const newWidgetId = getPositionWidgetId(targetPos.content);\n        if (!newWidgetId) return;\n\n        if (newWidgetId !== oldWidgetId) {\n          onChangeRef.current(oldWidgetId, '', false, sourceId); // clear old slot\n        }\n        onChangeRef.current(newWidgetId, encodeNLDragValue(label, placed), true, sourceId);\n        setPlacedChips(prev => {\n          const next = new Map(prev);\n          if (newWidgetId !== oldWidgetId) next.delete(oldWidgetId);\n          next.set(newWidgetId, { label, position: placed, sourceId });\n          placedChipsRef.current = next;\n          return next;\n        });\n        triggerLanding(newWidgetId);\n        return;\n      }\n\n      // bank drop\n      if (data.type !== 'drag-option') return;\n      if (isTickOccupied(placed)) return;\n\n      const targetPos = findNearestFreeWidgetSlotCb(placed);\n      if (!targetPos) return;\n\n      const targetWidgetId = getPositionWidgetId(targetPos.content);\n      if (!targetWidgetId) return;\n\n      const chipLabel = (data.data as DragOptionData).value;\n      const sourceId  = String(event.active.id);\n      onChangeRef.current(targetWidgetId, encodeNLDragValue(chipLabel, placed), true, sourceId);\n      setPlacedChips(prev => {\n        const next = new Map(prev).set(targetWidgetId, { label: chipLabel, position: placed, sourceId });\n        placedChipsRef.current = next;\n        return next;\n      });\n      triggerLanding(targetWidgetId);\n    },\n  });\n\n  return (\n    <div\n      ref={mergedRef}\n      className=\"number-line-axis-row nl-axis-drag-mode\"\n    >\n      <div className=\"number-line-track\" />\n\n      {showArrowLeft  && <div className=\"number-line-arrow number-line-arrow-left\"  aria-hidden=\"true\" />}\n      {showArrowRight && <div className=\"number-line-arrow number-line-arrow-right\" aria-hidden=\"true\" />}\n\n      <HighlightBands highlights={highlights} min={min} max={max} />\n\n      {/* Cursor fill bands and balls */}\n      <CursorBalls\n        cursors={cursors}\n        min={min}\n        max={max}\n        snapTicks={snapTicks}\n        audibleTicks={majorTicks}\n        axisRowRef={axisRef}\n        onChange={onChange}\n        values={values}\n        cursorValidationStatuses={cursorValidationStatuses}\n      />\n\n      {minorValues.map(v => (\n        <div\n          key={`minor-${cleanFloat(v)}`}\n          className={`number-line-minor-tick${hoverSnap === v ? ' nl-tick-hover' : ''}`}\n          style={{ left: `${toPercent(v, min, max)}%` }}\n        />\n      ))}\n\n      {majorTicks.map(tick => (\n        <div\n          key={`major-${cleanFloat(tick)}`}\n          className={`number-line-major-tick${hoverSnap === tick ? ' nl-tick-hover' : ''}`}\n          style={{ left: `${toPercent(tick, min, max)}%` }}\n        />\n      ))}\n\n      {/* snap preview */}\n      {hoverSnap !== null && (\n        <div\n          className=\"nl-snap-preview\"\n          style={{ left: `${toPercent(hoverSnap, min, max)}%` }}\n          aria-hidden=\"true\"\n        />\n      )}\n\n      {/* context markers — no drop target */}\n      {positions\n        .filter(pos => getPositionWidgetId(pos.content) === null)\n        .map(pos => (\n          <div\n            key={`dot-${pos.id}`}\n            className=\"number-line-position-dot\"\n            style={{ left: `${toPercent(pos.value, min, max)}%` }}\n          />\n        ))}\n\n      {positions.map(pos => {\n        const wid  = getPositionWidgetId(pos.content);\n        const chip = wid ? placedChips.get(wid) : undefined;\n        if (!wid || !chip) return null;\n        return (\n          <PlacedChip\n            key={wid}\n            widgetId={wid}\n            label={chip.label}\n            leftPercent={toPercent(chip.position, min, max)}\n            isLanding={landingChips.has(wid)}\n            onRemove={() => {\n              onChangeRef.current(wid, '', false, chip.sourceId);\n              setPlacedChips(prev => {\n                const next = new Map(prev);\n                next.delete(wid);\n                placedChipsRef.current = next;\n                return next;\n              });\n            }}\n          />\n        );\n      })}\n    </div>\n  );\n};","import React, { useRef, useMemo } from 'react';\nimport type { NumberLineItem } from '../../../../transformers/zod-schemas';\nimport type { UserAnswerValue } from '../../../types';\nimport { HighlightBands } from './HighlightBands';\nimport { CursorBalls, type CursorValidationStatuses } from './CursorBalls';\nimport { toPercent } from '../../../utils/number-line.utils';\n\nexport interface AxisTicksProps {\n  min: number;\n  max: number;\n  majorTicks: number[];\n  minorValues: number[];\n  showArrowLeft: boolean;\n  showArrowRight: boolean;\n  highlights: NumberLineItem['highlights'];\n  positions: NumberLineItem['positions'];\n  cursors?: NumberLineItem['cursors'];\n  onChange: (widgetId: string, value: UserAnswerValue) => void;\n  values: Record<string, UserAnswerValue>;\n  cursorValidationStatuses?: CursorValidationStatuses;\n}\n\n/** Static axis row for typed mode: track, arrows, bands, ticks, position dots. */\nexport const AxisTicks: React.FC<AxisTicksProps> = ({\n  min, max,\n  majorTicks, minorValues,\n  showArrowLeft, showArrowRight,\n  highlights, positions, cursors,\n  onChange, values, cursorValidationStatuses,\n}) => {\n  const axisRowRef = useRef<HTMLDivElement>(null);\n\n  // All snap candidates: major ticks + minor tick values\n  const snapTicks = useMemo(\n    () => [...majorTicks, ...minorValues],\n    [majorTicks, minorValues],\n  );\n\n  return (\n    <div ref={axisRowRef} className=\"number-line-axis-row\" role=\"presentation\">\n      <div className=\"number-line-track\" aria-hidden=\"true\" />\n\n      {showArrowLeft  && <div className=\"number-line-arrow number-line-arrow-left\"  aria-hidden=\"true\" />}\n      {showArrowRight && <div className=\"number-line-arrow number-line-arrow-right\" aria-hidden=\"true\" />}\n\n      {/* Bands sit below ticks (z-index 1). */}\n      <HighlightBands highlights={highlights} min={min} max={max} />\n\n      {/* Cursor fill bands and balls sit above highlights (z-index 2/4). */}\n      <CursorBalls\n        cursors={cursors}\n        min={min}\n        max={max}\n        snapTicks={snapTicks}\n        audibleTicks={majorTicks}\n        axisRowRef={axisRowRef}\n        onChange={onChange}\n        values={values}\n        cursorValidationStatuses={cursorValidationStatuses}\n      />\n\n      {minorValues.map(v => (\n        <div\n          key={`minor-${v}`}\n          className=\"number-line-minor-tick\"\n          aria-hidden=\"true\"\n          style={{ left: `${toPercent(v, min, max)}%` }}\n        />\n      ))}\n\n      {majorTicks.map(tick => (\n        <div\n          key={`major-${tick}`}\n          className=\"number-line-major-tick\"\n          aria-hidden=\"true\"\n          style={{ left: `${toPercent(tick, min, max)}%` }}\n        />\n      ))}\n\n      {positions.map(pos => (\n        <div\n          key={`dot-${pos.id}`}\n          className=\"number-line-position-dot\"\n          aria-hidden=\"true\"\n          style={{ left: `${toPercent(pos.value, min, max)}%` }}\n        />\n      ))}\n    </div>\n  );\n};\n","import React from 'react';\nimport type { NumberLineLabels } from '../../../../constants';\nimport { toPercent, roundTick } from '../../../utils/number-line.utils';\n\nexport interface AxisLabelsProps {\n  majorTicks: number[];\n  min: number;\n  max: number;\n  labelVisibility: NumberLineLabels | undefined;\n  inputTickSet: Set<number>;\n}\n\nconst isLabelVisible = (\n  tick: number,\n  min: number,\n  max: number,\n  labelVisibility: NumberLineLabels | undefined,\n): boolean => {\n  switch (labelVisibility) {\n    case 'none':     return false;\n    case 'min-only': return tick === roundTick(min);\n    case 'max-only': return tick === roundTick(max);\n    case 'extremes': return tick === roundTick(min) || tick === roundTick(max);\n    default:         return true; // 'all' or undefined\n  }\n};\n\n/** Tick label row rendered below the axis. Hides labels occupied by input widgets. */\nexport const AxisLabels: React.FC<AxisLabelsProps> = ({\n  majorTicks, min, max, labelVisibility, inputTickSet,\n}) => (\n  <div className=\"number-line-labels-row\" aria-hidden=\"true\">\n    {majorTicks.map(tick => {\n      const visible = !inputTickSet.has(tick) && isLabelVisible(tick, min, max, labelVisibility);\n      return (\n        <span\n          key={`lbl-${tick}`}\n          className=\"number-line-tick-label\"\n          style={{\n            left:       `${toPercent(tick, min, max)}%`,\n            visibility: visible ? 'visible' : 'hidden',\n          }}\n        >\n          {tick}\n        </span>\n      );\n    })}\n  </div>\n);\n","import React from 'react';\nimport type { NumberLineItem } from '../../../../transformers/zod-schemas';\nimport { toPercent } from '../../../utils/number-line.utils';\n\nexport interface HighlightLabelsRowProps {\n  highlights: NumberLineItem['highlights'];\n  min: number;\n  max: number;\n}\n\n/** Labels rendered below the highlight bands — never overlaps input widgets. */\nexport const HighlightLabelsRow: React.FC<HighlightLabelsRowProps> = ({ highlights, min, max }) => {\n  if (!highlights?.some(h => h.label)) return null;\n\n  return (\n    <div className=\"number-line-highlight-labels-row\" aria-hidden=\"true\">\n      {highlights.map(h => {\n        if (!h.label) return null;\n        const centerPct = (toPercent(h.from, min, max) + toPercent(h.to, min, max)) / 2;\n        return (\n          <span\n            key={`hl-lbl-${h.id}`}\n            className=\"number-line-highlight-label\"\n            style={{ left: `${centerPct}%` }}\n          >\n            {h.label}\n          </span>\n        );\n      })}\n    </div>\n  );\n};\n","import React from 'react';\nimport type { NumberLineItem } from '../../../../transformers/zod-schemas';\nimport { useSound } from '../../../sounds';\n\ntype CounterDef = NonNullable<NumberLineItem['counter']>;\n\nexport interface CounterControlsProps {\n  counter: CounterDef;\n  count: number;\n  onDecrement: () => void;\n  onIncrement: () => void;\n}\n\nexport const CounterControls: React.FC<CounterControlsProps> = ({\n  counter, count, onDecrement, onIncrement,\n}) => {\n  const playSound = useSound();\n  return (\n  <div className=\"number-line-counter\" aria-label={counter.name ?? 'Counter'}>\n    <div className=\"number-line-counter-controls\">\n      <button\n        type=\"button\"\n        className=\"number-line-counter-btn\"\n        aria-label=\"Decrease\"\n        disabled={count <= counter.min}\n        onClick={() => { playSound('counter-step'); onDecrement(); }}\n      >\n        −\n      </button>\n      <span className=\"number-line-counter-value\" data-testid=\"counter-value\">\n        {count}\n      </span>\n      <button\n        type=\"button\"\n        className=\"number-line-counter-btn\"\n        aria-label=\"Increase\"\n        disabled={count >= counter.max}\n        onClick={() => { playSound('counter-step'); onIncrement(); }}\n      >\n        +\n      </button>\n    </div>\n    {counter.name && (\n      <span className=\"number-line-counter-label\">{counter.name}</span>\n    )}\n  </div>\n  );\n};\n","import React, { useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport type { LayoutItem, NumberLineItem, WidgetJSON } from '../../../../transformers/zod-schemas';\nimport type { WidgetValidation } from '../../../../validators';\nimport type { UserAnswerValue } from '../../../types';\nimport { toPercent } from '../../../utils/number-line.utils';\nimport { LayoutRenderer } from '../../LayoutRenderer';\n\ntype ArrowItem = NonNullable<NumberLineItem['arrows']>[number];\n\nconst ARROW_ARC_LEVEL_HEIGHT  = 80;\nconst ARROW_ARC_VIEWBOX_HEIGHT = 64;\n/** SVG fallback width (px) used before the element is measured. */\nconst ARROW_ARC_VIEWBOX_WIDTH  = 100;\n/** Y coordinate of the arc base (= arrowhead tip) in SVG user units. */\nconst ARROW_ARC_BASE_Y         = 56;\nconst ARROW_ARC_MIN_LIFT       = 28;\nconst ARROW_ARC_MAX_LIFT       = 58;\nconst ARROW_ARC_LIFT_RATIO     = 1.15;\nconst ARROW_ARC_LABEL_OFFSET   = 24;\n/** Arrowhead dimensions are fixed — no need to scale per pixel width. */\nconst ARROW_ARC_HEAD_LENGTH     = 8;\nconst ARROW_ARC_HEAD_HALF_WIDTH = 3.2;\n\nexport interface ArrowArcLayout {\n  arrow: ArrowItem;\n  leftPct: number;\n  rightPct: number;\n  widthPct: number;\n  level: number;\n}\n\ninterface IndexedArrowArcLayout extends ArrowArcLayout {\n  index: number;\n}\n\nfunction getArrowArcLift(widthPct: number): number {\n  return Math.min(ARROW_ARC_MAX_LIFT, Math.max(ARROW_ARC_MIN_LIFT, widthPct * ARROW_ARC_LIFT_RATIO));\n}\n\nfunction fmt(n: number): number {\n  return Number(n.toFixed(2));\n}\n\nfunction getArrowArcSvgWidth(renderedWidthPx: number): number {\n  return renderedWidthPx > 0 ? renderedWidthPx : ARROW_ARC_VIEWBOX_WIDTH;\n}\n\nfunction getArrowArcLabelTop(widthPct: number): number {\n  const svgTop = ARROW_ARC_LEVEL_HEIGHT - ARROW_ARC_VIEWBOX_HEIGHT;\n  const arcTop = svgTop + ARROW_ARC_BASE_Y - getArrowArcLift(widthPct);\n  return Math.max(0, arcTop - ARROW_ARC_LABEL_OFFSET);\n}\n\n/**\n * Returns both the arc shaft path and the arrowhead path in a single\n * geometry pass. The control-point inset scales with the SVG width so\n * the curve looks consistent regardless of the arc span.\n */\nexport function getArrowArcPaths(\n  widthPct: number,\n  svgWidthPx = ARROW_ARC_VIEWBOX_WIDTH,\n): { arcPath: string; headPath: string } {\n  const endX       = getArrowArcSvgWidth(svgWidthPx);\n  const controlInset = Math.min(svgWidthPx * 0.18, 48);\n  const lift       = getArrowArcLift(widthPct);\n  const controlY   = fmt(ARROW_ARC_BASE_Y - lift);\n\n  // Bezier tangent at the endpoint — used to align the arrowhead.\n  const tangentAngle = Math.atan2(ARROW_ARC_BASE_Y - controlY, endX - (endX - controlInset));\n  const tx = Math.cos(tangentAngle);\n  const ty = Math.sin(tangentAngle);\n\n  // Shaft ends just before the arrowhead tip.\n  const shaftEndX   = fmt(endX  - tx * ARROW_ARC_HEAD_LENGTH);\n  const shaftEndY   = fmt(ARROW_ARC_BASE_Y - ty * ARROW_ARC_HEAD_LENGTH);\n  const endControlX = fmt(shaftEndX - tx * controlInset);\n  const endControlY = fmt(shaftEndY - ty * controlInset);\n\n  const arcPath = `M 0 ${ARROW_ARC_BASE_Y} C ${fmt(controlInset)} ${controlY} ${endControlX} ${endControlY} ${shaftEndX} ${shaftEndY}`;\n\n  // Arrowhead triangle.\n  const nx = -ty;\n  const ny =  tx;\n  const baseX = endX  - tx * ARROW_ARC_HEAD_LENGTH;\n  const baseY = ARROW_ARC_BASE_Y - ty * ARROW_ARC_HEAD_LENGTH;\n  const headPath = `M ${fmt(endX)} ${ARROW_ARC_BASE_Y} L ${fmt(baseX + nx * ARROW_ARC_HEAD_HALF_WIDTH)} ${fmt(baseY + ny * ARROW_ARC_HEAD_HALF_WIDTH)} L ${fmt(baseX - nx * ARROW_ARC_HEAD_HALF_WIDTH)} ${fmt(baseY - ny * ARROW_ARC_HEAD_HALF_WIDTH)} Z`;\n\n  return { arcPath, headPath };\n}\n\nexport function getArrowArcLayouts(\n  arrows: NumberLineItem['arrows'],\n  min: number,\n  max: number,\n): ArrowArcLayout[] {\n  if (!arrows?.length) return [];\n\n  const sorted = arrows\n    .map((arrow, index): IndexedArrowArcLayout => {\n      const fromPct = toPercent(arrow.from, min, max);\n      const toPct = toPercent(arrow.to, min, max);\n\n      return {\n        arrow,\n        index,\n        leftPct: fromPct,\n        rightPct: toPct,\n        widthPct: toPct - fromPct,\n        level: 0,\n      };\n    })\n    .filter(layout => layout.widthPct > 0)\n    .sort((a, b) => a.leftPct - b.leftPct || a.rightPct - b.rightPct || a.index - b.index);\n\n  const levelRightEdges: number[] = [];\n  for (const layout of sorted) {\n    const reusableLevel = levelRightEdges.findIndex(rightPct => layout.leftPct >= rightPct);\n    const level = reusableLevel === -1 ? levelRightEdges.length : reusableLevel;\n    layout.level = level;\n    levelRightEdges[level] = layout.rightPct;\n  }\n\n  return sorted.sort((a, b) => a.index - b.index);\n}\n\nfunction useElementWidth<T extends HTMLElement>() {\n  const ref = useRef<T | null>(null);\n  const [width, setWidth] = useState(0);\n\n  useLayoutEffect(() => {\n    const element = ref.current;\n    if (!element) return;\n\n    const updateWidth = () => {\n      const nextWidth = element.getBoundingClientRect().width;\n      setWidth(previousWidth => previousWidth === nextWidth ? previousWidth : nextWidth);\n    };\n\n    updateWidth();\n\n    if (typeof ResizeObserver === 'undefined') return;\n\n    const observer = new ResizeObserver(updateWidth);\n    observer.observe(element);\n\n    return () => observer.disconnect();\n  }, []);\n\n  return [ref, width] as const;\n}\n\nexport interface ArrowArcsRowProps {\n  arrows: NumberLineItem['arrows'];\n  min: number;\n  max: number;\n  widgets: Record<string, WidgetJSON>;\n  values: Record<string, UserAnswerValue>;\n  droppedInputs: Set<string>;\n  validationDetails?: Record<string, WidgetValidation> | null;\n  onChange: (widgetId: string, value: UserAnswerValue, fromDrop?: boolean, sourceOptionId?: string) => void;\n  onInputFocus?: (widgetId: string) => void;\n}\n\ninterface ArrowArcProps extends Omit<ArrowArcsRowProps, 'arrows' | 'min' | 'max'> {\n  layout: ArrowArcLayout;\n}\n\nconst ArrowArc: React.FC<ArrowArcProps> = ({\n  layout: { arrow, leftPct, widthPct, level },\n  widgets,\n  values,\n  droppedInputs,\n  validationDetails,\n  onChange,\n  onInputFocus,\n}) => {\n  const [arcRef, renderedWidthPx] = useElementWidth<HTMLDivElement>();\n  const hasLabel = arrow.content.length > 0;\n  const svgWidthPx = getArrowArcSvgWidth(renderedWidthPx);\n  const { arcPath, headPath } = useMemo(\n    () => getArrowArcPaths(widthPct, svgWidthPx),\n    [widthPct, svgWidthPx],\n  );\n\n  return (\n    <div\n      ref={arcRef}\n      className=\"number-line-arrow-arc\"\n      data-level={level}\n      style={{\n        left: `${leftPct}%`,\n        width: `${widthPct}%`,\n        bottom: `${level * ARROW_ARC_LEVEL_HEIGHT}px`,\n        // DSL color overrides the CSS default — only set when the author\n        // explicitly wrote e.g. ARROW[from=0,to=5,color=\"#2B6DEA\"]\n        ...(arrow.color !== undefined && { '--nl-arrow-arc-color': arrow.color } as React.CSSProperties),\n      }}\n    >\n      <svg\n        className=\"number-line-arrow-arc-svg\"\n        viewBox={`0 0 ${svgWidthPx} ${ARROW_ARC_VIEWBOX_HEIGHT}`}\n        preserveAspectRatio=\"none\"\n        aria-hidden=\"true\"\n        focusable=\"false\"\n      >\n        <path\n          className=\"number-line-arrow-arc-path\"\n          d={arcPath}\n        />\n        <path\n          className=\"number-line-arrow-arc-head\"\n          d={headPath}\n        />\n      </svg>\n\n      {hasLabel && (\n        <div\n          className=\"number-line-arrow-arc-label\"\n          style={{ top: `${getArrowArcLabelTop(widthPct)}px` }}\n        >\n          {arrow.content.map((subItem: LayoutItem) => (\n            <LayoutRenderer\n              key={subItem.id}\n              item={subItem}\n              widgets={widgets}\n              values={values}\n              droppedInputs={droppedInputs}\n              validationDetails={validationDetails}\n              onChange={onChange}\n              onInputFocus={onInputFocus}\n            />\n          ))}\n        </div>\n      )}\n    </div>\n  );\n};\n\nexport const ArrowArcsRow: React.FC<ArrowArcsRowProps> = ({\n  arrows,\n  min,\n  max,\n  widgets,\n  values,\n  droppedInputs,\n  validationDetails,\n  onChange,\n  onInputFocus,\n}) => {\n  const layouts = useMemo(() => getArrowArcLayouts(arrows, min, max), [arrows, min, max]);\n\n  if (layouts.length === 0) return null;\n\n  const levelCount = Math.max(...layouts.map(layout => layout.level)) + 1;\n\n  return (\n    <div\n      className=\"number-line-arrow-arcs-row\"\n      style={{ height: `${levelCount * ARROW_ARC_LEVEL_HEIGHT}px` }}\n    >\n      {layouts.map(layout => (\n        <ArrowArc\n          key={layout.arrow.id}\n          layout={layout}\n          widgets={widgets}\n          values={values}\n          droppedInputs={droppedInputs}\n          validationDetails={validationDetails}\n          onChange={onChange}\n          onInputFocus={onInputFocus}\n        />\n      ))}\n    </div>\n  );\n};\n","import { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';\n\nconst CONTENT_ROW_EXTRA_SPACE = 8;\n\nconst useIsomorphicLayoutEffect =\n  typeof window === 'undefined' ? useEffect : useLayoutEffect;\n\nexport function useMeasuredPositionContentHeight(positionIds: readonly string[]) {\n  const [heightPx, setHeightPx] = useState<number | null>(null);\n  const elementsRef = useRef(new Map<string, HTMLElement>());\n  const refCallbacksRef = useRef(new Map<string, (node: HTMLDivElement | null) => void>());\n  const observerRef = useRef<ResizeObserver | null>(null);\n  const measureFrameRef = useRef<number | null>(null);\n  const idsKey = positionIds.join('|');\n\n  const runMeasure = useCallback(() => {\n    let maxHeight = 0;\n\n    for (const element of elementsRef.current.values()) {\n      const rectHeight = element.getBoundingClientRect().height;\n      const measuredHeight = Math.max(rectHeight, element.offsetHeight);\n      maxHeight = Math.max(maxHeight, measuredHeight);\n    }\n\n    const nextHeight = maxHeight > 0 ? Math.ceil(maxHeight + CONTENT_ROW_EXTRA_SPACE) : null;\n    setHeightPx(current => (current === nextHeight ? current : nextHeight));\n  }, []);\n\n  // Coalesce measure() calls fired in the same frame (e.g. N ref callbacks on mount).\n  const measure = useCallback(() => {\n    if (typeof window === 'undefined' || typeof window.requestAnimationFrame !== 'function') {\n      runMeasure();\n      return;\n    }\n    if (measureFrameRef.current !== null) return;\n    measureFrameRef.current = window.requestAnimationFrame(() => {\n      measureFrameRef.current = null;\n      runMeasure();\n    });\n  }, [runMeasure]);\n\n  useEffect(\n    () => () => {\n      if (measureFrameRef.current !== null && typeof window !== 'undefined') {\n        window.cancelAnimationFrame(measureFrameRef.current);\n        measureFrameRef.current = null;\n      }\n    },\n    [],\n  );\n\n  const getPositionContentRef = useCallback(\n    (id: string) => {\n      const cachedRef = refCallbacksRef.current.get(id);\n      if (cachedRef) return cachedRef;\n\n      const refCallback = (node: HTMLDivElement | null) => {\n        const current = elementsRef.current.get(id);\n        if (current && observerRef.current) {\n          observerRef.current.unobserve(current);\n        }\n\n        if (node) {\n          elementsRef.current.set(id, node);\n          observerRef.current?.observe(node);\n        } else {\n          elementsRef.current.delete(id);\n        }\n\n        measure();\n      };\n\n      refCallbacksRef.current.set(id, refCallback);\n      return refCallback;\n    },\n    [measure],\n  );\n\n  useEffect(() => {\n    const liveIds = new Set(positionIds);\n    for (const id of elementsRef.current.keys()) {\n      if (!liveIds.has(id)) {\n        elementsRef.current.delete(id);\n      }\n    }\n    for (const id of refCallbacksRef.current.keys()) {\n      if (!liveIds.has(id)) {\n        refCallbacksRef.current.delete(id);\n      }\n    }\n    measure();\n  }, [idsKey, measure]);\n\n  useIsomorphicLayoutEffect(() => {\n    if (typeof ResizeObserver === 'undefined') {\n      measure();\n      return undefined;\n    }\n\n    const observer = new ResizeObserver(measure);\n    observerRef.current = observer;\n    for (const element of elementsRef.current.values()) {\n      observer.observe(element);\n    }\n    measure();\n\n    return () => {\n      observer.disconnect();\n      observerRef.current = null;\n    };\n  }, [idsKey, measure]);\n\n  return {\n    positionContentHeight: heightPx === null ? undefined : `${heightPx}px`,\n    getPositionContentRef,\n  };\n}\n","import React, { useEffect, useMemo, useRef, useState } from 'react';\nimport type { NumberLineItem, LayoutItem, WidgetJSON } from '../../../../transformers/zod-schemas';\nimport type { WidgetValidation } from '../../../../validators';\nimport { LayoutRenderer } from '../../LayoutRenderer';\nimport type { UserAnswerValue } from '../../../types';\nimport { FreeDragAxis } from './FreeDragAxis';\nimport { AxisTicks } from './AxisTicks';\nimport type { CursorValidationStatuses } from './CursorBalls';\nimport { AxisLabels } from './AxisLabels';\nimport { HighlightLabelsRow } from './HighlightLabelsRow';\nimport { CounterControls } from './CounterControls';\nimport { ArrowArcsRow } from './ArrowArcsRow';\nimport { useMeasuredPositionContentHeight } from './useMeasuredPositionContentHeight';\nimport {\n  toPercent,\n  getMajorTicks,\n  getMinorTickValues,\n  getPositionWidgetId,\n  cleanFloat,\n  roundTick,\n  SIDE_PAD,\n  CSS_VAR_SIDE_PAD,\n} from '../../../utils/number-line.utils';\nimport { DRAG_OPTIONS_WIDGET_ID } from '../../../../constants';\n\nexport interface NumberLineRendererProps {\n  item: NumberLineItem;\n  widgets: Record<string, WidgetJSON>;\n  values: Record<string, UserAnswerValue>;\n  droppedInputs: Set<string>;\n  validationDetails?: Record<string, WidgetValidation> | null;\n  onChange: (widgetId: string, value: UserAnswerValue, fromDrop?: boolean, sourceOptionId?: string) => void;\n  onInputFocus?: (widgetId: string) => void;\n}\n\nexport const NumberLineRenderer: React.FC<NumberLineRendererProps> = ({\n  item,\n  widgets,\n  values,\n  droppedInputs,\n  validationDetails,\n  onChange,\n  onInputFocus,\n}) => {\n  const {\n    min, max, step,\n    minorTicks = 0,\n    style: lineStyle = 'arrow-right',\n    labelVisibility,\n    highlights,\n    arrows,\n    counter,\n    positions,\n    cursors,\n  } = item;\n\n  const [counterCount, setCounterCount] = useState<number>(\n    counter !== undefined ? (counter.default ?? counter.min) : 0,\n  );\n\n  const defaultCounterCount = counter !== undefined ? (counter.default ?? counter.min) : 0;\n\n  // Sync when exercise definition changes without unmounting.\n  useEffect(() => {\n    setCounterCount(defaultCounterCount);\n  // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [counter]);\n\n  // NumberLine is a layout, not a widget. However, counter and cursors intentionally\n  // participate in the shared validation flow as validated internal inputs:\n  // their current values are reported via onChange so the simple validator can\n  // compare them against answers[id] without any validator-core changes.\n  const onChangeRef = useRef(onChange);\n  onChangeRef.current = onChange;\n  useEffect(() => {\n    if (counter !== undefined) {\n      onChangeRef.current(counter.id, String(counterCount));\n    }\n  }, [counterCount, counter?.id]);\n\n  // Seed cursor initial positions when the cursor definition changes (new id or new initial value).\n  // Using a stable primitive key mirrors the counter pattern `[counterCount, counter?.id]` and\n  // prevents accidental resets on parent re-renders where `cursors` gets a new array reference.\n  const cursorKeys = useMemo(\n    () => (cursors ?? []).map(c => `${c.id}:${c.value}`).join(','),\n    [cursors],\n  );\n  useEffect(() => {\n    for (const cursor of cursors ?? []) {\n      onChangeRef.current(cursor.id, String(cursor.value));\n    }\n  }, [cursorKeys]);\n\n  // Counter overrides step when active: effectiveStep = (max - min) / counterCount.\n  const effectiveStep = useMemo(() => {\n    if (counter !== undefined && counterCount > 0) {\n      return cleanFloat((max - min) / counterCount);\n    }\n    return step;\n  }, [counter, counterCount, min, max, step]);\n\n  // Rounded to DISPLAY_PRECISION and deduped: guarantees unique React keys for labels.\n  // Downstream consumers (getMinorTickValues, FreeDragAxis, snap logic) intentionally\n  // receive display-precision values so snap targets match what the user sees.\n  const majorTicks = useMemo(\n    () => [...new Set(getMajorTicks(min, max, effectiveStep).map(roundTick))],\n    [min, max, effectiveStep],\n  );\n  const minorValues = useMemo(\n    () => getMinorTickValues(majorTicks, minorTicks),\n    [majorTicks, minorTicks],\n  );\n\n  const showArrowRight = lineStyle === 'arrow-right' || lineStyle === 'arrow-both' ;\n  const showArrowLeft  = lineStyle === 'arrow-left'  || lineStyle === 'arrow-both';\n\n  const hasDragOptions = Boolean(widgets[DRAG_OPTIONS_WIDGET_ID]);\n  const isAxisDragMode = hasDragOptions && item.dragMode === 'axis';\n\n  // Pre-compute occupied ticks to hide their labels without an O(n²) scan.\n  const inputTickSet = useMemo(() => {\n    if (isAxisDragMode) return new Set<number>();\n    return new Set(\n      positions\n        .filter(pos => getPositionWidgetId(pos.content) !== null)\n        .map(pos => roundTick(pos.value)),\n    );\n  }, [isAxisDragMode, positions]);\n\n  // In axis drag mode, input positions are rendered by FreeDragAxis — skip them here.\n  const visiblePositions = useMemo(\n    () => positions.filter(pos => !isAxisDragMode || getPositionWidgetId(pos.content) === null),\n    [isAxisDragMode, positions],\n  );\n\n  const visiblePositionIds = useMemo(\n    () => visiblePositions.map(pos => pos.id),\n    [visiblePositions],\n  );\n  const { positionContentHeight, getPositionContentRef } =\n    useMeasuredPositionContentHeight(visiblePositionIds);\n\n  // Axis colour reflects the counter division only — position inputs have their own per-widget feedback.\n  // Skipped when counter.answer is absent: the validator marks it \"correct\" by default which would\n  // wrongly colour the axis green.\n  const nlValidationStatus = useMemo((): 'correct' | 'incorrect' | null => {\n    if (!validationDetails || counter === undefined) return null;\n    if (counter.answer === undefined) return null;\n    const counterValidation = validationDetails[counter.id];\n    if (counterValidation === undefined) return null;\n    return counterValidation.isCorrect ? 'correct' : 'incorrect';\n  }, [validationDetails, counter]);\n\n  const cursorValidationStatuses = useMemo((): CursorValidationStatuses | undefined => {\n    if (!validationDetails || !cursors?.length) return undefined;\n\n    const statuses: CursorValidationStatuses = {};\n    for (const cursor of cursors) {\n      const detail = validationDetails[cursor.id];\n      if (detail !== undefined) {\n        statuses[cursor.id] = detail.isCorrect ? 'correct' : 'incorrect';\n      }\n    }\n    return statuses;\n  }, [validationDetails, cursors]);\n\n  return (\n    <div\n      className={`number-line${isAxisDragMode ? ' number-line--drag-mode' : ''}${lineStyle === 'line' ? ' number-line--style-line' : ''}${nlValidationStatus ? ` number-line--${nlValidationStatus}` : ''}`}\n      style={{\n        [CSS_VAR_SIDE_PAD]: `${SIDE_PAD}%`,\n        ...(positionContentHeight && { '--nl-position-content-height': positionContentHeight }),\n      } as React.CSSProperties}\n      role=\"group\"\n      aria-label={`Number line from ${min} to ${max}`}\n    >\n      {/* Row 1 — position content (labels / inputs above the axis) */}\n      {visiblePositions.length > 0 && (\n        <div className=\"number-line-content-row\">\n          {visiblePositions.map(pos => (\n            <div\n              key={pos.id}\n              ref={getPositionContentRef(pos.id)}\n              className=\"number-line-position-content\"\n              style={{ left: `${toPercent(pos.value, min, max)}%` }}\n            >\n              {pos.content.map((subItem: LayoutItem) => (\n                <LayoutRenderer\n                  key={subItem.id}\n                  item={subItem}\n                  widgets={widgets}\n                  values={values}\n                  droppedInputs={droppedInputs}\n                  validationDetails={validationDetails}\n                  onChange={onChange}\n                  onInputFocus={onInputFocus}\n                />\n              ))}\n            </div>\n          ))}\n        </div>\n      )}\n\n      {/* Row 2 — arrow annotations */}\n      <ArrowArcsRow\n        arrows={arrows}\n        min={min}\n        max={max}\n        widgets={widgets}\n        values={values}\n        droppedInputs={droppedInputs}\n        validationDetails={validationDetails}\n        onChange={onChange}\n        onInputFocus={onInputFocus}\n      />\n\n      {/* Row 3 — axis */}\n      {isAxisDragMode ? (\n        <FreeDragAxis\n          axisDropId={`${item.id}--nl-axis`}\n          min={min} max={max}\n          minorTicks={minorTicks}\n          majorTicks={majorTicks}\n          showArrowLeft={showArrowLeft}\n          showArrowRight={showArrowRight}\n          positions={positions}\n          values={values}\n          onChange={onChange}\n          highlights={highlights}\n          cursors={cursors}\n          cursorValidationStatuses={cursorValidationStatuses}\n          snapKey={counterCount}\n        />\n      ) : (\n        <AxisTicks\n          min={min} max={max}\n          majorTicks={majorTicks}\n          minorValues={minorValues}\n          showArrowLeft={showArrowLeft}\n          showArrowRight={showArrowRight}\n          highlights={highlights}\n          positions={positions}\n          cursors={cursors}\n          onChange={onChange}\n          values={values}\n          cursorValidationStatuses={cursorValidationStatuses}\n        />\n      )}\n\n      {/* Row 4 — tick labels */}\n      <AxisLabels\n        majorTicks={majorTicks}\n        min={min} max={max}\n        labelVisibility={labelVisibility}\n        inputTickSet={inputTickSet}\n      />\n\n      {/* Row 5 — highlight labels */}\n      <HighlightLabelsRow highlights={highlights} min={min} max={max} />\n\n      {/* Row 6 — counter controls */}\n      {counter !== undefined && (\n        <CounterControls\n          counter={counter}\n          count={counterCount}\n          onDecrement={() => setCounterCount(c => Math.max(counter.min, c - 1))}\n          onIncrement={() => setCounterCount(c => Math.min(counter.max, c + 1))}\n        />\n      )}\n    </div>\n  );\n};\n","import React, { useCallback, useMemo, useRef, useState, useEffect } from 'react';\nimport type { ClockItem } from '../../../../transformers/zod-schemas';\nimport { useSound } from '../../../sounds';\n\nexport interface ClockRendererProps {\n  item: ClockItem;\n  value?: string;\n  validationStatus?: 'correct' | 'incorrect' | null;\n  onChange?: (widgetId: string, value: string) => void;\n}\n\nfunction parseTime(s: string): { h: number; m: number } {\n  const parts = s.split(':');\n  return { h: Number(parts[0]), m: Number(parts[1]) };\n}\n\nfunction formatTime(h: number, m: number): string {\n  return `${String(h).padStart(2, '0')}:${String(m).padStart(2, '0')}`;\n}\n\nfunction formatDisplay(h24: number, m: number, format: '12h' | '24h'): string {\n  if (format === '24h') return formatTime(h24, m);\n  const period = h24 >= 12 ? 'PM' : 'AM';\n  const h12 = h24 % 12 === 0 ? 12 : h24 % 12;\n  return `${String(h12).padStart(2, '0')}:${String(m).padStart(2, '0')} ${period}`;\n}\n\nconst CLOCK_SIZE = 160;\nconst INTERACTIVE_SCALE = 1.2;\nconst CENTER = CLOCK_SIZE / 2;\nconst FACE_RADIUS = CENTER - 6;\nconst HOUR_HAND = FACE_RADIUS * 0.45;\nconst MINUTE_HAND = FACE_RADIUS * 0.65;\nconst HOUR_LABELS = Array.from({ length: 12 }, (_, i) => i + 1);\n\n// Arrow hand geometry — proportions match clock-icon.svg (pointing up = -Y before rotation)\n// Minute: shaft=14/179, arrowW=28/179, tipH=50/179, tail=10/179 of hand length\nconst M_SHAFT = Math.round(MINUTE_HAND * 0.049);   // ≈2\nconst M_ARROW = Math.round(MINUTE_HAND * 0.156);   // ≈8\nconst M_TIP   = Math.round(MINUTE_HAND * 0.279);   // ≈13\nconst M_TAIL  = Math.round(MINUTE_HAND * 0.056);   // ≈3\n// Hour: shaft=15/122, arrowW=30/122, tipH=45/122, tail=10/122 of hand length\nconst H_SHAFT = Math.round(HOUR_HAND * 0.074);     // ≈2\nconst H_ARROW = Math.round(HOUR_HAND * 0.246);     // ≈8\nconst H_TIP   = Math.round(HOUR_HAND * 0.369);     // ≈12\nconst H_TAIL  = Math.round(HOUR_HAND * 0.082);     // ≈3\n\nexport const ClockRenderer: React.FC<ClockRendererProps> = ({\n  item,\n  value,\n  validationStatus,\n  onChange,\n}) => {\n  const format = item.format ?? '24h';\n  const interactive = item.mode === 'interactive';\n  const snap = interactive && 'snap' in item ? (item.snap ?? 1) : 1;\n\n  const initial = parseTime(interactive && value ? value : item.value);\n  const [hours, setHours] = useState(initial.h);\n  const [minutes, setMinutes] = useState(initial.m);\n\n  useEffect(() => {\n    if (interactive && value) {\n      const t = parseTime(value);\n      setHours(t.h);\n      setMinutes(t.m);\n    }\n  }, [value, interactive]);\n\n  const svgRef = useRef<SVGSVGElement>(null);\n  const draggingRef = useRef<'hour' | 'minute' | null>(null);\n  const playSound = useSound();\n\n  const updateFromPointer = useCallback((clientX: number, clientY: number) => {\n    const svg = svgRef.current;\n    if (!svg || !draggingRef.current) return;\n    const rect = svg.getBoundingClientRect();\n    const dx = clientX - rect.left - CENTER;\n    const dy = clientY - rect.top - CENTER;\n    // 12 o'clock = up = -Y; angle in [0, 2π)\n    const angle = (Math.atan2(dx, -dy) + 2 * Math.PI) % (2 * Math.PI);\n\n    if (draggingRef.current === 'minute') {\n      const rawMin = (angle / (2 * Math.PI)) * 60;\n      const snapped = (Math.round(rawMin / snap) * snap) % 60;\n      // Tick only when crossing into a new snap step, not on every pointermove.\n      if (snapped !== minutes) playSound('clock-minute-tick');\n      setMinutes(snapped);\n      if (item.mode === 'interactive' && onChange) {\n        onChange(item.name, formatTime(hours, snapped));\n      }\n    } else {\n      // Hour hand: full revolution = 12h. Use 24h internal — preserve AM/PM half.\n      const rawHour12 = (angle / (2 * Math.PI)) * 12;\n      const rounded = Math.round(rawHour12) % 12;\n      const isPm = hours >= 12;\n      const newH = (rounded === 0 ? 0 : rounded) + (isPm ? 12 : 0);\n      const h24 = newH % 24;\n      if (h24 !== hours) playSound('clock-hour-tick');\n      setHours(h24);\n      if (item.mode === 'interactive' && onChange) {\n        onChange(item.name, formatTime(h24, minutes));\n      }\n    }\n  }, [snap, hours, minutes, item.mode, item.name, onChange, playSound]);\n\n  const onPointerDown = (hand: 'hour' | 'minute') => (e: React.PointerEvent<SVGElement>) => {\n    if (!interactive) return;\n    e.preventDefault();\n    (e.target as Element).setPointerCapture?.(e.pointerId);\n    draggingRef.current = hand;\n    updateFromPointer(e.clientX, e.clientY);\n  };\n\n  const onPointerMove = (e: React.PointerEvent<SVGElement>) => {\n    if (!interactive || !draggingRef.current) return;\n    updateFromPointer(e.clientX, e.clientY);\n  };\n\n  const onPointerUp = (e: React.PointerEvent<SVGElement>) => {\n    if (!interactive) return;\n    (e.target as Element).releasePointerCapture?.(e.pointerId);\n    draggingRef.current = null;\n  };\n\n  const hourAngleRad = useMemo(() => {\n    const h12 = hours % 12;\n    return (((h12 + minutes / 60) / 12) * 2 * Math.PI);\n  }, [hours, minutes]);\n\n  const minuteAngleRad = useMemo(() => (minutes / 60) * 2 * Math.PI, [minutes]);\n\n  const hourX = CENTER + Math.sin(hourAngleRad) * HOUR_HAND;\n  const hourY = CENTER - Math.cos(hourAngleRad) * HOUR_HAND;\n  const minuteX = CENTER + Math.sin(minuteAngleRad) * MINUTE_HAND;\n  const minuteY = CENTER - Math.cos(minuteAngleRad) * MINUTE_HAND;\n\n  const hourDeg = (hourAngleRad * 180) / Math.PI;\n  const minuteDeg = (minuteAngleRad * 180) / Math.PI;\n\n  const scale = interactive ? INTERACTIVE_SCALE : 1;\n  const svgSize = CLOCK_SIZE * scale;\n  const ringSize = FACE_RADIUS * 2 * scale;\n  const svgOffset = -(CENTER - FACE_RADIUS) * scale;\n\n  const statusClass = validationStatus ? `clock-${validationStatus}` : '';\n\n  // ── Digital clock ────────────────────────────────────────────────────────\n  if (item.clockType === 'digital') {\n    return (\n      <span className={`clock clock-digital ${statusClass}`} dir=\"ltr\">\n        <span className=\"clock-digital-wrapper\">\n          <svg className=\"clock-digital-tabs\" width=\"85\" height=\"9\" viewBox=\"0 0 85 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n            <path d=\"M0 8C0 3.58172 3.58172 0 8 0H14C18.4183 0 22 3.58172 22 8V9H0V8Z\" fill=\"#AE9CFF\"/>\n            <path d=\"M63 8C63 3.58172 66.5817 0 71 0H77C81.4183 0 85 3.58172 85 8V9H63V8Z\" fill=\"#AE9CFF\"/>\n          </svg>\n          <span className=\"clock-digital-display\">{formatDisplay(hours, minutes, format)}</span>\n        </span>\n      </span>\n    );\n  }\n\n  // ── Analog clock ─────────────────────────────────────────────────────────\n\n  return (\n    <span className={`clock clock-analog ${interactive ? 'clock-interactive' : 'clock-display'} ${statusClass}`} dir=\"ltr\">\n      <span className=\"clock-face-ring\" style={{ width: ringSize, height: ringSize }}>\n        <svg\n          ref={svgRef}\n          width={svgSize}\n          height={svgSize}\n          viewBox={`0 0 ${CLOCK_SIZE} ${CLOCK_SIZE}`}\n          style={{ top: svgOffset, left: svgOffset }}\n          onPointerMove={onPointerMove}\n          onPointerUp={onPointerUp}\n          onPointerCancel={onPointerUp}\n          className=\"clock-svg\"\n        >\n        <circle\n          cx={CENTER}\n          cy={CENTER}\n          r={FACE_RADIUS}\n          className=\"clock-face\"\n        />\n        {/* Hour ticks */}\n        {Array.from({ length: 12 }).map((_, i) => {\n          const a = (i / 12) * 2 * Math.PI;\n          const x1 = CENTER + Math.sin(a) * (FACE_RADIUS - 8);\n          const y1 = CENTER - Math.cos(a) * (FACE_RADIUS - 8);\n          const x2 = CENTER + Math.sin(a) * FACE_RADIUS;\n          const y2 = CENTER - Math.cos(a) * FACE_RADIUS;\n          return <line key={`t${i}`} x1={x1} y1={y1} x2={x2} y2={y2} className=\"clock-tick clock-tick-hour\" />;\n        })}\n        {/* Minute ticks */}\n        {Array.from({ length: 60 }).map((_, i) => {\n          if (i % 5 === 0) return null;\n          const a = (i / 60) * 2 * Math.PI;\n          const x1 = CENTER + Math.sin(a) * (FACE_RADIUS - 4);\n          const y1 = CENTER - Math.cos(a) * (FACE_RADIUS - 4);\n          const x2 = CENTER + Math.sin(a) * FACE_RADIUS;\n          const y2 = CENTER - Math.cos(a) * FACE_RADIUS;\n          return <line key={`m${i}`} x1={x1} y1={y1} x2={x2} y2={y2} className=\"clock-tick clock-tick-minute\" />;\n        })}\n        {/* Hour number labels */}\n        {HOUR_LABELS.map((n) => {\n          const a = (n / 12) * 2 * Math.PI;\n          const r = FACE_RADIUS - 20;\n          const x = CENTER + Math.sin(a) * r;\n          const y = CENTER - Math.cos(a) * r;\n          return (\n            <text key={`l${n}`} x={x} y={y} className=\"clock-number\" textAnchor=\"middle\" dominantBaseline=\"central\">\n              {n}\n            </text>\n          );\n        })}\n        {/* Hour arrow — single 7-point polygon, same shape as clock-icon.svg */}\n        <polygon\n          transform={`translate(${CENTER},${CENTER}) rotate(${hourDeg})`}\n          points={[\n            `0,${-HOUR_HAND}`,\n            `${H_ARROW},${-(HOUR_HAND - H_TIP)}`,\n            `${H_SHAFT},${-(HOUR_HAND - H_TIP)}`,\n            `${H_SHAFT},${H_TAIL}`,\n            `${-H_SHAFT},${H_TAIL}`,\n            `${-H_SHAFT},${-(HOUR_HAND - H_TIP)}`,\n            `${-H_ARROW},${-(HOUR_HAND - H_TIP)}`,\n          ].join(' ')}\n          className=\"clock-arrow clock-arrow-hour\"\n          style={{ pointerEvents: 'none' }}\n        />\n        {/* Minute arrow — single 7-point polygon */}\n        <polygon\n          transform={`translate(${CENTER},${CENTER}) rotate(${minuteDeg})`}\n          points={[\n            `0,${-MINUTE_HAND}`,\n            `${M_ARROW},${-(MINUTE_HAND - M_TIP)}`,\n            `${M_SHAFT},${-(MINUTE_HAND - M_TIP)}`,\n            `${M_SHAFT},${M_TAIL}`,\n            `${-M_SHAFT},${M_TAIL}`,\n            `${-M_SHAFT},${-(MINUTE_HAND - M_TIP)}`,\n            `${-M_ARROW},${-(MINUTE_HAND - M_TIP)}`,\n          ].join(' ')}\n          className=\"clock-arrow clock-arrow-minute\"\n          style={{ pointerEvents: 'none' }}\n        />\n        {/* Invisible hit-target lines — tests read x2/y2, interactive drag fires here */}\n        <line\n          x1={CENTER} y1={CENTER} x2={hourX} y2={hourY}\n          className=\"clock-hand clock-hand-hour\"\n          stroke=\"transparent\" strokeWidth={20}\n          onPointerDown={onPointerDown('hour')}\n        />\n        <line\n          x1={CENTER} y1={CENTER} x2={minuteX} y2={minuteY}\n          className=\"clock-hand clock-hand-minute\"\n          stroke=\"transparent\" strokeWidth={16}\n          onPointerDown={onPointerDown('minute')}\n        />\n        {/* Center dot */}\n        <circle cx={CENTER} cy={CENTER} r={4} className=\"clock-center\" />\n        </svg>\n      </span>\n      {format === '12h' && (\n        <span className=\"clock-period-badge\">{hours >= 12 ? 'PM' : 'AM'}</span>\n      )}\n    </span>\n  );\n};\n","/**\n * Layout Grouping Utilities\n *\n * Utilities for grouping layout items by type and language direction.\n * Used to separate text content from widgets for proper RTL handling.\n */\n\nimport type { LayoutItem } from '../../transformers/zod-schemas';\nimport { JSON_TYPES } from '../../constants';\nimport { itemContainsArabic, itemContainsLatin } from './bidi-detection';\n\n/**\n * Type for grouped line items\n */\nexport type LineSubGroup = {\n  /** Layout items in this group */\n  items: LayoutItem[];\n  /** Whether this is a text group (vs widget group) */\n  isTextGroup: boolean;\n  /** Whether group contains Arabic text */\n  hasArabic: boolean;\n  /** Whether group contains Latin text */\n  hasLatin: boolean;\n  /** Whether RTL direction should be applied */\n  shouldApplyRTL: boolean;\n};\n\n/**\n * Check if an item is a text-like item (not a widget)\n *\n * Text-like items can be grouped together for RTL handling.\n * Widgets should remain separate to maintain LTR direction.\n *\n * @param item - The layout item to check\n * @returns true if item is text-like (not a widget)\n */\nexport function isTextItem(item: LayoutItem): boolean {\n  return item.type === JSON_TYPES.TEXT ||\n         item.type === JSON_TYPES.HIGHLIGHTED_TEXT ||\n         item.type === JSON_TYPES.BOLD_TEXT ||\n         item.type === JSON_TYPES.COLOR_TEXT ||\n         item.type === JSON_TYPES.OPERATOR ||\n         item.type === JSON_TYPES.SPACE ||\n         item.type === JSON_TYPES.GROUP;\n}\n\n/**\n * Group line items into text segments and widgets\n *\n * Text segments can have RTL applied if they're purely Arabic.\n * Widgets remain in separate groups and always render LTR.\n *\n * @param items - Array of layout items to group\n * @returns Array of grouped items with metadata\n *\n * @example\n * ```typescript\n * const items = [\n *   { type: 'text', value: 'مرحبا' },  // Arabic text\n *   { type: 'widget-ref', widgetId: 'input1' },  // Widget\n *   { type: 'text', value: 'hello' }  // Latin text\n * ];\n *\n * const groups = groupLineItems(items);\n * // [\n * //   { items: [text], isTextGroup: true, shouldApplyRTL: true },\n * //   { items: [widget], isTextGroup: false, shouldApplyRTL: false },\n * //   { items: [text], isTextGroup: true, shouldApplyRTL: false }\n * // ]\n * ```\n */\nexport function groupLineItems(items: LayoutItem[]): LineSubGroup[] {\n  const groups: LineSubGroup[] = [];\n  let currentTextGroup: LayoutItem[] = [];\n\n  for (const item of items) {\n    if (isTextItem(item)) {\n      currentTextGroup.push(item);\n    } else {\n      // It's a widget - flush current text group first\n      if (currentTextGroup.length > 0) {\n        const hasArabic = currentTextGroup.some(itemContainsArabic);\n        const hasLatin = currentTextGroup.some(itemContainsLatin);\n        // Only apply RTL if there's Arabic and NO Latin (pure Arabic)\n        const shouldApplyRTL = hasArabic && !hasLatin;\n        groups.push({ items: currentTextGroup, isTextGroup: true, hasArabic, hasLatin, shouldApplyRTL });\n        currentTextGroup = [];\n      }\n      // Add widget as its own group\n      groups.push({ items: [item], isTextGroup: false, hasArabic: false, hasLatin: false, shouldApplyRTL: false });\n    }\n  }\n\n  // Flush remaining text group\n  if (currentTextGroup.length > 0) {\n    const hasArabic = currentTextGroup.some(itemContainsArabic);\n    const hasLatin = currentTextGroup.some(itemContainsLatin);\n    // Only apply RTL if there's Arabic and NO Latin (pure Arabic)\n    const shouldApplyRTL = hasArabic && !hasLatin;\n    groups.push({ items: currentTextGroup, isTextGroup: true, hasArabic, hasLatin, shouldApplyRTL });\n  }\n\n  return groups;\n}\n","import React from 'react';\nimport type { LayoutItem, WidgetJSON, TableRowItem, TableCellItem, NumberLineItem, VerticalOperationItem, VopRowItem, VopCarryRowItem, VopSeparatorItem, VopCellItem, ClockItem } from '../../transformers/zod-schemas';\nimport { WidgetRenderer } from '../widgets';\nimport { NumberLineRenderer } from './layouts/number-line/NumberLineRenderer';\nimport { ClockRenderer } from './layouts/clock/ClockRenderer';\nimport { JSON_TYPES, STATEFUL_WIDGET_TYPES } from '../../constants';\nimport { isArabic } from '../utils';\nimport type { UserAnswerValue } from '../types';\nimport type { ValidationStatus } from '../widgets/types';\nimport type { WidgetValidation } from '../../validators';\n\nconst toValidationStatus = (v: boolean | undefined): ValidationStatus =>\n  v === true ? 'correct' : v === false ? 'incorrect' : null;\n\nexport interface LayoutRendererProps {\n  item: LayoutItem;\n  widgets: Record<string, WidgetJSON>;\n  values: Record<string, UserAnswerValue>;\n  droppedInputs: Set<string>;\n  validationDetails?: Record<string, WidgetValidation> | null;\n  onChange: (widgetId: string, value: UserAnswerValue, fromDrop?: boolean, sourceOptionId?: string) => void;\n  onInputFocus?: (widgetId: string) => void;\n  /** Incremented on reset. Drives remount of stateful items: NumberLine and MatcherWidget. */\n  resetKey?: number;\n}\n\n/**\n * DUMB layout renderer - no opinions about spacing or layout.\n */\nexport const LayoutRenderer: React.FC<LayoutRendererProps> = ({\n  item,\n  widgets,\n  values,\n  droppedInputs,\n  validationDetails,\n  onChange,\n  onInputFocus,\n  resetKey = 0,\n}) => {\n  switch (item.type) {\n    case JSON_TYPES.QUESTION_TEXT: {\n      const hasArabic = isArabic(item.value);\n      return (\n        <span className={`question-text ${hasArabic ? 'question-text-arabic' : ''}`}>\n          {item.value}\n        </span>\n      );\n    }\n\n    case JSON_TYPES.TEXT: {\n      const isNum = /^[\\d.,\\s]+$/.test(item.value);\n      return (\n        <span className={`text-item ${isNum ? 'text-item-number' : ''} ${isArabic(item.value) ? 'text-item-arabic' : 'text-item-not-arabic'}`}>\n          {item.value}\n        </span>\n      );\n    }\n\n    case JSON_TYPES.HIGHLIGHTED_TEXT: {\n      const hasArabic = isArabic(item.value);\n      // For non-Arabic content (numbers, Latin), explicitly set LTR to prevent reversal in RTL context\n      const dirAttr = !hasArabic ? 'ltr' : undefined;\n      if (item.highlight) {\n        const [start, end] = item.highlight;\n        return (\n          <span className=\"highlighted-text text-item\" dir={dirAttr}>\n            {item.value.slice(0, start)}\n            <mark className=\"highlight text-item\">{item.value.slice(start, end)}</mark>\n            {item.value.slice(end)}\n          </span>\n        );\n      }\n      return (\n        <mark className=\"highlighted-text text-item\" dir={dirAttr}>\n          {item.value}\n        </mark>\n      );\n    }\n\n    case JSON_TYPES.COLOR_TEXT: {\n      const hasArabic = isArabic(item.value);\n      const dirAttr = !hasArabic ? 'ltr' : undefined;\n      if (item.highlight) {\n        const [start, end] = item.highlight;\n        return (\n          <span className=\"color-text text-item\" dir={dirAttr}>\n            {item.value.slice(0, start)}\n            <span className=\"color-text-colored\" style={{ color: item.color }}>{item.value.slice(start, end)}</span>\n            {item.value.slice(end)}\n          </span>\n        );\n      }\n      return (\n        <span className=\"color-text text-item\" style={{ color: item.color }} dir={dirAttr}>\n          {item.value}\n        </span>\n      );\n    }\n\n    case JSON_TYPES.BOLD_TEXT: {\n      const hasArabic = isArabic(item.value);\n      const dirAttr = !hasArabic ? 'ltr' : undefined;\n      if (item.highlight) {\n        const [start, end] = item.highlight;\n        return (\n          <span className=\"bold-text text-item\" dir={dirAttr}>\n            {item.value.slice(0, start)}\n            <strong className=\"bold-text-strong text-item\">{item.value.slice(start, end)}</strong>\n            {item.value.slice(end)}\n          </span>\n        );\n      }\n      return (\n        <strong className=\"bold-text text-item\" dir={dirAttr}>\n          {item.value}\n        </strong>\n      );\n    }\n\n    case JSON_TYPES.IMAGE:\n      return (\n        <img\n          className=\"image-item text-item\"\n          src={item.src}\n          alt={item.alt}\n          {...(item.width !== undefined && { width: item.width })}\n          {...(item.height !== undefined && { height: item.height })}\n          loading=\"lazy\"\n        />\n      );\n\n    case JSON_TYPES.WIDGET_REF: {\n      const widget = widgets[item.widgetId];\n      if (!widget) return null;\n      const validationDetail = validationDetails?.[item.widgetId];\n      const isCorrect = validationDetail?.isCorrect;\n      const validationStatus = isCorrect === true ? 'correct' : isCorrect === false ? 'incorrect' : null;\n      const widgetKey = STATEFUL_WIDGET_TYPES.has(widget.type)\n        ? `${item.widgetId}-${resetKey}`\n        : item.widgetId;\n      return (\n        <WidgetRenderer\n          key={widgetKey}\n          widget={widget}\n          widgetId={item.widgetId}\n          value={values[item.widgetId] || ''}\n          values={values as Record<string, string>}\n          isDropped={droppedInputs.has(item.widgetId)}\n          validationStatus={validationStatus}\n          numValidationStatus={toValidationStatus(validationDetails?.[`${item.widgetId}__num`]?.isCorrect)}\n          denValidationStatus={toValidationStatus(validationDetails?.[`${item.widgetId}__den`]?.isCorrect)}\n          validationDetail={validationDetail}\n          droppedInputs={droppedInputs}\n          widgets={widgets}\n          onChange={onChange}\n          onInputFocus={onInputFocus}\n        />\n      );\n    }\n\n    case JSON_TYPES.SPACE:\n      return <span className=\"space\">&nbsp;</span>;\n\n    case JSON_TYPES.LINEBREAK:\n      return null;\n\n    case JSON_TYPES.OPERATOR:\n      return <span className=\"operator\">{item.operator}</span>;\n\n    case JSON_TYPES.GROUP:\n      return (\n        <span className=\"group\">\n          {item.items.map((subItem: LayoutItem) => (\n            <LayoutRenderer\n              key={subItem.id}\n              item={subItem}\n              widgets={widgets}\n              values={values}\n              droppedInputs={droppedInputs}\n              validationDetails={validationDetails}\n              onChange={onChange}\n              onInputFocus={onInputFocus}\n              resetKey={resetKey}\n            />\n          ))}\n        </span>\n      );\n\n    case JSON_TYPES.TABLE:\n      return (\n        <div className=\"exercise-table-container\">\n          <table className=\"exercise-table\">\n            <tbody>\n              {item.rows.map((row: TableRowItem) => (\n                <tr key={row.id} className=\"exercise-table-row\">\n                  {row.cells.map((cell: TableCellItem) => (\n                    <td\n                      key={cell.id}\n                      className=\"exercise-table-cell\"\n                      colSpan={cell.colspan || 1}\n                    >\n                      {cell.items.map((subItem: LayoutItem) => (\n                        <LayoutRenderer\n                          key={subItem.id}\n                          item={subItem}\n                          widgets={widgets}\n                          values={values}\n                          droppedInputs={droppedInputs}\n                          validationDetails={validationDetails}\n                          onChange={onChange}\n                          onInputFocus={onInputFocus}\n                          resetKey={resetKey}\n                        />\n                      ))}\n                    </td>\n                  ))}\n                </tr>\n              ))}\n            </tbody>\n          </table>\n        </div>\n      );\n\n    case JSON_TYPES.NUMBER_LINE:\n      return (\n        <NumberLineRenderer\n          key={resetKey}\n          item={item as NumberLineItem}\n          widgets={widgets}\n          values={values}\n          droppedInputs={droppedInputs}\n          validationDetails={validationDetails}\n          onChange={onChange}\n          onInputFocus={onInputFocus}\n        />\n      );\n\n    case JSON_TYPES.VERTICAL_OPERATION: {\n      const vop = item as VerticalOperationItem;\n      // If any row carries its own op, use per-row ops exclusively.\n      // Otherwise fall back to block op on the last operand row (backwards compat).\n      const anyRowHasOp = vop.items.some(\n        (x) => x.type === JSON_TYPES.VOP_ROW && (x as VopRowItem).op !== undefined\n      );\n      let operatorRowIdx = -1;\n      if (!anyRowHasOp && vop.op !== undefined) {\n        const firstSepIdx = vop.items.findIndex((x) => x.type === JSON_TYPES.VOP_SEPARATOR);\n        for (let i = (firstSepIdx === -1 ? vop.items.length : firstSepIdx) - 1; i >= 0; i--) {\n          const curr = vop.items[i];\n          if (curr && curr.type === JSON_TYPES.VOP_ROW) {\n            operatorRowIdx = i;\n            break;\n          }\n        }\n      }\n\n      const totalCols = vop.cols + 1; // reserve first column for operator\n\n      return (\n        <div\n          className=\"vop\"\n          style={{ '--vop-cols': totalCols } as React.CSSProperties}\n          dir=\"ltr\"\n        >\n          {vop.items.map((child, idx) => {\n            if (child.type === JSON_TYPES.VOP_SEPARATOR) {\n              const sep = child as VopSeparatorItem;\n              return <div key={sep.id} className=\"vop-sep\" />;\n            }\n            if (child.type === JSON_TYPES.VOP_CARRY_ROW) {\n              const carry = child as VopCarryRowItem;\n              const carryLeadingEmpty = Math.max(0, vop.cols - carry.cells.length);\n              return (\n                <div key={carry.id} className=\"vop-row vop-carry-row\">\n                  <span className=\"vop-op-cell\" />\n                  {Array.from({ length: carryLeadingEmpty }).map((_, i) => (\n                    <span key={`cpad-${i}`} className=\"vop-cell vop-carry-cell-empty\" />\n                  ))}\n                  {carry.cells.map((cell: VopCellItem) => {\n                    if (cell.kind === 'digit') {\n                      return <span key={cell.id} className=\"vop-cell vop-carry-cell-digit\">{cell.value}</span>;\n                    }\n                    if (cell.kind === 'label') {\n                      return <span key={cell.id} className=\"vop-cell vop-carry-cell-label\">{cell.value}</span>;\n                    }\n                    if (cell.kind === 'color') {\n                      return <span key={cell.id} className=\"vop-cell vop-carry-cell-color\" style={{ color: cell.color }}>{cell.value}</span>;\n                    }\n                    if (cell.kind === 'bold') {\n                      return <span key={cell.id} className=\"vop-cell vop-carry-cell-bold\">{cell.value}</span>;\n                    }\n                    if (cell.kind === 'highlight') {\n                      return <span key={cell.id} className=\"vop-cell vop-carry-cell-highlight\"><mark>{cell.value}</mark></span>;\n                    }\n                    if (cell.kind === 'empty') {\n                      return <span key={cell.id} className=\"vop-cell vop-carry-cell-empty\" />;\n                    }\n                    const widget = widgets[cell.widgetId];\n                    if (!widget) return <span key={cell.id} className=\"vop-cell\" />;\n                    const isCorrect = validationDetails?.[cell.widgetId]?.isCorrect;\n                    const validationStatus = isCorrect === true ? 'correct' : isCorrect === false ? 'incorrect' : null;\n                    return (\n                      <span key={cell.id} className=\"vop-cell vop-carry-cell-input\">\n                        <WidgetRenderer\n                          widget={widget}\n                          widgetId={cell.widgetId}\n                          value={values[cell.widgetId] || ''}\n                          isDropped={droppedInputs.has(cell.widgetId)}\n                          validationStatus={validationStatus}\n                          onChange={onChange}\n                          onInputFocus={onInputFocus}\n                        />\n                      </span>\n                    );\n                  })}\n                </div>\n              );\n            }\n            const row = child as VopRowItem;\n            const showOperator = row.op !== undefined || idx === operatorRowIdx;\n            const displayOp = row.op ?? vop.op;\n            // Right-align: pad empty leading cells so last cell hits rightmost column\n            const leadingEmpty = vop.cols - row.cells.length;\n            return (\n              <div key={row.id} className=\"vop-row\">\n                <span className=\"vop-op-cell\">\n                  {showOperator ? <span className=\"operator vop-op\">{displayOp}</span> : null}\n                </span>\n                {Array.from({ length: leadingEmpty }).map((_, i) => (\n                  <span key={`pad-${i}`} className=\"vop-cell vop-cell-empty\" />\n                ))}\n                {row.cells.map((cell: VopCellItem) => {\n                  if (cell.kind === 'digit') {\n                    return (\n                      <span key={cell.id} className=\"vop-cell vop-cell-digit\">\n                        {cell.value}\n                      </span>\n                    );\n                  }\n                  if (cell.kind === 'label') {\n                    return (\n                      <span key={cell.id} className=\"vop-cell vop-cell-label\">\n                        {cell.value}\n                      </span>\n                    );\n                  }\n                  if (cell.kind === 'color') {\n                    return (\n                      <span key={cell.id} className=\"vop-cell vop-cell-color\" style={{ color: cell.color }}>\n                        {cell.value}\n                      </span>\n                    );\n                  }\n                  if (cell.kind === 'bold') {\n                    return (\n                      <span key={cell.id} className=\"vop-cell vop-cell-bold\">\n                        {cell.value}\n                      </span>\n                    );\n                  }\n                  if (cell.kind === 'highlight') {\n                    return (\n                      <span key={cell.id} className=\"vop-cell vop-cell-highlight\">\n                        <mark>{cell.value}</mark>\n                      </span>\n                    );\n                  }\n                  if (cell.kind === 'empty') {\n                    return <span key={cell.id} className=\"vop-cell vop-cell-empty\" />;\n                  }\n                  const widget = widgets[cell.widgetId];\n                  if (!widget) return <span key={cell.id} className=\"vop-cell\" />;\n                  const isCorrect = validationDetails?.[cell.widgetId]?.isCorrect;\n                  const validationStatus =\n                    isCorrect === true ? 'correct' : isCorrect === false ? 'incorrect' : null;\n                  return (\n                    <span key={cell.id} className=\"vop-cell vop-cell-input\">\n                      <WidgetRenderer\n                        widget={widget}\n                        widgetId={cell.widgetId}\n                        value={values[cell.widgetId] || ''}\n                        isDropped={droppedInputs.has(cell.widgetId)}\n                        validationStatus={validationStatus}\n                        onChange={onChange}\n                        onInputFocus={onInputFocus}\n                      />\n                    </span>\n                  );\n                })}\n              </div>\n            );\n          })}\n        </div>\n      );\n    }\n\n    case JSON_TYPES.CLOCK: {\n      const clockItem = item as ClockItem;\n      const widgetName = clockItem.mode === 'interactive' ? clockItem.name : undefined;\n      const validationStatus = widgetName\n        ? toValidationStatus(validationDetails?.[widgetName]?.isCorrect)\n        : null;\n      const rawValue = widgetName ? values[widgetName] : undefined;\n      const value = typeof rawValue === 'string' ? rawValue : undefined;\n      return (\n        <ClockRenderer\n          item={clockItem}\n          value={value}\n          validationStatus={validationStatus}\n          onChange={onChange}\n        />\n      );\n    }\n\n    default:\n      return null;\n  }\n};\n","import { useState, useMemo, forwardRef, useImperativeHandle } from 'react';\nimport type { ExerciseJSON, LayoutItem, ValidatedExerciseJSON } from '../../transformers/zod-schemas';\nimport type { ValidationResult, WidgetValidation } from '../../validators';\nimport { validate, getMissingInputs, getAnswerableInputs } from '../../validators';\nimport { LayoutRenderer } from './LayoutRenderer';\nimport { WidgetRenderer } from '../widgets';\nimport { ToolsOverlay, ExerciseDndProvider, type ToolConfig } from '../dnd';\nimport { SoundPlayerProvider, useSoundPlayer, type SoundConfig } from '../sounds';\nimport { JSON_TYPES, RTL_INLINE_WIDGET_TYPES, RULER_WIDGET_ID, PROTRACTOR_WIDGET_ID, SET_SQUARE_WIDGET_ID } from '../../constants';\nimport { itemContainsArabic, groupLineItems, type LineSubGroup } from '../utils';\nimport { normalize } from '../../utils';\nimport type { UserAnswerValue } from '../types';\n\n// Re-exported so existing consumers that import UserAnswerValue from this file keep working.\nexport type { UserAnswerValue } from '../types';\n\nimport {\n  RULER_ASPECT_RATIO,\n  PROTRACTOR_ASPECT_RATIO,\n  SET_SQUARE_ASPECT_RATIO,\n} from '../dnd/movable-tools/geometry-svgs';\n\n// Aspect ratios imported directly from each SVG component — single source of truth.\n// If a viewBox ever changes, this map updates automatically.\nconst TOOL_ASPECT_RATIO: Record<string, number> = {\n  ruler:        RULER_ASPECT_RATIO,\n  protractor:   PROTRACTOR_ASPECT_RATIO,\n  'set-square': SET_SQUARE_ASPECT_RATIO,\n};\nconst FLIP_BTN_EXTRA = 44;   // 36 px button + 8 px gap below set-square\n\n/** Snapshot of how many answerable inputs are currently filled. */\nexport interface InputCompletion {\n  /** Number of widgets the exercise expects an answer for (0 = display-only). */\n  total: number;\n  /** How many of those currently have a usable value. */\n  filled: number;\n  /** Widget IDs still empty. */\n  missing: string[];\n  /** Widget IDs that have a value. */\n  filledIds: string[];\n  /** true when there is at least one input AND none are missing. */\n  isComplete: boolean;\n  /** true when at least one input has a value. */\n  isAnyFilled: boolean;\n}\n\nexport interface ExerciseRendererRef {\n  submit: () => ValidationResult;\n  getValues: () => Record<string, UserAnswerValue>;\n  /** Fill status of the answerable inputs — caller decides when to block submit. */\n  getCompletion: () => InputCompletion;\n  reset: () => void;\n  focusFirstInput: () => void;\n}\n\nexport interface ExerciseRendererProps {\n  json: ExerciseJSON;\n  onSubmit?: (values: Record<string, UserAnswerValue>) => void;\n  onChange?: (values: Record<string, UserAnswerValue>) => void;\n  showSubmitButton?: boolean;\n  className?: string;\n  /** Master on/off for interaction sounds (default true). */\n  soundEnabled?: boolean;\n  /** Maps sound events → URL or callback. Omitted events stay silent. */\n  sounds?: SoundConfig;\n}\n\n/** Pre-populate matcher widgets with [] so submit() never receives undefined. */\nfunction buildInitialValues(json: ExerciseJSON): Record<string, UserAnswerValue> {\n  const initial: Record<string, UserAnswerValue> = {};\n  for (const [id, widget] of Object.entries(json.widgets)) {\n    if (widget.type === JSON_TYPES.MATCHER || widget.type === JSON_TYPES.PAIR_MATCHER) initial[id] = [];\n  }\n  return initial;\n}\n\n/**\n * Main renderer component - the contract for rendering exercises.\n *\n * This component is DUMB - it only collects values and passes them up.\n * The parent decides correctness via validation.\n */\nexport const ExerciseRenderer = forwardRef<ExerciseRendererRef, ExerciseRendererProps>(({\n  json,\n  onSubmit,\n  onChange,\n  showSubmitButton = false,\n  className = '',\n  soundEnabled = true,\n  sounds,\n}, ref) => {\n  const [values, setValues] = useState<Record<string, UserAnswerValue>>(() => buildInitialValues(json));\n  const [droppedSources, setDroppedSources] = useState<Map<string, string>>(new Map()); // inputWidgetId → source drag option ID\n  const [focusedInputId, setFocusedInputId] = useState<string | null>(null); // Track which input is currently focused\n  const [validationDetails, setValidationDetails] = useState<Record<string, WidgetValidation> | null>(null);\n  const [resetKey, setResetKey] = useState(0); // Incremented on reset to remount stateful layout items\n\n  // Shared sound player — used by widgets via context AND directly here for\n  // submit / answer-feedback sounds (submit() runs outside the provider tree).\n  const playSound = useSoundPlayer(soundEnabled, sounds);\n\n  useImperativeHandle(ref, () => ({\n    submit: () => {\n      // values are already native types (string | string[][]) — no parsing needed.\n      const result = validate(json, values);\n      playSound(result.isCorrect ? 'answer-correct' : 'answer-wrong');\n      const details: Record<string, WidgetValidation> = { ...result.details };\n\n      /** Build a WidgetValidation slot for a fraction sub-field. */\n      const slotValidation = (id: string, raw: UserAnswerValue | undefined, expected: string): WidgetValidation => ({\n        widgetId: id,\n        userValue: typeof raw === 'string' ? raw : undefined,\n        isCorrect: typeof raw === 'string' && raw !== '' && normalize(raw) === normalize(expected),\n      });\n\n      // Per-slot validation for fraction widgets (x__num, x__den).\n      for (const [widgetId, widget] of Object.entries(json.widgets)) {\n        if (widget.type !== JSON_TYPES.FRACTION) continue;\n        if (!(widgetId in details)) continue;\n        const answer = (json as ValidatedExerciseJSON).validation?.answers?.[widgetId] as string | undefined;\n        if (!answer) continue;\n        const [expectedNum, expectedDen] = answer.split('/', 2);\n        if (!expectedNum || !expectedDen) continue;\n        if (details[widgetId]?.isCorrect) {\n          if (widget.numerator === null) details[`${widgetId}__num`] = { widgetId: `${widgetId}__num`, userValue: undefined, isCorrect: true };\n          if (widget.denominator === null) details[`${widgetId}__den`] = { widgetId: `${widgetId}__den`, userValue: undefined, isCorrect: true };\n        } else {\n          if (widget.numerator === null)   details[`${widgetId}__num`] = slotValidation(`${widgetId}__num`, values[`${widgetId}__num`], expectedNum);\n          if (widget.denominator === null) details[`${widgetId}__den`] = slotValidation(`${widgetId}__den`, values[`${widgetId}__den`], expectedDen);\n        }\n      }\n\n      setValidationDetails(details);\n      onSubmit?.(values);\n      return result;\n    },\n    getValues: () => values,\n    getCompletion: (): InputCompletion => {\n      const answerable = getAnswerableInputs(json);\n      const missing = getMissingInputs(json, values);\n      const missingSet = new Set(missing);\n      const filledIds = answerable.filter((id) => !missingSet.has(id));\n      return {\n        total: answerable.length,\n        filled: filledIds.length,\n        missing,\n        filledIds,\n        isComplete: answerable.length > 0 && missing.length === 0,\n        isAnyFilled: filledIds.length > 0,\n      };\n    },\n    reset: () => {\n      setValues(buildInitialValues(json));\n      setDroppedSources(new Map());\n      setFocusedInputId(null);\n      setValidationDetails(null);\n      setResetKey(k => k + 1);\n    },\n    focusFirstInput: () => {\n      const container = document.querySelector('.math-exercise-renderer');\n      const firstInput = container?.querySelector('input[type=\"text\"], input[type=\"number\"], textarea, select');\n      if (firstInput instanceof HTMLElement) {\n        firstInput.focus();\n      }\n    },\n  }), [json, values, onSubmit, playSound]);\n\n  const handleChange = (widgetId: string, value: UserAnswerValue, fromDrop = false, sourceOptionId?: string) => {\n    // Functional updater: multiple onChange calls in the same handler\n    // (e.g. re-drag chip between number-line slots) batch correctly.\n    setValues(prev => ({ ...prev, [widgetId]: value }));\n\n    // Track which source option ID is placed in which input\n    // Only string values can come from drag-and-drop.\n    setDroppedSources(prev => {\n      const next = new Map(prev);\n      if (fromDrop && typeof value === 'string' && value !== '' && sourceOptionId) {\n        next.set(widgetId, sourceOptionId);\n      } else {\n        next.delete(widgetId);\n      }\n      return next;\n    });\n\n    // External callback — best-effort snapshot (may not reflect batched sibling calls)\n    onChange?.({ ...values, [widgetId]: value });\n  };\n\n  const handleSubmit = () => {\n    onSubmit?.(values);\n  };\n\n  // Group layout items by line breaks and sub-group text items\n  const lineGroups = useMemo(() => {\n    // widget-ref items point to inline chips; resolve the actual widget type\n    // before checking RTL_INLINE_WIDGET_TYPES, otherwise the check is always false.\n    const isRTLInlineWidget = (item: LayoutItem): boolean => {\n      if (item.type === JSON_TYPES.WIDGET_REF) {\n        const widget = json.widgets[(item as any).widgetId];\n        return !!widget && RTL_INLINE_WIDGET_TYPES.has(widget.type);\n      }\n      return RTL_INLINE_WIDGET_TYPES.has(item.type);\n    };\n\n    const groups: Array<{\n      items: LayoutItem[];\n      hasArabic: boolean;\n      hasRTLInlineWidget: boolean;\n      subGroups: LineSubGroup[];\n    }> = [];\n    let currentGroup: LayoutItem[] = [];\n\n    for (const item of json.layout) {\n\n      if (item.type === JSON_TYPES.QUESTION_TEXT) {\n        groups.push({\n          items: [item],\n          hasArabic: itemContainsArabic(item),\n          hasRTLInlineWidget: false,\n          subGroups: [] // Question text doesn't need sub-grouping\n        });\n        continue;\n      }\n\n      // TABLE is self-contained — flush pending items and push as its own group\n      if (item.type === JSON_TYPES.TABLE) {\n        if (currentGroup.length > 0) {\n          const hasArabic = currentGroup.some(item => itemContainsArabic(item));\n          const hasRTLInlineWidget = currentGroup.some(isRTLInlineWidget);\n          const subGroups = groupLineItems(currentGroup);\n          groups.push({ items: currentGroup, hasArabic, hasRTLInlineWidget, subGroups });\n          currentGroup = [];\n        }\n        groups.push({\n          items: [item],\n          hasArabic: false,\n          hasRTLInlineWidget: false,\n          subGroups: []\n        });\n        continue;\n      }\n\n      // NUMBER_LINE is self-contained\n      if (item.type === JSON_TYPES.NUMBER_LINE) {\n        if (currentGroup.length > 0) {\n          const hasArabic = currentGroup.some(item => itemContainsArabic(item));\n          const hasRTLInlineWidget = currentGroup.some(isRTLInlineWidget);\n          const subGroups = groupLineItems(currentGroup);\n          groups.push({ items: currentGroup, hasArabic, hasRTLInlineWidget, subGroups });\n          currentGroup = [];\n        }\n        groups.push({\n          items: [item],\n          hasArabic: false,\n          hasRTLInlineWidget: false,\n          subGroups: []\n        });\n        continue;\n      }\n\n      // VERTICAL_OPERATION is self-contained (block-level grid)\n      if (item.type === JSON_TYPES.VERTICAL_OPERATION) {\n        if (currentGroup.length > 0) {\n          const hasArabic = currentGroup.some(item => itemContainsArabic(item));\n          const hasRTLInlineWidget = currentGroup.some(isRTLInlineWidget);\n          const subGroups = groupLineItems(currentGroup);\n          groups.push({ items: currentGroup, hasArabic, hasRTLInlineWidget, subGroups });\n          currentGroup = [];\n        }\n        groups.push({\n          items: [item],\n          hasArabic: false,\n          hasRTLInlineWidget: false,\n          subGroups: []\n        });\n        continue;\n      }\n\n      if (item.type === JSON_TYPES.LINEBREAK) {\n        if (currentGroup.length > 0) {\n          const hasArabic = currentGroup.some(item => itemContainsArabic(item));\n          const hasRTLInlineWidget = currentGroup.some(isRTLInlineWidget);\n          const subGroups = groupLineItems(currentGroup);\n          groups.push({ items: currentGroup, hasArabic, hasRTLInlineWidget, subGroups });\n          currentGroup = [];\n        }\n      } else {\n        currentGroup.push(item);\n      }\n    }\n\n    if (currentGroup.length > 0) {\n      const hasArabic = currentGroup.some(item => itemContainsArabic(item));\n      const hasRTLInlineWidget = currentGroup.some(isRTLInlineWidget);\n      const subGroups = groupLineItems(currentGroup);\n      groups.push({ items: currentGroup, hasArabic, hasRTLInlineWidget, subGroups });\n    }\n\n    return groups;\n  }, [json.layout, json.widgets]);\n\n  // Derive which inputs have dropped values (for LayoutRenderer's isDropped check)\n  const droppedInputs = useMemo(() => new Set(droppedSources.keys()), [droppedSources]);\n\n  const dragOptionsWidget = json.widgets['_drag_options'];\n  const rulerWidget = json.widgets[RULER_WIDGET_ID];\n  const protractorWidget = json.widgets[PROTRACTOR_WIDGET_ID];\n  const setSquareWidget = json.widgets[SET_SQUARE_WIDGET_ID];\n  const numericKeypadWidget = json.widgets['_numeric_keypad'];\n\n  // Build geometry tool configs from widgets.\n  // 'size' from the DSL (e.g. RULER[size=2]) scales the rendered SVG width.\n  // Tools are staggered vertically so multiple tools don't fully overlap on load.\n  //\n  // toolsMinHeight ensures the exercise-layout-container is always tall enough\n  // to fully show the tallest tool (absolute elements don't push container height).\n  const { tools, toolsMinHeight } = useMemo<{ tools: ToolConfig[]; toolsMinHeight: number }>(() => {\n    const list: ToolConfig[] = [];\n    const PAD = 12;\n    const STAGGER = 24;\n    let maxH = 0;\n\n    /** Safely extract numeric size from a geometry widget (defaults to 1). */\n    const getSize = (w: unknown): number =>\n      typeof w === 'object' && w !== null && 'size' in w && typeof (w as { size: unknown }).size === 'number'\n        ? (w as { size: number }).size\n        : 1;\n\n    const add = (id: string, type: ToolConfig['type'], width: number) => {\n      const offset = list.length * STAGGER;\n      list.push({ id, type, width, initialPosition: { x: PAD + offset, y: PAD + offset } });\n      const extra = type === 'set-square' ? FLIP_BTN_EXTRA : 0;\n      const h = PAD + Math.ceil(width * (TOOL_ASPECT_RATIO[type] ?? 0)) + extra + PAD;\n      if (h > maxH) maxH = h;\n    };\n\n    if (rulerWidget)     add('ruler-1',      'ruler',       Math.round(getSize(rulerWidget) * 240));\n    if (protractorWidget) add('protractor-1', 'protractor',  Math.round(getSize(protractorWidget) * 180));\n    if (setSquareWidget)  add('set-square-1', 'set-square',  Math.round(getSize(setSquareWidget) * 160));\n\n    return { tools: list, toolsMinHeight: maxH };\n  }, [rulerWidget, protractorWidget, setSquareWidget]);\n\n  return (\n    <SoundPlayerProvider play={playSound}>\n    <ExerciseDndProvider droppedSources={droppedSources}>\n      <div className={`math-exercise-renderer ${className}`}>\n\n        <div\n          className={`exercise-layout-container ${numericKeypadWidget ? 'has-keypad' : ''}`}\n          style={toolsMinHeight > 0 ? { minHeight: toolsMinHeight } : undefined}\n        >\n        <div className=\"exercise-layout\">\n          {lineGroups.map((group, groupIdx) => (\n            <div\n              key={groupIdx}\n              className=\"exercise-line\"\n              dir={group.hasArabic && group.hasRTLInlineWidget ? 'rtl' : undefined}\n            >\n              {group.subGroups.length > 0 ? (\n                // Render sub-groups for regular lines\n                group.subGroups.map((subGroup, subIdx) => (\n                  subGroup.isTextGroup ? (\n                    // Text group - only apply RTL for pure Arabic (no mixed languages)\n                    <span key={subIdx} className=\"text-group\" dir={subGroup.shouldApplyRTL ? 'rtl' : undefined}>\n                      {subGroup.items.map((item) => (\n                        <LayoutRenderer\n                          key={item.id}\n                          item={item}\n                          widgets={json.widgets}\n                          values={values}\n                          droppedInputs={droppedInputs}\n                          validationDetails={validationDetails}\n                          onChange={handleChange}\n                          onInputFocus={setFocusedInputId}\n                          resetKey={resetKey}\n                        />\n                      ))}\n                    </span>\n                  ) : (\n                    // Widget group - no dir wrapper, render directly\n                    subGroup.items.map((item) => (\n                      <LayoutRenderer\n                        key={item.id}\n                        item={item}\n                        widgets={json.widgets}\n                        values={values}\n                        droppedInputs={droppedInputs}\n                        validationDetails={validationDetails}\n                        onChange={handleChange}\n                        onInputFocus={setFocusedInputId}\n                        resetKey={resetKey}\n                      />\n                    ))\n                  )\n                ))\n              ) : (\n                // For QUESTION_TEXT items (no sub-groups)\n                group.items.map((item) => (\n                  <LayoutRenderer\n                    key={item.id}\n                    item={item}\n                    widgets={json.widgets}\n                    values={values}\n                    droppedInputs={droppedInputs}\n                    validationDetails={validationDetails}\n                    onChange={handleChange}\n                    onInputFocus={setFocusedInputId}\n                    resetKey={resetKey}\n                  />\n                ))\n              )}\n            </div>\n          ))}\n        </div>\n\n        {numericKeypadWidget && numericKeypadWidget.type === 'numeric-keypad' && (\n          <div className=\"numeric-keypad-container\">\n            <WidgetRenderer\n              widget={numericKeypadWidget}\n              widgetId=\"_numeric_keypad\"\n              value={focusedInputId ? (values[focusedInputId] as string || '') : ''}\n              onChange={() => {}} // Not used for keypad\n              onKeypadChange={(newValue: string) => {\n                // Update the focused input directly\n                if (focusedInputId) {\n                  handleChange(focusedInputId, newValue, false);\n                }\n              }}\n            />\n          </div>\n        )}\n\n        {/* Geometry tools — absolute overlay anchored to exercise-layout-container.\n            All tools start top-left; the student drags each one into position.\n            pointer-events:none on the overlay lets clicks through to the exercise. */}\n        {tools.length > 0 && (\n          <ToolsOverlay tools={tools} resetKey={resetKey} />\n        )}\n        </div>{/* closes exercise-layout-container */}\n\n        {/* Drag options at the bottom */}\n        {dragOptionsWidget && dragOptionsWidget.type === 'drag-options' && (\n          <div className=\"drag-options-container\">\n            <WidgetRenderer\n              widget={dragOptionsWidget}\n              widgetId=\"_drag_options\"\n              value=\"\"\n              onChange={() => {}}\n            />\n          </div>\n        )}\n\n        {showSubmitButton && (\n          <button className=\"exercise-submit-btn\" onClick={handleSubmit}>\n            Check Answer\n          </button>\n        )}\n      </div>\n    </ExerciseDndProvider>\n    </SoundPlayerProvider>\n  );\n});\n\nExerciseRenderer.displayName = 'ExerciseRenderer';\n","import { createRoot, Root } from 'react-dom/client';\nimport type { ExerciseJSON } from '../transformers/zod-schemas';\nimport { ExerciseRenderer } from './components/ExerciseRenderer';\nimport type { UserAnswerValue } from './types';\n\nexport interface RenderOptions {\n  container: HTMLElement | string;\n  json: ExerciseJSON;\n  onSubmit?: (values: Record<string, UserAnswerValue>) => void;\n  onChange?: (values: Record<string, UserAnswerValue>) => void;\n  showSubmitButton?: boolean;\n  className?: string;\n}\n\n/**\n * DOM helper for quick usage / demos.\n *\n * This couples the engine to DOM + React root creation.\n * For production use, prefer <ExerciseRenderer /> directly in your React tree.\n *\n * @example\n * ```typescript\n * import { compile, renderExercise } from 'math-exercise-engine';\n *\n * const json = compile(dsl);\n * const unmount = renderExercise({\n *   container: '#app',\n *   json,\n *   onSubmit: (values) => {\n *     // Parent decides correctness\n *     const result = validate(json, values);\n *     console.log(result.isCorrect);\n *   }\n * });\n *\n * // Later: unmount()\n * ```\n */\nexport function renderExercise(options: RenderOptions): () => void {\n  const container =\n    typeof options.container === 'string'\n      ? document.querySelector(options.container)\n      : options.container;\n\n  if (!container) {\n    throw new Error(`Container not found: ${options.container}`);\n  }\n\n  const root: Root = createRoot(container);\n\n  root.render(\n    <ExerciseRenderer\n      json={options.json}\n      onSubmit={options.onSubmit}\n      onChange={options.onChange}\n      showSubmitButton={options.showSubmitButton}\n      className={options.className}\n    />\n  );\n\n  return () => {\n    root.unmount();\n  };\n}\n\n","/**\n * Math Exercise Engine - Natural DSL\n *\n * A natural DSL parser and validator for math exercises.\n * Write exercises naturally: `25 + W_S_I[name=\"x\", length=2, answer=\"5\"] = 30`\n *\n * @packageDocumentation\n */\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Type Constants\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport { AST_TYPES, JSON_TYPES, type ASTType, type JSONType } from './constants';\nexport { getFractionKey, isFractionKey, parseFractionKey, type FractionPart } from './utils/fraction-keys';\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Parsing Pipeline\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport { tokenize, tokenizeSafe } from './lexer';\nexport { parse, parseSafe, toAST } from './parser';\nexport { toJSON } from './transformers';\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Validation\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport {\n  validate,\n  getMissingInputs,\n  getAnswerableInputs,\n  validateInputFormats,\n  validateSimple,\n  validateExpression,\n  validateMixed,\n  findValidCombination,\n  evaluate,\n  isValidExpression,\n  extractVariables as extractExpressionVariables,\n  validateBooleanExpression\n} from './validators';\n\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Types - AST (Natural DSL)\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport type {\n  // Document & Blocks\n  ExerciseDocument,\n  ContentBlock,\n  TextBlock,\n  LineBlock,\n\n  // Table\n  TableBlock,\n  TableRow,\n  TableCell,\n  // Number Line\n  NumberLineBlock,\n  NumberLinePosition,\n  NumberLineCounter,\n  NumberLineHighlight,\n  NumberLineCursor,\n  NumberLineArrow,\n  // Inline Elements\n  FreeTextInline,\n  HighlightedTextInline,\n  ColorTextInline,\n  BoldTextInline,\n  InlineInputWidget,\n  FractionInline,\n  ImageInline,\n  ClockInline,\n  InlineNode,\n\n  // Radio Options\n  RadioOptionsBlock,\n\n  // Tools\n  DragOptionsTool,\n  NumericKeypadTool,\n  ToolNode,\n\n  // Validation\n  SimpleValidation,\n  ExpressionValidation,\n  MixedValidation,\n  ValidationNode\n} from './ast';\n\n// Re-export AST modules\nexport * from './ast/inline';\nexport * from './ast/blocks';\nexport * from './ast/matcher-item';\nexport * from './ast/matcher';\nexport * from './ast/pair-matcher';\nexport * from './ast/tools';\nexport * from './ast/validation';\nexport * from './ast/document';\nexport * from './ast/vertical-operation';\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Types - JSON Schema\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport type {\n  // Main Types\n  ExerciseJSON,\n  ExerciseMeta,\n  ValidationJSON,\n\n  // Layout Types\n  LayoutItem,\n  QuestionText,\n  TextItem,\n  WidgetRef,\n  HighlightedText,\n  ColorText,\n  BoldText,\n  SpaceItem,\n  Linebreak,\n  GroupItem,\n  OperatorItem,\n  TableItem,\n  TableRowItem,\n  TableCellItem,\n  ImageItem,\n  NumberLineItem,\n  NumberLinePositionItem,\n  NumberLineCounterItem,\n  NumberLineHighlightItem,\n  NumberLineCursorItem,\n  NumberLineArrowItem,\n  VopCellItem,\n  VopRowItem,\n  VopCarryRowItem,\n  VopSeparatorItem,\n  VerticalOperationItem,\n  VopDigitCellItem,\n  VopLabelCellItem,\n  VopInputCellItem,\n  VopEmptyCellItem,\n  VopColorCellItem,\n  VopBoldCellItem,\n  VopHighlightCellItem,\n  ClockItem,\n  // Widget Types\n  WidgetJSON,\n  InlineInputJSON,\n  DragOptionsJSON,\n  RadioOptionsJSON,\n  NumericKeypadJSON,\n  FractionJSON,\n  MatcherWidgetJSON,\n  MatcherRowItem,\n  MatcherItemContent,\n  PairMatcherWidgetJSON,\n  RulerWidgetJSON,\n  ProtractorWidgetJSON,\n  SetSquareWidgetJSON,\n} from './transformers';\n\n// Re-export type guards\nexport {\n  isQuestionText,\n  isTextItem,\n  isWidgetRef,\n  isHighlightedText,\n  isColorText,\n  isBoldText,\n  isSpaceItem,\n  isLinebreak,\n  isGroupItem,\n  isOperatorItem,\n  isInlineInputJSON,\n  isDragOptionsJSON,\n  isInlineDragOptionJSON,\n  isRadioOptionsJSON,\n  isNumericKeypadJSON,\n  isFractionJSON,\n  isTableItem,\n  isTableRowItem,\n  isTableCellItem,\n  isImageItem,\n  isVerticalOperationItem,\n  isClockItem,\n  isRulerWidget,\n  isProtractorWidget,\n  isSetSquareWidget,\n} from './transformers';\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Runtime Validation - Zod Schemas\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport {\n  // Main Schemas\n  ExerciseJSONSchema,\n  ExerciseMetaSchema,\n  ValidationJSONSchema,\n\n  // Layout Schemas\n  LayoutItemSchema,\n  QuestionTextSchema,\n  TextItemSchema,\n  WidgetRefSchema,\n  HighlightedTextSchema,\n  ColorTextSchema,\n  BoldTextSchema,\n  ImageItemSchema,\n  SpaceItemSchema,\n  LinebreakSchema,\n  GroupItemSchema,\n  OperatorItemSchema,\n  OperatorSchema,\n  TableItemSchema,\n  TableRowItemSchema,\n  TableCellItemSchema,\n  NumberLineItemSchema,\n  NumberLinePositionItemSchema,\n  NumberLineCounterItemSchema,\n  NumberLineHighlightItemSchema,\n  NumberLineCursorItemSchema,\n  NumberLineArrowItemSchema,\n  VerticalOperationItemSchema,\n  VopRowItemSchema,\n  VopCarryRowItemSchema,\n  VopSeparatorItemSchema,\n  VopCellItemSchema,\n  VopColorCellItemSchema,\n  VopBoldCellItemSchema,\n  VopHighlightCellItemSchema,\n  ClockItemSchema,\n\n  // Widget Schemas\n  WidgetJSONSchema,\n  InlineInputJSONSchema,\n  DragOptionsJSONSchema,\n  RadioOptionsJSONSchema,\n  NumericKeypadJSONSchema,\n  FractionJSONSchema,\n  MatcherWidgetJSONSchema,\n  PairMatcherWidgetJSONSchema,\n  RulerWidgetSchema,\n  ProtractorWidgetSchema,\n  SetSquareWidgetSchema,\n\n  // Validation helpers\n  validateExerciseJSON,\n  validateExerciseJSONSafe,\n  validateWidgetJSON,\n  validateWidgetJSONSafe\n} from './transformers';\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Types - Validation\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport type {\n  ValidationResult,\n  WidgetValidation\n} from './validators';\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Types - Errors\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport {\n  EngineError,\n  LexerError,\n  ParseError,\n  TransformError,\n  ValidationError\n} from './errors';\n\nexport type { SourcePosition } from './errors';\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Convenience Functions\n// ═══════════════════════════════════════════════════════════════════════════\n\nimport { tokenize } from './lexer';\nimport { parse, toAST } from './parser';\nimport { toJSON } from './transformers';\nimport { ExerciseJSON } from './transformers';\n\n/**\n * Compile DSL text directly to JSON (convenience function)\n *\n * This combines tokenize → parse → toAST → toJSON in one call.\n *\n * @param dsl - The DSL text to compile\n * @returns The exercise JSON\n * @throws LexerError if tokenization fails\n * @throws ParseError if parsing fails\n *\n * @example\n * ```typescript\n * const json = compile(`\n *   QUESTION_TEXT[\"Solve\"]\n *   25 + W_S_I[name=\"x\", length=2, answer=\"5\"] = 30\n *   WIDGET_ANSWER[type=\"simple\"]\n * `);\n * ```\n */\nexport function compile(dsl: string): ExerciseJSON {\n  const tokens = tokenize(dsl);\n  const cst = parse(tokens);\n  const ast = toAST(cst);\n  return toJSON(ast);\n}\n\n/**\n * Compile DSL and return both AST and JSON\n *\n * Useful when you need access to both representations.\n *\n * @param dsl - The DSL text to compile\n * @returns Object containing both ast and json\n */\nexport function compileWithAST(dsl: string) {\n  const tokens = tokenize(dsl);\n  const cst = parse(tokens);\n  const ast = toAST(cst);\n  const json = toJSON(ast);\n  return { ast, json };\n}\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Renderer (requires React)\n// ═══════════════════════════════════════════════════════════════════════════\n\nexport {\n  ExerciseRenderer,\n  LayoutRenderer,\n  WidgetRenderer,\n  renderExercise,\n  SoundProvider,\n  useSound\n} from './renderer';\n\nexport {\n  isPairMatcherWidget,\n  isMatcherWidget,\n} from './renderer/widgets/type-guards';\n\nexport type {\n  ExerciseRendererProps,\n  ExerciseRendererRef,\n  InputCompletion,\n  LayoutRendererProps,\n  WidgetRendererProps,\n  RenderOptions,\n  SoundEvent,\n  SoundConfig,\n  SoundProviderProps\n} from './renderer';\n"],"names":["key","IMAGE_SRC_SCHEME_RE","defaultValue","isTextItem","extractVariables","undefined","global","exports","collection","runInContext","Array","Error","Function","Math","Object","RegExp","String","Map","Promise","Set","lodash","result","iteratee","size","values","setTimeout","includes","object","indexOf","set","clearTimeout","index","ary","noop","othValue","map","transform","parent","clone","isFinite","isNaN","create","properties","parseInt","chain","add","subtract","value","this","normalize","sortBy","isEqual","math","userValue","isCorrect","node","useIsomorphicLayoutEffect","Action","Direction","EventName","KeyboardCode","events","MouseButton","AutoScrollActivator","TraversalOrder","MeasuringStrategy","MeasuringFrequency","ids","ResizeObserver","scrollCoordinates","elements","rect","Status","DndContext","activeNode","activatorEvent","id","event","active","collisions","over","scrollAdjustedTranslate","handler","droppableContainers","adjustScale","DndKitContext","VW","VH","CM_PX","C_BORDER","C_FILL","C_TICK","C_LABEL","CX","CY","EMPTY_WIDGETS","EMPTY_VALUES","EMPTY_DROPPED","NOOP","topId","shuffle","sourceId","targetPos","item","tokenize","parse","toAST","toJSON"],"mappings":"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","x_google_ignoreList":[29,40,41,42]}