// coverage:ignore-file
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark

part of 'zipcode_dto.dart';

// **************************************************************************
// FreezedGenerator
// **************************************************************************

T _$identity<T>(T value) => value;

final _privateConstructorUsedError = UnsupportedError(
    'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models');

ZipcodeDto _$ZipcodeDtoFromJson(Map<String, dynamic> json) {
  return _ZipcodeDto.fromJson(json);
}

/// @nodoc
mixin _$ZipcodeDto {
  String get zipcode => throw _privateConstructorUsedError;
  String get sido => throw _privateConstructorUsedError;
  String get gu => throw _privateConstructorUsedError;
  @JsonKey(name: 'etc')
  String get etc => throw _privateConstructorUsedError;
  @JsonKey(name: 'is_deleted')
  bool get isDeleted => throw _privateConstructorUsedError;
  @JsonKey(name: 'created_at')
  DateTime? get createdAt => throw _privateConstructorUsedError;
  @JsonKey(name: 'updated_at')
  DateTime? get updatedAt => throw _privateConstructorUsedError;

  /// Serializes this ZipcodeDto to a JSON map.
  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;

  /// Create a copy of ZipcodeDto
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  $ZipcodeDtoCopyWith<ZipcodeDto> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $ZipcodeDtoCopyWith<$Res> {
  factory $ZipcodeDtoCopyWith(
          ZipcodeDto value, $Res Function(ZipcodeDto) then) =
      _$ZipcodeDtoCopyWithImpl<$Res, ZipcodeDto>;
  @useResult
  $Res call(
      {String zipcode,
      String sido,
      String gu,
      @JsonKey(name: 'etc') String etc,
      @JsonKey(name: 'is_deleted') bool isDeleted,
      @JsonKey(name: 'created_at') DateTime? createdAt,
      @JsonKey(name: 'updated_at') DateTime? updatedAt});
}

/// @nodoc
class _$ZipcodeDtoCopyWithImpl<$Res, $Val extends ZipcodeDto>
    implements $ZipcodeDtoCopyWith<$Res> {
  _$ZipcodeDtoCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;

  /// Create a copy of ZipcodeDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? zipcode = null,
    Object? sido = null,
    Object? gu = null,
    Object? etc = null,
    Object? isDeleted = null,
    Object? createdAt = freezed,
    Object? updatedAt = freezed,
  }) {
    return _then(_value.copyWith(
      zipcode: null == zipcode
          ? _value.zipcode
          : zipcode // ignore: cast_nullable_to_non_nullable
              as String,
      sido: null == sido
          ? _value.sido
          : sido // ignore: cast_nullable_to_non_nullable
              as String,
      gu: null == gu
          ? _value.gu
          : gu // ignore: cast_nullable_to_non_nullable
              as String,
      etc: null == etc
          ? _value.etc
          : etc // ignore: cast_nullable_to_non_nullable
              as String,
      isDeleted: null == isDeleted
          ? _value.isDeleted
          : isDeleted // ignore: cast_nullable_to_non_nullable
              as bool,
      createdAt: freezed == createdAt
          ? _value.createdAt
          : createdAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      updatedAt: freezed == updatedAt
          ? _value.updatedAt
          : updatedAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$ZipcodeDtoImplCopyWith<$Res>
    implements $ZipcodeDtoCopyWith<$Res> {
  factory _$$ZipcodeDtoImplCopyWith(
          _$ZipcodeDtoImpl value, $Res Function(_$ZipcodeDtoImpl) then) =
      __$$ZipcodeDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {String zipcode,
      String sido,
      String gu,
      @JsonKey(name: 'etc') String etc,
      @JsonKey(name: 'is_deleted') bool isDeleted,
      @JsonKey(name: 'created_at') DateTime? createdAt,
      @JsonKey(name: 'updated_at') DateTime? updatedAt});
}

/// @nodoc
class __$$ZipcodeDtoImplCopyWithImpl<$Res>
    extends _$ZipcodeDtoCopyWithImpl<$Res, _$ZipcodeDtoImpl>
    implements _$$ZipcodeDtoImplCopyWith<$Res> {
  __$$ZipcodeDtoImplCopyWithImpl(
      _$ZipcodeDtoImpl _value, $Res Function(_$ZipcodeDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of ZipcodeDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? zipcode = null,
    Object? sido = null,
    Object? gu = null,
    Object? etc = null,
    Object? isDeleted = null,
    Object? createdAt = freezed,
    Object? updatedAt = freezed,
  }) {
    return _then(_$ZipcodeDtoImpl(
      zipcode: null == zipcode
          ? _value.zipcode
          : zipcode // ignore: cast_nullable_to_non_nullable
              as String,
      sido: null == sido
          ? _value.sido
          : sido // ignore: cast_nullable_to_non_nullable
              as String,
      gu: null == gu
          ? _value.gu
          : gu // ignore: cast_nullable_to_non_nullable
              as String,
      etc: null == etc
          ? _value.etc
          : etc // ignore: cast_nullable_to_non_nullable
              as String,
      isDeleted: null == isDeleted
          ? _value.isDeleted
          : isDeleted // ignore: cast_nullable_to_non_nullable
              as bool,
      createdAt: freezed == createdAt
          ? _value.createdAt
          : createdAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      updatedAt: freezed == updatedAt
          ? _value.updatedAt
          : updatedAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$ZipcodeDtoImpl extends _ZipcodeDto {
  const _$ZipcodeDtoImpl(
      {required this.zipcode,
      required this.sido,
      required this.gu,
      @JsonKey(name: 'etc') required this.etc,
      @JsonKey(name: 'is_deleted') this.isDeleted = false,
      @JsonKey(name: 'created_at') this.createdAt,
      @JsonKey(name: 'updated_at') this.updatedAt})
      : super._();

  factory _$ZipcodeDtoImpl.fromJson(Map<String, dynamic> json) =>
      _$$ZipcodeDtoImplFromJson(json);

  @override
  final String zipcode;
  @override
  final String sido;
  @override
  final String gu;
  @override
  @JsonKey(name: 'etc')
  final String etc;
  @override
  @JsonKey(name: 'is_deleted')
  final bool isDeleted;
  @override
  @JsonKey(name: 'created_at')
  final DateTime? createdAt;
  @override
  @JsonKey(name: 'updated_at')
  final DateTime? updatedAt;

  @override
  String toString() {
    return 'ZipcodeDto(zipcode: $zipcode, sido: $sido, gu: $gu, etc: $etc, isDeleted: $isDeleted, createdAt: $createdAt, updatedAt: $updatedAt)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$ZipcodeDtoImpl &&
            (identical(other.zipcode, zipcode) || other.zipcode == zipcode) &&
            (identical(other.sido, sido) || other.sido == sido) &&
            (identical(other.gu, gu) || other.gu == gu) &&
            (identical(other.etc, etc) || other.etc == etc) &&
            (identical(other.isDeleted, isDeleted) ||
                other.isDeleted == isDeleted) &&
            (identical(other.createdAt, createdAt) ||
                other.createdAt == createdAt) &&
            (identical(other.updatedAt, updatedAt) ||
                other.updatedAt == updatedAt));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
      runtimeType, zipcode, sido, gu, etc, isDeleted, createdAt, updatedAt);

  /// Create a copy of ZipcodeDto
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  @pragma('vm:prefer-inline')
  _$$ZipcodeDtoImplCopyWith<_$ZipcodeDtoImpl> get copyWith =>
      __$$ZipcodeDtoImplCopyWithImpl<_$ZipcodeDtoImpl>(this, _$identity);

  @override
  Map<String, dynamic> toJson() {
    return _$$ZipcodeDtoImplToJson(
      this,
    );
  }
}

abstract class _ZipcodeDto extends ZipcodeDto {
  const factory _ZipcodeDto(
          {required final String zipcode,
          required final String sido,
          required final String gu,
          @JsonKey(name: 'etc') required final String etc,
          @JsonKey(name: 'is_deleted') final bool isDeleted,
          @JsonKey(name: 'created_at') final DateTime? createdAt,
          @JsonKey(name: 'updated_at') final DateTime? updatedAt}) =
      _$ZipcodeDtoImpl;
  const _ZipcodeDto._() : super._();

  factory _ZipcodeDto.fromJson(Map<String, dynamic> json) =
      _$ZipcodeDtoImpl.fromJson;

  @override
  String get zipcode;
  @override
  String get sido;
  @override
  String get gu;
  @override
  @JsonKey(name: 'etc')
  String get etc;
  @override
  @JsonKey(name: 'is_deleted')
  bool get isDeleted;
  @override
  @JsonKey(name: 'created_at')
  DateTime? get createdAt;
  @override
  @JsonKey(name: 'updated_at')
  DateTime? get updatedAt;

  /// Create a copy of ZipcodeDto
  /// with the given fields replaced by the non-null parameter values.
  @override
  @JsonKey(includeFromJson: false, includeToJson: false)
  _$$ZipcodeDtoImplCopyWith<_$ZipcodeDtoImpl> get copyWith =>
      throw _privateConstructorUsedError;
}

ZipcodeListResponse _$ZipcodeListResponseFromJson(Map<String, dynamic> json) {
  return _ZipcodeListResponse.fromJson(json);
}

/// @nodoc
mixin _$ZipcodeListResponse {
  @JsonKey(name: 'data')
  List<ZipcodeDto> get items => throw _privateConstructorUsedError;
  @JsonKey(name: 'total')
  int get totalCount => throw _privateConstructorUsedError;
  @JsonKey(name: 'page')
  int get currentPage => throw _privateConstructorUsedError;
  @JsonKey(name: 'total_pages')
  int get totalPages => throw _privateConstructorUsedError;
  @JsonKey(name: 'page_size')
  int? get pageSize => throw _privateConstructorUsedError;

  /// Serializes this ZipcodeListResponse to a JSON map.
  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;

  /// Create a copy of ZipcodeListResponse
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  $ZipcodeListResponseCopyWith<ZipcodeListResponse> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $ZipcodeListResponseCopyWith<$Res> {
  factory $ZipcodeListResponseCopyWith(
          ZipcodeListResponse value, $Res Function(ZipcodeListResponse) then) =
      _$ZipcodeListResponseCopyWithImpl<$Res, ZipcodeListResponse>;
  @useResult
  $Res call(
      {@JsonKey(name: 'data') List<ZipcodeDto> items,
      @JsonKey(name: 'total') int totalCount,
      @JsonKey(name: 'page') int currentPage,
      @JsonKey(name: 'total_pages') int totalPages,
      @JsonKey(name: 'page_size') int? pageSize});
}

/// @nodoc
class _$ZipcodeListResponseCopyWithImpl<$Res, $Val extends ZipcodeListResponse>
    implements $ZipcodeListResponseCopyWith<$Res> {
  _$ZipcodeListResponseCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;

  /// Create a copy of ZipcodeListResponse
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? items = null,
    Object? totalCount = null,
    Object? currentPage = null,
    Object? totalPages = null,
    Object? pageSize = freezed,
  }) {
    return _then(_value.copyWith(
      items: null == items
          ? _value.items
          : items // ignore: cast_nullable_to_non_nullable
              as List<ZipcodeDto>,
      totalCount: null == totalCount
          ? _value.totalCount
          : totalCount // ignore: cast_nullable_to_non_nullable
              as int,
      currentPage: null == currentPage
          ? _value.currentPage
          : currentPage // ignore: cast_nullable_to_non_nullable
              as int,
      totalPages: null == totalPages
          ? _value.totalPages
          : totalPages // ignore: cast_nullable_to_non_nullable
              as int,
      pageSize: freezed == pageSize
          ? _value.pageSize
          : pageSize // ignore: cast_nullable_to_non_nullable
              as int?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$ZipcodeListResponseImplCopyWith<$Res>
    implements $ZipcodeListResponseCopyWith<$Res> {
  factory _$$ZipcodeListResponseImplCopyWith(_$ZipcodeListResponseImpl value,
          $Res Function(_$ZipcodeListResponseImpl) then) =
      __$$ZipcodeListResponseImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {@JsonKey(name: 'data') List<ZipcodeDto> items,
      @JsonKey(name: 'total') int totalCount,
      @JsonKey(name: 'page') int currentPage,
      @JsonKey(name: 'total_pages') int totalPages,
      @JsonKey(name: 'page_size') int? pageSize});
}

/// @nodoc
class __$$ZipcodeListResponseImplCopyWithImpl<$Res>
    extends _$ZipcodeListResponseCopyWithImpl<$Res, _$ZipcodeListResponseImpl>
    implements _$$ZipcodeListResponseImplCopyWith<$Res> {
  __$$ZipcodeListResponseImplCopyWithImpl(_$ZipcodeListResponseImpl _value,
      $Res Function(_$ZipcodeListResponseImpl) _then)
      : super(_value, _then);

  /// Create a copy of ZipcodeListResponse
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? items = null,
    Object? totalCount = null,
    Object? currentPage = null,
    Object? totalPages = null,
    Object? pageSize = freezed,
  }) {
    return _then(_$ZipcodeListResponseImpl(
      items: null == items
          ? _value._items
          : items // ignore: cast_nullable_to_non_nullable
              as List<ZipcodeDto>,
      totalCount: null == totalCount
          ? _value.totalCount
          : totalCount // ignore: cast_nullable_to_non_nullable
              as int,
      currentPage: null == currentPage
          ? _value.currentPage
          : currentPage // ignore: cast_nullable_to_non_nullable
              as int,
      totalPages: null == totalPages
          ? _value.totalPages
          : totalPages // ignore: cast_nullable_to_non_nullable
              as int,
      pageSize: freezed == pageSize
          ? _value.pageSize
          : pageSize // ignore: cast_nullable_to_non_nullable
              as int?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$ZipcodeListResponseImpl implements _ZipcodeListResponse {
  const _$ZipcodeListResponseImpl(
      {@JsonKey(name: 'data') required final List<ZipcodeDto> items,
      @JsonKey(name: 'total') this.totalCount = 0,
      @JsonKey(name: 'page') this.currentPage = 1,
      @JsonKey(name: 'total_pages') this.totalPages = 1,
      @JsonKey(name: 'page_size') this.pageSize})
      : _items = items;

  factory _$ZipcodeListResponseImpl.fromJson(Map<String, dynamic> json) =>
      _$$ZipcodeListResponseImplFromJson(json);

  final List<ZipcodeDto> _items;
  @override
  @JsonKey(name: 'data')
  List<ZipcodeDto> get items {
    if (_items is EqualUnmodifiableListView) return _items;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_items);
  }

  @override
  @JsonKey(name: 'total')
  final int totalCount;
  @override
  @JsonKey(name: 'page')
  final int currentPage;
  @override
  @JsonKey(name: 'total_pages')
  final int totalPages;
  @override
  @JsonKey(name: 'page_size')
  final int? pageSize;

  @override
  String toString() {
    return 'ZipcodeListResponse(items: $items, totalCount: $totalCount, currentPage: $currentPage, totalPages: $totalPages, pageSize: $pageSize)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$ZipcodeListResponseImpl &&
            const DeepCollectionEquality().equals(other._items, _items) &&
            (identical(other.totalCount, totalCount) ||
                other.totalCount == totalCount) &&
            (identical(other.currentPage, currentPage) ||
                other.currentPage == currentPage) &&
            (identical(other.totalPages, totalPages) ||
                other.totalPages == totalPages) &&
            (identical(other.pageSize, pageSize) ||
                other.pageSize == pageSize));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
      runtimeType,
      const DeepCollectionEquality().hash(_items),
      totalCount,
      currentPage,
      totalPages,
      pageSize);

  /// Create a copy of ZipcodeListResponse
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  @pragma('vm:prefer-inline')
  _$$ZipcodeListResponseImplCopyWith<_$ZipcodeListResponseImpl> get copyWith =>
      __$$ZipcodeListResponseImplCopyWithImpl<_$ZipcodeListResponseImpl>(
          this, _$identity);

  @override
  Map<String, dynamic> toJson() {
    return _$$ZipcodeListResponseImplToJson(
      this,
    );
  }
}

abstract class _ZipcodeListResponse implements ZipcodeListResponse {
  const factory _ZipcodeListResponse(
          {@JsonKey(name: 'data') required final List<ZipcodeDto> items,
          @JsonKey(name: 'total') final int totalCount,
          @JsonKey(name: 'page') final int currentPage,
          @JsonKey(name: 'total_pages') final int totalPages,
          @JsonKey(name: 'page_size') final int? pageSize}) =
      _$ZipcodeListResponseImpl;

  factory _ZipcodeListResponse.fromJson(Map<String, dynamic> json) =
      _$ZipcodeListResponseImpl.fromJson;

  @override
  @JsonKey(name: 'data')
  List<ZipcodeDto> get items;
  @override
  @JsonKey(name: 'total')
  int get totalCount;
  @override
  @JsonKey(name: 'page')
  int get currentPage;
  @override
  @JsonKey(name: 'total_pages')
  int get totalPages;
  @override
  @JsonKey(name: 'page_size')
  int? get pageSize;

  /// Create a copy of ZipcodeListResponse
  /// with the given fields replaced by the non-null parameter values.
  @override
  @JsonKey(includeFromJson: false, includeToJson: false)
  _$$ZipcodeListResponseImplCopyWith<_$ZipcodeListResponseImpl> get copyWith =>
      throw _privateConstructorUsedError;
}

HierarchyMeta _$HierarchyMetaFromJson(Map<String, dynamic> json) {
  return _HierarchyMeta.fromJson(json);
}

/// @nodoc
mixin _$HierarchyMeta {
  int get total => throw _privateConstructorUsedError;
  String? get sido => throw _privateConstructorUsedError;
  String? get gu => throw _privateConstructorUsedError;

  /// Serializes this HierarchyMeta to a JSON map.
  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;

  /// Create a copy of HierarchyMeta
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  $HierarchyMetaCopyWith<HierarchyMeta> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $HierarchyMetaCopyWith<$Res> {
  factory $HierarchyMetaCopyWith(
          HierarchyMeta value, $Res Function(HierarchyMeta) then) =
      _$HierarchyMetaCopyWithImpl<$Res, HierarchyMeta>;
  @useResult
  $Res call({int total, String? sido, String? gu});
}

/// @nodoc
class _$HierarchyMetaCopyWithImpl<$Res, $Val extends HierarchyMeta>
    implements $HierarchyMetaCopyWith<$Res> {
  _$HierarchyMetaCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;

  /// Create a copy of HierarchyMeta
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? total = null,
    Object? sido = freezed,
    Object? gu = freezed,
  }) {
    return _then(_value.copyWith(
      total: null == total
          ? _value.total
          : total // ignore: cast_nullable_to_non_nullable
              as int,
      sido: freezed == sido
          ? _value.sido
          : sido // ignore: cast_nullable_to_non_nullable
              as String?,
      gu: freezed == gu
          ? _value.gu
          : gu // ignore: cast_nullable_to_non_nullable
              as String?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$HierarchyMetaImplCopyWith<$Res>
    implements $HierarchyMetaCopyWith<$Res> {
  factory _$$HierarchyMetaImplCopyWith(
          _$HierarchyMetaImpl value, $Res Function(_$HierarchyMetaImpl) then) =
      __$$HierarchyMetaImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call({int total, String? sido, String? gu});
}

/// @nodoc
class __$$HierarchyMetaImplCopyWithImpl<$Res>
    extends _$HierarchyMetaCopyWithImpl<$Res, _$HierarchyMetaImpl>
    implements _$$HierarchyMetaImplCopyWith<$Res> {
  __$$HierarchyMetaImplCopyWithImpl(
      _$HierarchyMetaImpl _value, $Res Function(_$HierarchyMetaImpl) _then)
      : super(_value, _then);

  /// Create a copy of HierarchyMeta
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? total = null,
    Object? sido = freezed,
    Object? gu = freezed,
  }) {
    return _then(_$HierarchyMetaImpl(
      total: null == total
          ? _value.total
          : total // ignore: cast_nullable_to_non_nullable
              as int,
      sido: freezed == sido
          ? _value.sido
          : sido // ignore: cast_nullable_to_non_nullable
              as String?,
      gu: freezed == gu
          ? _value.gu
          : gu // ignore: cast_nullable_to_non_nullable
              as String?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$HierarchyMetaImpl implements _HierarchyMeta {
  const _$HierarchyMetaImpl({required this.total, this.sido, this.gu});

  factory _$HierarchyMetaImpl.fromJson(Map<String, dynamic> json) =>
      _$$HierarchyMetaImplFromJson(json);

  @override
  final int total;
  @override
  final String? sido;
  @override
  final String? gu;

  @override
  String toString() {
    return 'HierarchyMeta(total: $total, sido: $sido, gu: $gu)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$HierarchyMetaImpl &&
            (identical(other.total, total) || other.total == total) &&
            (identical(other.sido, sido) || other.sido == sido) &&
            (identical(other.gu, gu) || other.gu == gu));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(runtimeType, total, sido, gu);

  /// Create a copy of HierarchyMeta
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  @pragma('vm:prefer-inline')
  _$$HierarchyMetaImplCopyWith<_$HierarchyMetaImpl> get copyWith =>
      __$$HierarchyMetaImplCopyWithImpl<_$HierarchyMetaImpl>(this, _$identity);

  @override
  Map<String, dynamic> toJson() {
    return _$$HierarchyMetaImplToJson(
      this,
    );
  }
}

abstract class _HierarchyMeta implements HierarchyMeta {
  const factory _HierarchyMeta(
      {required final int total,
      final String? sido,
      final String? gu}) = _$HierarchyMetaImpl;

  factory _HierarchyMeta.fromJson(Map<String, dynamic> json) =
      _$HierarchyMetaImpl.fromJson;

  @override
  int get total;
  @override
  String? get sido;
  @override
  String? get gu;

  /// Create a copy of HierarchyMeta
  /// with the given fields replaced by the non-null parameter values.
  @override
  @JsonKey(includeFromJson: false, includeToJson: false)
  _$$HierarchyMetaImplCopyWith<_$HierarchyMetaImpl> get copyWith =>
      throw _privateConstructorUsedError;
}

HierarchyResponse _$HierarchyResponseFromJson(Map<String, dynamic> json) {
  return _HierarchyResponse.fromJson(json);
}

/// @nodoc
mixin _$HierarchyResponse {
  @JsonKey(name: 'data')
  List<String> get data => throw _privateConstructorUsedError;
  @JsonKey(name: 'meta')
  HierarchyMeta get meta => throw _privateConstructorUsedError;

  /// Serializes this HierarchyResponse to a JSON map.
  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;

  /// Create a copy of HierarchyResponse
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  $HierarchyResponseCopyWith<HierarchyResponse> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $HierarchyResponseCopyWith<$Res> {
  factory $HierarchyResponseCopyWith(
          HierarchyResponse value, $Res Function(HierarchyResponse) then) =
      _$HierarchyResponseCopyWithImpl<$Res, HierarchyResponse>;
  @useResult
  $Res call(
      {@JsonKey(name: 'data') List<String> data,
      @JsonKey(name: 'meta') HierarchyMeta meta});

  $HierarchyMetaCopyWith<$Res> get meta;
}

/// @nodoc
class _$HierarchyResponseCopyWithImpl<$Res, $Val extends HierarchyResponse>
    implements $HierarchyResponseCopyWith<$Res> {
  _$HierarchyResponseCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;

  /// Create a copy of HierarchyResponse
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? data = null,
    Object? meta = null,
  }) {
    return _then(_value.copyWith(
      data: null == data
          ? _value.data
          : data // ignore: cast_nullable_to_non_nullable
              as List<String>,
      meta: null == meta
          ? _value.meta
          : meta // ignore: cast_nullable_to_non_nullable
              as HierarchyMeta,
    ) as $Val);
  }

  /// Create a copy of HierarchyResponse
  /// with the given fields replaced by the non-null parameter values.
  @override
  @pragma('vm:prefer-inline')
  $HierarchyMetaCopyWith<$Res> get meta {
    return $HierarchyMetaCopyWith<$Res>(_value.meta, (value) {
      return _then(_value.copyWith(meta: value) as $Val);
    });
  }
}

/// @nodoc
abstract class _$$HierarchyResponseImplCopyWith<$Res>
    implements $HierarchyResponseCopyWith<$Res> {
  factory _$$HierarchyResponseImplCopyWith(_$HierarchyResponseImpl value,
          $Res Function(_$HierarchyResponseImpl) then) =
      __$$HierarchyResponseImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {@JsonKey(name: 'data') List<String> data,
      @JsonKey(name: 'meta') HierarchyMeta meta});

  @override
  $HierarchyMetaCopyWith<$Res> get meta;
}

/// @nodoc
class __$$HierarchyResponseImplCopyWithImpl<$Res>
    extends _$HierarchyResponseCopyWithImpl<$Res, _$HierarchyResponseImpl>
    implements _$$HierarchyResponseImplCopyWith<$Res> {
  __$$HierarchyResponseImplCopyWithImpl(_$HierarchyResponseImpl _value,
      $Res Function(_$HierarchyResponseImpl) _then)
      : super(_value, _then);

  /// Create a copy of HierarchyResponse
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? data = null,
    Object? meta = null,
  }) {
    return _then(_$HierarchyResponseImpl(
      data: null == data
          ? _value._data
          : data // ignore: cast_nullable_to_non_nullable
              as List<String>,
      meta: null == meta
          ? _value.meta
          : meta // ignore: cast_nullable_to_non_nullable
              as HierarchyMeta,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$HierarchyResponseImpl implements _HierarchyResponse {
  const _$HierarchyResponseImpl(
      {@JsonKey(name: 'data') required final List<String> data,
      @JsonKey(name: 'meta') required this.meta})
      : _data = data;

  factory _$HierarchyResponseImpl.fromJson(Map<String, dynamic> json) =>
      _$$HierarchyResponseImplFromJson(json);

  final List<String> _data;
  @override
  @JsonKey(name: 'data')
  List<String> get data {
    if (_data is EqualUnmodifiableListView) return _data;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_data);
  }

  @override
  @JsonKey(name: 'meta')
  final HierarchyMeta meta;

  @override
  String toString() {
    return 'HierarchyResponse(data: $data, meta: $meta)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$HierarchyResponseImpl &&
            const DeepCollectionEquality().equals(other._data, _data) &&
            (identical(other.meta, meta) || other.meta == meta));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
      runtimeType, const DeepCollectionEquality().hash(_data), meta);

  /// Create a copy of HierarchyResponse
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  @pragma('vm:prefer-inline')
  _$$HierarchyResponseImplCopyWith<_$HierarchyResponseImpl> get copyWith =>
      __$$HierarchyResponseImplCopyWithImpl<_$HierarchyResponseImpl>(
          this, _$identity);

  @override
  Map<String, dynamic> toJson() {
    return _$$HierarchyResponseImplToJson(
      this,
    );
  }
}

abstract class _HierarchyResponse implements HierarchyResponse {
  const factory _HierarchyResponse(
          {@JsonKey(name: 'data') required final List<String> data,
          @JsonKey(name: 'meta') required final HierarchyMeta meta}) =
      _$HierarchyResponseImpl;

  factory _HierarchyResponse.fromJson(Map<String, dynamic> json) =
      _$HierarchyResponseImpl.fromJson;

  @override
  @JsonKey(name: 'data')
  List<String> get data;
  @override
  @JsonKey(name: 'meta')
  HierarchyMeta get meta;

  /// Create a copy of HierarchyResponse
  /// with the given fields replaced by the non-null parameter values.
  @override
  @JsonKey(includeFromJson: false, includeToJson: false)
  _$$HierarchyResponseImplCopyWith<_$HierarchyResponseImpl> get copyWith =>
      throw _privateConstructorUsedError;
}
