diff --git a/dnn/src/common/named_tensor.cpp b/dnn/src/common/named_tensor.cpp index 919145c5..9e952475 100644 --- a/dnn/src/common/named_tensor.cpp +++ b/dnn/src/common/named_tensor.cpp @@ -246,6 +246,8 @@ NamedTensorShape NamedTensorShape::make_named_tensor_shape(Format format) { return {{"N//8"}, {"C//8"}, {"H"}, {"W"}, {"C%8"}, {"N%8"}}; case Format::NCHW44_DOT: return {{"N//4"}, {"C//4"}, {"H"}, {"W"}, {"N%4"}, {"C%4"}}; + case Format::NHWCD4: + return {{"N"}, {"H"}, {"C//4"}, {"W"}, {"C%4"}}; default: megdnn_throw(ssprintf("Format unimplement(%d)", static_cast(format)) .c_str()); diff --git a/src/gopt/impl/global_layout_transform/opr_tensor_formats_config.cpp b/src/gopt/impl/global_layout_transform/opr_tensor_formats_config.cpp index 6ea806bc..b0e93da8 100644 --- a/src/gopt/impl/global_layout_transform/opr_tensor_formats_config.cpp +++ b/src/gopt/impl/global_layout_transform/opr_tensor_formats_config.cpp @@ -229,6 +229,30 @@ struct OprSingleInOutTensorFormatsDispatcherImpl { } }; +template <> +struct OprSingleInOutTensorFormatsDispatcherImpl { + static Maybe dispatch(const OperatorNodeBase* opr) { + OprTensorFormatsConfiguration config; + config.typeinfo = opr->dyn_typeinfo(); + config.opr_format = OprFormat::NHWCD4; + config.config_id = OprFormatConfigID::NHWCD4; + bool available = + opr->input(0)->dtype().enumv() == DTypeEnum::Float32 || + DNN_FLOAT16_SELECT( + (opr->input(0)->dtype().enumv() == DTypeEnum::Float16), true) || + opr->input(0)->dtype().enumv() == DTypeEnum::Int8 || + opr->input(0)->dtype().enumv() == DTypeEnum::QuantizedS8; + config.input_dtypes = {opr->input(0)->dtype().enumv()}; + config.input_tensor_types = {TensorType::FEATURE}; + config.output_dtypes = {opr->output(0)->dtype().enumv()}; + config.input_tensor_formats = {TensorFormats::NHCWc4}; + config.output_tensor_formats = {TensorFormats::NHCWc4}; + if (available) + return config; + return None; + } +}; + template struct ConvTensorFormatsDispatcherImpl; @@ -814,6 +838,55 @@ struct ConvTensorFormatsDispatcherImpl +struct ConvTensorFormatsDispatcherImpl { + static Maybe dispatch(const OperatorNodeBase* opr) { + const auto& conv = opr->cast_final_safe(); + OprTensorFormatsConfiguration config; + config.typeinfo = opr->dyn_typeinfo(); + config.opr_format = OprFormat::NHWCD4; + config.config_id = OprFormatConfigID::NHWCD4; + for (size_t i = 0; i < opr->input().size(); ++i) { + config.input_dtypes.emplace_back(opr->input(i)->dtype().enumv()); + TensorType tensor_type = i == 1 ? TensorType::WEIGHT : TensorType::FEATURE; + config.input_tensor_types.emplace_back(tensor_type); + } + config.output_dtypes.emplace_back(opr->output(0)->dtype().enumv()); + if (conv.param().sparse == Opr::Param::Sparse::DENSE) { + if (opr->input(1)->dtype().enumv() == DTypeEnum::QuantizedS8 || + opr->input(1)->dtype().enumv() == DTypeEnum::Quantized8Asymm) { + config.input_tensor_formats = { + TensorFormats::NHCWc4, TensorFormats::KRSCk4c4, + TensorFormats::NHCWc4, TensorFormats::NHCWc4}; + } else { + config.input_tensor_formats = { + TensorFormats::NHCWc4, TensorFormats::KRSCk4, + TensorFormats::NHCWc4, TensorFormats::NHCWc4}; + } + } else { + mgb_assert(conv.param().sparse == Opr::Param::Sparse::GROUP); + if (is_channel_wise_conv(opr)) { + config.input_tensor_formats = { + TensorFormats::NHCWc4, TensorFormats::C1RSc4, + TensorFormats::NHCWc4, TensorFormats::NHCWc4}; + } else { + if (opr->input(1)->dtype().enumv() == DTypeEnum::QuantizedS8 || + opr->input(1)->dtype().enumv() == DTypeEnum::Quantized8Asymm) { + config.input_tensor_formats = { + TensorFormats::NHCWc4, TensorFormats::GKRSCk4c4, + TensorFormats::NHCWc4, TensorFormats::NHCWc4}; + } else { + config.input_tensor_formats = { + TensorFormats::NHCWc4, TensorFormats::GKRSCk4, + TensorFormats::NHCWc4, TensorFormats::NHCWc4}; + } + } + } + config.output_tensor_formats = {TensorFormats::NHCWc4}; + return config; + } +}; + template <> struct ConvTensorFormatsDispatcherImpl< opr::ConvolutionBackwardData, OprFormatConfigID::NCHW> { @@ -919,6 +992,57 @@ struct ConvTensorFormatsDispatcherImpl< } }; +template <> +struct ConvTensorFormatsDispatcherImpl< + opr::ConvolutionBackwardData, OprFormatConfigID::NHWCD4> { + using Opr = opr::ConvolutionBackwardData; + static Maybe dispatch(const OperatorNodeBase* opr) { + const auto& conv = opr->cast_final_safe(); + OprTensorFormatsConfiguration config; + config.typeinfo = opr->dyn_typeinfo(); + config.opr_format = OprFormat::NHWCD4; + config.config_id = OprFormatConfigID::NHWCD4; + for (size_t i = 0; i < opr->input().size(); ++i) { + config.input_dtypes.emplace_back(opr->input(i)->dtype().enumv()); + TensorType tensor_type = i == 0 ? TensorType::WEIGHT : TensorType::FEATURE; + config.input_tensor_types.emplace_back(tensor_type); + } + config.output_dtypes.emplace_back(opr->output(0)->dtype().enumv()); + if (conv.param().sparse == Opr::Param::Sparse::DENSE) { + if (opr->input(0)->dtype().enumv() == DTypeEnum::QuantizedS8 || + opr->input(0)->dtype().enumv() == DTypeEnum::Quantized8Asymm) { + config.input_tensor_formats = { + TensorFormats::KRSCk4c4, TensorFormats::NHCWc4, + TensorFormats::NHCWc4, TensorFormats::NHCWc4}; + } else { + config.input_tensor_formats = { + TensorFormats::KRSCk4, TensorFormats::NHCWc4, + TensorFormats::NHCWc4, TensorFormats::NHCWc4}; + } + } else { + mgb_assert(conv.param().sparse == Opr::Param::Sparse::GROUP); + if (is_channel_wise_conv(opr)) { + config.input_tensor_formats = { + TensorFormats::C1RSc4, TensorFormats::NHCWc4, + TensorFormats::NHCWc4, TensorFormats::NHCWc4}; + } else { + if (opr->input(0)->dtype().enumv() == DTypeEnum::QuantizedS8 || + opr->input(0)->dtype().enumv() == DTypeEnum::Quantized8Asymm) { + config.input_tensor_formats = { + TensorFormats::GKRSCk4c4, TensorFormats::NHCWc4, + TensorFormats::NHCWc4, TensorFormats::NHCWc4}; + } else { + config.input_tensor_formats = { + TensorFormats::GKRSCk4, TensorFormats::NHCWc4, + TensorFormats::NHCWc4, TensorFormats::NHCWc4}; + } + } + } + config.output_tensor_formats = {TensorFormats::NHCWc4}; + return config; + } +}; + struct StaticData { struct KeyHash { size_t operator()(const std::pair& val) const { @@ -969,6 +1093,7 @@ StaticData::StaticData() { OPR_TENSOR_FORMATS_CONFIG_REG(ConvBias, NCHW44_DOT); OPR_TENSOR_FORMATS_CONFIG_REG(ConvBias, NCHW44_HYBRID); OPR_TENSOR_FORMATS_CONFIG_REG(ConvBias, NCHW44_DOT_HYBRID); + OPR_TENSOR_FORMATS_CONFIG_REG(ConvBias, NHWCD4); OPR_TENSOR_FORMATS_CONFIG_REG(ConvolutionForward, NCHW); OPR_TENSOR_FORMATS_CONFIG_REG(ConvolutionForward, NHWC); @@ -979,15 +1104,18 @@ StaticData::StaticData() { OPR_TENSOR_FORMATS_CONFIG_REG(ConvolutionForward, NCHW44_DOT); OPR_TENSOR_FORMATS_CONFIG_REG(ConvolutionForward, NCHW44_HYBRID); OPR_TENSOR_FORMATS_CONFIG_REG(ConvolutionForward, NCHW44_DOT_HYBRID); + OPR_TENSOR_FORMATS_CONFIG_REG(ConvolutionForward, NHWCD4); OPR_TENSOR_FORMATS_CONFIG_REG(ConvolutionBackwardData, NCHW); OPR_TENSOR_FORMATS_CONFIG_REG(ConvolutionBackwardData, NHWC); OPR_TENSOR_FORMATS_CONFIG_REG(ConvolutionBackwardData, NCHW4); + OPR_TENSOR_FORMATS_CONFIG_REG(ConvolutionBackwardData, NHWCD4); OPR_SINGLE_IN_OUT_TENSOR_FORMATS_CONFIG_REG(WarpPerspectiveForward, NCHW); OPR_SINGLE_IN_OUT_TENSOR_FORMATS_CONFIG_REG(WarpPerspectiveForward, NHWC); OPR_SINGLE_IN_OUT_TENSOR_FORMATS_CONFIG_REG(WarpPerspectiveForward, NCHW4); OPR_SINGLE_IN_OUT_TENSOR_FORMATS_CONFIG_REG(WarpPerspectiveForward, NCHW64); + OPR_SINGLE_IN_OUT_TENSOR_FORMATS_CONFIG_REG(WarpPerspectiveForward, NHWCD4); OPR_SINGLE_IN_OUT_TENSOR_FORMATS_CONFIG_REG(PoolingForward, NCHW); OPR_SINGLE_IN_OUT_TENSOR_FORMATS_CONFIG_REG(PoolingForward, NHWC); @@ -997,10 +1125,12 @@ StaticData::StaticData() { OPR_SINGLE_IN_OUT_TENSOR_FORMATS_CONFIG_REG(PoolingForward, NCHW64); OPR_SINGLE_IN_OUT_TENSOR_FORMATS_CONFIG_REG(PoolingForward, NCHW44); OPR_SINGLE_IN_OUT_TENSOR_FORMATS_CONFIG_REG(PoolingForward, NCHW88); + OPR_SINGLE_IN_OUT_TENSOR_FORMATS_CONFIG_REG(PoolingForward, NHWCD4); OPR_SINGLE_IN_OUT_TENSOR_FORMATS_CONFIG_REG(ResizeForward, NCHW); OPR_SINGLE_IN_OUT_TENSOR_FORMATS_CONFIG_REG(ResizeForward, NCHW44); OPR_SINGLE_IN_OUT_TENSOR_FORMATS_CONFIG_REG(ResizeForward, NCHW88); + OPR_SINGLE_IN_OUT_TENSOR_FORMATS_CONFIG_REG(ResizeForward, NHWCD4); #undef OPR_TENSOR_FORMATS_CONFIG_REG #undef OPR_SINGLE_IN_OUT_TENSOR_FORMATS_CONFIG_REG diff --git a/src/gopt/impl/global_layout_transform/profiler_impl.cpp b/src/gopt/impl/global_layout_transform/profiler_impl.cpp index b1ef404b..48d7188a 100644 --- a/src/gopt/impl/global_layout_transform/profiler_impl.cpp +++ b/src/gopt/impl/global_layout_transform/profiler_impl.cpp @@ -22,6 +22,7 @@ #include "megbrain/opr/tensor_manip.h" #include "megbrain/plugin/base.h" #include "megbrain/serialization/sereg.h" +#include "megdnn/tensor_format.h" using namespace mgb; using namespace cg; @@ -281,9 +282,6 @@ float ProfilerImpl::profile_operator( std::min(config.input_tensor_formats.size(), opr->input().size()); for (; i < nr_input_tensor; ++i) { auto&& var = opr->input(i); - auto&& cn = var->comp_node(); - auto&& dtype = var->dtype(); - auto dval = std::make_shared(cn, dtype); TensorShape aligned_shape; if (config.input_tensor_types[i] == TensorType::WEIGHT) { mgb_assert(base_config.input_tensor_types[i] == TensorType::WEIGHT); @@ -299,9 +297,12 @@ float ProfilerImpl::profile_operator( var, base_config.input_tensor_formats[i], config.input_tensor_formats[i], extra_attribute); } - dval->resize(aligned_shape); + std::shared_ptr dval = create_device_tensor_helper( + config, i, var, aligned_shape, extra_attribute); + if (config.input_tensor_types[i] == TensorType::WEIGHT) { - new_inps[i] = opr::SharedDeviceTensor::make_const(*graph, dval).node(); + new_inps[i] = + opr::SharedDeviceTensorWithFormat::make_const(*graph, dval).node(); } else { new_inps[i] = opr::VolatileSharedDeviceTensor::make(*graph, dval).node(); } @@ -368,10 +369,27 @@ float ProfilerImpl::profile_var_node( const VarNode* var, TensorFormats base_format, const ReformatKey& key) const { auto&& cn = var->comp_node(); auto&& dtype = var->dtype(); - auto dval = std::make_shared(cn, dtype); auto aligned_tensor_shape = ReformatManager::make_aligned_tensor_shape( var, base_format, key.input_format, key.attribute); - dval->resize(aligned_tensor_shape); + + std::shared_ptr dval; + if (key.input_format == TensorFormats::NHCWc4 && + key.attribute & ReformatAttribute::IMAGE2D) { + size_t align_axis = 2; + auto named_tensor = tensor_formats_to_named_tensor_shape(key.input_format); + for (size_t n = 0; n < named_tensor.ndim; n++) { + if (named_tensor[n].name() == megdnn::Dimension::Name::C) { + align_axis = n; + break; + } + } + dval = std::make_shared( + cn, aligned_tensor_shape, dtype, + megdnn::Image2DPack4TensorFormat::make( + align_axis, opr::intl::get_megdnn_handle(cn))); + } else + dval = std::make_shared(cn, aligned_tensor_shape, dtype); + auto graph = ComputingGraph::make(); graph->options().graph_opt_level = 0; graph->options().var_sanity_check_first_run = false; @@ -516,6 +534,8 @@ ProfilerImpl::OprFormatConfigID ProfilerImpl::tensor_formats_to_config_id( return OprFormatConfigID::NHWC; case TensorFormats::CHWNc4: return OprFormatConfigID::CHWN4; + case TensorFormats::NHCWc4: + return OprFormatConfigID::NHWCD4; default: mgb_throw( MegBrainError, "tensor format(%u) is not supported", @@ -523,6 +543,39 @@ ProfilerImpl::OprFormatConfigID ProfilerImpl::tensor_formats_to_config_id( } } +std::shared_ptr ProfilerImpl::create_device_tensor_helper( + const OprTensorFormatsConfiguration& config, const size_t inp_idx, + const VarNode* var, const TensorShape aligned_shape, + ReformatAttribute extra_attribute) const { + auto&& cn = var->comp_node(); + auto&& dtype = var->dtype(); + std::shared_ptr dval; + if (config.config_id == OprFormatConfigID::NHWCD4 && + extra_attribute & ReformatAttribute::IMAGE2D) { + size_t align_axis = 2; + auto named_tensor = tensor_formats_to_named_tensor_shape( + config.input_tensor_formats[inp_idx]); + for (size_t n = 0; n < named_tensor.ndim; n++) { + if (named_tensor[n].name() == megdnn::Dimension::Name::C) { + align_axis = n; + break; + } + } + // channel wise weight + bool is_channel_wise = + config.input_tensor_formats[inp_idx] == TensorFormats::C1RSc4; + if (is_channel_wise) + align_axis = 1; + dval = std::make_shared( + cn, aligned_shape, dtype, + megdnn::Image2DPack4TensorFormat::make( + align_axis, opr::intl::get_megdnn_handle(cn))); + } else { + dval = std::make_shared(cn, aligned_shape, dtype); + } + return dval; +} + /* ================== ProfilerBase =================*/ std::string ProfilerBase::OperatorNodeRecord::to_string() const { auto str = ssprintf( diff --git a/src/gopt/impl/global_layout_transform/reformat_manager.cpp b/src/gopt/impl/global_layout_transform/reformat_manager.cpp index 38c301c3..8d95a12e 100644 --- a/src/gopt/impl/global_layout_transform/reformat_manager.cpp +++ b/src/gopt/impl/global_layout_transform/reformat_manager.cpp @@ -249,7 +249,7 @@ ReformatManager::ReformatManager() { m_cache.emplace(ReformatKey{i, o, Attribute::IMAGE2D}, impl); } { - auto i = TensorFormats::KCRS, o = TensorFormats::GKRSCk4; + auto i = TensorFormats::GKCRS, o = TensorFormats::GKRSCk4; auto&& impl = [](const VarNodeArray& vars) { return opr::RelayoutFormat::make( vars[0], @@ -259,7 +259,7 @@ ReformatManager::ReformatManager() { m_cache.emplace(ReformatKey{i, o, Attribute::IMAGE2D}, impl); } { - auto i = TensorFormats::KCRS, o = TensorFormats::C1RSc4; + auto i = TensorFormats::C11RS, o = TensorFormats::C1RSc4; auto&& impl = [](const VarNodeArray& vars) { return opr::RelayoutFormat::make( vars[0], @@ -270,6 +270,21 @@ ReformatManager::ReformatManager() { } { auto i = TensorFormats::NCHW, o = TensorFormats::NHCWc4; + auto&& impl1 = [](const VarNodeArray& vars) { + return opr::RelayoutFormat::make( + vars[0], megdnn::param::RelayoutFormat::Mode::NCHW_NHWCD4) + .node(); + }; + m_cache.emplace(ReformatKey{i, o}, impl1); + auto&& impl2 = [](const VarNodeArray& vars) { + return opr::RelayoutFormat::make( + vars[0], megdnn::param::RelayoutFormat::Mode::NHWCD4_NCHW) + .node(); + }; + m_cache.emplace(ReformatKey{o, i}, impl2); + } + { + auto i = TensorFormats::NCHW, o = TensorFormats::NHCWc4; auto&& impl = [](const VarNodeArray& vars) { return opr::RelayoutFormat::make( vars[0], megdnn::param::RelayoutFormat::Mode::NCHW_NHWCD4I) @@ -281,7 +296,7 @@ ReformatManager::ReformatManager() { auto i = TensorFormats::NHCWc4, o = TensorFormats::NCHW; auto&& impl = [](const VarNodeArray& vars) { return opr::RelayoutFormat::make( - vars[0], megdnn::param::RelayoutFormat::Mode::NCHW_NHWCD4I) + vars[0], megdnn::param::RelayoutFormat::Mode::NHWCD4I_NCHW) .node(); }; m_cache.emplace(ReformatKey{i, o, Attribute::IMAGE2D}, impl); @@ -346,6 +361,15 @@ ReformatManager::ReformatImpl ReformatManager::get(const ReformatKey& key) const return rst; } } + if (key.attribute == Attribute::IMAGE2D) { + auto key_ = key; + key_.input_dtype = DTypeEnum::Float32; + key_.output_dtype = DTypeEnum::Float32; + auto find = m_cache.find(key_); + if (find != m_cache.end()) { + return find->second; + } + } mgb_assert( !(key.attribute & Attribute::IMAGE2D) && !(key.attribute & Attribute::IC_SMALL)); @@ -682,7 +706,8 @@ TensorShape ReformatManager::make_aligned_weight_shape( auto target_shape = tensor_formats_to_named_tensor_shape(target_formats); for (size_t i = 0; i < target_shape.ndim; ++i) { auto name = target_shape[i].name(); - if ((name == Dimension::Name::K || name == Dimension::Name::N) && + if ((name == Dimension::Name::K || name == Dimension::Name::N || + (extra_formats == TensorFormats::NHCWc4 && name == Dimension::Name::C)) && target_shape[i].extent() == UNDETERMINED_EXTENT) { size_t out_channels = tshp[i] * target_shape[i].stride(); tshp[i] = divup(out_channels, out_channel_alignment) * diff --git a/src/gopt/impl/global_layout_transform/utils.h b/src/gopt/impl/global_layout_transform/utils.h index 64f25b10..731caa0d 100644 --- a/src/gopt/impl/global_layout_transform/utils.h +++ b/src/gopt/impl/global_layout_transform/utils.h @@ -32,6 +32,7 @@ static inline const char* opr_format_to_string( cb(NCHW44); cb(NCHW88); cb(NCHW44_DOT); + cb(NHWCD4); default: mgb_assert( false, "Invalid opr format(got:%u)", @@ -63,6 +64,7 @@ static inline const char* config_id_to_string( cb(NCHW88_HYBRID); cb(NCHW44_DOT); cb(NCHW44_DOT_HYBRID); + cb(NHWCD4); default: mgb_assert( false, "Invalid config id(got:%u)", @@ -95,6 +97,8 @@ static inline TensorFormats opr_format_to_tensor_formats( return TensorFormats::NCHWc8; case OprFormat::NCHW44_DOT: return TensorFormats::NCHWc4; + case OprFormat::NHWCD4: + return TensorFormats::NHCWc4; default: mgb_throw( AssertionError, "format(%s) is not supported", diff --git a/src/gopt/include/megbrain/gopt/profiler.h b/src/gopt/include/megbrain/gopt/profiler.h index 0a05a011..93b8be72 100644 --- a/src/gopt/include/megbrain/gopt/profiler.h +++ b/src/gopt/include/megbrain/gopt/profiler.h @@ -202,6 +202,11 @@ protected: const ReformatKey& key) const; OprFormatConfigID tensor_formats_to_config_id(TensorFormats tensor_format) const; + std::shared_ptr create_device_tensor_helper( + const OprTensorFormatsConfiguration& config, const size_t inp_idx, + const VarNode* var, const TensorShape aligned_shape, + ReformatAttribute extra_attribute) const; + OprFootprint m_opr_footprint; float m_opr_threshold; /// a threshold, when the computation of the newly /// created operator that is built in some opr diff --git a/src/gopt/test/cache_data.h b/src/gopt/test/cache_data.h index 95501fba..6c2fb3e1 100644 --- a/src/gopt/test/cache_data.h +++ b/src/gopt/test/cache_data.h @@ -18318,3 +18318,1625 @@ static const std::vector TestLayoutTransform_Concat = { 72, 44, 87, 125, 59, 48, 59, 81, 117, 97, 110, 116, 105, 122, 101, 100, 83, 56, 59, 81, 117, 97, 110, 116, 105, 122, 101, 100, 83, 56, 4, 0, 0, 0, 54, 94, 72, 68}; + +static const std::vector TestLayoutTransform_OPENCL_MobileNetV2 = { + 1, 0, 0, 0, 36, 0, 0, 0, 108, 97, 121, 111, 117, 116, 95, 116, + 114, 97, 110, 115, 102, 111, 114, 109, 95, 112, 114, 111, 102, 105, 108, 101, + 58, 112, 108, 97, 116, 61, 111, 112, 101, 110, 99, 108, 110, 0, 0, 0, + 145, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 49, 52, 52, 44, 50, 56, + 44, 50, 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, 51, 50, 44, 49, + 52, 52, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, + 44, 51, 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 49, 44, 51, 50, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 48, 49, 4, 0, 0, 0, 57, 180, 200, 66, 145, 0, 0, + 0, 10, 151, 159, 190, 73, 14, 145, 194, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, + 255, 255, 255, 255, 255, 49, 44, 49, 52, 52, 44, 50, 56, 44, 50, 56, + 59, 70, 108, 111, 97, 116, 51, 50, 124, 51, 50, 44, 49, 52, 52, 44, + 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 51, 50, + 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 51, + 50, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 50, 49, 4, 0, 0, 0, 59, 223, 79, 66, 145, 0, 0, 0, 10, 151, + 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, + 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, + 255, 255, 49, 44, 51, 44, 50, 50, 52, 44, 50, 50, 52, 59, 70, 108, + 111, 97, 116, 51, 50, 124, 51, 50, 44, 51, 44, 51, 44, 51, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 44, 51, 50, 44, 49, 44, 49, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 51, 50, 44, 49, 49, 50, + 44, 49, 49, 50, 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, + 0, 0, 0, 221, 36, 70, 67, 148, 0, 0, 0, 10, 151, 159, 190, 73, + 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, + 44, 51, 50, 44, 49, 49, 50, 44, 49, 49, 50, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 51, 50, 44, 49, 44, 49, 44, 51, 44, 51, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 44, 51, 50, 44, 49, 44, 49, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 51, 50, 44, 49, 49, 50, + 44, 49, 49, 50, 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, + 0, 0, 0, 23, 217, 254, 67, 146, 0, 0, 0, 10, 151, 159, 190, 73, + 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, + 44, 57, 54, 44, 49, 49, 50, 44, 49, 49, 50, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 57, 54, 44, 49, 44, 49, 44, 51, 44, 51, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 44, 57, 54, 44, 49, 44, 49, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 57, 54, 44, 53, 54, 44, + 53, 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, 0, 0, + 0, 164, 112, 173, 67, 145, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, + 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, + 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 51, + 56, 52, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 57, 54, 44, 51, 56, 52, 44, 49, 44, 49, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 49, 44, 57, 54, 44, 49, 44, 49, 59, 70, 108, 111, + 97, 116, 51, 50, 124, 49, 44, 57, 54, 44, 49, 52, 44, 49, 52, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, 0, 174, 71, + 65, 67, 148, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 49, 52, 52, 44, + 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 52, + 52, 44, 49, 44, 49, 44, 51, 44, 51, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 49, 44, 49, 52, 52, 44, 49, 44, 49, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 49, 44, 49, 52, 52, 44, 50, 56, 44, 50, 56, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, 0, 190, 159, + 122, 67, 148, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 49, 52, 52, 44, + 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 52, + 52, 44, 49, 44, 49, 44, 51, 44, 51, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 49, 44, 49, 52, 52, 44, 49, 44, 49, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 49, 44, 49, 52, 52, 44, 50, 56, 44, 50, 56, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, 0, 0, 0, 86, 14, + 13, 67, 144, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 57, 54, 48, 44, + 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, 51, 50, 48, 44, + 57, 54, 48, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 49, 44, 51, 50, 48, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 49, 44, 51, 50, 48, 44, 55, 44, 55, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 50, 49, 4, 0, 0, 0, 150, 67, 107, 67, 148, 0, + 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 255, 255, 49, 44, 49, 52, 52, 44, 53, 54, 44, 53, + 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 52, 52, 44, 49, 44, + 49, 44, 51, 44, 51, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, + 49, 52, 52, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 49, 44, 49, 52, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 48, 49, 4, 0, 0, 0, 37, 6, 17, 68, 146, 0, + 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 255, 255, 49, 44, 50, 52, 44, 53, 54, 44, 53, 54, + 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 52, 52, 44, 50, 52, 44, + 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, 52, + 52, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, + 49, 52, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 48, 49, 4, 0, 0, 0, 49, 8, 172, 67, 146, 0, 0, 0, + 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, + 255, 255, 255, 255, 49, 44, 50, 52, 44, 53, 54, 44, 53, 54, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 52, 52, 44, 50, 52, 44, 49, 44, + 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, 52, 52, 44, + 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, 52, + 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 50, 49, 4, 0, 0, 0, 94, 186, 9, 67, 145, 0, 0, 0, 10, 151, + 159, 190, 73, 14, 145, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, + 255, 255, 49, 44, 49, 52, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, + 111, 97, 116, 51, 50, 124, 50, 52, 44, 49, 52, 52, 44, 49, 44, 49, + 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 50, 52, 44, 49, 44, + 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 50, 52, 44, 53, + 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, + 0, 0, 0, 53, 94, 138, 67, 148, 0, 0, 0, 10, 151, 159, 190, 73, + 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, + 44, 49, 57, 50, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 49, 57, 50, 44, 49, 44, 49, 44, 51, 44, 51, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, 57, 50, 44, 49, 44, 49, + 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, 57, 50, 44, 50, + 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, + 0, 0, 0, 252, 169, 177, 66, 145, 0, 0, 0, 10, 151, 159, 190, 73, + 14, 145, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, + 44, 49, 57, 50, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 54, 52, 44, 49, 57, 50, 44, 49, 44, 49, 59, 70, 108, + 111, 97, 116, 51, 50, 124, 49, 44, 54, 52, 44, 49, 44, 49, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 44, 54, 52, 44, 49, 52, 44, 49, + 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, 0, + 188, 116, 147, 66, 145, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 49, 57, + 50, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 51, 50, 44, 49, 57, 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 49, 44, 51, 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 49, 44, 51, 50, 44, 50, 56, 44, 50, 56, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, 0, 0, 0, 147, 24, 132, + 66, 71, 0, 0, 0, 218, 182, 120, 146, 221, 155, 179, 235, 16, 0, 0, + 0, 49, 44, 51, 50, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 49, 44, 51, 50, 44, 50, 56, 44, 50, 56, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 44, 51, 50, 44, 50, 56, 44, 50, + 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, 0, 0, 0, + 18, 131, 64, 65, 64, 0, 0, 0, 49, 44, 49, 52, 52, 44, 53, 54, + 44, 53, 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, 67, + 44, 72, 44, 87, 125, 59, 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, + 87, 44, 67, 37, 52, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, 50, + 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 162, 69, 22, 67, + 144, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 57, 54, 48, 44, 55, 44, + 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 54, 48, 44, 57, 54, + 48, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, + 49, 54, 48, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 49, 44, 49, 54, 48, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 48, 49, 4, 0, 0, 0, 18, 131, 128, 67, 144, 0, 0, 0, + 10, 151, 159, 190, 73, 14, 145, 194, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, + 255, 255, 255, 255, 49, 44, 57, 54, 48, 44, 55, 44, 55, 59, 70, 108, + 111, 97, 116, 51, 50, 124, 49, 54, 48, 44, 57, 54, 48, 44, 49, 44, + 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, 54, 48, 44, + 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, 54, + 48, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, 49, + 4, 0, 0, 0, 37, 6, 65, 67, 146, 0, 0, 0, 10, 151, 159, 190, + 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, + 49, 44, 51, 50, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 49, 57, 50, 44, 51, 50, 44, 49, 44, 49, 59, 70, 108, + 111, 97, 116, 51, 50, 124, 49, 44, 49, 57, 50, 44, 49, 44, 49, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, 57, 50, 44, 50, 56, + 44, 50, 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, + 0, 0, 39, 49, 8, 67, 146, 0, 0, 0, 10, 151, 159, 190, 73, 14, + 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, + 54, 52, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 51, 56, 52, 44, 54, 52, 44, 49, 44, 49, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 49, 44, 51, 56, 52, 44, 49, 44, 49, 59, 70, 108, + 111, 97, 116, 51, 50, 124, 49, 44, 51, 56, 52, 44, 49, 52, 44, 49, + 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, 0, + 29, 90, 4, 67, 145, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 49, 57, + 50, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 54, 52, 44, 49, 57, 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 49, 44, 54, 52, 44, 49, 44, 49, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 49, 44, 54, 52, 44, 49, 52, 44, 49, 52, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, 0, 0, 0, 20, 174, 71, + 66, 145, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 49, 52, 52, 44, 53, + 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, 52, 44, + 49, 52, 52, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 49, 44, 50, 52, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 49, 44, 50, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 50, 49, 4, 0, 0, 0, 197, 32, 240, 66, 147, 0, + 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 255, 255, 49, 44, 51, 50, 44, 49, 49, 50, 44, 49, + 49, 50, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 54, 44, 51, 50, + 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, + 54, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, + 49, 54, 44, 49, 49, 50, 44, 49, 49, 50, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 48, 49, 4, 0, 0, 0, 207, 247, 131, 67, 147, 0, 0, + 0, 10, 151, 159, 190, 73, 14, 145, 194, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, + 255, 255, 255, 255, 255, 49, 44, 51, 50, 44, 49, 49, 50, 44, 49, 49, + 50, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 54, 44, 51, 50, 44, + 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, 54, + 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, + 54, 44, 49, 49, 50, 44, 49, 49, 50, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 50, 49, 4, 0, 0, 0, 221, 36, 198, 66, 145, 0, 0, 0, + 10, 151, 159, 190, 73, 14, 145, 194, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, + 255, 255, 255, 255, 49, 44, 53, 55, 54, 44, 49, 52, 44, 49, 52, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 57, 54, 44, 53, 55, 54, 44, 49, + 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 57, 54, 44, + 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 57, 54, + 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, + 49, 4, 0, 0, 0, 111, 18, 131, 67, 64, 0, 0, 0, 49, 44, 51, + 44, 50, 50, 52, 44, 50, 50, 52, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 123, 78, 44, 72, 44, + 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 49, 59, 70, 108, + 111, 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, + 0, 39, 49, 8, 67, 143, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, + 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, + 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 57, + 54, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 50, 52, 44, 57, 54, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 49, 44, 50, 52, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 49, 44, 50, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, + 111, 97, 116, 51, 50, 124, 50, 49, 4, 0, 0, 0, 68, 139, 172, 66, + 146, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 54, 52, 44, 49, 52, 44, + 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 51, 56, 52, 44, 54, + 52, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, + 51, 56, 52, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 49, 44, 51, 56, 52, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 50, 49, 4, 0, 0, 0, 254, 212, 120, 66, 64, 0, + 0, 0, 49, 44, 49, 52, 52, 44, 50, 56, 44, 50, 56, 59, 70, 108, + 111, 97, 116, 51, 50, 124, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, + 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, + 59, 49, 59, 70, 108, 111, 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, + 51, 50, 4, 0, 0, 0, 10, 215, 35, 66, 145, 0, 0, 0, 10, 151, + 159, 190, 73, 14, 145, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, + 255, 255, 49, 44, 51, 56, 52, 44, 49, 52, 44, 49, 52, 59, 70, 108, + 111, 97, 116, 51, 50, 124, 54, 52, 44, 51, 56, 52, 44, 49, 44, 49, + 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 54, 52, 44, 49, 44, + 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 54, 52, 44, 49, + 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, + 0, 0, 0, 231, 251, 233, 66, 148, 0, 0, 0, 10, 151, 159, 190, 73, + 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, + 44, 53, 55, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 53, 55, 54, 44, 49, 44, 49, 44, 51, 44, 51, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 44, 53, 55, 54, 44, 49, 44, 49, + 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 53, 55, 54, 44, 49, + 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, + 0, 0, 0, 168, 198, 139, 66, 148, 0, 0, 0, 10, 151, 159, 190, 73, + 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, + 44, 51, 56, 52, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 51, 56, 52, 44, 49, 44, 49, 44, 51, 44, 51, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 44, 51, 56, 52, 44, 49, 44, 49, + 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 51, 56, 52, 44, 49, + 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, + 0, 0, 0, 125, 63, 21, 67, 148, 0, 0, 0, 10, 151, 159, 190, 73, + 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, + 44, 49, 57, 50, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 49, 57, 50, 44, 49, 44, 49, 44, 51, 44, 51, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, 57, 50, 44, 49, 44, 49, + 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, 57, 50, 44, 49, + 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, + 0, 0, 0, 166, 155, 196, 66, 146, 0, 0, 0, 10, 151, 159, 190, 73, + 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, + 44, 57, 54, 44, 49, 49, 50, 44, 49, 49, 50, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 57, 54, 44, 49, 44, 49, 44, 51, 44, 51, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 44, 57, 54, 44, 49, 44, 49, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 57, 54, 44, 53, 54, 44, + 53, 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, + 0, 18, 131, 48, 68, 64, 0, 0, 0, 49, 44, 53, 55, 54, 44, 49, + 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, + 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 123, 78, + 44, 67, 44, 72, 44, 87, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, + 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 182, 243, 253, + 65, 148, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 51, 56, 52, 44, 49, + 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 51, 56, 52, + 44, 49, 44, 49, 44, 51, 44, 51, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 49, 44, 51, 56, 52, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 49, 44, 51, 56, 52, 44, 49, 52, 44, 49, 52, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, 0, 0, 0, 135, 22, 89, + 66, 71, 0, 0, 0, 218, 182, 120, 146, 221, 155, 179, 235, 16, 0, 0, + 0, 49, 44, 54, 52, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 49, 44, 54, 52, 44, 49, 52, 44, 49, 52, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 44, 54, 52, 44, 49, 52, 44, 49, + 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, 0, 0, 0, + 143, 194, 245, 64, 147, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 49, 54, + 44, 49, 49, 50, 44, 49, 49, 50, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 57, 54, 44, 49, 54, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 49, 44, 57, 54, 44, 49, 44, 49, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 49, 44, 57, 54, 44, 49, 49, 50, 44, 49, 49, 50, + 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, 0, 6, + 129, 45, 68, 143, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 57, 54, 44, + 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, 52, + 44, 57, 54, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 49, 44, 50, 52, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 49, 44, 50, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 48, 49, 4, 0, 0, 0, 121, 233, 70, 67, 71, 0, + 0, 0, 218, 182, 120, 146, 221, 155, 179, 235, 16, 0, 0, 0, 49, 44, + 57, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 49, 44, 57, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 49, 44, 57, 54, 44, 49, 52, 44, 49, 52, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, 0, 0, 0, 49, 8, 44, + 65, 148, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 51, 50, 44, 49, 49, + 50, 44, 49, 49, 50, 59, 70, 108, 111, 97, 116, 51, 50, 124, 51, 50, + 44, 49, 44, 49, 44, 51, 44, 51, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 49, 44, 51, 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 49, 44, 51, 50, 44, 49, 49, 50, 44, 49, 49, 50, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, 0, 0, 0, 135, 22, 89, + 67, 148, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 53, 55, 54, 44, 49, + 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 53, 55, 54, + 44, 49, 44, 49, 44, 51, 44, 51, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 49, 44, 53, 55, 54, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 49, 44, 53, 55, 54, 44, 49, 52, 44, 49, 52, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, 0, 147, 24, 68, + 67, 71, 0, 0, 0, 218, 182, 120, 146, 221, 155, 179, 235, 16, 0, 0, + 0, 49, 44, 57, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 49, 44, 57, 54, 44, 49, 52, 44, 49, 52, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 44, 57, 54, 44, 49, 52, 44, 49, + 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, 0, + 119, 190, 31, 65, 63, 0, 0, 0, 49, 44, 49, 50, 56, 48, 44, 55, + 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, 67, 44, + 72, 44, 87, 125, 59, 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, + 44, 67, 37, 52, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, 50, 59, + 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 201, 118, 190, 65, 148, + 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, + 255, 255, 255, 255, 255, 255, 255, 49, 44, 49, 57, 50, 44, 50, 56, 44, + 50, 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 57, 50, 44, 49, + 44, 49, 44, 51, 44, 51, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, + 44, 49, 57, 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 49, 44, 49, 57, 50, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, + 97, 116, 51, 50, 124, 50, 49, 4, 0, 0, 0, 88, 57, 52, 66, 144, + 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, + 255, 255, 255, 255, 255, 255, 255, 49, 44, 53, 55, 54, 44, 55, 44, 55, + 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 54, 48, 44, 53, 55, 54, + 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, + 54, 48, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, + 44, 49, 54, 48, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 48, 49, 4, 0, 0, 0, 29, 90, 4, 67, 144, 0, 0, 0, 10, + 151, 159, 190, 73, 14, 145, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, + 255, 255, 255, 49, 44, 53, 55, 54, 44, 55, 44, 55, 59, 70, 108, 111, + 97, 116, 51, 50, 124, 49, 54, 48, 44, 53, 55, 54, 44, 49, 44, 49, + 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, 54, 48, 44, 49, + 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, 54, 48, + 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, + 0, 0, 0, 182, 243, 253, 66, 144, 0, 0, 0, 10, 151, 159, 190, 73, + 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, + 44, 57, 54, 48, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 57, 54, 48, 44, 49, 44, 49, 44, 51, 44, 51, 59, 70, 108, 111, + 97, 116, 51, 50, 124, 49, 44, 57, 54, 48, 44, 49, 44, 49, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 44, 57, 54, 48, 44, 55, 44, 55, + 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, 0, 156, + 196, 224, 66, 63, 0, 0, 0, 49, 44, 57, 54, 44, 53, 54, 44, 53, + 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, 67, 44, 72, + 44, 87, 125, 59, 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, + 67, 37, 52, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, 50, 59, 70, + 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 147, 24, 196, 66, 144, 0, + 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 255, 255, 49, 44, 49, 54, 48, 44, 55, 44, 55, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 57, 54, 48, 44, 49, 54, 48, 44, + 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 57, 54, + 48, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, + 57, 54, 48, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 50, 49, 4, 0, 0, 0, 193, 202, 225, 66, 64, 0, 0, 0, 49, 44, + 49, 57, 50, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 123, 78, 44, 72, + 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 49, 59, 70, + 108, 111, 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, + 0, 0, 104, 145, 109, 65, 147, 0, 0, 0, 10, 151, 159, 190, 73, 14, + 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, + 51, 50, 48, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 49, 50, 56, 48, 44, 51, 50, 48, 44, 49, 44, 49, 59, 70, 108, 111, + 97, 116, 51, 50, 124, 49, 44, 49, 50, 56, 48, 44, 49, 44, 49, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, 50, 56, 48, 44, 55, + 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, 0, 0, + 0, 188, 116, 179, 67, 65, 0, 0, 0, 49, 44, 57, 54, 44, 49, 49, + 50, 44, 49, 49, 50, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, + 44, 67, 44, 72, 44, 87, 125, 59, 123, 78, 44, 72, 44, 67, 47, 47, + 52, 44, 87, 44, 67, 37, 52, 125, 59, 49, 59, 70, 108, 111, 97, 116, + 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 129, 149, + 195, 67, 146, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 53, 55, 54, 44, + 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 53, 55, + 54, 44, 49, 44, 49, 44, 51, 44, 51, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 49, 44, 53, 55, 54, 44, 49, 44, 49, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 49, 44, 53, 55, 54, 44, 55, 44, 55, 59, 70, 108, + 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, 0, 143, 194, 181, 66, + 65, 0, 0, 0, 49, 44, 49, 54, 44, 49, 49, 50, 44, 49, 49, 50, + 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, 67, 44, 72, 44, + 87, 125, 59, 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, + 37, 52, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, 50, 59, 70, 108, + 111, 97, 116, 51, 50, 4, 0, 0, 0, 147, 24, 132, 66, 145, 0, 0, + 0, 10, 151, 159, 190, 73, 14, 145, 194, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, + 255, 255, 255, 255, 255, 49, 44, 51, 56, 52, 44, 49, 52, 44, 49, 52, + 59, 70, 108, 111, 97, 116, 51, 50, 124, 57, 54, 44, 51, 56, 52, 44, + 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 57, 54, + 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 57, + 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 50, 49, 4, 0, 0, 0, 207, 247, 211, 66, 148, 0, 0, 0, 10, 151, + 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, + 255, 255, 49, 44, 49, 52, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, + 111, 97, 116, 51, 50, 124, 49, 52, 52, 44, 49, 44, 49, 44, 51, 44, + 51, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, 52, 52, 44, + 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, 52, + 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 50, 49, 4, 0, 0, 0, 96, 229, 112, 67, 63, 0, 0, 0, 49, 44, + 54, 52, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 123, 78, 44, 72, 44, + 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 49, 59, 70, 108, + 111, 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, + 0, 41, 92, 15, 65, 64, 0, 0, 0, 49, 44, 49, 57, 50, 44, 50, + 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, + 67, 44, 72, 44, 87, 125, 59, 123, 78, 44, 72, 44, 67, 47, 47, 52, + 44, 87, 44, 67, 37, 52, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, + 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 59, 223, 79, + 66, 65, 0, 0, 0, 49, 44, 51, 50, 44, 49, 49, 50, 44, 49, 49, + 50, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, 72, 44, 67, + 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 123, 78, 44, 67, 44, + 72, 44, 87, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, 50, 59, 70, + 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 98, 16, 216, 66, 71, 0, + 0, 0, 218, 182, 120, 146, 221, 155, 179, 235, 16, 0, 0, 0, 49, 44, + 54, 52, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 49, 44, 54, 52, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 49, 44, 54, 52, 44, 49, 52, 44, 49, 52, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, 0, 182, 243, 253, + 64, 144, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 49, 54, 48, 44, 55, + 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, 57, 54, 48, 44, 49, + 54, 48, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, + 44, 57, 54, 48, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 49, 44, 57, 54, 48, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 48, 49, 4, 0, 0, 0, 123, 20, 46, 67, 63, 0, 0, + 0, 49, 44, 57, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, + 67, 37, 52, 125, 59, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 49, + 59, 70, 108, 111, 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, + 4, 0, 0, 0, 41, 92, 15, 65, 65, 0, 0, 0, 49, 44, 51, 50, + 44, 49, 49, 50, 44, 49, 49, 50, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 123, 78, 44, 72, 44, + 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 49, 59, 70, 108, + 111, 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, + 0, 231, 251, 9, 67, 71, 0, 0, 0, 218, 182, 120, 146, 221, 155, 179, + 235, 16, 0, 0, 0, 49, 44, 50, 52, 44, 53, 54, 44, 53, 54, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 50, 52, 44, 53, 54, 44, + 53, 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 50, 52, 44, + 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, + 4, 0, 0, 0, 39, 49, 8, 66, 64, 0, 0, 0, 49, 44, 53, 55, + 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 123, 78, 44, 72, 44, 67, + 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 49, 59, 70, 108, 111, + 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, + 51, 51, 51, 66, 71, 0, 0, 0, 218, 182, 120, 146, 221, 155, 179, 235, + 16, 0, 0, 0, 49, 44, 51, 50, 44, 50, 56, 44, 50, 56, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 44, 51, 50, 44, 50, 56, 44, 50, + 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 51, 50, 44, 50, + 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, + 0, 0, 0, 166, 155, 68, 65, 64, 0, 0, 0, 49, 44, 49, 52, 52, + 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, + 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, + 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 49, 59, 70, 108, 111, 97, + 116, 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 201, + 118, 254, 66, 65, 0, 0, 0, 49, 44, 57, 54, 44, 49, 49, 50, 44, + 49, 49, 50, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, 72, + 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 123, 78, 44, + 67, 44, 72, 44, 87, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, 50, + 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 152, 110, 194, 67, + 68, 0, 0, 0, 218, 182, 120, 146, 221, 155, 179, 235, 16, 0, 0, 0, + 49, 44, 49, 54, 48, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 49, 44, 49, 54, 48, 44, 55, 44, 55, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 49, 44, 49, 54, 48, 44, 55, 44, 55, 59, 70, 108, + 111, 97, 116, 51, 50, 124, 50, 49, 4, 0, 0, 0, 27, 47, 221, 64, + 64, 0, 0, 0, 49, 44, 49, 52, 52, 44, 50, 56, 44, 50, 56, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, 72, 44, 67, 47, 47, + 52, 44, 87, 44, 67, 37, 52, 125, 59, 123, 78, 44, 67, 44, 72, 44, + 87, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, 50, 59, 70, 108, 111, + 97, 116, 51, 50, 4, 0, 0, 0, 96, 229, 208, 65, 145, 0, 0, 0, + 10, 151, 159, 190, 73, 14, 145, 194, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, + 255, 255, 255, 255, 49, 44, 51, 56, 52, 44, 49, 52, 44, 49, 52, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 54, 52, 44, 51, 56, 52, 44, 49, + 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 54, 52, 44, + 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 54, 52, + 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, + 49, 4, 0, 0, 0, 88, 57, 180, 66, 145, 0, 0, 0, 10, 151, 159, + 190, 73, 14, 145, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, + 255, 49, 44, 53, 55, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, + 97, 116, 51, 50, 124, 57, 54, 44, 53, 55, 54, 44, 49, 44, 49, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 57, 54, 44, 49, 44, 49, + 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 57, 54, 44, 49, 52, + 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, 0, + 0, 0, 172, 28, 26, 67, 146, 0, 0, 0, 10, 151, 159, 190, 73, 14, + 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, + 57, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 53, 55, 54, 44, 57, 54, 44, 49, 44, 49, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 49, 44, 53, 55, 54, 44, 49, 44, 49, 59, 70, 108, + 111, 97, 116, 51, 50, 124, 49, 44, 53, 55, 54, 44, 49, 52, 44, 49, + 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, 0, + 35, 219, 89, 67, 64, 0, 0, 0, 49, 44, 51, 44, 50, 50, 52, 44, + 50, 50, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, 72, + 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 123, 78, 44, + 67, 44, 72, 44, 87, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, 50, + 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 90, 100, 59, 66, + 64, 0, 0, 0, 49, 44, 49, 57, 50, 44, 50, 56, 44, 50, 56, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, 72, 44, 67, 47, 47, + 52, 44, 87, 44, 67, 37, 52, 125, 59, 123, 78, 44, 67, 44, 72, 44, + 87, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, 50, 59, 70, 108, 111, + 97, 116, 51, 50, 4, 0, 0, 0, 227, 165, 27, 66, 64, 0, 0, 0, + 49, 44, 49, 57, 50, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, + 67, 37, 52, 125, 59, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 49, + 59, 70, 108, 111, 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, + 4, 0, 0, 0, 96, 229, 80, 65, 62, 0, 0, 0, 49, 44, 53, 55, + 54, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, + 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 123, + 78, 44, 67, 44, 72, 44, 87, 125, 59, 49, 59, 70, 108, 111, 97, 116, + 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 2, 43, + 135, 65, 65, 0, 0, 0, 49, 44, 49, 54, 44, 49, 49, 50, 44, 49, + 49, 50, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, 72, 44, + 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 123, 78, 44, 67, + 44, 72, 44, 87, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, 50, 59, + 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 205, 204, 76, 66, 63, + 0, 0, 0, 49, 44, 50, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, + 111, 97, 116, 51, 50, 124, 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, + 87, 44, 67, 37, 52, 125, 59, 123, 78, 44, 67, 44, 72, 44, 87, 125, + 59, 49, 59, 70, 108, 111, 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, + 51, 50, 4, 0, 0, 0, 154, 153, 153, 65, 63, 0, 0, 0, 49, 44, + 49, 50, 56, 48, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, + 125, 59, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 49, 59, 70, 108, + 111, 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, + 0, 115, 104, 145, 65, 144, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, + 194, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, + 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 57, + 54, 48, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, 57, + 54, 48, 44, 49, 44, 49, 44, 51, 44, 51, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 49, 44, 57, 54, 48, 44, 49, 44, 49, 59, 70, 108, 111, + 97, 116, 51, 50, 124, 49, 44, 57, 54, 48, 44, 55, 44, 55, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, 0, 0, 0, 117, 147, 24, + 66, 62, 0, 0, 0, 49, 44, 53, 55, 54, 44, 55, 44, 55, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, 67, 44, 72, 44, 87, 125, + 59, 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, + 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, 50, 59, 70, 108, 111, 97, + 116, 51, 50, 4, 0, 0, 0, 174, 71, 97, 65, 63, 0, 0, 0, 49, + 44, 57, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 123, 78, 44, 72, + 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 49, 59, 70, + 108, 111, 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, + 0, 0, 119, 190, 31, 65, 63, 0, 0, 0, 49, 44, 54, 52, 44, 49, + 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, + 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 123, 78, + 44, 67, 44, 72, 44, 87, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, + 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 111, 18, 3, + 65, 63, 0, 0, 0, 49, 44, 57, 54, 44, 53, 54, 44, 53, 54, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, 72, 44, 67, 47, 47, + 52, 44, 87, 44, 67, 37, 52, 125, 59, 123, 78, 44, 67, 44, 72, 44, + 87, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, 50, 59, 70, 108, 111, + 97, 116, 51, 50, 4, 0, 0, 0, 246, 40, 156, 66, 64, 0, 0, 0, + 49, 44, 51, 56, 52, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, + 67, 37, 52, 125, 59, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 49, + 59, 70, 108, 111, 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, + 4, 0, 0, 0, 236, 81, 184, 65, 63, 0, 0, 0, 49, 44, 51, 50, + 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, + 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, + 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 49, 59, 70, 108, 111, 97, + 116, 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 119, + 190, 31, 65, 147, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 49, 54, 44, + 49, 49, 50, 44, 49, 49, 50, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 57, 54, 44, 49, 54, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 49, 44, 57, 54, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 49, 44, 57, 54, 44, 49, 49, 50, 44, 49, 49, 50, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, 0, 0, 0, 31, 133, + 139, 67, 148, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 49, 57, 50, 44, + 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 57, + 50, 44, 49, 44, 49, 44, 51, 44, 51, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 49, 44, 49, 57, 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 49, 44, 49, 57, 50, 44, 50, 56, 44, 50, 56, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, 0, 39, 49, + 104, 67, 62, 0, 0, 0, 49, 44, 51, 50, 48, 44, 55, 44, 55, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, 72, 44, 67, 47, 47, + 52, 44, 87, 44, 67, 37, 52, 125, 59, 123, 78, 44, 67, 44, 72, 44, + 87, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, 50, 59, 70, 108, 111, + 97, 116, 51, 50, 4, 0, 0, 0, 150, 67, 11, 65, 146, 0, 0, 0, + 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, + 255, 255, 255, 255, 49, 44, 51, 50, 44, 50, 56, 44, 50, 56, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 57, 50, 44, 51, 50, 44, 49, 44, + 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, 57, 50, 44, + 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, 57, + 50, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 50, 49, 4, 0, 0, 0, 0, 0, 128, 66, 62, 0, 0, 0, 49, 44, + 57, 54, 48, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, + 59, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 49, 59, 70, 108, 111, + 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, + 104, 145, 109, 65, 145, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 49, 57, + 50, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 51, 50, 44, 49, 57, 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 49, 44, 51, 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 49, 44, 51, 50, 44, 50, 56, 44, 50, 56, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, 0, 127, 106, 252, + 66, 144, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 57, 54, 48, 44, 55, + 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, 51, 50, 48, 44, 57, + 54, 48, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, + 44, 51, 50, 48, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 49, 44, 51, 50, 48, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 48, 49, 4, 0, 0, 0, 102, 102, 214, 67, 146, 0, 0, + 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, + 255, 255, 255, 255, 255, 49, 44, 57, 54, 44, 49, 52, 44, 49, 52, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 53, 55, 54, 44, 57, 54, 44, 49, + 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 53, 55, 54, + 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 53, + 55, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 50, 49, 4, 0, 0, 0, 248, 83, 3, 67, 62, 0, 0, 0, 49, + 44, 51, 50, 48, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 123, 78, 44, 72, 44, + 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 49, 59, 70, 108, + 111, 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, + 0, 119, 190, 31, 65, 145, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, + 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, + 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 51, + 44, 50, 50, 52, 44, 50, 50, 52, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 51, 50, 44, 51, 44, 51, 44, 51, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 49, 44, 51, 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 49, 44, 51, 50, 44, 49, 49, 50, 44, 49, 49, 50, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, 0, 135, 22, + 185, 67, 64, 0, 0, 0, 49, 44, 51, 56, 52, 44, 49, 52, 44, 49, + 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, 67, 44, 72, + 44, 87, 125, 59, 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, + 67, 37, 52, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, 50, 59, 70, + 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 178, 157, 239, 65, 147, 0, + 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 255, 255, 49, 44, 51, 50, 48, 44, 55, 44, 55, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 49, 50, 56, 48, 44, 51, 50, 48, + 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, + 50, 56, 48, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 49, 44, 49, 50, 56, 48, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 48, 49, 4, 0, 0, 0, 27, 47, 221, 67, 68, 0, 0, + 0, 218, 182, 120, 146, 221, 155, 179, 235, 16, 0, 0, 0, 49, 44, 49, + 54, 48, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, + 44, 49, 54, 48, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 49, 44, 49, 54, 48, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 48, 49, 4, 0, 0, 0, 182, 243, 253, 64, 63, 0, 0, + 0, 49, 44, 50, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 123, 78, + 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 49, + 59, 70, 108, 111, 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, + 4, 0, 0, 0, 61, 10, 215, 65, 146, 0, 0, 0, 10, 151, 159, 190, + 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, + 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, + 49, 44, 53, 55, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 53, 55, 54, 44, 49, 44, 49, 44, 51, 44, 51, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 53, 55, 54, 44, 49, 44, + 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 53, 55, 54, 44, + 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, 0, + 0, 0, 227, 165, 27, 66, 62, 0, 0, 0, 49, 44, 49, 54, 48, 44, + 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, 72, + 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 123, 78, 44, + 67, 44, 72, 44, 87, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, 50, + 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 182, 243, 253, 64, + 62, 0, 0, 0, 49, 44, 57, 54, 48, 44, 55, 44, 55, 59, 70, 108, + 111, 97, 116, 51, 50, 124, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, + 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, + 59, 49, 59, 70, 108, 111, 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, + 51, 50, 4, 0, 0, 0, 76, 55, 137, 65, 71, 0, 0, 0, 218, 182, + 120, 146, 221, 155, 179, 235, 16, 0, 0, 0, 49, 44, 50, 52, 44, 53, + 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 50, + 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 49, 44, 50, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 50, 49, 4, 0, 0, 0, 186, 73, 12, 66, 63, 0, 0, + 0, 49, 44, 51, 50, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 123, 78, + 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 49, + 59, 70, 108, 111, 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, + 4, 0, 0, 0, 18, 131, 64, 65, 62, 0, 0, 0, 49, 44, 49, 54, + 48, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, + 44, 67, 44, 72, 44, 87, 125, 59, 123, 78, 44, 72, 44, 67, 47, 47, + 52, 44, 87, 44, 67, 37, 52, 125, 59, 49, 59, 70, 108, 111, 97, 116, + 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 182, 243, + 253, 64}; + +static const std::vector TestLayoutTransform_OPENCL_Resnet18_F16 = { + 1, 0, 0, 0, 36, 0, 0, 0, 108, 97, 121, 111, 117, 116, 95, 116, + 114, 97, 110, 115, 102, 111, 114, 109, 95, 112, 114, 111, 102, 105, 108, 101, + 58, 112, 108, 97, 116, 61, 111, 112, 101, 110, 99, 108, 57, 0, 0, 0, + 50, 0, 0, 0, 145, 22, 69, 252, 191, 174, 0, 1, 49, 44, 52, 44, + 50, 50, 52, 44, 50, 50, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 49, 44, 52, 44, 50, 50, 52, 44, 50, 50, 52, 59, 70, 108, 111, 97, + 116, 49, 54, 124, 48, 49, 4, 0, 0, 0, 236, 81, 56, 66, 98, 0, + 0, 0, 155, 17, 11, 96, 131, 82, 69, 220, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 54, 52, 44, 49, + 49, 50, 44, 49, 49, 50, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, + 44, 54, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 49, + 54, 124, 48, 49, 4, 0, 0, 0, 53, 94, 58, 67, 98, 0, 0, 0, + 155, 17, 11, 96, 131, 82, 69, 220, 0, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 54, 52, 44, 49, 49, 50, + 44, 49, 49, 50, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 54, + 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 49, 54, 124, + 50, 49, 4, 0, 0, 0, 59, 223, 207, 66, 145, 0, 0, 0, 10, 151, + 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 2, 0, + 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, + 255, 255, 49, 44, 52, 44, 50, 50, 52, 44, 50, 50, 52, 59, 70, 108, + 111, 97, 116, 49, 54, 124, 54, 52, 44, 52, 44, 55, 44, 55, 59, 70, + 108, 111, 97, 116, 49, 54, 124, 49, 44, 54, 52, 44, 49, 44, 49, 59, + 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 54, 52, 44, 49, 49, 50, + 44, 49, 49, 50, 59, 70, 108, 111, 97, 116, 49, 54, 124, 48, 49, 4, + 0, 0, 0, 227, 165, 187, 68, 143, 0, 0, 0, 10, 151, 159, 190, 73, + 14, 145, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, + 44, 54, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 49, + 54, 124, 54, 52, 44, 54, 52, 44, 49, 44, 49, 59, 70, 108, 111, 97, + 116, 49, 54, 124, 49, 44, 54, 52, 44, 49, 44, 49, 59, 70, 108, 111, + 97, 116, 49, 54, 124, 49, 44, 54, 52, 44, 53, 54, 44, 53, 54, 59, + 70, 108, 111, 97, 116, 49, 54, 124, 48, 49, 4, 0, 0, 0, 154, 153, + 57, 67, 143, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 54, 52, 44, 53, + 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 49, 54, 124, 54, 52, 44, + 54, 52, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, + 44, 54, 52, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 49, 54, 124, + 49, 44, 54, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, + 49, 54, 124, 50, 49, 4, 0, 0, 0, 182, 243, 189, 66, 146, 0, 0, + 0, 10, 151, 159, 190, 73, 14, 145, 194, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, + 255, 255, 255, 255, 255, 49, 44, 54, 52, 44, 53, 54, 44, 53, 54, 59, + 70, 108, 111, 97, 116, 49, 54, 124, 49, 50, 56, 44, 54, 52, 44, 49, + 44, 49, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 49, 50, 56, + 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 49, + 50, 56, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 49, 54, + 124, 48, 49, 4, 0, 0, 0, 106, 188, 244, 66, 146, 0, 0, 0, 10, + 151, 159, 190, 73, 14, 145, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, + 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, + 255, 255, 255, 49, 44, 54, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, + 111, 97, 116, 49, 54, 124, 49, 50, 56, 44, 54, 52, 44, 49, 44, 49, + 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 49, 50, 56, 44, 49, + 44, 49, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 49, 50, 56, + 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 49, 54, 124, 50, + 49, 4, 0, 0, 0, 209, 34, 91, 66, 71, 0, 0, 0, 218, 182, 120, + 146, 221, 155, 179, 235, 37, 0, 0, 0, 49, 44, 54, 52, 44, 53, 54, + 44, 53, 54, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 54, 52, + 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, + 44, 54, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 49, + 54, 124, 48, 49, 4, 0, 0, 0, 236, 81, 56, 66, 148, 0, 0, 0, + 10, 151, 159, 190, 73, 14, 145, 194, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, + 255, 255, 255, 255, 49, 44, 49, 50, 56, 44, 50, 56, 44, 50, 56, 59, + 70, 108, 111, 97, 116, 49, 54, 124, 50, 53, 54, 44, 49, 50, 56, 44, + 49, 44, 49, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 50, 53, + 54, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, + 50, 53, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 49, + 54, 124, 50, 49, 4, 0, 0, 0, 137, 65, 96, 66, 63, 0, 0, 0, + 49, 44, 54, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, + 49, 54, 124, 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, + 37, 52, 125, 59, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 49, 59, + 70, 108, 111, 97, 116, 49, 54, 59, 70, 108, 111, 97, 116, 49, 54, 4, + 0, 0, 0, 104, 145, 237, 65, 143, 0, 0, 0, 10, 151, 159, 190, 73, + 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, + 44, 54, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 49, + 54, 124, 54, 52, 44, 54, 52, 44, 51, 44, 51, 59, 70, 108, 111, 97, + 116, 49, 54, 124, 49, 44, 54, 52, 44, 49, 44, 49, 59, 70, 108, 111, + 97, 116, 49, 54, 124, 49, 44, 54, 52, 44, 53, 54, 44, 53, 54, 59, + 70, 108, 111, 97, 116, 49, 54, 124, 50, 49, 4, 0, 0, 0, 31, 133, + 91, 68, 148, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 49, 50, 56, 44, + 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 50, + 56, 44, 49, 50, 56, 44, 51, 44, 51, 59, 70, 108, 111, 97, 116, 49, + 54, 124, 49, 44, 49, 50, 56, 44, 49, 44, 49, 59, 70, 108, 111, 97, + 116, 49, 54, 124, 49, 44, 49, 50, 56, 44, 50, 56, 44, 50, 56, 59, + 70, 108, 111, 97, 116, 49, 54, 124, 50, 49, 4, 0, 0, 0, 115, 104, + 65, 68, 62, 0, 0, 0, 49, 44, 53, 49, 50, 44, 49, 44, 49, 59, + 70, 108, 111, 97, 116, 49, 54, 124, 123, 78, 44, 72, 44, 67, 47, 47, + 52, 44, 87, 44, 67, 37, 52, 125, 59, 123, 78, 44, 67, 44, 72, 44, + 87, 125, 59, 49, 59, 70, 108, 111, 97, 116, 49, 54, 59, 70, 108, 111, + 97, 116, 49, 54, 4, 0, 0, 0, 127, 106, 188, 64, 94, 0, 0, 0, + 155, 17, 11, 96, 131, 82, 69, 220, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, + 7, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 53, 49, 50, 44, 55, 44, + 55, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 53, 49, 50, 44, + 49, 44, 49, 59, 70, 108, 111, 97, 116, 49, 54, 124, 48, 49, 4, 0, + 0, 0, 78, 98, 16, 66, 74, 0, 0, 0, 218, 182, 120, 146, 221, 155, + 179, 235, 37, 0, 0, 0, 49, 44, 49, 50, 56, 44, 50, 56, 44, 50, + 56, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 49, 50, 56, 44, + 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, + 49, 50, 56, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 49, + 54, 124, 50, 49, 4, 0, 0, 0, 23, 217, 206, 65, 94, 0, 0, 0, + 155, 17, 11, 96, 131, 82, 69, 220, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, + 7, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 53, 49, 50, 44, 55, 44, + 55, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 53, 49, 50, 44, + 49, 44, 49, 59, 70, 108, 111, 97, 116, 49, 54, 124, 50, 49, 4, 0, + 0, 0, 61, 10, 215, 65, 74, 0, 0, 0, 218, 182, 120, 146, 221, 155, + 179, 235, 37, 0, 0, 0, 49, 44, 49, 50, 56, 44, 50, 56, 44, 50, + 56, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 49, 50, 56, 44, + 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, + 49, 50, 56, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 49, + 54, 124, 48, 49, 4, 0, 0, 0, 23, 217, 206, 65, 143, 0, 0, 0, + 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, + 255, 255, 255, 255, 49, 44, 54, 52, 44, 53, 54, 44, 53, 54, 59, 70, + 108, 111, 97, 116, 49, 54, 124, 54, 52, 44, 54, 52, 44, 51, 44, 51, + 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 54, 52, 44, 49, 44, + 49, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 54, 52, 44, 53, + 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 49, 54, 124, 48, 49, 4, + 0, 0, 0, 16, 88, 81, 68, 148, 0, 0, 0, 10, 151, 159, 190, 73, + 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, + 44, 49, 50, 56, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, + 49, 54, 124, 50, 53, 54, 44, 49, 50, 56, 44, 51, 44, 51, 59, 70, + 108, 111, 97, 116, 49, 54, 124, 49, 44, 50, 53, 54, 44, 49, 44, 49, + 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 50, 53, 54, 44, 49, + 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 49, 54, 124, 48, 49, 4, + 0, 0, 0, 39, 49, 56, 68, 74, 0, 0, 0, 218, 182, 120, 146, 221, + 155, 179, 235, 37, 0, 0, 0, 49, 44, 50, 53, 54, 44, 49, 52, 44, + 49, 52, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 50, 53, 54, + 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, + 44, 50, 53, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, + 49, 54, 124, 48, 49, 4, 0, 0, 0, 27, 47, 93, 65, 146, 0, 0, + 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, + 0, 2, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, + 255, 255, 255, 255, 255, 49, 44, 50, 53, 54, 44, 49, 52, 44, 49, 52, + 59, 70, 108, 111, 97, 116, 49, 54, 124, 53, 49, 50, 44, 50, 53, 54, + 44, 51, 44, 51, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 53, + 49, 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, + 44, 53, 49, 50, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 49, 54, + 124, 48, 49, 4, 0, 0, 0, 27, 47, 157, 68, 148, 0, 0, 0, 10, + 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, + 255, 255, 255, 49, 44, 50, 53, 54, 44, 49, 52, 44, 49, 52, 59, 70, + 108, 111, 97, 116, 49, 54, 124, 50, 53, 54, 44, 50, 53, 54, 44, 51, + 44, 51, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 50, 53, 54, + 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 50, + 53, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 49, 54, + 124, 48, 49, 4, 0, 0, 0, 127, 106, 92, 68, 64, 0, 0, 0, 49, + 44, 52, 44, 50, 50, 52, 44, 50, 50, 52, 59, 70, 108, 111, 97, 116, + 49, 54, 124, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 123, 78, 44, + 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 49, 59, + 70, 108, 111, 97, 116, 49, 54, 59, 70, 108, 111, 97, 116, 49, 54, 4, + 0, 0, 0, 188, 116, 19, 66, 148, 0, 0, 0, 10, 151, 159, 190, 73, + 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, + 44, 49, 50, 56, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, + 49, 54, 124, 49, 50, 56, 44, 49, 50, 56, 44, 51, 44, 51, 59, 70, + 108, 111, 97, 116, 49, 54, 124, 49, 44, 49, 50, 56, 44, 49, 44, 49, + 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 49, 50, 56, 44, 50, + 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 49, 54, 124, 48, 49, 4, + 0, 0, 0, 61, 10, 63, 68, 64, 0, 0, 0, 49, 44, 50, 53, 54, + 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 49, 54, 124, 123, + 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, + 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 49, 59, 70, 108, 111, 97, + 116, 49, 54, 59, 70, 108, 111, 97, 116, 49, 54, 4, 0, 0, 0, 166, + 155, 68, 65, 146, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 50, 53, 54, + 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 49, 54, 124, 53, + 49, 50, 44, 50, 53, 54, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, + 49, 54, 124, 49, 44, 53, 49, 50, 44, 49, 44, 49, 59, 70, 108, 111, + 97, 116, 49, 54, 124, 49, 44, 53, 49, 50, 44, 55, 44, 55, 59, 70, + 108, 111, 97, 116, 49, 54, 124, 48, 49, 4, 0, 0, 0, 88, 57, 20, + 67, 46, 0, 0, 0, 145, 22, 69, 252, 191, 174, 0, 1, 49, 44, 53, + 49, 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, + 44, 53, 49, 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 50, 49, 4, 0, 0, 0, 127, 106, 188, 64, 63, 0, 0, 0, 49, + 44, 54, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 49, + 54, 124, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 123, 78, 44, 72, + 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 49, 59, 70, + 108, 111, 97, 116, 49, 54, 59, 70, 108, 111, 97, 116, 49, 54, 4, 0, + 0, 0, 80, 141, 23, 66, 68, 0, 0, 0, 218, 182, 120, 146, 221, 155, + 179, 235, 37, 0, 0, 0, 49, 44, 53, 49, 50, 44, 55, 44, 55, 59, + 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 53, 49, 50, 44, 55, 44, + 55, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 53, 49, 50, 44, + 55, 44, 55, 59, 70, 108, 111, 97, 116, 49, 54, 124, 50, 49, 4, 0, + 0, 0, 182, 243, 253, 64, 148, 0, 0, 0, 10, 151, 159, 190, 73, 14, + 145, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, + 49, 50, 56, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 49, + 54, 124, 50, 53, 54, 44, 49, 50, 56, 44, 49, 44, 49, 59, 70, 108, + 111, 97, 116, 49, 54, 124, 49, 44, 50, 53, 54, 44, 49, 44, 49, 59, + 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 50, 53, 54, 44, 49, 52, + 44, 49, 52, 59, 70, 108, 111, 97, 116, 49, 54, 124, 48, 49, 4, 0, + 0, 0, 156, 196, 224, 66, 148, 0, 0, 0, 10, 151, 159, 190, 73, 14, + 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, + 50, 53, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 49, + 54, 124, 50, 53, 54, 44, 50, 53, 54, 44, 51, 44, 51, 59, 70, 108, + 111, 97, 116, 49, 54, 124, 49, 44, 50, 53, 54, 44, 49, 44, 49, 59, + 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 50, 53, 54, 44, 49, 52, + 44, 49, 52, 59, 70, 108, 111, 97, 116, 49, 54, 124, 50, 49, 4, 0, + 0, 0, 246, 40, 100, 68, 64, 0, 0, 0, 49, 44, 49, 50, 56, 44, + 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 49, 54, 124, 123, 78, + 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 123, + 78, 44, 67, 44, 72, 44, 87, 125, 59, 49, 59, 70, 108, 111, 97, 116, + 49, 54, 59, 70, 108, 111, 97, 116, 49, 54, 4, 0, 0, 0, 41, 92, + 143, 65, 46, 0, 0, 0, 145, 22, 69, 252, 191, 174, 0, 1, 49, 44, + 53, 49, 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 49, 54, 124, + 49, 44, 53, 49, 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 48, 49, 4, 0, 0, 0, 127, 106, 188, 64, 146, 0, 0, 0, + 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, + 255, 255, 255, 255, 49, 44, 54, 52, 44, 53, 54, 44, 53, 54, 59, 70, + 108, 111, 97, 116, 49, 54, 124, 49, 50, 56, 44, 54, 52, 44, 51, 44, + 51, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 49, 50, 56, 44, + 49, 44, 49, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 49, 50, + 56, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 49, 54, 124, + 48, 49, 4, 0, 0, 0, 43, 135, 46, 68, 144, 0, 0, 0, 10, 151, + 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, + 255, 255, 49, 44, 53, 49, 50, 44, 55, 44, 55, 59, 70, 108, 111, 97, + 116, 49, 54, 124, 53, 49, 50, 44, 53, 49, 50, 44, 51, 44, 51, 59, + 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 53, 49, 50, 44, 49, 44, + 49, 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 53, 49, 50, 44, + 55, 44, 55, 59, 70, 108, 111, 97, 116, 49, 54, 124, 48, 49, 4, 0, + 0, 0, 8, 172, 8, 69, 145, 0, 0, 0, 10, 151, 159, 190, 73, 14, + 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 2, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, + 52, 44, 50, 50, 52, 44, 50, 50, 52, 59, 70, 108, 111, 97, 116, 49, + 54, 124, 54, 52, 44, 52, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, + 49, 54, 124, 49, 44, 54, 52, 44, 49, 44, 49, 59, 70, 108, 111, 97, + 116, 49, 54, 124, 49, 44, 54, 52, 44, 49, 49, 50, 44, 49, 49, 50, + 59, 70, 108, 111, 97, 116, 49, 54, 124, 50, 49, 4, 0, 0, 0, 231, + 251, 141, 68, 144, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 53, 49, 50, + 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 49, 54, 124, 53, 49, 50, + 44, 53, 49, 50, 44, 51, 44, 51, 59, 70, 108, 111, 97, 116, 49, 54, + 124, 49, 44, 53, 49, 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, + 49, 54, 124, 49, 44, 53, 49, 50, 44, 55, 44, 55, 59, 70, 108, 111, + 97, 116, 49, 54, 124, 50, 49, 4, 0, 0, 0, 164, 112, 13, 69, 71, + 0, 0, 0, 218, 182, 120, 146, 221, 155, 179, 235, 37, 0, 0, 0, 49, + 44, 54, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 49, + 54, 124, 49, 44, 54, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, + 97, 116, 49, 54, 124, 49, 44, 54, 52, 44, 53, 54, 44, 53, 54, 59, + 70, 108, 111, 97, 116, 49, 54, 124, 50, 49, 4, 0, 0, 0, 162, 69, + 54, 66, 64, 0, 0, 0, 49, 44, 50, 53, 54, 44, 49, 52, 44, 49, + 52, 59, 70, 108, 111, 97, 116, 49, 54, 124, 123, 78, 44, 67, 44, 72, + 44, 87, 125, 59, 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, + 67, 37, 52, 125, 59, 49, 59, 70, 108, 111, 97, 116, 49, 54, 59, 70, + 108, 111, 97, 116, 49, 54, 4, 0, 0, 0, 96, 229, 80, 65, 65, 0, + 0, 0, 49, 44, 54, 52, 44, 49, 49, 50, 44, 49, 49, 50, 59, 70, + 108, 111, 97, 116, 49, 54, 124, 123, 78, 44, 72, 44, 67, 47, 47, 52, + 44, 87, 44, 67, 37, 52, 125, 59, 123, 78, 44, 67, 44, 72, 44, 87, + 125, 59, 49, 59, 70, 108, 111, 97, 116, 49, 54, 59, 70, 108, 111, 97, + 116, 49, 54, 4, 0, 0, 0, 29, 90, 228, 66, 64, 0, 0, 0, 49, + 44, 52, 44, 50, 50, 52, 44, 50, 50, 52, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, + 37, 52, 125, 59, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 49, 59, + 70, 108, 111, 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, + 0, 0, 0, 170, 241, 82, 66, 146, 0, 0, 0, 10, 151, 159, 190, 73, + 14, 145, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, + 44, 50, 53, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, + 49, 54, 124, 53, 49, 50, 44, 50, 53, 54, 44, 49, 44, 49, 59, 70, + 108, 111, 97, 116, 49, 54, 124, 49, 44, 53, 49, 50, 44, 49, 44, 49, + 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 53, 49, 50, 44, 55, + 44, 55, 59, 70, 108, 111, 97, 116, 49, 54, 124, 50, 49, 4, 0, 0, + 0, 242, 210, 141, 66, 68, 0, 0, 0, 218, 182, 120, 146, 221, 155, 179, + 235, 37, 0, 0, 0, 49, 44, 53, 49, 50, 44, 55, 44, 55, 59, 70, + 108, 111, 97, 116, 49, 54, 124, 49, 44, 53, 49, 50, 44, 55, 44, 55, + 59, 70, 108, 111, 97, 116, 49, 54, 124, 49, 44, 53, 49, 50, 44, 55, + 44, 55, 59, 70, 108, 111, 97, 116, 49, 54, 124, 48, 49, 4, 0, 0, + 0, 111, 18, 3, 65, 146, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, + 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, + 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 50, + 53, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 49, 54, + 124, 53, 49, 50, 44, 50, 53, 54, 44, 51, 44, 51, 59, 70, 108, 111, + 97, 116, 49, 54, 124, 49, 44, 53, 49, 50, 44, 49, 44, 49, 59, 70, + 108, 111, 97, 116, 49, 54, 124, 49, 44, 53, 49, 50, 44, 55, 44, 55, + 59, 70, 108, 111, 97, 116, 49, 54, 124, 50, 49, 4, 0, 0, 0, 6, + 129, 101, 68, 64, 0, 0, 0, 49, 44, 52, 44, 50, 50, 52, 44, 50, + 50, 52, 59, 70, 108, 111, 97, 116, 49, 54, 124, 123, 78, 44, 72, 44, + 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 123, 78, 44, 67, + 44, 72, 44, 87, 125, 59, 49, 59, 70, 108, 111, 97, 116, 49, 54, 59, + 70, 108, 111, 97, 116, 49, 54, 4, 0, 0, 0, 217, 206, 247, 65, 64, + 0, 0, 0, 49, 44, 49, 50, 56, 44, 50, 56, 44, 50, 56, 59, 70, + 108, 111, 97, 116, 49, 54, 124, 123, 78, 44, 67, 44, 72, 44, 87, 125, + 59, 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, + 125, 59, 49, 59, 70, 108, 111, 97, 116, 49, 54, 59, 70, 108, 111, 97, + 116, 49, 54, 4, 0, 0, 0, 197, 32, 176, 65, 62, 0, 0, 0, 49, + 44, 53, 49, 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 123, 78, 44, 72, 44, + 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 49, 59, 70, 108, + 111, 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, + 0, 27, 47, 221, 64, 146, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, + 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, + 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 54, + 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 49, 54, 124, + 49, 50, 56, 44, 54, 52, 44, 51, 44, 51, 59, 70, 108, 111, 97, 116, + 49, 54, 124, 49, 44, 49, 50, 56, 44, 49, 44, 49, 59, 70, 108, 111, + 97, 116, 49, 54, 124, 49, 44, 49, 50, 56, 44, 50, 56, 44, 50, 56, + 59, 70, 108, 111, 97, 116, 49, 54, 124, 50, 49, 4, 0, 0, 0, 141, + 151, 254, 67, 62, 0, 0, 0, 49, 44, 53, 49, 50, 44, 55, 44, 55, + 59, 70, 108, 111, 97, 116, 49, 54, 124, 123, 78, 44, 72, 44, 67, 47, + 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 123, 78, 44, 67, 44, 72, + 44, 87, 125, 59, 49, 59, 70, 108, 111, 97, 116, 49, 54, 59, 70, 108, + 111, 97, 116, 49, 54, 4, 0, 0, 0, 119, 190, 31, 65, 74, 0, 0, + 0, 218, 182, 120, 146, 221, 155, 179, 235, 37, 0, 0, 0, 49, 44, 50, + 53, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 49, 54, + 124, 49, 44, 50, 53, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, + 97, 116, 49, 54, 124, 49, 44, 50, 53, 54, 44, 49, 52, 44, 49, 52, + 59, 70, 108, 111, 97, 116, 49, 54, 124, 50, 49, 4, 0, 0, 0, 174, + 71, 97, 65, 65, 0, 0, 0, 49, 44, 54, 52, 44, 49, 49, 50, 44, + 49, 49, 50, 59, 70, 108, 111, 97, 116, 49, 54, 124, 123, 78, 44, 67, + 44, 72, 44, 87, 125, 59, 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, + 87, 44, 67, 37, 52, 125, 59, 49, 59, 70, 108, 111, 97, 116, 49, 54, + 59, 70, 108, 111, 97, 116, 49, 54, 4, 0, 0, 0, 2, 43, 7, 67, + 148, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 49, 50, 56, 44, 50, 56, + 44, 50, 56, 59, 70, 108, 111, 97, 116, 49, 54, 124, 50, 53, 54, 44, + 49, 50, 56, 44, 51, 44, 51, 59, 70, 108, 111, 97, 116, 49, 54, 124, + 49, 44, 50, 53, 54, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 49, + 54, 124, 49, 44, 50, 53, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, + 111, 97, 116, 49, 54, 124, 50, 49, 4, 0, 0, 0, 119, 190, 7, 68, + 62, 0, 0, 0, 49, 44, 53, 49, 50, 44, 55, 44, 55, 59, 70, 108, + 111, 97, 116, 49, 54, 124, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, + 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, + 59, 49, 59, 70, 108, 111, 97, 116, 49, 54, 59, 70, 108, 111, 97, 116, + 49, 54, 4, 0, 0, 0, 119, 190, 31, 65, 62, 0, 0, 0, 49, 44, + 53, 49, 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, + 59, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 49, 59, 70, 108, 111, + 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, + 27, 47, 221, 64, 62, 0, 0, 0, 49, 44, 53, 49, 50, 44, 49, 44, + 49, 59, 70, 108, 111, 97, 116, 49, 54, 124, 123, 78, 44, 67, 44, 72, + 44, 87, 125, 59, 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, + 67, 37, 52, 125, 59, 49, 59, 70, 108, 111, 97, 116, 49, 54, 59, 70, + 108, 111, 97, 116, 49, 54, 4, 0, 0, 0, 119, 190, 31, 65, 64, 0, + 0, 0, 49, 44, 52, 44, 50, 50, 52, 44, 50, 50, 52, 59, 70, 108, + 111, 97, 116, 51, 50, 124, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, + 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, + 59, 49, 59, 70, 108, 111, 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, + 51, 50, 4, 0, 0, 0, 221, 36, 134, 66}; + +static const std::vector TestLayoutTransform_OPENCL_Resnet18_F32 = { + 1, 0, 0, 0, 36, 0, 0, 0, 108, 97, 121, 111, 117, 116, 95, 116, + 114, 97, 110, 115, 102, 111, 114, 109, 95, 112, 114, 111, 102, 105, 108, 101, + 58, 112, 108, 97, 116, 61, 111, 112, 101, 110, 99, 108, 50, 0, 0, 0, + 146, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 50, 53, 54, 44, 49, 52, + 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 53, 49, 50, 44, + 50, 53, 54, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 49, 44, 53, 49, 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 49, 44, 53, 49, 50, 44, 55, 44, 55, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 50, 49, 4, 0, 0, 0, 88, 57, 180, 66, 143, 0, + 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 255, 255, 49, 44, 54, 52, 44, 53, 54, 44, 53, 54, + 59, 70, 108, 111, 97, 116, 51, 50, 124, 54, 52, 44, 54, 52, 44, 49, + 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 54, 52, 44, + 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 54, 52, + 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, + 49, 4, 0, 0, 0, 84, 227, 5, 67, 65, 0, 0, 0, 49, 44, 54, + 52, 44, 49, 49, 50, 44, 49, 49, 50, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, + 52, 125, 59, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 49, 59, 70, + 108, 111, 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, + 0, 0, 96, 229, 128, 67, 98, 0, 0, 0, 155, 17, 11, 96, 131, 82, + 69, 220, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, + 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, + 255, 255, 49, 44, 54, 52, 44, 49, 49, 50, 44, 49, 49, 50, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 44, 54, 52, 44, 53, 54, 44, 53, + 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, 0, + 72, 225, 122, 67, 62, 0, 0, 0, 49, 44, 53, 49, 50, 44, 55, 44, + 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, 67, 44, 72, + 44, 87, 125, 59, 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, + 67, 37, 52, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, 50, 59, 70, + 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 96, 229, 80, 65, 144, 0, + 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 255, 255, 49, 44, 53, 49, 50, 44, 55, 44, 55, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 53, 49, 50, 44, 53, 49, 50, 44, + 51, 44, 51, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 53, 49, + 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, + 53, 49, 50, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 48, 49, 4, 0, 0, 0, 145, 237, 72, 69, 145, 0, 0, 0, 10, 151, + 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 2, 0, + 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, + 255, 255, 49, 44, 52, 44, 50, 50, 52, 44, 50, 50, 52, 59, 70, 108, + 111, 97, 116, 51, 50, 124, 54, 52, 44, 52, 44, 55, 44, 55, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 44, 54, 52, 44, 49, 44, 49, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 54, 52, 44, 49, 49, 50, + 44, 49, 49, 50, 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, + 0, 0, 0, 84, 227, 201, 68, 146, 0, 0, 0, 10, 151, 159, 190, 73, + 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, + 44, 54, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 49, 50, 56, 44, 54, 52, 44, 51, 44, 51, 59, 70, 108, 111, + 97, 116, 51, 50, 124, 49, 44, 49, 50, 56, 44, 49, 44, 49, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, 50, 56, 44, 50, 56, 44, + 50, 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, + 0, 154, 153, 89, 68, 64, 0, 0, 0, 49, 44, 49, 50, 56, 44, 50, + 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, + 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 123, 78, + 44, 67, 44, 72, 44, 87, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, + 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 162, 69, 182, + 65, 146, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 54, 52, 44, 53, 54, + 44, 53, 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 50, 56, 44, + 54, 52, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, + 44, 49, 50, 56, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 49, 44, 49, 50, 56, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, + 97, 116, 51, 50, 124, 50, 49, 4, 0, 0, 0, 10, 215, 163, 66, 94, + 0, 0, 0, 155, 17, 11, 96, 131, 82, 69, 220, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 7, + 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 53, 49, 50, + 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 53, + 49, 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, + 49, 4, 0, 0, 0, 217, 206, 247, 65, 74, 0, 0, 0, 218, 182, 120, + 146, 221, 155, 179, 235, 37, 0, 0, 0, 49, 44, 49, 50, 56, 44, 50, + 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, + 50, 56, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 49, 44, 49, 50, 56, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, + 97, 116, 51, 50, 124, 50, 49, 4, 0, 0, 0, 51, 51, 51, 66, 74, + 0, 0, 0, 218, 182, 120, 146, 221, 155, 179, 235, 37, 0, 0, 0, 49, + 44, 49, 50, 56, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 49, 44, 49, 50, 56, 44, 50, 56, 44, 50, 56, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, 50, 56, 44, 50, 56, 44, + 50, 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, + 0, 238, 124, 63, 66, 64, 0, 0, 0, 49, 44, 50, 53, 54, 44, 49, + 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, + 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 123, 78, + 44, 67, 44, 72, 44, 87, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, + 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 104, 145, 109, + 65, 71, 0, 0, 0, 218, 182, 120, 146, 221, 155, 179, 235, 37, 0, 0, + 0, 49, 44, 54, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 49, 44, 54, 52, 44, 53, 54, 44, 53, 54, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 44, 54, 52, 44, 53, 54, 44, 53, + 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, 0, + 143, 194, 181, 66, 148, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 49, 50, + 56, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 50, 53, 54, 44, 49, 50, 56, 44, 49, 44, 49, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 49, 44, 50, 53, 54, 44, 49, 44, 49, 59, 70, 108, + 111, 97, 116, 51, 50, 124, 49, 44, 50, 53, 54, 44, 49, 52, 44, 49, + 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, 0, 0, 0, + 197, 32, 176, 66, 148, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 49, 50, + 56, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 49, 50, 56, 44, 49, 50, 56, 44, 51, 44, 51, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 49, 44, 49, 50, 56, 44, 49, 44, 49, 59, 70, 108, + 111, 97, 116, 51, 50, 124, 49, 44, 49, 50, 56, 44, 50, 56, 44, 50, + 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, 0, 0, 0, + 244, 253, 152, 68, 148, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 49, 50, + 56, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 50, 53, 54, 44, 49, 50, 56, 44, 49, 44, 49, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 49, 44, 50, 53, 54, 44, 49, 44, 49, 59, 70, 108, + 111, 97, 116, 51, 50, 124, 49, 44, 50, 53, 54, 44, 49, 52, 44, 49, + 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, 0, + 70, 182, 19, 67, 62, 0, 0, 0, 49, 44, 53, 49, 50, 44, 49, 44, + 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, 72, 44, 67, + 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 123, 78, 44, 67, 44, + 72, 44, 87, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, 50, 59, 70, + 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 27, 47, 221, 64, 148, 0, + 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 255, 255, 49, 44, 49, 50, 56, 44, 50, 56, 44, 50, + 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, 53, 54, 44, 49, 50, + 56, 44, 51, 44, 51, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, + 50, 53, 54, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 49, 44, 50, 53, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 48, 49, 4, 0, 0, 0, 68, 139, 108, 68, 146, 0, + 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 255, 255, 49, 44, 50, 53, 54, 44, 49, 52, 44, 49, + 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 53, 49, 50, 44, 50, 53, + 54, 44, 51, 44, 51, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, + 53, 49, 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 49, 44, 53, 49, 50, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 50, 49, 4, 0, 0, 0, 221, 36, 162, 68, 148, 0, 0, 0, + 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, + 255, 255, 255, 255, 49, 44, 49, 50, 56, 44, 50, 56, 44, 50, 56, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 50, 53, 54, 44, 49, 50, 56, 44, + 51, 44, 51, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 50, 53, + 54, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, + 50, 53, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 50, 49, 4, 0, 0, 0, 63, 53, 78, 68, 146, 0, 0, 0, + 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, + 255, 255, 255, 255, 49, 44, 54, 52, 44, 53, 54, 44, 53, 54, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 50, 56, 44, 54, 52, 44, 51, 44, + 51, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, 50, 56, 44, + 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, 50, + 56, 44, 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 50, 49, 4, 0, 0, 0, 201, 118, 54, 68, 74, 0, 0, 0, 218, 182, + 120, 146, 221, 155, 179, 235, 37, 0, 0, 0, 49, 44, 50, 53, 54, 44, + 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, + 50, 53, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 49, 44, 50, 53, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, + 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, 0, 23, 217, 206, 65, + 145, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 52, 44, 50, 50, 52, 44, + 50, 50, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 54, 52, 44, 52, + 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 54, + 52, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, + 54, 52, 44, 49, 49, 50, 44, 49, 49, 50, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 48, 49, 4, 0, 0, 0, 43, 135, 254, 68, 148, 0, 0, + 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, + 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, + 255, 255, 255, 255, 255, 49, 44, 50, 53, 54, 44, 49, 52, 44, 49, 52, + 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, 53, 54, 44, 50, 53, 54, + 44, 51, 44, 51, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 50, + 53, 54, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, + 44, 50, 53, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 50, 49, 4, 0, 0, 0, 227, 165, 203, 68, 71, 0, 0, + 0, 218, 182, 120, 146, 221, 155, 179, 235, 37, 0, 0, 0, 49, 44, 54, + 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 49, 44, 54, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 49, 44, 54, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, + 111, 97, 116, 51, 50, 124, 50, 49, 4, 0, 0, 0, 162, 69, 182, 66, + 64, 0, 0, 0, 49, 44, 49, 50, 56, 44, 50, 56, 44, 50, 56, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, 67, 44, 72, 44, 87, + 125, 59, 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, + 52, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, 50, 59, 70, 108, 111, + 97, 116, 51, 50, 4, 0, 0, 0, 78, 98, 16, 66, 143, 0, 0, 0, + 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, + 255, 255, 255, 255, 49, 44, 54, 52, 44, 53, 54, 44, 53, 54, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 54, 52, 44, 54, 52, 44, 51, 44, 51, + 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 54, 52, 44, 49, 44, + 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 54, 52, 44, 53, + 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, + 0, 0, 0, 90, 100, 155, 68, 148, 0, 0, 0, 10, 151, 159, 190, 73, + 14, 145, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, + 44, 50, 53, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 50, 53, 54, 44, 50, 53, 54, 44, 51, 44, 51, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 44, 50, 53, 54, 44, 49, 44, 49, + 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 50, 53, 54, 44, 49, + 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, + 0, 0, 0, 18, 131, 196, 68, 64, 0, 0, 0, 49, 44, 52, 44, 50, + 50, 52, 44, 50, 50, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, + 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, + 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 49, 59, 70, 108, 111, 97, + 116, 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 59, + 223, 79, 66, 144, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 53, 49, 50, + 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, 53, 49, 50, + 44, 53, 49, 50, 44, 51, 44, 51, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 49, 44, 53, 49, 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 49, 44, 53, 49, 50, 44, 55, 44, 55, 59, 70, 108, 111, + 97, 116, 51, 50, 124, 50, 49, 4, 0, 0, 0, 182, 243, 17, 69, 143, + 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, + 255, 255, 255, 255, 255, 255, 255, 49, 44, 54, 52, 44, 53, 54, 44, 53, + 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, 54, 52, 44, 54, 52, 44, + 51, 44, 51, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 54, 52, + 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 54, + 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 48, 49, 4, 0, 0, 0, 205, 204, 164, 68, 63, 0, 0, 0, 49, 44, + 54, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, + 125, 59, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 49, 59, 70, 108, + 111, 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, + 0, 137, 65, 96, 66, 68, 0, 0, 0, 218, 182, 120, 146, 221, 155, 179, + 235, 37, 0, 0, 0, 49, 44, 53, 49, 50, 44, 55, 44, 55, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 44, 53, 49, 50, 44, 55, 44, 55, + 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 53, 49, 50, 44, 55, + 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, 0, 0, + 0, 205, 204, 76, 65, 146, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, + 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, + 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 50, + 53, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 53, 49, 50, 44, 50, 53, 54, 44, 51, 44, 51, 59, 70, 108, 111, + 97, 116, 51, 50, 124, 49, 44, 53, 49, 50, 44, 49, 44, 49, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 44, 53, 49, 50, 44, 55, 44, 55, + 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, 0, 106, + 188, 172, 68, 94, 0, 0, 0, 155, 17, 11, 96, 131, 82, 69, 220, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 7, + 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, + 44, 53, 49, 50, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, + 124, 49, 44, 53, 49, 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 48, 49, 4, 0, 0, 0, 117, 147, 24, 66, 62, 0, 0, + 0, 49, 44, 53, 49, 50, 44, 49, 44, 49, 59, 70, 108, 111, 97, 116, + 51, 50, 124, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 123, 78, 44, + 72, 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 49, 59, + 70, 108, 111, 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, + 0, 0, 0, 66, 96, 229, 64, 146, 0, 0, 0, 10, 151, 159, 190, 73, + 14, 145, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, + 44, 54, 52, 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 49, 50, 56, 44, 54, 52, 44, 49, 44, 49, 59, 70, 108, 111, + 97, 116, 51, 50, 124, 49, 44, 49, 50, 56, 44, 49, 44, 49, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 44, 49, 50, 56, 44, 50, 56, 44, + 50, 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, + 0, 254, 212, 24, 67, 64, 0, 0, 0, 49, 44, 52, 44, 50, 50, 52, + 44, 50, 50, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, + 67, 44, 72, 44, 87, 125, 59, 123, 78, 44, 72, 44, 67, 47, 47, 52, + 44, 87, 44, 67, 37, 52, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, + 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 0, 0, 128, + 66, 74, 0, 0, 0, 218, 182, 120, 146, 221, 155, 179, 235, 37, 0, 0, + 0, 49, 44, 50, 53, 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, + 97, 116, 51, 50, 124, 49, 44, 50, 53, 54, 44, 49, 52, 44, 49, 52, + 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 50, 53, 54, 44, 49, + 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, + 0, 0, 0, 23, 217, 206, 65, 63, 0, 0, 0, 49, 44, 54, 52, 44, + 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, + 44, 67, 44, 72, 44, 87, 125, 59, 123, 78, 44, 72, 44, 67, 47, 47, + 52, 44, 87, 44, 67, 37, 52, 125, 59, 49, 59, 70, 108, 111, 97, 116, + 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 94, 186, + 137, 66, 148, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 49, 50, 56, 44, + 50, 56, 44, 50, 56, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 50, + 56, 44, 49, 50, 56, 44, 51, 44, 51, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 49, 44, 49, 50, 56, 44, 49, 44, 49, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 49, 44, 49, 50, 56, 44, 50, 56, 44, 50, 56, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, 0, 141, 151, + 150, 68, 64, 0, 0, 0, 49, 44, 50, 53, 54, 44, 49, 52, 44, 49, + 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, 67, 44, 72, + 44, 87, 125, 59, 123, 78, 44, 72, 44, 67, 47, 47, 52, 44, 87, 44, + 67, 37, 52, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, 50, 59, 70, + 108, 111, 97, 116, 51, 50, 4, 0, 0, 0, 80, 141, 151, 65, 143, 0, + 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 255, 255, 49, 44, 54, 52, 44, 53, 54, 44, 53, 54, + 59, 70, 108, 111, 97, 116, 51, 50, 124, 54, 52, 44, 54, 52, 44, 49, + 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 54, 52, 44, + 49, 44, 49, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 54, 52, + 44, 53, 54, 44, 53, 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, + 49, 4, 0, 0, 0, 82, 184, 126, 67, 68, 0, 0, 0, 218, 182, 120, + 146, 221, 155, 179, 235, 37, 0, 0, 0, 49, 44, 53, 49, 50, 44, 55, + 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 53, 49, 50, + 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, 49, 44, 53, + 49, 50, 44, 55, 44, 55, 59, 70, 108, 111, 97, 116, 51, 50, 124, 48, + 49, 4, 0, 0, 0, 96, 229, 80, 65, 65, 0, 0, 0, 49, 44, 54, + 52, 44, 49, 49, 50, 44, 49, 49, 50, 59, 70, 108, 111, 97, 116, 51, + 50, 124, 123, 78, 44, 67, 44, 72, 44, 87, 125, 59, 123, 78, 44, 72, + 44, 67, 47, 47, 52, 44, 87, 44, 67, 37, 52, 125, 59, 49, 59, 70, + 108, 111, 97, 116, 51, 50, 59, 70, 108, 111, 97, 116, 51, 50, 4, 0, + 0, 0, 0, 0, 128, 67, 98, 0, 0, 0, 155, 17, 11, 96, 131, 82, + 69, 220, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, + 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, + 255, 255, 49, 44, 54, 52, 44, 49, 49, 50, 44, 49, 49, 50, 59, 70, + 108, 111, 97, 116, 51, 50, 124, 49, 44, 54, 52, 44, 53, 54, 44, 53, + 54, 59, 70, 108, 111, 97, 116, 51, 50, 124, 50, 49, 4, 0, 0, 0, + 225, 122, 148, 67, 146, 0, 0, 0, 10, 151, 159, 190, 73, 14, 145, 194, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 50, 53, + 54, 44, 49, 52, 44, 49, 52, 59, 70, 108, 111, 97, 116, 51, 50, 124, + 53, 49, 50, 44, 50, 53, 54, 44, 49, 44, 49, 59, 70, 108, 111, 97, + 116, 51, 50, 124, 49, 44, 53, 49, 50, 44, 49, 44, 49, 59, 70, 108, + 111, 97, 116, 51, 50, 124, 49, 44, 53, 49, 50, 44, 55, 44, 55, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 48, 49, 4, 0, 0, 0, 37, 6, + 65, 67, 62, 0, 0, 0, 49, 44, 53, 49, 50, 44, 55, 44, 55, 59, + 70, 108, 111, 97, 116, 51, 50, 124, 123, 78, 44, 72, 44, 67, 47, 47, + 52, 44, 87, 44, 67, 37, 52, 125, 59, 123, 78, 44, 67, 44, 72, 44, + 87, 125, 59, 49, 59, 70, 108, 111, 97, 116, 51, 50, 59, 70, 108, 111, + 97, 116, 51, 50, 4, 0, 0, 0, 205, 204, 76, 65}; diff --git a/src/opr/impl/io.cpp b/src/opr/impl/io.cpp index 74a29205..e18bfd94 100644 --- a/src/opr/impl/io.cpp +++ b/src/opr/impl/io.cpp @@ -336,6 +336,10 @@ cg::OperatorNodeBase::NodeProp* VolatileSharedDeviceTensor::do_make_node_prop() return ret; } +void VolatileSharedDeviceTensor::init_output_format() { + output(0)->format(get_dev_tensor().format()); +} + SymbolVar VolatileSharedDeviceTensor::make( ComputingGraph& graph, const std::shared_ptr& dev_data, const OperatorNodeConfig& config) { diff --git a/src/opr/include/megbrain/opr/io.h b/src/opr/include/megbrain/opr/io.h index 4e4118aa..a1aba48d 100644 --- a/src/opr/include/megbrain/opr/io.h +++ b/src/opr/include/megbrain/opr/io.h @@ -337,6 +337,8 @@ MGB_DEFINE_OPR_CLASS_WITH_EXPORT( public: using Super::Super; + void init_output_format() override; + MGE_WIN_DECLSPEC_FUC static SymbolVar make( ComputingGraph& graph, const std::shared_ptr& dev_data, const OperatorNodeConfig& config = {});