Merge "gralloc: Change default flexible YUV format to YCbCr_420_SP"
diff --git a/composer/gl_color_convert_impl.cpp b/composer/gl_color_convert_impl.cpp
index 119fffc..60c7a40 100644
--- a/composer/gl_color_convert_impl.cpp
+++ b/composer/gl_color_convert_impl.cpp
@@ -148,6 +148,8 @@
 
   ctx_.program_id = LoadProgram(1, &kVertexShader, count, fragment_shaders);
 
+  SetRealTimePriority();
+
   return 0;
 }
 
diff --git a/composer/gl_common.cpp b/composer/gl_common.cpp
index 4524867..4d4744d 100644
--- a/composer/gl_common.cpp
+++ b/composer/gl_common.cpp
@@ -173,5 +173,14 @@
   image_wrapper_.Init();
 }
 
+void GLCommon::SetRealTimePriority() {
+  // same as composer thread
+  struct sched_param param = {0};
+  param.sched_priority = 2;
+  if (sched_setscheduler(0, SCHED_FIFO | SCHED_RESET_ON_FORK, &param) != 0) {
+    DLOGE("Couldn't set SCHED_FIFO: %d", errno);
+  }
+}
+
 }  // namespace sdm
 
diff --git a/composer/gl_common.h b/composer/gl_common.h
index eda2d49..31961e6 100644
--- a/composer/gl_common.h
+++ b/composer/gl_common.h
@@ -65,6 +65,7 @@
   virtual int WaitOnInputFence(const shared_ptr<Fence> &in_fence);
   virtual int CreateOutputFence(shared_ptr<Fence> *out_fence);
   virtual void ClearCache();
+  virtual void SetRealTimePriority();
 
  protected:
   virtual ~GLCommon() { }
diff --git a/composer/gl_layer_stitch_impl.cpp b/composer/gl_layer_stitch_impl.cpp
index af83ab8..b0d6171 100644
--- a/composer/gl_layer_stitch_impl.cpp
+++ b/composer/gl_layer_stitch_impl.cpp
@@ -127,6 +127,8 @@
 
   ctx_.program_id = LoadProgram(1, &kVertexShader1, count, fragment_shaders);
 
+  SetRealTimePriority();
+
   return 0;
 }
 
diff --git a/composer/hwc_display.cpp b/composer/hwc_display.cpp
index b0e811c..10c24ef 100644
--- a/composer/hwc_display.cpp
+++ b/composer/hwc_display.cpp
@@ -177,6 +177,10 @@
   return HWC2::Error::None;
 }
 
+void HWCColorMode::SetApplyMode(bool enable) {
+  apply_mode_ = enable;
+}
+
 HWC2::Error HWCColorMode::ApplyCurrentColorModeWithRenderIntent(bool hdr_present) {
   // If panel does not support color modes, do not set color mode.
   if (color_mode_map_.size() <= 1) {
@@ -948,9 +952,11 @@
       }
       break;
     case HWC2::PowerMode::On:
+      color_mode_->SetApplyMode(true);
       state = kStateOn;
       break;
     case HWC2::PowerMode::Doze:
+      color_mode_->SetApplyMode(true);
       state = kStateDoze;
       break;
     case HWC2::PowerMode::DozeSuspend:
@@ -1219,6 +1225,11 @@
 HWC2::Error HWCDisplay::SetActiveConfig(hwc2_config_t config) {
   DTRACE_SCOPED();
 
+  // Cache refresh rate set by client.
+  DisplayConfigVariableInfo info = {};
+  GetDisplayAttributesForConfig(INT(config), &info);
+  active_refresh_rate_ = info.fps;
+
   hwc2_config_t current_config = 0;
   GetActiveConfig(&current_config);
   if (current_config == config) {
diff --git a/composer/hwc_display.h b/composer/hwc_display.h
index 0360e8c..ccece96 100644
--- a/composer/hwc_display.h
+++ b/composer/hwc_display.h
@@ -98,6 +98,7 @@
   HWC2::Error Init();
   HWC2::Error DeInit();
   void Dump(std::ostringstream* os);
+  void SetApplyMode(bool enable);
   uint32_t GetColorModeCount();
   uint32_t GetRenderIntentCount(ColorMode mode);
   HWC2::Error GetColorModes(uint32_t *out_num_modes, ColorMode *out_modes);
@@ -522,6 +523,7 @@
   std::mutex transient_refresh_rate_lock_;
   LayerRect window_rect_ = {};
   bool windowed_display_ = false;
+  uint32_t active_refresh_rate_ = 0;
 
  private:
   void DumpInputBuffers(void);
diff --git a/composer/hwc_display_builtin.cpp b/composer/hwc_display_builtin.cpp
index 45d9db8..b132572 100644
--- a/composer/hwc_display_builtin.cpp
+++ b/composer/hwc_display_builtin.cpp
@@ -154,6 +154,15 @@
     DLOGI("Window rect : [%f %f %f %f]", window_rect_.left, window_rect_.top,
           window_rect_.right, window_rect_.bottom);
   }
+
+  uint32_t config_index = 0;
+  GetActiveDisplayConfig(&config_index);
+  DisplayConfigVariableInfo attr = {};
+  GetDisplayAttributesForConfig(INT(config_index), &attr);
+  active_refresh_rate_ = attr.fps;
+
+  DLOGI("active_refresh_rate: %d", active_refresh_rate_);
+
   return status;
 }
 
@@ -390,12 +399,30 @@
   }
 }
 
+void HWCDisplayBuiltIn::SetPartialUpdate(DisplayConfigFixedInfo fixed_info) {
+  partial_update_enabled_ = fixed_info.partial_update || (!fixed_info.is_cmdmode);
+  for (auto hwc_layer : layer_set_) {
+    hwc_layer->SetPartialUpdate(partial_update_enabled_);
+  }
+  client_target_->SetPartialUpdate(partial_update_enabled_);
+}
+
 HWC2::Error HWCDisplayBuiltIn::SetPowerMode(HWC2::PowerMode mode, bool teardown) {
+  DisplayConfigFixedInfo fixed_info = {};
+  display_intf_->GetConfig(&fixed_info);
+  bool command_mode = fixed_info.is_cmdmode;
+
   auto status = HWCDisplay::SetPowerMode(mode, teardown);
   if (status != HWC2::Error::None) {
     return status;
   }
 
+  display_intf_->GetConfig(&fixed_info);
+  is_cmd_mode_ = fixed_info.is_cmdmode;
+  if (is_cmd_mode_ != command_mode) {
+    SetPartialUpdate(fixed_info);
+  }
+
   if (mode == HWC2::PowerMode::Off) {
     SetBwLimitHint(false);
   }
@@ -418,6 +445,9 @@
     }
   } else {
     CacheAvrStatus();
+    DisplayConfigFixedInfo fixed_info = {};
+    display_intf_->GetConfig(&fixed_info);
+    bool command_mode = fixed_info.is_cmdmode;
 
     status = CommitStitchLayers();
     if (status != HWC2::Error::None) {
@@ -431,6 +461,11 @@
       PostCommitStitchLayers();
       status = HWCDisplay::PostCommitLayerStack(out_retire_fence);
       SetBwLimitHint(true);
+      display_intf_->GetConfig(&fixed_info);
+      is_cmd_mode_ = fixed_info.is_cmdmode;
+      if (is_cmd_mode_ != command_mode) {
+        SetPartialUpdate(fixed_info);
+      }
     }
   }
 
@@ -823,7 +858,8 @@
     return metadata_refresh_rate_;
   }
 
-  return max_refresh_rate_;
+  DLOGV_IF(kTagClient, "active_refresh_rate_: %d", active_refresh_rate_);
+  return active_refresh_rate_;
 }
 
 void HWCDisplayBuiltIn::SetIdleTimeoutMs(uint32_t timeout_ms) {
diff --git a/composer/hwc_display_builtin.h b/composer/hwc_display_builtin.h
index 9864eeb..fb7e918 100644
--- a/composer/hwc_display_builtin.h
+++ b/composer/hwc_display_builtin.h
@@ -176,6 +176,7 @@
   void PostCommitStitchLayers();
   int GetBwCode(const DisplayConfigVariableInfo &attr);
   void SetBwLimitHint(bool enable);
+  void SetPartialUpdate(DisplayConfigFixedInfo fixed_info);
 
   // SyncTask methods.
   void OnTask(const LayerStitchTaskCode &task_code,
diff --git a/config/display-product.mk b/config/display-product.mk
index 48e3de4..67f0c06 100644
--- a/config/display-product.mk
+++ b/config/display-product.mk
@@ -87,7 +87,8 @@
     vendor.display.disable_rotator_ubwc=1 \
     vendor.display.normal_noc_efficiency_factor=0.85 \
     vendor.display.camera_noc_efficiency_factor=0.70 \
-    vendor.display.disable_layer_stitch=0
+    vendor.display.disable_layer_stitch=0 \
+    vendor.display.secure_preview_buffer_format=420_sp
 endif
 
 ifeq ($(TARGET_BOARD_PLATFORM)$(TARGET_BOARD_SUFFIX),bengal_32go)
@@ -103,6 +104,17 @@
     debug.sf.enable_gl_backpressure=1
 endif
 
+ifeq ($(TARGET_BOARD_PLATFORM),lito)
+PRODUCT_PROPERTY_OVERRIDES += \
+    debug.sf.high_fps_late_sf_phase_offset_ns=-4000000 \
+    debug.sf.high_fps_early_phase_offset_ns=-4000000 \
+    debug.sf.high_fps_early_gl_phase_offset_ns=-4000000 \
+    debug.sf.perf_fps_late_sf_phase_offset_ns=-5000000 \
+    debug.sf.perf_fps_early_phase_offset_ns=-5000000 \
+    debug.sf.perf_fps_early_gl_phase_offset_ns=-5000000 \
+    debug.sf.enable_advanced_sf_phase_offset=1
+endif
+
 ifneq ($(PLATFORM_VERSION), 10)
     PRODUCT_PROPERTY_OVERRIDES +=  vendor.display.enable_async_powermode=0
 endif
diff --git a/config/qdcm_calib_data_default.xml b/config/qdcm_calib_data_default.xml
index af1e1d6..81cd73b 100644
--- a/config/qdcm_calib_data_default.xml
+++ b/config/qdcm_calib_data_default.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" ?>
 <!--
-Copyright (c) 2019, The Linux Foundation. All rights reserved.
+Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are
@@ -29,7 +29,7 @@
 -->
 <Calib_Data>
     <Disp_Modes NumModes="4" DefaultMode="0">
-        <Mode ModeID="0" DisplayID="0" IsDefaultMode="0" IsAppMode="0" Name="native" NumOfFeatures="13" WhitePoint="0" EValue="255" BValue="100" RValue="100" DynamicRange="sdr" ColorGamut="native">
+        <Mode ModeID="0" DisplayID="0" IsDefaultMode="0" IsAppMode="0" Name="native" NumOfFeatures="13" WhitePoint="0" EValue="255" BValue="100" RValue="100" DynamicRange="sdr" ColorGamut="native" PictureQuality="standard" RenderIntent="0">
             <Feature FeatureType="2" Disable="true" DataSize="272">00000000000000000000000000000000000000000000F03F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F03F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F03F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</Feature>
             <Feature FeatureType="3" Disable="true" DataSize="117928">00000000000000000000000031130000000000000000000000000000000000000000000000000000000100000000000000000000000100000000000000000000000200000000000000000000000200000000000000000000000300000000000000000000000300000000000000000000000400000000000000000000000400000000000000000000000500000000000000000000000500000000000000000000000600000000000000000000000600000000000000000000000700000000000000000000000700000000000000000000000800000000000000000000000800000000000000000000000900000000000000000000000900000000000000000000000A00000000000000000000000A00000000000000000000000B00000000000000000000000B00000000000000000000000C00000000000000000000000C00000000000000000000000D00000000000000000000000D00000000000000000000000E00000000000000000000000E00000000000000000000000F00000000000000000000000F00000000000000000000001000000000000000000000001000000000000000000000000000000001000000000000000000000001000000000000000100000001000000000000000100000001000000000000000200000001000000000000000200000001000000000000000300000001000000000000000300000001000000000000000400000001000000000000000400000001000000000000000500000001000000000000000500000001000000000000000600000001000000000000000600000001000000000000000700000001000000000000000700000001000000000000000800000001000000000000000800000001000000000000000900000001000000000000000900000001000000000000000A00000001000000000000000A00000001000000000000000B00000001000000000000000B00000001000000000000000C00000001000000000000000C00000001000000000000000D00000001000000000000000D00000001000000000000000E00000001000000000000000E00000001000000000000000F00000001000000000000000F00000001000000000000001000000001000000000000001000000001000000000000000000000002000000000000000000000002000000000000000100000002000000000000000100000002000000000000000200000002000000000000000200000002000000000000000300000002000000000000000300000002000000000000000400000002000000000000000400000002000000000000000500000002000000000000000500000002000000000000000600000002000000000000000600000002000000000000000700000002000000000000000700000002000000000000000800000002000000000000000800000002000000000000000900000002000000000000000900000002000000000000000A00000002000000000000000A00000002000000000000000B00000002000000000000000B00000002000000000000000C00000002000000000000000C00000002000000000000000D00000002000000000000000D00000002000000000000000E00000002000000000000000E00000002000000000000000F00000002000000000000000F00000002000000000000001000000002000000000000001000000002000000000000000000000003000000000000000000000003000000000000000100000003000000000000000100000003000000000000000200000003000000000000000200000003000000000000000300000003000000000000000300000003000000000000000400000003000000000000000400000003000000000000000500000003000000000000000500000003000000000000000600000003000000000000000600000003000000000000000700000003000000000000000700000003000000000000000800000003000000000000000800000003000000000000000900000003000000000000000900000003000000000000000A00000003000000000000000A00000003000000000000000B00000003000000000000000B00000003000000000000000C00000003000000000000000C00000003000000000000000D00000003000000000000000D00000003000000000000000E00000003000000000000000E00000003000000000000000F00000003000000000000000F00000003000000000000001000000003000000000000001000000003000000000000000000000004000000000000000000000004000000000000000100000004000000000000000100000004000000000000000200000004000000000000000200000004000000000000000300000004000000000000000300000004000000000000000400000004000000000000000400000004000000000000000500000004000000000000000500000004000000000000000600000004000000000000000600000004000000000000000700000004000000000000000700000004000000000000000800000004000000000000000800000004000000000000000900000004000000000000000900000004000000000000000A00000004000000000000000A00000004000000000000000B00000004000000000000000B00000004000000000000000C00000004000000000000000C00000004000000000000000D00000004000000000000000D00000004000000000000000E00000004000000000000000E00000004000000000000000F00000004000000000000000F00000004000000000000001000000004000000000000001000000004000000000000000000000005000000000000000000000005000000000000000100000005000000000000000100000005000000000000000200000005000000000000000200000005000000000000000300000005000000000000000300000005000000000000000400000005000000000000000400000005000000000000000500000005000000000000000500000005000000000000000600000005000000000000000600000005000000000000000700000005000000000000000700000005000000000000000800000005000000000000000800000005000000000000000900000005000000000000000900000005000000000000000A00000005000000000000000A00000005000000000000000B00000005000000000000000B00000005000000000000000C00000005000000000000000C00000005000000000000000D00000005000000000000000D00000005000000000000000E00000005000000000000000E00000005000000000000000F00000005000000000000000F00000005000000000000001000000005000000000000001000000005000000000000000000000006000000000000000000000006000000000000000100000006000000000000000100000006000000000000000200000006000000000000000200000006000000000000000300000006000000000000000300000006000000000000000400000006000000000000000400000006000000000000000500000006000000000000000500000006000000000000000600000006000000000000000600000006000000000000000700000006000000000000000700000006000000000000000800000006000000000000000800000006000000000000000900000006000000000000000900000006000000000000000A00000006000000000000000A00000006000000000000000B00000006000000000000000B00000006000000000000000C00000006000000000000000C00000006000000000000000D00000006000000000000000D00000006000000000000000E00000006000000000000000E00000006000000000000000F00000006000000000000000F00000006000000000000001000000006000000000000001000000006000000000000000000000007000000000000000000000007000000000000000100000007000000000000000100000007000000000000000200000007000000000000000200000007000000000000000300000007000000000000000300000007000000000000000400000007000000000000000400000007000000000000000500000007000000000000000500000007000000000000000600000007000000000000000600000007000000000000000700000007000000000000000700000007000000000000000800000007000000000000000800000007000000000000000900000007000000000000000900000007000000000000000A00000007000000000000000A00000007000000000000000B00000007000000000000000B00000007000000000000000C00000007000000000000000C00000007000000000000000D00000007000000000000000D00000007000000000000000E00000007000000000000000E00000007000000000000000F00000007000000000000000F00000007000000000000001000000007000000000000001000000007000000000000000000000008000000000000000000000008000000000000000100000008000000000000000100000008000000000000000200000008000000000000000200000008000000000000000300000008000000000000000300000008000000000000000400000008000000000000000400000008000000000000000500000008000000000000000500000008000000000000000600000008000000000000000600000008000000000000000700000008000000000000000700000008000000000000000800000008000000000000000800000008000000000000000900000008000000000000000900000008000000000000000A00000008000000000000000A00000008000000000000000B00000008000000000000000B00000008000000000000000C00000008000000000000000C00000008000000000000000D00000008000000000000000D00000008000000000000000E00000008000000000000000E00000008000000000000000F00000008000000000000000F00000008000000000000001000000008000000000000001000000008000000000000000000000009000000000000000000000009000000000000000100000009000000000000000100000009000000000000000200000009000000000000000200000009000000000000000300000009000000000000000300000009000000000000000400000009000000000000000400000009000000000000000500000009000000000000000500000009000000000000000600000009000000000000000600000009000000000000000700000009000000000000000700000009000000000000000800000009000000000000000800000009000000000000000900000009000000000000000900000009000000000000000A00000009000000000000000A00000009000000000000000B00000009000000000000000B00000009000000000000000C00000009000000000000000C00000009000000000000000D00000009000000000000000D00000009000000000000000E00000009000000000000000E00000009000000000000000F00000009000000000000000F0000000900000000000000100000000900000000000000100000000900000000000000000000000A00000000000000000000000A00000000000000010000000A00000000000000010000000A00000000000000020000000A00000000000000020000000A00000000000000030000000A00000000000000030000000A00000000000000040000000A00000000000000040000000A00000000000000050000000A00000000000000050000000A00000000000000060000000A00000000000000060000000A00000000000000070000000A00000000000000070000000A00000000000000080000000A00000000000000080000000A00000000000000090000000A00000000000000090000000A000000000000000A0000000A000000000000000A0000000A000000000000000B0000000A000000000000000B0000000A000000000000000C0000000A000000000000000C0000000A000000000000000D0000000A000000000000000D0000000A000000000000000E0000000A000000000000000E0000000A000000000000000F0000000A000000000000000F0000000A00000000000000100000000A00000000000000100000000A00000000000000000000000B00000000000000000000000B00000000000000010000000B00000000000000010000000B00000000000000020000000B00000000000000020000000B00000000000000030000000B00000000000000030000000B00000000000000040000000B00000000000000040000000B00000000000000050000000B00000000000000050000000B00000000000000060000000B00000000000000060000000B00000000000000070000000B00000000000000070000000B00000000000000080000000B00000000000000080000000B00000000000000090000000B00000000000000090000000B000000000000000A0000000B000000000000000A0000000B000000000000000B0000000B000000000000000B0000000B000000000000000C0000000B000000000000000C0000000B000000000000000D0000000B000000000000000D0000000B000000000000000E0000000B000000000000000E0000000B000000000000000F0000000B000000000000000F0000000B00000000000000100000000B00000000000000100000000B00000000000000000000000C00000000000000000000000C00000000000000010000000C00000000000000010000000C00000000000000020000000C00000000000000020000000C00000000000000030000000C00000000000000030000000C00000000000000040000000C00000000000000040000000C00000000000000050000000C00000000000000050000000C00000000000000060000000C00000000000000060000000C00000000000000070000000C00000000000000070000000C00000000000000080000000C00000000000000080000000C00000000000000090000000C00000000000000090000000C000000000000000A0000000C000000000000000A0000000C000000000000000B0000000C000000000000000B0000000C000000000000000C0000000C000000000000000C0000000C000000000000000D0000000C000000000000000D0000000C000000000000000E0000000C000000000000000E0000000C000000000000000F0000000C000000000000000F0000000C00000000000000100000000C00000000000000100000000C00000000000000000000000D00000000000000000000000D00000000000000010000000D00000000000000010000000D00000000000000020000000D00000000000000020000000D00000000000000030000000D00000000000000030000000D00000000000000040000000D00000000000000040000000D00000000000000050000000D00000000000000050000000D00000000000000060000000D00000000000000060000000D00000000000000070000000D00000000000000070000000D00000000000000080000000D00000000000000080000000D00000000000000090000000D00000000000000090000000D000000000000000A0000000D000000000000000A0000000D000000000000000B0000000D000000000000000B0000000D000000000000000C0000000D000000000000000C0000000D000000000000000D0000000D000000000000000D0000000D000000000000000E0000000D000000000000000E0000000D000000000000000F0000000D000000000000000F0000000D00000000000000100000000D00000000000000100000000D00000000000000000000000E00000000000000000000000E00000000000000010000000E00000000000000010000000E00000000000000020000000E00000000000000020000000E00000000000000030000000E00000000000000030000000E00000000000000040000000E00000000000000040000000E00000000000000050000000E00000000000000050000000E00000000000000060000000E00000000000000060000000E00000000000000070000000E00000000000000070000000E00000000000000080000000E00000000000000080000000E00000000000000090000000E00000000000000090000000E000000000000000A0000000E000000000000000A0000000E000000000000000B0000000E000000000000000B0000000E000000000000000C0000000E000000000000000C0000000E000000000000000D0000000E000000000000000D0000000E000000000000000E0000000E000000000000000E0000000E000000000000000F0000000E000000000000000F0000000E00000000000000100000000E00000000000000100000000E00000000000000000000000F00000000000000000000000F00000000000000010000000F00000000000000010000000F00000000000000020000000F00000000000000020000000F00000000000000030000000F00000000000000030000000F00000000000000040000000F00000000000000040000000F00000000000000050000000F00000000000000050000000F00000000000000060000000F00000000000000060000000F00000000000000070000000F00000000000000070000000F00000000000000080000000F00000000000000080000000F00000000000000090000000F00000000000000090000000F000000000000000A0000000F000000000000000A0000000F000000000000000B0000000F000000000000000B0000000F000000000000000C0000000F000000000000000C0000000F000000000000000D0000000F000000000000000D0000000F000000000000000E0000000F000000000000000E0000000F000000000000000F0000000F000000000000000F0000000F00000000000000100000000F00000000000000100000000F000000000000000000000010000000000000000000000010000000000000000100000010000000000000000100000010000000000000000200000010000000000000000200000010000000000000000300000010000000000000000300000010000000000000000400000010000000000000000400000010000000000000000500000010000000000000000500000010000000000000000600000010000000000000000600000010000000000000000700000010000000000000000700000010000000000000000800000010000000000000000800000010000000000000000900000010000000000000000900000010000000000000000A00000010000000000000000A00000010000000000000000B00000010000000000000000B00000010000000000000000C00000010000000000000000C00000010000000000000000D00000010000000000000000D00000010000000000000000E00000010000000000000000E00000010000000000000000F00000010000000000000000F00000010000000000000001000000010000000000000001000000010000000000000000000000000000000010000000000000000000000010000000100000000000000010000000100000000000000010000000200000000000000010000000200000000000000010000000300000000000000010000000300000000000000010000000400000000000000010000000400000000000000010000000500000000000000010000000500000000000000010000000600000000000000010000000600000000000000010000000700000000000000010000000700000000000000010000000800000000000000010000000800000000000000010000000900000000000000010000000900000000000000010000000A00000000000000010000000A00000000000000010000000B00000000000000010000000B00000000000000010000000C00000000000000010000000C00000000000000010000000D00000000000000010000000D00000000000000010000000E00000000000000010000000E00000000000000010000000F00000000000000010000000F00000000000000010000001000000000000000010000001000000000000000010000000000000001000000010000000000000001000000010000000100000001000000010000000100000001000000010000000200000001000000010000000200000001000000010000000300000001000000010000000300000001000000010000000400000001000000010000000400000001000000010000000500000001000000010000000500000001000000010000000600000001000000010000000600000001000000010000000700000001000000010000000700000001000000010000000800000001000000010000000800000001000000010000000900000001000000010000000900000001000000010000000A00000001000000010000000A00000001000000010000000B00000001000000010000000B00000001000000010000000C00000001000000010000000C00000001000000010000000D00000001000000010000000D00000001000000010000000E00000001000000010000000E00000001000000010000000F00000001000000010000000F00000001000000010000001000000001000000010000001000000001000000010000000000000002000000010000000000000002000000010000000100000002000000010000000100000002000000010000000200000002000000010000000200000002000000010000000300000002000000010000000300000002000000010000000400000002000000010000000400000002000000010000000500000002000000010000000500000002000000010000000600000002000000010000000600000002000000010000000700000002000000010000000700000002000000010000000800000002000000010000000800000002000000010000000900000002000000010000000900000002000000010000000A00000002000000010000000A00000002000000010000000B00000002000000010000000B00000002000000010000000C00000002000000010000000C00000002000000010000000D00000002000000010000000D00000002000000010000000E00000002000000010000000E00000002000000010000000F00000002000000010000000F00000002000000010000001000000002000000010000001000000002000000010000000000000003000000010000000000000003000000010000000100000003000000010000000100000003000000010000000200000003000000010000000200000003000000010000000300000003000000010000000300000003000000010000000400000003000000010000000400000003000000010000000500000003000000010000000500000003000000010000000600000003000000010000000600000003000000010000000700000003000000010000000700000003000000010000000800000003000000010000000800000003000000010000000900000003000000010000000900000003000000010000000A00000003000000010000000A00000003000000010000000B00000003000000010000000B00000003000000010000000C00000003000000010000000C00000003000000010000000D00000003000000010000000D00000003000000010000000E00000003000000010000000E00000003000000010000000F00000003000000010000000F00000003000000010000001000000003000000010000001000000003000000010000000000000004000000010000000000000004000000010000000100000004000000010000000100000004000000010000000200000004000000010000000200000004000000010000000300000004000000010000000300000004000000010000000400000004000000010000000400000004000000010000000500000004000000010000000500000004000000010000000600000004000000010000000600000004000000010000000700000004000000010000000700000004000000010000000800000004000000010000000800000004000000010000000900000004000000010000000900000004000000010000000A00000004000000010000000A00000004000000010000000B00000004000000010000000B00000004000000010000000C00000004000000010000000C00000004000000010000000D00000004000000010000000D00000004000000010000000E00000004000000010000000E00000004000000010000000F00000004000000010000000F00000004000000010000001000000004000000010000001000000004000000010000000000000005000000010000000000000005000000010000000100000005000000010000000100000005000000010000000200000005000000010000000200000005000000010000000300000005000000010000000300000005000000010000000400000005000000010000000400000005000000010000000500000005000000010000000500000005000000010000000600000005000000010000000600000005000000010000000700000005000000010000000700000005000000010000000800000005000000010000000800000005000000010000000900000005000000010000000900000005000000010000000A00000005000000010000000A00000005000000010000000B00000005000000010000000B00000005000000010000000C00000005000000010000000C00000005000000010000000D00000005000000010000000D00000005000000010000000E00000005000000010000000E00000005000000010000000F00000005000000010000000F00000005000000010000001000000005000000010000001000000005000000010000000000000006000000010000000000000006000000010000000100000006000000010000000100000006000000010000000200000006000000010000000200000006000000010000000300000006000000010000000300000006000000010000000400000006000000010000000400000006000000010000000500000006000000010000000500000006000000010000000600000006000000010000000600000006000000010000000700000006000000010000000700000006000000010000000800000006000000010000000800000006000000010000000900000006000000010000000900000006000000010000000A00000006000000010000000A00000006000000010000000B00000006000000010000000B00000006000000010000000C00000006000000010000000C00000006000000010000000D00000006000000010000000D00000006000000010000000E00000006000000010000000E00000006000000010000000F00000006000000010000000F00000006000000010000001000000006000000010000001000000006000000010000000000000007000000010000000000000007000000010000000100000007000000010000000100000007000000010000000200000007000000010000000200000007000000010000000300000007000000010000000300000007000000010000000400000007000000010000000400000007000000010000000500000007000000010000000500000007000000010000000600000007000000010000000600000007000000010000000700000007000000010000000700000007000000010000000800000007000000010000000800000007000000010000000900000007000000010000000900000007000000010000000A00000007000000010000000A00000007000000010000000B00000007000000010000000B00000007000000010000000C00000007000000010000000C00000007000000010000000D00000007000000010000000D00000007000000010000000E00000007000000010000000E00000007000000010000000F00000007000000010000000F00000007000000010000001000000007000000010000001000000007000000010000000000000008000000010000000000000008000000010000000100000008000000010000000100000008000000010000000200000008000000010000000200000008000000010000000300000008000000010000000300000008000000010000000400000008000000010000000400000008000000010000000500000008000000010000000500000008000000010000000600000008000000010000000600000008000000010000000700000008000000010000000700000008000000010000000800000008000000010000000800000008000000010000000900000008000000010000000900000008000000010000000A00000008000000010000000A00000008000000010000000B00000008000000010000000B00000008000000010000000C00000008000000010000000C00000008000000010000000D00000008000000010000000D00000008000000010000000E00000008000000010000000E00000008000000010000000F00000008000000010000000F00000008000000010000001000000008000000010000001000000008000000010000000000000009000000010000000000000009000000010000000100000009000000010000000100000009000000010000000200000009000000010000000200000009000000010000000300000009000000010000000300000009000000010000000400000009000000010000000400000009000000010000000500000009000000010000000500000009000000010000000600000009000000010000000600000009000000010000000700000009000000010000000700000009000000010000000800000009000000010000000800000009000000010000000900000009000000010000000900000009000000010000000A00000009000000010000000A00000009000000010000000B00000009000000010000000B00000009000000010000000C00000009000000010000000C00000009000000010000000D00000009000000010000000D00000009000000010000000E00000009000000010000000E00000009000000010000000F00000009000000010000000F0000000900000001000000100000000900000001000000100000000900000001000000000000000A00000001000000000000000A00000001000000010000000A00000001000000010000000A00000001000000020000000A00000001000000020000000A00000001000000030000000A00000001000000030000000A00000001000000040000000A00000001000000040000000A00000001000000050000000A00000001000000050000000A00000001000000060000000A00000001000000060000000A00000001000000070000000A00000001000000070000000A00000001000000080000000A00000001000000080000000A00000001000000090000000A00000001000000090000000A000000010000000A0000000A000000010000000A0000000A000000010000000B0000000A000000010000000B0000000A000000010000000C0000000A000000010000000C0000000A000000010000000D0000000A000000010000000D0000000A000000010000000E0000000A000000010000000E0000000A000000010000000F0000000A000000010000000F0000000A00000001000000100000000A00000001000000100000000A00000001000000000000000B00000001000000000000000B00000001000000010000000B00000001000000010000000B00000001000000020000000B00000001000000020000000B00000001000000030000000B00000001000000030000000B00000001000000040000000B00000001000000040000000B00000001000000050000000B00000001000000050000000B00000001000000060000000B00000001000000060000000B00000001000000070000000B00000001000000070000000B00000001000000080000000B00000001000000080000000B00000001000000090000000B00000001000000090000000B000000010000000A0000000B000000010000000A0000000B000000010000000B0000000B000000010000000B0000000B000000010000000C0000000B000000010000000C0000000B000000010000000D0000000B000000010000000D0000000B000000010000000E0000000B000000010000000E0000000B000000010000000F0000000B000000010000000F0000000B00000001000000100000000B00000001000000100000000B00000001000000000000000C00000001000000000000000C00000001000000010000000C00000001000000010000000C00000001000000020000000C00000001000000020000000C00000001000000030000000C00000001000000030000000C00000001000000040000000C00000001000000040000000C00000001000000050000000C00000001000000050000000C00000001000000060000000C00000001000000060000000C00000001000000070000000C00000001000000070000000C00000001000000080000000C00000001000000080000000C00000001000000090000000C00000001000000090000000C000000010000000A0000000C000000010000000A0000000C000000010000000B0000000C000000010000000B0000000C000000010000000C0000000C000000010000000C0000000C000000010000000D0000000C000000010000000D0000000C000000010000000E0000000C000000010000000E0000000C000000010000000F0000000C000000010000000F0000000C00000001000000100000000C00000001000000100000000C00000001000000000000000D00000001000000000000000D00000001000000010000000D00000001000000010000000D00000001000000020000000D00000001000000020000000D00000001000000030000000D00000001000000030000000D00000001000000040000000D00000001000000040000000D00000001000000050000000D00000001000000050000000D00000001000000060000000D00000001000000060000000D00000001000000070000000D00000001000000070000000D00000001000000080000000D00000001000000080000000D00000001000000090000000D00000001000000090000000D000000010000000A0000000D000000010000000A0000000D000000010000000B0000000D000000010000000B0000000D000000010000000C0000000D000000010000000C0000000D000000010000000D0000000D000000010000000D0000000D000000010000000E0000000D000000010000000E0000000D000000010000000F0000000D000000010000000F0000000D00000001000000100000000D00000001000000100000000D00000001000000000000000E00000001000000000000000E00000001000000010000000E00000001000000010000000E00000001000000020000000E00000001000000020000000E00000001000000030000000E00000001000000030000000E00000001000000040000000E00000001000000040000000E00000001000000050000000E00000001000000050000000E00000001000000060000000E00000001000000060000000E00000001000000070000000E00000001000000070000000E00000001000000080000000E00000001000000080000000E00000001000000090000000E00000001000000090000000E000000010000000A0000000E000000010000000A0000000E000000010000000B0000000E000000010000000B0000000E000000010000000C0000000E000000010000000C0000000E000000010000000D0000000E000000010000000D0000000E000000010000000E0000000E000000010000000E0000000E000000010000000F0000000E000000010000000F0000000E00000001000000100000000E00000001000000100000000E00000001000000000000000F00000001000000000000000F00000001000000010000000F00000001000000010000000F00000001000000020000000F00000001000000020000000F00000001000000030000000F00000001000000030000000F00000001000000040000000F00000001000000040000000F00000001000000050000000F00000001000000050000000F00000001000000060000000F00000001000000060000000F00000001000000070000000F00000001000000070000000F00000001000000080000000F00000001000000080000000F00000001000000090000000F00000001000000090000000F000000010000000A0000000F000000010000000A0000000F000000010000000B0000000F000000010000000B0000000F000000010000000C0000000F000000010000000C0000000F000000010000000D0000000F000000010000000D0000000F000000010000000E0000000F000000010000000E0000000F000000010000000F0000000F000000010000000F0000000F00000001000000100000000F00000001000000100000000F000000010000000000000010000000010000000000000010000000010000000100000010000000010000000100000010000000010000000200000010000000010000000200000010000000010000000300000010000000010000000300000010000000010000000400000010000000010000000400000010000000010000000500000010000000010000000500000010000000010000000600000010000000010000000600000010000000010000000700000010000000010000000700000010000000010000000800000010000000010000000800000010000000010000000900000010000000010000000900000010000000010000000A00000010000000010000000A00000010000000010000000B00000010000000010000000B00000010000000010000000C00000010000000010000000C00000010000000010000000D00000010000000010000000D00000010000000010000000E00000010000000010000000E00000010000000010000000F00000010000000010000000F00000010000000010000001000000010000000010000001000000010000000010000000000000000000000020000000000000000000000020000000100000000000000020000000100000000000000020000000200000000000000020000000200000000000000020000000300000000000000020000000300000000000000020000000400000000000000020000000400000000000000020000000500000000000000020000000500000000000000020000000600000000000000020000000600000000000000020000000700000000000000020000000700000000000000020000000800000000000000020000000800000000000000020000000900000000000000020000000900000000000000020000000A00000000000000020000000A00000000000000020000000B00000000000000020000000B00000000000000020000000C00000000000000020000000C00000000000000020000000D00000000000000020000000D00000000000000020000000E00000000000000020000000E00000000000000020000000F00000000000000020000000F00000000000000020000001000000000000000020000001000000000000000020000000000000001000000020000000000000001000000020000000100000001000000020000000100000001000000020000000200000001000000020000000200000001000000020000000300000001000000020000000300000001000000020000000400000001000000020000000400000001000000020000000500000001000000020000000500000001000000020000000600000001000000020000000600000001000000020000000700000001000000020000000700000001000000020000000800000001000000020000000800000001000000020000000900000001000000020000000900000001000000020000000A00000001000000020000000A00000001000000020000000B00000001000000020000000B00000001000000020000000C00000001000000020000000C00000001000000020000000D00000001000000020000000D00000001000000020000000E00000001000000020000000E00000001000000020000000F00000001000000020000000F00000001000000020000001000000001000000020000001000000001000000020000000000000002000000020000000000000002000000020000000100000002000000020000000100000002000000020000000200000002000000020000000200000002000000020000000300000002000000020000000300000002000000020000000400000002000000020000000400000002000000020000000500000002000000020000000500000002000000020000000600000002000000020000000600000002000000020000000700000002000000020000000700000002000000020000000800000002000000020000000800000002000000020000000900000002000000020000000900000002000000020000000A00000002000000020000000A00000002000000020000000B00000002000000020000000B00000002000000020000000C00000002000000020000000C00000002000000020000000D00000002000000020000000D00000002000000020000000E00000002000000020000000E00000002000000020000000F00000002000000020000000F00000002000000020000001000000002000000020000001000000002000000020000000000000003000000020000000000000003000000020000000100000003000000020000000100000003000000020000000200000003000000020000000200000003000000020000000300000003000000020000000300000003000000020000000400000003000000020000000400000003000000020000000500000003000000020000000500000003000000020000000600000003000000020000000600000003000000020000000700000003000000020000000700000003000000020000000800000003000000020000000800000003000000020000000900000003000000020000000900000003000000020000000A00000003000000020000000A00000003000000020000000B00000003000000020000000B00000003000000020000000C00000003000000020000000C00000003000000020000000D00000003000000020000000D00000003000000020000000E00000003000000020000000E00000003000000020000000F00000003000000020000000F00000003000000020000001000000003000000020000001000000003000000020000000000000004000000020000000000000004000000020000000100000004000000020000000100000004000000020000000200000004000000020000000200000004000000020000000300000004000000020000000300000004000000020000000400000004000000020000000400000004000000020000000500000004000000020000000500000004000000020000000600000004000000020000000600000004000000020000000700000004000000020000000700000004000000020000000800000004000000020000000800000004000000020000000900000004000000020000000900000004000000020000000A00000004000000020000000A00000004000000020000000B00000004000000020000000B00000004000000020000000C00000004000000020000000C00000004000000020000000D00000004000000020000000D00000004000000020000000E00000004000000020000000E00000004000000020000000F00000004000000020000000F00000004000000020000001000000004000000020000001000000004000000020000000000000005000000020000000000000005000000020000000100000005000000020000000100000005000000020000000200000005000000020000000200000005000000020000000300000005000000020000000300000005000000020000000400000005000000020000000400000005000000020000000500000005000000020000000500000005000000020000000600000005000000020000000600000005000000020000000700000005000000020000000700000005000000020000000800000005000000020000000800000005000000020000000900000005000000020000000900000005000000020000000A00000005000000020000000A00000005000000020000000B00000005000000020000000B00000005000000020000000C00000005000000020000000C00000005000000020000000D00000005000000020000000D00000005000000020000000E00000005000000020000000E00000005000000020000000F00000005000000020000000F00000005000000020000001000000005000000020000001000000005000000020000000000000006000000020000000000000006000000020000000100000006000000020000000100000006000000020000000200000006000000020000000200000006000000020000000300000006000000020000000300000006000000020000000400000006000000020000000400000006000000020000000500000006000000020000000500000006000000020000000600000006000000020000000600000006000000020000000700000006000000020000000700000006000000020000000800000006000000020000000800000006000000020000000900000006000000020000000900000006000000020000000A00000006000000020000000A00000006000000020000000B00000006000000020000000B00000006000000020000000C00000006000000020000000C00000006000000020000000D00000006000000020000000D00000006000000020000000E00000006000000020000000E00000006000000020000000F00000006000000020000000F00000006000000020000001000000006000000020000001000000006000000020000000000000007000000020000000000000007000000020000000100000007000000020000000100000007000000020000000200000007000000020000000200000007000000020000000300000007000000020000000300000007000000020000000400000007000000020000000400000007000000020000000500000007000000020000000500000007000000020000000600000007000000020000000600000007000000020000000700000007000000020000000700000007000000020000000800000007000000020000000800000007000000020000000900000007000000020000000900000007000000020000000A00000007000000020000000A00000007000000020000000B00000007000000020000000B00000007000000020000000C00000007000000020000000C00000007000000020000000D00000007000000020000000D00000007000000020000000E00000007000000020000000E00000007000000020000000F00000007000000020000000F00000007000000020000001000000007000000020000001000000007000000020000000000000008000000020000000000000008000000020000000100000008000000020000000100000008000000020000000200000008000000020000000200000008000000020000000300000008000000020000000300000008000000020000000400000008000000020000000400000008000000020000000500000008000000020000000500000008000000020000000600000008000000020000000600000008000000020000000700000008000000020000000700000008000000020000000800000008000000020000000800000008000000020000000900000008000000020000000900000008000000020000000A00000008000000020000000A00000008000000020000000B00000008000000020000000B00000008000000020000000C00000008000000020000000C00000008000000020000000D00000008000000020000000D00000008000000020000000E00000008000000020000000E00000008000000020000000F00000008000000020000000F00000008000000020000001000000008000000020000001000000008000000020000000000000009000000020000000000000009000000020000000100000009000000020000000100000009000000020000000200000009000000020000000200000009000000020000000300000009000000020000000300000009000000020000000400000009000000020000000400000009000000020000000500000009000000020000000500000009000000020000000600000009000000020000000600000009000000020000000700000009000000020000000700000009000000020000000800000009000000020000000800000009000000020000000900000009000000020000000900000009000000020000000A00000009000000020000000A00000009000000020000000B00000009000000020000000B00000009000000020000000C00000009000000020000000C00000009000000020000000D00000009000000020000000D00000009000000020000000E00000009000000020000000E00000009000000020000000F00000009000000020000000F0000000900000002000000100000000900000002000000100000000900000002000000000000000A00000002000000000000000A00000002000000010000000A00000002000000010000000A00000002000000020000000A00000002000000020000000A00000002000000030000000A00000002000000030000000A00000002000000040000000A00000002000000040000000A00000002000000050000000A00000002000000050000000A00000002000000060000000A00000002000000060000000A00000002000000070000000A00000002000000070000000A00000002000000080000000A00000002000000080000000A00000002000000090000000A00000002000000090000000A000000020000000A0000000A000000020000000A0000000A000000020000000B0000000A000000020000000B0000000A000000020000000C0000000A000000020000000C0000000A000000020000000D0000000A000000020000000D0000000A000000020000000E0000000A000000020000000E0000000A000000020000000F0000000A000000020000000F0000000A00000002000000100000000A00000002000000100000000A00000002000000000000000B00000002000000000000000B00000002000000010000000B00000002000000010000000B00000002000000020000000B00000002000000020000000B00000002000000030000000B00000002000000030000000B00000002000000040000000B00000002000000040000000B00000002000000050000000B00000002000000050000000B00000002000000060000000B00000002000000060000000B00000002000000070000000B00000002000000070000000B00000002000000080000000B00000002000000080000000B00000002000000090000000B00000002000000090000000B000000020000000A0000000B000000020000000A0000000B000000020000000B0000000B000000020000000B0000000B000000020000000C0000000B000000020000000C0000000B000000020000000D0000000B000000020000000D0000000B000000020000000E0000000B000000020000000E0000000B000000020000000F0000000B000000020000000F0000000B00000002000000100000000B00000002000000100000000B00000002000000000000000C00000002000000000000000C00000002000000010000000C00000002000000010000000C00000002000000020000000C00000002000000020000000C00000002000000030000000C00000002000000030000000C00000002000000040000000C00000002000000040000000C00000002000000050000000C00000002000000050000000C00000002000000060000000C00000002000000060000000C00000002000000070000000C00000002000000070000000C00000002000000080000000C00000002000000080000000C00000002000000090000000C00000002000000090000000C000000020000000A0000000C000000020000000A0000000C000000020000000B0000000C000000020000000B0000000C000000020000000C0000000C000000020000000C0000000C000000020000000D0000000C000000020000000D0000000C000000020000000E0000000C000000020000000E0000000C000000020000000F0000000C000000020000000F0000000C00000002000000100000000C00000002000000100000000C00000002000000000000000D00000002000000000000000D00000002000000010000000D00000002000000010000000D00000002000000020000000D00000002000000020000000D00000002000000030000000D00000002000000030000000D00000002000000040000000D00000002000000040000000D00000002000000050000000D00000002000000050000000D00000002000000060000000D00000002000000060000000D00000002000000070000000D00000002000000070000000D00000002000000080000000D00000002000000080000000D00000002000000090000000D00000002000000090000000D000000020000000A0000000D000000020000000A0000000D000000020000000B0000000D000000020000000B0000000D000000020000000C0000000D000000020000000C0000000D000000020000000D0000000D000000020000000D0000000D000000020000000E0000000D000000020000000E0000000D000000020000000F0000000D000000020000000F0000000D00000002000000100000000D00000002000000100000000D00000002000000000000000E00000002000000000000000E00000002000000010000000E00000002000000010000000E00000002000000020000000E00000002000000020000000E00000002000000030000000E00000002000000030000000E00000002000000040000000E00000002000000040000000E00000002000000050000000E00000002000000050000000E00000002000000060000000E00000002000000060000000E00000002000000070000000E00000002000000070000000E00000002000000080000000E00000002000000080000000E00000002000000090000000E00000002000000090000000E000000020000000A0000000E000000020000000A0000000E000000020000000B0000000E000000020000000B0000000E000000020000000C0000000E000000020000000C0000000E000000020000000D0000000E000000020000000D0000000E000000020000000E0000000E000000020000000E0000000E000000020000000F0000000E000000020000000F0000000E00000002000000100000000E00000002000000100000000E00000002000000000000000F00000002000000000000000F00000002000000010000000F00000002000000010000000F00000002000000020000000F00000002000000020000000F00000002000000030000000F00000002000000030000000F00000002000000040000000F00000002000000040000000F00000002000000050000000F00000002000000050000000F00000002000000060000000F00000002000000060000000F00000002000000070000000F00000002000000070000000F00000002000000080000000F00000002000000080000000F00000002000000090000000F00000002000000090000000F000000020000000A0000000F000000020000000A0000000F000000020000000B0000000F000000020000000B0000000F000000020000000C0000000F000000020000000C0000000F000000020000000D0000000F000000020000000D0000000F000000020000000E0000000F000000020000000E0000000F000000020000000F0000000F000000020000000F0000000F00000002000000100000000F00000002000000100000000F000000020000000000000010000000020000000000000010000000020000000100000010000000020000000100000010000000020000000200000010000000020000000200000010000000020000000300000010000000020000000300000010000000020000000400000010000000020000000400000010000000020000000500000010000000020000000500000010000000020000000600000010000000020000000600000010000000020000000700000010000000020000000700000010000000020000000800000010000000020000000800000010000000020000000900000010000000020000000900000010000000020000000A00000010000000020000000A00000010000000020000000B00000010000000020000000B00000010000000020000000C00000010000000020000000C00000010000000020000000D00000010000000020000000D00000010000000020000000E00000010000000020000000E00000010000000020000000F00000010000000020000000F00000010000000020000001000000010000000020000001000000010000000020000000000000000000000030000000000000000000000030000000100000000000000030000000100000000000000030000000200000000000000030000000200000000000000030000000300000000000000030000000300000000000000030000000400000000000000030000000400000000000000030000000500000000000000030000000500000000000000030000000600000000000000030000000600000000000000030000000700000000000000030000000700000000000000030000000800000000000000030000000800000000000000030000000900000000000000030000000900000000000000030000000A00000000000000030000000A00000000000000030000000B00000000000000030000000B00000000000000030000000C00000000000000030000000C00000000000000030000000D00000000000000030000000D00000000000000030000000E00000000000000030000000E00000000000000030000000F00000000000000030000000F00000000000000030000001000000000000000030000001000000000000000030000000000000001000000030000000000000001000000030000000100000001000000030000000100000001000000030000000200000001000000030000000200000001000000030000000300000001000000030000000300000001000000030000000400000001000000030000000400000001000000030000000500000001000000030000000500000001000000030000000600000001000000030000000600000001000000030000000700000001000000030000000700000001000000030000000800000001000000030000000800000001000000030000000900000001000000030000000900000001000000030000000A00000001000000030000000A00000001000000030000000B00000001000000030000000B00000001000000030000000C00000001000000030000000C00000001000000030000000D00000001000000030000000D00000001000000030000000E00000001000000030000000E00000001000000030000000F00000001000000030000000F00000001000000030000001000000001000000030000001000000001000000030000000000000002000000030000000000000002000000030000000100000002000000030000000100000002000000030000000200000002000000030000000200000002000000030000000300000002000000030000000300000002000000030000000400000002000000030000000400000002000000030000000500000002000000030000000500000002000000030000000600000002000000030000000600000002000000030000000700000002000000030000000700000002000000030000000800000002000000030000000800000002000000030000000900000002000000030000000900000002000000030000000A00000002000000030000000A00000002000000030000000B00000002000000030000000B00000002000000030000000C00000002000000030000000C00000002000000030000000D00000002000000030000000D00000002000000030000000E00000002000000030000000E00000002000000030000000F00000002000000030000000F00000002000000030000001000000002000000030000001000000002000000030000000000000003000000030000000000000003000000030000000100000003000000030000000100000003000000030000000200000003000000030000000200000003000000030000000300000003000000030000000300000003000000030000000400000003000000030000000400000003000000030000000500000003000000030000000500000003000000030000000600000003000000030000000600000003000000030000000700000003000000030000000700000003000000030000000800000003000000030000000800000003000000030000000900000003000000030000000900000003000000030000000A00000003000000030000000A00000003000000030000000B00000003000000030000000B00000003000000030000000C00000003000000030000000C00000003000000030000000D00000003000000030000000D00000003000000030000000E00000003000000030000000E00000003000000030000000F00000003000000030000000F00000003000000030000001000000003000000030000001000000003000000030000000000000004000000030000000000000004000000030000000100000004000000030000000100000004000000030000000200000004000000030000000200000004000000030000000300000004000000030000000300000004000000030000000400000004000000030000000400000004000000030000000500000004000000030000000500000004000000030000000600000004000000030000000600000004000000030000000700000004000000030000000700000004000000030000000800000004000000030000000800000004000000030000000900000004000000030000000900000004000000030000000A00000004000000030000000A00000004000000030000000B00000004000000030000000B00000004000000030000000C00000004000000030000000C00000004000000030000000D00000004000000030000000D00000004000000030000000E00000004000000030000000E00000004000000030000000F00000004000000030000000F00000004000000030000001000000004000000030000001000000004000000030000000000000005000000030000000000000005000000030000000100000005000000030000000100000005000000030000000200000005000000030000000200000005000000030000000300000005000000030000000300000005000000030000000400000005000000030000000400000005000000030000000500000005000000030000000500000005000000030000000600000005000000030000000600000005000000030000000700000005000000030000000700000005000000030000000800000005000000030000000800000005000000030000000900000005000000030000000900000005000000030000000A00000005000000030000000A00000005000000030000000B00000005000000030000000B00000005000000030000000C00000005000000030000000C00000005000000030000000D00000005000000030000000D00000005000000030000000E00000005000000030000000E00000005000000030000000F00000005000000030000000F00000005000000030000001000000005000000030000001000000005000000030000000000000006000000030000000000000006000000030000000100000006000000030000000100000006000000030000000200000006000000030000000200000006000000030000000300000006000000030000000300000006000000030000000400000006000000030000000400000006000000030000000500000006000000030000000500000006000000030000000600000006000000030000000600000006000000030000000700000006000000030000000700000006000000030000000800000006000000030000000800000006000000030000000900000006000000030000000900000006000000030000000A00000006000000030000000A00000006000000030000000B00000006000000030000000B00000006000000030000000C00000006000000030000000C00000006000000030000000D00000006000000030000000D00000006000000030000000E00000006000000030000000E00000006000000030000000F00000006000000030000000F00000006000000030000001000000006000000030000001000000006000000030000000000000007000000030000000000000007000000030000000100000007000000030000000100000007000000030000000200000007000000030000000200000007000000030000000300000007000000030000000300000007000000030000000400000007000000030000000400000007000000030000000500000007000000030000000500000007000000030000000600000007000000030000000600000007000000030000000700000007000000030000000700000007000000030000000800000007000000030000000800000007000000030000000900000007000000030000000900000007000000030000000A00000007000000030000000A00000007000000030000000B00000007000000030000000B00000007000000030000000C00000007000000030000000C00000007000000030000000D00000007000000030000000D00000007000000030000000E00000007000000030000000E00000007000000030000000F00000007000000030000000F00000007000000030000001000000007000000030000001000000007000000030000000000000008000000030000000000000008000000030000000100000008000000030000000100000008000000030000000200000008000000030000000200000008000000030000000300000008000000030000000300000008000000030000000400000008000000030000000400000008000000030000000500000008000000030000000500000008000000030000000600000008000000030000000600000008000000030000000700000008000000030000000700000008000000030000000800000008000000030000000800000008000000030000000900000008000000030000000900000008000000030000000A00000008000000030000000A00000008000000030000000B00000008000000030000000B00000008000000030000000C00000008000000030000000C00000008000000030000000D00000008000000030000000D00000008000000030000000E00000008000000030000000E00000008000000030000000F00000008000000030000000F00000008000000030000001000000008000000030000001000000008000000030000000000000009000000030000000000000009000000030000000100000009000000030000000100000009000000030000000200000009000000030000000200000009000000030000000300000009000000030000000300000009000000030000000400000009000000030000000400000009000000030000000500000009000000030000000500000009000000030000000600000009000000030000000600000009000000030000000700000009000000030000000700000009000000030000000800000009000000030000000800000009000000030000000900000009000000030000000900000009000000030000000A00000009000000030000000A00000009000000030000000B00000009000000030000000B00000009000000030000000C00000009000000030000000C00000009000000030000000D00000009000000030000000D00000009000000030000000E00000009000000030000000E00000009000000030000000F00000009000000030000000F0000000900000003000000100000000900000003000000100000000900000003000000000000000A00000003000000000000000A00000003000000010000000A00000003000000010000000A00000003000000020000000A00000003000000020000000A00000003000000030000000A00000003000000030000000A00000003000000040000000A00000003000000040000000A00000003000000050000000A00000003000000050000000A00000003000000060000000A00000003000000060000000A00000003000000070000000A00000003000000070000000A00000003000000080000000A00000003000000080000000A00000003000000090000000A00000003000000090000000A000000030000000A0000000A000000030000000A0000000A000000030000000B0000000A000000030000000B0000000A000000030000000C0000000A000000030000000C0000000A000000030000000D0000000A000000030000000D0000000A000000030000000E0000000A000000030000000E0000000A000000030000000F0000000A000000030000000F0000000A00000003000000100000000A00000003000000100000000A00000003000000000000000B00000003000000000000000B00000003000000010000000B00000003000000010000000B00000003000000020000000B00000003000000020000000B00000003000000030000000B00000003000000030000000B00000003000000040000000B00000003000000040000000B00000003000000050000000B00000003000000050000000B00000003000000060000000B00000003000000060000000B00000003000000070000000B00000003000000070000000B00000003000000080000000B00000003000000080000000B00000003000000090000000B00000003000000090000000B000000030000000A0000000B000000030000000A0000000B000000030000000B0000000B000000030000000B0000000B000000030000000C0000000B000000030000000C0000000B000000030000000D0000000B000000030000000D0000000B000000030000000E0000000B000000030000000E0000000B000000030000000F0000000B000000030000000F0000000B00000003000000100000000B00000003000000100000000B00000003000000000000000C00000003000000000000000C00000003000000010000000C00000003000000010000000C00000003000000020000000C00000003000000020000000C00000003000000030000000C00000003000000030000000C00000003000000040000000C00000003000000040000000C00000003000000050000000C00000003000000050000000C00000003000000060000000C00000003000000060000000C00000003000000070000000C00000003000000070000000C00000003000000080000000C00000003000000080000000C00000003000000090000000C00000003000000090000000C000000030000000A0000000C000000030000000A0000000C000000030000000B0000000C000000030000000B0000000C000000030000000C0000000C000000030000000C0000000C000000030000000D0000000C000000030000000D0000000C000000030000000E0000000C000000030000000E0000000C000000030000000F0000000C000000030000000F0000000C00000003000000100000000C00000003000000100000000C00000003000000000000000D00000003000000000000000D00000003000000010000000D00000003000000010000000D00000003000000020000000D00000003000000020000000D00000003000000030000000D00000003000000030000000D00000003000000040000000D00000003000000040000000D00000003000000050000000D00000003000000050000000D00000003000000060000000D00000003000000060000000D00000003000000070000000D00000003000000070000000D00000003000000080000000D00000003000000080000000D00000003000000090000000D00000003000000090000000D000000030000000A0000000D000000030000000A0000000D000000030000000B0000000D000000030000000B0000000D000000030000000C0000000D000000030000000C0000000D000000030000000D0000000D000000030000000D0000000D000000030000000E0000000D000000030000000E0000000D000000030000000F0000000D000000030000000F0000000D00000003000000100000000D00000003000000100000000D00000003000000000000000E00000003000000000000000E00000003000000010000000E00000003000000010000000E00000003000000020000000E00000003000000020000000E00000003000000030000000E00000003000000030000000E00000003000000040000000E00000003000000040000000E00000003000000050000000E00000003000000050000000E00000003000000060000000E00000003000000060000000E00000003000000070000000E00000003000000070000000E00000003000000080000000E00000003000000080000000E00000003000000090000000E00000003000000090000000E000000030000000A0000000E000000030000000A0000000E000000030000000B0000000E000000030000000B0000000E000000030000000C0000000E000000030000000C0000000E000000030000000D0000000E000000030000000D0000000E000000030000000E0000000E000000030000000E0000000E000000030000000F0000000E000000030000000F0000000E00000003000000100000000E00000003000000100000000E00000003000000000000000F00000003000000000000000F00000003000000010000000F00000003000000010000000F00000003000000020000000F00000003000000020000000F00000003000000030000000F00000003000000030000000F00000003000000040000000F00000003000000040000000F00000003000000050000000F00000003000000050000000F00000003000000060000000F00000003000000060000000F00000003000000070000000F00000003000000070000000F00000003000000080000000F00000003000000080000000F00000003000000090000000F00000003000000090000000F000000030000000A0000000F000000030000000A0000000F000000030000000B0000000F000000030000000B0000000F000000030000000C0000000F000000030000000C0000000F000000030000000D0000000F000000030000000D0000000F000000030000000E0000000F000000030000000E0000000F000000030000000F0000000F000000030000000F0000000F00000003000000100000000F00000003000000100000000F000000030000000000000010000000030000000000000010000000030000000100000010000000030000000100000010000000030000000200000010000000030000000200000010000000030000000300000010000000030000000300000010000000030000000400000010000000030000000400000010000000030000000500000010000000030000000500000010000000030000000600000010000000030000000600000010000000030000000700000010000000030000000700000010000000030000000800000010000000030000000800000010000000030000000900000010000000030000000900000010000000030000000A00000010000000030000000A00000010000000030000000B00000010000000030000000B00000010000000030000000C00000010000000030000000C00000010000000030000000D00000010000000030000000D00000010000000030000000E00000010000000030000000E00000010000000030000000F00000010000000030000000F00000010000000030000001000000010000000030000001000000010000000030000000000000000000000040000000000000000000000040000000100000000000000040000000100000000000000040000000200000000000000040000000200000000000000040000000300000000000000040000000300000000000000040000000400000000000000040000000400000000000000040000000500000000000000040000000500000000000000040000000600000000000000040000000600000000000000040000000700000000000000040000000700000000000000040000000800000000000000040000000800000000000000040000000900000000000000040000000900000000000000040000000A00000000000000040000000A00000000000000040000000B00000000000000040000000B00000000000000040000000C00000000000000040000000C00000000000000040000000D00000000000000040000000D00000000000000040000000E00000000000000040000000E00000000000000040000000F00000000000000040000000F00000000000000040000001000000000000000040000001000000000000000040000000000000001000000040000000000000001000000040000000100000001000000040000000100000001000000040000000200000001000000040000000200000001000000040000000300000001000000040000000300000001000000040000000400000001000000040000000400000001000000040000000500000001000000040000000500000001000000040000000600000001000000040000000600000001000000040000000700000001000000040000000700000001000000040000000800000001000000040000000800000001000000040000000900000001000000040000000900000001000000040000000A00000001000000040000000A00000001000000040000000B00000001000000040000000B00000001000000040000000C00000001000000040000000C00000001000000040000000D00000001000000040000000D00000001000000040000000E00000001000000040000000E00000001000000040000000F00000001000000040000000F00000001000000040000001000000001000000040000001000000001000000040000000000000002000000040000000000000002000000040000000100000002000000040000000100000002000000040000000200000002000000040000000200000002000000040000000300000002000000040000000300000002000000040000000400000002000000040000000400000002000000040000000500000002000000040000000500000002000000040000000600000002000000040000000600000002000000040000000700000002000000040000000700000002000000040000000800000002000000040000000800000002000000040000000900000002000000040000000900000002000000040000000A00000002000000040000000A00000002000000040000000B00000002000000040000000B00000002000000040000000C00000002000000040000000C00000002000000040000000D00000002000000040000000D00000002000000040000000E00000002000000040000000E00000002000000040000000F00000002000000040000000F00000002000000040000001000000002000000040000001000000002000000040000000000000003000000040000000000000003000000040000000100000003000000040000000100000003000000040000000200000003000000040000000200000003000000040000000300000003000000040000000300000003000000040000000400000003000000040000000400000003000000040000000500000003000000040000000500000003000000040000000600000003000000040000000600000003000000040000000700000003000000040000000700000003000000040000000800000003000000040000000800000003000000040000000900000003000000040000000900000003000000040000000A00000003000000040000000A00000003000000040000000B00000003000000040000000B00000003000000040000000C00000003000000040000000C00000003000000040000000D00000003000000040000000D00000003000000040000000E00000003000000040000000E00000003000000040000000F00000003000000040000000F00000003000000040000001000000003000000040000001000000003000000040000000000000004000000040000000000000004000000040000000100000004000000040000000100000004000000040000000200000004000000040000000200000004000000040000000300000004000000040000000300000004000000040000000400000004000000040000000400000004000000040000000500000004000000040000000500000004000000040000000600000004000000040000000600000004000000040000000700000004000000040000000700000004000000040000000800000004000000040000000800000004000000040000000900000004000000040000000900000004000000040000000A00000004000000040000000A00000004000000040000000B00000004000000040000000B00000004000000040000000C00000004000000040000000C00000004000000040000000D00000004000000040000000D00000004000000040000000E00000004000000040000000E00000004000000040000000F00000004000000040000000F00000004000000040000001000000004000000040000001000000004000000040000000000000005000000040000000000000005000000040000000100000005000000040000000100000005000000040000000200000005000000040000000200000005000000040000000300000005000000040000000300000005000000040000000400000005000000040000000400000005000000040000000500000005000000040000000500000005000000040000000600000005000000040000000600000005000000040000000700000005000000040000000700000005000000040000000800000005000000040000000800000005000000040000000900000005000000040000000900000005000000040000000A00000005000000040000000A00000005000000040000000B00000005000000040000000B00000005000000040000000C00000005000000040000000C00000005000000040000000D00000005000000040000000D00000005000000040000000E00000005000000040000000E00000005000000040000000F00000005000000040000000F00000005000000040000001000000005000000040000001000000005000000040000000000000006000000040000000000000006000000040000000100000006000000040000000100000006000000040000000200000006000000040000000200000006000000040000000300000006000000040000000300000006000000040000000400000006000000040000000400000006000000040000000500000006000000040000000500000006000000040000000600000006000000040000000600000006000000040000000700000006000000040000000700000006000000040000000800000006000000040000000800000006000000040000000900000006000000040000000900000006000000040000000A00000006000000040000000A00000006000000040000000B00000006000000040000000B00000006000000040000000C00000006000000040000000C00000006000000040000000D00000006000000040000000D00000006000000040000000E00000006000000040000000E00000006000000040000000F00000006000000040000000F00000006000000040000001000000006000000040000001000000006000000040000000000000007000000040000000000000007000000040000000100000007000000040000000100000007000000040000000200000007000000040000000200000007000000040000000300000007000000040000000300000007000000040000000400000007000000040000000400000007000000040000000500000007000000040000000500000007000000040000000600000007000000040000000600000007000000040000000700000007000000040000000700000007000000040000000800000007000000040000000800000007000000040000000900000007000000040000000900000007000000040000000A00000007000000040000000A00000007000000040000000B00000007000000040000000B00000007000000040000000C00000007000000040000000C00000007000000040000000D00000007000000040000000D00000007000000040000000E00000007000000040000000E00000007000000040000000F00000007000000040000000F00000007000000040000001000000007000000040000001000000007000000040000000000000008000000040000000000000008000000040000000100000008000000040000000100000008000000040000000200000008000000040000000200000008000000040000000300000008000000040000000300000008000000040000000400000008000000040000000400000008000000040000000500000008000000040000000500000008000000040000000600000008000000040000000600000008000000040000000700000008000000040000000700000008000000040000000800000008000000040000000800000008000000040000000900000008000000040000000900000008000000040000000A00000008000000040000000A00000008000000040000000B00000008000000040000000B00000008000000040000000C00000008000000040000000C00000008000000040000000D00000008000000040000000D00000008000000040000000E00000008000000040000000E00000008000000040000000F00000008000000040000000F00000008000000040000001000000008000000040000001000000008000000040000000000000009000000040000000000000009000000040000000100000009000000040000000100000009000000040000000200000009000000040000000200000009000000040000000300000009000000040000000300000009000000040000000400000009000000040000000400000009000000040000000500000009000000040000000500000009000000040000000600000009000000040000000600000009000000040000000700000009000000040000000700000009000000040000000800000009000000040000000800000009000000040000000900000009000000040000000900000009000000040000000A00000009000000040000000A00000009000000040000000B00000009000000040000000B00000009000000040000000C00000009000000040000000C00000009000000040000000D00000009000000040000000D00000009000000040000000E00000009000000040000000E00000009000000040000000F00000009000000040000000F0000000900000004000000100000000900000004000000100000000900000004000000000000000A00000004000000000000000A00000004000000010000000A00000004000000010000000A00000004000000020000000A00000004000000020000000A00000004000000030000000A00000004000000030000000A00000004000000040000000A00000004000000040000000A00000004000000050000000A00000004000000050000000A00000004000000060000000A00000004000000060000000A00000004000000070000000A00000004000000070000000A00000004000000080000000A00000004000000080000000A00000004000000090000000A00000004000000090000000A000000040000000A0000000A000000040000000A0000000A000000040000000B0000000A000000040000000B0000000A000000040000000C0000000A000000040000000C0000000A000000040000000D0000000A000000040000000D0000000A000000040000000E0000000A000000040000000E0000000A000000040000000F0000000A000000040000000F0000000A00000004000000100000000A00000004000000100000000A00000004000000000000000B00000004000000000000000B00000004000000010000000B00000004000000010000000B00000004000000020000000B00000004000000020000000B00000004000000030000000B00000004000000030000000B00000004000000040000000B00000004000000040000000B00000004000000050000000B00000004000000050000000B00000004000000060000000B00000004000000060000000B00000004000000070000000B00000004000000070000000B00000004000000080000000B00000004000000080000000B00000004000000090000000B00000004000000090000000B000000040000000A0000000B000000040000000A0000000B000000040000000B0000000B000000040000000B0000000B000000040000000C0000000B000000040000000C0000000B000000040000000D0000000B000000040000000D0000000B000000040000000E0000000B000000040000000E0000000B000000040000000F0000000B000000040000000F0000000B00000004000000100000000B00000004000000100000000B00000004000000000000000C00000004000000000000000C00000004000000010000000C00000004000000010000000C00000004000000020000000C00000004000000020000000C00000004000000030000000C00000004000000030000000C00000004000000040000000C00000004000000040000000C00000004000000050000000C00000004000000050000000C00000004000000060000000C00000004000000060000000C00000004000000070000000C00000004000000070000000C00000004000000080000000C00000004000000080000000C00000004000000090000000C00000004000000090000000C000000040000000A0000000C000000040000000A0000000C000000040000000B0000000C000000040000000B0000000C000000040000000C0000000C000000040000000C0000000C000000040000000D0000000C000000040000000D0000000C000000040000000E0000000C000000040000000E0000000C000000040000000F0000000C000000040000000F0000000C00000004000000100000000C00000004000000100000000C00000004000000000000000D00000004000000000000000D00000004000000010000000D00000004000000010000000D00000004000000020000000D00000004000000020000000D00000004000000030000000D00000004000000030000000D00000004000000040000000D00000004000000040000000D00000004000000050000000D00000004000000050000000D00000004000000060000000D00000004000000060000000D00000004000000070000000D00000004000000070000000D00000004000000080000000D00000004000000080000000D00000004000000090000000D00000004000000090000000D000000040000000A0000000D000000040000000A0000000D000000040000000B0000000D000000040000000B0000000D000000040000000C0000000D000000040000000C0000000D000000040000000D0000000D000000040000000D0000000D000000040000000E0000000D000000040000000E0000000D000000040000000F0000000D000000040000000F0000000D00000004000000100000000D00000004000000100000000D00000004000000000000000E00000004000000000000000E00000004000000010000000E00000004000000010000000E00000004000000020000000E00000004000000020000000E00000004000000030000000E00000004000000030000000E00000004000000040000000E00000004000000040000000E00000004000000050000000E00000004000000050000000E00000004000000060000000E00000004000000060000000E00000004000000070000000E00000004000000070000000E00000004000000080000000E00000004000000080000000E00000004000000090000000E00000004000000090000000E000000040000000A0000000E000000040000000A0000000E000000040000000B0000000E000000040000000B0000000E000000040000000C0000000E000000040000000C0000000E000000040000000D0000000E000000040000000D0000000E000000040000000E0000000E000000040000000E0000000E000000040000000F0000000E000000040000000F0000000E00000004000000100000000E00000004000000100000000E00000004000000000000000F00000004000000000000000F00000004000000010000000F00000004000000010000000F00000004000000020000000F00000004000000020000000F00000004000000030000000F00000004000000030000000F00000004000000040000000F00000004000000040000000F00000004000000050000000F00000004000000050000000F00000004000000060000000F00000004000000060000000F00000004000000070000000F00000004000000070000000F00000004000000080000000F00000004000000080000000F00000004000000090000000F00000004000000090000000F000000040000000A0000000F000000040000000A0000000F000000040000000B0000000F000000040000000B0000000F000000040000000C0000000F000000040000000C0000000F000000040000000D0000000F000000040000000D0000000F000000040000000E0000000F000000040000000E0000000F000000040000000F0000000F000000040000000F0000000F00000004000000100000000F00000004000000100000000F000000040000000000000010000000040000000000000010000000040000000100000010000000040000000100000010000000040000000200000010000000040000000200000010000000040000000300000010000000040000000300000010000000040000000400000010000000040000000400000010000000040000000500000010000000040000000500000010000000040000000600000010000000040000000600000010000000040000000700000010000000040000000700000010000000040000000800000010000000040000000800000010000000040000000900000010000000040000000900000010000000040000000A00000010000000040000000A00000010000000040000000B00000010000000040000000B00000010000000040000000C00000010000000040000000C00000010000000040000000D00000010000000040000000D00000010000000040000000E00000010000000040000000E00000010000000040000000F00000010000000040000000F00000010000000040000001000000010000000040000001000000010000000040000000000000000000000050000000000000000000000050000000100000000000000050000000100000000000000050000000200000000000000050000000200000000000000050000000300000000000000050000000300000000000000050000000400000000000000050000000400000000000000050000000500000000000000050000000500000000000000050000000600000000000000050000000600000000000000050000000700000000000000050000000700000000000000050000000800000000000000050000000800000000000000050000000900000000000000050000000900000000000000050000000A00000000000000050000000A00000000000000050000000B00000000000000050000000B00000000000000050000000C00000000000000050000000C00000000000000050000000D00000000000000050000000D00000000000000050000000E00000000000000050000000E00000000000000050000000F00000000000000050000000F00000000000000050000001000000000000000050000001000000000000000050000000000000001000000050000000000000001000000050000000100000001000000050000000100000001000000050000000200000001000000050000000200000001000000050000000300000001000000050000000300000001000000050000000400000001000000050000000400000001000000050000000500000001000000050000000500000001000000050000000600000001000000050000000600000001000000050000000700000001000000050000000700000001000000050000000800000001000000050000000800000001000000050000000900000001000000050000000900000001000000050000000A00000001000000050000000A00000001000000050000000B00000001000000050000000B00000001000000050000000C00000001000000050000000C00000001000000050000000D00000001000000050000000D00000001000000050000000E00000001000000050000000E00000001000000050000000F00000001000000050000000F00000001000000050000001000000001000000050000001000000001000000050000000000000002000000050000000000000002000000050000000100000002000000050000000100000002000000050000000200000002000000050000000200000002000000050000000300000002000000050000000300000002000000050000000400000002000000050000000400000002000000050000000500000002000000050000000500000002000000050000000600000002000000050000000600000002000000050000000700000002000000050000000700000002000000050000000800000002000000050000000800000002000000050000000900000002000000050000000900000002000000050000000A00000002000000050000000A00000002000000050000000B00000002000000050000000B00000002000000050000000C00000002000000050000000C00000002000000050000000D00000002000000050000000D00000002000000050000000E00000002000000050000000E00000002000000050000000F00000002000000050000000F00000002000000050000001000000002000000050000001000000002000000050000000000000003000000050000000000000003000000050000000100000003000000050000000100000003000000050000000200000003000000050000000200000003000000050000000300000003000000050000000300000003000000050000000400000003000000050000000400000003000000050000000500000003000000050000000500000003000000050000000600000003000000050000000600000003000000050000000700000003000000050000000700000003000000050000000800000003000000050000000800000003000000050000000900000003000000050000000900000003000000050000000A00000003000000050000000A00000003000000050000000B00000003000000050000000B00000003000000050000000C00000003000000050000000C00000003000000050000000D00000003000000050000000D00000003000000050000000E00000003000000050000000E00000003000000050000000F00000003000000050000000F00000003000000050000001000000003000000050000001000000003000000050000000000000004000000050000000000000004000000050000000100000004000000050000000100000004000000050000000200000004000000050000000200000004000000050000000300000004000000050000000300000004000000050000000400000004000000050000000400000004000000050000000500000004000000050000000500000004000000050000000600000004000000050000000600000004000000050000000700000004000000050000000700000004000000050000000800000004000000050000000800000004000000050000000900000004000000050000000900000004000000050000000A00000004000000050000000A00000004000000050000000B00000004000000050000000B00000004000000050000000C00000004000000050000000C00000004000000050000000D00000004000000050000000D00000004000000050000000E00000004000000050000000E00000004000000050000000F00000004000000050000000F00000004000000050000001000000004000000050000001000000004000000050000000000000005000000050000000000000005000000050000000100000005000000050000000100000005000000050000000200000005000000050000000200000005000000050000000300000005000000050000000300000005000000050000000400000005000000050000000400000005000000050000000500000005000000050000000500000005000000050000000600000005000000050000000600000005000000050000000700000005000000050000000700000005000000050000000800000005000000050000000800000005000000050000000900000005000000050000000900000005000000050000000A00000005000000050000000A00000005000000050000000B00000005000000050000000B00000005000000050000000C00000005000000050000000C00000005000000050000000D00000005000000050000000D00000005000000050000000E00000005000000050000000E00000005000000050000000F00000005000000050000000F00000005000000050000001000000005000000050000001000000005000000050000000000000006000000050000000000000006000000050000000100000006000000050000000100000006000000050000000200000006000000050000000200000006000000050000000300000006000000050000000300000006000000050000000400000006000000050000000400000006000000050000000500000006000000050000000500000006000000050000000600000006000000050000000600000006000000050000000700000006000000050000000700000006000000050000000800000006000000050000000800000006000000050000000900000006000000050000000900000006000000050000000A00000006000000050000000A00000006000000050000000B00000006000000050000000B00000006000000050000000C00000006000000050000000C00000006000000050000000D00000006000000050000000D00000006000000050000000E00000006000000050000000E00000006000000050000000F00000006000000050000000F00000006000000050000001000000006000000050000001000000006000000050000000000000007000000050000000000000007000000050000000100000007000000050000000100000007000000050000000200000007000000050000000200000007000000050000000300000007000000050000000300000007000000050000000400000007000000050000000400000007000000050000000500000007000000050000000500000007000000050000000600000007000000050000000600000007000000050000000700000007000000050000000700000007000000050000000800000007000000050000000800000007000000050000000900000007000000050000000900000007000000050000000A00000007000000050000000A00000007000000050000000B00000007000000050000000B00000007000000050000000C00000007000000050000000C00000007000000050000000D00000007000000050000000D00000007000000050000000E00000007000000050000000E00000007000000050000000F00000007000000050000000F00000007000000050000001000000007000000050000001000000007000000050000000000000008000000050000000000000008000000050000000100000008000000050000000100000008000000050000000200000008000000050000000200000008000000050000000300000008000000050000000300000008000000050000000400000008000000050000000400000008000000050000000500000008000000050000000500000008000000050000000600000008000000050000000600000008000000050000000700000008000000050000000700000008000000050000000800000008000000050000000800000008000000050000000900000008000000050000000900000008000000050000000A00000008000000050000000A00000008000000050000000B00000008000000050000000B00000008000000050000000C00000008000000050000000C00000008000000050000000D00000008000000050000000D00000008000000050000000E00000008000000050000000E00000008000000050000000F00000008000000050000000F00000008000000050000001000000008000000050000001000000008000000050000000000000009000000050000000000000009000000050000000100000009000000050000000100000009000000050000000200000009000000050000000200000009000000050000000300000009000000050000000300000009000000050000000400000009000000050000000400000009000000050000000500000009000000050000000500000009000000050000000600000009000000050000000600000009000000050000000700000009000000050000000700000009000000050000000800000009000000050000000800000009000000050000000900000009000000050000000900000009000000050000000A00000009000000050000000A00000009000000050000000B00000009000000050000000B00000009000000050000000C00000009000000050000000C00000009000000050000000D00000009000000050000000D00000009000000050000000E00000009000000050000000E00000009000000050000000F00000009000000050000000F0000000900000005000000100000000900000005000000100000000900000005000000000000000A00000005000000000000000A00000005000000010000000A00000005000000010000000A00000005000000020000000A00000005000000020000000A00000005000000030000000A00000005000000030000000A00000005000000040000000A00000005000000040000000A00000005000000050000000A00000005000000050000000A00000005000000060000000A00000005000000060000000A00000005000000070000000A00000005000000070000000A00000005000000080000000A00000005000000080000000A00000005000000090000000A00000005000000090000000A000000050000000A0000000A000000050000000A0000000A000000050000000B0000000A000000050000000B0000000A000000050000000C0000000A000000050000000C0000000A000000050000000D0000000A000000050000000D0000000A000000050000000E0000000A000000050000000E0000000A000000050000000F0000000A000000050000000F0000000A00000005000000100000000A00000005000000100000000A00000005000000000000000B00000005000000000000000B00000005000000010000000B00000005000000010000000B00000005000000020000000B00000005000000020000000B00000005000000030000000B00000005000000030000000B00000005000000040000000B00000005000000040000000B00000005000000050000000B00000005000000050000000B00000005000000060000000B00000005000000060000000B00000005000000070000000B00000005000000070000000B00000005000000080000000B00000005000000080000000B00000005000000090000000B00000005000000090000000B000000050000000A0000000B000000050000000A0000000B000000050000000B0000000B000000050000000B0000000B000000050000000C0000000B000000050000000C0000000B000000050000000D0000000B000000050000000D0000000B000000050000000E0000000B000000050000000E0000000B000000050000000F0000000B000000050000000F0000000B00000005000000100000000B00000005000000100000000B00000005000000000000000C00000005000000000000000C00000005000000010000000C00000005000000010000000C00000005000000020000000C00000005000000020000000C00000005000000030000000C00000005000000030000000C00000005000000040000000C00000005000000040000000C00000005000000050000000C00000005000000050000000C00000005000000060000000C00000005000000060000000C00000005000000070000000C00000005000000070000000C00000005000000080000000C00000005000000080000000C00000005000000090000000C00000005000000090000000C000000050000000A0000000C000000050000000A0000000C000000050000000B0000000C000000050000000B0000000C000000050000000C0000000C000000050000000C0000000C000000050000000D0000000C000000050000000D0000000C000000050000000E0000000C000000050000000E0000000C000000050000000F0000000C000000050000000F0000000C00000005000000100000000C00000005000000100000000C00000005000000000000000D00000005000000000000000D00000005000000010000000D00000005000000010000000D00000005000000020000000D00000005000000020000000D00000005000000030000000D00000005000000030000000D00000005000000040000000D00000005000000040000000D00000005000000050000000D00000005000000050000000D00000005000000060000000D00000005000000060000000D00000005000000070000000D00000005000000070000000D00000005000000080000000D00000005000000080000000D00000005000000090000000D00000005000000090000000D000000050000000A0000000D000000050000000A0000000D000000050000000B0000000D000000050000000B0000000D000000050000000C0000000D000000050000000C0000000D000000050000000D0000000D000000050000000D0000000D000000050000000E0000000D000000050000000E0000000D000000050000000F0000000D000000050000000F0000000D00000005000000100000000D00000005000000100000000D00000005000000000000000E00000005000000000000000E00000005000000010000000E00000005000000010000000E00000005000000020000000E00000005000000020000000E00000005000000030000000E00000005000000030000000E00000005000000040000000E00000005000000040000000E00000005000000050000000E00000005000000050000000E00000005000000060000000E00000005000000060000000E00000005000000070000000E00000005000000070000000E00000005000000080000000E00000005000000080000000E00000005000000090000000E00000005000000090000000E000000050000000A0000000E000000050000000A0000000E000000050000000B0000000E000000050000000B0000000E000000050000000C0000000E000000050000000C0000000E000000050000000D0000000E000000050000000D0000000E000000050000000E0000000E000000050000000E0000000E000000050000000F0000000E000000050000000F0000000E00000005000000100000000E00000005000000100000000E00000005000000000000000F00000005000000000000000F00000005000000010000000F00000005000000010000000F00000005000000020000000F00000005000000020000000F00000005000000030000000F00000005000000030000000F00000005000000040000000F00000005000000040000000F00000005000000050000000F00000005000000050000000F00000005000000060000000F00000005000000060000000F00000005000000070000000F00000005000000070000000F00000005000000080000000F00000005000000080000000F00000005000000090000000F00000005000000090000000F000000050000000A0000000F000000050000000A0000000F000000050000000B0000000F000000050000000B0000000F000000050000000C0000000F000000050000000C0000000F000000050000000D0000000F000000050000000D0000000F000000050000000E0000000F000000050000000E0000000F000000050000000F0000000F000000050000000F0000000F00000005000000100000000F00000005000000100000000F000000050000000000000010000000050000000000000010000000050000000100000010000000050000000100000010000000050000000200000010000000050000000200000010000000050000000300000010000000050000000300000010000000050000000400000010000000050000000400000010000000050000000500000010000000050000000500000010000000050000000600000010000000050000000600000010000000050000000700000010000000050000000700000010000000050000000800000010000000050000000800000010000000050000000900000010000000050000000900000010000000050000000A00000010000000050000000A00000010000000050000000B00000010000000050000000B00000010000000050000000C00000010000000050000000C00000010000000050000000D00000010000000050000000D00000010000000050000000E00000010000000050000000E00000010000000050000000F00000010000000050000000F00000010000000050000001000000010000000050000001000000010000000050000000000000000000000060000000000000000000000060000000100000000000000060000000100000000000000060000000200000000000000060000000200000000000000060000000300000000000000060000000300000000000000060000000400000000000000060000000400000000000000060000000500000000000000060000000500000000000000060000000600000000000000060000000600000000000000060000000700000000000000060000000700000000000000060000000800000000000000060000000800000000000000060000000900000000000000060000000900000000000000060000000A00000000000000060000000A00000000000000060000000B00000000000000060000000B00000000000000060000000C00000000000000060000000C00000000000000060000000D00000000000000060000000D00000000000000060000000E00000000000000060000000E00000000000000060000000F00000000000000060000000F00000000000000060000001000000000000000060000001000000000000000060000000000000001000000060000000000000001000000060000000100000001000000060000000100000001000000060000000200000001000000060000000200000001000000060000000300000001000000060000000300000001000000060000000400000001000000060000000400000001000000060000000500000001000000060000000500000001000000060000000600000001000000060000000600000001000000060000000700000001000000060000000700000001000000060000000800000001000000060000000800000001000000060000000900000001000000060000000900000001000000060000000A00000001000000060000000A00000001000000060000000B00000001000000060000000B00000001000000060000000C00000001000000060000000C00000001000000060000000D00000001000000060000000D00000001000000060000000E00000001000000060000000E00000001000000060000000F00000001000000060000000F00000001000000060000001000000001000000060000001000000001000000060000000000000002000000060000000000000002000000060000000100000002000000060000000100000002000000060000000200000002000000060000000200000002000000060000000300000002000000060000000300000002000000060000000400000002000000060000000400000002000000060000000500000002000000060000000500000002000000060000000600000002000000060000000600000002000000060000000700000002000000060000000700000002000000060000000800000002000000060000000800000002000000060000000900000002000000060000000900000002000000060000000A00000002000000060000000A00000002000000060000000B00000002000000060000000B00000002000000060000000C00000002000000060000000C00000002000000060000000D00000002000000060000000D00000002000000060000000E00000002000000060000000E00000002000000060000000F00000002000000060000000F00000002000000060000001000000002000000060000001000000002000000060000000000000003000000060000000000000003000000060000000100000003000000060000000100000003000000060000000200000003000000060000000200000003000000060000000300000003000000060000000300000003000000060000000400000003000000060000000400000003000000060000000500000003000000060000000500000003000000060000000600000003000000060000000600000003000000060000000700000003000000060000000700000003000000060000000800000003000000060000000800000003000000060000000900000003000000060000000900000003000000060000000A00000003000000060000000A00000003000000060000000B00000003000000060000000B00000003000000060000000C00000003000000060000000C00000003000000060000000D00000003000000060000000D00000003000000060000000E00000003000000060000000E00000003000000060000000F00000003000000060000000F00000003000000060000001000000003000000060000001000000003000000060000000000000004000000060000000000000004000000060000000100000004000000060000000100000004000000060000000200000004000000060000000200000004000000060000000300000004000000060000000300000004000000060000000400000004000000060000000400000004000000060000000500000004000000060000000500000004000000060000000600000004000000060000000600000004000000060000000700000004000000060000000700000004000000060000000800000004000000060000000800000004000000060000000900000004000000060000000900000004000000060000000A00000004000000060000000A00000004000000060000000B00000004000000060000000B00000004000000060000000C00000004000000060000000C00000004000000060000000D00000004000000060000000D00000004000000060000000E00000004000000060000000E00000004000000060000000F00000004000000060000000F00000004000000060000001000000004000000060000001000000004000000060000000000000005000000060000000000000005000000060000000100000005000000060000000100000005000000060000000200000005000000060000000200000005000000060000000300000005000000060000000300000005000000060000000400000005000000060000000400000005000000060000000500000005000000060000000500000005000000060000000600000005000000060000000600000005000000060000000700000005000000060000000700000005000000060000000800000005000000060000000800000005000000060000000900000005000000060000000900000005000000060000000A00000005000000060000000A00000005000000060000000B00000005000000060000000B00000005000000060000000C00000005000000060000000C00000005000000060000000D00000005000000060000000D00000005000000060000000E00000005000000060000000E00000005000000060000000F00000005000000060000000F00000005000000060000001000000005000000060000001000000005000000060000000000000006000000060000000000000006000000060000000100000006000000060000000100000006000000060000000200000006000000060000000200000006000000060000000300000006000000060000000300000006000000060000000400000006000000060000000400000006000000060000000500000006000000060000000500000006000000060000000600000006000000060000000600000006000000060000000700000006000000060000000700000006000000060000000800000006000000060000000800000006000000060000000900000006000000060000000900000006000000060000000A00000006000000060000000A00000006000000060000000B00000006000000060000000B00000006000000060000000C00000006000000060000000C00000006000000060000000D00000006000000060000000D00000006000000060000000E00000006000000060000000E00000006000000060000000F00000006000000060000000F00000006000000060000001000000006000000060000001000000006000000060000000000000007000000060000000000000007000000060000000100000007000000060000000100000007000000060000000200000007000000060000000200000007000000060000000300000007000000060000000300000007000000060000000400000007000000060000000400000007000000060000000500000007000000060000000500000007000000060000000600000007000000060000000600000007000000060000000700000007000000060000000700000007000000060000000800000007000000060000000800000007000000060000000900000007000000060000000900000007000000060000000A00000007000000060000000A00000007000000060000000B00000007000000060000000B00000007000000060000000C00000007000000060000000C00000007000000060000000D00000007000000060000000D00000007000000060000000E00000007000000060000000E00000007000000060000000F00000007000000060000000F00000007000000060000001000000007000000060000001000000007000000060000000000000008000000060000000000000008000000060000000100000008000000060000000100000008000000060000000200000008000000060000000200000008000000060000000300000008000000060000000300000008000000060000000400000008000000060000000400000008000000060000000500000008000000060000000500000008000000060000000600000008000000060000000600000008000000060000000700000008000000060000000700000008000000060000000800000008000000060000000800000008000000060000000900000008000000060000000900000008000000060000000A00000008000000060000000A00000008000000060000000B00000008000000060000000B00000008000000060000000C00000008000000060000000C00000008000000060000000D00000008000000060000000D00000008000000060000000E00000008000000060000000E00000008000000060000000F00000008000000060000000F00000008000000060000001000000008000000060000001000000008000000060000000000000009000000060000000000000009000000060000000100000009000000060000000100000009000000060000000200000009000000060000000200000009000000060000000300000009000000060000000300000009000000060000000400000009000000060000000400000009000000060000000500000009000000060000000500000009000000060000000600000009000000060000000600000009000000060000000700000009000000060000000700000009000000060000000800000009000000060000000800000009000000060000000900000009000000060000000900000009000000060000000A00000009000000060000000A00000009000000060000000B00000009000000060000000B00000009000000060000000C00000009000000060000000C00000009000000060000000D00000009000000060000000D00000009000000060000000E00000009000000060000000E00000009000000060000000F00000009000000060000000F0000000900000006000000100000000900000006000000100000000900000006000000000000000A00000006000000000000000A00000006000000010000000A00000006000000010000000A00000006000000020000000A00000006000000020000000A00000006000000030000000A00000006000000030000000A00000006000000040000000A00000006000000040000000A00000006000000050000000A00000006000000050000000A00000006000000060000000A00000006000000060000000A00000006000000070000000A00000006000000070000000A00000006000000080000000A00000006000000080000000A00000006000000090000000A00000006000000090000000A000000060000000A0000000A000000060000000A0000000A000000060000000B0000000A000000060000000B0000000A000000060000000C0000000A000000060000000C0000000A000000060000000D0000000A000000060000000D0000000A000000060000000E0000000A000000060000000E0000000A000000060000000F0000000A000000060000000F0000000A00000006000000100000000A00000006000000100000000A00000006000000000000000B00000006000000000000000B00000006000000010000000B00000006000000010000000B00000006000000020000000B00000006000000020000000B00000006000000030000000B00000006000000030000000B00000006000000040000000B00000006000000040000000B00000006000000050000000B00000006000000050000000B00000006000000060000000B00000006000000060000000B00000006000000070000000B00000006000000070000000B00000006000000080000000B00000006000000080000000B00000006000000090000000B00000006000000090000000B000000060000000A0000000B000000060000000A0000000B000000060000000B0000000B000000060000000B0000000B000000060000000C0000000B000000060000000C0000000B000000060000000D0000000B000000060000000D0000000B000000060000000E0000000B000000060000000E0000000B000000060000000F0000000B000000060000000F0000000B00000006000000100000000B00000006000000100000000B00000006000000000000000C00000006000000000000000C00000006000000010000000C00000006000000010000000C00000006000000020000000C00000006000000020000000C00000006000000030000000C00000006000000030000000C00000006000000040000000C00000006000000040000000C00000006000000050000000C00000006000000050000000C00000006000000060000000C00000006000000060000000C00000006000000070000000C00000006000000070000000C00000006000000080000000C00000006000000080000000C00000006000000090000000C00000006000000090000000C000000060000000A0000000C000000060000000A0000000C000000060000000B0000000C000000060000000B0000000C000000060000000C0000000C000000060000000C0000000C000000060000000D0000000C000000060000000D0000000C000000060000000E0000000C000000060000000E0000000C000000060000000F0000000C000000060000000F0000000C00000006000000100000000C00000006000000100000000C00000006000000000000000D00000006000000000000000D00000006000000010000000D00000006000000010000000D00000006000000020000000D00000006000000020000000D00000006000000030000000D00000006000000030000000D00000006000000040000000D00000006000000040000000D00000006000000050000000D00000006000000050000000D00000006000000060000000D00000006000000060000000D00000006000000070000000D00000006000000070000000D00000006000000080000000D00000006000000080000000D00000006000000090000000D00000006000000090000000D000000060000000A0000000D000000060000000A0000000D000000060000000B0000000D000000060000000B0000000D000000060000000C0000000D000000060000000C0000000D000000060000000D0000000D000000060000000D0000000D000000060000000E0000000D000000060000000E0000000D000000060000000F0000000D000000060000000F0000000D00000006000000100000000D00000006000000100000000D00000006000000000000000E00000006000000000000000E00000006000000010000000E00000006000000010000000E00000006000000020000000E00000006000000020000000E00000006000000030000000E00000006000000030000000E00000006000000040000000E00000006000000040000000E00000006000000050000000E00000006000000050000000E00000006000000060000000E00000006000000060000000E00000006000000070000000E00000006000000070000000E00000006000000080000000E00000006000000080000000E00000006000000090000000E00000006000000090000000E000000060000000A0000000E000000060000000A0000000E000000060000000B0000000E000000060000000B0000000E000000060000000C0000000E000000060000000C0000000E000000060000000D0000000E000000060000000D0000000E000000060000000E0000000E000000060000000E0000000E000000060000000F0000000E000000060000000F0000000E00000006000000100000000E00000006000000100000000E00000006000000000000000F00000006000000000000000F00000006000000010000000F00000006000000010000000F00000006000000020000000F00000006000000020000000F00000006000000030000000F00000006000000030000000F00000006000000040000000F00000006000000040000000F00000006000000050000000F00000006000000050000000F00000006000000060000000F00000006000000060000000F00000006000000070000000F00000006000000070000000F00000006000000080000000F00000006000000080000000F00000006000000090000000F00000006000000090000000F000000060000000A0000000F000000060000000A0000000F000000060000000B0000000F000000060000000B0000000F000000060000000C0000000F000000060000000C0000000F000000060000000D0000000F000000060000000D0000000F000000060000000E0000000F000000060000000E0000000F000000060000000F0000000F000000060000000F0000000F00000006000000100000000F00000006000000100000000F000000060000000000000010000000060000000000000010000000060000000100000010000000060000000100000010000000060000000200000010000000060000000200000010000000060000000300000010000000060000000300000010000000060000000400000010000000060000000400000010000000060000000500000010000000060000000500000010000000060000000600000010000000060000000600000010000000060000000700000010000000060000000700000010000000060000000800000010000000060000000800000010000000060000000900000010000000060000000900000010000000060000000A00000010000000060000000A00000010000000060000000B00000010000000060000000B00000010000000060000000C00000010000000060000000C00000010000000060000000D00000010000000060000000D00000010000000060000000E00000010000000060000000E00000010000000060000000F00000010000000060000000F00000010000000060000001000000010000000060000001000000010000000060000000000000000000000070000000000000000000000070000000100000000000000070000000100000000000000070000000200000000000000070000000200000000000000070000000300000000000000070000000300000000000000070000000400000000000000070000000400000000000000070000000500000000000000070000000500000000000000070000000600000000000000070000000600000000000000070000000700000000000000070000000700000000000000070000000800000000000000070000000800000000000000070000000900000000000000070000000900000000000000070000000A00000000000000070000000A00000000000000070000000B00000000000000070000000B00000000000000070000000C00000000000000070000000C00000000000000070000000D00000000000000070000000D00000000000000070000000E00000000000000070000000E00000000000000070000000F00000000000000070000000F00000000000000070000001000000000000000070000001000000000000000070000000000000001000000070000000000000001000000070000000100000001000000070000000100000001000000070000000200000001000000070000000200000001000000070000000300000001000000070000000300000001000000070000000400000001000000070000000400000001000000070000000500000001000000070000000500000001000000070000000600000001000000070000000600000001000000070000000700000001000000070000000700000001000000070000000800000001000000070000000800000001000000070000000900000001000000070000000900000001000000070000000A00000001000000070000000A00000001000000070000000B00000001000000070000000B00000001000000070000000C00000001000000070000000C00000001000000070000000D00000001000000070000000D00000001000000070000000E00000001000000070000000E00000001000000070000000F00000001000000070000000F00000001000000070000001000000001000000070000001000000001000000070000000000000002000000070000000000000002000000070000000100000002000000070000000100000002000000070000000200000002000000070000000200000002000000070000000300000002000000070000000300000002000000070000000400000002000000070000000400000002000000070000000500000002000000070000000500000002000000070000000600000002000000070000000600000002000000070000000700000002000000070000000700000002000000070000000800000002000000070000000800000002000000070000000900000002000000070000000900000002000000070000000A00000002000000070000000A00000002000000070000000B00000002000000070000000B00000002000000070000000C00000002000000070000000C00000002000000070000000D00000002000000070000000D00000002000000070000000E00000002000000070000000E00000002000000070000000F00000002000000070000000F00000002000000070000001000000002000000070000001000000002000000070000000000000003000000070000000000000003000000070000000100000003000000070000000100000003000000070000000200000003000000070000000200000003000000070000000300000003000000070000000300000003000000070000000400000003000000070000000400000003000000070000000500000003000000070000000500000003000000070000000600000003000000070000000600000003000000070000000700000003000000070000000700000003000000070000000800000003000000070000000800000003000000070000000900000003000000070000000900000003000000070000000A00000003000000070000000A00000003000000070000000B00000003000000070000000B00000003000000070000000C00000003000000070000000C00000003000000070000000D00000003000000070000000D00000003000000070000000E00000003000000070000000E00000003000000070000000F00000003000000070000000F00000003000000070000001000000003000000070000001000000003000000070000000000000004000000070000000000000004000000070000000100000004000000070000000100000004000000070000000200000004000000070000000200000004000000070000000300000004000000070000000300000004000000070000000400000004000000070000000400000004000000070000000500000004000000070000000500000004000000070000000600000004000000070000000600000004000000070000000700000004000000070000000700000004000000070000000800000004000000070000000800000004000000070000000900000004000000070000000900000004000000070000000A00000004000000070000000A00000004000000070000000B00000004000000070000000B00000004000000070000000C00000004000000070000000C00000004000000070000000D00000004000000070000000D00000004000000070000000E00000004000000070000000E00000004000000070000000F00000004000000070000000F00000004000000070000001000000004000000070000001000000004000000070000000000000005000000070000000000000005000000070000000100000005000000070000000100000005000000070000000200000005000000070000000200000005000000070000000300000005000000070000000300000005000000070000000400000005000000070000000400000005000000070000000500000005000000070000000500000005000000070000000600000005000000070000000600000005000000070000000700000005000000070000000700000005000000070000000800000005000000070000000800000005000000070000000900000005000000070000000900000005000000070000000A00000005000000070000000A00000005000000070000000B00000005000000070000000B00000005000000070000000C00000005000000070000000C00000005000000070000000D00000005000000070000000D00000005000000070000000E00000005000000070000000E00000005000000070000000F00000005000000070000000F00000005000000070000001000000005000000070000001000000005000000070000000000000006000000070000000000000006000000070000000100000006000000070000000100000006000000070000000200000006000000070000000200000006000000070000000300000006000000070000000300000006000000070000000400000006000000070000000400000006000000070000000500000006000000070000000500000006000000070000000600000006000000070000000600000006000000070000000700000006000000070000000700000006000000070000000800000006000000070000000800000006000000070000000900000006000000070000000900000006000000070000000A00000006000000070000000A00000006000000070000000B00000006000000070000000B00000006000000070000000C00000006000000070000000C00000006000000070000000D00000006000000070000000D00000006000000070000000E00000006000000070000000E00000006000000070000000F00000006000000070000000F00000006000000070000001000000006000000070000001000000006000000070000000000000007000000070000000000000007000000070000000100000007000000070000000100000007000000070000000200000007000000070000000200000007000000070000000300000007000000070000000300000007000000070000000400000007000000070000000400000007000000070000000500000007000000070000000500000007000000070000000600000007000000070000000600000007000000070000000700000007000000070000000700000007000000070000000800000007000000070000000800000007000000070000000900000007000000070000000900000007000000070000000A00000007000000070000000A00000007000000070000000B00000007000000070000000B00000007000000070000000C00000007000000070000000C00000007000000070000000D00000007000000070000000D00000007000000070000000E00000007000000070000000E00000007000000070000000F00000007000000070000000F00000007000000070000001000000007000000070000001000000007000000070000000000000008000000070000000000000008000000070000000100000008000000070000000100000008000000070000000200000008000000070000000200000008000000070000000300000008000000070000000300000008000000070000000400000008000000070000000400000008000000070000000500000008000000070000000500000008000000070000000600000008000000070000000600000008000000070000000700000008000000070000000700000008000000070000000800000008000000070000000800000008000000070000000900000008000000070000000900000008000000070000000A00000008000000070000000A00000008000000070000000B00000008000000070000000B00000008000000070000000C00000008000000070000000C00000008000000070000000D00000008000000070000000D00000008000000070000000E00000008000000070000000E00000008000000070000000F00000008000000070000000F00000008000000070000001000000008000000070000001000000008000000070000000000000009000000070000000000000009000000070000000100000009000000070000000100000009000000070000000200000009000000070000000200000009000000070000000300000009000000070000000300000009000000070000000400000009000000070000000400000009000000070000000500000009000000070000000500000009000000070000000600000009000000070000000600000009000000070000000700000009000000070000000700000009000000070000000800000009000000070000000800000009000000070000000900000009000000070000000900000009000000070000000A00000009000000070000000A00000009000000070000000B00000009000000070000000B00000009000000070000000C00000009000000070000000C00000009000000070000000D00000009000000070000000D00000009000000070000000E00000009000000070000000E00000009000000070000000F00000009000000070000000F0000000900000007000000100000000900000007000000100000000900000007000000000000000A00000007000000000000000A00000007000000010000000A00000007000000010000000A00000007000000020000000A00000007000000020000000A00000007000000030000000A00000007000000030000000A00000007000000040000000A00000007000000040000000A00000007000000050000000A00000007000000050000000A00000007000000060000000A00000007000000060000000A00000007000000070000000A00000007000000070000000A00000007000000080000000A00000007000000080000000A00000007000000090000000A00000007000000090000000A000000070000000A0000000A000000070000000A0000000A000000070000000B0000000A000000070000000B0000000A000000070000000C0000000A000000070000000C0000000A000000070000000D0000000A000000070000000D0000000A000000070000000E0000000A000000070000000E0000000A000000070000000F0000000A000000070000000F0000000A00000007000000100000000A00000007000000100000000A00000007000000000000000B00000007000000000000000B00000007000000010000000B00000007000000010000000B00000007000000020000000B00000007000000020000000B00000007000000030000000B00000007000000030000000B00000007000000040000000B00000007000000040000000B00000007000000050000000B00000007000000050000000B00000007000000060000000B00000007000000060000000B00000007000000070000000B00000007000000070000000B00000007000000080000000B00000007000000080000000B00000007000000090000000B00000007000000090000000B000000070000000A0000000B000000070000000A0000000B000000070000000B0000000B000000070000000B0000000B000000070000000C0000000B000000070000000C0000000B000000070000000D0000000B000000070000000D0000000B000000070000000E0000000B000000070000000E0000000B000000070000000F0000000B000000070000000F0000000B00000007000000100000000B00000007000000100000000B00000007000000000000000C00000007000000000000000C00000007000000010000000C00000007000000010000000C00000007000000020000000C00000007000000020000000C00000007000000030000000C00000007000000030000000C00000007000000040000000C00000007000000040000000C00000007000000050000000C00000007000000050000000C00000007000000060000000C00000007000000060000000C00000007000000070000000C00000007000000070000000C00000007000000080000000C00000007000000080000000C00000007000000090000000C00000007000000090000000C000000070000000A0000000C000000070000000A0000000C000000070000000B0000000C000000070000000B0000000C000000070000000C0000000C000000070000000C0000000C000000070000000D0000000C000000070000000D0000000C000000070000000E0000000C000000070000000E0000000C000000070000000F0000000C000000070000000F0000000C00000007000000100000000C00000007000000100000000C00000007000000000000000D00000007000000000000000D00000007000000010000000D00000007000000010000000D00000007000000020000000D00000007000000020000000D00000007000000030000000D00000007000000030000000D00000007000000040000000D00000007000000040000000D00000007000000050000000D00000007000000050000000D00000007000000060000000D00000007000000060000000D00000007000000070000000D00000007000000070000000D00000007000000080000000D00000007000000080000000D00000007000000090000000D00000007000000090000000D000000070000000A0000000D000000070000000A0000000D000000070000000B0000000D000000070000000B0000000D000000070000000C0000000D000000070000000C0000000D000000070000000D0000000D000000070000000D0000000D000000070000000E0000000D000000070000000E0000000D000000070000000F0000000D000000070000000F0000000D00000007000000100000000D00000007000000100000000D00000007000000000000000E00000007000000000000000E00000007000000010000000E00000007000000010000000E00000007000000020000000E00000007000000020000000E00000007000000030000000E00000007000000030000000E00000007000000040000000E00000007000000040000000E00000007000000050000000E00000007000000050000000E00000007000000060000000E00000007000000060000000E00000007000000070000000E00000007000000070000000E00000007000000080000000E00000007000000080000000E00000007000000090000000E00000007000000090000000E000000070000000A0000000E000000070000000A0000000E000000070000000B0000000E000000070000000B0000000E000000070000000C0000000E000000070000000C0000000E000000070000000D0000000E000000070000000D0000000E000000070000000E0000000E000000070000000E0000000E000000070000000F0000000E000000070000000F0000000E00000007000000100000000E00000007000000100000000E00000007000000000000000F00000007000000000000000F00000007000000010000000F00000007000000010000000F00000007000000020000000F00000007000000020000000F00000007000000030000000F00000007000000030000000F00000007000000040000000F00000007000000040000000F00000007000000050000000F00000007000000050000000F00000007000000060000000F00000007000000060000000F00000007000000070000000F00000007000000070000000F00000007000000080000000F00000007000000080000000F00000007000000090000000F00000007000000090000000F000000070000000A0000000F000000070000000A0000000F000000070000000B0000000F000000070000000B0000000F000000070000000C0000000F000000070000000C0000000F000000070000000D0000000F000000070000000D0000000F000000070000000E0000000F000000070000000E0000000F000000070000000F0000000F000000070000000F0000000F00000007000000100000000F00000007000000100000000F000000070000000000000010000000070000000000000010000000070000000100000010000000070000000100000010000000070000000200000010000000070000000200000010000000070000000300000010000000070000000300000010000000070000000400000010000000070000000400000010000000070000000500000010000000070000000500000010000000070000000600000010000000070000000600000010000000070000000700000010000000070000000700000010000000070000000800000010000000070000000800000010000000070000000900000010000000070000000900000010000000070000000A00000010000000070000000A00000010000000070000000B00000010000000070000000B00000010000000070000000C00000010000000070000000C00000010000000070000000D00000010000000070000000D00000010000000070000000E00000010000000070000000E00000010000000070000000F00000010000000070000000F00000010000000070000001000000010000000070000001000000010000000070000000000000000000000080000000000000000000000080000000100000000000000080000000100000000000000080000000200000000000000080000000200000000000000080000000300000000000000080000000300000000000000080000000400000000000000080000000400000000000000080000000500000000000000080000000500000000000000080000000600000000000000080000000600000000000000080000000700000000000000080000000700000000000000080000000800000000000000080000000800000000000000080000000900000000000000080000000900000000000000080000000A00000000000000080000000A00000000000000080000000B00000000000000080000000B00000000000000080000000C00000000000000080000000C00000000000000080000000D00000000000000080000000D00000000000000080000000E00000000000000080000000E00000000000000080000000F00000000000000080000000F00000000000000080000001000000000000000080000001000000000000000080000000000000001000000080000000000000001000000080000000100000001000000080000000100000001000000080000000200000001000000080000000200000001000000080000000300000001000000080000000300000001000000080000000400000001000000080000000400000001000000080000000500000001000000080000000500000001000000080000000600000001000000080000000600000001000000080000000700000001000000080000000700000001000000080000000800000001000000080000000800000001000000080000000900000001000000080000000900000001000000080000000A00000001000000080000000A00000001000000080000000B00000001000000080000000B00000001000000080000000C00000001000000080000000C00000001000000080000000D00000001000000080000000D00000001000000080000000E00000001000000080000000E00000001000000080000000F00000001000000080000000F00000001000000080000001000000001000000080000001000000001000000080000000000000002000000080000000000000002000000080000000100000002000000080000000100000002000000080000000200000002000000080000000200000002000000080000000300000002000000080000000300000002000000080000000400000002000000080000000400000002000000080000000500000002000000080000000500000002000000080000000600000002000000080000000600000002000000080000000700000002000000080000000700000002000000080000000800000002000000080000000800000002000000080000000900000002000000080000000900000002000000080000000A00000002000000080000000A00000002000000080000000B00000002000000080000000B00000002000000080000000C00000002000000080000000C00000002000000080000000D00000002000000080000000D00000002000000080000000E00000002000000080000000E00000002000000080000000F00000002000000080000000F00000002000000080000001000000002000000080000001000000002000000080000000000000003000000080000000000000003000000080000000100000003000000080000000100000003000000080000000200000003000000080000000200000003000000080000000300000003000000080000000300000003000000080000000400000003000000080000000400000003000000080000000500000003000000080000000500000003000000080000000600000003000000080000000600000003000000080000000700000003000000080000000700000003000000080000000800000003000000080000000800000003000000080000000900000003000000080000000900000003000000080000000A00000003000000080000000A00000003000000080000000B00000003000000080000000B00000003000000080000000C00000003000000080000000C00000003000000080000000D00000003000000080000000D00000003000000080000000E00000003000000080000000E00000003000000080000000F00000003000000080000000F00000003000000080000001000000003000000080000001000000003000000080000000000000004000000080000000000000004000000080000000100000004000000080000000100000004000000080000000200000004000000080000000200000004000000080000000300000004000000080000000300000004000000080000000400000004000000080000000400000004000000080000000500000004000000080000000500000004000000080000000600000004000000080000000600000004000000080000000700000004000000080000000700000004000000080000000800000004000000080000000800000004000000080000000900000004000000080000000900000004000000080000000A00000004000000080000000A00000004000000080000000B00000004000000080000000B00000004000000080000000C00000004000000080000000C00000004000000080000000D00000004000000080000000D00000004000000080000000E00000004000000080000000E00000004000000080000000F00000004000000080000000F00000004000000080000001000000004000000080000001000000004000000080000000000000005000000080000000000000005000000080000000100000005000000080000000100000005000000080000000200000005000000080000000200000005000000080000000300000005000000080000000300000005000000080000000400000005000000080000000400000005000000080000000500000005000000080000000500000005000000080000000600000005000000080000000600000005000000080000000700000005000000080000000700000005000000080000000800000005000000080000000800000005000000080000000900000005000000080000000900000005000000080000000A00000005000000080000000A00000005000000080000000B00000005000000080000000B00000005000000080000000C00000005000000080000000C00000005000000080000000D00000005000000080000000D00000005000000080000000E00000005000000080000000E00000005000000080000000F00000005000000080000000F00000005000000080000001000000005000000080000001000000005000000080000000000000006000000080000000000000006000000080000000100000006000000080000000100000006000000080000000200000006000000080000000200000006000000080000000300000006000000080000000300000006000000080000000400000006000000080000000400000006000000080000000500000006000000080000000500000006000000080000000600000006000000080000000600000006000000080000000700000006000000080000000700000006000000080000000800000006000000080000000800000006000000080000000900000006000000080000000900000006000000080000000A00000006000000080000000A00000006000000080000000B00000006000000080000000B00000006000000080000000C00000006000000080000000C00000006000000080000000D00000006000000080000000D00000006000000080000000E00000006000000080000000E00000006000000080000000F00000006000000080000000F00000006000000080000001000000006000000080000001000000006000000080000000000000007000000080000000000000007000000080000000100000007000000080000000100000007000000080000000200000007000000080000000200000007000000080000000300000007000000080000000300000007000000080000000400000007000000080000000400000007000000080000000500000007000000080000000500000007000000080000000600000007000000080000000600000007000000080000000700000007000000080000000700000007000000080000000800000007000000080000000800000007000000080000000900000007000000080000000900000007000000080000000A00000007000000080000000A00000007000000080000000B00000007000000080000000B00000007000000080000000C00000007000000080000000C00000007000000080000000D00000007000000080000000D00000007000000080000000E00000007000000080000000E00000007000000080000000F00000007000000080000000F00000007000000080000001000000007000000080000001000000007000000080000000000000008000000080000000000000008000000080000000100000008000000080000000100000008000000080000000200000008000000080000000200000008000000080000000300000008000000080000000300000008000000080000000400000008000000080000000400000008000000080000000500000008000000080000000500000008000000080000000600000008000000080000000600000008000000080000000700000008000000080000000700000008000000080000000800000008000000080000000800000008000000080000000900000008000000080000000900000008000000080000000A00000008000000080000000A00000008000000080000000B00000008000000080000000B00000008000000080000000C00000008000000080000000C00000008000000080000000D00000008000000080000000D00000008000000080000000E00000008000000080000000E00000008000000080000000F00000008000000080000000F00000008000000080000001000000008000000080000001000000008000000080000000000000009000000080000000000000009000000080000000100000009000000080000000100000009000000080000000200000009000000080000000200000009000000080000000300000009000000080000000300000009000000080000000400000009000000080000000400000009000000080000000500000009000000080000000500000009000000080000000600000009000000080000000600000009000000080000000700000009000000080000000700000009000000080000000800000009000000080000000800000009000000080000000900000009000000080000000900000009000000080000000A00000009000000080000000A00000009000000080000000B00000009000000080000000B00000009000000080000000C00000009000000080000000C00000009000000080000000D00000009000000080000000D00000009000000080000000E00000009000000080000000E00000009000000080000000F00000009000000080000000F0000000900000008000000100000000900000008000000100000000900000008000000000000000A00000008000000000000000A00000008000000010000000A00000008000000010000000A00000008000000020000000A00000008000000020000000A00000008000000030000000A00000008000000030000000A00000008000000040000000A00000008000000040000000A00000008000000050000000A00000008000000050000000A00000008000000060000000A00000008000000060000000A00000008000000070000000A00000008000000070000000A00000008000000080000000A00000008000000080000000A00000008000000090000000A00000008000000090000000A000000080000000A0000000A000000080000000A0000000A000000080000000B0000000A000000080000000B0000000A000000080000000C0000000A000000080000000C0000000A000000080000000D0000000A000000080000000D0000000A000000080000000E0000000A000000080000000E0000000A000000080000000F0000000A000000080000000F0000000A00000008000000100000000A00000008000000100000000A00000008000000000000000B00000008000000000000000B00000008000000010000000B00000008000000010000000B00000008000000020000000B00000008000000020000000B00000008000000030000000B00000008000000030000000B00000008000000040000000B00000008000000040000000B00000008000000050000000B00000008000000050000000B00000008000000060000000B00000008000000060000000B00000008000000070000000B00000008000000070000000B00000008000000080000000B00000008000000080000000B00000008000000090000000B00000008000000090000000B000000080000000A0000000B000000080000000A0000000B000000080000000B0000000B000000080000000B0000000B000000080000000C0000000B000000080000000C0000000B000000080000000D0000000B000000080000000D0000000B000000080000000E0000000B000000080000000E0000000B000000080000000F0000000B000000080000000F0000000B00000008000000100000000B00000008000000100000000B00000008000000000000000C00000008000000000000000C00000008000000010000000C00000008000000010000000C00000008000000020000000C00000008000000020000000C00000008000000030000000C00000008000000030000000C00000008000000040000000C00000008000000040000000C00000008000000050000000C00000008000000050000000C00000008000000060000000C00000008000000060000000C00000008000000070000000C00000008000000070000000C00000008000000080000000C00000008000000080000000C00000008000000090000000C00000008000000090000000C000000080000000A0000000C000000080000000A0000000C000000080000000B0000000C000000080000000B0000000C000000080000000C0000000C000000080000000C0000000C000000080000000D0000000C000000080000000D0000000C000000080000000E0000000C000000080000000E0000000C000000080000000F0000000C000000080000000F0000000C00000008000000100000000C00000008000000100000000C00000008000000000000000D00000008000000000000000D00000008000000010000000D00000008000000010000000D00000008000000020000000D00000008000000020000000D00000008000000030000000D00000008000000030000000D00000008000000040000000D00000008000000040000000D00000008000000050000000D00000008000000050000000D00000008000000060000000D00000008000000060000000D00000008000000070000000D00000008000000070000000D00000008000000080000000D00000008000000080000000D00000008000000090000000D00000008000000090000000D000000080000000A0000000D000000080000000A0000000D000000080000000B0000000D000000080000000B0000000D000000080000000C0000000D000000080000000C0000000D000000080000000D0000000D000000080000000D0000000D000000080000000E0000000D000000080000000E0000000D000000080000000F0000000D000000080000000F0000000D00000008000000100000000D00000008000000100000000D00000008000000000000000E00000008000000000000000E00000008000000010000000E00000008000000010000000E00000008000000020000000E00000008000000020000000E00000008000000030000000E00000008000000030000000E00000008000000040000000E00000008000000040000000E00000008000000050000000E00000008000000050000000E00000008000000060000000E00000008000000060000000E00000008000000070000000E00000008000000070000000E00000008000000080000000E00000008000000080000000E00000008000000090000000E00000008000000090000000E000000080000000A0000000E000000080000000A0000000E000000080000000B0000000E000000080000000B0000000E000000080000000C0000000E000000080000000C0000000E000000080000000D0000000E000000080000000D0000000E000000080000000E0000000E000000080000000E0000000E000000080000000F0000000E000000080000000F0000000E00000008000000100000000E00000008000000100000000E00000008000000000000000F00000008000000000000000F00000008000000010000000F00000008000000010000000F00000008000000020000000F00000008000000020000000F00000008000000030000000F00000008000000030000000F00000008000000040000000F00000008000000040000000F00000008000000050000000F00000008000000050000000F00000008000000060000000F00000008000000060000000F00000008000000070000000F00000008000000070000000F00000008000000080000000F00000008000000080000000F00000008000000090000000F00000008000000090000000F000000080000000A0000000F000000080000000A0000000F000000080000000B0000000F000000080000000B0000000F000000080000000C0000000F000000080000000C0000000F000000080000000D0000000F000000080000000D0000000F000000080000000E0000000F000000080000000E0000000F000000080000000F0000000F000000080000000F0000000F00000008000000100000000F00000008000000100000000F000000080000000000000010000000080000000000000010000000080000000100000010000000080000000100000010000000080000000200000010000000080000000200000010000000080000000300000010000000080000000300000010000000080000000400000010000000080000000400000010000000080000000500000010000000080000000500000010000000080000000600000010000000080000000600000010000000080000000700000010000000080000000700000010000000080000000800000010000000080000000800000010000000080000000900000010000000080000000900000010000000080000000A00000010000000080000000A00000010000000080000000B00000010000000080000000B00000010000000080000000C00000010000000080000000C00000010000000080000000D00000010000000080000000D00000010000000080000000E00000010000000080000000E00000010000000080000000F00000010000000080000000F00000010000000080000001000000010000000080000001000000010000000080000000000000000000000090000000000000000000000090000000100000000000000090000000100000000000000090000000200000000000000090000000200000000000000090000000300000000000000090000000300000000000000090000000400000000000000090000000400000000000000090000000500000000000000090000000500000000000000090000000600000000000000090000000600000000000000090000000700000000000000090000000700000000000000090000000800000000000000090000000800000000000000090000000900000000000000090000000900000000000000090000000A00000000000000090000000A00000000000000090000000B00000000000000090000000B00000000000000090000000C00000000000000090000000C00000000000000090000000D00000000000000090000000D00000000000000090000000E00000000000000090000000E00000000000000090000000F00000000000000090000000F00000000000000090000001000000000000000090000001000000000000000090000000000000001000000090000000000000001000000090000000100000001000000090000000100000001000000090000000200000001000000090000000200000001000000090000000300000001000000090000000300000001000000090000000400000001000000090000000400000001000000090000000500000001000000090000000500000001000000090000000600000001000000090000000600000001000000090000000700000001000000090000000700000001000000090000000800000001000000090000000800000001000000090000000900000001000000090000000900000001000000090000000A00000001000000090000000A00000001000000090000000B00000001000000090000000B00000001000000090000000C00000001000000090000000C00000001000000090000000D00000001000000090000000D00000001000000090000000E00000001000000090000000E00000001000000090000000F00000001000000090000000F00000001000000090000001000000001000000090000001000000001000000090000000000000002000000090000000000000002000000090000000100000002000000090000000100000002000000090000000200000002000000090000000200000002000000090000000300000002000000090000000300000002000000090000000400000002000000090000000400000002000000090000000500000002000000090000000500000002000000090000000600000002000000090000000600000002000000090000000700000002000000090000000700000002000000090000000800000002000000090000000800000002000000090000000900000002000000090000000900000002000000090000000A00000002000000090000000A00000002000000090000000B00000002000000090000000B00000002000000090000000C00000002000000090000000C00000002000000090000000D00000002000000090000000D00000002000000090000000E00000002000000090000000E00000002000000090000000F00000002000000090000000F00000002000000090000001000000002000000090000001000000002000000090000000000000003000000090000000000000003000000090000000100000003000000090000000100000003000000090000000200000003000000090000000200000003000000090000000300000003000000090000000300000003000000090000000400000003000000090000000400000003000000090000000500000003000000090000000500000003000000090000000600000003000000090000000600000003000000090000000700000003000000090000000700000003000000090000000800000003000000090000000800000003000000090000000900000003000000090000000900000003000000090000000A00000003000000090000000A00000003000000090000000B00000003000000090000000B00000003000000090000000C00000003000000090000000C00000003000000090000000D00000003000000090000000D00000003000000090000000E00000003000000090000000E00000003000000090000000F00000003000000090000000F00000003000000090000001000000003000000090000001000000003000000090000000000000004000000090000000000000004000000090000000100000004000000090000000100000004000000090000000200000004000000090000000200000004000000090000000300000004000000090000000300000004000000090000000400000004000000090000000400000004000000090000000500000004000000090000000500000004000000090000000600000004000000090000000600000004000000090000000700000004000000090000000700000004000000090000000800000004000000090000000800000004000000090000000900000004000000090000000900000004000000090000000A00000004000000090000000A00000004000000090000000B00000004000000090000000B00000004000000090000000C00000004000000090000000C00000004000000090000000D00000004000000090000000D00000004000000090000000E00000004000000090000000E00000004000000090000000F00000004000000090000000F00000004000000090000001000000004000000090000001000000004000000090000000000000005000000090000000000000005000000090000000100000005000000090000000100000005000000090000000200000005000000090000000200000005000000090000000300000005000000090000000300000005000000090000000400000005000000090000000400000005000000090000000500000005000000090000000500000005000000090000000600000005000000090000000600000005000000090000000700000005000000090000000700000005000000090000000800000005000000090000000800000005000000090000000900000005000000090000000900000005000000090000000A00000005000000090000000A00000005000000090000000B00000005000000090000000B00000005000000090000000C00000005000000090000000C00000005000000090000000D00000005000000090000000D00000005000000090000000E00000005000000090000000E00000005000000090000000F00000005000000090000000F00000005000000090000001000000005000000090000001000000005000000090000000000000006000000090000000000000006000000090000000100000006000000090000000100000006000000090000000200000006000000090000000200000006000000090000000300000006000000090000000300000006000000090000000400000006000000090000000400000006000000090000000500000006000000090000000500000006000000090000000600000006000000090000000600000006000000090000000700000006000000090000000700000006000000090000000800000006000000090000000800000006000000090000000900000006000000090000000900000006000000090000000A00000006000000090000000A00000006000000090000000B00000006000000090000000B00000006000000090000000C00000006000000090000000C00000006000000090000000D00000006000000090000000D00000006000000090000000E00000006000000090000000E00000006000000090000000F00000006000000090000000F00000006000000090000001000000006000000090000001000000006000000090000000000000007000000090000000000000007000000090000000100000007000000090000000100000007000000090000000200000007000000090000000200000007000000090000000300000007000000090000000300000007000000090000000400000007000000090000000400000007000000090000000500000007000000090000000500000007000000090000000600000007000000090000000600000007000000090000000700000007000000090000000700000007000000090000000800000007000000090000000800000007000000090000000900000007000000090000000900000007000000090000000A00000007000000090000000A00000007000000090000000B00000007000000090000000B00000007000000090000000C00000007000000090000000C00000007000000090000000D00000007000000090000000D00000007000000090000000E00000007000000090000000E00000007000000090000000F00000007000000090000000F00000007000000090000001000000007000000090000001000000007000000090000000000000008000000090000000000000008000000090000000100000008000000090000000100000008000000090000000200000008000000090000000200000008000000090000000300000008000000090000000300000008000000090000000400000008000000090000000400000008000000090000000500000008000000090000000500000008000000090000000600000008000000090000000600000008000000090000000700000008000000090000000700000008000000090000000800000008000000090000000800000008000000090000000900000008000000090000000900000008000000090000000A00000008000000090000000A00000008000000090000000B00000008000000090000000B00000008000000090000000C00000008000000090000000C00000008000000090000000D00000008000000090000000D00000008000000090000000E00000008000000090000000E00000008000000090000000F00000008000000090000000F00000008000000090000001000000008000000090000001000000008000000090000000000000009000000090000000000000009000000090000000100000009000000090000000100000009000000090000000200000009000000090000000200000009000000090000000300000009000000090000000300000009000000090000000400000009000000090000000400000009000000090000000500000009000000090000000500000009000000090000000600000009000000090000000600000009000000090000000700000009000000090000000700000009000000090000000800000009000000090000000800000009000000090000000900000009000000090000000900000009000000090000000A00000009000000090000000A00000009000000090000000B00000009000000090000000B00000009000000090000000C00000009000000090000000C00000009000000090000000D00000009000000090000000D00000009000000090000000E00000009000000090000000E00000009000000090000000F00000009000000090000000F0000000900000009000000100000000900000009000000100000000900000009000000000000000A00000009000000000000000A00000009000000010000000A00000009000000010000000A00000009000000020000000A00000009000000020000000A00000009000000030000000A00000009000000030000000A00000009000000040000000A00000009000000040000000A00000009000000050000000A00000009000000050000000A00000009000000060000000A00000009000000060000000A00000009000000070000000A00000009000000070000000A00000009000000080000000A00000009000000080000000A00000009000000090000000A00000009000000090000000A000000090000000A0000000A000000090000000A0000000A000000090000000B0000000A000000090000000B0000000A000000090000000C0000000A000000090000000C0000000A000000090000000D0000000A000000090000000D0000000A000000090000000E0000000A000000090000000E0000000A000000090000000F0000000A000000090000000F0000000A00000009000000100000000A00000009000000100000000A00000009000000000000000B00000009000000000000000B00000009000000010000000B00000009000000010000000B00000009000000020000000B00000009000000020000000B00000009000000030000000B00000009000000030000000B00000009000000040000000B00000009000000040000000B00000009000000050000000B00000009000000050000000B00000009000000060000000B00000009000000060000000B00000009000000070000000B00000009000000070000000B00000009000000080000000B00000009000000080000000B00000009000000090000000B00000009000000090000000B000000090000000A0000000B000000090000000A0000000B000000090000000B0000000B000000090000000B0000000B000000090000000C0000000B000000090000000C0000000B000000090000000D0000000B000000090000000D0000000B000000090000000E0000000B000000090000000E0000000B000000090000000F0000000B000000090000000F0000000B00000009000000100000000B00000009000000100000000B00000009000000000000000C00000009000000000000000C00000009000000010000000C00000009000000010000000C00000009000000020000000C00000009000000020000000C00000009000000030000000C00000009000000030000000C00000009000000040000000C00000009000000040000000C00000009000000050000000C00000009000000050000000C00000009000000060000000C00000009000000060000000C00000009000000070000000C00000009000000070000000C00000009000000080000000C00000009000000080000000C00000009000000090000000C00000009000000090000000C000000090000000A0000000C000000090000000A0000000C000000090000000B0000000C000000090000000B0000000C000000090000000C0000000C000000090000000C0000000C000000090000000D0000000C000000090000000D0000000C000000090000000E0000000C000000090000000E0000000C000000090000000F0000000C000000090000000F0000000C00000009000000100000000C00000009000000100000000C00000009000000000000000D00000009000000000000000D00000009000000010000000D00000009000000010000000D00000009000000020000000D00000009000000020000000D00000009000000030000000D00000009000000030000000D00000009000000040000000D00000009000000040000000D00000009000000050000000D00000009000000050000000D00000009000000060000000D00000009000000060000000D00000009000000070000000D00000009000000070000000D00000009000000080000000D00000009000000080000000D00000009000000090000000D00000009000000090000000D000000090000000A0000000D000000090000000A0000000D000000090000000B0000000D000000090000000B0000000D000000090000000C0000000D000000090000000C0000000D000000090000000D0000000D000000090000000D0000000D000000090000000E0000000D000000090000000E0000000D000000090000000F0000000D000000090000000F0000000D00000009000000100000000D00000009000000100000000D00000009000000000000000E00000009000000000000000E00000009000000010000000E00000009000000010000000E00000009000000020000000E00000009000000020000000E00000009000000030000000E00000009000000030000000E00000009000000040000000E00000009000000040000000E00000009000000050000000E00000009000000050000000E00000009000000060000000E00000009000000060000000E00000009000000070000000E00000009000000070000000E00000009000000080000000E00000009000000080000000E00000009000000090000000E00000009000000090000000E000000090000000A0000000E000000090000000A0000000E000000090000000B0000000E000000090000000B0000000E000000090000000C0000000E000000090000000C0000000E000000090000000D0000000E000000090000000D0000000E000000090000000E0000000E000000090000000E0000000E000000090000000F0000000E000000090000000F0000000E00000009000000100000000E00000009000000100000000E00000009000000000000000F00000009000000000000000F00000009000000010000000F00000009000000010000000F00000009000000020000000F00000009000000020000000F00000009000000030000000F00000009000000030000000F00000009000000040000000F00000009000000040000000F00000009000000050000000F00000009000000050000000F00000009000000060000000F00000009000000060000000F00000009000000070000000F00000009000000070000000F00000009000000080000000F00000009000000080000000F00000009000000090000000F00000009000000090000000F000000090000000A0000000F000000090000000A0000000F000000090000000B0000000F000000090000000B0000000F000000090000000C0000000F000000090000000C0000000F000000090000000D0000000F000000090000000D0000000F000000090000000E0000000F000000090000000E0000000F000000090000000F0000000F000000090000000F0000000F00000009000000100000000F00000009000000100000000F000000090000000000000010000000090000000000000010000000090000000100000010000000090000000100000010000000090000000200000010000000090000000200000010000000090000000300000010000000090000000300000010000000090000000400000010000000090000000400000010000000090000000500000010000000090000000500000010000000090000000600000010000000090000000600000010000000090000000700000010000000090000000700000010000000090000000800000010000000090000000800000010000000090000000900000010000000090000000900000010000000090000000A00000010000000090000000A00000010000000090000000B00000010000000090000000B00000010000000090000000C00000010000000090000000C00000010000000090000000D00000010000000090000000D00000010000000090000000E00000010000000090000000E00000010000000090000000F00000010000000090000000F000000100000000900000010000000100000000900000010000000100000000900000000000000000000000A00000000000000000000000A00000001000000000000000A00000001000000000000000A00000002000000000000000A00000002000000000000000A00000003000000000000000A00000003000000000000000A00000004000000000000000A00000004000000000000000A00000005000000000000000A00000005000000000000000A00000006000000000000000A00000006000000000000000A00000007000000000000000A00000007000000000000000A00000008000000000000000A00000008000000000000000A00000009000000000000000A00000009000000000000000A0000000A000000000000000A0000000A000000000000000A0000000B000000000000000A0000000B000000000000000A0000000C000000000000000A0000000C000000000000000A0000000D000000000000000A0000000D000000000000000A0000000E000000000000000A0000000E000000000000000A0000000F000000000000000A0000000F000000000000000A00000010000000000000000A00000010000000000000000A00000000000000010000000A00000000000000010000000A00000001000000010000000A00000001000000010000000A00000002000000010000000A00000002000000010000000A00000003000000010000000A00000003000000010000000A00000004000000010000000A00000004000000010000000A00000005000000010000000A00000005000000010000000A00000006000000010000000A00000006000000010000000A00000007000000010000000A00000007000000010000000A00000008000000010000000A00000008000000010000000A00000009000000010000000A00000009000000010000000A0000000A000000010000000A0000000A000000010000000A0000000B000000010000000A0000000B000000010000000A0000000C000000010000000A0000000C000000010000000A0000000D000000010000000A0000000D000000010000000A0000000E000000010000000A0000000E000000010000000A0000000F000000010000000A0000000F000000010000000A00000010000000010000000A00000010000000010000000A00000000000000020000000A00000000000000020000000A00000001000000020000000A00000001000000020000000A00000002000000020000000A00000002000000020000000A00000003000000020000000A00000003000000020000000A00000004000000020000000A00000004000000020000000A00000005000000020000000A00000005000000020000000A00000006000000020000000A00000006000000020000000A00000007000000020000000A00000007000000020000000A00000008000000020000000A00000008000000020000000A00000009000000020000000A00000009000000020000000A0000000A000000020000000A0000000A000000020000000A0000000B000000020000000A0000000B000000020000000A0000000C000000020000000A0000000C000000020000000A0000000D000000020000000A0000000D000000020000000A0000000E000000020000000A0000000E000000020000000A0000000F000000020000000A0000000F000000020000000A00000010000000020000000A00000010000000020000000A00000000000000030000000A00000000000000030000000A00000001000000030000000A00000001000000030000000A00000002000000030000000A00000002000000030000000A00000003000000030000000A00000003000000030000000A00000004000000030000000A00000004000000030000000A00000005000000030000000A00000005000000030000000A00000006000000030000000A00000006000000030000000A00000007000000030000000A00000007000000030000000A00000008000000030000000A00000008000000030000000A00000009000000030000000A00000009000000030000000A0000000A000000030000000A0000000A000000030000000A0000000B000000030000000A0000000B000000030000000A0000000C000000030000000A0000000C000000030000000A0000000D000000030000000A0000000D000000030000000A0000000E000000030000000A0000000E000000030000000A0000000F000000030000000A0000000F000000030000000A00000010000000030000000A00000010000000030000000A00000000000000040000000A00000000000000040000000A00000001000000040000000A00000001000000040000000A00000002000000040000000A00000002000000040000000A00000003000000040000000A00000003000000040000000A00000004000000040000000A00000004000000040000000A00000005000000040000000A00000005000000040000000A00000006000000040000000A00000006000000040000000A00000007000000040000000A00000007000000040000000A00000008000000040000000A00000008000000040000000A00000009000000040000000A00000009000000040000000A0000000A000000040000000A0000000A000000040000000A0000000B000000040000000A0000000B000000040000000A0000000C000000040000000A0000000C000000040000000A0000000D000000040000000A0000000D000000040000000A0000000E000000040000000A0000000E000000040000000A0000000F000000040000000A0000000F000000040000000A00000010000000040000000A00000010000000040000000A00000000000000050000000A00000000000000050000000A00000001000000050000000A00000001000000050000000A00000002000000050000000A00000002000000050000000A00000003000000050000000A00000003000000050000000A00000004000000050000000A00000004000000050000000A00000005000000050000000A00000005000000050000000A00000006000000050000000A00000006000000050000000A00000007000000050000000A00000007000000050000000A00000008000000050000000A00000008000000050000000A00000009000000050000000A00000009000000050000000A0000000A000000050000000A0000000A000000050000000A0000000B000000050000000A0000000B000000050000000A0000000C000000050000000A0000000C000000050000000A0000000D000000050000000A0000000D000000050000000A0000000E000000050000000A0000000E000000050000000A0000000F000000050000000A0000000F000000050000000A00000010000000050000000A00000010000000050000000A00000000000000060000000A00000000000000060000000A00000001000000060000000A00000001000000060000000A00000002000000060000000A00000002000000060000000A00000003000000060000000A00000003000000060000000A00000004000000060000000A00000004000000060000000A00000005000000060000000A00000005000000060000000A00000006000000060000000A00000006000000060000000A00000007000000060000000A00000007000000060000000A00000008000000060000000A00000008000000060000000A00000009000000060000000A00000009000000060000000A0000000A000000060000000A0000000A000000060000000A0000000B000000060000000A0000000B000000060000000A0000000C000000060000000A0000000C000000060000000A0000000D000000060000000A0000000D000000060000000A0000000E000000060000000A0000000E000000060000000A0000000F000000060000000A0000000F000000060000000A00000010000000060000000A00000010000000060000000A00000000000000070000000A00000000000000070000000A00000001000000070000000A00000001000000070000000A00000002000000070000000A00000002000000070000000A00000003000000070000000A00000003000000070000000A00000004000000070000000A00000004000000070000000A00000005000000070000000A00000005000000070000000A00000006000000070000000A00000006000000070000000A00000007000000070000000A00000007000000070000000A00000008000000070000000A00000008000000070000000A00000009000000070000000A00000009000000070000000A0000000A000000070000000A0000000A000000070000000A0000000B000000070000000A0000000B000000070000000A0000000C000000070000000A0000000C000000070000000A0000000D000000070000000A0000000D000000070000000A0000000E000000070000000A0000000E000000070000000A0000000F000000070000000A0000000F000000070000000A00000010000000070000000A00000010000000070000000A00000000000000080000000A00000000000000080000000A00000001000000080000000A00000001000000080000000A00000002000000080000000A00000002000000080000000A00000003000000080000000A00000003000000080000000A00000004000000080000000A00000004000000080000000A00000005000000080000000A00000005000000080000000A00000006000000080000000A00000006000000080000000A00000007000000080000000A00000007000000080000000A00000008000000080000000A00000008000000080000000A00000009000000080000000A00000009000000080000000A0000000A000000080000000A0000000A000000080000000A0000000B000000080000000A0000000B000000080000000A0000000C000000080000000A0000000C000000080000000A0000000D000000080000000A0000000D000000080000000A0000000E000000080000000A0000000E000000080000000A0000000F000000080000000A0000000F000000080000000A00000010000000080000000A00000010000000080000000A00000000000000090000000A00000000000000090000000A00000001000000090000000A00000001000000090000000A00000002000000090000000A00000002000000090000000A00000003000000090000000A00000003000000090000000A00000004000000090000000A00000004000000090000000A00000005000000090000000A00000005000000090000000A00000006000000090000000A00000006000000090000000A00000007000000090000000A00000007000000090000000A00000008000000090000000A00000008000000090000000A00000009000000090000000A00000009000000090000000A0000000A000000090000000A0000000A000000090000000A0000000B000000090000000A0000000B000000090000000A0000000C000000090000000A0000000C000000090000000A0000000D000000090000000A0000000D000000090000000A0000000E000000090000000A0000000E000000090000000A0000000F000000090000000A0000000F000000090000000A00000010000000090000000A00000010000000090000000A000000000000000A0000000A000000000000000A0000000A000000010000000A0000000A000000010000000A0000000A000000020000000A0000000A000000020000000A0000000A000000030000000A0000000A000000030000000A0000000A000000040000000A0000000A000000040000000A0000000A000000050000000A0000000A000000050000000A0000000A000000060000000A0000000A000000060000000A0000000A000000070000000A0000000A000000070000000A0000000A000000080000000A0000000A000000080000000A0000000A000000090000000A0000000A000000090000000A0000000A0000000A0000000A0000000A0000000A0000000A0000000A0000000B0000000A0000000A0000000B0000000A0000000A0000000C0000000A0000000A0000000C0000000A0000000A0000000D0000000A0000000A0000000D0000000A0000000A0000000E0000000A0000000A0000000E0000000A0000000A0000000F0000000A0000000A0000000F0000000A0000000A000000100000000A0000000A000000100000000A0000000A000000000000000B0000000A000000000000000B0000000A000000010000000B0000000A000000010000000B0000000A000000020000000B0000000A000000020000000B0000000A000000030000000B0000000A000000030000000B0000000A000000040000000B0000000A000000040000000B0000000A000000050000000B0000000A000000050000000B0000000A000000060000000B0000000A000000060000000B0000000A000000070000000B0000000A000000070000000B0000000A000000080000000B0000000A000000080000000B0000000A000000090000000B0000000A000000090000000B0000000A0000000A0000000B0000000A0000000A0000000B0000000A0000000B0000000B0000000A0000000B0000000B0000000A0000000C0000000B0000000A0000000C0000000B0000000A0000000D0000000B0000000A0000000D0000000B0000000A0000000E0000000B0000000A0000000E0000000B0000000A0000000F0000000B0000000A0000000F0000000B0000000A000000100000000B0000000A000000100000000B0000000A000000000000000C0000000A000000000000000C0000000A000000010000000C0000000A000000010000000C0000000A000000020000000C0000000A000000020000000C0000000A000000030000000C0000000A000000030000000C0000000A000000040000000C0000000A000000040000000C0000000A000000050000000C0000000A000000050000000C0000000A000000060000000C0000000A000000060000000C0000000A000000070000000C0000000A000000070000000C0000000A000000080000000C0000000A000000080000000C0000000A000000090000000C0000000A000000090000000C0000000A0000000A0000000C0000000A0000000A0000000C0000000A0000000B0000000C0000000A0000000B0000000C0000000A0000000C0000000C0000000A0000000C0000000C0000000A0000000D0000000C0000000A0000000D0000000C0000000A0000000E0000000C0000000A0000000E0000000C0000000A0000000F0000000C0000000A0000000F0000000C0000000A000000100000000C0000000A000000100000000C0000000A000000000000000D0000000A000000000000000D0000000A000000010000000D0000000A000000010000000D0000000A000000020000000D0000000A000000020000000D0000000A000000030000000D0000000A000000030000000D0000000A000000040000000D0000000A000000040000000D0000000A000000050000000D0000000A000000050000000D0000000A000000060000000D0000000A000000060000000D0000000A000000070000000D0000000A000000070000000D0000000A000000080000000D0000000A000000080000000D0000000A000000090000000D0000000A000000090000000D0000000A0000000A0000000D0000000A0000000A0000000D0000000A0000000B0000000D0000000A0000000B0000000D0000000A0000000C0000000D0000000A0000000C0000000D0000000A0000000D0000000D0000000A0000000D0000000D0000000A0000000E0000000D0000000A0000000E0000000D0000000A0000000F0000000D0000000A0000000F0000000D0000000A000000100000000D0000000A000000100000000D0000000A000000000000000E0000000A000000000000000E0000000A000000010000000E0000000A000000010000000E0000000A000000020000000E0000000A000000020000000E0000000A000000030000000E0000000A000000030000000E0000000A000000040000000E0000000A000000040000000E0000000A000000050000000E0000000A000000050000000E0000000A000000060000000E0000000A000000060000000E0000000A000000070000000E0000000A000000070000000E0000000A000000080000000E0000000A000000080000000E0000000A000000090000000E0000000A000000090000000E0000000A0000000A0000000E0000000A0000000A0000000E0000000A0000000B0000000E0000000A0000000B0000000E0000000A0000000C0000000E0000000A0000000C0000000E0000000A0000000D0000000E0000000A0000000D0000000E0000000A0000000E0000000E0000000A0000000E0000000E0000000A0000000F0000000E0000000A0000000F0000000E0000000A000000100000000E0000000A000000100000000E0000000A000000000000000F0000000A000000000000000F0000000A000000010000000F0000000A000000010000000F0000000A000000020000000F0000000A000000020000000F0000000A000000030000000F0000000A000000030000000F0000000A000000040000000F0000000A000000040000000F0000000A000000050000000F0000000A000000050000000F0000000A000000060000000F0000000A000000060000000F0000000A000000070000000F0000000A000000070000000F0000000A000000080000000F0000000A000000080000000F0000000A000000090000000F0000000A000000090000000F0000000A0000000A0000000F0000000A0000000A0000000F0000000A0000000B0000000F0000000A0000000B0000000F0000000A0000000C0000000F0000000A0000000C0000000F0000000A0000000D0000000F0000000A0000000D0000000F0000000A0000000E0000000F0000000A0000000E0000000F0000000A0000000F0000000F0000000A0000000F0000000F0000000A000000100000000F0000000A000000100000000F0000000A00000000000000100000000A00000000000000100000000A00000001000000100000000A00000001000000100000000A00000002000000100000000A00000002000000100000000A00000003000000100000000A00000003000000100000000A00000004000000100000000A00000004000000100000000A00000005000000100000000A00000005000000100000000A00000006000000100000000A00000006000000100000000A00000007000000100000000A00000007000000100000000A00000008000000100000000A00000008000000100000000A00000009000000100000000A00000009000000100000000A0000000A000000100000000A0000000A000000100000000A0000000B000000100000000A0000000B000000100000000A0000000C000000100000000A0000000C000000100000000A0000000D000000100000000A0000000D000000100000000A0000000E000000100000000A0000000E000000100000000A0000000F000000100000000A0000000F000000100000000A00000010000000100000000A00000010000000100000000A00000000000000000000000B00000000000000000000000B00000001000000000000000B00000001000000000000000B00000002000000000000000B00000002000000000000000B00000003000000000000000B00000003000000000000000B00000004000000000000000B00000004000000000000000B00000005000000000000000B00000005000000000000000B00000006000000000000000B00000006000000000000000B00000007000000000000000B00000007000000000000000B00000008000000000000000B00000008000000000000000B00000009000000000000000B00000009000000000000000B0000000A000000000000000B0000000A000000000000000B0000000B000000000000000B0000000B000000000000000B0000000C000000000000000B0000000C000000000000000B0000000D000000000000000B0000000D000000000000000B0000000E000000000000000B0000000E000000000000000B0000000F000000000000000B0000000F000000000000000B00000010000000000000000B00000010000000000000000B00000000000000010000000B00000000000000010000000B00000001000000010000000B00000001000000010000000B00000002000000010000000B00000002000000010000000B00000003000000010000000B00000003000000010000000B00000004000000010000000B00000004000000010000000B00000005000000010000000B00000005000000010000000B00000006000000010000000B00000006000000010000000B00000007000000010000000B00000007000000010000000B00000008000000010000000B00000008000000010000000B00000009000000010000000B00000009000000010000000B0000000A000000010000000B0000000A000000010000000B0000000B000000010000000B0000000B000000010000000B0000000C000000010000000B0000000C000000010000000B0000000D000000010000000B0000000D000000010000000B0000000E000000010000000B0000000E000000010000000B0000000F000000010000000B0000000F000000010000000B00000010000000010000000B00000010000000010000000B00000000000000020000000B00000000000000020000000B00000001000000020000000B00000001000000020000000B00000002000000020000000B00000002000000020000000B00000003000000020000000B00000003000000020000000B00000004000000020000000B00000004000000020000000B00000005000000020000000B00000005000000020000000B00000006000000020000000B00000006000000020000000B00000007000000020000000B00000007000000020000000B00000008000000020000000B00000008000000020000000B00000009000000020000000B00000009000000020000000B0000000A000000020000000B0000000A000000020000000B0000000B000000020000000B0000000B000000020000000B0000000C000000020000000B0000000C000000020000000B0000000D000000020000000B0000000D000000020000000B0000000E000000020000000B0000000E000000020000000B0000000F000000020000000B0000000F000000020000000B00000010000000020000000B00000010000000020000000B00000000000000030000000B00000000000000030000000B00000001000000030000000B00000001000000030000000B00000002000000030000000B00000002000000030000000B00000003000000030000000B00000003000000030000000B00000004000000030000000B00000004000000030000000B00000005000000030000000B00000005000000030000000B00000006000000030000000B00000006000000030000000B00000007000000030000000B00000007000000030000000B00000008000000030000000B00000008000000030000000B00000009000000030000000B00000009000000030000000B0000000A000000030000000B0000000A000000030000000B0000000B000000030000000B0000000B000000030000000B0000000C000000030000000B0000000C000000030000000B0000000D000000030000000B0000000D000000030000000B0000000E000000030000000B0000000E000000030000000B0000000F000000030000000B0000000F000000030000000B00000010000000030000000B00000010000000030000000B00000000000000040000000B00000000000000040000000B00000001000000040000000B00000001000000040000000B00000002000000040000000B00000002000000040000000B00000003000000040000000B00000003000000040000000B00000004000000040000000B00000004000000040000000B00000005000000040000000B00000005000000040000000B00000006000000040000000B00000006000000040000000B00000007000000040000000B00000007000000040000000B00000008000000040000000B00000008000000040000000B00000009000000040000000B00000009000000040000000B0000000A000000040000000B0000000A000000040000000B0000000B000000040000000B0000000B000000040000000B0000000C000000040000000B0000000C000000040000000B0000000D000000040000000B0000000D000000040000000B0000000E000000040000000B0000000E000000040000000B0000000F000000040000000B0000000F000000040000000B00000010000000040000000B00000010000000040000000B00000000000000050000000B00000000000000050000000B00000001000000050000000B00000001000000050000000B00000002000000050000000B00000002000000050000000B00000003000000050000000B00000003000000050000000B00000004000000050000000B00000004000000050000000B00000005000000050000000B00000005000000050000000B00000006000000050000000B00000006000000050000000B00000007000000050000000B00000007000000050000000B00000008000000050000000B00000008000000050000000B00000009000000050000000B00000009000000050000000B0000000A000000050000000B0000000A000000050000000B0000000B000000050000000B0000000B000000050000000B0000000C000000050000000B0000000C000000050000000B0000000D000000050000000B0000000D000000050000000B0000000E000000050000000B0000000E000000050000000B0000000F000000050000000B0000000F000000050000000B00000010000000050000000B00000010000000050000000B00000000000000060000000B00000000000000060000000B00000001000000060000000B00000001000000060000000B00000002000000060000000B00000002000000060000000B00000003000000060000000B00000003000000060000000B00000004000000060000000B00000004000000060000000B00000005000000060000000B00000005000000060000000B00000006000000060000000B00000006000000060000000B00000007000000060000000B00000007000000060000000B00000008000000060000000B00000008000000060000000B00000009000000060000000B00000009000000060000000B0000000A000000060000000B0000000A000000060000000B0000000B000000060000000B0000000B000000060000000B0000000C000000060000000B0000000C000000060000000B0000000D000000060000000B0000000D000000060000000B0000000E000000060000000B0000000E000000060000000B0000000F000000060000000B0000000F000000060000000B00000010000000060000000B00000010000000060000000B00000000000000070000000B00000000000000070000000B00000001000000070000000B00000001000000070000000B00000002000000070000000B00000002000000070000000B00000003000000070000000B00000003000000070000000B00000004000000070000000B00000004000000070000000B00000005000000070000000B00000005000000070000000B00000006000000070000000B00000006000000070000000B00000007000000070000000B00000007000000070000000B00000008000000070000000B00000008000000070000000B00000009000000070000000B00000009000000070000000B0000000A000000070000000B0000000A000000070000000B0000000B000000070000000B0000000B000000070000000B0000000C000000070000000B0000000C000000070000000B0000000D000000070000000B0000000D000000070000000B0000000E000000070000000B0000000E000000070000000B0000000F000000070000000B0000000F000000070000000B00000010000000070000000B00000010000000070000000B00000000000000080000000B00000000000000080000000B00000001000000080000000B00000001000000080000000B00000002000000080000000B00000002000000080000000B00000003000000080000000B00000003000000080000000B00000004000000080000000B00000004000000080000000B00000005000000080000000B00000005000000080000000B00000006000000080000000B00000006000000080000000B00000007000000080000000B00000007000000080000000B00000008000000080000000B00000008000000080000000B00000009000000080000000B00000009000000080000000B0000000A000000080000000B0000000A000000080000000B0000000B000000080000000B0000000B000000080000000B0000000C000000080000000B0000000C000000080000000B0000000D000000080000000B0000000D000000080000000B0000000E000000080000000B0000000E000000080000000B0000000F000000080000000B0000000F000000080000000B00000010000000080000000B00000010000000080000000B00000000000000090000000B00000000000000090000000B00000001000000090000000B00000001000000090000000B00000002000000090000000B00000002000000090000000B00000003000000090000000B00000003000000090000000B00000004000000090000000B00000004000000090000000B00000005000000090000000B00000005000000090000000B00000006000000090000000B00000006000000090000000B00000007000000090000000B00000007000000090000000B00000008000000090000000B00000008000000090000000B00000009000000090000000B00000009000000090000000B0000000A000000090000000B0000000A000000090000000B0000000B000000090000000B0000000B000000090000000B0000000C000000090000000B0000000C000000090000000B0000000D000000090000000B0000000D000000090000000B0000000E000000090000000B0000000E000000090000000B0000000F000000090000000B0000000F000000090000000B00000010000000090000000B00000010000000090000000B000000000000000A0000000B000000000000000A0000000B000000010000000A0000000B000000010000000A0000000B000000020000000A0000000B000000020000000A0000000B000000030000000A0000000B000000030000000A0000000B000000040000000A0000000B000000040000000A0000000B000000050000000A0000000B000000050000000A0000000B000000060000000A0000000B000000060000000A0000000B000000070000000A0000000B000000070000000A0000000B000000080000000A0000000B000000080000000A0000000B000000090000000A0000000B000000090000000A0000000B0000000A0000000A0000000B0000000A0000000A0000000B0000000B0000000A0000000B0000000B0000000A0000000B0000000C0000000A0000000B0000000C0000000A0000000B0000000D0000000A0000000B0000000D0000000A0000000B0000000E0000000A0000000B0000000E0000000A0000000B0000000F0000000A0000000B0000000F0000000A0000000B000000100000000A0000000B000000100000000A0000000B000000000000000B0000000B000000000000000B0000000B000000010000000B0000000B000000010000000B0000000B000000020000000B0000000B000000020000000B0000000B000000030000000B0000000B000000030000000B0000000B000000040000000B0000000B000000040000000B0000000B000000050000000B0000000B000000050000000B0000000B000000060000000B0000000B000000060000000B0000000B000000070000000B0000000B000000070000000B0000000B000000080000000B0000000B000000080000000B0000000B000000090000000B0000000B000000090000000B0000000B0000000A0000000B0000000B0000000A0000000B0000000B0000000B0000000B0000000B0000000B0000000B0000000B0000000C0000000B0000000B0000000C0000000B0000000B0000000D0000000B0000000B0000000D0000000B0000000B0000000E0000000B0000000B0000000E0000000B0000000B0000000F0000000B0000000B0000000F0000000B0000000B000000100000000B0000000B000000100000000B0000000B000000000000000C0000000B000000000000000C0000000B000000010000000C0000000B000000010000000C0000000B000000020000000C0000000B000000020000000C0000000B000000030000000C0000000B000000030000000C0000000B000000040000000C0000000B000000040000000C0000000B000000050000000C0000000B000000050000000C0000000B000000060000000C0000000B000000060000000C0000000B000000070000000C0000000B000000070000000C0000000B000000080000000C0000000B000000080000000C0000000B000000090000000C0000000B000000090000000C0000000B0000000A0000000C0000000B0000000A0000000C0000000B0000000B0000000C0000000B0000000B0000000C0000000B0000000C0000000C0000000B0000000C0000000C0000000B0000000D0000000C0000000B0000000D0000000C0000000B0000000E0000000C0000000B0000000E0000000C0000000B0000000F0000000C0000000B0000000F0000000C0000000B000000100000000C0000000B000000100000000C0000000B000000000000000D0000000B000000000000000D0000000B000000010000000D0000000B000000010000000D0000000B000000020000000D0000000B000000020000000D0000000B000000030000000D0000000B000000030000000D0000000B000000040000000D0000000B000000040000000D0000000B000000050000000D0000000B000000050000000D0000000B000000060000000D0000000B000000060000000D0000000B000000070000000D0000000B000000070000000D0000000B000000080000000D0000000B000000080000000D0000000B000000090000000D0000000B000000090000000D0000000B0000000A0000000D0000000B0000000A0000000D0000000B0000000B0000000D0000000B0000000B0000000D0000000B0000000C0000000D0000000B0000000C0000000D0000000B0000000D0000000D0000000B0000000D0000000D0000000B0000000E0000000D0000000B0000000E0000000D0000000B0000000F0000000D0000000B0000000F0000000D0000000B000000100000000D0000000B000000100000000D0000000B000000000000000E0000000B000000000000000E0000000B000000010000000E0000000B000000010000000E0000000B000000020000000E0000000B000000020000000E0000000B000000030000000E0000000B000000030000000E0000000B000000040000000E0000000B000000040000000E0000000B000000050000000E0000000B000000050000000E0000000B000000060000000E0000000B000000060000000E0000000B000000070000000E0000000B000000070000000E0000000B000000080000000E0000000B000000080000000E0000000B000000090000000E0000000B000000090000000E0000000B0000000A0000000E0000000B0000000A0000000E0000000B0000000B0000000E0000000B0000000B0000000E0000000B0000000C0000000E0000000B0000000C0000000E0000000B0000000D0000000E0000000B0000000D0000000E0000000B0000000E0000000E0000000B0000000E0000000E0000000B0000000F0000000E0000000B0000000F0000000E0000000B000000100000000E0000000B000000100000000E0000000B000000000000000F0000000B000000000000000F0000000B000000010000000F0000000B000000010000000F0000000B000000020000000F0000000B000000020000000F0000000B000000030000000F0000000B000000030000000F0000000B000000040000000F0000000B000000040000000F0000000B000000050000000F0000000B000000050000000F0000000B000000060000000F0000000B000000060000000F0000000B000000070000000F0000000B000000070000000F0000000B000000080000000F0000000B000000080000000F0000000B000000090000000F0000000B000000090000000F0000000B0000000A0000000F0000000B0000000A0000000F0000000B0000000B0000000F0000000B0000000B0000000F0000000B0000000C0000000F0000000B0000000C0000000F0000000B0000000D0000000F0000000B0000000D0000000F0000000B0000000E0000000F0000000B0000000E0000000F0000000B0000000F0000000F0000000B0000000F0000000F0000000B000000100000000F0000000B000000100000000F0000000B00000000000000100000000B00000000000000100000000B00000001000000100000000B00000001000000100000000B00000002000000100000000B00000002000000100000000B00000003000000100000000B00000003000000100000000B00000004000000100000000B00000004000000100000000B00000005000000100000000B00000005000000100000000B00000006000000100000000B00000006000000100000000B00000007000000100000000B00000007000000100000000B00000008000000100000000B00000008000000100000000B00000009000000100000000B00000009000000100000000B0000000A000000100000000B0000000A000000100000000B0000000B000000100000000B0000000B000000100000000B0000000C000000100000000B0000000C000000100000000B0000000D000000100000000B0000000D000000100000000B0000000E000000100000000B0000000E000000100000000B0000000F000000100000000B0000000F000000100000000B00000010000000100000000B00000010000000100000000B00000000000000000000000C00000000000000000000000C00000001000000000000000C00000001000000000000000C00000002000000000000000C00000002000000000000000C00000003000000000000000C00000003000000000000000C00000004000000000000000C00000004000000000000000C00000005000000000000000C00000005000000000000000C00000006000000000000000C00000006000000000000000C00000007000000000000000C00000007000000000000000C00000008000000000000000C00000008000000000000000C00000009000000000000000C00000009000000000000000C0000000A000000000000000C0000000A000000000000000C0000000B000000000000000C0000000B000000000000000C0000000C000000000000000C0000000C000000000000000C0000000D000000000000000C0000000D000000000000000C0000000E000000000000000C0000000E000000000000000C0000000F000000000000000C0000000F000000000000000C00000010000000000000000C00000010000000000000000C00000000000000010000000C00000000000000010000000C00000001000000010000000C00000001000000010000000C00000002000000010000000C00000002000000010000000C00000003000000010000000C00000003000000010000000C00000004000000010000000C00000004000000010000000C00000005000000010000000C00000005000000010000000C00000006000000010000000C00000006000000010000000C00000007000000010000000C00000007000000010000000C00000008000000010000000C00000008000000010000000C00000009000000010000000C00000009000000010000000C0000000A000000010000000C0000000A000000010000000C0000000B000000010000000C0000000B000000010000000C0000000C000000010000000C0000000C000000010000000C0000000D000000010000000C0000000D000000010000000C0000000E000000010000000C0000000E000000010000000C0000000F000000010000000C0000000F000000010000000C00000010000000010000000C00000010000000010000000C00000000000000020000000C00000000000000020000000C00000001000000020000000C00000001000000020000000C00000002000000020000000C00000002000000020000000C00000003000000020000000C00000003000000020000000C00000004000000020000000C00000004000000020000000C00000005000000020000000C00000005000000020000000C00000006000000020000000C00000006000000020000000C00000007000000020000000C00000007000000020000000C00000008000000020000000C00000008000000020000000C00000009000000020000000C00000009000000020000000C0000000A000000020000000C0000000A000000020000000C0000000B000000020000000C0000000B000000020000000C0000000C000000020000000C0000000C000000020000000C0000000D000000020000000C0000000D000000020000000C0000000E000000020000000C0000000E000000020000000C0000000F000000020000000C0000000F000000020000000C00000010000000020000000C00000010000000020000000C00000000000000030000000C00000000000000030000000C00000001000000030000000C00000001000000030000000C00000002000000030000000C00000002000000030000000C00000003000000030000000C00000003000000030000000C00000004000000030000000C00000004000000030000000C00000005000000030000000C00000005000000030000000C00000006000000030000000C00000006000000030000000C00000007000000030000000C00000007000000030000000C00000008000000030000000C00000008000000030000000C00000009000000030000000C00000009000000030000000C0000000A000000030000000C0000000A000000030000000C0000000B000000030000000C0000000B000000030000000C0000000C000000030000000C0000000C000000030000000C0000000D000000030000000C0000000D000000030000000C0000000E000000030000000C0000000E000000030000000C0000000F000000030000000C0000000F000000030000000C00000010000000030000000C00000010000000030000000C00000000000000040000000C00000000000000040000000C00000001000000040000000C00000001000000040000000C00000002000000040000000C00000002000000040000000C00000003000000040000000C00000003000000040000000C00000004000000040000000C00000004000000040000000C00000005000000040000000C00000005000000040000000C00000006000000040000000C00000006000000040000000C00000007000000040000000C00000007000000040000000C00000008000000040000000C00000008000000040000000C00000009000000040000000C00000009000000040000000C0000000A000000040000000C0000000A000000040000000C0000000B000000040000000C0000000B000000040000000C0000000C000000040000000C0000000C000000040000000C0000000D000000040000000C0000000D000000040000000C0000000E000000040000000C0000000E000000040000000C0000000F000000040000000C0000000F000000040000000C00000010000000040000000C00000010000000040000000C00000000000000050000000C00000000000000050000000C00000001000000050000000C00000001000000050000000C00000002000000050000000C00000002000000050000000C00000003000000050000000C00000003000000050000000C00000004000000050000000C00000004000000050000000C00000005000000050000000C00000005000000050000000C00000006000000050000000C00000006000000050000000C00000007000000050000000C00000007000000050000000C00000008000000050000000C00000008000000050000000C00000009000000050000000C00000009000000050000000C0000000A000000050000000C0000000A000000050000000C0000000B000000050000000C0000000B000000050000000C0000000C000000050000000C0000000C000000050000000C0000000D000000050000000C0000000D000000050000000C0000000E000000050000000C0000000E000000050000000C0000000F000000050000000C0000000F000000050000000C00000010000000050000000C00000010000000050000000C00000000000000060000000C00000000000000060000000C00000001000000060000000C00000001000000060000000C00000002000000060000000C00000002000000060000000C00000003000000060000000C00000003000000060000000C00000004000000060000000C00000004000000060000000C00000005000000060000000C00000005000000060000000C00000006000000060000000C00000006000000060000000C00000007000000060000000C00000007000000060000000C00000008000000060000000C00000008000000060000000C00000009000000060000000C00000009000000060000000C0000000A000000060000000C0000000A000000060000000C0000000B000000060000000C0000000B000000060000000C0000000C000000060000000C0000000C000000060000000C0000000D000000060000000C0000000D000000060000000C0000000E000000060000000C0000000E000000060000000C0000000F000000060000000C0000000F000000060000000C00000010000000060000000C00000010000000060000000C00000000000000070000000C00000000000000070000000C00000001000000070000000C00000001000000070000000C00000002000000070000000C00000002000000070000000C00000003000000070000000C00000003000000070000000C00000004000000070000000C00000004000000070000000C00000005000000070000000C00000005000000070000000C00000006000000070000000C00000006000000070000000C00000007000000070000000C00000007000000070000000C00000008000000070000000C00000008000000070000000C00000009000000070000000C00000009000000070000000C0000000A000000070000000C0000000A000000070000000C0000000B000000070000000C0000000B000000070000000C0000000C000000070000000C0000000C000000070000000C0000000D000000070000000C0000000D000000070000000C0000000E000000070000000C0000000E000000070000000C0000000F000000070000000C0000000F000000070000000C00000010000000070000000C00000010000000070000000C00000000000000080000000C00000000000000080000000C00000001000000080000000C00000001000000080000000C00000002000000080000000C00000002000000080000000C00000003000000080000000C00000003000000080000000C00000004000000080000000C00000004000000080000000C00000005000000080000000C00000005000000080000000C00000006000000080000000C00000006000000080000000C00000007000000080000000C00000007000000080000000C00000008000000080000000C00000008000000080000000C00000009000000080000000C00000009000000080000000C0000000A000000080000000C0000000A000000080000000C0000000B000000080000000C0000000B000000080000000C0000000C000000080000000C0000000C000000080000000C0000000D000000080000000C0000000D000000080000000C0000000E000000080000000C0000000E000000080000000C0000000F000000080000000C0000000F000000080000000C00000010000000080000000C00000010000000080000000C00000000000000090000000C00000000000000090000000C00000001000000090000000C00000001000000090000000C00000002000000090000000C00000002000000090000000C00000003000000090000000C00000003000000090000000C00000004000000090000000C00000004000000090000000C00000005000000090000000C00000005000000090000000C00000006000000090000000C00000006000000090000000C00000007000000090000000C00000007000000090000000C00000008000000090000000C00000008000000090000000C00000009000000090000000C00000009000000090000000C0000000A000000090000000C0000000A000000090000000C0000000B000000090000000C0000000B000000090000000C0000000C000000090000000C0000000C000000090000000C0000000D000000090000000C0000000D000000090000000C0000000E000000090000000C0000000E000000090000000C0000000F000000090000000C0000000F000000090000000C00000010000000090000000C00000010000000090000000C000000000000000A0000000C000000000000000A0000000C000000010000000A0000000C000000010000000A0000000C000000020000000A0000000C000000020000000A0000000C000000030000000A0000000C000000030000000A0000000C000000040000000A0000000C000000040000000A0000000C000000050000000A0000000C000000050000000A0000000C000000060000000A0000000C000000060000000A0000000C000000070000000A0000000C000000070000000A0000000C000000080000000A0000000C000000080000000A0000000C000000090000000A0000000C000000090000000A0000000C0000000A0000000A0000000C0000000A0000000A0000000C0000000B0000000A0000000C0000000B0000000A0000000C0000000C0000000A0000000C0000000C0000000A0000000C0000000D0000000A0000000C0000000D0000000A0000000C0000000E0000000A0000000C0000000E0000000A0000000C0000000F0000000A0000000C0000000F0000000A0000000C000000100000000A0000000C000000100000000A0000000C000000000000000B0000000C000000000000000B0000000C000000010000000B0000000C000000010000000B0000000C000000020000000B0000000C000000020000000B0000000C000000030000000B0000000C000000030000000B0000000C000000040000000B0000000C000000040000000B0000000C000000050000000B0000000C000000050000000B0000000C000000060000000B0000000C000000060000000B0000000C000000070000000B0000000C000000070000000B0000000C000000080000000B0000000C000000080000000B0000000C000000090000000B0000000C000000090000000B0000000C0000000A0000000B0000000C0000000A0000000B0000000C0000000B0000000B0000000C0000000B0000000B0000000C0000000C0000000B0000000C0000000C0000000B0000000C0000000D0000000B0000000C0000000D0000000B0000000C0000000E0000000B0000000C0000000E0000000B0000000C0000000F0000000B0000000C0000000F0000000B0000000C000000100000000B0000000C000000100000000B0000000C000000000000000C0000000C000000000000000C0000000C000000010000000C0000000C000000010000000C0000000C000000020000000C0000000C000000020000000C0000000C000000030000000C0000000C000000030000000C0000000C000000040000000C0000000C000000040000000C0000000C000000050000000C0000000C000000050000000C0000000C000000060000000C0000000C000000060000000C0000000C000000070000000C0000000C000000070000000C0000000C000000080000000C0000000C000000080000000C0000000C000000090000000C0000000C000000090000000C0000000C0000000A0000000C0000000C0000000A0000000C0000000C0000000B0000000C0000000C0000000B0000000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C0000000D0000000C0000000C0000000D0000000C0000000C0000000E0000000C0000000C0000000E0000000C0000000C0000000F0000000C0000000C0000000F0000000C0000000C000000100000000C0000000C000000100000000C0000000C000000000000000D0000000C000000000000000D0000000C000000010000000D0000000C000000010000000D0000000C000000020000000D0000000C000000020000000D0000000C000000030000000D0000000C000000030000000D0000000C000000040000000D0000000C000000040000000D0000000C000000050000000D0000000C000000050000000D0000000C000000060000000D0000000C000000060000000D0000000C000000070000000D0000000C000000070000000D0000000C000000080000000D0000000C000000080000000D0000000C000000090000000D0000000C000000090000000D0000000C0000000A0000000D0000000C0000000A0000000D0000000C0000000B0000000D0000000C0000000B0000000D0000000C0000000C0000000D0000000C0000000C0000000D0000000C0000000D0000000D0000000C0000000D0000000D0000000C0000000E0000000D0000000C0000000E0000000D0000000C0000000F0000000D0000000C0000000F0000000D0000000C000000100000000D0000000C000000100000000D0000000C000000000000000E0000000C000000000000000E0000000C000000010000000E0000000C000000010000000E0000000C000000020000000E0000000C000000020000000E0000000C000000030000000E0000000C000000030000000E0000000C000000040000000E0000000C000000040000000E0000000C000000050000000E0000000C000000050000000E0000000C000000060000000E0000000C000000060000000E0000000C000000070000000E0000000C000000070000000E0000000C000000080000000E0000000C000000080000000E0000000C000000090000000E0000000C000000090000000E0000000C0000000A0000000E0000000C0000000A0000000E0000000C0000000B0000000E0000000C0000000B0000000E0000000C0000000C0000000E0000000C0000000C0000000E0000000C0000000D0000000E0000000C0000000D0000000E0000000C0000000E0000000E0000000C0000000E0000000E0000000C0000000F0000000E0000000C0000000F0000000E0000000C000000100000000E0000000C000000100000000E0000000C000000000000000F0000000C000000000000000F0000000C000000010000000F0000000C000000010000000F0000000C000000020000000F0000000C000000020000000F0000000C000000030000000F0000000C000000030000000F0000000C000000040000000F0000000C000000040000000F0000000C000000050000000F0000000C000000050000000F0000000C000000060000000F0000000C000000060000000F0000000C000000070000000F0000000C000000070000000F0000000C000000080000000F0000000C000000080000000F0000000C000000090000000F0000000C000000090000000F0000000C0000000A0000000F0000000C0000000A0000000F0000000C0000000B0000000F0000000C0000000B0000000F0000000C0000000C0000000F0000000C0000000C0000000F0000000C0000000D0000000F0000000C0000000D0000000F0000000C0000000E0000000F0000000C0000000E0000000F0000000C0000000F0000000F0000000C0000000F0000000F0000000C000000100000000F0000000C000000100000000F0000000C00000000000000100000000C00000000000000100000000C00000001000000100000000C00000001000000100000000C00000002000000100000000C00000002000000100000000C00000003000000100000000C00000003000000100000000C00000004000000100000000C00000004000000100000000C00000005000000100000000C00000005000000100000000C00000006000000100000000C00000006000000100000000C00000007000000100000000C00000007000000100000000C00000008000000100000000C00000008000000100000000C00000009000000100000000C00000009000000100000000C0000000A000000100000000C0000000A000000100000000C0000000B000000100000000C0000000B000000100000000C0000000C000000100000000C0000000C000000100000000C0000000D000000100000000C0000000D000000100000000C0000000E000000100000000C0000000E000000100000000C0000000F000000100000000C0000000F000000100000000C00000010000000100000000C00000010000000100000000C00000000000000000000000D00000000000000000000000D00000001000000000000000D00000001000000000000000D00000002000000000000000D00000002000000000000000D00000003000000000000000D00000003000000000000000D00000004000000000000000D00000004000000000000000D00000005000000000000000D00000005000000000000000D00000006000000000000000D00000006000000000000000D00000007000000000000000D00000007000000000000000D00000008000000000000000D00000008000000000000000D00000009000000000000000D00000009000000000000000D0000000A000000000000000D0000000A000000000000000D0000000B000000000000000D0000000B000000000000000D0000000C000000000000000D0000000C000000000000000D0000000D000000000000000D0000000D000000000000000D0000000E000000000000000D0000000E000000000000000D0000000F000000000000000D0000000F000000000000000D00000010000000000000000D00000010000000000000000D00000000000000010000000D00000000000000010000000D00000001000000010000000D00000001000000010000000D00000002000000010000000D00000002000000010000000D00000003000000010000000D00000003000000010000000D00000004000000010000000D00000004000000010000000D00000005000000010000000D00000005000000010000000D00000006000000010000000D00000006000000010000000D00000007000000010000000D00000007000000010000000D00000008000000010000000D00000008000000010000000D00000009000000010000000D00000009000000010000000D0000000A000000010000000D0000000A000000010000000D0000000B000000010000000D0000000B000000010000000D0000000C000000010000000D0000000C000000010000000D0000000D000000010000000D0000000D000000010000000D0000000E000000010000000D0000000E000000010000000D0000000F000000010000000D0000000F000000010000000D00000010000000010000000D00000010000000010000000D00000000000000020000000D00000000000000020000000D00000001000000020000000D00000001000000020000000D00000002000000020000000D00000002000000020000000D00000003000000020000000D00000003000000020000000D00000004000000020000000D00000004000000020000000D00000005000000020000000D00000005000000020000000D00000006000000020000000D00000006000000020000000D00000007000000020000000D00000007000000020000000D00000008000000020000000D00000008000000020000000D00000009000000020000000D00000009000000020000000D0000000A000000020000000D0000000A000000020000000D0000000B000000020000000D0000000B000000020000000D0000000C000000020000000D0000000C000000020000000D0000000D000000020000000D0000000D000000020000000D0000000E000000020000000D0000000E000000020000000D0000000F000000020000000D0000000F000000020000000D00000010000000020000000D00000010000000020000000D00000000000000030000000D00000000000000030000000D00000001000000030000000D00000001000000030000000D00000002000000030000000D00000002000000030000000D00000003000000030000000D00000003000000030000000D00000004000000030000000D00000004000000030000000D00000005000000030000000D00000005000000030000000D00000006000000030000000D00000006000000030000000D00000007000000030000000D00000007000000030000000D00000008000000030000000D00000008000000030000000D00000009000000030000000D00000009000000030000000D0000000A000000030000000D0000000A000000030000000D0000000B000000030000000D0000000B000000030000000D0000000C000000030000000D0000000C000000030000000D0000000D000000030000000D0000000D000000030000000D0000000E000000030000000D0000000E000000030000000D0000000F000000030000000D0000000F000000030000000D00000010000000030000000D00000010000000030000000D00000000000000040000000D00000000000000040000000D00000001000000040000000D00000001000000040000000D00000002000000040000000D00000002000000040000000D00000003000000040000000D00000003000000040000000D00000004000000040000000D00000004000000040000000D00000005000000040000000D00000005000000040000000D00000006000000040000000D00000006000000040000000D00000007000000040000000D00000007000000040000000D00000008000000040000000D00000008000000040000000D00000009000000040000000D00000009000000040000000D0000000A000000040000000D0000000A000000040000000D0000000B000000040000000D0000000B000000040000000D0000000C000000040000000D0000000C000000040000000D0000000D000000040000000D0000000D000000040000000D0000000E000000040000000D0000000E000000040000000D0000000F000000040000000D0000000F000000040000000D00000010000000040000000D00000010000000040000000D00000000000000050000000D00000000000000050000000D00000001000000050000000D00000001000000050000000D00000002000000050000000D00000002000000050000000D00000003000000050000000D00000003000000050000000D00000004000000050000000D00000004000000050000000D00000005000000050000000D00000005000000050000000D00000006000000050000000D00000006000000050000000D00000007000000050000000D00000007000000050000000D00000008000000050000000D00000008000000050000000D00000009000000050000000D00000009000000050000000D0000000A000000050000000D0000000A000000050000000D0000000B000000050000000D0000000B000000050000000D0000000C000000050000000D0000000C000000050000000D0000000D000000050000000D0000000D000000050000000D0000000E000000050000000D0000000E000000050000000D0000000F000000050000000D0000000F000000050000000D00000010000000050000000D00000010000000050000000D00000000000000060000000D00000000000000060000000D00000001000000060000000D00000001000000060000000D00000002000000060000000D00000002000000060000000D00000003000000060000000D00000003000000060000000D00000004000000060000000D00000004000000060000000D00000005000000060000000D00000005000000060000000D00000006000000060000000D00000006000000060000000D00000007000000060000000D00000007000000060000000D00000008000000060000000D00000008000000060000000D00000009000000060000000D00000009000000060000000D0000000A000000060000000D0000000A000000060000000D0000000B000000060000000D0000000B000000060000000D0000000C000000060000000D0000000C000000060000000D0000000D000000060000000D0000000D000000060000000D0000000E000000060000000D0000000E000000060000000D0000000F000000060000000D0000000F000000060000000D00000010000000060000000D00000010000000060000000D00000000000000070000000D00000000000000070000000D00000001000000070000000D00000001000000070000000D00000002000000070000000D00000002000000070000000D00000003000000070000000D00000003000000070000000D00000004000000070000000D00000004000000070000000D00000005000000070000000D00000005000000070000000D00000006000000070000000D00000006000000070000000D00000007000000070000000D00000007000000070000000D00000008000000070000000D00000008000000070000000D00000009000000070000000D00000009000000070000000D0000000A000000070000000D0000000A000000070000000D0000000B000000070000000D0000000B000000070000000D0000000C000000070000000D0000000C000000070000000D0000000D000000070000000D0000000D000000070000000D0000000E000000070000000D0000000E000000070000000D0000000F000000070000000D0000000F000000070000000D00000010000000070000000D00000010000000070000000D00000000000000080000000D00000000000000080000000D00000001000000080000000D00000001000000080000000D00000002000000080000000D00000002000000080000000D00000003000000080000000D00000003000000080000000D00000004000000080000000D00000004000000080000000D00000005000000080000000D00000005000000080000000D00000006000000080000000D00000006000000080000000D00000007000000080000000D00000007000000080000000D00000008000000080000000D00000008000000080000000D00000009000000080000000D00000009000000080000000D0000000A000000080000000D0000000A000000080000000D0000000B000000080000000D0000000B000000080000000D0000000C000000080000000D0000000C000000080000000D0000000D000000080000000D0000000D000000080000000D0000000E000000080000000D0000000E000000080000000D0000000F000000080000000D0000000F000000080000000D00000010000000080000000D00000010000000080000000D00000000000000090000000D00000000000000090000000D00000001000000090000000D00000001000000090000000D00000002000000090000000D00000002000000090000000D00000003000000090000000D00000003000000090000000D00000004000000090000000D00000004000000090000000D00000005000000090000000D00000005000000090000000D00000006000000090000000D00000006000000090000000D00000007000000090000000D00000007000000090000000D00000008000000090000000D00000008000000090000000D00000009000000090000000D00000009000000090000000D0000000A000000090000000D0000000A000000090000000D0000000B000000090000000D0000000B000000090000000D0000000C000000090000000D0000000C000000090000000D0000000D000000090000000D0000000D000000090000000D0000000E000000090000000D0000000E000000090000000D0000000F000000090000000D0000000F000000090000000D00000010000000090000000D00000010000000090000000D000000000000000A0000000D000000000000000A0000000D000000010000000A0000000D000000010000000A0000000D000000020000000A0000000D000000020000000A0000000D000000030000000A0000000D000000030000000A0000000D000000040000000A0000000D000000040000000A0000000D000000050000000A0000000D000000050000000A0000000D000000060000000A0000000D000000060000000A0000000D000000070000000A0000000D000000070000000A0000000D000000080000000A0000000D000000080000000A0000000D000000090000000A0000000D000000090000000A0000000D0000000A0000000A0000000D0000000A0000000A0000000D0000000B0000000A0000000D0000000B0000000A0000000D0000000C0000000A0000000D0000000C0000000A0000000D0000000D0000000A0000000D0000000D0000000A0000000D0000000E0000000A0000000D0000000E0000000A0000000D0000000F0000000A0000000D0000000F0000000A0000000D000000100000000A0000000D000000100000000A0000000D000000000000000B0000000D000000000000000B0000000D000000010000000B0000000D000000010000000B0000000D000000020000000B0000000D000000020000000B0000000D000000030000000B0000000D000000030000000B0000000D000000040000000B0000000D000000040000000B0000000D000000050000000B0000000D000000050000000B0000000D000000060000000B0000000D000000060000000B0000000D000000070000000B0000000D000000070000000B0000000D000000080000000B0000000D000000080000000B0000000D000000090000000B0000000D000000090000000B0000000D0000000A0000000B0000000D0000000A0000000B0000000D0000000B0000000B0000000D0000000B0000000B0000000D0000000C0000000B0000000D0000000C0000000B0000000D0000000D0000000B0000000D0000000D0000000B0000000D0000000E0000000B0000000D0000000E0000000B0000000D0000000F0000000B0000000D0000000F0000000B0000000D000000100000000B0000000D000000100000000B0000000D000000000000000C0000000D000000000000000C0000000D000000010000000C0000000D000000010000000C0000000D000000020000000C0000000D000000020000000C0000000D000000030000000C0000000D000000030000000C0000000D000000040000000C0000000D000000040000000C0000000D000000050000000C0000000D000000050000000C0000000D000000060000000C0000000D000000060000000C0000000D000000070000000C0000000D000000070000000C0000000D000000080000000C0000000D000000080000000C0000000D000000090000000C0000000D000000090000000C0000000D0000000A0000000C0000000D0000000A0000000C0000000D0000000B0000000C0000000D0000000B0000000C0000000D0000000C0000000C0000000D0000000C0000000C0000000D0000000D0000000C0000000D0000000D0000000C0000000D0000000E0000000C0000000D0000000E0000000C0000000D0000000F0000000C0000000D0000000F0000000C0000000D000000100000000C0000000D000000100000000C0000000D000000000000000D0000000D000000000000000D0000000D000000010000000D0000000D000000010000000D0000000D000000020000000D0000000D000000020000000D0000000D000000030000000D0000000D000000030000000D0000000D000000040000000D0000000D000000040000000D0000000D000000050000000D0000000D000000050000000D0000000D000000060000000D0000000D000000060000000D0000000D000000070000000D0000000D000000070000000D0000000D000000080000000D0000000D000000080000000D0000000D000000090000000D0000000D000000090000000D0000000D0000000A0000000D0000000D0000000A0000000D0000000D0000000B0000000D0000000D0000000B0000000D0000000D0000000C0000000D0000000D0000000C0000000D0000000D0000000D0000000D0000000D0000000D0000000D0000000D0000000E0000000D0000000D0000000E0000000D0000000D0000000F0000000D0000000D0000000F0000000D0000000D000000100000000D0000000D000000100000000D0000000D000000000000000E0000000D000000000000000E0000000D000000010000000E0000000D000000010000000E0000000D000000020000000E0000000D000000020000000E0000000D000000030000000E0000000D000000030000000E0000000D000000040000000E0000000D000000040000000E0000000D000000050000000E0000000D000000050000000E0000000D000000060000000E0000000D000000060000000E0000000D000000070000000E0000000D000000070000000E0000000D000000080000000E0000000D000000080000000E0000000D000000090000000E0000000D000000090000000E0000000D0000000A0000000E0000000D0000000A0000000E0000000D0000000B0000000E0000000D0000000B0000000E0000000D0000000C0000000E0000000D0000000C0000000E0000000D0000000D0000000E0000000D0000000D0000000E0000000D0000000E0000000E0000000D0000000E0000000E0000000D0000000F0000000E0000000D0000000F0000000E0000000D000000100000000E0000000D000000100000000E0000000D000000000000000F0000000D000000000000000F0000000D000000010000000F0000000D000000010000000F0000000D000000020000000F0000000D000000020000000F0000000D000000030000000F0000000D000000030000000F0000000D000000040000000F0000000D000000040000000F0000000D000000050000000F0000000D000000050000000F0000000D000000060000000F0000000D000000060000000F0000000D000000070000000F0000000D000000070000000F0000000D000000080000000F0000000D000000080000000F0000000D000000090000000F0000000D000000090000000F0000000D0000000A0000000F0000000D0000000A0000000F0000000D0000000B0000000F0000000D0000000B0000000F0000000D0000000C0000000F0000000D0000000C0000000F0000000D0000000D0000000F0000000D0000000D0000000F0000000D0000000E0000000F0000000D0000000E0000000F0000000D0000000F0000000F0000000D0000000F0000000F0000000D000000100000000F0000000D000000100000000F0000000D00000000000000100000000D00000000000000100000000D00000001000000100000000D00000001000000100000000D00000002000000100000000D00000002000000100000000D00000003000000100000000D00000003000000100000000D00000004000000100000000D00000004000000100000000D00000005000000100000000D00000005000000100000000D00000006000000100000000D00000006000000100000000D00000007000000100000000D00000007000000100000000D00000008000000100000000D00000008000000100000000D00000009000000100000000D00000009000000100000000D0000000A000000100000000D0000000A000000100000000D0000000B000000100000000D0000000B000000100000000D0000000C000000100000000D0000000C000000100000000D0000000D000000100000000D0000000D000000100000000D0000000E000000100000000D0000000E000000100000000D0000000F000000100000000D0000000F000000100000000D00000010000000100000000D00000010000000100000000D00000000000000000000000E00000000000000000000000E00000001000000000000000E00000001000000000000000E00000002000000000000000E00000002000000000000000E00000003000000000000000E00000003000000000000000E00000004000000000000000E00000004000000000000000E00000005000000000000000E00000005000000000000000E00000006000000000000000E00000006000000000000000E00000007000000000000000E00000007000000000000000E00000008000000000000000E00000008000000000000000E00000009000000000000000E00000009000000000000000E0000000A000000000000000E0000000A000000000000000E0000000B000000000000000E0000000B000000000000000E0000000C000000000000000E0000000C000000000000000E0000000D000000000000000E0000000D000000000000000E0000000E000000000000000E0000000E000000000000000E0000000F000000000000000E0000000F000000000000000E00000010000000000000000E00000010000000000000000E00000000000000010000000E00000000000000010000000E00000001000000010000000E00000001000000010000000E00000002000000010000000E00000002000000010000000E00000003000000010000000E00000003000000010000000E00000004000000010000000E00000004000000010000000E00000005000000010000000E00000005000000010000000E00000006000000010000000E00000006000000010000000E00000007000000010000000E00000007000000010000000E00000008000000010000000E00000008000000010000000E00000009000000010000000E00000009000000010000000E0000000A000000010000000E0000000A000000010000000E0000000B000000010000000E0000000B000000010000000E0000000C000000010000000E0000000C000000010000000E0000000D000000010000000E0000000D000000010000000E0000000E000000010000000E0000000E000000010000000E0000000F000000010000000E0000000F000000010000000E00000010000000010000000E00000010000000010000000E00000000000000020000000E00000000000000020000000E00000001000000020000000E00000001000000020000000E00000002000000020000000E00000002000000020000000E00000003000000020000000E00000003000000020000000E00000004000000020000000E00000004000000020000000E00000005000000020000000E00000005000000020000000E00000006000000020000000E00000006000000020000000E00000007000000020000000E00000007000000020000000E00000008000000020000000E00000008000000020000000E00000009000000020000000E00000009000000020000000E0000000A000000020000000E0000000A000000020000000E0000000B000000020000000E0000000B000000020000000E0000000C000000020000000E0000000C000000020000000E0000000D000000020000000E0000000D000000020000000E0000000E000000020000000E0000000E000000020000000E0000000F000000020000000E0000000F000000020000000E00000010000000020000000E00000010000000020000000E00000000000000030000000E00000000000000030000000E00000001000000030000000E00000001000000030000000E00000002000000030000000E00000002000000030000000E00000003000000030000000E00000003000000030000000E00000004000000030000000E00000004000000030000000E00000005000000030000000E00000005000000030000000E00000006000000030000000E00000006000000030000000E00000007000000030000000E00000007000000030000000E00000008000000030000000E00000008000000030000000E00000009000000030000000E00000009000000030000000E0000000A000000030000000E0000000A000000030000000E0000000B000000030000000E0000000B000000030000000E0000000C000000030000000E0000000C000000030000000E0000000D000000030000000E0000000D000000030000000E0000000E000000030000000E0000000E000000030000000E0000000F000000030000000E0000000F000000030000000E00000010000000030000000E00000010000000030000000E00000000000000040000000E00000000000000040000000E00000001000000040000000E00000001000000040000000E00000002000000040000000E00000002000000040000000E00000003000000040000000E00000003000000040000000E00000004000000040000000E00000004000000040000000E00000005000000040000000E00000005000000040000000E00000006000000040000000E00000006000000040000000E00000007000000040000000E00000007000000040000000E00000008000000040000000E00000008000000040000000E00000009000000040000000E00000009000000040000000E0000000A000000040000000E0000000A000000040000000E0000000B000000040000000E0000000B000000040000000E0000000C000000040000000E0000000C000000040000000E0000000D000000040000000E0000000D000000040000000E0000000E000000040000000E0000000E000000040000000E0000000F000000040000000E0000000F000000040000000E00000010000000040000000E00000010000000040000000E00000000000000050000000E00000000000000050000000E00000001000000050000000E00000001000000050000000E00000002000000050000000E00000002000000050000000E00000003000000050000000E00000003000000050000000E00000004000000050000000E00000004000000050000000E00000005000000050000000E00000005000000050000000E00000006000000050000000E00000006000000050000000E00000007000000050000000E00000007000000050000000E00000008000000050000000E00000008000000050000000E00000009000000050000000E00000009000000050000000E0000000A000000050000000E0000000A000000050000000E0000000B000000050000000E0000000B000000050000000E0000000C000000050000000E0000000C000000050000000E0000000D000000050000000E0000000D000000050000000E0000000E000000050000000E0000000E000000050000000E0000000F000000050000000E0000000F000000050000000E00000010000000050000000E00000010000000050000000E00000000000000060000000E00000000000000060000000E00000001000000060000000E00000001000000060000000E00000002000000060000000E00000002000000060000000E00000003000000060000000E00000003000000060000000E00000004000000060000000E00000004000000060000000E00000005000000060000000E00000005000000060000000E00000006000000060000000E00000006000000060000000E00000007000000060000000E00000007000000060000000E00000008000000060000000E00000008000000060000000E00000009000000060000000E00000009000000060000000E0000000A000000060000000E0000000A000000060000000E0000000B000000060000000E0000000B000000060000000E0000000C000000060000000E0000000C000000060000000E0000000D000000060000000E0000000D000000060000000E0000000E000000060000000E0000000E000000060000000E0000000F000000060000000E0000000F000000060000000E00000010000000060000000E00000010000000060000000E00000000000000070000000E00000000000000070000000E00000001000000070000000E00000001000000070000000E00000002000000070000000E00000002000000070000000E00000003000000070000000E00000003000000070000000E00000004000000070000000E00000004000000070000000E00000005000000070000000E00000005000000070000000E00000006000000070000000E00000006000000070000000E00000007000000070000000E00000007000000070000000E00000008000000070000000E00000008000000070000000E00000009000000070000000E00000009000000070000000E0000000A000000070000000E0000000A000000070000000E0000000B000000070000000E0000000B000000070000000E0000000C000000070000000E0000000C000000070000000E0000000D000000070000000E0000000D000000070000000E0000000E000000070000000E0000000E000000070000000E0000000F000000070000000E0000000F000000070000000E00000010000000070000000E00000010000000070000000E00000000000000080000000E00000000000000080000000E00000001000000080000000E00000001000000080000000E00000002000000080000000E00000002000000080000000E00000003000000080000000E00000003000000080000000E00000004000000080000000E00000004000000080000000E00000005000000080000000E00000005000000080000000E00000006000000080000000E00000006000000080000000E00000007000000080000000E00000007000000080000000E00000008000000080000000E00000008000000080000000E00000009000000080000000E00000009000000080000000E0000000A000000080000000E0000000A000000080000000E0000000B000000080000000E0000000B000000080000000E0000000C000000080000000E0000000C000000080000000E0000000D000000080000000E0000000D000000080000000E0000000E000000080000000E0000000E000000080000000E0000000F000000080000000E0000000F000000080000000E00000010000000080000000E00000010000000080000000E00000000000000090000000E00000000000000090000000E00000001000000090000000E00000001000000090000000E00000002000000090000000E00000002000000090000000E00000003000000090000000E00000003000000090000000E00000004000000090000000E00000004000000090000000E00000005000000090000000E00000005000000090000000E00000006000000090000000E00000006000000090000000E00000007000000090000000E00000007000000090000000E00000008000000090000000E00000008000000090000000E00000009000000090000000E00000009000000090000000E0000000A000000090000000E0000000A000000090000000E0000000B000000090000000E0000000B000000090000000E0000000C000000090000000E0000000C000000090000000E0000000D000000090000000E0000000D000000090000000E0000000E000000090000000E0000000E000000090000000E0000000F000000090000000E0000000F000000090000000E00000010000000090000000E00000010000000090000000E000000000000000A0000000E000000000000000A0000000E000000010000000A0000000E000000010000000A0000000E000000020000000A0000000E000000020000000A0000000E000000030000000A0000000E000000030000000A0000000E000000040000000A0000000E000000040000000A0000000E000000050000000A0000000E000000050000000A0000000E000000060000000A0000000E000000060000000A0000000E000000070000000A0000000E000000070000000A0000000E000000080000000A0000000E000000080000000A0000000E000000090000000A0000000E000000090000000A0000000E0000000A0000000A0000000E0000000A0000000A0000000E0000000B0000000A0000000E0000000B0000000A0000000E0000000C0000000A0000000E0000000C0000000A0000000E0000000D0000000A0000000E0000000D0000000A0000000E0000000E0000000A0000000E0000000E0000000A0000000E0000000F0000000A0000000E0000000F0000000A0000000E000000100000000A0000000E000000100000000A0000000E000000000000000B0000000E000000000000000B0000000E000000010000000B0000000E000000010000000B0000000E000000020000000B0000000E000000020000000B0000000E000000030000000B0000000E000000030000000B0000000E000000040000000B0000000E000000040000000B0000000E000000050000000B0000000E000000050000000B0000000E000000060000000B0000000E000000060000000B0000000E000000070000000B0000000E000000070000000B0000000E000000080000000B0000000E000000080000000B0000000E000000090000000B0000000E000000090000000B0000000E0000000A0000000B0000000E0000000A0000000B0000000E0000000B0000000B0000000E0000000B0000000B0000000E0000000C0000000B0000000E0000000C0000000B0000000E0000000D0000000B0000000E0000000D0000000B0000000E0000000E0000000B0000000E0000000E0000000B0000000E0000000F0000000B0000000E0000000F0000000B0000000E000000100000000B0000000E000000100000000B0000000E000000000000000C0000000E000000000000000C0000000E000000010000000C0000000E000000010000000C0000000E000000020000000C0000000E000000020000000C0000000E000000030000000C0000000E000000030000000C0000000E000000040000000C0000000E000000040000000C0000000E000000050000000C0000000E000000050000000C0000000E000000060000000C0000000E000000060000000C0000000E000000070000000C0000000E000000070000000C0000000E000000080000000C0000000E000000080000000C0000000E000000090000000C0000000E000000090000000C0000000E0000000A0000000C0000000E0000000A0000000C0000000E0000000B0000000C0000000E0000000B0000000C0000000E0000000C0000000C0000000E0000000C0000000C0000000E0000000D0000000C0000000E0000000D0000000C0000000E0000000E0000000C0000000E0000000E0000000C0000000E0000000F0000000C0000000E0000000F0000000C0000000E000000100000000C0000000E000000100000000C0000000E000000000000000D0000000E000000000000000D0000000E000000010000000D0000000E000000010000000D0000000E000000020000000D0000000E000000020000000D0000000E000000030000000D0000000E000000030000000D0000000E000000040000000D0000000E000000040000000D0000000E000000050000000D0000000E000000050000000D0000000E000000060000000D0000000E000000060000000D0000000E000000070000000D0000000E000000070000000D0000000E000000080000000D0000000E000000080000000D0000000E000000090000000D0000000E000000090000000D0000000E0000000A0000000D0000000E0000000A0000000D0000000E0000000B0000000D0000000E0000000B0000000D0000000E0000000C0000000D0000000E0000000C0000000D0000000E0000000D0000000D0000000E0000000D0000000D0000000E0000000E0000000D0000000E0000000E0000000D0000000E0000000F0000000D0000000E0000000F0000000D0000000E000000100000000D0000000E000000100000000D0000000E000000000000000E0000000E000000000000000E0000000E000000010000000E0000000E000000010000000E0000000E000000020000000E0000000E000000020000000E0000000E000000030000000E0000000E000000030000000E0000000E000000040000000E0000000E000000040000000E0000000E000000050000000E0000000E000000050000000E0000000E000000060000000E0000000E000000060000000E0000000E000000070000000E0000000E000000070000000E0000000E000000080000000E0000000E000000080000000E0000000E000000090000000E0000000E000000090000000E0000000E0000000A0000000E0000000E0000000A0000000E0000000E0000000B0000000E0000000E0000000B0000000E0000000E0000000C0000000E0000000E0000000C0000000E0000000E0000000D0000000E0000000E0000000D0000000E0000000E0000000E0000000E0000000E0000000E0000000E0000000E0000000F0000000E0000000E0000000F0000000E0000000E000000100000000E0000000E000000100000000E0000000E000000000000000F0000000E000000000000000F0000000E000000010000000F0000000E000000010000000F0000000E000000020000000F0000000E000000020000000F0000000E000000030000000F0000000E000000030000000F0000000E000000040000000F0000000E000000040000000F0000000E000000050000000F0000000E000000050000000F0000000E000000060000000F0000000E000000060000000F0000000E000000070000000F0000000E000000070000000F0000000E000000080000000F0000000E000000080000000F0000000E000000090000000F0000000E000000090000000F0000000E0000000A0000000F0000000E0000000A0000000F0000000E0000000B0000000F0000000E0000000B0000000F0000000E0000000C0000000F0000000E0000000C0000000F0000000E0000000D0000000F0000000E0000000D0000000F0000000E0000000E0000000F0000000E0000000E0000000F0000000E0000000F0000000F0000000E0000000F0000000F0000000E000000100000000F0000000E000000100000000F0000000E00000000000000100000000E00000000000000100000000E00000001000000100000000E00000001000000100000000E00000002000000100000000E00000002000000100000000E00000003000000100000000E00000003000000100000000E00000004000000100000000E00000004000000100000000E00000005000000100000000E00000005000000100000000E00000006000000100000000E00000006000000100000000E00000007000000100000000E00000007000000100000000E00000008000000100000000E00000008000000100000000E00000009000000100000000E00000009000000100000000E0000000A000000100000000E0000000A000000100000000E0000000B000000100000000E0000000B000000100000000E0000000C000000100000000E0000000C000000100000000E0000000D000000100000000E0000000D000000100000000E0000000E000000100000000E0000000E000000100000000E0000000F000000100000000E0000000F000000100000000E00000010000000100000000E00000010000000100000000E00000000000000000000000F00000000000000000000000F00000001000000000000000F00000001000000000000000F00000002000000000000000F00000002000000000000000F00000003000000000000000F00000003000000000000000F00000004000000000000000F00000004000000000000000F00000005000000000000000F00000005000000000000000F00000006000000000000000F00000006000000000000000F00000007000000000000000F00000007000000000000000F00000008000000000000000F00000008000000000000000F00000009000000000000000F00000009000000000000000F0000000A000000000000000F0000000A000000000000000F0000000B000000000000000F0000000B000000000000000F0000000C000000000000000F0000000C000000000000000F0000000D000000000000000F0000000D000000000000000F0000000E000000000000000F0000000E000000000000000F0000000F000000000000000F0000000F000000000000000F00000010000000000000000F00000010000000000000000F00000000000000010000000F00000000000000010000000F00000001000000010000000F00000001000000010000000F00000002000000010000000F00000002000000010000000F00000003000000010000000F00000003000000010000000F00000004000000010000000F00000004000000010000000F00000005000000010000000F00000005000000010000000F00000006000000010000000F00000006000000010000000F00000007000000010000000F00000007000000010000000F00000008000000010000000F00000008000000010000000F00000009000000010000000F00000009000000010000000F0000000A000000010000000F0000000A000000010000000F0000000B000000010000000F0000000B000000010000000F0000000C000000010000000F0000000C000000010000000F0000000D000000010000000F0000000D000000010000000F0000000E000000010000000F0000000E000000010000000F0000000F000000010000000F0000000F000000010000000F00000010000000010000000F00000010000000010000000F00000000000000020000000F00000000000000020000000F00000001000000020000000F00000001000000020000000F00000002000000020000000F00000002000000020000000F00000003000000020000000F00000003000000020000000F00000004000000020000000F00000004000000020000000F00000005000000020000000F00000005000000020000000F00000006000000020000000F00000006000000020000000F00000007000000020000000F00000007000000020000000F00000008000000020000000F00000008000000020000000F00000009000000020000000F00000009000000020000000F0000000A000000020000000F0000000A000000020000000F0000000B000000020000000F0000000B000000020000000F0000000C000000020000000F0000000C000000020000000F0000000D000000020000000F0000000D000000020000000F0000000E000000020000000F0000000E000000020000000F0000000F000000020000000F0000000F000000020000000F00000010000000020000000F00000010000000020000000F00000000000000030000000F00000000000000030000000F00000001000000030000000F00000001000000030000000F00000002000000030000000F00000002000000030000000F00000003000000030000000F00000003000000030000000F00000004000000030000000F00000004000000030000000F00000005000000030000000F00000005000000030000000F00000006000000030000000F00000006000000030000000F00000007000000030000000F00000007000000030000000F00000008000000030000000F00000008000000030000000F00000009000000030000000F00000009000000030000000F0000000A000000030000000F0000000A000000030000000F0000000B000000030000000F0000000B000000030000000F0000000C000000030000000F0000000C000000030000000F0000000D000000030000000F0000000D000000030000000F0000000E000000030000000F0000000E000000030000000F0000000F000000030000000F0000000F000000030000000F00000010000000030000000F00000010000000030000000F00000000000000040000000F00000000000000040000000F00000001000000040000000F00000001000000040000000F00000002000000040000000F00000002000000040000000F00000003000000040000000F00000003000000040000000F00000004000000040000000F00000004000000040000000F00000005000000040000000F00000005000000040000000F00000006000000040000000F00000006000000040000000F00000007000000040000000F00000007000000040000000F00000008000000040000000F00000008000000040000000F00000009000000040000000F00000009000000040000000F0000000A000000040000000F0000000A000000040000000F0000000B000000040000000F0000000B000000040000000F0000000C000000040000000F0000000C000000040000000F0000000D000000040000000F0000000D000000040000000F0000000E000000040000000F0000000E000000040000000F0000000F000000040000000F0000000F000000040000000F00000010000000040000000F00000010000000040000000F00000000000000050000000F00000000000000050000000F00000001000000050000000F00000001000000050000000F00000002000000050000000F00000002000000050000000F00000003000000050000000F00000003000000050000000F00000004000000050000000F00000004000000050000000F00000005000000050000000F00000005000000050000000F00000006000000050000000F00000006000000050000000F00000007000000050000000F00000007000000050000000F00000008000000050000000F00000008000000050000000F00000009000000050000000F00000009000000050000000F0000000A000000050000000F0000000A000000050000000F0000000B000000050000000F0000000B000000050000000F0000000C000000050000000F0000000C000000050000000F0000000D000000050000000F0000000D000000050000000F0000000E000000050000000F0000000E000000050000000F0000000F000000050000000F0000000F000000050000000F00000010000000050000000F00000010000000050000000F00000000000000060000000F00000000000000060000000F00000001000000060000000F00000001000000060000000F00000002000000060000000F00000002000000060000000F00000003000000060000000F00000003000000060000000F00000004000000060000000F00000004000000060000000F00000005000000060000000F00000005000000060000000F00000006000000060000000F00000006000000060000000F00000007000000060000000F00000007000000060000000F00000008000000060000000F00000008000000060000000F00000009000000060000000F00000009000000060000000F0000000A000000060000000F0000000A000000060000000F0000000B000000060000000F0000000B000000060000000F0000000C000000060000000F0000000C000000060000000F0000000D000000060000000F0000000D000000060000000F0000000E000000060000000F0000000E000000060000000F0000000F000000060000000F0000000F000000060000000F00000010000000060000000F00000010000000060000000F00000000000000070000000F00000000000000070000000F00000001000000070000000F00000001000000070000000F00000002000000070000000F00000002000000070000000F00000003000000070000000F00000003000000070000000F00000004000000070000000F00000004000000070000000F00000005000000070000000F00000005000000070000000F00000006000000070000000F00000006000000070000000F00000007000000070000000F00000007000000070000000F00000008000000070000000F00000008000000070000000F00000009000000070000000F00000009000000070000000F0000000A000000070000000F0000000A000000070000000F0000000B000000070000000F0000000B000000070000000F0000000C000000070000000F0000000C000000070000000F0000000D000000070000000F0000000D000000070000000F0000000E000000070000000F0000000E000000070000000F0000000F000000070000000F0000000F000000070000000F00000010000000070000000F00000010000000070000000F00000000000000080000000F00000000000000080000000F00000001000000080000000F00000001000000080000000F00000002000000080000000F00000002000000080000000F00000003000000080000000F00000003000000080000000F00000004000000080000000F00000004000000080000000F00000005000000080000000F00000005000000080000000F00000006000000080000000F00000006000000080000000F00000007000000080000000F00000007000000080000000F00000008000000080000000F00000008000000080000000F00000009000000080000000F00000009000000080000000F0000000A000000080000000F0000000A000000080000000F0000000B000000080000000F0000000B000000080000000F0000000C000000080000000F0000000C000000080000000F0000000D000000080000000F0000000D000000080000000F0000000E000000080000000F0000000E000000080000000F0000000F000000080000000F0000000F000000080000000F00000010000000080000000F00000010000000080000000F00000000000000090000000F00000000000000090000000F00000001000000090000000F00000001000000090000000F00000002000000090000000F00000002000000090000000F00000003000000090000000F00000003000000090000000F00000004000000090000000F00000004000000090000000F00000005000000090000000F00000005000000090000000F00000006000000090000000F00000006000000090000000F00000007000000090000000F00000007000000090000000F00000008000000090000000F00000008000000090000000F00000009000000090000000F00000009000000090000000F0000000A000000090000000F0000000A000000090000000F0000000B000000090000000F0000000B000000090000000F0000000C000000090000000F0000000C000000090000000F0000000D000000090000000F0000000D000000090000000F0000000E000000090000000F0000000E000000090000000F0000000F000000090000000F0000000F000000090000000F00000010000000090000000F00000010000000090000000F000000000000000A0000000F000000000000000A0000000F000000010000000A0000000F000000010000000A0000000F000000020000000A0000000F000000020000000A0000000F000000030000000A0000000F000000030000000A0000000F000000040000000A0000000F000000040000000A0000000F000000050000000A0000000F000000050000000A0000000F000000060000000A0000000F000000060000000A0000000F000000070000000A0000000F000000070000000A0000000F000000080000000A0000000F000000080000000A0000000F000000090000000A0000000F000000090000000A0000000F0000000A0000000A0000000F0000000A0000000A0000000F0000000B0000000A0000000F0000000B0000000A0000000F0000000C0000000A0000000F0000000C0000000A0000000F0000000D0000000A0000000F0000000D0000000A0000000F0000000E0000000A0000000F0000000E0000000A0000000F0000000F0000000A0000000F0000000F0000000A0000000F000000100000000A0000000F000000100000000A0000000F000000000000000B0000000F000000000000000B0000000F000000010000000B0000000F000000010000000B0000000F000000020000000B0000000F000000020000000B0000000F000000030000000B0000000F000000030000000B0000000F000000040000000B0000000F000000040000000B0000000F000000050000000B0000000F000000050000000B0000000F000000060000000B0000000F000000060000000B0000000F000000070000000B0000000F000000070000000B0000000F000000080000000B0000000F000000080000000B0000000F000000090000000B0000000F000000090000000B0000000F0000000A0000000B0000000F0000000A0000000B0000000F0000000B0000000B0000000F0000000B0000000B0000000F0000000C0000000B0000000F0000000C0000000B0000000F0000000D0000000B0000000F0000000D0000000B0000000F0000000E0000000B0000000F0000000E0000000B0000000F0000000F0000000B0000000F0000000F0000000B0000000F000000100000000B0000000F000000100000000B0000000F000000000000000C0000000F000000000000000C0000000F000000010000000C0000000F000000010000000C0000000F000000020000000C0000000F000000020000000C0000000F000000030000000C0000000F000000030000000C0000000F000000040000000C0000000F000000040000000C0000000F000000050000000C0000000F000000050000000C0000000F000000060000000C0000000F000000060000000C0000000F000000070000000C0000000F000000070000000C0000000F000000080000000C0000000F000000080000000C0000000F000000090000000C0000000F000000090000000C0000000F0000000A0000000C0000000F0000000A0000000C0000000F0000000B0000000C0000000F0000000B0000000C0000000F0000000C0000000C0000000F0000000C0000000C0000000F0000000D0000000C0000000F0000000D0000000C0000000F0000000E0000000C0000000F0000000E0000000C0000000F0000000F0000000C0000000F0000000F0000000C0000000F000000100000000C0000000F000000100000000C0000000F000000000000000D0000000F000000000000000D0000000F000000010000000D0000000F000000010000000D0000000F000000020000000D0000000F000000020000000D0000000F000000030000000D0000000F000000030000000D0000000F000000040000000D0000000F000000040000000D0000000F000000050000000D0000000F000000050000000D0000000F000000060000000D0000000F000000060000000D0000000F000000070000000D0000000F000000070000000D0000000F000000080000000D0000000F000000080000000D0000000F000000090000000D0000000F000000090000000D0000000F0000000A0000000D0000000F0000000A0000000D0000000F0000000B0000000D0000000F0000000B0000000D0000000F0000000C0000000D0000000F0000000C0000000D0000000F0000000D0000000D0000000F0000000D0000000D0000000F0000000E0000000D0000000F0000000E0000000D0000000F0000000F0000000D0000000F0000000F0000000D0000000F000000100000000D0000000F000000100000000D0000000F000000000000000E0000000F000000000000000E0000000F000000010000000E0000000F000000010000000E0000000F000000020000000E0000000F000000020000000E0000000F000000030000000E0000000F000000030000000E0000000F000000040000000E0000000F000000040000000E0000000F000000050000000E0000000F000000050000000E0000000F000000060000000E0000000F000000060000000E0000000F000000070000000E0000000F000000070000000E0000000F000000080000000E0000000F000000080000000E0000000F000000090000000E0000000F000000090000000E0000000F0000000A0000000E0000000F0000000A0000000E0000000F0000000B0000000E0000000F0000000B0000000E0000000F0000000C0000000E0000000F0000000C0000000E0000000F0000000D0000000E0000000F0000000D0000000E0000000F0000000E0000000E0000000F0000000E0000000E0000000F0000000F0000000E0000000F0000000F0000000E0000000F000000100000000E0000000F000000100000000E0000000F000000000000000F0000000F000000000000000F0000000F000000010000000F0000000F000000010000000F0000000F000000020000000F0000000F000000020000000F0000000F000000030000000F0000000F000000030000000F0000000F000000040000000F0000000F000000040000000F0000000F000000050000000F0000000F000000050000000F0000000F000000060000000F0000000F000000060000000F0000000F000000070000000F0000000F000000070000000F0000000F000000080000000F0000000F000000080000000F0000000F000000090000000F0000000F000000090000000F0000000F0000000A0000000F0000000F0000000A0000000F0000000F0000000B0000000F0000000F0000000B0000000F0000000F0000000C0000000F0000000F0000000C0000000F0000000F0000000D0000000F0000000F0000000D0000000F0000000F0000000E0000000F0000000F0000000E0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000000100000000F0000000F000000100000000F0000000F00000000000000100000000F00000000000000100000000F00000001000000100000000F00000001000000100000000F00000002000000100000000F00000002000000100000000F00000003000000100000000F00000003000000100000000F00000004000000100000000F00000004000000100000000F00000005000000100000000F00000005000000100000000F00000006000000100000000F00000006000000100000000F00000007000000100000000F00000007000000100000000F00000008000000100000000F00000008000000100000000F00000009000000100000000F00000009000000100000000F0000000A000000100000000F0000000A000000100000000F0000000B000000100000000F0000000B000000100000000F0000000C000000100000000F0000000C000000100000000F0000000D000000100000000F0000000D000000100000000F0000000E000000100000000F0000000E000000100000000F0000000F000000100000000F0000000F000000100000000F00000010000000100000000F00000010000000100000000F0000000000000000000000100000000000000000000000100000000100000000000000100000000100000000000000100000000200000000000000100000000200000000000000100000000300000000000000100000000300000000000000100000000400000000000000100000000400000000000000100000000500000000000000100000000500000000000000100000000600000000000000100000000600000000000000100000000700000000000000100000000700000000000000100000000800000000000000100000000800000000000000100000000900000000000000100000000900000000000000100000000A00000000000000100000000A00000000000000100000000B00000000000000100000000B00000000000000100000000C00000000000000100000000C00000000000000100000000D00000000000000100000000D00000000000000100000000E00000000000000100000000E00000000000000100000000F00000000000000100000000F00000000000000100000001000000000000000100000001000000000000000100000000000000001000000100000000000000001000000100000000100000001000000100000000100000001000000100000000200000001000000100000000200000001000000100000000300000001000000100000000300000001000000100000000400000001000000100000000400000001000000100000000500000001000000100000000500000001000000100000000600000001000000100000000600000001000000100000000700000001000000100000000700000001000000100000000800000001000000100000000800000001000000100000000900000001000000100000000900000001000000100000000A00000001000000100000000A00000001000000100000000B00000001000000100000000B00000001000000100000000C00000001000000100000000C00000001000000100000000D00000001000000100000000D00000001000000100000000E00000001000000100000000E00000001000000100000000F00000001000000100000000F00000001000000100000001000000001000000100000001000000001000000100000000000000002000000100000000000000002000000100000000100000002000000100000000100000002000000100000000200000002000000100000000200000002000000100000000300000002000000100000000300000002000000100000000400000002000000100000000400000002000000100000000500000002000000100000000500000002000000100000000600000002000000100000000600000002000000100000000700000002000000100000000700000002000000100000000800000002000000100000000800000002000000100000000900000002000000100000000900000002000000100000000A00000002000000100000000A00000002000000100000000B00000002000000100000000B00000002000000100000000C00000002000000100000000C00000002000000100000000D00000002000000100000000D00000002000000100000000E00000002000000100000000E00000002000000100000000F00000002000000100000000F00000002000000100000001000000002000000100000001000000002000000100000000000000003000000100000000000000003000000100000000100000003000000100000000100000003000000100000000200000003000000100000000200000003000000100000000300000003000000100000000300000003000000100000000400000003000000100000000400000003000000100000000500000003000000100000000500000003000000100000000600000003000000100000000600000003000000100000000700000003000000100000000700000003000000100000000800000003000000100000000800000003000000100000000900000003000000100000000900000003000000100000000A00000003000000100000000A00000003000000100000000B00000003000000100000000B00000003000000100000000C00000003000000100000000C00000003000000100000000D00000003000000100000000D00000003000000100000000E00000003000000100000000E00000003000000100000000F00000003000000100000000F00000003000000100000001000000003000000100000001000000003000000100000000000000004000000100000000000000004000000100000000100000004000000100000000100000004000000100000000200000004000000100000000200000004000000100000000300000004000000100000000300000004000000100000000400000004000000100000000400000004000000100000000500000004000000100000000500000004000000100000000600000004000000100000000600000004000000100000000700000004000000100000000700000004000000100000000800000004000000100000000800000004000000100000000900000004000000100000000900000004000000100000000A00000004000000100000000A00000004000000100000000B00000004000000100000000B00000004000000100000000C00000004000000100000000C00000004000000100000000D00000004000000100000000D00000004000000100000000E00000004000000100000000E00000004000000100000000F00000004000000100000000F00000004000000100000001000000004000000100000001000000004000000100000000000000005000000100000000000000005000000100000000100000005000000100000000100000005000000100000000200000005000000100000000200000005000000100000000300000005000000100000000300000005000000100000000400000005000000100000000400000005000000100000000500000005000000100000000500000005000000100000000600000005000000100000000600000005000000100000000700000005000000100000000700000005000000100000000800000005000000100000000800000005000000100000000900000005000000100000000900000005000000100000000A00000005000000100000000A00000005000000100000000B00000005000000100000000B00000005000000100000000C00000005000000100000000C00000005000000100000000D00000005000000100000000D00000005000000100000000E00000005000000100000000E00000005000000100000000F00000005000000100000000F00000005000000100000001000000005000000100000001000000005000000100000000000000006000000100000000000000006000000100000000100000006000000100000000100000006000000100000000200000006000000100000000200000006000000100000000300000006000000100000000300000006000000100000000400000006000000100000000400000006000000100000000500000006000000100000000500000006000000100000000600000006000000100000000600000006000000100000000700000006000000100000000700000006000000100000000800000006000000100000000800000006000000100000000900000006000000100000000900000006000000100000000A00000006000000100000000A00000006000000100000000B00000006000000100000000B00000006000000100000000C00000006000000100000000C00000006000000100000000D00000006000000100000000D00000006000000100000000E00000006000000100000000E00000006000000100000000F00000006000000100000000F00000006000000100000001000000006000000100000001000000006000000100000000000000007000000100000000000000007000000100000000100000007000000100000000100000007000000100000000200000007000000100000000200000007000000100000000300000007000000100000000300000007000000100000000400000007000000100000000400000007000000100000000500000007000000100000000500000007000000100000000600000007000000100000000600000007000000100000000700000007000000100000000700000007000000100000000800000007000000100000000800000007000000100000000900000007000000100000000900000007000000100000000A00000007000000100000000A00000007000000100000000B00000007000000100000000B00000007000000100000000C00000007000000100000000C00000007000000100000000D00000007000000100000000D00000007000000100000000E00000007000000100000000E00000007000000100000000F00000007000000100000000F00000007000000100000001000000007000000100000001000000007000000100000000000000008000000100000000000000008000000100000000100000008000000100000000100000008000000100000000200000008000000100000000200000008000000100000000300000008000000100000000300000008000000100000000400000008000000100000000400000008000000100000000500000008000000100000000500000008000000100000000600000008000000100000000600000008000000100000000700000008000000100000000700000008000000100000000800000008000000100000000800000008000000100000000900000008000000100000000900000008000000100000000A00000008000000100000000A00000008000000100000000B00000008000000100000000B00000008000000100000000C00000008000000100000000C00000008000000100000000D00000008000000100000000D00000008000000100000000E00000008000000100000000E00000008000000100000000F00000008000000100000000F00000008000000100000001000000008000000100000001000000008000000100000000000000009000000100000000000000009000000100000000100000009000000100000000100000009000000100000000200000009000000100000000200000009000000100000000300000009000000100000000300000009000000100000000400000009000000100000000400000009000000100000000500000009000000100000000500000009000000100000000600000009000000100000000600000009000000100000000700000009000000100000000700000009000000100000000800000009000000100000000800000009000000100000000900000009000000100000000900000009000000100000000A00000009000000100000000A00000009000000100000000B00000009000000100000000B00000009000000100000000C00000009000000100000000C00000009000000100000000D00000009000000100000000D00000009000000100000000E00000009000000100000000E00000009000000100000000F00000009000000100000000F0000000900000010000000100000000900000010000000100000000900000010000000000000000A00000010000000000000000A00000010000000010000000A00000010000000010000000A00000010000000020000000A00000010000000020000000A00000010000000030000000A00000010000000030000000A00000010000000040000000A00000010000000040000000A00000010000000050000000A00000010000000050000000A00000010000000060000000A00000010000000060000000A00000010000000070000000A00000010000000070000000A00000010000000080000000A00000010000000080000000A00000010000000090000000A00000010000000090000000A000000100000000A0000000A000000100000000A0000000A000000100000000B0000000A000000100000000B0000000A000000100000000C0000000A000000100000000C0000000A000000100000000D0000000A000000100000000D0000000A000000100000000E0000000A000000100000000E0000000A000000100000000F0000000A000000100000000F0000000A00000010000000100000000A00000010000000100000000A00000010000000000000000B00000010000000000000000B00000010000000010000000B00000010000000010000000B00000010000000020000000B00000010000000020000000B00000010000000030000000B00000010000000030000000B00000010000000040000000B00000010000000040000000B00000010000000050000000B00000010000000050000000B00000010000000060000000B00000010000000060000000B00000010000000070000000B00000010000000070000000B00000010000000080000000B00000010000000080000000B00000010000000090000000B00000010000000090000000B000000100000000A0000000B000000100000000A0000000B000000100000000B0000000B000000100000000B0000000B000000100000000C0000000B000000100000000C0000000B000000100000000D0000000B000000100000000D0000000B000000100000000E0000000B000000100000000E0000000B000000100000000F0000000B000000100000000F0000000B00000010000000100000000B00000010000000100000000B00000010000000000000000C00000010000000000000000C00000010000000010000000C00000010000000010000000C00000010000000020000000C00000010000000020000000C00000010000000030000000C00000010000000030000000C00000010000000040000000C00000010000000040000000C00000010000000050000000C00000010000000050000000C00000010000000060000000C00000010000000060000000C00000010000000070000000C00000010000000070000000C00000010000000080000000C00000010000000080000000C00000010000000090000000C00000010000000090000000C000000100000000A0000000C000000100000000A0000000C000000100000000B0000000C000000100000000B0000000C000000100000000C0000000C000000100000000C0000000C000000100000000D0000000C000000100000000D0000000C000000100000000E0000000C000000100000000E0000000C000000100000000F0000000C000000100000000F0000000C00000010000000100000000C00000010000000100000000C00000010000000000000000D00000010000000000000000D00000010000000010000000D00000010000000010000000D00000010000000020000000D00000010000000020000000D00000010000000030000000D00000010000000030000000D00000010000000040000000D00000010000000040000000D00000010000000050000000D00000010000000050000000D00000010000000060000000D00000010000000060000000D00000010000000070000000D00000010000000070000000D00000010000000080000000D00000010000000080000000D00000010000000090000000D00000010000000090000000D000000100000000A0000000D000000100000000A0000000D000000100000000B0000000D000000100000000B0000000D000000100000000C0000000D000000100000000C0000000D000000100000000D0000000D000000100000000D0000000D000000100000000E0000000D000000100000000E0000000D000000100000000F0000000D000000100000000F0000000D00000010000000100000000D00000010000000100000000D00000010000000000000000E00000010000000000000000E00000010000000010000000E00000010000000010000000E00000010000000020000000E00000010000000020000000E00000010000000030000000E00000010000000030000000E00000010000000040000000E00000010000000040000000E00000010000000050000000E00000010000000050000000E00000010000000060000000E00000010000000060000000E00000010000000070000000E00000010000000070000000E00000010000000080000000E00000010000000080000000E00000010000000090000000E00000010000000090000000E000000100000000A0000000E000000100000000A0000000E000000100000000B0000000E000000100000000B0000000E000000100000000C0000000E000000100000000C0000000E000000100000000D0000000E000000100000000D0000000E000000100000000E0000000E000000100000000E0000000E000000100000000F0000000E000000100000000F0000000E00000010000000100000000E00000010000000100000000E00000010000000000000000F00000010000000000000000F00000010000000010000000F00000010000000010000000F00000010000000020000000F00000010000000020000000F00000010000000030000000F00000010000000030000000F00000010000000040000000F00000010000000040000000F00000010000000050000000F00000010000000050000000F00000010000000060000000F00000010000000060000000F00000010000000070000000F00000010000000070000000F00000010000000080000000F00000010000000080000000F00000010000000090000000F00000010000000090000000F000000100000000A0000000F000000100000000A0000000F000000100000000B0000000F000000100000000B0000000F000000100000000C0000000F000000100000000C0000000F000000100000000D0000000F000000100000000D0000000F000000100000000E0000000F000000100000000E0000000F000000100000000F0000000F000000100000000F0000000F00000010000000100000000F00000010000000100000000F000000100000000000000010000000100000000000000010000000100000000100000010000000100000000100000010000000100000000200000010000000100000000200000010000000100000000300000010000000100000000300000010000000100000000400000010000000100000000400000010000000100000000500000010000000100000000500000010000000100000000600000010000000100000000600000010000000100000000700000010000000100000000700000010000000100000000800000010000000100000000800000010000000100000000900000010000000100000000900000010000000100000000A00000010000000100000000A00000010000000100000000B00000010000000100000000B00000010000000100000000C00000010000000100000000C00000010000000100000000D00000010000000100000000D00000010000000100000000E00000010000000100000000E00000010000000100000000F00000010000000100000000F00000010000000100000001000000010000000100000001000000010000000100000</Feature>
             <Feature FeatureType="7" Disable="true" DataSize="12300">00000000000100000600000000000000100000002000000030000000400000005000000060000000700000008000000090000000A0000000B0000000C0000000D0000000E0000000F000000001010000110100002101000031010000410100005101000061010000710100008101000091010000A1010000B1010000C1010000D1010000E1010000F101000002020000120200002202000032020000420200005202000062020000720200008202000092020000A2020000B2020000C2020000D2020000E2020000F202000003030000130300002303000033030000430300005303000063030000730300008303000093030000A3030000B3030000C3030000D3030000E3030000F303000004040000140400002404000034040000440400005404000064040000740400008404000094040000A4040000B4040000C4040000D4040000E4040000F404000005050000150500002505000035050000450500005505000065050000750500008505000095050000A5050000B5050000C5050000D5050000E5050000F505000006060000160600002606000036060000460600005606000066060000760600008606000096060000A6060000B6060000C6060000D6060000E6060000F606000007070000170700002707000037070000470700005707000067070000770700008707000097070000A7070000B7070000C7070000D7070000E7070000F707000008080000180800002808000038080000480800005808000068080000780800008808000098080000A8080000B8080000C8080000D8080000E8080000F808000009090000190900002909000039090000490900005909000069090000790900008909000099090000A9090000B9090000C9090000D9090000E9090000F90900000A0A00001A0A00002A0A00003A0A00004A0A00005A0A00006A0A00007A0A00008A0A00009A0A0000AA0A0000BA0A0000CA0A0000DA0A0000EA0A0000FA0A00000B0B00001B0B00002B0B00003B0B00004B0B00005B0B00006B0B00007B0B00008B0B00009B0B0000AB0B0000BB0B0000CB0B0000DB0B0000EB0B0000FB0B00000C0C00001C0C00002C0C00003C0C00004C0C00005C0C00006C0C00007C0C00008C0C00009C0C0000AC0C0000BC0C0000CC0C0000DC0C0000EC0C0000FC0C00000D0D00001D0D00002D0D00003D0D00004D0D00005D0D00006D0D00007D0D00008D0D00009D0D0000AD0D0000BD0D0000CD0D0000DD0D0000ED0D0000FD0D00000E0E00001E0E00002E0E00003E0E00004E0E00005E0E00006E0E00007E0E00008E0E00009E0E0000AE0E0000BE0E0000CE0E0000DE0E0000EE0E0000FE0E00000F0F00001F0F00002F0F00003F0F00004F0F00005F0F00006F0F00007F0F00008F0F00009F0F0000AF0F0000BF0F0000CF0F0000DF0F0000EF0F0000FF0F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000002000000030000000400000005000000060000000700000008000000090000000A0000000B0000000C0000000D0000000E0000000F000000001010000110100002101000031010000410100005101000061010000710100008101000091010000A1010000B1010000C1010000D1010000E1010000F101000002020000120200002202000032020000420200005202000062020000720200008202000092020000A2020000B2020000C2020000D2020000E2020000F202000003030000130300002303000033030000430300005303000063030000730300008303000093030000A3030000B3030000C3030000D3030000E3030000F303000004040000140400002404000034040000440400005404000064040000740400008404000094040000A4040000B4040000C4040000D4040000E4040000F404000005050000150500002505000035050000450500005505000065050000750500008505000095050000A5050000B5050000C5050000D5050000E5050000F505000006060000160600002606000036060000460600005606000066060000760600008606000096060000A6060000B6060000C6060000D6060000E6060000F606000007070000170700002707000037070000470700005707000067070000770700008707000097070000A7070000B7070000C7070000D7070000E7070000F707000008080000180800002808000038080000480800005808000068080000780800008808000098080000A8080000B8080000C8080000D8080000E8080000F808000009090000190900002909000039090000490900005909000069090000790900008909000099090000A9090000B9090000C9090000D9090000E9090000F90900000A0A00001A0A00002A0A00003A0A00004A0A00005A0A00006A0A00007A0A00008A0A00009A0A0000AA0A0000BA0A0000CA0A0000DA0A0000EA0A0000FA0A00000B0B00001B0B00002B0B00003B0B00004B0B00005B0B00006B0B00007B0B00008B0B00009B0B0000AB0B0000BB0B0000CB0B0000DB0B0000EB0B0000FB0B00000C0C00001C0C00002C0C00003C0C00004C0C00005C0C00006C0C00007C0C00008C0C00009C0C0000AC0C0000BC0C0000CC0C0000DC0C0000EC0C0000FC0C00000D0D00001D0D00002D0D00003D0D00004D0D00005D0D00006D0D00007D0D00008D0D00009D0D0000AD0D0000BD0D0000CD0D0000DD0D0000ED0D0000FD0D00000E0E00001E0E00002E0E00003E0E00004E0E00005E0E00006E0E00007E0E00008E0E00009E0E0000AE0E0000BE0E0000CE0E0000DE0E0000EE0E0000FE0E00000F0F00001F0F00002F0F00003F0F00004F0F00005F0F00006F0F00007F0F00008F0F00009F0F0000AF0F0000BF0F0000CF0F0000DF0F0000EF0F0000FF0F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000002000000030000000400000005000000060000000700000008000000090000000A0000000B0000000C0000000D0000000E0000000F000000001010000110100002101000031010000410100005101000061010000710100008101000091010000A1010000B1010000C1010000D1010000E1010000F101000002020000120200002202000032020000420200005202000062020000720200008202000092020000A2020000B2020000C2020000D2020000E2020000F202000003030000130300002303000033030000430300005303000063030000730300008303000093030000A3030000B3030000C3030000D3030000E3030000F303000004040000140400002404000034040000440400005404000064040000740400008404000094040000A4040000B4040000C4040000D4040000E4040000F404000005050000150500002505000035050000450500005505000065050000750500008505000095050000A5050000B5050000C5050000D5050000E5050000F505000006060000160600002606000036060000460600005606000066060000760600008606000096060000A6060000B6060000C6060000D6060000E6060000F606000007070000170700002707000037070000470700005707000067070000770700008707000097070000A7070000B7070000C7070000D7070000E7070000F707000008080000180800002808000038080000480800005808000068080000780800008808000098080000A8080000B8080000C8080000D8080000E8080000F808000009090000190900002909000039090000490900005909000069090000790900008909000099090000A9090000B9090000C9090000D9090000E9090000F90900000A0A00001A0A00002A0A00003A0A00004A0A00005A0A00006A0A00007A0A00008A0A00009A0A0000AA0A0000BA0A0000CA0A0000DA0A0000EA0A0000FA0A00000B0B00001B0B00002B0B00003B0B00004B0B00005B0B00006B0B00007B0B00008B0B00009B0B0000AB0B0000BB0B0000CB0B0000DB0B0000EB0B0000FB0B00000C0C00001C0C00002C0C00003C0C00004C0C00005C0C00006C0C00007C0C00008C0C00009C0C0000AC0C0000BC0C0000CC0C0000DC0C0000EC0C0000FC0C00000D0D00001D0D00002D0D00003D0D00004D0D00005D0D00006D0D00007D0D00008D0D00009D0D0000AD0D0000BD0D0000CD0D0000DD0D0000ED0D0000FD0D00000E0E00001E0E00002E0E00003E0E00004E0E00005E0E00006E0E00007E0E00008E0E00009E0E0000AE0E0000BE0E0000CE0E0000DE0E0000EE0E0000FE0E00000F0F00001F0F00002F0F00003F0F00004F0F00005F0F00006F0F00007F0F00008F0F00009F0F0000AF0F0000BF0F0000CF0F0000DF0F0000EF0F0000FF0F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</Feature>
diff --git a/gralloc/gr_buf_mgr.cpp b/gralloc/gr_buf_mgr.cpp
index e98c6c0..cfb0a9f 100644
--- a/gralloc/gr_buf_mgr.cpp
+++ b/gralloc/gr_buf_mgr.cpp
@@ -1112,7 +1112,11 @@
       android::gralloc4::encodeDataspace(dataspace, out);
       break;
     case (int64_t)StandardMetadataType::INTERLACED:
-      android::gralloc4::encodeInterlaced(qtigralloc::Interlaced_Qti, out);
+      if (metadata->interlaced > 0) {
+        android::gralloc4::encodeInterlaced(qtigralloc::Interlaced_Qti, out);
+      } else {
+        android::gralloc4::encodeInterlaced(android::gralloc4::Interlaced_None, out);
+      }
       break;
     case (int64_t)StandardMetadataType::COMPRESSION:
       if (handle->flags & qtigralloc::PRIV_FLAGS_UBWC_ALIGNED ||
diff --git a/gralloc/gr_utils.cpp b/gralloc/gr_utils.cpp
index 7eeb561..3c093a2 100644
--- a/gralloc/gr_utils.cpp
+++ b/gralloc/gr_utils.cpp
@@ -33,6 +33,7 @@
 
 #include <drm/drm_fourcc.h>
 
+#include <cutils/properties.h>
 #include <algorithm>
 
 #include "gr_adreno_info.h"
@@ -1317,7 +1318,11 @@
       }
     } else if (usage & BufferUsage::CAMERA_OUTPUT) {
       if (format == HAL_PIXEL_FORMAT_YCbCr_420_888) {
-        gr_format = HAL_PIXEL_FORMAT_NV21_ZSL;  // NV21
+        if ((usage & BufferUsage::PROTECTED) && (!CanAllocateZSLForSecureCamera())) {
+          gr_format = HAL_PIXEL_FORMAT_YCrCb_420_SP;  // NV21
+        } else {
+          gr_format = HAL_PIXEL_FORMAT_NV21_ZSL;  // NV21
+        }
       } else {
         gr_format = HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS;  // NV12 preview
       }
@@ -1831,4 +1836,20 @@
   }
 }
 
+bool CanAllocateZSLForSecureCamera() {
+  static bool inited = false;
+  static bool can_allocate = true;
+  if (inited) {
+    return can_allocate;
+  }
+  char property[PROPERTY_VALUE_MAX];
+  property_get("vendor.display.secure_preview_buffer_format", property, "0");
+  if (!(strncmp(property, "420_sp", PROPERTY_VALUE_MAX))) {
+    can_allocate = false;
+  }
+  inited = true;
+  ALOGI("CanAllocateZSLForSecureCamera: %d", can_allocate);
+
+  return can_allocate;
+}
 }  // namespace gralloc
diff --git a/gralloc/gr_utils.h b/gralloc/gr_utils.h
index 40a4260..a29dceb 100644
--- a/gralloc/gr_utils.h
+++ b/gralloc/gr_utils.h
@@ -220,6 +220,7 @@
 
 void GetDRMFormat(uint32_t format, uint32_t flags, uint32_t *drm_format,
                   uint64_t *drm_format_modifier);
+bool CanAllocateZSLForSecureCamera();
 }  // namespace gralloc
 
 #endif  // __GR_UTILS_H__
diff --git a/sdm/libs/core/display_base.cpp b/sdm/libs/core/display_base.cpp
index 174be7a..a5ed937 100644
--- a/sdm/libs/core/display_base.cpp
+++ b/sdm/libs/core/display_base.cpp
@@ -619,21 +619,26 @@
     return kErrorParameters;
   }
 
+  error = ReconfigureDisplay();
+  if (error != kErrorNone) {
+    return error;
+  }
+
   DisablePartialUpdateOneFrame();
 
   if (error == kErrorNone) {
-    if (!pending_doze_ && !pending_power_on_) {
-      active_ = active;
-      state_ = state;
-    }
-    comp_manager_->SetDisplayState(display_comp_ctx_, state,
-                            release_fence ? *release_fence : nullptr);
-
     // If previously requested doze state is still pending reset it on any new display state request
     // and handle the new request.
     if (state != kStateDoze) {
       pending_doze_ = false;
     }
+
+    if (!pending_doze_ && !pending_power_on_) {
+      active_ = active;
+      state_ = state;
+    }
+    comp_manager_->SetDisplayState(display_comp_ctx_, state, release_fence ? *release_fence : -1);
+
     // If previously requested power on state is still pending reset it on any new display state
     // request and handle the new request.
     if (state != kStateOn) {
@@ -2067,6 +2072,11 @@
 
     if (pending_doze_) {
       state_ = kStateDoze;
+      DisplayError error = ReconfigureDisplay();
+      if (error != kErrorNone) {
+        return error;
+      }
+      event_handler_->Refresh();
     }
     if (pending_power_on_) {
       state_ = kStateOn;
diff --git a/sdm/libs/core/display_builtin.cpp b/sdm/libs/core/display_builtin.cpp
index 4fe907c..950b6da 100644
--- a/sdm/libs/core/display_builtin.cpp
+++ b/sdm/libs/core/display_builtin.cpp
@@ -229,6 +229,7 @@
   lock_guard<recursive_mutex> obj(recursive_mutex_);
   DisplayError error = kErrorNone;
   uint32_t app_layer_count = hw_layers_.info.app_layer_count;
+  HWDisplayMode panel_mode = hw_panel_info_.mode;
 
   DTRACE_SCOPED();
 
@@ -301,6 +302,10 @@
     ControlPartialUpdate(true /* enable */, &pending);
   }
 
+  if (panel_mode != hw_panel_info_.mode) {
+    UpdateDisplayModeParams();
+  }
+
   if (dpps_pu_nofiy_pending_) {
     dpps_pu_nofiy_pending_ = false;
     dpps_pu_lock_.Broadcast();
@@ -325,10 +330,22 @@
   return error;
 }
 
+void DisplayBuiltIn::UpdateDisplayModeParams() {
+  if (hw_panel_info_.mode == kModeVideo) {
+    uint32_t pending = 0;
+    ControlPartialUpdate(false /* enable */, &pending);
+  } else if (hw_panel_info_.mode == kModeCommand) {
+    // Flush idle timeout value currently set.
+    comp_manager_->SetIdleTimeoutMs(display_comp_ctx_, 0);
+    switch_to_cmd_ = true;
+  }
+}
+
 DisplayError DisplayBuiltIn::SetDisplayState(DisplayState state, bool teardown,
                                              shared_ptr<Fence> *release_fence) {
   lock_guard<recursive_mutex> obj(recursive_mutex_);
   DisplayError error = kErrorNone;
+  HWDisplayMode panel_mode = hw_panel_info_.mode;
 
   if ((state == kStateOn) && deferred_config_.IsDeferredState()) {
     SetDeferredFpsConfig();
@@ -339,6 +356,10 @@
     return error;
   }
 
+  if (hw_panel_info_.mode != panel_mode) {
+    UpdateDisplayModeParams();
+  }
+
   // Set vsync enable state to false, as driver disables vsync during display power off.
   if (state == kStateOff) {
     vsync_enable_ = false;
@@ -365,7 +386,7 @@
     HWDisplayMode hw_display_mode = static_cast<HWDisplayMode>(mode);
     uint32_t pending = 0;
 
-    if (!active_) {
+    if (!active_ && !pending_doze_ && !pending_power_on_) {
       DLOGW("Invalid display state = %d. Panel must be on.", state_);
       return kErrorNotSupported;
     }
diff --git a/sdm/libs/core/display_builtin.h b/sdm/libs/core/display_builtin.h
index 3db230a..5835e16 100644
--- a/sdm/libs/core/display_builtin.h
+++ b/sdm/libs/core/display_builtin.h
@@ -155,6 +155,7 @@
   bool CanDeferFpsConfig(uint32_t fps);
   void SetDeferredFpsConfig();
   void GetFpsConfig(HWDisplayAttributes *display_attributes, HWPanelInfo *panel_info);
+  void UpdateDisplayModeParams();
 
   const uint32_t kPuTimeOutMs = 1000;
   std::vector<HWEvent> event_list_;
diff --git a/sdm/libs/core/drm/hw_device_drm.cpp b/sdm/libs/core/drm/hw_device_drm.cpp
index b4531e8..4f5748b 100644
--- a/sdm/libs/core/drm/hw_device_drm.cpp
+++ b/sdm/libs/core/drm/hw_device_drm.cpp
@@ -574,6 +574,7 @@
     }
     PopulateDisplayAttributes(i);
   }
+  SetDisplaySwitchMode(current_mode_index_);
 }
 
 DisplayError HWDeviceDRM::PopulateDisplayAttributes(uint32_t index) {
@@ -843,22 +844,20 @@
   return kErrorNone;
 }
 
-DisplayError HWDeviceDRM::SetDisplayAttributes(uint32_t index) {
-  if (index >= display_attributes_.size()) {
-    DLOGE("Invalid mode index %d mode size %d", index, UINT32(display_attributes_.size()));
-    return kErrorParameters;
-  }
-
+void HWDeviceDRM::SetDisplaySwitchMode(uint32_t index) {
   uint32_t mode_flag = 0;
-  uint32_t curr_mode_flag = 0;
+  uint32_t curr_mode_flag = 0, switch_mode_flag = 0;
   drmModeModeInfo to_set = connector_info_.modes[index].mode;
   drmModeModeInfo current_mode = connector_info_.modes[current_mode_index_].mode;
   uint64_t current_bit_clk = connector_info_.modes[current_mode_index_].bit_clk_rate;
+  uint32_t switch_index  = 0;
 
   if (to_set.flags & DRM_MODE_FLAG_CMD_MODE_PANEL) {
     mode_flag = DRM_MODE_FLAG_CMD_MODE_PANEL;
+    switch_mode_flag = DRM_MODE_FLAG_VID_MODE_PANEL;
   } else if (to_set.flags & DRM_MODE_FLAG_VID_MODE_PANEL) {
     mode_flag = DRM_MODE_FLAG_VID_MODE_PANEL;
+    switch_mode_flag = DRM_MODE_FLAG_CMD_MODE_PANEL;
   }
 
   if (current_mode.flags & DRM_MODE_FLAG_CMD_MODE_PANEL) {
@@ -883,6 +882,55 @@
   }
 
   current_mode_index_ = index;
+
+  switch_mode_valid_ = false;
+  for (uint32_t mode_index = 0; mode_index < connector_info_.modes.size(); mode_index++) {
+    if ((to_set.vdisplay == connector_info_.modes[mode_index].mode.vdisplay) &&
+        (to_set.hdisplay == connector_info_.modes[mode_index].mode.hdisplay) &&
+        (to_set.vrefresh == connector_info_.modes[mode_index].mode.vrefresh) &&
+        (switch_mode_flag & connector_info_.modes[mode_index].mode.flags)) {
+      switch_index = mode_index;
+      switch_mode_valid_ = true;
+      break;
+    }
+  }
+
+  if (!switch_mode_valid_) {
+    // in case there is no corresponding switch mode with same fps, try for a switch
+    // mode with lowest fps. This is to handle cases where there are multiple video mode fps
+    // but only one command mode for doze like 30 fps.
+    uint32_t refresh_rate = 0;
+    for (uint32_t mode_index = 0; mode_index < connector_info_.modes.size(); mode_index++) {
+      if ((to_set.vdisplay == connector_info_.modes[mode_index].mode.vdisplay) &&
+          (to_set.hdisplay == connector_info_.modes[mode_index].mode.hdisplay) &&
+          (switch_mode_flag & connector_info_.modes[mode_index].mode.flags)) {
+        if (!refresh_rate || (refresh_rate > connector_info_.modes[mode_index].mode.vrefresh)) {
+          switch_index = mode_index;
+          switch_mode_valid_ = true;
+          refresh_rate = connector_info_.modes[mode_index].mode.vrefresh;
+        }
+      }
+    }
+  }
+
+  if (switch_mode_valid_) {
+    if (mode_flag & DRM_MODE_FLAG_VID_MODE_PANEL) {
+      video_mode_index_ = current_mode_index_;
+      cmd_mode_index_ = switch_index;
+    } else {
+      video_mode_index_ = switch_index;
+      cmd_mode_index_ = current_mode_index_;
+    }
+  }
+}
+
+DisplayError HWDeviceDRM::SetDisplayAttributes(uint32_t index) {
+  if (index >= display_attributes_.size()) {
+    DLOGE("Invalid mode index %d mode size %d", index, UINT32(display_attributes_.size()));
+    return kErrorParameters;
+  }
+
+  SetDisplaySwitchMode(index);
   PopulateHWPanelInfo();
   UpdateMixerAttributes();
 
@@ -896,7 +944,8 @@
         display_attributes_[index].v_front_porch, display_attributes_[index].v_pulse_width,
         display_attributes_[index].v_total, display_attributes_[index].h_total,
         display_attributes_[index].clock_khz, display_attributes_[index].topology,
-        (mode_flag & DRM_MODE_FLAG_VID_MODE_PANEL) ? "Video" : "Command");
+        (connector_info_.modes[index].mode.flags & DRM_MODE_FLAG_VID_MODE_PANEL) ?
+        "Video" : "Command");
 
   return kErrorNone;
 }
@@ -1536,6 +1585,7 @@
           (current_bit_clk == connector_info_.modes[mode_index].bit_clk_rate) &&
           (vrefresh_ == connector_info_.modes[mode_index].mode.vrefresh)) {
         current_mode_index_ = mode_index;
+        SetDisplaySwitchMode(mode_index);
         break;
       }
     }
@@ -1551,6 +1601,7 @@
           (current_mode.vrefresh == connector_info_.modes[mode_index].mode.vrefresh) &&
           (bit_clk_rate_ == connector_info_.modes[mode_index].bit_clk_rate)) {
         current_mode_index_ = mode_index;
+        SetDisplaySwitchMode(mode_index);
         break;
       }
     }
@@ -1772,31 +1823,25 @@
 }
 
 DisplayError HWDeviceDRM::SetDisplayMode(const HWDisplayMode hw_display_mode) {
+  if (!switch_mode_valid_) {
+    return kErrorNotSupported;
+  }
+
   uint32_t mode_flag = 0;
 
   if (hw_display_mode == kModeCommand) {
     mode_flag = DRM_MODE_FLAG_CMD_MODE_PANEL;
+    current_mode_index_ = cmd_mode_index_;
     DLOGI_IF(kTagDriverConfig, "switch panel mode to command");
   } else if (hw_display_mode == kModeVideo) {
     mode_flag = DRM_MODE_FLAG_VID_MODE_PANEL;
+    current_mode_index_ = video_mode_index_;
     DLOGI_IF(kTagDriverConfig, "switch panel mode to video");
   }
-
-  drmModeModeInfo current_mode = connector_info_.modes[current_mode_index_].mode;
-  for (uint32_t mode_index = 0; mode_index < connector_info_.modes.size(); mode_index++) {
-    if ((current_mode.vdisplay == connector_info_.modes[mode_index].mode.vdisplay) &&
-        (current_mode.hdisplay == connector_info_.modes[mode_index].mode.hdisplay) &&
-        (current_mode.vrefresh == connector_info_.modes[mode_index].mode.vrefresh) &&
-        (mode_flag & connector_info_.modes[mode_index].mode.flags)) {
-      current_mode_index_ = mode_index;
-      PopulateHWPanelInfo();
-      panel_mode_changed_ = mode_flag;
-      synchronous_commit_ = true;
-      return kErrorNone;
-    }
-  }
-
-  return kErrorNotSupported;
+  PopulateHWPanelInfo();
+  panel_mode_changed_ = mode_flag;
+  synchronous_commit_ = true;
+  return kErrorNone;
 }
 
 DisplayError HWDeviceDRM::SetRefreshRate(uint32_t refresh_rate) {
diff --git a/sdm/libs/core/drm/hw_device_drm.h b/sdm/libs/core/drm/hw_device_drm.h
index 18ac4f4..bef77ae 100644
--- a/sdm/libs/core/drm/hw_device_drm.h
+++ b/sdm/libs/core/drm/hw_device_drm.h
@@ -240,6 +240,12 @@
   uint64_t bit_clk_rate_ = 0;
   bool update_mode_ = false;
   bool pending_doze_ = false;
+  uint32_t video_mode_index_ = 0;
+  uint32_t cmd_mode_index_ = 0;
+  bool switch_mode_valid_ = false;
+  bool doze_poms_switch_done_ = false;
+  bool pending_poms_switch_ = false;
+  bool active_ = false;
   PrimariesTransfer blend_space_ = {};
   DRMPowerMode last_power_mode_ = DRMPowerMode::OFF;
   uint32_t dest_scaler_blocks_used_ = 0;  // Dest scaler blocks in use by this HWDeviceDRM instance.
@@ -247,6 +253,8 @@
   static std::atomic<uint32_t> hw_dest_scaler_blocks_used_;
 
  private:
+  void SetDisplaySwitchMode(uint32_t index);
+
   std::string interface_str_ = "DSI";
   bool resolution_switch_enabled_ = false;
   bool autorefresh_ = false;
diff --git a/sdm/libs/core/drm/hw_peripheral_drm.cpp b/sdm/libs/core/drm/hw_peripheral_drm.cpp
index 623441b..6105dcd 100644
--- a/sdm/libs/core/drm/hw_peripheral_drm.cpp
+++ b/sdm/libs/core/drm/hw_peripheral_drm.cpp
@@ -128,6 +128,10 @@
     return kErrorNotSupported;
   }
 
+  if (doze_poms_switch_done_ || pending_poms_switch_) {
+    return kErrorNotSupported;
+  }
+
   bit_clk_rate_ = bit_clk_rate;
   update_mode_ = true;
 
@@ -141,7 +145,27 @@
   return kErrorNone;
 }
 
+
+DisplayError HWPeripheralDRM::SetRefreshRate(uint32_t refresh_rate) {
+  if (doze_poms_switch_done_ || pending_poms_switch_) {
+    // poms switch in progress
+    // Defer any refresh rate setting.
+    return kErrorNotSupported;
+  }
+
+  DisplayError error = HWDeviceDRM::SetRefreshRate(refresh_rate);
+  if (error != kErrorNone) {
+    return error;
+  }
+
+  return kErrorNone;
+}
+
 DisplayError HWPeripheralDRM::SetDisplayMode(const HWDisplayMode hw_display_mode) {
+  if (doze_poms_switch_done_ || pending_poms_switch_) {
+    return kErrorNotSupported;
+  }
+
   DisplayError error = HWDeviceDRM::SetDisplayMode(hw_display_mode);
   if (error != kErrorNone) {
     return error;
@@ -188,6 +212,15 @@
 
   // Initialize to default after successful commit
   synchronous_commit_ = false;
+  active_ = true;
+
+  if (pending_poms_switch_) {
+    HWDeviceDRM::SetDisplayMode(kModeCommand);
+    hw_panel_info_.bitclk_rates = bitclk_rates_;
+    doze_poms_switch_done_ = true;
+    pending_poms_switch_ = false;
+  }
+
   idle_pc_state_ = sde_drm::DRMIdlePCState::NONE;
 
   return error;
@@ -497,6 +530,12 @@
     return kErrorDeferred;
   }
 
+  if (switch_mode_valid_ && doze_poms_switch_done_ && (current_mode_index_ == cmd_mode_index_)) {
+    HWDeviceDRM::SetDisplayMode(kModeVideo);
+    hw_panel_info_.bitclk_rates = bitclk_rates_;
+    doze_poms_switch_done_ = false;
+  }
+
   if (!idle_pc_enabled_) {
     drm_atomic_intf_->Perform(sde_drm::DRMOps::CRTC_SET_IDLE_PC_STATE, token_.crtc_id,
                               sde_drm::DRMIdlePCState::ENABLE);
@@ -514,13 +553,80 @@
   }
   idle_pc_state_ = sde_drm::DRMIdlePCState::NONE;
   idle_pc_enabled_ = true;
+  pending_poms_switch_ = false;
+  active_ = true;
 
   CacheDestScalarData();
 
   return kErrorNone;
 }
 
+DisplayError HWPeripheralDRM::PowerOff(bool teardown) {
+  DTRACE_SCOPED();
+
+  DisplayError err = HWDeviceDRM::PowerOff(teardown);
+  if (err != kErrorNone) {
+    return err;
+  }
+
+  pending_poms_switch_ = false;
+  active_ = false;
+
+  return kErrorNone;
+}
+
+DisplayError HWPeripheralDRM::Doze(const HWQosData &qos_data, int *release_fence) {
+  DTRACE_SCOPED();
+
+  if (!first_cycle_ && switch_mode_valid_ && !doze_poms_switch_done_ &&
+    (current_mode_index_ == video_mode_index_)) {
+    if (active_) {
+      HWDeviceDRM::SetDisplayMode(kModeCommand);
+      hw_panel_info_.bitclk_rates = bitclk_rates_;
+      doze_poms_switch_done_ = true;
+    } else {
+      pending_poms_switch_ = true;
+    }
+  }
+
+  DisplayError err = HWDeviceDRM::Doze(qos_data, release_fence);
+  if (err != kErrorNone) {
+    return err;
+  }
+
+  if (first_cycle_) {
+    active_ = true;
+  }
+
+  return kErrorNone;
+}
+
+DisplayError HWPeripheralDRM::DozeSuspend(const HWQosData &qos_data, int *release_fence) {
+  DTRACE_SCOPED();
+
+  if (switch_mode_valid_ && !doze_poms_switch_done_ &&
+    (current_mode_index_ == video_mode_index_)) {
+    HWDeviceDRM::SetDisplayMode(kModeCommand);
+    hw_panel_info_.bitclk_rates = bitclk_rates_;
+    doze_poms_switch_done_ = true;
+  }
+
+  DisplayError err = HWDeviceDRM::DozeSuspend(qos_data, release_fence);
+  if (err != kErrorNone) {
+    return err;
+  }
+
+  pending_poms_switch_ = false;
+  active_ = true;
+
+  return kErrorNone;
+}
+
 DisplayError HWPeripheralDRM::SetDisplayAttributes(uint32_t index) {
+  if (doze_poms_switch_done_ || pending_poms_switch_) {
+    return kErrorNotSupported;
+  }
+
   HWDeviceDRM::SetDisplayAttributes(index);
   // update bit clk rates.
   hw_panel_info_.bitclk_rates = bitclk_rates_;
diff --git a/sdm/libs/core/drm/hw_peripheral_drm.h b/sdm/libs/core/drm/hw_peripheral_drm.h
index 860b52f..d3fa454 100644
--- a/sdm/libs/core/drm/hw_peripheral_drm.h
+++ b/sdm/libs/core/drm/hw_peripheral_drm.h
@@ -57,11 +57,15 @@
   virtual DisplayError HandleSecureEvent(SecureEvent secure_event, HWLayers *hw_layers);
   virtual DisplayError ControlIdlePowerCollapse(bool enable, bool synchronous);
   virtual DisplayError PowerOn(const HWQosData &qos_data, shared_ptr<Fence> *release_fence);
+  virtual DisplayError PowerOff(bool teardown);
+  virtual DisplayError Doze(const HWQosData &qos_data, int *release_fence);
+  virtual DisplayError DozeSuspend(const HWQosData &qos_data, int *release_fence);
   virtual DisplayError SetDisplayDppsAdROI(void *payload);
   virtual DisplayError SetDynamicDSIClock(uint64_t bit_clk_rate);
   virtual DisplayError GetDynamicDSIClock(uint64_t *bit_clk_rate);
   virtual DisplayError SetDisplayAttributes(uint32_t index);
   virtual DisplayError SetDisplayMode(const HWDisplayMode hw_display_mode);
+  virtual DisplayError SetRefreshRate(uint32_t refresh_rate);
   virtual DisplayError TeardownConcurrentWriteback(void);
   virtual DisplayError SetFrameTrigger(FrameTriggerMode mode);
   virtual DisplayError SetPanelBrightness(int level);