{"version":3,"file":"rd-outer-component.mjs","sources":["../../../projects/shared-lib/src/lib/modules/custom-checkbox/custom-checkbox.component.ts","../../../projects/shared-lib/src/lib/modules/custom-checkbox/custom-checkbox.component.html","../../../projects/shared-lib/src/lib/modules/custom-checkbox/custom-checkbox.module.ts","../../../projects/shared-lib/src/lib/modules/form-item/form-item.component.ts","../../../projects/shared-lib/src/lib/modules/form-item/form-item.component.html","../../../projects/shared-lib/src/lib/modules/custom-date/custom-date.component.ts","../../../projects/shared-lib/src/lib/modules/custom-date/custom-date.component.html","../../../projects/shared-lib/src/lib/modules/form-item/form-item.module.ts","../../../projects/shared-lib/src/lib/modules/custom-date/custom-date.module.ts","../../../projects/shared-lib/src/lib/utils/big-number.ts","../../../projects/shared-lib/src/lib/modules/custom-input/custom-input.component.ts","../../../projects/shared-lib/src/lib/modules/custom-input/custom-input.component.html","../../../projects/shared-lib/src/lib/modules/custom-input/custom-input.module.ts","../../../projects/shared-lib/src/lib/utils/form-vaild-lang.ts","../../../projects/shared-lib/src/lib/modules/custom-textarea/custom-textarea.component.ts","../../../projects/shared-lib/src/lib/modules/custom-textarea/custom-textarea.component.html","../../../projects/shared-lib/src/lib/modules/custom-textarea/custom-textarea.module.ts","../../../projects/shared-lib/src/lib/modules/custom-input-amount/custom-input-amount.component.ts","../../../projects/shared-lib/src/lib/modules/custom-input-amount/custom-input-amount.component.html","../../../projects/shared-lib/src/lib/modules/custom-input-amount/custom-input-amount.module.ts","../../../projects/shared-lib/src/lib/modules/custom-radio/custom-radio.component.ts","../../../projects/shared-lib/src/lib/modules/custom-radio/custom-radio.component.html","../../../projects/shared-lib/src/lib/modules/custom-radio/custom-radio.module.ts","../../../projects/shared-lib/src/lib/modules/rd-button/rd-button.component.ts","../../../projects/shared-lib/src/lib/modules/rd-button/rd-button.component.html","../../../projects/shared-lib/src/lib/modules/custom-select/rd-select.component.ts","../../../projects/shared-lib/src/lib/modules/custom-select/rd-select.component.html","../../../projects/shared-lib/src/lib/modules/rd-button/rd-button.module.ts","../../../projects/shared-lib/src/lib/modules/custom-select/rd-select.module.ts","../../../projects/shared-lib/src/lib/modules/custom-select/pure-select-token/pure-select-token.component.ts","../../../projects/shared-lib/src/lib/modules/custom-select/pure-select-token/pure-select-token.component.html","../../../projects/shared-lib/src/lib/modules/custom-select/pure-select-token/pure-select-token.module.ts","../../../projects/shared-lib/src/lib/modules/custom-select/industry-cascader/industry-cascader.component.ts","../../../projects/shared-lib/src/lib/modules/custom-select/industry-cascader/industry-cascader.component.html","../../../projects/shared-lib/src/lib/modules/custom-select/industry-cascader/industry-cascader.module.ts","../../../projects/shared-lib/src/lib/modules/status-field/status-field.component.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter-select/custom-filter-select.component.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter-select/custom-filter-select.component.html","../../../projects/shared-lib/src/lib/modules/status-field/status-field.module.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter-select/custom-filter-select.module.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter.types.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter-date/custom-filter-date.component.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter-date/custom-filter-date.component.html","../../../projects/shared-lib/src/lib/utils/debounce.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter-input/custom-filter-input.component.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter-input/custom-filter-input.component.html","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter.component.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter.component.html","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter.module.ts","../../../projects/shared-lib/src/lib/modules/custom-pagination/paginator.component.ts","../../../projects/shared-lib/src/lib/modules/custom-pagination/paginator.component.html","../../../projects/shared-lib/src/lib/modules/custom-pagination/paginator.module.ts","../../../projects/shared-lib/src/lib/modules/header-step/header-step.component.ts","../../../projects/shared-lib/src/lib/modules/header-step/header-step.component.html","../../../projects/shared-lib/src/lib/modules/header-step/header-step.module.ts","../../../projects/shared-lib/src/lib/modules/rd-notification/notification.component.ts","../../../projects/shared-lib/src/lib/modules/rd-notification/notification.component.html","../../../projects/shared-lib/src/lib/modules/rd-notification/notification.service.ts","../../../projects/shared-lib/src/lib/modules/rd-notification/notification.module.ts","../../../projects/shared-lib/src/lib/modules/task-base/task-base.component.ts","../../../projects/shared-lib/src/lib/modules/rd-loading/rd-loading.component.ts","../../../projects/shared-lib/src/lib/modules/rd-loading/rd-loading.module.ts","../../../projects/shared-lib/src/lib/modules/rd-select-value/rd-select-value.component.ts","../../../projects/shared-lib/src/lib/modules/rd-select-value/rd-select-value.component.html","../../../projects/shared-lib/src/lib/modules/rd-phone/rd-phone.component.ts","../../../projects/shared-lib/src/lib/modules/rd-phone/rd-phone.component.html","../../../projects/shared-lib/src/lib/modules/rd-select-value/rd-select-value.module.ts","../../../projects/shared-lib/src/lib/modules/rd-phone/rd-phone.module.ts","../../../projects/shared-lib/src/lib/modules/rd-remark-history/rd-remark-history.component.ts","../../../projects/shared-lib/src/lib/modules/rd-remark-history/rd-remark-history.component.html","../../../projects/shared-lib/src/lib/modules/rd-remark-history/rd-remark-history.module.ts","../../../projects/shared-lib/src/lib/modules/rd-switch/rd-switch.component.ts","../../../projects/shared-lib/src/lib/modules/rd-switch/rd-switch.component.html","../../../projects/shared-lib/src/lib/modules/rd-switch/rd-switch.module.ts","../../../projects/shared-lib/src/lib/pipes/big-number.pipe.ts","../../../projects/shared-lib/src/lib/pipes/pipes.module.ts","../../../projects/shared-lib/src/lib/decorators/search-debounce.decorator.ts","../../../projects/shared-lib/src/public-api.ts","../../../projects/shared-lib/src/rd-outer-component.ts"],"sourcesContent":["import {\n  Component,\n  EventEmitter,\n  forwardRef,\n  HostBinding,\n  Input,\n  Output,\n  ChangeDetectorRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ISelectOption } from '../custom-select';\n\n@Component({\n  selector: 'app-rd-checkbox',\n  templateUrl: './custom-checkbox.component.html',\n  styleUrls: ['./custom-checkbox.component.scss'],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => CustomCheckboxComponent),\n      multi: true,\n    },\n  ],\n})\nexport class CustomCheckboxComponent implements ControlValueAccessor {\n  @Input() label: string = '';\n  @Input() name = '';\n  @Input() disabled = false;\n  @Input() type: '' | 'isBpn' = '';\n  /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n  @Input() theme?: 'light' | 'dark';\n\n  @HostBinding('class.theme-light')\n  get hostThemeLight(): boolean {\n    return this.theme === 'light';\n  }\n\n  @HostBinding('class.theme-dark')\n  get hostThemeDark(): boolean {\n    return this.theme === 'dark';\n  }\n  @Input()\n  set options(val: any) {\n    this._rawOptions = val;\n  }\n  get options(): any {\n    return this._rawOptions;\n  }\n\n  @Output() valueChange = new EventEmitter<ISelectOption[]>();\n\n  private _rawOptions: ISelectOption[] = [];\n\n  value: ISelectOption | undefined = undefined;\n  nativeValue: ISelectOption['value'] | undefined = undefined;\n\n  onChange: (value: ISelectOption[]) => void = () => {};\n  onTouched: () => void = () => {};\n\n  constructor(private cdr: ChangeDetectorRef) {}\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n    this.cdr.markForCheck();\n  }\n\n  writeValue(value: ISelectOption): void {\n    this.value = value;\n    this.nativeValue = value?.value;\n  }\n\n  registerOnChange(fn: any): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: any): void {\n    this.onTouched = fn;\n  }\n\n  handleValueChange(value: ISelectOption[]): void {\n    this.onChange(value);\n    this.valueChange.emit(value);\n  }\n}\n","<div>\n  <div\n    class=\"rd-form-item-check\"\n    [ngClass]=\"{\n      disabled: disabled,\n      isBpn: type === 'isBpn',\n    }\"\n  >\n    <div class=\"rd-form-item-check-label\">{{ label }}</div>\n    <nz-checkbox-group\n      [(ngModel)]=\"options\"\n      (ngModelChange)=\"handleValueChange($event)\"\n    ></nz-checkbox-group>\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CustomCheckboxComponent } from './custom-checkbox.component';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\n\n@NgModule({\n  declarations: [CustomCheckboxComponent],\n  imports: [CommonModule, ReactiveFormsModule, FormsModule, NzCheckboxModule],\n  exports: [CustomCheckboxComponent],\n})\nexport class RdCheckboxModule {}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n  selector: 'app-rd-form-item',\n  templateUrl: './form-item.component.html',\n  styleUrls: ['./form-item.component.scss'],\n})\nexport class FormItemComponent {\n  @Input() errorMessage?: string;\n  @Input() disabled?: boolean;\n  @Input() label?: string;\n  @Input() type?: 'select' | 'date';\n  @Input() focus?: boolean;\n  @Input() value?: string | number | any;\n  @Input() size?: 'small' | 'normal' = 'normal';\n  /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n  @Input() theme?: 'light' | 'dark';\n\n  @HostBinding('class.theme-light')\n  get hostThemeLight(): boolean {\n    return this.theme === 'light';\n  }\n\n  @HostBinding('class.theme-dark')\n  get hostThemeDark(): boolean {\n    return this.theme === 'dark';\n  }\n\n  get isShowSelectIcon() {\n    return this.type === 'select';\n  }\n\n  get isShowDateIcon() {\n    return this.type === 'date';\n  }\n}\n","<div\n  class=\"rd-form-item\"\n  [ngClass]=\"{\n    'rd-disabled': disabled,\n    'rd-error': !!errorMessage,\n    'rd-focus': focus,\n    'rd-has-value': !!value,\n    'rd-form-item-s': size === 'small',\n    'rd-form-item-normal': size === 'normal',\n  }\"\n>\n  <ng-content></ng-content>\n  <div *ngIf=\"label\" class=\"rd-form-item-label\">{{ label }}</div>\n  <svg\n    *ngIf=\"isShowSelectIcon\"\n    class=\"rd-form-item-select-icon\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    width=\"16\"\n    height=\"17\"\n    viewBox=\"0 0 16 17\"\n    fill=\"none\"\n  >\n    <path\n      d=\"M3 5.83337L8 11.1667L13 5.83337\"\n      [attr.stroke]=\"disabled ? 'var(--rd-copy-disable)' : 'var(--rd-copy-primary)'\"\n      stroke-width=\"1.16667\"\n      stroke-linecap=\"round\"\n      stroke-linejoin=\"round\"\n    />\n  </svg>\n</div>\n<div *ngIf=\"errorMessage\" class=\"rd-form-item-error\">\n  <img src=\"/assets/img/icon/icon-error.svg\" />\n  {{ errorMessage }}\n</div>\n","import {\n  ChangeDetectorRef,\n  Component,\n  forwardRef,\n  HostBinding,\n  Input,\n  ViewChild,\n} from '@angular/core';\nimport {\n  AbstractControl,\n  ControlValueAccessor,\n  NG_VALUE_ACCESSOR,\n  ValidationErrors,\n  Validator,\n} from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NzDatePickerComponent } from 'ng-zorro-antd/date-picker';\n\n@Component({\n  selector: 'app-rd-date',\n  templateUrl: './custom-date.component.html',\n  styleUrls: [\n    './custom-date.component.scss',\n    '../../assets/scss/form-item.scss',\n  ],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => CustomDateComponent),\n      multi: true,\n    },\n  ],\n})\nexport class CustomDateComponent implements ControlValueAccessor, Validator {\n  @Input() disabled = false;\n  @Input() disabledDate?: (d: Date) => boolean;\n  @Input() label!: string;\n  @Input() type: 'date' | 'range' = 'date';\n  @Input() required = false;\n  @Input() name = '';\n  @Input() placeholder: string = '';\n  /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n  @Input() theme?: 'light' | 'dark';\n  @Input() errorMessages: { [key: string]: string } = {\n    required: 'please_select_date',\n    invalid: 'invalid_date',\n    custom: 'validation_failed',\n  };\n\n  @ViewChild('datePicker') datePicker!: NzDatePickerComponent;\n\n  @HostBinding('class.theme-light')\n  get hostThemeLight(): boolean {\n    return this.theme === 'light';\n  }\n\n  @HostBinding('class.theme-dark')\n  get hostThemeDark(): boolean {\n    return this.theme === 'dark';\n  }\n\n  get popupClassName(): string {\n    const themeClass =\n      this.theme === 'light'\n        ? 'theme-light'\n        : this.theme === 'dark'\n          ? 'theme-dark'\n          : '';\n    return ['rd-form-item-date-popup', themeClass].filter(Boolean).join(' ');\n  }\n\n  inputValue: [string, string] | string | null = null;\n  isPickerOpen = false;\n  isFocus = false;\n  isComponentReady = false;\n\n  private control: AbstractControl | null = null;\n  private onChange: any = () => {};\n  private onTouched: any = () => {};\n\n  constructor(\n    private cdr: ChangeDetectorRef,\n    private translate: TranslateService,\n  ) {}\n\n  get currentErrorMessage(): string {\n    if (!this.control?.errors) return '';\n    const firstError = Object.keys(this.control?.errors || {})[0];\n\n    switch (firstError) {\n      case 'required':\n        return `${this.translate.instant(\n          'please_select',\n        )}${this.label.toLowerCase()}`;\n      case 'custom':\n        return (\n          this.control?.errors['custom'] ||\n          this.translate.instant('validation_failed')\n        );\n      default:\n        return (\n          this.translate.instant(this.errorMessages[firstError]) ||\n          this.translate.instant('validation_failed')\n        );\n    }\n  }\n\n  get showError(): boolean {\n    return (\n      !!this.control?.invalid && (this.control?.touched || this.control?.dirty)\n    );\n  }\n\n  get displayValue(): string {\n    if (!this.inputValue) return '';\n\n    if (this.type === 'range' && Array.isArray(this.inputValue)) {\n      const [start, end] = this.inputValue;\n      return `${start || ''} - ${end || ''}`;\n    }\n\n    return this.inputValue as string;\n  }\n\n  validate(control: AbstractControl): ValidationErrors | null {\n    this.control = control;\n\n    // 添加自定义验证逻辑\n    const errors: ValidationErrors = {};\n\n    // 必填验证\n    if (this.required && !this.inputValue) {\n      errors['required'] = true;\n      return errors;\n    }\n\n    // 如果是范围选择，验证两个日期都有值\n    if (this.type === 'range' && Array.isArray(this.inputValue)) {\n      const [start, end] = this.inputValue;\n      if ((start && !end) || (!start && end)) {\n        errors['incomplete'] = true;\n        return errors;\n      }\n    }\n\n    return null;\n  }\n\n  writeValue(value: any): void {\n    this.inputValue = value;\n    this.cdr.markForCheck();\n  }\n\n  registerOnChange(fn: any): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: any): void {\n    this.onTouched = fn;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n    this.cdr.markForCheck();\n  }\n\n  onDateChange(value: any): void {\n    this.inputValue = value;\n    this.onChange(value);\n\n    // 触发验证\n    if (this.control) {\n      this.control.markAsTouched();\n      this.control.updateValueAndValidity();\n    }\n\n    this.cdr.markForCheck();\n  }\n\n  onOpenChange(open: any): void {\n    setTimeout(() => {\n      this.isPickerOpen = open;\n      this.cdr.markForCheck();\n    }, 0);\n  }\n\n  openPicker(): void {\n    if (this.disabled || this.isPickerOpen) {\n      return;\n    }\n    this.isPickerOpen = true;\n    this.datePicker?.open();\n  }\n\n  onFocus(): void {\n    this.isFocus = true;\n  }\n\n  onBlur(): void {\n    this.isFocus = false;\n    this.onTouched();\n  }\n\n  ngAfterViewInit(): void {\n    // 等待下一个变更检测周期，确保所有样式和类已应用\n    setTimeout(() => {\n      this.isComponentReady = true;\n      this.cdr.markForCheck();\n    }, 0);\n  }\n\n  // 在组件中\n  disabledEndDate = (current: Date): boolean => {\n    if (!current) {\n      return false;\n    }\n\n    const today = new Date();\n    today.setHours(0, 0, 0, 0);\n\n    const currentDate = new Date(current);\n    currentDate.setHours(0, 0, 0, 0);\n\n    // 禁用今天和未来的日期\n    return currentDate.getTime() >= today.getTime();\n  };\n}\n","<div [class.rd-date-ready]=\"isComponentReady\" class=\"rd-date-container\">\n  <app-rd-form-item\n    [disabled]=\"disabled\"\n    [focus]=\"isFocus || isPickerOpen\"\n    [type]=\"'date'\"\n    [label]=\"label\"\n    [value]=\"displayValue\"\n    [errorMessage]=\"showError ? currentErrorMessage : ''\"\n    [theme]=\"theme\"\n    (click)=\"openPicker()\"\n  >\n    <nz-range-picker\n      *ngIf=\"type === 'range'\"\n      [(ngModel)]=\"inputValue\"\n      (ngModelChange)=\"onDateChange($event)\"\n      (nzOnOpenChange)=\"onOpenChange($event)\"\n      [nzFormat]=\"'dd/MM/yyyy'\"\n      [nzShowTime]=\"false\"\n      [nzAllowClear]=\"false\"\n      [nzPlaceHolder]=\"['From', 'To']\"\n      class=\"rd-form-item-date\"\n      [nzDisabledDate]=\"disabledDate\"\n      [nzDropdownClassName]=\"popupClassName\"\n      [nzSeparator]=\"'-'\"\n      [nzDisabled]=\"disabled\"\n      nzSuffixIcon=\"\"\n      #datePicker\n      nzBorderless\n      nzPlacement=\"bottomRight\"\n      [nzInputReadOnly]=\"true\"\n      [name]=\"name\"\n      (nzFocus)=\"onFocus()\"\n      (nzBlur)=\"onBlur()\"\n      [ngClass]=\"{\n        'rd-form-item-date-hide': !inputValue?.length,\n      }\"\n    ></nz-range-picker>\n    <nz-date-picker\n      *ngIf=\"type === 'date'\"\n      [(ngModel)]=\"inputValue\"\n      (ngModelChange)=\"onDateChange($event)\"\n      (nzOnOpenChange)=\"onOpenChange($event)\"\n      [nzFormat]=\"'dd/MM/yyyy'\"\n      [nzShowTime]=\"false\"\n      [nzAllowClear]=\"false\"\n      [nzShowToday]=\"false\"\n      class=\"rd-form-item-date\"\n      [nzDisabledDate]=\"disabledDate || disabledEndDate\"\n      [nzDropdownClassName]=\"popupClassName + ' custom-dark-datepicker'\"\n      [nzDisabled]=\"disabled\"\n      nzSuffixIcon=\"\"\n      #datePicker\n      nzBorderless\n      [nzInputReadOnly]=\"true\"\n      [name]=\"name\"\n      (nzFocus)=\"onFocus()\"\n      (nzBlur)=\"onBlur()\"\n      [ngClass]=\"{\n        'rd-form-item-date-hide': !inputValue,\n      }\"\n    ></nz-date-picker>\n  </app-rd-form-item>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormItemComponent } from './form-item.component';\n\n@NgModule({\n  declarations: [FormItemComponent],\n  exports: [FormItemComponent],\n  imports: [CommonModule],\n})\nexport class FormItemModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CustomDateComponent } from './custom-date.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\nimport { FormItemModule } from '../form-item/form-item.module';\n\n@NgModule({\n  declarations: [CustomDateComponent],\n  imports: [\n    CommonModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NzDatePickerModule,\n    FormItemModule,\n  ],\n  exports: [CustomDateComponent],\n})\nexport class RdDateModule {}\n","import Big from 'big.js';\n\nexport function formatBigNumber(\n  value: string | number | undefined,\n  precision: number | null = 6,\n  mode: 'cut' | 'toFixed' | 'keepAll' = 'cut'\n): string {\n  if (!value) return '';\n\n  try {\n    const bigValue = new Big(value);\n    let fixedValue = '';\n\n    switch (mode) {\n      case 'keepAll':\n        fixedValue = bigValue.toString();\n        break;\n      default:\n        // 如果 precision 是 null，则转为 undefined\n        const roundPrecision = precision === null ? undefined : precision;\n        fixedValue = bigValue\n          .round(roundPrecision, 0)\n          .toFixed(precision === null ? 0 : precision);\n        if (mode === 'cut') {\n          fixedValue = fixedValue.replace(/\\.?0+$/, '');\n        }\n        break;\n    }\n\n    const parts = fixedValue.split('.');\n    const integerPart = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n    const decimalPart = parts[1] ? '.' + parts[1] : '';\n\n    return integerPart + decimalPart;\n  } catch (error) {\n    console.error('Invalid number format:', value);\n    return `${value}`;\n  }\n}\n\nexport function numberToBig(\n  value: string,\n  precision = 6,\n  mode: 'cut' | 'toFixed' = 'cut'\n) {\n  if (!value) return '';\n  const fixedValue = new Big(value).round(precision, 0).toFixed(precision);\n\n  if (mode === 'toFixed') {\n    return fixedValue;\n  }\n  return fixedValue.replace(/\\.?0+$/, '');\n}\n","import {\n  Component,\n  EventEmitter,\n  forwardRef,\n  Input,\n  Output,\n  ChangeDetectorRef,\n  HostBinding,\n} from '@angular/core';\nimport {\n  AbstractControl,\n  ControlValueAccessor,\n  NG_VALIDATORS,\n  NG_VALUE_ACCESSOR,\n  ValidationErrors,\n  Validator,\n  ValidatorFn,\n} from '@angular/forms';\nimport Big from 'big.js';\nimport { formatBigNumber } from '../../utils/big-number';\nimport { getTranslation } from '../../utils/form-vaild-lang';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n  selector: 'app-rd-input',\n  templateUrl: './custom-input.component.html',\n  styleUrls: [\n    './custom-input.component.scss',\n    '../../assets/scss/form-item.scss',\n  ],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => CustomInputComponent),\n      multi: true,\n    },\n    {\n      provide: NG_VALIDATORS,\n      useExisting: forwardRef(() => CustomInputComponent),\n      multi: true,\n    },\n  ],\n})\nexport class CustomInputComponent implements ControlValueAccessor, Validator {\n  @Input() label: string = '';\n  @Input() symbol = '';\n  @Input() name = '';\n  @Input() disabled = false;\n  @Input() maskNumber = 6;\n  @Input() maskType: 'amount' | 'number' | 'text' = 'text';\n  @Input() type: 'password' | 'text' | 'select' = 'text';\n  @Input() allowNegativeNumbers = true;\n  /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n  @Input() theme?: 'light' | 'dark';\n  @Input() required = false;\n  @Input() placeholder?: string;\n  @Input() min?: number;\n  @Input() max?: number;\n  @Input() minLength?: number;\n  @Input() maxLength?: number;\n  @Input() pattern?: string | RegExp;\n  @Input() customValidator?: ValidatorFn;\n  @Input() size?: 'small' | 'default' = 'default';\n\n  @Input() errorMessages: { [key: string]: string } = {\n    pattern: 'Invalid format',\n    custom: 'Validation failed',\n  };\n\n  @Output() valueChange = new EventEmitter<string>();\n  @Output() focus = new EventEmitter<void>();\n  @Output() blur = new EventEmitter<void>();\n\n  @HostBinding('class.theme-light')\n  get hostThemeLight(): boolean {\n    return this.theme === 'light';\n  }\n\n  @HostBinding('class.theme-dark')\n  get hostThemeDark(): boolean {\n    return this.theme === 'dark';\n  }\n\n  value: string = '';\n  isFocused = false;\n  private touched = false;\n  private onChange: (value: string) => void = () => {};\n  private onTouched: () => void = () => {};\n  private control: AbstractControl | null = null;\n  private onValidatorChange: () => void = () => {};\n\n  get currentErrorMessage(): string {\n    if (!this.control?.errors) return '';\n    const firstError = Object.keys(this.control?.errors || {})[0];\n\n    const msg = this.errorMessages[firstError];\n\n    switch (firstError) {\n      case 'required':\n        return (\n          msg ||\n          `${this.translate.instant('please_enter')}${this.label.toLowerCase()}`\n        );\n      case 'min':\n        return (\n          msg ||\n          `${this.label}${this.translate.instant(\n            'min_value_error',\n          )}${formatBigNumber(this.min)}`\n        );\n      case 'max':\n        return (\n          msg ||\n          `${this.label}${this.translate.instant(\n            'max_value_error',\n          )}${formatBigNumber(this.max)}`\n        );\n      case 'precision':\n        return (\n          msg ||\n          `${this.translate.instant('max_decimal_places')}${this.maskNumber}`\n        );\n      case 'minLength':\n        return (\n          msg ||\n          `${this.translate.instant('length_cannot_be_less')}${this.minLength}`\n        );\n      case 'maxLength':\n        return (\n          msg ||\n          `${this.translate.instant('length_cannot_exceed')}${this.maxLength}`\n        );\n      case 'email':\n        return msg || `${this.translate.instant('email_invalid')}`;\n      case 'custom':\n        return (\n          this.control?.errors['custom'] ||\n          this.translate.instant('validation_failed')\n        );\n      default:\n        return (\n          this.translate.instant(this.errorMessages[firstError]) ||\n          this.translate.instant('validation_failed')\n        );\n    }\n  }\n\n  get showError(): boolean {\n    return (\n      !!this.control?.invalid && (this.control?.touched || this.control?.dirty)\n    );\n  }\n\n  get resolvedPlaceholder(): string {\n    if (!this.label) return this.placeholder || '';\n    return this.isFocused ? this.placeholder || ' ' : ' ';\n  }\n\n  constructor(\n    private cdr: ChangeDetectorRef,\n    private translate: TranslateService,\n  ) {}\n\n  writeValue(value: string): void {\n    this.value = value || '';\n    this.cdr.markForCheck();\n  }\n\n  registerOnChange(fn: (value: string) => void): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: () => void): void {\n    this.onTouched = fn;\n  }\n\n  registerOnValidatorChange(fn: () => void): void {\n    this.onValidatorChange = fn;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    if (this.type === 'select') {\n      this.disabled = true;\n    } else {\n      this.disabled = isDisabled;\n    }\n    this.cdr.markForCheck();\n  }\n\n  onBlur(): void {\n    this.isFocused = false;\n    this.touched = true;\n    this.onTouched();\n    this.blur.emit();\n    this.cdr.markForCheck();\n  }\n\n  onFocus(): void {\n    this.isFocused = true;\n    this.focus.emit();\n  }\n\n  handleValueChange(value: string): void {\n    const cleanedValue =\n      this.maskType === 'amount'\n        ? value.replace(/,/g, '')\n        : typeof value === 'string'\n          ? value.trim()\n          : value;\n    this.value = cleanedValue;\n    this.onChange(cleanedValue);\n    this.valueChange.emit(cleanedValue);\n  }\n\n  validate(control: AbstractControl | null): ValidationErrors | null {\n    if (control) {\n      this.control = control;\n    }\n\n    const errors: ValidationErrors = {};\n    let value;\n    if (this.maskType === 'amount') {\n      value = control?.value?.replace(/,/g, '');\n\n      try {\n        if (value) {\n          const bigValue = new Big(value);\n          if (this.min && !Number.isNaN(this.min) && bigValue.lt(this.min)) {\n            errors['min'] = { min: this.min, actual: value };\n          }\n          if (this.max && !Number.isNaN(this.max) && bigValue.gt(this.max)) {\n            errors['max'] = { max: this.max, actual: value };\n          }\n        }\n      } catch (error) {\n        errors['invalid'] = true;\n      }\n    } else {\n      value =\n        typeof control?.value === 'string'\n          ? control?.value?.trim()\n          : control?.value;\n    }\n\n    if (this.required && !value) {\n      errors['required'] = true;\n    }\n\n    if (value && typeof value === 'string') {\n      if (this.minLength && value.length < this.minLength) {\n        errors['minLength'] = {\n          requiredLength: this.minLength,\n          actualLength: value.length,\n        };\n      }\n      if (this.maxLength && value.length > this.maxLength) {\n        errors['maxLength'] = {\n          requiredLength: this.maxLength,\n          actualLength: value.length,\n        };\n      }\n    }\n\n    if (this.pattern && value) {\n      const pattern =\n        this.pattern instanceof RegExp\n          ? this.pattern\n          : new RegExp(this.pattern);\n      if (!pattern.test(value)) {\n        errors['pattern'] = { requiredPattern: pattern, actualValue: value };\n      }\n    }\n\n    if (this.customValidator) {\n      const customErrors = this.customValidator(control!);\n      if (customErrors) {\n        Object.assign(errors, customErrors);\n      }\n    }\n\n    return Object.keys(errors).length > 0 ? errors : null;\n  }\n}\n","<div\n  [ngClass]=\"{\n    'rd-form-item-rd-input-relative': type === 'select',\n    'rd-form-item-s': size === 'small',\n  }\"\n>\n  <div\n    class=\"rd-form-item rd-form-item-p-deal\"\n    [ngClass]=\"{\n      'rd-disabled': disabled,\n      'rd-error': showError,\n      'rd-focus': isFocused,\n      'rd-has-value': !!value,\n      'rd-form-item-input-select': type === 'select',\n      'rd-form-item-password': type === 'password',\n    }\"\n  >\n    <input\n      nz-input\n      [placeholder]=\"resolvedPlaceholder\"\n      [name]=\"name\"\n      aria-autocomplete=\"none\"\n      [type]=\"type\"\n      [(ngModel)]=\"value\"\n      [disabled]=\"disabled\"\n      (ngModelChange)=\"handleValueChange($event)\"\n      (blur)=\"onBlur()\"\n      (focus)=\"onFocus()\"\n      [allowNegativeNumbers]=\"allowNegativeNumbers\"\n      [dropSpecialCharacters]=\"false\"\n      [mask]=\"\n        maskType === 'amount'\n          ? 'separator.' + maskNumber\n          : maskType === 'number'\n            ? '0*'\n            : ''\n      \"\n      [thousandSeparator]=\"maskType === 'amount' ? ',' : ''\"\n      class=\"rd-form-item-input\"\n      [ngClass]=\"{\n        'rd-form-item-input-no-label': !label,\n      }\"\n    />\n    <div class=\"rd-form-item-label\" *ngIf=\"label\">{{ label }}</div>\n    <ng-container *ngIf=\"symbol\">\n      <div class=\"rd-input-symbol\">{{ symbol }}</div>\n    </ng-container>\n  </div>\n  <div class=\"rd-form-item-rd-input-absolute\">\n    <ng-content></ng-content>\n  </div>\n  <div *ngIf=\"showError\" class=\"rd-form-item-error\">\n    <svg\n      class=\"rd-error-icon-light\"\n      width=\"16\"\n      height=\"16\"\n      viewBox=\"0 0 16 16\"\n      fill=\"none\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n    >\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M1.33398 7.9987C1.33398 4.3168 4.31875 1.33203 8.00065 1.33203C11.6825 1.33203 14.6673 4.3168 14.6673 7.9987C14.6673 11.6806 11.6825 14.6654 8.00065 14.6654C4.31875 14.6654 1.33398 11.6806 1.33398 7.9987ZM8.00065 2.33203C4.87104 2.33203 2.33398 4.86908 2.33398 7.9987C2.33398 11.1283 4.87104 13.6654 8.00065 13.6654C11.1303 13.6654 13.6673 11.1283 13.6673 7.9987C13.6673 4.86908 11.1303 2.33203 8.00065 2.33203Z\"\n        fill=\"#EA485D\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M8.00039 4.06641C8.33176 4.06641 8.60039 4.33504 8.60039 4.66641V7.99974C8.60039 8.33111 8.33176 8.59974 8.00039 8.59974C7.66902 8.59974 7.40039 8.33111 7.40039 7.99974V4.66641C7.40039 4.33504 7.66902 4.06641 8.00039 4.06641ZM8.00039 10.3997C8.33176 10.3997 8.60039 10.6684 8.60039 10.9997V11.3331C8.60039 11.6644 8.33176 11.9331 8.00039 11.9331C7.66902 11.9331 7.40039 11.6644 7.40039 11.3331V10.9997C7.40039 10.6684 7.66902 10.3997 8.00039 10.3997Z\"\n        fill=\"#EA485D\"\n      />\n    </svg>\n\n    <svg\n      class=\"rd-error-icon-dark\"\n      width=\"16\"\n      height=\"16\"\n      viewBox=\"0 0 16 16\"\n      fill=\"none\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n    >\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M1.33398 7.9987C1.33398 4.3168 4.31875 1.33203 8.00065 1.33203C11.6825 1.33203 14.6673 4.3168 14.6673 7.9987C14.6673 11.6806 11.6825 14.6654 8.00065 14.6654C4.31875 14.6654 1.33398 11.6806 1.33398 7.9987ZM8.00065 2.33203C4.87104 2.33203 2.33398 4.86908 2.33398 7.9987C2.33398 11.1283 4.87104 13.6654 8.00065 13.6654C11.1303 13.6654 13.6673 11.1283 13.6673 7.9987C13.6673 4.86908 11.1303 2.33203 8.00065 2.33203Z\"\n        fill=\"#EF7484\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M8.00039 4.06641C8.33176 4.06641 8.60039 4.33504 8.60039 4.66641V7.99974C8.60039 8.33111 8.33176 8.59974 8.00039 8.59974C7.66902 8.59974 7.40039 8.33111 7.40039 7.99974V4.66641C7.40039 4.33504 7.66902 4.06641 8.00039 4.06641ZM8.00039 10.3997C8.33176 10.3997 8.60039 10.6684 8.60039 10.9997V11.3331C8.60039 11.6644 8.33176 11.9331 8.00039 11.9331C7.66902 11.9331 7.40039 11.6644 7.40039 11.3331V10.9997C7.40039 10.6684 7.66902 10.3997 8.00039 10.3997Z\"\n        fill=\"#EF7484\"\n      />\n    </svg>\n\n    {{ currentErrorMessage | translate }}\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NgxMaskModule } from 'ngx-mask';\nimport { CustomInputComponent } from './custom-input.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n  declarations: [CustomInputComponent],\n  imports: [\n    CommonModule,\n    ReactiveFormsModule,\n    FormsModule,\n    NzInputModule,\n    NgxMaskModule,\n    TranslateModule,\n  ],\n  exports: [CustomInputComponent],\n})\nexport class RdInputModule {}\n","export interface TranslationKeys {\n  pleaseEnter: string;\n  lengthCannotBeLess: string;\n  lengthCannotExceed: string;\n  validationFailed: string;\n  cannotBeLessThan: string;\n  cannotExceed: string;\n  maxDecimalPlaces: string;\n  clearFilter: string;\n  email_invalid: string;\n}\n\nexport interface Translations {\n  en: TranslationKeys;\n  zh: TranslationKeys;\n  [key: string]: TranslationKeys;\n}\n\nexport const translations: Translations = {\n  en: {\n    pleaseEnter: 'Please enter ',\n    lengthCannotBeLess: ' Length cannot be less than the minimum length ',\n    lengthCannotExceed: ' Length cannot exceed the maximum length ',\n    validationFailed: 'Validation failed',\n    cannotBeLessThan: ' cannot be less than the minimum value ',\n    cannotExceed: ' cannot exceed the maximum value ',\n    maxDecimalPlaces: 'The maximum number of decimal places is ',\n    clearFilter: 'Clear filter',\n    email_invalid: 'The email format is not correct.',\n  },\n  zh: {\n    pleaseEnter: '請輸入',\n    lengthCannotBeLess: '長度不得少於最小長度',\n    lengthCannotExceed: '長度不得超過最大長度',\n    validationFailed: '驗證失敗',\n    cannotBeLessThan: '不得小於最小值',\n    cannotExceed: '不得超過最大值',\n    maxDecimalPlaces: '最大小數位數為',\n    clearFilter: '清除篩選',\n    email_invalid: '電子郵件格式不正確。',\n  },\n};\n\nexport function getTranslation(\n  lang: string,\n  key: keyof TranslationKeys,\n): string {\n  return translations[lang]?.[key] || translations.en[key];\n}\n","import {\n  Component,\n  EventEmitter,\n  forwardRef,\n  Input,\n  Output,\n  ChangeDetectorRef,\n  ViewChild,\n} from '@angular/core';\nimport {\n  AbstractControl,\n  ControlValueAccessor,\n  NG_VALIDATORS,\n  NG_VALUE_ACCESSOR,\n  ValidationErrors,\n  Validator,\n  ValidatorFn,\n} from '@angular/forms';\nimport { getTranslation } from '../../utils/form-vaild-lang';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\n\n@Component({\n  selector: 'app-rd-textarea',\n  templateUrl: './custom-textarea.component.html',\n  styleUrls: [\n    './custom-textarea.component.scss',\n    '../../assets/scss/form-item.scss',\n  ],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => CustomTextareaComponent),\n      multi: true,\n    },\n    {\n      provide: NG_VALIDATORS,\n      useExisting: forwardRef(() => CustomTextareaComponent),\n      multi: true,\n    },\n  ],\n})\nexport class CustomTextareaComponent\n  implements ControlValueAccessor, Validator\n{\n  @Input() lang = 'en';\n  @Input() label: string = '';\n  @Input() name = '';\n  @Input() disabled = false;\n  @Input() required = false;\n  @Input() minLength?: number;\n  @Input() maxLength?: number;\n  @Input() pattern?: string | RegExp;\n  @Input() customValidator?: ValidatorFn;\n  @Input() nzAutosize: boolean = true;\n  @ViewChild(CdkTextareaAutosize) autosize?: CdkTextareaAutosize;\n\n  @Input() errorMessages: { [key: string]: string } = {\n    pattern: 'Invalid format',\n    custom: 'Validation failed',\n  };\n\n  @Output() valueChange = new EventEmitter<string>();\n  @Output() focus = new EventEmitter<void>();\n  @Output() blur = new EventEmitter<void>();\n\n  value: string = '';\n  isFocused = false;\n  private touched = false;\n  private onChange: (value: string) => void = () => {};\n  private onTouched: () => void = () => {};\n  private control: AbstractControl | null = null;\n  private onValidatorChange: () => void = () => {};\n\n  get currentErrorMessage(): string {\n    if (!this.control?.errors) return '';\n    const firstError = Object.keys(this.control?.errors || {})[0];\n\n    const msg = this.errorMessages[firstError];\n\n    switch (firstError) {\n      case 'required':\n        return (\n          msg ||\n          `${getTranslation(\n            this.lang,\n            'pleaseEnter',\n          )}${this.label.toLowerCase()}`\n        );\n      case 'minLength':\n        return (\n          msg ||\n          `${getTranslation(this.lang, 'lengthCannotBeLess')}${this.minLength}`\n        );\n      case 'maxLength':\n        return (\n          msg ||\n          `${getTranslation(this.lang, 'lengthCannotExceed')}${this.maxLength}`\n        );\n      case 'custom':\n        return (\n          this.control?.errors['custom'] ||\n          getTranslation(this.lang, 'validationFailed')\n        );\n      default:\n        return (\n          this.errorMessages[firstError] ||\n          getTranslation(this.lang, 'validationFailed')\n        );\n    }\n  }\n\n  get showError(): boolean {\n    return (\n      !!this.control?.invalid && (this.control?.touched || this.control?.dirty)\n    );\n  }\n\n  constructor(private cdr: ChangeDetectorRef) {}\n\n  writeValue(value: string): void {\n    this.value = value || '';\n    this.cdr.markForCheck();\n    setTimeout(() => {\n      this.autosize?.resizeToFitContent(true);\n    });\n  }\n\n  registerOnChange(fn: (value: string) => void): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: () => void): void {\n    this.onTouched = fn;\n  }\n\n  registerOnValidatorChange(fn: () => void): void {\n    this.onValidatorChange = fn;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n    this.cdr.markForCheck();\n  }\n\n  onBlur(): void {\n    this.isFocused = false;\n    this.touched = true;\n    this.onTouched();\n    this.blur.emit();\n    this.cdr.markForCheck();\n  }\n\n  handleValueChange(value: string): void {\n    const cleanedValue = value.trim();\n    this.value = cleanedValue;\n    this.onChange(cleanedValue);\n    this.valueChange.emit(cleanedValue);\n  }\n\n  validate(control: AbstractControl | null): ValidationErrors | null {\n    if (control) {\n      this.control = control;\n    }\n\n    const errors: ValidationErrors = {};\n    let value = control?.value?.trim();\n\n    if (this.required && !value) {\n      errors['required'] = true;\n    }\n\n    if (value && typeof value === 'string') {\n      if (this.minLength && value.length < this.minLength) {\n        errors['minLength'] = {\n          requiredLength: this.minLength,\n          actualLength: value.length,\n        };\n      }\n      if (this.maxLength && value.length > this.maxLength) {\n        errors['maxLength'] = {\n          requiredLength: this.maxLength,\n          actualLength: value.length,\n        };\n      }\n    }\n\n    if (this.pattern && value) {\n      const pattern =\n        this.pattern instanceof RegExp\n          ? this.pattern\n          : new RegExp(this.pattern);\n      if (!pattern.test(value)) {\n        errors['pattern'] = { requiredPattern: pattern, actualValue: value };\n      }\n    }\n\n    if (this.customValidator) {\n      const customErrors = this.customValidator(control!);\n      if (customErrors) {\n        Object.assign(errors, customErrors);\n      }\n    }\n\n    return Object.keys(errors).length > 0 ? errors : null;\n  }\n}\n","<div>\n  <div\n    class=\"rd-form-item rd-form-textarea\"\n    [ngClass]=\"{ disabled: disabled, error: showError }\"\n  >\n    <textarea\n      nz-input\n      nzBorderless\n      [name]=\"name\"\n      [(ngModel)]=\"value\"\n      [disabled]=\"disabled\"\n      (ngModelChange)=\"handleValueChange($event)\"\n      (blur)=\"onBlur()\"\n      [nzAutosize]=\"nzAutosize\"\n      placeholder=\" \"\n      class=\"rd-form-item-input\"\n    ></textarea>\n    <div class=\"rd-form-item-label\">{{ label }}</div>\n  </div>\n  <div *ngIf=\"showError\" class=\"rd-form-item-error\">\n    <img *ngIf=\"currentErrorMessage\" src=\"/assets/img/icon/icon-error.svg\" />\n    {{ currentErrorMessage }}\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { CustomTextareaComponent } from './custom-textarea.component';\n\n@NgModule({\n  declarations: [CustomTextareaComponent],\n  imports: [CommonModule, ReactiveFormsModule, FormsModule, NzInputModule],\n  exports: [CustomTextareaComponent],\n})\nexport class RdTextareaModule {}\n","import {\n  Component,\n  EventEmitter,\n  forwardRef,\n  Input,\n  Output,\n  ChangeDetectorRef,\n} from '@angular/core';\nimport {\n  AbstractControl,\n  ControlValueAccessor,\n  NG_VALIDATORS,\n  NG_VALUE_ACCESSOR,\n  ValidationErrors,\n  Validator,\n} from '@angular/forms';\nimport Big from 'big.js';\nimport { formatBigNumber, numberToBig } from '../../utils/big-number';\nimport { getTranslation } from '../../utils/form-vaild-lang';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n  selector: 'app-rd-input-amount',\n  templateUrl: './custom-input-amount.component.html',\n  styleUrls: [\n    './custom-input-amount.component.scss',\n    '../../assets/scss/form-item.scss',\n  ],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => CustomInputAmountComponent),\n      multi: true,\n    },\n    {\n      provide: NG_VALIDATORS,\n      useExisting: forwardRef(() => CustomInputAmountComponent),\n      multi: true,\n    },\n  ],\n})\nexport class CustomInputAmountComponent\n  implements ControlValueAccessor, Validator\n{\n  @Input() lang = 'en';\n  @Input() label = '';\n  @Input() symbol = '';\n  @Input() name = '';\n  @Input() disabled = false;\n  @Input() min?: number;\n  @Input() max?: number;\n  @Input() nzPrecision = 6;\n  @Input() allowNegativeNumbers = true;\n  @Input() required = true;\n  @Input() nzSize: 'default' | 'small' = 'default';\n  @Input() errorMessages: any = {\n    invalid: 'Please enter a valid number',\n  };\n  @Input() clearError = true;\n\n  @Output() blur = new EventEmitter<void>();\n  @Output() focus = new EventEmitter<void>();\n  @Output() valueChange = new EventEmitter<string>();\n\n  inputValue: string = ''; // 绑定到输入框\n  private value: string = ''; // 内部值，始终以 string 形式存储\n  private touched = false;\n  private control: AbstractControl | null = null;\n  errors: ValidationErrors | null = null;\n\n  private onChange: (value: string) => void = () => {};\n  private onTouched: () => void = () => {};\n  private onValidatorChange: () => void = () => {};\n\n  constructor(\n    private cdr: ChangeDetectorRef,\n    private translate: TranslateService,\n  ) {}\n\n  get currentErrorMessage(): string {\n    if (!this.errors) return '';\n\n    const firstError = Object.keys(this.control?.errors || {})[0];\n    const msg = this.errorMessages[firstError];\n    switch (firstError) {\n      case 'required':\n        return (\n          this.errorMessages?.required ||\n          `${this.translate.instant('please_enter')}${this.label.toLowerCase()}`\n        );\n      case 'min':\n        return (\n          this.errorMessages?.min ||\n          `${this.label}${this.translate.instant(\n            'min_value_error',\n          )}${formatBigNumber(this.min)}`\n        );\n      case 'max':\n        return (\n          this.errorMessages?.max ||\n          `${this.label}${this.translate.instant(\n            'max_value_error',\n          )}${formatBigNumber(this.max)}`\n        );\n      case 'precision':\n        return (\n          this.errorMessages?.precision ||\n          `${this.translate.instant('max_decimal_places')}${this.nzPrecision}`\n        );\n      default:\n        return (\n          this.errorMessages[firstError] ||\n          this.translate.instant('validation_failed')\n        );\n    }\n  }\n\n  get showError(): boolean {\n    return this.touched && !!this.errors;\n  }\n\n  handleValueChange(value: string): void {\n    const rawValue = value.replace(/,/g, '');\n\n    // 处理输入的值，转换成 Big.js 格式\n    this.value = numberToBig(rawValue, this.nzPrecision);\n\n    // 更新绑定值\n    this.onChange(this.value);\n    this.valueChange.emit(this.value);\n\n    this.touched = true;\n    this.onTouched();\n\n    if (this.control) {\n      const errors = this.validate(this.control);\n      this.control.setErrors(errors);\n      this.onValidatorChange();\n    }\n\n    this.cdr.markForCheck();\n  }\n\n  onBlur(): void {\n    this.touched = true;\n    this.onTouched();\n    if (this.control && this.clearError) {\n      const errors = this.validate(this.control);\n      this.control.setErrors(errors);\n      this.onValidatorChange();\n    }\n    this.cdr.markForCheck();\n    this.blur.emit();\n  }\n\n  onFocus() {\n    this.focus.emit();\n  }\n\n  registerOnChange(fn: (value: string) => void): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: () => void): void {\n    this.onTouched = fn;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n    this.cdr.markForCheck();\n  }\n\n  registerOnValidatorChange(fn: () => void): void {\n    this.onValidatorChange = fn;\n  }\n\n  validate(control: AbstractControl): ValidationErrors | null {\n    if (control) {\n      this.control = control;\n    }\n    const errors: ValidationErrors = {};\n    const value = this.value;\n\n    if (this.required && !value) {\n      errors['required'] = true;\n    }\n\n    if (value) {\n      try {\n        const bigValue = new Big(value);\n\n        if (this.min && !Number.isNaN(this.min) && bigValue.lt(this.min)) {\n          errors['min'] = { min: this.min, actual: value };\n        }\n        if (this.max && !Number.isNaN(this.max) && bigValue.gt(this.max)) {\n          errors['max'] = { max: this.max, actual: value };\n        }\n\n        const decimalPlaces = value.split('.')[1]?.length || 0;\n        if (decimalPlaces > this.nzPrecision) {\n          errors['precision'] = true;\n        }\n      } catch (e) {\n        errors['invalid'] = true;\n      }\n    }\n\n    return Object.keys(errors).length > 0 ? errors : null;\n  }\n\n  writeValue(value: string | number | null): void {\n    const v = value?.toString() ?? '';\n    this.value = v;\n    this.inputValue = v;\n    this.cdr.markForCheck();\n  }\n}\n","<div>\n  <div\n    class=\"rd-form-number-item\"\n    [ngClass]=\"{\n      'rd-disabled': disabled,\n      'rd-error': showError,\n      'rd-form-number-small': nzSize === 'small',\n      disabled: disabled,\n      error: showError,\n    }\"\n  >\n    <div class=\"rd-item-label\">{{ label }}</div>\n    <div class=\"rd-item-content\">\n      <input\n        nz-input\n        [name]=\"name\"\n        type=\"text\"\n        [placeholder]=\"'0'\"\n        [mask]=\"'separator.' + nzPrecision\"\n        [thousandSeparator]=\"','\"\n        [allowNegativeNumbers]=\"allowNegativeNumbers\"\n        [dropSpecialCharacters]=\"false\"\n        [(ngModel)]=\"inputValue\"\n        [disabled]=\"disabled\"\n        (ngModelChange)=\"handleValueChange($event)\"\n        (blur)=\"onBlur()\"\n        (focus)=\"onFocus()\"\n        class=\"rd-item-content-value\"\n      />\n      <ng-content select=\"[slot='token']\"></ng-content>\n      <div *ngIf=\"symbol\" class=\"rd-item-content-symbol\">{{ symbol }}</div>\n    </div>\n    <ng-content></ng-content>\n  </div>\n  <div *ngIf=\"showError\" class=\"rd-form-item-error\">\n    <svg\n      class=\"rd-error-icon-light\"\n      width=\"16\"\n      height=\"16\"\n      viewBox=\"0 0 16 16\"\n      fill=\"none\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n    >\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M1.33398 7.9987C1.33398 4.3168 4.31875 1.33203 8.00065 1.33203C11.6825 1.33203 14.6673 4.3168 14.6673 7.9987C14.6673 11.6806 11.6825 14.6654 8.00065 14.6654C4.31875 14.6654 1.33398 11.6806 1.33398 7.9987ZM8.00065 2.33203C4.87104 2.33203 2.33398 4.86908 2.33398 7.9987C2.33398 11.1283 4.87104 13.6654 8.00065 13.6654C11.1303 13.6654 13.6673 11.1283 13.6673 7.9987C13.6673 4.86908 11.1303 2.33203 8.00065 2.33203Z\"\n        fill=\"#EA485D\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M8.00039 4.06641C8.33176 4.06641 8.60039 4.33504 8.60039 4.66641V7.99974C8.60039 8.33111 8.33176 8.59974 8.00039 8.59974C7.66902 8.59974 7.40039 8.33111 7.40039 7.99974V4.66641C7.40039 4.33504 7.66902 4.06641 8.00039 4.06641ZM8.00039 10.3997C8.33176 10.3997 8.60039 10.6684 8.60039 10.9997V11.3331C8.60039 11.6644 8.33176 11.9331 8.00039 11.9331C7.66902 11.9331 7.40039 11.6644 7.40039 11.3331V10.9997C7.40039 10.6684 7.66902 10.3997 8.00039 10.3997Z\"\n        fill=\"#EA485D\"\n      />\n    </svg>\n\n    <svg\n      class=\"rd-error-icon-dark\"\n      width=\"16\"\n      height=\"16\"\n      viewBox=\"0 0 16 16\"\n      fill=\"none\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n    >\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M1.33398 7.9987C1.33398 4.3168 4.31875 1.33203 8.00065 1.33203C11.6825 1.33203 14.6673 4.3168 14.6673 7.9987C14.6673 11.6806 11.6825 14.6654 8.00065 14.6654C4.31875 14.6654 1.33398 11.6806 1.33398 7.9987ZM8.00065 2.33203C4.87104 2.33203 2.33398 4.86908 2.33398 7.9987C2.33398 11.1283 4.87104 13.6654 8.00065 13.6654C11.1303 13.6654 13.6673 11.1283 13.6673 7.9987C13.6673 4.86908 11.1303 2.33203 8.00065 2.33203Z\"\n        fill=\"#EF7484\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M8.00039 4.06641C8.33176 4.06641 8.60039 4.33504 8.60039 4.66641V7.99974C8.60039 8.33111 8.33176 8.59974 8.00039 8.59974C7.66902 8.59974 7.40039 8.33111 7.40039 7.99974V4.66641C7.40039 4.33504 7.66902 4.06641 8.00039 4.06641ZM8.00039 10.3997C8.33176 10.3997 8.60039 10.6684 8.60039 10.9997V11.3331C8.60039 11.6644 8.33176 11.9331 8.00039 11.9331C7.66902 11.9331 7.40039 11.6644 7.40039 11.3331V10.9997C7.40039 10.6684 7.66902 10.3997 8.00039 10.3997Z\"\n        fill=\"#EF7484\"\n      />\n    </svg>\n    {{ currentErrorMessage }}\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { CustomInputAmountComponent } from './custom-input-amount.component';\nimport { NgxMaskModule } from 'ngx-mask';\n\n@NgModule({\n  declarations: [CustomInputAmountComponent],\n  imports: [\n    CommonModule,\n    ReactiveFormsModule,\n    FormsModule,\n    NzInputModule,\n    NgxMaskModule,\n  ],\n  exports: [CustomInputAmountComponent],\n})\nexport class RdInputAmountModule {}\n","import {\n  Component,\n  EventEmitter,\n  forwardRef,\n  Input,\n  Output,\n  ChangeDetectorRef,\n  HostBinding,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ISelectOption } from '../../types/common.type';\nimport { Subject } from 'rxjs';\n\n@Component({\n  selector: 'app-rd-radio',\n  templateUrl: './custom-radio.component.html',\n  styleUrls: ['./custom-radio.component.scss'],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => CustomRadioComponent),\n      multi: true,\n    },\n  ],\n})\nexport class CustomRadioComponent implements ControlValueAccessor {\n  @Input() label: string = '';\n  @Input() name = '';\n  @Input() disabled = false;\n  /** 按钮大小：large, default, small */\n  @Input() size: 'large' | 'default' | 'small' = 'default';\n  @Input() direction: 'horizontal' | 'vertical' = 'horizontal';\n  @Input() allowDeselect = true; // 新增：是否允许取消选中\n  /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n  @Input() theme?: 'light' | 'dark';\n\n  @HostBinding('class.theme-light')\n  get hostThemeLight(): boolean {\n    return this.theme === 'light';\n  }\n\n  @HostBinding('class.theme-dark')\n  get hostThemeDark(): boolean {\n    return this.theme === 'dark';\n  }\n\n  @Input()\n  set options(val: ISelectOption[]) {\n    this._rawOptions = val;\n  }\n  get options(): ISelectOption[] {\n    return this._rawOptions;\n  }\n\n  @Output() valueChange = new EventEmitter<ISelectOption | null>();\n\n  private _rawOptions: ISelectOption[] = [];\n  private _value: ISelectOption | null = null;\n\n  onChange: (value: ISelectOption | null) => void = () => {};\n  onTouched: () => void = () => {};\n\n  constructor(private cdr: ChangeDetectorRef) {}\n\n  ngOnInit() {}\n\n  ngOnDestroy() {}\n\n  get value(): ISelectOption | null {\n    return this._value;\n  }\n\n  set value(val: ISelectOption | null) {\n    if (this._value !== val) {\n      this._value = val;\n      this.onChange(val);\n      this.valueChange.emit(val);\n    }\n  }\n\n  get nativeValue(): any {\n    return this._value?.value;\n  }\n\n  set nativeValue(val: any) {\n    const option = this.options.find((opt) => opt.value === val);\n    this.value = option || null;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n    this.cdr.markForCheck();\n  }\n\n  writeValue(value: any): void {\n    if (value) {\n      if (typeof value === 'object' && 'value' in value) {\n        // 如果传入的是 ISelectOption 对象\n        this._value =\n          this.options.find((opt) => opt.value === value.value) || value;\n      } else {\n        // 如果传入的是值\n        this._value = this.options.find((opt) => opt.value === value) || null;\n      }\n    } else {\n      this._value = null;\n    }\n    this.cdr.markForCheck();\n  }\n\n  registerOnChange(fn: any): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: any): void {\n    this.onTouched = fn;\n  }\n\n  // 处理单选按钮点击\n  handleRadioClick(optionValue: any): void {\n    if (this.disabled) return;\n\n    this.onTouched();\n\n    // 如果允许取消选中，并且点击的是当前选中的选项\n    if (this.allowDeselect && this.nativeValue === optionValue) {\n      // 取消选中\n      this.nativeValue = null;\n    } else {\n      // 选中新选项\n      this.nativeValue = optionValue;\n    }\n  }\n\n  // 判断选项是否选中\n  isOptionSelected(optionValue: any): boolean {\n    return this.nativeValue === optionValue;\n  }\n}\n","<div\n  class=\"rd-form-item-radio\"\n  [ngClass]=\"{\n    'rd-form-item-radio-disabled': disabled,\n    'rd-form-item-radio-vertical': direction === 'vertical',\n    large: size === 'large',\n  }\"\n>\n  <div class=\"rd-form-item-radio-label\" *ngIf=\"label\">\n    {{ label }}\n  </div>\n\n  <div\n    [ngClass]=\"{\n      'rd-radio-group-horizontal': direction === 'horizontal',\n      'rd-radio-group-vertical': direction === 'vertical',\n    }\"\n    class=\"rd-custom-radio-group\"\n  >\n    <label\n      *ngFor=\"let option of options\"\n      class=\"rd-radio-item\"\n      [class.rd-radio-item-selected]=\"isOptionSelected(option.value)\"\n      [class.rd-radio-item-disabled]=\"disabled || option.disabled\"\n      [class.rd-radio-item-large]=\"size === 'large'\"\n      [class.rd-radio-item-small]=\"size === 'small'\"\n      (click)=\"handleRadioClick(option.value)\"\n    >\n      <div\n        [style.width.px]=\"size === 'large' ? 40 : size === 'small' ? 20 : 24\"\n        [style.height.px]=\"size === 'large' ? 40 : size === 'small' ? 20 : 24\"\n      >\n        <span\n          class=\"rd-custom-radio\"\n          [class.rd-custom-radio-selected]=\"isOptionSelected(option.value)\"\n          [class.rd-custom-radio-disabled]=\"disabled || option.disabled\"\n        >\n          <span class=\"rd-custom-radio-inner\"></span>\n        </span>\n      </div>\n      <span class=\"rd-radio-text\" [innerHtml]=\"option.label\"> </span>\n    </label>\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CustomRadioComponent } from './custom-radio.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\n\n@NgModule({\n  declarations: [CustomRadioComponent],\n  imports: [\n    CommonModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NzSpinModule,\n    NzRadioModule,\n  ],\n  exports: [CustomRadioComponent],\n})\nexport class RdRadioModule {}\n","import {\n  Component,\n  EventEmitter,\n  HostBinding,\n  Input,\n  Output,\n  ChangeDetectionStrategy,\n} from '@angular/core';\n\n// ng-zorro 按钮类型\ntype NzButtonType = 'primary' | 'default' | 'dashed' | 'link' | 'text';\ntype NzButtonShape = 'circle' | 'round';\ntype NzButtonSize = 'large' | 'default' | 'small';\n\n@Component({\n  selector: 'app-rd-button',\n  templateUrl: './rd-button.component.html',\n  styleUrls: ['./rd-button.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class RdButtonComponent {\n  /** 按钮类型：primary, default, danger, yellow, link, text */\n  @Input() type:\n    | 'primary'\n    | 'default'\n    | 'danger'\n    | 'yellow'\n    | 'gray'\n    | 'link'\n    | 'text' = 'default';\n\n  /** 按钮大小：large, default, small */\n  @Input() size: 'large' | 'default' | 'small' = 'default';\n\n  /** 按钮形状：default, circle, round */\n  @Input() shape: 'default' | 'circle' | 'round' = 'default';\n\n  /** 是否禁用 */\n  @Input() disabled = false;\n\n  /** 是否加载中 */\n  @Input() loading = false;\n\n  /** 是否块级元素，宽度充满父容器 */\n  @Input() block = false;\n\n  /** 原生 button 类型：button, submit, reset */\n  @Input() htmlType: 'button' | 'submit' | 'reset' = 'button';\n\n  /** 是否显示为幽灵按钮（背景透明） */\n  @Input() ghost = false;\n\n  /** 是否显示为虚线按钮 */\n  @Input() dashed = false;\n\n  /** 图标类名（使用项目图标库） */\n  @Input() icon?: string;\n\n  /** 危险按钮（type=danger 时自动为 true） */\n  @Input() danger = false;\n\n  /** 点击事件 */\n  @Output() click = new EventEmitter<MouseEvent>();\n\n  @Input() minWidth = 56;\n  /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n  @Input() theme?: 'light' | 'dark';\n\n  @HostBinding('class.theme-light')\n  get hostThemeLight(): boolean {\n    return this.theme === 'light';\n  }\n\n  @HostBinding('class.theme-dark')\n  get hostThemeDark(): boolean {\n    return this.theme === 'dark';\n  }\n\n  /** 获取 ng-zorro 的 nzType，兼容现有代码 */\n  get nzType(): NzButtonType {\n    if (this.type === 'danger' || this.type === 'yellow') {\n      return 'primary';\n    }\n    if (this.type === 'gray') {\n      return 'default';\n    }\n    return this.type as NzButtonType;\n  }\n\n  /** 获取 ng-zorro 的 nzShape */\n  get nzShape(): NzButtonShape | any {\n    return this.shape !== 'default' ? (this.shape as NzButtonShape) : undefined;\n  }\n\n  /** 获取 ng-zorro 的 nzSize */\n  get nzSize(): NzButtonSize | any {\n    return this.size !== 'default' ? (this.size as NzButtonSize) : undefined;\n  }\n\n  /** 处理点击事件 */\n  onClick(event: MouseEvent): void {\n    event.stopPropagation();\n    if (!this.disabled && !this.loading) {\n      this.click.emit(event);\n    }\n  }\n\n  /** 获取按钮 CSS 类 */\n  get buttonClasses(): { [key: string]: boolean } {\n    const classes: { [key: string]: boolean } = {\n      'rd-button': true,\n      [`rd-button-${this.type}`]: true,\n      'rd-button-block': this.block,\n      'rd-button-loading': this.loading,\n      'rd-button-disabled': this.disabled,\n      'rd-button-ghost': this.ghost,\n      'rd-button-dashed': this.dashed,\n      'rd-button-danger': this.danger || this.type === 'danger',\n      'rd-button-icon-only': !!this.icon && !this.hasContent,\n    };\n\n    // 添加尺寸类，避免与 type=\"default\" 冲突\n    if (this.size !== 'default') {\n      classes[`rd-button-size-${this.size}`] = true;\n    }\n\n    // 添加形状类，避免与 type 值冲突\n    if (this.shape !== 'default') {\n      classes[`rd-button-shape-${this.shape}`] = true;\n    }\n\n    return classes;\n  }\n\n  /** 检查是否有内容（除了图标） */\n  get hasContent(): boolean {\n    // 通过内容投影判断，在模板中使用 <ng-content>\n    return true; // 实际由模板判断，这里返回 true 假设有内容\n  }\n}\n","<button\n  nz-button\n  [nzType]=\"nzType\"\n  [nzShape]=\"nzShape\"\n  [nzSize]=\"nzSize\"\n  [nzGhost]=\"ghost\"\n  [nzDanger]=\"danger || type === 'danger'\"\n  [nzBlock]=\"block\"\n  [nzLoading]=\"loading\"\n  [disabled]=\"disabled\"\n  [type]=\"htmlType\"\n  [ngClass]=\"buttonClasses\"\n  [ngStyle]=\"{ 'min-width': minWidth + 'px' }\"\n  (click)=\"onClick($event)\"\n  class=\"rd-button-native\"\n>\n  <span class=\"rd-button-content\">\n    <ng-content></ng-content>\n  </span>\n</button>\n","import {\n  Component,\n  EventEmitter,\n  forwardRef,\n  Input,\n  Output,\n  ChangeDetectorRef,\n  HostListener,\n  AfterViewInit,\n} from '@angular/core';\nimport {\n  AbstractControl,\n  ControlValueAccessor,\n  NG_VALIDATORS,\n  NG_VALUE_ACCESSOR,\n  ValidationErrors,\n} from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ISelectOption } from '../../types/common.type';\n\n@Component({\n  selector: 'app-rd-select',\n  templateUrl: './rd-select.component.html',\n  styleUrls: ['./rd-select.component.scss', './select.scss'],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => RdSelectComponent),\n      multi: true,\n    },\n    {\n      provide: NG_VALIDATORS,\n      useExisting: forwardRef(() => RdSelectComponent),\n      multi: true,\n    },\n  ],\n})\nexport class RdSelectComponent implements ControlValueAccessor, AfterViewInit {\n  @Input() label: string = '';\n  @Input() customTpl: any;\n  @Input() optionTpl: any;\n  @Input() name = '';\n  @Input() disabled = false;\n  @Input() nzMode: 'multiple' | 'default' = 'default';\n  @Input() isCurrency?: boolean;\n  @Input() currencyUrlMap?: Record<string, string>;\n  @Input() optionHeightPx?: number;\n  @Input() nzMaxMultipleCount: any = 100;\n  @Input() isLoading = false;\n  @Input() isShowSearch = false;\n  @Input() isRemoteSearch = false;\n  @Input() placeholder = '';\n  @Input() isRquired = true;\n  @Input() isShowErrorTip = true; // 问卷外部已经有错误提示了，这里需要忽略\n  @Input() isSearchWidthAuto = false;\n\n  @Input()\n  set options(val: ISelectOption[]) {\n    this._rawOptions = val;\n    this.filteredOptions = val;\n  }\n  get options(): ISelectOption[] {\n    return this._rawOptions;\n  }\n\n  @Input() errorMessages: { [key: string]: string } = {\n    pattern: 'invalid_format',\n    custom: 'validation_failed',\n  };\n\n  @Output() searchChange = new EventEmitter<string>();\n  @Output() valueChange = new EventEmitter<ISelectOption | ISelectOption[]>();\n  @Output() scrollToBottomEmit = new EventEmitter<void>();\n\n  private _rawOptions: ISelectOption[] = [];\n  filteredOptions: ISelectOption[] = [];\n\n  value: ISelectOption | ISelectOption[] | undefined = undefined;\n  nativeValue: ISelectOption['value'] | ISelectOption['value'][] | undefined =\n    undefined;\n  drawerSelectValue:\n    | any\n    | ISelectOption['value']\n    | ISelectOption['value'][]\n    | undefined = undefined;\n  searchInput = '';\n  @Input() businessLocation = false;\n  @Input() businessLocationTitle = '';\n  onChange: (value: ISelectOption | ISelectOption[] | undefined) => void =\n    () => {};\n  onTouched: () => void = () => {};\n\n  isFocus = false;\n  isOpen = false;\n  isComponentReady = false;\n  private control: AbstractControl | null = null;\n\n  searchTerm = '';\n  drawerOpen = false;\n  modalOpen = false;\n  @Input() showSelectedCount = false; // 新增：是否显示选中计数\n  @Input() showClearAll = false; // 新增：是否显示清空按钮\n  @Input() selectedLabel = 'Selected:';\n  @Input() clearAllLabel = 'Clear all';\n  @Input() showTopHint = false; // 新增：是否显示顶部提示\n  @Input() topHintText = 'You can choose up to 3 locations'; // 顶部提示文本\n  // 计算选中的数量\n  get selectedCount(): number {\n    if (this.nzMode === 'multiple') {\n      return Array.isArray(this.nativeValue) ? this.nativeValue.length : 0;\n    }\n    return this.nativeValue !== undefined && this.nativeValue !== null ? 1 : 0;\n  }\n\n  get dropdownClassNames(): string[] {\n    const classes: string[] = [];\n\n    // 基础类名\n    if (this.nzMode === 'multiple') {\n      classes.push('rd-form-item-multiple-select-dropdown');\n    } else {\n      classes.push('rd-form-item-select-dropdown');\n    }\n\n    // 条件类名\n    if (this.showTopHint) {\n      classes.push('has-top-hint');\n    }\n\n    return classes;\n  }\n\n  get isShowMaxCount() {\n    // hack\n    return this.nzMaxMultipleCount < 10000;\n  }\n\n  // 响应式：是否是移动端\n  isMobile = false;\n  @HostListener('window:resize')\n  onResize() {\n    this.updateIsMobile();\n  }\n\n  // 清空所有选项\n  clearAll(): void {\n    if (this.nzMode === 'multiple') {\n      if (!this.isMobile) {\n        this.nativeValue = [];\n        this.value = [];\n      }\n      this.drawerSelectValue = [];\n    } else {\n      this.nativeValue = undefined;\n      this.value = undefined;\n      this.drawerSelectValue = [];\n    }\n\n    this.onChange(this.value);\n    this.valueChange.emit(this.value);\n    this.cdr.markForCheck();\n  }\n\n  get currentErrorMessage(): string {\n    if (!this.control?.errors) return '';\n    const firstError = Object.keys(this.control?.errors || {})[0];\n\n    const msg = this.errorMessages[firstError];\n\n    switch (firstError) {\n      case 'required':\n        return (\n          msg ||\n          `${this.translate.instant(\n            'please_select',\n          )}${this.label.toLowerCase()}`\n        );\n      case 'custom':\n        return (\n          this.control?.errors['custom'] ||\n          this.translate.instant('validation_failed')\n        );\n      default:\n        return (\n          this.translate.instant(this.errorMessages[firstError]) ||\n          this.translate.instant('validation_failed')\n        );\n    }\n  }\n\n  get showError(): boolean {\n    return (\n      !!this.control?.invalid && (this.control?.touched || this.control?.dirty)\n    );\n  }\n\n  constructor(\n    private cdr: ChangeDetectorRef,\n    private translate: TranslateService,\n  ) {\n    this.updateIsMobile();\n    const mq = window.matchMedia('(max-width: 997px)');\n    if (mq.addEventListener) {\n      mq.addEventListener('change', () => this.updateIsMobile());\n    } else {\n      mq.addListener(() => this.updateIsMobile());\n    }\n  }\n\n  private updateIsMobile() {\n    this.isMobile = window.matchMedia('(max-width: 997px)').matches;\n  }\n\n  openDrawer(): void {\n    if (this.disabled) return;\n    this.searchTerm = '';\n\n    if (!this.isMobile && this.businessLocation && this.nzMode === 'multiple') {\n      this.modalOpen = true;\n    } else {\n      this.drawerOpen = true;\n    }\n\n    this.drawerSelectValue = this.nativeValue;\n    this.filteredOptions = this.options;\n  }\n\n  getDrawerSelectValueLen() {\n    if (Array.isArray(this.drawerSelectValue)) {\n      return this.drawerSelectValue?.length;\n    } else {\n      return 0;\n    }\n  }\n\n  closeDrawer() {\n    this.drawerOpen = false;\n    this.filteredOptions = this.options;\n    this.searchTerm = '';\n  }\n\n  closeModal() {\n    this.modalOpen = false;\n    this.filteredOptions = this.options;\n    this.searchTerm = '';\n  }\n\n  // 获取抽屉中已选中的数量\n  get drawerSelectedCount(): number {\n    if (Array.isArray(this.drawerSelectValue)) {\n      return this.drawerSelectValue.length;\n    }\n    return this.drawerSelectValue ? 1 : 0;\n  }\n\n  // 检查选项是否应该被禁用\n  getOptionDisabled(option: ISelectOption): boolean {\n    // 如果选项本身被禁用，直接返回true\n    if (option.disabled) {\n      return true;\n    }\n\n    // 如果当前不是多选模式，返回选项的disabled状态\n    if (this.nzMode !== 'multiple') {\n      return false;\n    }\n\n    // 在移动端抽屉中，检查是否达到最大选择数量\n    if (\n      (this.isMobile && this.businessLocation && this.drawerOpen) ||\n      (!this.isMobile && this.businessLocation && this.modalOpen)\n    ) {\n      // 如果已经达到最大选择数量，并且当前选项没有被选中，则禁用\n      if (this.drawerSelectedCount >= this.nzMaxMultipleCount) {\n        return !this.isValueSelected(option.value);\n      }\n    }\n\n    return false;\n  }\n\n  // 修改 onCheckboxChange 方法，添加数量限制\n  onCheckboxChange(selectedValues: any[]): void {\n    // 检查是否超过最大选择数量\n    if (\n      this.nzMode === 'multiple' &&\n      selectedValues.length > this.nzMaxMultipleCount\n    ) {\n      // 如果超过最大数量，只保留前 nzMaxMultipleCount 个\n      selectedValues = selectedValues.slice(0, this.nzMaxMultipleCount);\n    }\n\n    let newDrawerValue: any[];\n\n    if (this.searchTerm) {\n      // 在搜索状态下，合并历史选中值和当前选中值\n      const currentDrawerValue = Array.isArray(this.drawerSelectValue)\n        ? this.drawerSelectValue\n        : [];\n      // 找出被取消勾选的值\n      const previousFilteredValues = this.filteredOptions\n        .map((opt) => opt.value)\n        .filter((value) => currentDrawerValue.includes(value));\n\n      const deselectedValues = previousFilteredValues.filter(\n        (value) => !selectedValues.includes(value),\n      );\n\n      // 从当前抽屉值中移除被取消勾选的值\n      const remainingValues = currentDrawerValue.filter(\n        (value) => !deselectedValues.includes(value),\n      );\n\n      // 合并剩余值和当前选中值（去重）\n      newDrawerValue = [...new Set([...remainingValues, ...selectedValues])];\n\n      // 再次检查是否超过最大数量\n      if (newDrawerValue.length > this.nzMaxMultipleCount) {\n        newDrawerValue = newDrawerValue.slice(0, this.nzMaxMultipleCount);\n      }\n    } else {\n      // 非搜索状态下，直接使用当前选中值，但确保不超过最大数量\n      newDrawerValue =\n        selectedValues.length > this.nzMaxMultipleCount\n          ? selectedValues.slice(0, this.nzMaxMultipleCount)\n          : selectedValues;\n    }\n\n    this.drawerSelectValue = newDrawerValue;\n  }\n\n  // 修改多选移动端下一步的方法\n  multSelectMobileNext(): void {\n    // 确保选择数量不超过最大限制\n    if (\n      Array.isArray(this.drawerSelectValue) &&\n      this.drawerSelectValue.length > this.nzMaxMultipleCount\n    ) {\n      // 如果超过最大数量，截取前n个\n      this.drawerSelectValue = this.drawerSelectValue.slice(\n        0,\n        this.nzMaxMultipleCount,\n      );\n    }\n\n    this.handleValueChange(this.drawerSelectValue);\n    this.closeDrawer();\n    this.closeModal();\n  }\n\n  getDisableNext() {\n    if (Array.isArray(this.drawerSelectValue)) {\n      return this.drawerSelectValue?.length > this.nzMaxMultipleCount;\n    } else {\n      return false;\n    }\n  }\n\n  doMobileSearch(value: string): void {\n    this.filteredOptions = this.options.filter((opt: any) =>\n      opt.name.toLowerCase().includes(value.toLowerCase()),\n    );\n    this.cdr.markForCheck();\n  }\n\n  isValueSelected(optionValue: any): boolean {\n    if (this.nzMode === 'multiple') {\n      if (Array.isArray(this.drawerSelectValue)) {\n        return this.drawerSelectValue.includes(optionValue);\n      }\n      return false;\n    } else {\n      return this.drawerSelectValue === optionValue;\n    }\n  }\n\n  validate(control: AbstractControl | null): ValidationErrors | null {\n    if (control) {\n      this.control = control;\n    }\n\n    return null;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n    this.cdr.markForCheck();\n  }\n\n  writeValue(value: ISelectOption | ISelectOption[]): void {\n    if (Array.isArray(value)) {\n      this.value = value;\n      this.nativeValue = value.map((item) => item.value);\n      return;\n    }\n    this.value = value;\n    this.nativeValue = value?.value;\n  }\n\n  registerOnChange(fn: any): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: any): void {\n    this.onTouched = fn;\n  }\n\n  handleValueChange(\n    value: ISelectOption['value'] | ISelectOption['value'][],\n  ): void {\n    this.nativeValue = value;\n    if (Array.isArray(value)) {\n      this.value = this.options.filter((item) => value.includes(item.value));\n    } else {\n      this.value = this.options.find((item) => item.value === value);\n    }\n\n    this.onChange(this.value);\n    this.valueChange.emit(this.value);\n  }\n\n  onScrollToBottom(): void {\n    if (!this.isLoading) {\n      this.scrollToBottomEmit.emit();\n    }\n  }\n\n  onSearch(searchValue: string) {\n    this.searchInput = searchValue;\n    if (this.isRemoteSearch) {\n      this.searchChange.emit(searchValue);\n      return;\n    }\n\n    const lower = searchValue.toLowerCase();\n    this.filteredOptions = this._rawOptions.filter((item) =>\n      item.name?.toLowerCase().includes(lower),\n    );\n  }\n\n  handleOpenChange(value: boolean) {\n    this.isOpen = value;\n  }\n\n  ngAfterViewInit(): void {\n    // 等待下一个变更检测周期，确保所有样式和类已应用\n    setTimeout(() => {\n      this.isComponentReady = true;\n      this.cdr.markForCheck();\n    }, 0);\n  }\n}\n","<!-- rd-select.component.html -->\n<div\n  [class.rd-select-ready]=\"isComponentReady\"\n  [class.rd-search-width-auto]=\"isSearchWidthAuto\"\n  class=\"rd-select-container\"\n>\n  <app-rd-form-item\n    [disabled]=\"disabled\"\n    [focus]=\"!!searchInput || isFocus || isOpen\"\n    [type]=\"'select'\"\n    [label]=\"label\"\n    [value]=\"nativeValue\"\n    [errorMessage]=\"showError && isShowErrorTip ? currentErrorMessage : ''\"\n    [ngClass]=\"{\n      'rd-form-item-phone': !label,\n    }\"\n    (click)=\"openDrawer()\"\n  >\n    <nz-select\n      class=\"rd-form-item-select\"\n      [ngStyle]=\"{\n        'pointer-events':\n          businessLocation && nzMode === 'multiple' ? 'none' : '',\n      }\"\n      nzBorderless\n      [nzMode]=\"nzMode\"\n      [nzShowArrow]=\"false\"\n      [(ngModel)]=\"nativeValue\"\n      [nzMaxMultipleCount]=\"nzMaxMultipleCount ? nzMaxMultipleCount : null\"\n      [nzPlaceHolder]=\"placeholder\"\n      [nzCustomTemplate]=\"\n        customTpl\n          ? customTpl\n          : isCurrency\n            ? currencySelectedTpl\n            : defaultSelectedTpl\n      \"\n      (nzScrollToBottom)=\"onScrollToBottom()\"\n      (ngModelChange)=\"handleValueChange($event)\"\n      [disabled]=\"disabled\"\n      (nzFocus)=\"isFocus = true\"\n      (nzBlur)=\"isFocus = false\"\n      [nzDropdownClassName]=\"dropdownClassNames\"\n      [nzOptionOverflowSize]=\"5\"\n      [nzOptionHeightPx]=\"optionHeightPx || 40\"\n      [nzSuffixIcon]=\"customIcon\"\n      [nzRemoveIcon]=\"removeIcon\"\n      [nzShowSearch]=\"\n        nzMode === 'multiple' && businessLocation ? false : isShowSearch\n      \"\n      (nzOnSearch)=\"onSearch($event)\"\n      [name]=\"name\"\n      (nzOpenChange)=\"handleOpenChange($event)\"\n      [nzDropdownRender]=\"\n        showSelectedCount || showClearAll ? customDropdownFooter : null\n      \"\n      [ngClass]=\"{\n        'rd-select-disabled-open': isMobile && businessLocation,\n      }\"\n    >\n      <nz-option\n        *ngIf=\"showTopHint && isShowMaxCount\"\n        nzDisabled\n        nzCustomContent\n      >\n        <div class=\"top-hint-option\">\n          <span class=\"t14-400 c-text-primary\">{{ topHintText }}</span>\n        </div>\n      </nz-option>\n\n      <nz-option\n        *ngFor=\"let option of filteredOptions\"\n        [nzValue]=\"option.value\"\n        [nzLabel]=\"option.name || ''\"\n        [nzDisabled]=\"option.disabled || false\"\n        [nzCustomContent]=\"true\"\n      >\n        <ng-container *ngIf=\"optionTpl || isCurrency\">\n          <ng-container\n            *ngTemplateOutlet=\"\n              isCurrency ? currencyOptionTpl : optionTpl;\n              context: { $implicit: option }\n            \"\n          ></ng-container>\n        </ng-container>\n        <ng-container *ngIf=\"!(optionTpl || isCurrency)\">\n          <span class=\"t14-400 c-text-primary\">{{ option?.name }}</span>\n        </ng-container>\n      </nz-option>\n\n      <nz-option *ngIf=\"isLoading\" nzDisabled nzCustomContent>\n        <nz-spin style=\"padding: 16px 0\"></nz-spin>\n      </nz-option>\n    </nz-select>\n  </app-rd-form-item>\n</div>\n\n<!-- 自定义下拉菜单底部 -->\n<ng-template #customDropdownFooter>\n  <div class=\"select-footer-container\">\n    <div\n      class=\"select-footer-content d-flex justify-content-between align-items-center\"\n    >\n      <div>\n        <!-- 选中计数 -->\n        <span *ngIf=\"showSelectedCount\" class=\"t14-400 c-text-primary\">\n          {{ selectedLabel }}\n          {{\n            isMobile ? getDrawerSelectValueLen() : selectedCount\n          }}/<ng-container *ngIf=\"isShowMaxCount\"\n            >/{{ nzMaxMultipleCount }}\n          </ng-container>\n        </span>\n\n        <!-- 清空按钮 -->\n        <a\n          *ngIf=\"\n            showClearAll &&\n            (isMobile ? getDrawerSelectValueLen() : selectedCount) > 0\n          \"\n          class=\"b14 ml-16\"\n          (click)=\"clearAll(); $event.stopPropagation()\"\n        >\n          {{ clearAllLabel }}\n        </a>\n      </div>\n\n      <div>\n        <app-rd-button\n          type=\"primary\"\n          *ngIf=\"isMobile\"\n          [disabled]=\"getDisableNext()\"\n          (click)=\"multSelectMobileNext()\"\n        >\n          {{ \"next\" | translate }}</app-rd-button\n        >\n      </div>\n    </div>\n  </div>\n</ng-template>\n\n<ng-template #customModalFooter>\n  <div class=\"select-footer-container\">\n    <div\n      class=\"select-footer-content d-flex justify-content-between align-items-center\"\n    >\n      <div>\n        <!-- 选中计数 -->\n        <span *ngIf=\"showSelectedCount\" class=\"t14-400 c-text-primary\">\n          {{ selectedLabel }}\n          {{ getDrawerSelectValueLen()\n          }}<ng-container *ngIf=\"isShowMaxCount\"\n            >/{{ nzMaxMultipleCount }}\n          </ng-container>\n        </span>\n\n        <!-- 清空按钮 -->\n        <a\n          *ngIf=\"showClearAll && getDrawerSelectValueLen() > 0\"\n          class=\"b14 ml-16\"\n          (click)=\"clearAll(); $event.stopPropagation()\"\n        >\n          {{ clearAllLabel }}\n        </a>\n      </div>\n\n      <div>\n        <app-rd-button\n          type=\"primary\"\n          [disabled]=\"isRquired ? getDrawerSelectValueLen() === 0 : false\"\n          (click)=\"multSelectMobileNext()\"\n        >\n          {{ \"done\" | translate }}</app-rd-button\n        >\n      </div>\n    </div>\n  </div>\n</ng-template>\n\n<!-- 其他模板保持不变 -->\n<ng-template #defaultSelectedTpl let-selected>\n  {{ selected?.nzLabel }}\n</ng-template>\n\n<ng-template #currencyOptionTpl let-option>\n  <div class=\"rd-form-item-option-content\">\n    <img [src]=\"option.iconUrl\" class=\"rd-token-icon\" alt=\"icon\" />\n    <span>{{ option.name }}</span>\n  </div>\n</ng-template>\n\n<ng-template #currencySelectedTpl let-selected let-extra>\n  <div class=\"rd-form-item-option-content\">\n    <img\n      [src]=\"currencyUrlMap?.[selected.nzValue]\"\n      class=\"rd-token-icon\"\n      alt=\"icon\"\n    />\n    <span>{{ selected.nzLabel }}</span>\n  </div>\n</ng-template>\n\n<ng-template #removeIcon>\n  <svg\n    xmlns=\"http://www.w3.org/2000/svg\"\n    width=\"12\"\n    height=\"12\"\n    viewBox=\"0 0 12 12\"\n    fill=\"none\"\n  >\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M2.39645 2.39645C2.59171 2.20118 2.90829 2.20118 3.10355 2.39645L6 5.29289L8.89645 2.39645C9.09171 2.20118 9.40829 2.20118 9.60355 2.39645C9.79882 2.59171 9.79882 2.90829 9.60355 3.10355L6.70711 6L9.60355 8.89645C9.79882 9.09171 9.79882 9.40829 9.60355 9.60355C9.40829 9.79882 9.09171 9.79882 8.89645 9.60355L6 6.70711L3.10355 9.60355C2.90829 9.79882 2.59171 9.79882 2.39645 9.60355C2.20118 9.40829 2.20118 9.09171 2.39645 8.89645L5.29289 6L2.39645 3.10355C2.20118 2.90829 2.20118 2.59171 2.39645 2.39645Z\"\n      fill=\"var(--rd-copy-primary)\"\n    />\n  </svg>\n</ng-template>\n\n<ng-template #customIcon>\n  <svg\n    width=\"16\"\n    height=\"16\"\n    viewBox=\"0 0 16 16\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n      fill=\"var(--rd-copy-primary)\"\n    />\n  </svg>\n</ng-template>\n\n<nz-drawer\n  [nzVisible]=\"drawerOpen && isMobile && businessLocation\"\n  [nzPlacement]=\"'bottom'\"\n  [nzHeight]=\"'70vh'\"\n  [nzTitle]=\"''\"\n  [nzClosable]=\"false\"\n  [nzFooter]=\"customDropdownFooter\"\n  nzWrapClassName=\"select-drawer\"\n  (nzOnClose)=\"closeDrawer()\"\n>\n  <div *nzDrawerContent>\n    <div class=\"select-drawer-header\">\n      <div class=\"header-title\">\n        <div>\n          {{\n            (businessLocation ? \"select_nature_of_business\" : \" \") | translate\n          }}\n        </div>\n        <div class=\"close-btn\" (click)=\"closeDrawer()\">\n          <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            width=\"16\"\n            height=\"16\"\n            viewBox=\"0 0 16 16\"\n            fill=\"none\"\n            class=\"w-full\"\n          >\n            <path\n              d=\"M3.40039 3.3999L8.00039 7.9999M12.6004 12.5999L8.00039 7.9999M8.00039 7.9999L12.6004 3.3999L3.40039 12.5999\"\n              stroke=\"var(--rd-copy-primary)\"\n              stroke-width=\"1.36\"\n              stroke-linecap=\"round\"\n              stroke-linejoin=\"round\"\n            />\n          </svg>\n        </div>\n      </div>\n\n      <nz-input-group\n        class=\"cascader-drawer-search\"\n        [nzPrefix]=\"prefixIconSearch\"\n        nzClearable\n      >\n        <input\n          nz-input\n          [placeholder]=\"'search' | translate\"\n          [(ngModel)]=\"searchTerm\"\n          (ngModelChange)=\"doMobileSearch($event)\"\n        />\n      </nz-input-group>\n    </div>\n\n    <div class=\"cascader-drawer-list\">\n      <div *ngIf=\"isShowMaxCount\" class=\"my-16 ml-8\">\n        <span class=\"t14-400 c-text-primary\">{{ topHintText }}</span>\n      </div>\n      <ng-container *ngIf=\"filteredOptions?.length\">\n        <nz-checkbox-wrapper\n          class=\"question-content\"\n          class=\"t14-400 c-text-primary\"\n          (nzOnChange)=\"onCheckboxChange($event)\"\n        >\n          <div *ngFor=\"let option of filteredOptions\" class=\"mb-8\">\n            <label\n              nz-checkbox\n              [nzValue]=\"option?.value\"\n              [nzDisabled]=\"getOptionDisabled(option)\"\n              [nzChecked]=\"isValueSelected(option?.value)\"\n            >\n              <span class=\"t14-400 c-text-primary\">{{ option?.name }}</span>\n            </label>\n          </div>\n        </nz-checkbox-wrapper>\n      </ng-container>\n    </div>\n  </div>\n</nz-drawer>\n\n<!-- Modal for desktop business location multi-select -->\n<nz-modal\n  [(nzVisible)]=\"modalOpen\"\n  [nzTitle]=\"''\"\n  [nzClosable]=\"false\"\n  [nzFooter]=\"customModalFooter\"\n  nzWrapClassName=\"select-modal\"\n  (nzOnCancel)=\"closeModal()\"\n  [nzWidth]=\"632\"\n  [nzBodyStyle]=\"{ height: '600px' }\"\n  nzCentered\n>\n  <div *nzModalContent>\n    <div class=\"select-modal-header\">\n      <div\n        class=\"header-title d-flex justify-content-between align-items-center\"\n      >\n        <div>\n          {{\n            (businessLocationTitle\n              ? businessLocationTitle\n              : businessLocation\n                ? \"select_nature_of_business\"\n                : \" \"\n            ) | translate\n          }}\n        </div>\n        <div class=\"close-btn\" (click)=\"closeModal()\">\n          <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            width=\"16\"\n            height=\"16\"\n            viewBox=\"0 0 16 16\"\n            fill=\"none\"\n          >\n            <path\n              d=\"M3.40039 3.3999L8.00039 7.9999M12.6004 12.5999L8.00039 7.9999M8.00039 7.9999L12.6004 3.3999L3.40039 12.5999\"\n              stroke=\"var(--rd-copy-primary)\"\n              stroke-width=\"1.36\"\n              stroke-linecap=\"round\"\n              stroke-linejoin=\"round\"\n            />\n          </svg>\n        </div>\n      </div>\n\n      <nz-input-group\n        class=\"cascader-modal-search\"\n        [nzPrefix]=\"prefixIconSearch\"\n        nzClearable\n      >\n        <input\n          nz-input\n          [placeholder]=\"'search' | translate\"\n          [(ngModel)]=\"searchTerm\"\n          (ngModelChange)=\"doMobileSearch($event)\"\n        />\n      </nz-input-group>\n    </div>\n\n    <div class=\"cascader-modal-list\">\n      <div class=\"mb-16\" *ngIf=\"showTopHint && isShowMaxCount\">\n        <span class=\"t14-400 c-text-primary\">{{ topHintText }}</span>\n      </div>\n      <ng-container *ngIf=\"filteredOptions?.length\">\n        <nz-checkbox-wrapper\n          class=\"question-content\"\n          class=\"t14-400 c-text-primary\"\n          (nzOnChange)=\"onCheckboxChange($event)\"\n        >\n          <div *ngFor=\"let option of filteredOptions\" class=\"mb-8\">\n            <label\n              nz-checkbox\n              [nzValue]=\"option?.value\"\n              [nzDisabled]=\"getOptionDisabled(option)\"\n              [nzChecked]=\"isValueSelected(option?.value)\"\n            >\n              <span class=\"t14-400 c-text-primary\">{{ option?.name }}</span>\n            </label>\n          </div>\n        </nz-checkbox-wrapper>\n      </ng-container>\n    </div>\n  </div>\n</nz-modal>\n\n<ng-template #prefixIconSearch>\n  <svg\n    xmlns=\"http://www.w3.org/2000/svg\"\n    width=\"16\"\n    height=\"16\"\n    viewBox=\"0 0 16 16\"\n    fill=\"none\"\n  >\n    <path\n      d=\"M14.4951 13.6948L11.3962 10.5959C12.3175 9.46902 12.7704 8.03122 12.6613 6.57983C12.5522 5.12844 11.8894 3.77451 10.81 2.79807C9.73066 1.82164 8.3173 1.29741 6.86227 1.33381C5.40723 1.37021 4.02185 1.96445 2.99266 2.99364C1.96348 4.02282 1.36923 5.4082 1.33283 6.86323C1.29643 8.31826 1.82066 9.73162 2.7971 10.811C3.77354 11.8903 5.12747 12.5531 6.57887 12.6622C8.03026 12.7713 9.46807 12.3184 10.5949 11.3972L13.6938 14.5032C13.8027 14.6073 13.9474 14.6656 14.098 14.6663C14.2105 14.6661 14.3204 14.6325 14.4138 14.5697C14.5071 14.5069 14.5796 14.4178 14.6222 14.3136C14.6648 14.2095 14.6754 14.0951 14.6528 13.9849C14.6302 13.8747 14.5753 13.7737 14.4951 13.6948ZM7.00667 11.5461C6.10905 11.5461 5.23158 11.2799 4.48523 10.7812C3.73889 10.2825 3.15718 9.57372 2.81367 8.74443C2.47017 7.91513 2.38029 7.0026 2.55541 6.12223C2.73053 5.24185 3.16277 4.43317 3.79749 3.79846C4.43221 3.16375 5.24088 2.7315 6.12126 2.55638C7.00164 2.38127 7.91417 2.47114 8.74347 2.81465C9.57277 3.15815 10.2816 3.73986 10.7803 4.4862C11.279 5.23255 11.5451 6.11001 11.5451 7.00763C11.5433 8.21073 11.0645 9.36402 10.2138 10.2147C9.36306 11.0655 8.20977 11.5442 7.00667 11.5461Z\"\n      fill=\"var(--rd-copy-primary)\"\n    />\n  </svg>\n</ng-template>\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { NzButtonModule } from \"ng-zorro-antd/button\";\nimport { NzIconModule } from \"ng-zorro-antd/icon\";\nimport { RdButtonComponent } from \"./rd-button.component\";\n\n@NgModule({\n  declarations: [RdButtonComponent],\n  imports: [CommonModule, NzButtonModule, NzIconModule],\n  exports: [RdButtonComponent],\n})\nexport class RdButtonModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RdSelectComponent } from './rd-select.component';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\nimport { FormItemModule } from '../form-item/form-item.module';\nimport { NzDrawerModule } from 'ng-zorro-antd/drawer';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzModalModule } from 'ng-zorro-antd/modal';\nimport { RdButtonModule } from '../rd-button/rd-button.module';\n\n@NgModule({\n  declarations: [RdSelectComponent],\n  imports: [\n    CommonModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NzSpinModule,\n    NzSelectModule,\n    FormItemModule,\n    NzDrawerModule,\n    NzInputModule,\n    TranslateModule,\n    NzCheckboxModule,\n    NzButtonModule,\n    NzModalModule,\n    RdButtonModule,\n  ],\n  exports: [RdSelectComponent],\n})\nexport class RdSelectModule {}\n","import { Component, forwardRef, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ITokenSelectOption } from './pure-select-token.type';\n\nexport interface ISelectOption {\n  value: string;\n  name: string;\n  iconUrl: string;\n  disabled?: boolean;\n}\n\n@Component({\n  selector: 'app-rd-pure-select-token',\n  templateUrl: './pure-select-token.component.html',\n  styleUrls: ['./pure-select-token.component.scss', '../select.scss'],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => PureSelectTokenComponent),\n      multi: true,\n    },\n  ],\n})\nexport class PureSelectTokenComponent implements ControlValueAccessor {\n  @Input() disabled = false;\n  @Input() tokens: ITokenSelectOption[] = [];\n  @Input() label!: string;\n\n  value: string | null = null;\n\n  isLoading = false;\n  isFocus = false;\n  isOpen = false;\n\n  onChange = (_: any) => {};\n  onTouched = () => {};\n\n  writeValue(value: string | null): void {\n    this.value = value;\n  }\n\n  registerOnChange(fn: any): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: any): void {\n    this.onTouched = fn;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n\n  handleValueChange(value: string): void {\n    this.value = value;\n    this.onChange(value);\n    this.onTouched();\n  }\n\n  handleOpenChange(value: boolean) {\n    this.isOpen = value;\n  }\n\n  getIconUrl(token: string) {\n    if (!token) return '';\n    return this.tokens.find((item) => item.value === token)?.iconUrl || '';\n  }\n}\n","<app-rd-form-item\n  type=\"select\"\n  size=\"small\"\n  [disabled]=\"disabled\"\n  [focus]=\"isFocus || isOpen\"\n>\n  <nz-select\n    class=\"rd-form-item-select rd-form-item-select-s\"\n    nzBorderless\n    [nzShowArrow]=\"false\"\n    [(ngModel)]=\"value\"\n    [nzCustomTemplate]=\"currencySelectedTpl\"\n    (ngModelChange)=\"handleValueChange($event)\"\n    (nzOpenChange)=\"handleOpenChange($event)\"\n    (nzFocus)=\"isFocus = true\"\n    (nzBlur)=\"isFocus = false\"\n    [disabled]=\"disabled\"\n    [nzDropdownClassName]=\"'rd-form-item-select-dropdown-s'\"\n    [nzOptionOverflowSize]=\"5\"\n    [nzOptionHeightPx]=\"32\"\n    [nzSuffixIcon]=\"customIcon\"\n    [nzRemoveIcon]=\"removeIcon\"\n    [nzDropdownMatchSelectWidth]=\"true\"\n    [nzNotFoundContent]=\"nzNotFoundContent\"\n    [nzPlaceHolder]=\"label\"\n  >\n    <nz-option\n      *ngFor=\"let option of tokens\"\n      [nzValue]=\"option.value\"\n      [nzLabel]=\"option.name || ''\"\n      [nzDisabled]=\"option.disabled || false\"\n      [nzCustomContent]=\"true\"\n    >\n      <ng-container\n        *ngTemplateOutlet=\"currencyOptionTpl; context: { $implicit: option }\"\n      ></ng-container>\n    </nz-option>\n    <nz-option *ngIf=\"isLoading\" nzDisabled nzCustomContent>\n      <nz-spin style=\"padding: 16px 0\"></nz-spin>\n    </nz-option>\n  </nz-select>\n</app-rd-form-item>\n\n<ng-template #currencyOptionTpl let-option>\n  <div class=\"rd-form-item-option-content\">\n    <nz-avatar\n      [nzSize]=\"20\"\n      [nzIcon]=\"'user'\"\n      [nzSrc]=\"option.iconUrl\"\n    ></nz-avatar>\n    <span>{{ option.name }}</span>\n  </div>\n</ng-template>\n\n<ng-template #currencySelectedTpl let-selected let-extra>\n  <div class=\"rd-form-item-option-content\">\n    <img [src]=\"getIconUrl(selected?.nzValue)\" class=\"rd-token-icon\" alt=\"\" />\n    <span>{{ selected?.nzLabel }}</span>\n  </div>\n</ng-template>\n\n<ng-template #removeIcon>\n  <svg\n    xmlns=\"http://www.w3.org/2000/svg\"\n    width=\"12\"\n    height=\"12\"\n    viewBox=\"0 0 12 12\"\n    fill=\"none\"\n  >\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M2.39645 2.39645C2.59171 2.20118 2.90829 2.20118 3.10355 2.39645L6 5.29289L8.89645 2.39645C9.09171 2.20118 9.40829 2.20118 9.60355 2.39645C9.79882 2.59171 9.79882 2.90829 9.60355 3.10355L6.70711 6L9.60355 8.89645C9.79882 9.09171 9.79882 9.40829 9.60355 9.60355C9.40829 9.79882 9.09171 9.79882 8.89645 9.60355L6 6.70711L3.10355 9.60355C2.90829 9.79882 2.59171 9.79882 2.39645 9.60355C2.20118 9.40829 2.20118 9.09171 2.39645 8.89645L5.29289 6L2.39645 3.10355C2.20118 2.90829 2.20118 2.59171 2.39645 2.39645Z\"\n      fill=\"var(--rd-copy-primary)\"\n    />\n  </svg>\n</ng-template>\n\n<ng-template #customIcon>\n  <svg\n    xmlns=\"http://www.w3.org/2000/svg\"\n    width=\"16\"\n    height=\"16\"\n    viewBox=\"0 0 16 16\"\n    fill=\"none\"\n  >\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n      fill=\"var(--rd-copy-primary)\"\n    />\n  </svg>\n</ng-template>\n\n<ng-template #nzNotFoundContent>\n  <div class=\"rd-form-item-empty\">\n    <img src=\"/assets/img/no-data.svg\" />\n    <p>No data</p>\n  </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\nimport { NzAvatarModule } from 'ng-zorro-antd/avatar';\n\nimport { PureSelectTokenComponent } from './pure-select-token.component';\nimport { FormItemModule } from '../../form-item/form-item.module';\n\n@NgModule({\n  declarations: [PureSelectTokenComponent],\n  imports: [\n    CommonModule,\n    FormsModule,\n    ReactiveFormsModule,\n    NzSpinModule,\n    NzSelectModule,\n    FormItemModule,\n    NzAvatarModule,\n  ],\n  exports: [PureSelectTokenComponent],\n})\nexport class RdPureSelectTokenModule {}\n","import {\n  Component,\n  HostBinding,\n  HostListener,\n  OnInit,\n  OnChanges,\n  SimpleChanges,\n  ChangeDetectorRef,\n  Input,\n  Output,\n  EventEmitter,\n  forwardRef,\n  AfterViewInit,\n  ElementRef,\n  OnDestroy,\n  ViewChild,\n} from '@angular/core';\nimport {\n  AbstractControl,\n  ControlValueAccessor,\n  NG_VALIDATORS,\n  NG_VALUE_ACCESSOR,\n  ValidationErrors,\n} from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NzCascaderOption } from 'ng-zorro-antd/cascader';\n\n@Component({\n  selector: 'app-industry-cascader',\n  templateUrl: './industry-cascader.component.html',\n  styleUrls: ['./industry-cascader.component.scss'],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => IndustryCascaderComponent),\n      multi: true,\n    },\n    {\n      provide: NG_VALIDATORS,\n      useExisting: forwardRef(() => IndustryCascaderComponent),\n      multi: true,\n    },\n  ],\n})\nexport class IndustryCascaderComponent\n  implements OnInit, OnChanges, ControlValueAccessor, AfterViewInit, OnDestroy\n{\n  @ViewChild('cascaderContainer') cascaderContainer!: ElementRef;\n  @ViewChild('valueText') valueText!: ElementRef;\n  constructor(\n    private translate: TranslateService,\n    private cdr: ChangeDetectorRef,\n  ) {}\n\n  @Input() disabled = false;\n  @Input() errorMessages: { [key: string]: string } = {\n    pattern: 'invalid_format',\n    custom: 'validation_failed',\n  };\n  @Input() industryCodes: any;\n  @Output() valueChange = new EventEmitter<string[] | null>();\n\n  @Input() label = '1st industry nature of business';\n  @Input() name = '';\n  /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n  @Input() theme?: 'light' | 'dark';\n\n  @HostBinding('class.theme-light')\n  get hostThemeLight(): boolean {\n    return this.theme === 'light';\n  }\n\n  @HostBinding('class.theme-dark')\n  get hostThemeDark(): boolean {\n    return this.theme === 'dark';\n  }\n\n  get drawerWrapClassName(): string {\n    const themeClass =\n      this.theme === 'light'\n        ? 'theme-light'\n        : this.theme === 'dark'\n          ? 'theme-dark'\n          : '';\n    return ['cascader-drawer', themeClass].filter(Boolean).join(' ');\n  }\n  options: NzCascaderOption[] = [];\n\n  searchInput = '';\n  value: string[] = [];\n\n  drawerOpen = false;\n  view: 'root' | 'children' = 'root';\n  activeParent: any | NzCascaderOption | null = null;\n\n  isFocus = false;\n  isOpen = false;\n\n  searchTerm = '';\n  searchChildrenTerm = '';\n  filteredOptions: any = [];\n  filteredChildren: any = [];\n  private searchTimer: any = null;\n\n  private control: AbstractControl | null = null;\n  // 添加新属性\n  isTextOverflow = false;\n  // 修改isTextOverflow为对象，记录更详细的信息\n  textOverflowInfo = {\n    isOverflow: false,\n    lineCount: 0,\n    maxLines: 2, // 你可以设置最大允许的行数\n    exceededLines: 0, // 超过的行数\n  };\n  overflowLineCount = 0; // 实际占用的行数\n  maxAllowedLines = 2; // 最大允许行数\n\n  private resizeObserver: ResizeObserver | null = null;\n  get showError(): boolean {\n    return (\n      !!this.control?.invalid && (this.control?.touched || this.control?.dirty)\n    );\n  }\n\n  get currentErrorMessage(): string {\n    if (!this.control?.errors) return '';\n\n    const firstError = Object.keys(this.control?.errors || {})[0];\n    const msg = this.errorMessages[firstError];\n\n    switch (firstError) {\n      case 'required':\n        return (\n          msg ||\n          `${this.translate.instant(\n            'please_select',\n          )}${this.label.toLowerCase()}`\n        );\n      case 'custom':\n        return (\n          this.control?.errors['custom'] ||\n          this.translate.instant('validation_failed')\n        );\n      default:\n        return (\n          this.translate.instant(this.errorMessages[firstError]) ||\n          this.translate.instant('validation_failed')\n        );\n    }\n  }\n\n  onChange: (value: string[] | null | undefined) => void = () => {};\n  onTouched: () => void = () => {};\n\n  // 响应式：是否是移动端\n  isMobile = false;\n  @HostListener('window:resize')\n  onResize() {\n    this.updateIsMobile();\n  }\n\n  ngOnInit(): void {\n    this.handleInitOptions();\n    this.updateIsMobile();\n    const mq = window.matchMedia('(max-width: 997px)');\n    if (mq.addEventListener) {\n      mq.addEventListener('change', () => this.updateIsMobile());\n    } else {\n      mq.addListener(() => this.updateIsMobile());\n    }\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes['industryCodes']) {\n      this.handleInitOptions();\n    }\n  }\n\n  ngAfterViewInit() {\n    this.setupResizeObserver();\n    // 初始检测\n    setTimeout(() => this.checkTextOverflow(), 0);\n  }\n\n  ngOnDestroy() {\n    if (this.resizeObserver) {\n      this.resizeObserver.disconnect();\n    }\n  }\n\n  private setupResizeObserver() {\n    if (typeof ResizeObserver !== 'undefined') {\n      this.resizeObserver = new ResizeObserver(() => {\n        this.checkTextOverflow();\n      });\n\n      if (this.valueText?.nativeElement) {\n        this.resizeObserver.observe(this.valueText.nativeElement);\n      }\n\n      if (this.cascaderContainer?.nativeElement) {\n        this.resizeObserver.observe(this.cascaderContainer.nativeElement);\n      }\n    }\n  }\n\n  private checkTextOverflow(): void {\n    if (!this.valueText?.nativeElement) return;\n\n    const textElement = this.valueText.nativeElement;\n\n    // 方法1：计算实际行数\n    this.calculateLineCount(textElement);\n\n    // 方法2：备用宽度检测\n    this.checkWidthOverflow(textElement);\n  }\n\n  private calculateLineCount(element: HTMLElement): void {\n    // 获取元素的样式\n    const computedStyle = window.getComputedStyle(element);\n    const lineHeight = parseFloat(computedStyle.lineHeight);\n    const scrollHeight = element.scrollHeight;\n    const clientHeight = element.clientHeight;\n\n    // 如果lineHeight为0或NaN，使用默认值\n    const actualLineHeight = lineHeight && !isNaN(lineHeight) ? lineHeight : 20; // 默认20px\n\n    // 计算实际行数\n    const lineCount = Math.round(scrollHeight / actualLineHeight);\n    this.overflowLineCount = lineCount;\n\n    // 检查是否超过最大允许行数\n    this.isTextOverflow = lineCount > this.maxAllowedLines;\n\n    // 你也可以记录更多信息\n    this.textOverflowInfo = {\n      isOverflow: lineCount > this.maxAllowedLines,\n      lineCount: lineCount,\n      maxLines: this.maxAllowedLines,\n      exceededLines: Math.max(0, lineCount - this.maxAllowedLines),\n    };\n\n    console.log(`文本行数: ${lineCount}, 是否溢出: ${this.isTextOverflow}`);\n\n    this.cdr.markForCheck();\n  }\n\n  private checkWidthOverflow(element: HTMLElement): void {\n    // 原有的宽度检测逻辑（作为备用）\n    const container = this.cascaderContainer?.nativeElement;\n    if (container) {\n      const containerStyle = window.getComputedStyle(container);\n      const containerWidth = parseFloat(containerStyle.width);\n      const textWidth = element.scrollWidth;\n      const containerPadding =\n        parseFloat(containerStyle.paddingLeft) +\n        parseFloat(containerStyle.paddingRight);\n      const availableWidth = containerWidth - containerPadding - 56;\n\n      const isWidthOverflow = textWidth > availableWidth;\n\n      // 结合两种检测结果\n      if (isWidthOverflow && !this.isTextOverflow) {\n        this.isTextOverflow = true;\n      }\n    }\n  }\n\n  // 修改handleValueChange方法，添加延迟检测\n  handleValueChange(value: string[]): void {\n    this.value = value;\n    this.onChange(this.value);\n    this.valueChange.emit(this.value);\n\n    // 增加延迟，确保DOM完全更新\n    setTimeout(() => {\n      this.checkTextOverflow();\n      // 可能需要多次检测以确保准确\n      setTimeout(() => this.checkTextOverflow(), 100);\n    }, 50);\n  }\n\n  private updateIsMobile() {\n    this.isMobile = window.matchMedia('(max-width: 997px)').matches;\n  }\n\n  cascaderSearchFn = (input: string, path: any[]): boolean => {\n    const i = input.toLowerCase();\n\n    return path.some((p) => p.labelLower.includes(i));\n  };\n\n  validate(control: AbstractControl | null): ValidationErrors | null {\n    if (control) {\n      this.control = control;\n    }\n\n    return null;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n    this.cdr.markForCheck();\n  }\n\n  writeValue(value: any): void {\n    this.value = value;\n  }\n\n  registerOnChange(fn: any): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: any): void {\n    this.onTouched = fn;\n  }\n\n  onVisibleChange(value: any) {\n    this.isOpen = value;\n  }\n\n  handleInitOptions() {\n    if (this.industryCodes?.length > 0) {\n      this.options = this.industryCodes.map((item: any) => {\n        return {\n          ...item,\n          value: item.objId,\n          label: item.annexa,\n          isLeaf: false,\n          labelLower: item.annexa.toLowerCase(),\n          children: item.subList.map((subItem: any) => {\n            return {\n              ...subItem,\n              value: subItem.objId,\n              label: subItem.annexa,\n              labelLower: subItem.annexa.toLowerCase(),\n              isLeaf: true,\n            };\n          }),\n        };\n      });\n      this.filteredOptions = this.options;\n    } else {\n      this.options = [];\n      this.filteredOptions = [];\n    }\n  }\n\n  // ---------- 移动端操作 ----------\n\n  openDrawer(): void {\n    if (this.disabled) return;\n    this.searchTerm = '';\n    this.searchChildrenTerm = '';\n    this.drawerOpen = true;\n    this.view = 'root';\n    this.activeParent = null;\n    this.filteredOptions = this.options;\n    this.filteredChildren = [];\n  }\n\n  closeDrawer() {\n    this.drawerOpen = false;\n  }\n\n  goBackMobile(): void {\n    this.view = 'root';\n    this.activeParent = null;\n    this.searchChildrenTerm = '';\n  }\n\n  selectLeafMobile(option: any, parent?: any) {\n    const parentVal = parent?.value ?? this.activeParent?.value ?? null;\n    const value = [String(parentVal), String(option.value)];\n    this.handleValueChange(value);\n    this.drawerOpen = false;\n    this.view = 'root';\n    this.activeParent = null;\n  }\n\n  openChildrenMobile(opt: any) {\n    if (!opt?.value) return;\n    this.view = 'children';\n    this.activeParent = opt;\n    this.filteredChildren = this.activeParent?.children || [];\n    this.value = [opt.value];\n  }\n\n  doMobileSearch(value: string): void {\n    const term = value?.trim().toLowerCase();\n\n    clearTimeout(this.searchTimer);\n\n    this.searchTimer = setTimeout(() => {\n      if (!term) {\n        // 恢复原数据\n        this.filteredOptions = this.options;\n        this.filteredChildren = this.activeParent?.children || [];\n        return;\n      }\n\n      if (this.view === 'root') {\n        this.filteredOptions = this.options.filter((opt: any) =>\n          opt.label.toLowerCase().includes(term),\n        );\n      } else {\n        this.filteredChildren = this.activeParent?.children.filter(\n          (child: any) => child.label.toLowerCase().includes(term),\n        );\n      }\n    }, 150);\n  }\n}\n","<app-rd-form-item\n  [type]=\"'select'\"\n  [label]=\"label\"\n  [disabled]=\"disabled\"\n  [focus]=\"!!searchInput || isFocus || isOpen\"\n  [value]=\"value && value?.length\"\n  [errorMessage]=\"showError ? currentErrorMessage : ''\"\n  [theme]=\"theme\"\n  (click)=\"openDrawer()\"\n  [ngClass]=\"{\n    'rd-cascader-overflow-container': isTextOverflow,\n    'rd-cascader-overflow-container-th': overflowLineCount >= 3,\n  }\"\n>\n  <div #cascaderContainer class=\"cascader-container\">\n    <nz-cascader\n      [nzOptions]=\"options\"\n      [(ngModel)]=\"value\"\n      [nzDisabled]=\"disabled\"\n      [nzShowSearch]=\"{ filter: cascaderSearchFn }\"\n      [nzAllowClear]=\"false\"\n      nzExpandTrigger=\"click\"\n      (ngModelChange)=\"handleValueChange($event)\"\n      [nzLabelRender]=\"renderTpl\"\n      [nzOptionRender]=\"optionTpl\"\n      [nzExpandIcon]=\"customExpandIcon\"\n      (nzVisibleChange)=\"onVisibleChange($event)\"\n      nzColumnClassName=\"rd-cascader-colum\"\n      class=\"rd-cascader\"\n      [ngClass]=\"{\n        'rd-cascader-disabled-open': isMobile,\n        'rd-cascader-is-text-overflow': isTextOverflow,\n      }\"\n    >\n    </nz-cascader>\n  </div>\n</app-rd-form-item>\n\n<nz-drawer\n  [nzVisible]=\"drawerOpen && isMobile\"\n  [nzPlacement]=\"'bottom'\"\n  [nzHeight]=\"'70vh'\"\n  [nzTitle]=\"''\"\n  [nzClosable]=\"false\"\n  [nzWrapClassName]=\"drawerWrapClassName\"\n  (nzOnClose)=\"closeDrawer()\"\n>\n  <div *nzDrawerContent>\n    <div class=\"cascader-drawer-header\">\n      <div class=\"header-title\">\n        {{ \"select_nature_of_business\" | translate }}\n        <div class=\"close-btn\" *ngIf=\"view === 'root'\" (click)=\"closeDrawer()\">\n          <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            width=\"24\"\n            height=\"24\"\n            viewBox=\"0 0 24 24\"\n            fill=\"none\"\n          >\n            <path\n              fill-rule=\"evenodd\"\n              clip-rule=\"evenodd\"\n              d=\"M4.46967 4.46967C4.76256 4.17678 5.23744 4.17678 5.53033 4.46967L12 10.9393L18.4697 4.46967C18.7626 4.17678 19.2374 4.17678 19.5303 4.46967C19.8232 4.76256 19.8232 5.23744 19.5303 5.53033L13.0607 12L19.5303 18.4697C19.8232 18.7626 19.8232 19.2374 19.5303 19.5303C19.2374 19.8232 18.7626 19.8232 18.4697 19.5303L12 13.0607L5.53033 19.5303C5.23744 19.8232 4.76256 19.8232 4.46967 19.5303C4.17678 19.2374 4.17678 18.7626 4.46967 18.4697L10.9393 12L4.46967 5.53033C4.17678 5.23744 4.17678 4.76256 4.46967 4.46967Z\"\n              fill=\"var(--rd-copy-primary)\"\n            />\n          </svg>\n        </div>\n      </div>\n\n      <nz-input-group\n        class=\"cascader-drawer-search\"\n        [nzPrefix]=\"prefixIconSearch\"\n        nzClearable\n        *ngIf=\"view === 'root'\"\n      >\n        <input\n          nz-input\n          [placeholder]=\"'search' | translate\"\n          [(ngModel)]=\"searchTerm\"\n          (ngModelChange)=\"doMobileSearch($event)\"\n        />\n      </nz-input-group>\n\n      <nz-input-group\n        *ngIf=\"view === 'children'\"\n        class=\"cascader-drawer-search\"\n        [nzPrefix]=\"prefixIconSearch\"\n        nzClearable\n      >\n        <input\n          nz-input\n          [placeholder]=\"'search' | translate\"\n          [(ngModel)]=\"searchChildrenTerm\"\n          (ngModelChange)=\"doMobileSearch($event)\"\n        />\n      </nz-input-group>\n\n      <div class=\"cascader-drawer-sub-header\" *ngIf=\"view === 'children'\">\n        <div class=\"back-btn\" (click)=\"goBackMobile()\">\n          <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            width=\"16\"\n            height=\"16\"\n            viewBox=\"0 0 16 16\"\n            fill=\"none\"\n          >\n            <path\n              fill-rule=\"evenodd\"\n              clip-rule=\"evenodd\"\n              d=\"M11.3422 2.18437C11.5626 2.4194 11.5507 2.78856 11.3156 3.0089L6.43623 7.58334L11.3156 12.1578C11.5507 12.3781 11.5626 12.7473 11.3422 12.9823C11.1219 13.2173 10.7527 13.2292 10.5177 13.0089L5.18437 8.0089C5.06674 7.89862 5 7.74457 5 7.58334C5 7.4221 5.06674 7.26805 5.18437 7.15777L10.5177 2.15777C10.7527 1.93743 11.1219 1.94934 11.3422 2.18437Z\"\n              fill=\"var(--rd-copy-primary)\"\n            />\n          </svg>\n        </div>\n        <div class=\"children-title\">{{ activeParent?.label }}</div>\n      </div>\n    </div>\n\n    <div *ngIf=\"view === 'root'\" class=\"cascader-drawer-list\">\n      <ng-container *ngIf=\"filteredOptions?.length\">\n        <div\n          *ngFor=\"let opt of filteredOptions\"\n          (click)=\"openChildrenMobile(opt)\"\n          class=\"cascader-drawer-option cascader-drawer-root-option\"\n          [ngClass]=\"{\n            'cascader-drawer-option-active': opt.value === value?.[0],\n          }\"\n        >\n          {{ opt.label }}\n          <ng-container *ngTemplateOutlet=\"customExpandIcon\"></ng-container>\n        </div>\n      </ng-container>\n    </div>\n\n    <div *ngIf=\"view === 'children'\" class=\"cascader-drawer-list\">\n      <ng-container *ngIf=\"filteredChildren?.length\">\n        <div\n          *ngFor=\"let child of filteredChildren\"\n          (click)=\"selectLeafMobile(child)\"\n          class=\"cascader-drawer-option cascader-drawer-children-option\"\n        >\n          <label\n            class=\"cascader-option-radio\"\n            nz-radio\n            [ngModel]=\"child.value === value?.[1]\"\n          ></label>\n          {{ child.label }}\n        </div>\n      </ng-container>\n    </div>\n  </div>\n</nz-drawer>\n\n<ng-template\n  #renderTpl\n  let-labels=\"labels\"\n  let-selectedOptions=\"selectedOptions\"\n>\n  <ng-container *ngFor=\"let label of labels; let last = last\">\n    <ng-container *ngIf=\"last\">\n      <span #valueText class=\"cascader-value-text\" [title]=\"label\">\n        {{ label }}\n      </span></ng-container\n    >\n  </ng-container>\n</ng-template>\n\n<ng-template #optionTpl let-option>\n  <div class=\"rd-cascader-menu-option\">\n    <label\n      *ngIf=\"option.isLeaf\"\n      class=\"cascader-option-radio\"\n      nz-radio\n      [ngModel]=\"option.value === value?.[1]\"\n    ></label\n    >{{ option.label }}\n  </div>\n</ng-template>\n\n<ng-template #customExpandIcon>\n  <svg\n    xmlns=\"http://www.w3.org/2000/svg\"\n    width=\"16\"\n    height=\"16\"\n    viewBox=\"0 0 16 16\"\n    fill=\"none\"\n  >\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M4.90777 2.60234C5.12811 2.36731 5.49727 2.3554 5.7323 2.57574L11.0656 7.57574C11.1833 7.68602 11.25 7.84007 11.25 8.0013C11.25 8.16254 11.1833 8.31659 11.0656 8.42687L5.7323 13.4269C5.49727 13.6472 5.12811 13.6353 4.90777 13.4003C4.68743 13.1652 4.69934 12.7961 4.93437 12.5757L9.81377 8.0013L4.93437 3.42687C4.69934 3.20652 4.68743 2.83737 4.90777 2.60234Z\"\n      fill=\"var(--rd-copy-primary)\"\n    />\n  </svg>\n</ng-template>\n\n<ng-template #prefixIconSearch>\n  <svg\n    xmlns=\"http://www.w3.org/2000/svg\"\n    width=\"16\"\n    height=\"16\"\n    viewBox=\"0 0 16 16\"\n    fill=\"none\"\n  >\n    <path\n      d=\"M14.4951 13.6948L11.3962 10.5959C12.3175 9.46902 12.7704 8.03122 12.6613 6.57983C12.5522 5.12844 11.8894 3.77451 10.81 2.79807C9.73066 1.82164 8.3173 1.29741 6.86227 1.33381C5.40723 1.37021 4.02185 1.96445 2.99266 2.99364C1.96348 4.02282 1.36923 5.4082 1.33283 6.86323C1.29643 8.31826 1.82066 9.73162 2.7971 10.811C3.77354 11.8903 5.12747 12.5531 6.57887 12.6622C8.03026 12.7713 9.46807 12.3184 10.5949 11.3972L13.6938 14.5032C13.8027 14.6073 13.9474 14.6656 14.098 14.6663C14.2105 14.6661 14.3204 14.6325 14.4138 14.5697C14.5071 14.5069 14.5796 14.4178 14.6222 14.3136C14.6648 14.2095 14.6754 14.0951 14.6528 13.9849C14.6302 13.8747 14.5753 13.7737 14.4951 13.6948ZM7.00667 11.5461C6.10905 11.5461 5.23158 11.2799 4.48523 10.7812C3.73889 10.2825 3.15718 9.57372 2.81367 8.74443C2.47017 7.91513 2.38029 7.0026 2.55541 6.12223C2.73053 5.24185 3.16277 4.43317 3.79749 3.79846C4.43221 3.16375 5.24088 2.7315 6.12126 2.55638C7.00164 2.38127 7.91417 2.47114 8.74347 2.81465C9.57277 3.15815 10.2816 3.73986 10.7803 4.4862C11.279 5.23255 11.5451 6.11001 11.5451 7.00763C11.5433 8.21073 11.0645 9.36402 10.2138 10.2147C9.36306 11.0655 8.20977 11.5442 7.00667 11.5461Z\"\n      fill=\"var(--rd-copy-primary)\"\n    />\n  </svg>\n</ng-template>\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NzCascaderModule } from \"ng-zorro-antd/cascader\";\nimport { NzDrawerModule } from \"ng-zorro-antd/drawer\";\nimport { NzInputModule } from \"ng-zorro-antd/input\";\nimport { NzListModule } from \"ng-zorro-antd/list\";\nimport { NzSpinModule } from \"ng-zorro-antd/spin\";\nimport { NzButtonModule } from \"ng-zorro-antd/button\";\n\nimport { IndustryCascaderComponent } from \"./industry-cascader.component\";\nimport { FormItemModule } from \"../../form-item/form-item.module\";\nimport { NzRadioModule } from \"ng-zorro-antd/radio\";\nimport { TranslateModule } from \"@ngx-translate/core\";\n\n@NgModule({\n  declarations: [IndustryCascaderComponent],\n  imports: [\n    CommonModule,\n    FormsModule,\n    NzCascaderModule,\n    NzDrawerModule,\n    NzInputModule,\n    NzListModule,\n    NzSpinModule,\n    NzButtonModule,\n    FormItemModule,\n    NzRadioModule,\n    TranslateModule.forChild(),\n  ],\n  exports: [IndustryCascaderComponent],\n})\nexport class IndustryCascaderModule {}\n","import { Component, Input } from '@angular/core';\nimport {\n  StatusDisplayConfig,\n  StatusGroupConfig,\n} from '../custom-filter/custom-filter.types';\n\n@Component({\n  selector: 'app-rd-status-field',\n  template: `\n    <div class=\"rd-status-field\" [ngClass]=\"size\">\n      <img\n        *ngIf=\"getStatusDisplay()?.icon\"\n        [src]=\"getStatusDisplay()['icon'] || ''\"\n        alt=\"\"\n      />\n      {{ getStatusDisplay()['text'] || '' }}\n    </div>\n  `,\n  styleUrls: ['./status-field.component.scss'],\n})\nexport class StatusFieldComponent {\n  @Input() status!: string | number;\n  @Input() text?: string;\n  @Input() size: 'default' | 'large' = 'default';\n  @Input() statusDisplayConfigs: StatusDisplayConfig[] = [];\n  @Input() statusGroupConfigs: StatusGroupConfig = {};\n  constructor() {}\n\n  getStatusDisplay(): { icon: string; text: string } {\n    // 1. 查找精确匹配的配置\n    const exactMatch = this.statusDisplayConfigs?.find(\n      (c) => c?.status === this.status\n    );\n    if (exactMatch) {\n      return {\n        icon: exactMatch?.icon,\n        text: exactMatch?.text || (this.status as string),\n      };\n    }\n\n    // 2. 查找分组匹配\n    for (const groupName in this.statusGroupConfigs) {\n      const group = this.statusGroupConfigs[groupName];\n      if (group?.match(this.status as string)) {\n        return {\n          icon: group?.icon,\n          text: this.status as string, // 或者可以配置默认文本\n        };\n      }\n    }\n\n    // 3. 默认返回\n    return {\n      icon: '',\n      text: this.status as string,\n    };\n  }\n}\n","import {\n  Component,\n  EventEmitter,\n  Input,\n  OnChanges,\n  Output,\n  SimpleChanges,\n} from '@angular/core';\nimport {\n  ICustomFilter,\n  StatusDisplayConfig,\n  StatusGroupConfig,\n} from '../custom-filter.types';\n\n@Component({\n  selector: 'app-rd-filter-select',\n  templateUrl: './custom-filter-select.component.html',\n  styleUrls: ['./custom-filter-select.component.scss'],\n})\nexport class RdFilterSelectComponent implements OnChanges {\n  @Input() item!: ICustomFilter;\n  @Output() handleChangeValue = new EventEmitter();\n  @Input() statusDisplayConfigs: StatusDisplayConfig[] = [];\n  @Input() statusGroupConfigs: StatusGroupConfig = {};\n  selectValue: string | number | Array<string | number> | null = null;\n\n  get mode() {\n    return this.item?.selectMode || 'multiple';\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes['item'].currentValue) {\n      if (!this.item.value) {\n        this.selectValue = null;\n      } else {\n        this.selectValue =\n          this.mode === 'multiple'\n            ? this.item?.value?.split(',')\n            : this.item.value;\n      }\n    }\n  }\n\n  ngOnInit(): void {\n    if (!this.item.value) return;\n    if (this.mode === 'multiple') {\n      this.selectValue = this.item?.value.split(',');\n    } else {\n      this.selectValue = this.item.value;\n    }\n  }\n\n  modelChange(event: string | string[]) {\n    if (this.mode === 'multiple') {\n      this.item.value = (event as string[]).join(',');\n    } else {\n      this.item.value = event as string;\n    }\n    this.handleChangeValue.emit(event);\n  }\n}\n","<nz-select\n  class=\"rd-custom-filter-select\"\n  [ngStyle]=\"{ 'min-width': item.minWidth ? item.minWidth : '132px' }\"\n  [nzPlaceHolder]=\"item.title\"\n  [nzShowArrow]=\"true\"\n  [nzMode]=\"mode\"\n  [nzAllowClear]=\"false\"\n  [nzDropdownClassName]=\"\n    mode === 'multiple'\n      ? 'rd-custom-multiple-filter-select-dropdown'\n      : 'rd-custom-filter-select-dropdown'\n  \"\n  [(ngModel)]=\"selectValue\"\n  [nzSuffixIcon]=\"customIcon\"\n  [nzRemoveIcon]=\"removeIcon\"\n  [nzOptionOverflowSize]=\"5\"\n  [nzOptionHeightPx]=\"40\"\n  [nzDropdownMatchSelectWidth]=\"false\"\n  (ngModelChange)=\"modelChange($event)\"\n  [nzCustomTemplate]=\"customTpl\"\n  [nzMaxTagCount]=\"3\"\n>\n  <nz-option\n    *ngFor=\"let option of item.options\"\n    [nzValue]=\"option.value\"\n    [nzLabel]=\"option.label\"\n    nzCustomContent\n  >\n    <app-rd-status-field\n      *ngIf=\"item.isStatusField; else defaultTpl\"\n      [status]=\"option.value\"\n      [statusGroupConfigs]=\"statusGroupConfigs\"\n      [statusDisplayConfigs]=\"statusDisplayConfigs\"\n    ></app-rd-status-field>\n    <ng-template #defaultTpl> {{ option.label }}</ng-template>\n  </nz-option>\n</nz-select>\n\n<ng-template #customIcon>\n  <svg\n    xmlns=\"http://www.w3.org/2000/svg\"\n    width=\"16\"\n    height=\"16\"\n    viewBox=\"0 0 16 16\"\n    fill=\"none\"\n  >\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n      fill=\"var(--rd-copy-primary)\"\n    />\n  </svg>\n</ng-template>\n\n<ng-template #removeIcon>\n  <!-- <svg\n    xmlns=\"http://www.w3.org/2000/svg\"\n    width=\"12\"\n    height=\"12\"\n    viewBox=\"0 0 12 12\"\n    fill=\"none\"\n  >\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M2.39645 2.39645C2.59171 2.20118 2.90829 2.20118 3.10355 2.39645L6 5.29289L8.89645 2.39645C9.09171 2.20118 9.40829 2.20118 9.60355 2.39645C9.79882 2.59171 9.79882 2.90829 9.60355 3.10355L6.70711 6L9.60355 8.89645C9.79882 9.09171 9.79882 9.40829 9.60355 9.60355C9.40829 9.79882 9.09171 9.79882 8.89645 9.60355L6 6.70711L3.10355 9.60355C2.90829 9.79882 2.59171 9.79882 2.39645 9.60355C2.20118 9.40829 2.20118 9.09171 2.39645 8.89645L5.29289 6L2.39645 3.10355C2.20118 2.90829 2.20118 2.59171 2.39645 2.39645Z\"\n      fill=\"var(--rd-copy-primary)\"\n    />\n  </svg> -->\n</ng-template>\n\n<ng-template #customTpl let-selected>\n  <!-- <app-status-field\n    *ngIf=\"item.isStatusField\"\n    [status]=\"selected.nzValue\"\n  ></app-status-field> -->\n  <ng-container>\n    {{ selected.nzLabel }}\n  </ng-container>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { StatusFieldComponent } from './status-field.component';\n\n@NgModule({\n  declarations: [StatusFieldComponent],\n  imports: [CommonModule],\n  exports: [StatusFieldComponent],\n})\nexport class RdStatusFieldModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { FormsModule } from '@angular/forms';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { RdFilterSelectComponent } from './custom-filter-select.component';\nimport { RdStatusFieldModule } from '../../status-field/status-field.module';\n\n@NgModule({\n  declarations: [RdFilterSelectComponent],\n  imports: [\n    CommonModule,\n    NzDatePickerModule,\n    NzDropDownModule,\n    NzSelectModule,\n    NzButtonModule,\n    NzInputModule,\n    FormsModule,\n    RdStatusFieldModule,\n  ],\n  exports: [RdFilterSelectComponent],\n})\nexport class RdFilterSelectModule {}\n","import { NzSelectModeType } from 'ng-zorro-antd/select';\n\nexport enum FilterTypeEnum {\n  input = 1,\n  select = 2,\n  date = 3,\n}\n\nexport interface ICustomFilter {\n  key: string;\n  title: string;\n  formType: FilterTypeEnum;\n  value: string;\n  options?: Array<{ label: string; value: string | number; icon?: string }>;\n  selectMode?: NzSelectModeType;\n  isStatusField?: boolean;\n  minWidth?: string;\n  statusGroupConfigs?: StatusGroupConfig;\n  statusDisplayConfigs?: StatusDisplayConfig[];\n}\n\nexport interface StatusGroupConfig {\n  [groupName: string]: {\n    icon: string;\n    match: (status: string | number) => boolean;\n  };\n}\n\nexport interface StatusDisplayConfig {\n  status: string | number;\n  icon: string;\n  text?: string;\n  group?: string;\n}\n","import {\n  Component,\n  EventEmitter,\n  Input,\n  OnChanges,\n  Output,\n  SimpleChanges,\n  ViewChild,\n} from '@angular/core';\nimport { NzDatePickerComponent } from 'ng-zorro-antd/date-picker';\nimport { formatDate } from '@angular/common';\nimport { differenceInCalendarDays } from 'date-fns';\nimport { ICustomFilter } from '../custom-filter.types';\n\n@Component({\n  selector: 'app-rd-filter-date',\n  templateUrl: './custom-filter-date.component.html',\n  styleUrls: ['./custom-filter-date.component.scss'],\n})\nexport class RdFilterDateComponent implements OnChanges {\n  @Input() item!: ICustomFilter & { value: any };\n  @ViewChild('datePicker') datePicker!: NzDatePickerComponent;\n  @Output() handleChangeValue = new EventEmitter();\n  isPickerOpen = false;\n\n  inputValue: Date[] = [];\n\n  disabledDate = (current: Date): boolean =>\n    differenceInCalendarDays(current, new Date()) > 0;\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes['item']?.currentValue) {\n      this.inputValue = this.item?.value ? this.item?.value.split(',') : [];\n    }\n  }\n\n  openPicker(): void {\n    if (this.isPickerOpen) {\n      return;\n    }\n    this.isPickerOpen = true;\n    this.datePicker?.open();\n  }\n\n  onDateChange(dates: Date[]): void {\n    if (!dates?.length && this.item) {\n      this.item.value = '';\n      return;\n    }\n    const startDate = formatDate(dates[0], 'yyyy-MM-dd', 'en');\n    const endDate = formatDate(dates[1], 'yyyy-MM-dd', 'en');\n    if (this.item) {\n      this.item.value = `${startDate},${endDate}`;\n    }\n    this.handleChangeValue.emit(this.inputValue);\n  }\n\n  onOpenChange(open: any): void {\n    setTimeout(() => {\n      this.isPickerOpen = open;\n    }, 0);\n  }\n}\n","<div\n  class=\"rd-date-picker-container\"\n  [ngClass]=\"{ 'rd-date-picker-focus': isPickerOpen }\"\n  *ngIf=\"item\"\n>\n  <nz-range-picker\n    [(ngModel)]=\"inputValue\"\n    (ngModelChange)=\"onDateChange($event)\"\n    (nzOnOpenChange)=\"onOpenChange($event)\"\n    [nzFormat]=\"'yyyy-MM-dd'\"\n    [nzShowTime]=\"false\"\n    [nzAllowClear]=\"false\"\n    [nzPlaceHolder]=\"['From', 'To']\"\n    class=\"rd-range-picker\"\n    [nzDisabledDate]=\"disabledDate\"\n    [nzSuffixIcon]=\"customIcon\"\n    [nzDropdownClassName]=\"'rd-date-picker-popup'\"\n    [nzSeparator]=\"'-'\"\n    nzSuffixIcon=\"\"\n    #datePicker\n    [ngClass]=\"{ 'rd-hidden-range-picker': !item.value?.length }\"\n  ></nz-range-picker>\n\n  <div\n    *ngIf=\"!item?.value?.length\"\n    class=\"rd-placeholder-box\"\n    [ngClass]=\"{ 'rd-placeholder-box-focus': isPickerOpen }\"\n    (click)=\"openPicker()\"\n  >\n    {{ item.title }}\n    <ng-container *ngTemplateOutlet=\"customIcon\"></ng-container>\n  </div>\n\n  <ng-template #customIcon>\n    <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      width=\"16\"\n      height=\"16\"\n      viewBox=\"0 0 16 16\"\n      fill=\"none\"\n    >\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n        fill=\"var(--rd-copy-primary)\"\n      />\n    </svg>\n  </ng-template>\n</div>\n","export default function debounce(delay: number = 300): MethodDecorator {\n  // @ts-ignore\n  return function (\n    _target: any,\n    _propertyKey: string,\n    descriptor: PropertyDescriptor\n  ) {\n    const timeoutKey = Symbol();\n\n    const original = descriptor.value;\n\n    descriptor.value = function (...args: any[]) {\n      // @ts-ignore\n      clearTimeout(this[timeoutKey]);\n      // @ts-ignore\n      this[timeoutKey] = setTimeout(() => original.apply(this, args), delay);\n    };\n\n    return descriptor;\n  };\n}\n","import {\n  Component,\n  EventEmitter,\n  Input,\n  OnChanges,\n  Output,\n  SimpleChanges,\n} from '@angular/core';\nimport { ICustomFilter } from '../custom-filter.types';\nimport debounce from '../../../utils/debounce';\n\n@Component({\n  selector: 'app-rd-filter-input',\n  templateUrl: './custom-filter-input.component.html',\n  styleUrls: ['./custom-filter-input.component.scss'],\n})\nexport class RdFilterInputComponent implements OnChanges {\n  @Input() item!: ICustomFilter;\n  @Output() handleChangeValue = new EventEmitter();\n  inputValue: string = '';\n\n  ngOnInit(): void {\n    this.inputValue = this.item.value;\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes['item']?.currentValue) {\n      this.inputValue = this.item.value;\n    }\n  }\n\n  @debounce()\n  handleValueChange(e: string) {\n    this.handleChangeValue.emit(e);\n  }\n}\n","<div\n  class=\"rd-input-container\"\n  [ngStyle]=\"{ 'min-width': item.minWidth ? item.minWidth : '150px' }\"\n>\n  <nz-input-group [nzPrefix]=\"prefixIconSearch\">\n    <input\n      type=\"text\"\n      nz-input\n      [placeholder]=\"item.title\"\n      [(ngModel)]=\"item.value\"\n      (ngModelChange)=\"handleValueChange($event)\"\n    />\n  </nz-input-group>\n</div>\n\n<ng-template #prefixIconSearch>\n  <svg\n    width=\"16\"\n    height=\"16\"\n    viewBox=\"0 0 16 16\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      d=\"M14.4951 13.6938L11.3962 10.5949C12.3175 9.46805 12.7704 8.03024 12.6613 6.57885C12.5522 5.12746 11.8894 3.77353 10.81 2.7971C9.73066 1.82066 8.3173 1.29643 6.86227 1.33283C5.40723 1.36923 4.02185 1.96348 2.99266 2.99266C1.96348 4.02184 1.36923 5.40722 1.33283 6.86225C1.29643 8.31728 1.82066 9.73064 2.7971 10.81C3.77354 11.8894 5.12747 12.5521 6.57887 12.6612C8.03026 12.7703 9.46807 12.3174 10.5949 11.3962L13.6938 14.5022C13.8027 14.6063 13.9474 14.6647 14.098 14.6653C14.2105 14.6651 14.3204 14.6315 14.4138 14.5687C14.5071 14.5059 14.5796 14.4168 14.6222 14.3126C14.6648 14.2085 14.6754 14.0941 14.6528 13.9839C14.6302 13.8737 14.5753 13.7727 14.4951 13.6938ZM7.00667 11.5451C6.10905 11.5451 5.23158 11.2789 4.48523 10.7802C3.73889 10.2816 3.15718 9.57274 2.81367 8.74345C2.47017 7.91416 2.38029 7.00162 2.55541 6.12125C2.73053 5.24087 3.16277 4.4322 3.79749 3.79748C4.43221 3.16277 5.24088 2.73052 6.12126 2.55541C7.00164 2.38029 7.91417 2.47017 8.74347 2.81367C9.57277 3.15718 10.2816 3.73888 10.7803 4.48523C11.279 5.23157 11.5451 6.10904 11.5451 7.00666C11.5433 8.20976 11.0645 9.36304 10.2138 10.2138C9.36306 11.0645 8.20977 11.5432 7.00667 11.5451Z\"\n      fill=\"var(--rd-copy-primary)\"\n    />\n  </svg>\n</ng-template>\n","import {\n  ChangeDetectorRef,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n} from '@angular/core';\nimport {\n  FilterTypeEnum,\n  ICustomFilter,\n  StatusDisplayConfig,\n  StatusGroupConfig,\n} from './custom-filter.types';\nimport { getTranslation } from '../../utils/form-vaild-lang';\n\n@Component({\n  selector: 'app-rd-filter',\n  templateUrl: './custom-filter.component.html',\n  styleUrls: [\n    './custom-filter.component.scss',\n    '../../assets/scss/form-item.scss',\n  ],\n})\nexport class RdFilterComponent {\n  @Input() lang = 'en';\n  @Input() filterArr: ICustomFilter[] = [];\n  // @Output() filterArrChange = new EventEmitter<ICustomFilter[]>();\n  @Output() defSearchChange = new EventEmitter<string>();\n  @Output() clearFilter = new EventEmitter();\n  @Input() statusDisplayConfigs: StatusDisplayConfig[] = [];\n  @Input() statusGroupConfigs: StatusGroupConfig = {};\n  @Input() clearText?: string;\n  filterTypeEnum = FilterTypeEnum;\n\n  get isClearAble() {\n    return this.filterArr.findIndex((item) => !!item.value) > -1;\n  }\n\n  constructor(private cdf: ChangeDetectorRef) {}\n\n  handleChangeValue(value: any) {\n    this.defSearchChange.emit();\n  }\n\n  clear() {\n    this.filterArr.forEach((item) => (item.value = ''));\n    this.clearFilter.emit();\n  }\n\n  getClearTrans() {\n    return getTranslation(this.lang, 'clearFilter');\n  }\n}\n","<div class=\"rd-custom-filter-wrap\" *ngIf=\"filterArr?.length\">\n  <ng-container *ngFor=\"let item of filterArr\">\n    <ng-container [ngSwitch]=\"item.formType\">\n      <app-rd-filter-date\n        *ngSwitchCase=\"filterTypeEnum.date\"\n        [item]=\"item\"\n        (handleChangeValue)=\"handleChangeValue($event)\"\n      >\n      </app-rd-filter-date>\n      <app-rd-filter-select\n        *ngSwitchCase=\"filterTypeEnum.select\"\n        [item]=\"item\"\n        [statusGroupConfigs]=\"statusGroupConfigs\"\n        [statusDisplayConfigs]=\"statusDisplayConfigs\"\n        (handleChangeValue)=\"handleChangeValue($event)\"\n      ></app-rd-filter-select>\n      <app-rd-filter-input\n        *ngSwitchCase=\"filterTypeEnum.input\"\n        [item]=\"item\"\n        (handleChangeValue)=\"handleChangeValue($event)\"\n      ></app-rd-filter-input>\n    </ng-container>\n  </ng-container>\n  <button\n    [disabled]=\"!isClearAble\"\n    (click)=\"clear()\"\n    class=\"rd-custom-filter-clear\"\n    nz-button\n    nzType=\"link\"\n  >\n    {{ getClearTrans() }}\n  </button>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { FormsModule } from '@angular/forms';\nimport { RdFilterComponent } from './custom-filter.component';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { RdStatusFieldModule } from '../status-field/status-field.module';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { RdFilterDateComponent } from './custom-filter-date/custom-filter-date.component';\nimport { RdFilterInputComponent } from './custom-filter-input/custom-filter-input.component';\nimport { RdFilterSelectModule } from './custom-filter-select/custom-filter-select.module';\n\n@NgModule({\n  declarations: [\n    RdFilterComponent,\n    RdFilterDateComponent,\n    RdFilterInputComponent,\n  ],\n  imports: [\n    CommonModule,\n    NzDatePickerModule,\n    NzDropDownModule,\n    NzSelectModule,\n    NzButtonModule,\n    NzInputModule,\n    FormsModule,\n    RdStatusFieldModule,\n    RdFilterSelectModule,\n  ],\n  exports: [RdFilterComponent],\n})\nexport class RdFilterModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n  selector: 'app-rd-pagination',\n  templateUrl: './paginator.component.html',\n  styleUrls: ['./paginator.component.scss'],\n})\nexport class CustomPaginatorComponent {\n  @Input() lang = 'en';\n  @Input() pageIndex = 0;\n  @Input() pageSize = 0;\n  @Input() currentTotalSize = 0;\n  @Input() totalSize = 0;\n  @Input() specilMargin = 12;\n  @Input() showLeftPageDorp = true;\n  @Input() isWhiteBg = false;\n  @Input() totalItemsText?: string;\n  @Input() pageText?: string;\n  @Output() readonly changePageSize: EventEmitter<any> = new EventEmitter();\n  @Output() readonly changePageIndex: EventEmitter<any> = new EventEmitter();\n  constructor() {}\n\n  nzPageSizeChange(e: any) {\n    this.changePageSize.emit(e);\n  }\n  nzPageIndexChange(e: any) {\n    this.changePageIndex.emit(e);\n  }\n}\n","<div *ngIf=\"currentTotalSize > 0\" class=\"pagination-div\" nz-row>\n  <div class=\"pagination-total\">\n    <ng-container *ngIf=\"lang === 'en'\">\n      {{ \"Total \" + totalSize + \" items\" }}\n    </ng-container>\n    <ng-container *ngIf=\"lang === 'zh'\">\n      {{ \"共 \" + totalSize + \" 項\" }}\n    </ng-container>\n  </div>\n  <div class=\"pagination-cnt\" *ngIf=\"totalSize > 10\">\n    <nz-pagination\n      [nzTotal]=\"totalSize\"\n      [nzPageIndex]=\"pageIndex\"\n      [nzPageSize]=\"pageSize\"\n      (nzPageIndexChange)=\"nzPageIndexChange($event)\"\n    ></nz-pagination>\n  </div>\n  <div\n    *ngIf=\"totalSize > 0 && totalSize > 10 && showLeftPageDorp\"\n    class=\"pagination-select\"\n  >\n    <nz-select\n      [(ngModel)]=\"pageSize\"\n      class=\"pagination-select-size\"\n      (ngModelChange)=\"nzPageSizeChange(pageSize)\"\n      [nzDropdownClassName]=\"'paginator-select'\"\n    >\n      <nz-option [nzValue]=\"10\" nzLabel=\"10\"></nz-option>\n      <nz-option [nzValue]=\"25\" nzLabel=\"25\"></nz-option>\n      <nz-option [nzValue]=\"50\" nzLabel=\"50\"></nz-option>\n      <nz-option [nzValue]=\"100\" nzLabel=\"100\"></nz-option>\n    </nz-select>\n    <span class=\"page-text\"\n      >/\n      <ng-container *ngIf=\"lang === 'en'\"> Page </ng-container>\n      <ng-container *ngIf=\"lang === 'zh'\"> 頁面 </ng-container>\n    </span>\n  </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzPaginationModule } from 'ng-zorro-antd/pagination';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { CustomPaginatorComponent } from './paginator.component';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\n\nconst COMPONENTS = [CustomPaginatorComponent];\n\n@NgModule({\n  imports: [\n    CommonModule,\n    NzSelectModule,\n    ReactiveFormsModule,\n    FormsModule,\n    NzPaginationModule,\n    NzGridModule,\n  ],\n  declarations: COMPONENTS,\n  exports: COMPONENTS,\n})\nexport class RdPaginatorModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n  selector: 'app-rd-header-step',\n  templateUrl: './header-step.component.html',\n  styleUrls: ['./header-step.component.scss'],\n})\nexport class HeaderStepComponent {\n  @Input() step: number = 1;\n  @Input() stepArr: string[] = [];\n  @Input() disableReturn = false;\n  @Output() stepChange = new EventEmitter<number>();\n  @Output() onClose = new EventEmitter();\n\n  onClickBack() {\n    if (this.step <= 1) {\n      return;\n    }\n    this.stepChange.emit(this.step - 1);\n  }\n\n  onClickStep(step: number) {\n    if (step >= this.step || this.disableReturn) {\n      return;\n    }\n    this.stepChange.emit(step);\n  }\n\n  close() {\n    this.onClose.emit();\n  }\n}\n","<div class=\"rd-header-step\">\n  <div>\n    <div\n      class=\"rd-header-step-back\"\n      *ngIf=\"!disableReturn && step > 1\"\n      (click)=\"onClickBack()\"\n    >\n      <svg\n        width=\"24\"\n        height=\"24\"\n        viewBox=\"0 0 24 24\"\n        fill=\"none\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n      >\n        <g id=\"Back\">\n          <path\n            id=\"Vector\"\n            d=\"M16 3L8 12L16 21\"\n            stroke=\"var(--rd-copy-primary)\"\n            stroke-width=\"1.5\"\n            stroke-linecap=\"round\"\n            stroke-linejoin=\"round\"\n          />\n        </g>\n      </svg>\n    </div>\n  </div>\n  <div class=\"rd-header-step-title\">\n    <ng-container *ngFor=\"let stepTitle of stepArr; let i = index\">\n      <svg\n        *ngIf=\"i !== 0\"\n        width=\"17\"\n        height=\"16\"\n        viewBox=\"0 0 17 16\"\n        fill=\"none\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n      >\n        <path\n          [attr.fill]=\"step === i + 1 ? 'var(--rd-copy-primary)' : 'var(--rd-copy-disable)'\"\n          fill-rule=\"evenodd\"\n          clip-rule=\"evenodd\"\n          d=\"M5.40777 2.60136C5.62811 2.36633 5.99727 2.35442 6.2323 2.57476L11.5656 7.57476C11.6833 7.68504 11.75 7.83909 11.75 8.00033C11.75 8.16157 11.6833 8.31561 11.5656 8.42589L6.2323 13.4259C5.99727 13.6462 5.62811 13.6343 5.40777 13.3993C5.18743 13.1643 5.19934 12.7951 5.43437 12.5748L10.3138 8.00033L5.43437 3.42589C5.19934 3.20555 5.18743 2.83639 5.40777 2.60136Z\"\n        />\n      </svg>\n      <span\n        class=\"rd-header-step-index\"\n        [ngClass]=\"{\n          active: step === i + 1,\n          'cusor-pointer': step > i + 1 && !disableReturn\n        }\"\n        (click)=\"onClickStep(i + 1)\"\n      >\n        {{ stepTitle }}\n      </span>\n    </ng-container>\n  </div>\n\n  <div class=\"rd-header-step-close\" (click)=\"close()\">\n    <svg\n      width=\"24\"\n      height=\"24\"\n      viewBox=\"0 0 24 24\"\n      fill=\"none\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n    >\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M4.46967 4.46967C4.76256 4.17678 5.23744 4.17678 5.53033 4.46967L12 10.9393L18.4697 4.46967C18.7626 4.17678 19.2374 4.17678 19.5303 4.46967C19.8232 4.76256 19.8232 5.23744 19.5303 5.53033L13.0607 12L19.5303 18.4697C19.8232 18.7626 19.8232 19.2374 19.5303 19.5303C19.2374 19.8232 18.7626 19.8232 18.4697 19.5303L12 13.0607L5.53033 19.5303C5.23744 19.8232 4.76256 19.8232 4.46967 19.5303C4.17678 19.2374 4.17678 18.7626 4.46967 18.4697L10.9393 12L4.46967 5.53033C4.17678 5.23744 4.17678 4.76256 4.46967 4.46967Z\"\n        fill=\"var(--rd-copy-primary)\"\n      />\n    </svg>\n  </div>\n</div>\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { HeaderStepComponent } from \"./header-step.component\";\n\n@NgModule({\n  declarations: [HeaderStepComponent],\n  imports: [CommonModule],\n  exports: [HeaderStepComponent],\n})\nexport class RdHeaderStepModule {}\n","// notification.component.ts\nimport { Component, TemplateRef, ViewChild, OnDestroy } from '@angular/core';\nimport {\n  NzNotificationRef,\n  NzNotificationService,\n} from 'ng-zorro-antd/notification';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { IData } from './notification.service';\n\nconst borderColorMap: Record<string, string> = {\n  success: 'var(--rd-green-200)',\n  warn: 'var(--rd-yellow-100)',\n  error: 'var(--rd-toast-fg-danger)',\n};\n\n@Component({\n  selector: 'app-rd-notification',\n  templateUrl: './notification.component.html',\n  styleUrls: ['./notification.component.scss'],\n})\nexport class RdNotificationComponent implements OnDestroy {\n  @ViewChild('notificationTpl', { static: true })\n  private notificationTpl!: TemplateRef<any>;\n\n  @ViewChild('closeTpl', { static: true })\n  private closeTpl!: TemplateRef<any>;\n\n  private notifications = new Map<string, NzNotificationRef>();\n\n  constructor(\n    private notificationService: NzNotificationService,\n    private sanitizer: DomSanitizer\n  ) {}\n\n  showNotification(data: IData) {\n    const notificationId = this.generateId();\n\n    const notification = this.notificationService.template(\n      this.notificationTpl,\n      {\n        nzData: data,\n        nzDuration: data.duration || 8 * 1000,\n        nzStyle: {\n          borderRadius: '4px',\n          border: `1px solid  ${borderColorMap[data?.type] || 'var(--rd-grey-200)'}`,\n          boxShadow: '0px 8px 16px 0px rgba(31, 41, 55, 0.08)',\n          display: 'flex',\n          padding: '0',\n          width: '320px',\n          marginTop: '-1px',\n        },\n        nzClass: 'custom-wallet-notification',\n        nzCloseIcon: this.closeTpl,\n        nzKey: notificationId, // 添加唯一 key\n      }\n    );\n\n    this.notifications.set(notificationId, notification);\n\n    // 自动清理\n    setTimeout(() => {\n      this.notifications.delete(notificationId);\n    }, data.duration || 8000);\n  }\n\n  getDesc(desc: string) {\n    return this.sanitizer.bypassSecurityTrustHtml(desc);\n  }\n\n  onClick(data: IData) {\n    if (data.onLinkClick) {\n      data.onLinkClick();\n    }\n  }\n\n  private generateId(): string {\n    return `rd-notification-${Date.now()}-${Math.random()\n      .toString(36)\n      .substr(2, 9)}`;\n  }\n\n  ngOnDestroy(): void {\n    // 清理所有通知\n    this.notifications.forEach((notification, id) => {\n      this.notificationService.remove(id);\n    });\n    this.notifications.clear();\n  }\n}\n","<ng-template #notificationTpl let-data=\"data\">\n  <div class=\"rd-custom-notification\"></div>\n  <div\n    class=\"rd-custom-notification-icon\"\n    [class]=\"\n      data.type === 'warn'\n        ? 'rd-custom-warn-background'\n        : data.type === 'error'\n        ? 'rd-custom-error-background'\n        : ''\n    \"\n  >\n    <img\n      [hidden]=\"data.type !== 'success'\"\n      src=\"assets/img/icon/success-tip.svg\"\n    />\n    <img [hidden]=\"data.type !== 'warn'\" src=\"assets/img/icon/warm-tip.svg\" />\n    <img [hidden]=\"data.type !== 'error'\" src=\"assets/img/icon/error-tip.svg\" />\n  </div>\n  <div class=\"rd-custom-notification-container\">\n    <div class=\"rd-custom-notification-title\">{{ data.title }}</div>\n    <div\n      class=\"rd-custom-notification-desc\"\n      [innerHTML]=\"getDesc(data.desc)\"\n    ></div>\n    <div\n      *ngIf=\"data.actionDesc\"\n      class=\"rd-custom-notification-link\"\n      (click)=\"onClick(data)\"\n    >\n      {{ data.actionDesc }}\n    </div>\n  </div>\n</ng-template>\n\n<ng-template #closeTpl>\n  <div class=\"rd-custom-notification-close\">\n    <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      width=\"16\"\n      height=\"16\"\n      viewBox=\"0 0 16 16\"\n      fill=\"none\"\n    >\n      <path\n        d=\"M3.40039 3.3999L8.00039 7.9999M12.6004 12.5999L8.00039 7.9999M8.00039 7.9999L12.6004 3.3999L3.40039 12.5999\"\n        stroke=\"var(--rd-copy-primary)\"\n        stroke-width=\"1.36\"\n        stroke-linecap=\"round\"\n        stroke-linejoin=\"round\"\n      />\n    </svg>\n  </div>\n</ng-template>\n","// notification.service.ts\nimport {\n  Injectable,\n  Injector,\n  OnDestroy,\n  EnvironmentInjector,\n} from '@angular/core';\nimport { ComponentRef, createComponent, EmbeddedViewRef } from '@angular/core';\nimport { RdNotificationComponent } from './notification.component';\n\nexport interface IData {\n  title?: string;\n  desc?: string;\n  actionDesc?: string;\n  duration?: number;\n  type: 'success' | 'warn' | 'error';\n  onLinkClick?: () => void;\n}\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class RdNotificationService implements OnDestroy {\n  private static instance: RdNotificationService | null = null;\n  private notificationComponentRef?: ComponentRef<RdNotificationComponent>;\n  private isCreating = false;\n\n  constructor(\n    private injector: Injector,\n    private environmentInjector: EnvironmentInjector // 添加 EnvironmentInjector\n  ) {\n    // 防止重复实例化\n    if (RdNotificationService.instance) {\n      return RdNotificationService.instance;\n    }\n    RdNotificationService.instance = this;\n  }\n\n  private ensureComponentCreated(): Promise<void> {\n    return new Promise((resolve) => {\n      if (this.notificationComponentRef) {\n        resolve();\n        return;\n      }\n\n      if (this.isCreating) {\n        // 如果正在创建，等待创建完成\n        const checkInterval = setInterval(() => {\n          if (this.notificationComponentRef && !this.isCreating) {\n            clearInterval(checkInterval);\n            resolve();\n          }\n        }, 10);\n        return;\n      }\n\n      this.isCreating = true;\n\n      try {\n        // 使用 setTimeout 避免在 Angular 生命周期内创建组件\n        setTimeout(() => {\n          // Angular 15+ 的正确用法\n          this.notificationComponentRef = createComponent(\n            RdNotificationComponent,\n            {\n              environmentInjector: this.environmentInjector, // 必需参数\n              elementInjector: this.injector,\n            }\n          );\n\n          const hostView = this.notificationComponentRef\n            .hostView as EmbeddedViewRef<any>;\n          const rootNode = hostView.rootNodes[0];\n\n          if (document.body) {\n            document.body.appendChild(rootNode);\n          } else {\n            // 如果 document.body 还不存在，等待 DOM 准备就绪\n            document.addEventListener('DOMContentLoaded', () => {\n              document.body.appendChild(rootNode);\n            });\n          }\n\n          this.notificationComponentRef.changeDetectorRef.detectChanges();\n          this.isCreating = false;\n          resolve();\n        });\n      } catch (error) {\n        console.error('Failed to create notification component:', error);\n        this.isCreating = false;\n        resolve();\n      }\n    });\n  }\n\n  async show(data: IData): Promise<void> {\n    await this.ensureComponentCreated();\n\n    if (this.notificationComponentRef?.instance) {\n      // 使用 setTimeout 确保在下一个 Angular 周期执行\n      setTimeout(() => {\n        this.notificationComponentRef!.instance.showNotification(data);\n      });\n    }\n  }\n\n  ngOnDestroy(): void {\n    if (this.notificationComponentRef) {\n      this.notificationComponentRef.destroy();\n      this.notificationComponentRef = undefined;\n    }\n    RdNotificationService.instance = null;\n  }\n\n  // 静态方法用于快速访问\n  static show(data: IData): void {\n    setTimeout(() => {\n      const instance = this.getInstance();\n      if (instance) {\n        instance.show(data);\n      }\n    });\n  }\n\n  private static getInstance(): RdNotificationService | null {\n    return this.instance;\n  }\n}\n","// notification.module.ts (在 NPM 包中)\nimport {\n  NgModule,\n  Optional,\n  SkipSelf,\n  ModuleWithProviders,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NzNotificationModule } from 'ng-zorro-antd/notification';\n\nimport { RdNotificationComponent } from './notification.component';\nimport { RdNotificationService } from './notification.service';\n\n// 添加配置接口\nexport interface RdNotificationConfig {\n  // 可以添加配置选项，比如默认持续时间等\n  defaultDuration?: number;\n  maxStack?: number;\n}\n\n@NgModule({\n  imports: [CommonModule, NzNotificationModule],\n  declarations: [RdNotificationComponent],\n  exports: [RdNotificationComponent],\n})\nexport class RdNotificationModule {\n  constructor(@Optional() @SkipSelf() parentModule?: RdNotificationModule) {\n    if (parentModule) {\n      throw new Error(\n        'RdNotificationModule is already loaded. Import it in the AppModule only'\n      );\n    }\n  }\n\n  // 修复：使用正确的类型和静态方法\n  static forRoot(\n    config?: RdNotificationConfig\n  ): ModuleWithProviders<RdNotificationModule> {\n    return {\n      ngModule: RdNotificationModule,\n      providers: [\n        RdNotificationService,\n        // 如果有配置，可以在这里提供\n        config ? { provide: 'RD_NOTIFICATION_CONFIG', useValue: config } : [],\n      ],\n    };\n  }\n}\n","import { NzTableQueryParams } from 'ng-zorro-antd/table';\nimport { Subject } from 'rxjs';\nimport {\n  IFilterItem,\n  IPage,\n  ISearchParams,\n  ISearchSortedItem,\n  IStorageOption,\n} from './task-base.type';\nimport { ICustomFilter } from '../custom-filter';\n\nexport abstract class SearchListBaseComponent {\n  public defSearch = '';\n  public isFilter = false;\n  public searchTerms = new Subject<ISearchParams>();\n  public defSearchKey = 'defSearch';\n\n  public filterArr: ICustomFilter[] = [];\n\n  public paginationParams: IPage = {\n    pageSize: 10,\n    pageNumber: 1,\n    totalRecords: 0,\n    totalPages: 0,\n  };\n\n  public currentSorters: ISearchSortedItem[] = [];\n\n  constructor(\n    public searchStorageKey: string = '',\n    public isOutDatePicker = false\n  ) {}\n\n  public getSortedParam() {\n    return this.currentSorters;\n  }\n\n  public handleRestoreLastRequest(): IStorageOption[] {\n    const searchParams = sessionStorage.getItem(this.searchStorageKey);\n    if (searchParams) {\n      let advancedFilterArr = JSON.parse(searchParams);\n      this.defSearch = advancedFilterArr.find(\n        (item: { key: string }) => item.key === this.defSearchKey\n      )?.value;\n      this.paginationParams.pageNumber = advancedFilterArr.find(\n        (item: { key: string }) => item.key === 'pageNumber'\n      )?.value;\n      this.paginationParams.pageSize = advancedFilterArr.find(\n        (item: { key: string }) => item.key === 'pageSize'\n      )?.value;\n      if (advancedFilterArr.length >= 4) {\n        this.isFilter = true;\n        advancedFilterArr.forEach((storage: { key: string; value: any }) => {\n          this.filterArr.forEach((item) => {\n            if (item.key === storage.key) {\n              item.value = storage.value;\n            }\n          });\n        });\n      }\n      return advancedFilterArr;\n    }\n    return [];\n  }\n\n  public handleAdvancedFilterArrStorage(storageArr: IStorageOption[] = []) {\n    this.filterArr.forEach((item) => {\n      if (item.value) {\n        storageArr.push({ key: item.key, value: item.value });\n      }\n    });\n    storageArr.push({ key: this.defSearchKey, value: this.defSearch || '' });\n    storageArr.push({\n      key: 'pageNumber',\n      value: this.paginationParams.pageNumber,\n    });\n    storageArr.push({ key: 'pageSize', value: this.paginationParams.pageSize });\n    sessionStorage.setItem(this.searchStorageKey, JSON.stringify(storageArr));\n  }\n\n  public filterSearchChange() {\n    this.searchTerms.next({\n      page: this.paginationParams.pageNumber,\n      pageSize: this.paginationParams.pageSize,\n      filtered: this.getFilterParam(),\n      sorted: this.currentSorters,\n    });\n  }\n\n  public nzPageSizeChange(size: number) {\n    this.paginationParams.pageNumber = 1;\n    this.paginationParams.pageSize = size;\n    this.filterSearchChange();\n  }\n\n  public nzPageIndexChange(index: number) {\n    this.paginationParams.pageNumber = index;\n    this.filterSearchChange();\n  }\n\n  public onQueryParamsChange(params: NzTableQueryParams) {\n    this.currentSorters = params.sort\n      .filter((item) => item.value)\n      .map((item) => ({\n        id: item.key,\n        desc: item.value === 'descend' ? true : false,\n      }));\n    this.searchTerms.next({\n      page: this.paginationParams.pageNumber,\n      pageSize: this.paginationParams.pageSize,\n      filtered: this.getFilterParam(),\n      sorted: this.currentSorters,\n    });\n  }\n\n  public defSearchChange(keyword: string = '') {\n    this.defSearch = keyword;\n    this.paginationParams.pageNumber = 1;\n    this.filterSearchChange();\n  }\n\n  public refreshPage() {\n    this.nzPageIndexChange(1);\n  }\n\n  protected abstract getFilterParam(): IFilterItem[];\n}\n","import {\n  Component,\n  Input,\n  ElementRef,\n  AfterViewInit,\n  OnDestroy,\n  OnChanges,\n  SimpleChanges,\n  ViewChild,\n} from '@angular/core';\nimport lottie, { AnimationItem } from 'lottie-web';\n\n// 直接导入 JSON 文件\nimport OPLoading from './OPLoading.json';\n\n// 传进来的size需要*0.173倍，因为loading.json原始图比较大，scale才没有锯齿\n@Component({\n  selector: 'app-rd-loading',\n  template: `\n    <div\n      #lottieContainer\n      [style.width]=\"size + 'px'\"\n      [style.height]=\"size + 'px'\"\n      [style.transform]=\"'scale(0.173)'\"\n      [class]=\"containerClass\"\n      [style.margin]=\"margin\"\n    ></div>\n  `,\n  styles: [\n    `\n      :host {\n        position: absolute;\n        display: flex;\n        justify-content: center;\n        align-items: center;\n        top: 0;\n        left: 0;\n        bottom: 0;\n        right: 0;\n      }\n      .lottie-loading-container {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n      }\n      .inline-loading {\n        display: inline-flex;\n        vertical-align: middle;\n      }\n    `,\n  ],\n})\nexport class RdLoadingComponent implements AfterViewInit, OnDestroy, OnChanges {\n  @ViewChild('lottieContainer', { static: true }) lottieContainer!: ElementRef;\n\n  /**\n   * 动画容器尺寸（px）。\n   *\n   * **注意**：OPLoading.json 原始尺寸为 368×368，模板内通过 `scale(0.17)` 缩放以消除锯齿。\n   * 实际显示尺寸 = `size × 0.173`。\n   *\n   * @example\n   * // 默认 ≈ 64px\n   * <app-rd-loading></app-rd-loading>\n   *\n   * // ≈ 40px\n   * <app-rd-loading [size]=\"235\"></app-rd-loading>\n   */\n  @Input() size: number = 368; // 默认大小\n  @Input() loop: boolean = true; // 是否循环\n  @Input() autoplay: boolean = true; // 是否自动播放\n  @Input() speed: number = 1; // 播放速度\n  @Input() margin: string = '0'; // 外边距\n\n  // 样式类名\n  @Input() containerClass: string = 'lottie-loading-container';\n\n  // 备用动画数据（如果需要覆盖默认动画）\n  @Input() customAnimationData?: any;\n\n  private animation: AnimationItem | null = null;\n\n  // 使用内置的 OPLoading 动画数据\n  private get animationData(): any {\n    return this.customAnimationData || OPLoading;\n  }\n\n  ngAfterViewInit(): void {\n    this.loadAnimation();\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    // 如果大小、自定义动画数据发生变化，重新加载动画\n    if (\n      (changes['size'] || changes['customAnimationData']) &&\n      this.lottieContainer\n    ) {\n      this.reloadAnimation();\n    }\n\n    // 如果速度发生变化，更新动画速度\n    if (changes['speed'] && this.animation) {\n      this.animation.setSpeed(this.speed);\n    }\n\n    // 如果自动播放状态变化\n    if (changes['autoplay'] && this.animation) {\n      if (this.autoplay) {\n        this.animation.play();\n      } else {\n        this.animation.pause();\n      }\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.destroyAnimation();\n  }\n\n  private loadAnimation(): void {\n    this.destroyAnimation();\n\n    const container = this.lottieContainer.nativeElement;\n\n    const options = {\n      container: container,\n      renderer: 'svg' as const,\n      loop: this.loop,\n      autoplay: this.autoplay,\n      animationData: this.animationData,\n      rendererSettings: {\n        preserveAspectRatio: 'xMidYMid meet',\n        progressiveLoad: true,\n        hideOnTransparent: true,\n      },\n    };\n\n    try {\n      this.animation = lottie.loadAnimation(options);\n      this.animation.setSpeed(this.speed);\n\n      // 监听动画加载完成事件\n      this.animation.addEventListener('DOMLoaded', () => {});\n    } catch (error) {}\n  }\n\n  private reloadAnimation(): void {\n    // 使用 setTimeout 确保在下一个周期执行，避免 ExpressionChangedAfterItHasBeenCheckedError\n    setTimeout(() => {\n      this.loadAnimation();\n    });\n  }\n\n  private destroyAnimation(): void {\n    if (this.animation) {\n      this.animation.destroy();\n      this.animation = null;\n    }\n  }\n\n  // ========== 公共方法 ==========\n\n  /** 停止动画 */\n  stop(): void {\n    if (this.animation) {\n      this.animation.stop();\n    }\n  }\n\n  /** 设置播放速度 */\n  setSpeed(speed: number): void {\n    this.speed = speed;\n    if (this.animation) {\n      this.animation.setSpeed(speed);\n    }\n  }\n\n  /** 跳转到指定帧并播放 */\n  goToAndPlay(value: number, isFrame: boolean = true): void {\n    if (this.animation) {\n      this.animation.goToAndPlay(value, isFrame);\n    }\n  }\n\n  /** 跳转到指定帧并停止 */\n  goToAndStop(value: number, isFrame: boolean = true): void {\n    if (this.animation) {\n      this.animation.goToAndStop(value, isFrame);\n    }\n  }\n\n  /** 获取动画总帧数 */\n  getTotalFrames(): number {\n    return this.animation ? this.animation.totalFrames : 0;\n  }\n\n  /** 获取动画持续时间（秒） */\n  getDuration(): number {\n    return this.animation ? this.animation.getDuration() : 0;\n  }\n\n  /** 重新启动动画 */\n  restart(): void {\n    if (this.animation) {\n      this.animation.goToAndPlay(0, true);\n    }\n  }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from \"ng-zorro-antd/input\";\nimport { RdLoadingComponent } from \"./rd-loading.component\";\n\n@NgModule({\n  declarations: [RdLoadingComponent],\n  imports: [CommonModule, ReactiveFormsModule, FormsModule, NzInputModule],\n  exports: [RdLoadingComponent],\n})\nexport class RdLoadingModule {}\n","import {\n  Component,\n  forwardRef,\n  HostBinding,\n  Input,\n  ChangeDetectorRef,\n  ChangeDetectionStrategy,\n} from '@angular/core';\nimport {\n  AbstractControl,\n  ControlValueAccessor,\n  NG_VALIDATORS,\n  NG_VALUE_ACCESSOR,\n  ValidationErrors,\n} from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n  selector: 'app-rd-select-value',\n  templateUrl: './rd-select-value.component.html',\n  styleUrls: [\n    './rd-select-value.component.scss',\n    '../custom-select/select.scss',\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => RdSelectValueComponent),\n      multi: true,\n    },\n    {\n      provide: NG_VALIDATORS,\n      useExisting: forwardRef(() => RdSelectValueComponent),\n      multi: true,\n    },\n  ],\n})\nexport class RdSelectValueComponent implements ControlValueAccessor {\n  @Input() options: { name: string; value: any }[] = [];\n  @Input() isShowSearch: boolean = false;\n  @Input() isShowErrorTip = true;\n  @Input() placeholder: string = '';\n  @Input() label: string = '';\n  @Input() name: string = '';\n  /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n  @Input() theme?: 'light' | 'dark';\n\n  @HostBinding('class.theme-light')\n  get hostThemeLight(): boolean {\n    return this.theme === 'light';\n  }\n\n  @HostBinding('class.theme-dark')\n  get hostThemeDark(): boolean {\n    return this.theme === 'dark';\n  }\n\n  get dropdownClassName(): string {\n    const themeClass =\n      this.theme === 'light'\n        ? 'theme-light'\n        : this.theme === 'dark'\n          ? 'theme-dark'\n          : '';\n    return ['rd-form-item-select-dropdown', themeClass]\n      .filter(Boolean)\n      .join(' ');\n  }\n\n  value: any = null;\n  isDisabled: boolean = false;\n  isFocus: boolean = false;\n  isOpen: boolean = false;\n  searchInput: string = '';\n\n  private control: AbstractControl | null = null;\n  private onChange: (val: any) => void = () => {};\n  private onTouched: () => void = () => {};\n\n  constructor(\n    private cdr: ChangeDetectorRef,\n    private translate: TranslateService,\n  ) {}\n\n  get showError(): boolean {\n    if (!this.isShowErrorTip) return false;\n    return (\n      !!this.control?.invalid && (this.control?.touched || this.control?.dirty)\n    );\n  }\n\n  get currentErrorMessage(): string {\n    if (!this.control?.errors) return '';\n    if (this.control.errors['required']) {\n      return `${this.translate.instant('please_select')}${this.label.toLowerCase()}`;\n    }\n    if (this.control.errors['custom']) {\n      return (\n        this.control?.errors['custom'] ||\n        this.translate.instant('validation_failed')\n      );\n    }\n    return this.translate.instant('validation_failed');\n  }\n\n  onValueChange(val: any): void {\n    this.value = val;\n    this.onChange(val);\n    this.onTouched();\n  }\n\n  validate(control: AbstractControl | null): ValidationErrors | null {\n    if (control) {\n      this.control = control;\n    }\n    return null;\n  }\n\n  // ── ControlValueAccessor ────────────────────────────────────────────────\n\n  writeValue(val: any): void {\n    this.value = val ?? null;\n    this.cdr.markForCheck();\n  }\n\n  registerOnChange(fn: (val: any) => void): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: () => void): void {\n    this.onTouched = fn;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.isDisabled = isDisabled;\n    this.cdr.markForCheck();\n  }\n}\n","<app-rd-form-item\n  [disabled]=\"isDisabled\"\n  [focus]=\"!!searchInput || isFocus || isOpen\"\n  [type]=\"'select'\"\n  [label]=\"label\"\n  [value]=\"value\"\n  [errorMessage]=\"showError ? currentErrorMessage : ''\"\n  [theme]=\"theme\"\n  [ngClass]=\"{ 'rd-form-item-phone': !label }\"\n>\n  <nz-select\n    class=\"rd-form-item-select\"\n    nzBorderless\n    [nzShowArrow]=\"false\"\n    [nzPlaceHolder]=\"placeholder\"\n    [nzShowSearch]=\"isShowSearch\"\n    [disabled]=\"isDisabled\"\n    [nzDropdownClassName]=\"dropdownClassName\"\n    [(ngModel)]=\"value\"\n    (ngModelChange)=\"onValueChange($event)\"\n    (nzFocus)=\"isFocus = true\"\n    (nzBlur)=\"isFocus = false\"\n    (nzOpenChange)=\"isOpen = $event\"\n    (nzOnSearch)=\"searchInput = $event\"\n    [name]=\"name\"\n    [nzOptionHeightPx]=\"40\"\n    [nzSuffixIcon]=\"customIcon\"\n  >\n    <nz-option\n      *ngFor=\"let option of options\"\n      [nzValue]=\"option.value\"\n      [nzLabel]=\"option.name\"\n    ></nz-option>\n  </nz-select>\n</app-rd-form-item>\n\n<ng-template #customIcon>\n  <svg\n    width=\"16\"\n    height=\"16\"\n    viewBox=\"0 0 16 16\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n      fill=\"var(--rd-copy-primary)\"\n    />\n  </svg>\n</ng-template>\n","import {\n  Component,\n  Input,\n  OnDestroy,\n  OnInit,\n  HostBinding,\n} from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Subject } from 'rxjs';\n\n@Component({\n  selector: 'app-rd-phone',\n  templateUrl: './rd-phone.component.html',\n  styleUrls: ['./rd-phone.component.scss'],\n})\nexport class RdPhoneComponent implements OnInit, OnDestroy {\n  /** Parent FormGroup — controls are registered into it */\n  @Input() form: any | FormGroup;\n  @Input() areaCodeControlName: string = 'areaCode';\n  @Input() phoneControlName: string = 'phoneNumber';\n  @Input() label: string = '';\n  @Input() required: boolean = false;\n  /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n  @Input() theme?: 'light' | 'dark';\n  /** Area codes to exclude from the dropdown (e.g. ['+86']) */\n  @Input() excludeAreaCodes: any[] = [];\n  /** Full area-code list from the host (e.g. commonService.areaDictionary) */\n  @Input() areaCodeOptions: any[] = [];\n\n  get filteredAreaCodeOptions(): any[] {\n    if (!this.excludeAreaCodes?.length) return this.areaCodeOptions || [];\n    return (this.areaCodeOptions || []).filter(\n      (opt: any) => !this.excludeAreaCodes.includes(opt.value),\n    );\n  }\n\n  private destroy$ = new Subject<void>();\n\n  @HostBinding('class.theme-light')\n  get hostThemeLight(): boolean {\n    return this.theme === 'light';\n  }\n\n  @HostBinding('class.theme-dark')\n  get hostThemeDark(): boolean {\n    return this.theme === 'dark';\n  }\n\n  constructor() {}\n\n  ngOnInit(): void {\n    if (!this.form.contains(this.areaCodeControlName)) {\n      this.form.addControl(\n        this.areaCodeControlName,\n        new FormControl('+852', this.required ? Validators.required : []),\n      );\n    }\n\n    if (!this.form.contains(this.phoneControlName)) {\n      this.form.addControl(\n        this.phoneControlName,\n        new FormControl('', this.required ? Validators.required : []),\n      );\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n}\n","<div class=\"rd-phone-field\" [formGroup]=\"form\">\n  <div class=\"rd-phone-row\">\n    <div class=\"rd-phone-area-code\">\n      <app-rd-select-value\n        [formControlName]=\"areaCodeControlName\"\n        [options]=\"filteredAreaCodeOptions\"\n        [isShowSearch]=\"true\"\n        [theme]=\"theme\"\n      ></app-rd-select-value>\n    </div>\n    <div class=\"rd-phone-number\">\n      <app-rd-input\n        [formControlName]=\"phoneControlName\"\n        [label]=\"label\"\n        [required]=\"required\"\n        [maskType]=\"'number'\"\n        [theme]=\"theme\"\n      ></app-rd-input>\n    </div>\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { RdSelectValueComponent } from './rd-select-value.component';\nimport { FormItemModule } from '../form-item/form-item.module';\n\n@NgModule({\n  declarations: [RdSelectValueComponent],\n  imports: [\n    CommonModule,\n    FormsModule,\n    NzSelectModule,\n    TranslateModule,\n    FormItemModule,\n  ],\n  exports: [RdSelectValueComponent],\n})\nexport class RdSelectValueModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { RdPhoneComponent } from './rd-phone.component';\nimport { RdSelectValueModule } from '../rd-select-value';\nimport { RdInputModule } from '../custom-input';\n\n@NgModule({\n  declarations: [RdPhoneComponent],\n  imports: [\n    CommonModule,\n    ReactiveFormsModule,\n    TranslateModule,\n    RdSelectValueModule,\n    RdInputModule,\n  ],\n  exports: [RdPhoneComponent],\n})\nexport class RdPhoneModule {}\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\n\n@Component({\n  selector: \"app-rd-remark-history\",\n  templateUrl: \"./rd-remark-history.component.html\",\n  styleUrls: [\"./rd-remark-history.component.scss\"],\n})\nexport class RdRemarkHistoryComponent {\n  @Input() remarks: string[] = [];\n  @Output() select = new EventEmitter<string>();\n\n  onSelect(remark: string) {\n    this.select.emit(remark);\n  }\n}\n","<div class=\"remark-options\">\n  <div class=\"t12-500 c-text-secondary remark-options-title\">\n    {{ \"recent_remarks\" | translate }}\n  </div>\n  <div\n    class=\"remark-options-item t13-500 c-text-primary\"\n    *ngFor=\"let remark of remarks\"\n    (click)=\"onSelect(remark)\"\n  >\n    {{ remark }}\n  </div>\n</div>\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { RdRemarkHistoryComponent } from \"./rd-remark-history.component\";\n\n@NgModule({\n  declarations: [RdRemarkHistoryComponent],\n  imports: [CommonModule, TranslateModule],\n  exports: [RdRemarkHistoryComponent],\n})\nexport class RdRemarkHistoryModule {}\n","import {\n  Component,\n  EventEmitter,\n  forwardRef,\n  HostBinding,\n  Input,\n  Output,\n  ChangeDetectorRef,\n} from \"@angular/core\";\nimport {\n  AbstractControl,\n  ControlValueAccessor,\n  NG_VALIDATORS,\n  NG_VALUE_ACCESSOR,\n  ValidationErrors,\n  Validator,\n} from \"@angular/forms\";\nimport { TranslateService } from \"@ngx-translate/core\";\n\n@Component({\n  selector: \"app-rd-switch\",\n  templateUrl: \"./rd-switch.component.html\",\n  styleUrls: [\"./rd-switch.component.scss\"],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => RdSwitchComponent),\n      multi: true,\n    },\n    {\n      provide: NG_VALIDATORS,\n      useExisting: forwardRef(() => RdSwitchComponent),\n      multi: true,\n    },\n  ],\n})\nexport class RdSwitchComponent implements ControlValueAccessor, Validator {\n  @Input() label: string = \"\";\n  @Input() name: string = \"\";\n  @Input() tooltip: string = \"\";\n  @Input() disabled: boolean = false;\n  @Input() required: boolean = false;\n  @Input() checkedChildren: string = \"\";\n  @Input() unCheckedChildren: string = \"\";\n  /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n  @Input() theme?: \"light\" | \"dark\";\n\n  @HostBinding(\"class.theme-light\")\n  get hostThemeLight(): boolean {\n    return this.theme === \"light\";\n  }\n\n  @HostBinding(\"class.theme-dark\")\n  get hostThemeDark(): boolean {\n    return this.theme === \"dark\";\n  }\n\n  @Input() errorMessages: { [key: string]: string } = {\n    required: \"field_required\",\n  };\n\n  @Output() valueChange = new EventEmitter<boolean>();\n  @Output() blur = new EventEmitter<void>();\n\n  value: boolean = false;\n  private touched = false;\n  private onChange: (value: boolean) => void = () => {};\n  private onTouched: () => void = () => {};\n  private control: AbstractControl | null = null;\n\n  get currentErrorMessage(): string {\n    if (!this.control?.errors) return \"\";\n    const firstError = Object.keys(this.control?.errors || {})[0];\n    const msg = this.errorMessages[firstError];\n\n    switch (firstError) {\n      case \"required\":\n        return (\n          msg ||\n          `${this.translate.instant(\n            \"please_select\",\n          )} ${this.label.toLowerCase()}`\n        );\n      default:\n        return (\n          this.translate.instant(this.errorMessages[firstError]) ||\n          this.translate.instant(\"validation_failed\")\n        );\n    }\n  }\n\n  get showError(): boolean {\n    return (\n      !!this.control?.invalid && (this.control?.touched || this.control?.dirty)\n    );\n  }\n\n  constructor(\n    private cdr: ChangeDetectorRef,\n    private translate: TranslateService,\n  ) {}\n\n  writeValue(value: boolean): void {\n    this.value = !!value;\n    this.cdr.markForCheck();\n  }\n\n  registerOnChange(fn: (value: boolean) => void): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: () => void): void {\n    this.onTouched = fn;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n    this.cdr.markForCheck();\n  }\n\n  onBlur(): void {\n    this.touched = true;\n    this.onTouched();\n    this.blur.emit();\n  }\n\n  handleValueChange(value: boolean): void {\n    this.value = value;\n    this.onChange(value);\n    this.valueChange.emit(value);\n    this.cdr.markForCheck();\n  }\n\n  validate(control: AbstractControl | null): ValidationErrors | null {\n    if (control) {\n      this.control = control;\n    }\n\n    const errors: ValidationErrors = {};\n\n    if (this.required && !this.value) {\n      errors[\"required\"] = true;\n    }\n\n    return Object.keys(errors).length > 0 ? errors : null;\n  }\n}\n","<div class=\"rd-form-item rd-form-item-switch\">\n  <nz-switch\n    [nzCheckedChildren]=\"checkedChildren\"\n    [nzUnCheckedChildren]=\"unCheckedChildren\"\n    [nzDisabled]=\"disabled\"\n    [ngModel]=\"value\"\n    (ngModelChange)=\"handleValueChange($event)\"\n    (blur)=\"onBlur()\"\n  ></nz-switch>\n  <div class=\"rd-form-item-label\">\n    <div\n      class=\"cursor-pointer\"\n      [innerHTML]=\"label\"\n      nz-tooltip\n      [nzTooltipTitle]=\"tooltip | translate\"\n      [nzTooltipColor]=\"'#F8F9FA'\"\n      nzTooltipOverlayClassName=\"custom-tooltip-dark\"\n    ></div>\n  </div>\n\n  <div *ngIf=\"showError\" class=\"rd-form-item-error\">\n    <svg\n      class=\"rd-error-icon-light\"\n      width=\"16\"\n      height=\"16\"\n      viewBox=\"0 0 16 16\"\n      fill=\"none\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n    >\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M1.33398 7.9987C1.33398 4.3168 4.31875 1.33203 8.00065 1.33203C11.6825 1.33203 14.6673 4.3168 14.6673 7.9987C14.6673 11.6806 11.6825 14.6654 8.00065 14.6654C4.31875 14.6654 1.33398 11.6806 1.33398 7.9987ZM8.00065 2.33203C4.87104 2.33203 2.33398 4.86908 2.33398 7.9987C2.33398 11.1283 4.87104 13.6654 8.00065 13.6654C11.1303 13.6654 13.6673 11.1283 13.6673 7.9987C13.6673 4.86908 11.1303 2.33203 8.00065 2.33203Z\"\n        fill=\"#EA485D\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M8.00039 4.06641C8.33176 4.06641 8.60039 4.33504 8.60039 4.66641V7.99974C8.60039 8.33111 8.33176 8.59974 8.00039 8.59974C7.66902 8.59974 7.40039 8.33111 7.40039 7.99974V4.66641C7.40039 4.33504 7.66902 4.06641 8.00039 4.06641ZM8.00039 10.3997C8.33176 10.3997 8.60039 10.6684 8.60039 10.9997V11.3331C8.60039 11.6644 8.33176 11.9331 8.00039 11.9331C7.66902 11.9331 7.40039 11.6644 7.40039 11.3331V10.9997C7.40039 10.6684 7.66902 10.3997 8.00039 10.3997Z\"\n        fill=\"#EA485D\"\n      />\n    </svg>\n\n    <svg\n      class=\"rd-error-icon-dark\"\n      width=\"16\"\n      height=\"16\"\n      viewBox=\"0 0 16 16\"\n      fill=\"none\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n    >\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M1.33398 7.9987C1.33398 4.3168 4.31875 1.33203 8.00065 1.33203C11.6825 1.33203 14.6673 4.3168 14.6673 7.9987C14.6673 11.6806 11.6825 14.6654 8.00065 14.6654C4.31875 14.6654 1.33398 11.6806 1.33398 7.9987ZM8.00065 2.33203C4.87104 2.33203 2.33398 4.86908 2.33398 7.9987C2.33398 11.1283 4.87104 13.6654 8.00065 13.6654C11.1303 13.6654 13.6673 11.1283 13.6673 7.9987C13.6673 4.86908 11.1303 2.33203 8.00065 2.33203Z\"\n        fill=\"#EF7484\"\n      />\n      <path\n        fill-rule=\"evenodd\"\n        clip-rule=\"evenodd\"\n        d=\"M8.00039 4.06641C8.33176 4.06641 8.60039 4.33504 8.60039 4.66641V7.99974C8.60039 8.33111 8.33176 8.59974 8.00039 8.59974C7.66902 8.59974 7.40039 8.33111 7.40039 7.99974V4.66641C7.40039 4.33504 7.66902 4.06641 8.00039 4.06641ZM8.00039 10.3997C8.33176 10.3997 8.60039 10.6684 8.60039 10.9997V11.3331C8.60039 11.6644 8.33176 11.9331 8.00039 11.9331C7.66902 11.9331 7.40039 11.6644 7.40039 11.3331V10.9997C7.40039 10.6684 7.66902 10.3997 8.00039 10.3997Z\"\n        fill=\"#EF7484\"\n      />\n    </svg>\n\n    {{ currentErrorMessage }}\n  </div>\n</div>\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzSwitchModule } from \"ng-zorro-antd/switch\";\nimport { RdSwitchComponent } from \"./rd-switch.component\";\nimport { NzToolTipModule } from \"ng-zorro-antd/tooltip\";\nimport { TranslateModule } from \"@ngx-translate/core\";\n\n@NgModule({\n  declarations: [RdSwitchComponent],\n  imports: [\n    CommonModule,\n    ReactiveFormsModule,\n    FormsModule,\n    NzSwitchModule,\n    NzToolTipModule,\n    TranslateModule,\n  ],\n  exports: [RdSwitchComponent],\n})\nexport class RdSwitchModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { formatBigNumber } from '../utils/big-number';\n\n@Pipe({\n  name: 'bigNumber',\n})\nexport class BigNumberPipe implements PipeTransform {\n  transform(\n    value: string | number,\n    precision: number | null = 6,\n    mode: 'cut' | 'toFixed' | 'keepAll' = 'cut'\n  ): string | number {\n    if (!value) return '';\n\n    return formatBigNumber(value, precision, mode);\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { BigNumberPipe } from './big-number.pipe';\n\n@NgModule({\n  imports: [],\n  exports: [BigNumberPipe],\n  declarations: [BigNumberPipe],\n})\nexport class PipesModule {}\n","import { Subject, isObservable, of } from 'rxjs';\nimport { debounceTime, filter, switchMap } from 'rxjs/operators';\n\n// this 是绑定到组件列的实例\nexport function DebounceSearch(\n  milliseconds: number = 300,\n  queryMinLength = 0,\n  queryMaxLength?: number\n) {\n  return function (\n    target: any,\n    propertyKey: string,\n    descriptor: PropertyDescriptor\n  ) {\n    const originalMethod = descriptor.value;\n\n    descriptor.value = function (...args: any[]) {\n      const subjectKey = `__debounceSubject__${propertyKey}`;\n      const _this = this as any;\n      if (!_this[subjectKey]) {\n        _this[subjectKey] = new Subject<any>();\n\n        _this[subjectKey]\n          .pipe(\n            debounceTime(milliseconds),\n            // distinctUntilChanged(),\n            filter((query: any) => {\n              let showQuery = true;\n              if (!query) return true;\n              if (queryMinLength && queryMaxLength) {\n                showQuery =\n                  query.length >= queryMinLength &&\n                  query.length <= queryMaxLength;\n              } else if (queryMinLength) {\n                showQuery = query.length >= queryMinLength;\n              } else if (queryMaxLength) {\n                showQuery = query.length <= queryMaxLength;\n              }\n              return showQuery;\n            }),\n            switchMap((query) => {\n              const result = originalMethod.apply(this, [\n                query,\n                ...args.slice(1),\n              ]);\n\n              // Wrap result in an observable if it's not already one\n              return isObservable(result) ? result : of(result);\n            })\n          )\n          .subscribe((result: any) => result);\n      }\n\n      _this[subjectKey].next(...args);\n    };\n\n    return descriptor;\n  };\n}\n","/*\n * Public API Surface of shared-lib\n */\n\nexport * from './lib/modules/custom-checkbox';\nexport * from './lib/modules/custom-date';\nexport * from './lib/modules/custom-input';\nexport * from './lib/modules/custom-textarea';\nexport * from './lib/modules/custom-input-amount';\nexport * from './lib/modules/custom-radio';\nexport * from './lib/modules/custom-select';\nexport * from './lib/modules/custom-filter';\nexport * from './lib/modules/custom-pagination';\nexport * from './lib/modules/status-field';\nexport * from './lib/modules/header-step';\nexport * from './lib/modules/rd-notification';\nexport * from './lib/modules/task-base';\n\nexport * from './lib/modules/rd-button';\nexport * from './lib/modules/rd-loading';\nexport * from './lib/modules/rd-phone';\nexport * from './lib/modules/rd-remark-history';\nexport * from './lib/modules/rd-select-value';\nexport * from './lib/modules/rd-switch';\nexport * from './lib/modules/rd-select-value';\n\nexport * from './lib/pipes';\n\nexport * from './lib/decorators';\n\n// utils\nexport * from './lib/utils/debounce';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i1","i5.FormItemComponent","i4","i5","i6.FormItemComponent","i8","i10","i12.RdButtonComponent","i6","i7","i8.FormItemComponent","i9","i4.StatusFieldComponent","i4.RdFilterSelectComponent","i5.RdFilterDateComponent","i6.RdFilterInputComponent","i2.RdSelectValueComponent","i3.CustomInputComponent"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/GD;MAqCa,kBAAkB,CAAA;AApC/B,IAAA,WAAA,GAAA;AAuCE;;;;;;;;;;;;AAYG;AACM,QAAA,IAAA,CAAA,IAAI,GAAW,GAAG,CAAC;AACnB,QAAA,IAAA,CAAA,IAAI,GAAY,IAAI,CAAC;AACrB,QAAA,IAAA,CAAA,QAAQ,GAAY,IAAI,CAAC;AACzB,QAAA,IAAA,CAAA,KAAK,GAAW,CAAC,CAAC;AAClB,QAAA,IAAA,CAAA,MAAM,GAAW,GAAG,CAAC;;QAGrB,IAAc,CAAA,cAAA,GAAW,0BAA0B,CAAC;QAKrD,IAAS,CAAA,SAAA,GAAyB,IAAI,CAAC;AA+HhD,KAAA;;AA5HC,IAAA,IAAY,aAAa,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,mBAAmB,IAAI,SAAS,CAAC;KAC9C;IAED,eAAe,GAAA;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;;QAEhC,IACE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,qBAAqB,CAAC;YAClD,IAAI,CAAC,eAAe,EACpB;YACA,IAAI,CAAC,eAAe,EAAE,CAAC;AACxB,SAAA;;QAGD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE;YACtC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,SAAA;;QAGD,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE;YACzC,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACvB,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;AACxB,aAAA;AACF,SAAA;KACF;IAED,WAAW,GAAA;QACT,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IAEO,aAAa,GAAA;QACnB,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAExB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;AAErD,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,QAAQ,EAAE,KAAc;YACxB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,aAAa,EAAE,IAAI,CAAC,aAAa;AACjC,YAAA,gBAAgB,EAAE;AAChB,gBAAA,mBAAmB,EAAE,eAAe;AACpC,gBAAA,eAAe,EAAE,IAAI;AACrB,gBAAA,iBAAiB,EAAE,IAAI;AACxB,aAAA;SACF,CAAC;QAEF,IAAI;YACF,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;AAGpC,YAAA,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAK,GAAG,CAAC,CAAC;AACxD,SAAA;QAAC,OAAO,KAAK,EAAE,GAAE;KACnB;IAEO,eAAe,GAAA;;QAErB,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,aAAa,EAAE,CAAC;AACvB,SAAC,CAAC,CAAC;KACJ;IAEO,gBAAgB,GAAA;QACtB,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;AACzB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACvB,SAAA;KACF;;;IAKD,IAAI,GAAA;QACF,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACvB,SAAA;KACF;;AAGD,IAAA,QAAQ,CAAC,KAAa,EAAA;AACpB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChC,SAAA;KACF;;AAGD,IAAA,WAAW,CAAC,KAAa,EAAE,OAAA,GAAmB,IAAI,EAAA;QAChD,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC5C,SAAA;KACF;;AAGD,IAAA,WAAW,CAAC,KAAa,EAAE,OAAA,GAAmB,IAAI,EAAA;QAChD,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC5C,SAAA;KACF;;IAGD,cAAc,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC,CAAC;KACxD;;IAGD,WAAW,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;KAC1D;;IAGD,OAAO,GAAA;QACL,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACrC,SAAA;KACF;;gHA1JU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,EAlCnB,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;AAST,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,sOAAA,CAAA,EAAA,CAAA,CAAA;4FAyBU,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBApC9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAChB,QAAA,EAAA,CAAA;;;;;;;;;AAST,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,sOAAA,CAAA,EAAA,CAAA;8BA0B+C,eAAe,EAAA,CAAA;sBAA9D,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAerC,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAGG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAGG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;;;MCnEK,eAAe,CAAA;;6GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;8GAAf,eAAe,EAAA,YAAA,EAAA,CAJX,kBAAkB,CAAA,EAAA,OAAA,EAAA,CACvB,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,CAAA,EAAA,OAAA,EAAA,CAC7D,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAEjB,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAHhB,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,CAAA,EAAA,CAAA,CAAA;4FAG5D,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,kBAAkB,CAAC;oBAClC,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,CAAC;oBACxE,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAC9B,iBAAA,CAAA;;;MC4BY,sBAAsB,CAAA;AAUjC,IAAA,IACI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC;KAC/B;AAED,IAAA,IACI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;KAC9B;AAED,IAAA,IAAI,iBAAiB,GAAA;AACnB,QAAA,MAAM,UAAU,GACd,IAAI,CAAC,KAAK,KAAK,OAAO;AACpB,cAAE,aAAa;AACf,cAAE,IAAI,CAAC,KAAK,KAAK,MAAM;AACrB,kBAAE,YAAY;kBACZ,EAAE,CAAC;AACX,QAAA,OAAO,CAAC,8BAA8B,EAAE,UAAU,CAAC;aAChD,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,CAAC;KACd;IAYD,WACU,CAAA,GAAsB,EACtB,SAA2B,EAAA;QAD3B,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QACtB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAkB;QA3C5B,IAAO,CAAA,OAAA,GAAmC,EAAE,CAAC;QAC7C,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;QAC9B,IAAc,CAAA,cAAA,GAAG,IAAI,CAAC;QACtB,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;QACzB,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;QACnB,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;QA0B3B,IAAK,CAAA,KAAA,GAAQ,IAAI,CAAC;QAClB,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;QAC5B,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;QACzB,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;QACxB,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;QAEjB,IAAO,CAAA,OAAA,GAA2B,IAAI,CAAC;AACvC,QAAA,IAAA,CAAA,QAAQ,GAAuB,MAAK,GAAG,CAAC;AACxC,QAAA,IAAA,CAAA,SAAS,GAAe,MAAK,GAAG,CAAC;KAKrC;AAEJ,IAAA,IAAI,SAAS,GAAA;QACX,IAAI,CAAC,IAAI,CAAC,cAAc;AAAE,YAAA,OAAO,KAAK,CAAC;QACvC,QACE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EACzE;KACH;AAED,IAAA,IAAI,mBAAmB,GAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM;AAAE,YAAA,OAAO,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;AACnC,YAAA,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;AAChF,SAAA;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YACjC,QACE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC;gBAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAC3C;AACH,SAAA;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;KACpD;AAED,IAAA,aAAa,CAAC,GAAQ,EAAA;AACpB,QAAA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;AACjB,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;AAED,IAAA,QAAQ,CAAC,OAA+B,EAAA;AACtC,QAAA,IAAI,OAAO,EAAE;AACX,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACxB,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;;AAID,IAAA,UAAU,CAAC,GAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,GAAG,IAAI,IAAI,CAAC;AACzB,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,gBAAgB,CAAC,EAAsB,EAAA;AACrC,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAC7B,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;;oHAnGU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EAbtB,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,QAAA;AACE,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC;AACrD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC;AACrD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACF,KAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpCH,gsDAoDA,EAAA,MAAA,EAAA,CAAA,6TAAA,EAAA,+hNAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,YAAA,EAAA,QAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,4BAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,iBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;4FDda,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBArBlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAMd,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,4BAA4B,CAAC;AACrD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,WAAW,EAAE,UAAU,CAAC,4BAA4B,CAAC;AACrD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,gsDAAA,EAAA,MAAA,EAAA,CAAA,6TAAA,EAAA,+hNAAA,CAAA,EAAA,CAAA;yIAGQ,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAGF,cAAc,EAAA,CAAA;sBADjB,WAAW;uBAAC,mBAAmB,CAAA;gBAM5B,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,kBAAkB,CAAA;;;MEtCpB,gBAAgB,CAAA;AAc3B,IAAA,IAAI,uBAAuB,GAAA;AACzB,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM;AAAE,YAAA,OAAO,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,EAAE,MAAM,CACxC,CAAC,GAAQ,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CACzD,CAAC;KACH;AAID,IAAA,IACI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC;KAC/B;AAED,IAAA,IACI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;KAC9B;AAED,IAAA,WAAA,GAAA;QA9BS,IAAmB,CAAA,mBAAA,GAAW,UAAU,CAAC;QACzC,IAAgB,CAAA,gBAAA,GAAW,aAAa,CAAC;QACzC,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;QACnB,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;;QAI1B,IAAgB,CAAA,gBAAA,GAAU,EAAE,CAAC;;QAE7B,IAAe,CAAA,eAAA,GAAU,EAAE,CAAC;AAS7B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;KAYvB;IAEhB,QAAQ,GAAA;QACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;AACjD,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAClB,IAAI,CAAC,mBAAmB,EACxB,IAAI,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,GAAG,EAAE,CAAC,CAClE,CAAC;AACH,SAAA;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;AAC9C,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAClB,IAAI,CAAC,gBAAgB,EACrB,IAAI,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,GAAG,EAAE,CAAC,CAC9D,CAAC;AACH,SAAA;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC1B;;8GAtDU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,gZCf7B,4nBAqBA,EAAA,MAAA,EAAA,CAAA,odAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAgB,sBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,MAAA,EAAA,sBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,EAAA,KAAA,EAAA,KAAA,EAAA,WAAA,EAAA,WAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDNa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,SAAS;+BACE,cAAc,EAAA,QAAA,EAAA,4nBAAA,EAAA,MAAA,EAAA,CAAA,odAAA,CAAA,EAAA,CAAA;0EAMf,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBAEG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAYF,cAAc,EAAA,CAAA;sBADjB,WAAW;uBAAC,mBAAmB,CAAA;gBAM5B,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,kBAAkB,CAAA;;;MExBpB,mBAAmB,CAAA;;iHAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kHAAnB,mBAAmB,EAAA,YAAA,EAAA,CAVf,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAEnC,YAAY;QACZ,WAAW;QACX,cAAc;QACd,eAAe;AACf,QAAA,cAAc,aAEN,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAErB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAR5B,YAAY;QACZ,WAAW;QACX,cAAc;QACd,eAAe;QACf,cAAc,CAAA,EAAA,CAAA,CAAA;4FAIL,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAX/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,sBAAsB,CAAC;AACtC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,cAAc;wBACd,eAAe;wBACf,cAAc;AACf,qBAAA;oBACD,OAAO,EAAE,CAAC,sBAAsB,CAAC;AAClC,iBAAA,CAAA;;;MCCY,aAAa,CAAA;;2GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4GAAb,aAAa,EAAA,YAAA,EAAA,CAVT,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAE7B,YAAY;QACZ,mBAAmB;QACnB,eAAe;QACf,mBAAmB;AACnB,QAAA,aAAa,aAEL,gBAAgB,CAAA,EAAA,CAAA,CAAA;AAEf,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YARtB,YAAY;QACZ,mBAAmB;QACnB,eAAe;QACf,mBAAmB;QACnB,aAAa,CAAA,EAAA,CAAA,CAAA;4FAIJ,aAAa,EAAA,UAAA,EAAA,CAAA;kBAXzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;AAChC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;wBACnB,eAAe;wBACf,mBAAmB;wBACnB,aAAa;AACd,qBAAA;oBACD,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC5B,iBAAA,CAAA;;;MCXY,wBAAwB,CAAA;AALrC,IAAA,WAAA,GAAA;QAMW,IAAO,CAAA,OAAA,GAAa,EAAE,CAAC;AACtB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAU,CAAC;AAK/C,KAAA;AAHC,IAAA,QAAQ,CAAC,MAAc,EAAA;AACrB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC1B;;sHANU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,4HCPrC,0UAYA,EAAA,MAAA,EAAA,CAAA,yVAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAnB,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDLa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,0UAAA,EAAA,MAAA,EAAA,CAAA,yVAAA,CAAA,EAAA,CAAA;8BAKxB,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACI,MAAM,EAAA,CAAA;sBAAf,MAAM;;;MECI,qBAAqB,CAAA;;mHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,iBAJjB,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAC7B,YAAY,EAAE,eAAe,aAC7B,wBAAwB,CAAA,EAAA,CAAA,CAAA;oHAEvB,qBAAqB,EAAA,OAAA,EAAA,CAHtB,YAAY,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA;4FAG5B,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,wBAAwB,CAAC;AACxC,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC;oBACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;AACpC,iBAAA,CAAA;;;MC2BY,iBAAiB,CAAA;AAW5B,IAAA,IACI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC;KAC/B;AAED,IAAA,IACI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;KAC9B;AAeD,IAAA,IAAI,mBAAmB,GAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM;AAAE,YAAA,OAAO,EAAE,CAAC;AACrC,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AAE3C,QAAA,QAAQ,UAAU;AAChB,YAAA,KAAK,UAAU;AACb,gBAAA,QACE,GAAG;AACH,oBAAA,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CACvB,eAAe,CAChB,CAAI,CAAA,EAAA,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA,CAAE,EAC/B;AACJ,YAAA;AACE,gBAAA,QACE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;oBACtD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAC3C;AACL,SAAA;KACF;AAED,IAAA,IAAI,SAAS,GAAA;QACX,QACE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EACzE;KACH;IAED,WACU,CAAA,GAAsB,EACtB,SAA2B,EAAA;QAD3B,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QACtB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAkB;QA9D5B,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;QACnB,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;QAClB,IAAO,CAAA,OAAA,GAAW,EAAE,CAAC;QACrB,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;QAC1B,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;QAC1B,IAAe,CAAA,eAAA,GAAW,EAAE,CAAC;QAC7B,IAAiB,CAAA,iBAAA,GAAW,EAAE,CAAC;AAc/B,QAAA,IAAA,CAAA,aAAa,GAA8B;AAClD,YAAA,QAAQ,EAAE,gBAAgB;SAC3B,CAAC;AAEQ,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAW,CAAC;AAC1C,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,YAAY,EAAQ,CAAC;QAE1C,IAAK,CAAA,KAAA,GAAY,KAAK,CAAC;QACf,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAChB,QAAA,IAAA,CAAA,QAAQ,GAA6B,MAAK,GAAG,CAAC;AAC9C,QAAA,IAAA,CAAA,SAAS,GAAe,MAAK,GAAG,CAAC;QACjC,IAAO,CAAA,OAAA,GAA2B,IAAI,CAAC;KAgC3C;AAEJ,IAAA,UAAU,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;AACrB,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,gBAAgB,CAAC,EAA4B,EAAA;AAC3C,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;AAC3B,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KAClB;AAED,IAAA,iBAAiB,CAAC,KAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,QAAQ,CAAC,OAA+B,EAAA;AACtC,QAAA,IAAI,OAAO,EAAE;AACX,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACxB,SAAA;QAED,MAAM,MAAM,GAAqB,EAAE,CAAC;QAEpC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AAChC,YAAA,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AAC3B,SAAA;AAED,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;KACvD;;+GA7GU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAE,IAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EAbjB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,QAAA;AACE,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;AAChD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;AAChD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACF,KAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClCH,kxGAoEA,EAAA,MAAA,EAAA,CAAA,ogDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,YAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,0BAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,uBAAA,EAAA,6BAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDhCa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAjB7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAGd,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,uBAAuB,CAAC;AAChD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,WAAW,EAAE,UAAU,CAAC,uBAAuB,CAAC;AAChD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,kxGAAA,EAAA,MAAA,EAAA,CAAA,ogDAAA,CAAA,EAAA,CAAA;yIAGQ,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAGF,cAAc,EAAA,CAAA;sBADjB,WAAW;uBAAC,mBAAmB,CAAA;gBAM5B,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,kBAAkB,CAAA;gBAKtB,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAII,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACG,IAAI,EAAA,CAAA;sBAAb,MAAM;;;ME1CI,cAAc,CAAA;;4GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;6GAAd,cAAc,EAAA,YAAA,EAAA,CAXV,iBAAiB,CAAA,EAAA,OAAA,EAAA,CAE9B,YAAY;QACZ,mBAAmB;QACnB,WAAW;QACX,cAAc;QACd,eAAe;AACf,QAAA,eAAe,aAEP,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAEhB,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YATvB,YAAY;QACZ,mBAAmB;QACnB,WAAW;QACX,cAAc;QACd,eAAe;QACf,eAAe,CAAA,EAAA,CAAA,CAAA;4FAIN,cAAc,EAAA,UAAA,EAAA,CAAA;kBAZ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,iBAAiB,CAAC;AACjC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;wBACnB,WAAW;wBACX,cAAc;wBACd,eAAe;wBACf,eAAe;AAChB,qBAAA;oBACD,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAC7B,iBAAA,CAAA;;;MCbY,aAAa,CAAA;AACxB,IAAA,SAAS,CACP,KAAsB,EACtB,YAA2B,CAAC,EAC5B,OAAsC,KAAK,EAAA;AAE3C,QAAA,IAAI,CAAC,KAAK;AAAE,YAAA,OAAO,EAAE,CAAC;QAEtB,OAAO,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;KAChD;;2GATU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;yGAAb,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,WAAW;AAClB,iBAAA,CAAA;;;MCGY,WAAW,CAAA;;yGAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;0GAAX,WAAW,EAAA,YAAA,EAAA,CAFP,aAAa,CAAA,EAAA,OAAA,EAAA,CADlB,aAAa,CAAA,EAAA,CAAA,CAAA;0GAGZ,WAAW,EAAA,CAAA,CAAA;4FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBALvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,CAAC,aAAa,CAAC;oBACxB,YAAY,EAAE,CAAC,aAAa,CAAC;AAC9B,iBAAA,CAAA;;;ACJD;AACM,SAAU,cAAc,CAC5B,YAAuB,GAAA,GAAG,EAC1B,cAAc,GAAG,CAAC,EAClB,cAAuB,EAAA;AAEvB,IAAA,OAAO,UACL,MAAW,EACX,WAAmB,EACnB,UAA8B,EAAA;AAE9B,QAAA,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;AAExC,QAAA,UAAU,CAAC,KAAK,GAAG,UAAU,GAAG,IAAW,EAAA;AACzC,YAAA,MAAM,UAAU,GAAG,CAAsB,mBAAA,EAAA,WAAW,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,IAAW,CAAC;AAC1B,YAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;AACtB,gBAAA,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,OAAO,EAAO,CAAC;gBAEvC,KAAK,CAAC,UAAU,CAAC;AACd,qBAAA,IAAI,CACH,YAAY,CAAC,YAAY,CAAC;;AAE1B,gBAAA,MAAM,CAAC,CAAC,KAAU,KAAI;oBACpB,IAAI,SAAS,GAAG,IAAI,CAAC;AACrB,oBAAA,IAAI,CAAC,KAAK;AAAE,wBAAA,OAAO,IAAI,CAAC;oBACxB,IAAI,cAAc,IAAI,cAAc,EAAE;wBACpC,SAAS;4BACP,KAAK,CAAC,MAAM,IAAI,cAAc;AAC9B,gCAAA,KAAK,CAAC,MAAM,IAAI,cAAc,CAAC;AAClC,qBAAA;AAAM,yBAAA,IAAI,cAAc,EAAE;AACzB,wBAAA,SAAS,GAAG,KAAK,CAAC,MAAM,IAAI,cAAc,CAAC;AAC5C,qBAAA;AAAM,yBAAA,IAAI,cAAc,EAAE;AACzB,wBAAA,SAAS,GAAG,KAAK,CAAC,MAAM,IAAI,cAAc,CAAC;AAC5C,qBAAA;AACD,oBAAA,OAAO,SAAS,CAAC;AACnB,iBAAC,CAAC,EACF,SAAS,CAAC,CAAC,KAAK,KAAI;AAClB,oBAAA,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE;wBACxC,KAAK;AACL,wBAAA,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACjB,qBAAA,CAAC,CAAC;;AAGH,oBAAA,OAAO,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;AACpD,iBAAC,CAAC,CACH;qBACA,SAAS,CAAC,CAAC,MAAW,KAAK,MAAM,CAAC,CAAC;AACvC,aAAA;YAED,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AAClC,SAAC,CAAC;AAEF,QAAA,OAAO,UAAU,CAAC;AACpB,KAAC,CAAC;AACJ;;AC1DA;;AAEG;;ACFH;;AAEG;;;;"}