|  line  | 
 !l  | 
 l&&!r  | 
 l&&r  | 
 condition  | 
 
| 
113
 | 
 0  | 
 0  | 
 0  | 
 $#_ == 0 && ref $_[0] eq 'HASH'
  | 
 
| 
185
 | 
 0  | 
 0  | 
 0  | 
 $#_ == 0 && ref $_[0] eq 'HASH'
  | 
 
| 
248
 | 
 0  | 
 0  | 
 0  | 
 $#_ == 0 && ref $_[0] eq 'HASH'
  | 
 
| 
283
 | 
 0  | 
 0  | 
 0  | 
 $#_ == 0 && ref $_[0] eq 'HASH'
  | 
 
| 
314
 | 
 0  | 
 0  | 
 0  | 
 $#_ == 0 && ref $_[0] eq 'HASH'
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 ref $i eq 'HASH' and not grep((!/\A(?:email|id|untag|user_id)\z/u), keys %{$i;})
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 ref $i eq 'HASH' and not grep((!/\A(?:email|id|untag|user_id)\z/u), keys %{$i;}) and !exists($$i{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$i{'email'})
}
}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 ref $i eq 'HASH' and not grep((!/\A(?:email|id|untag|user_id)\z/u), keys %{$i;}) and !exists($$i{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$i{'email'})
}
} and !exists($$i{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$i{'id'})
}
}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 ref $i eq 'HASH' and not grep((!/\A(?:email|id|untag|user_id)\z/u), keys %{$i;}) and !exists($$i{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$i{'email'})
}
} and !exists($$i{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$i{'id'})
}
} and !exists($$i{'untag'}) || do {
	do {
	Type::Tiny::XS::Bool($$i{'untag'})
}
}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 ref $i eq 'HASH' and not grep((!/\A(?:company_id|id|untag)\z/u), keys %{$i;})
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 ref $i eq 'HASH' and not grep((!/\A(?:company_id|id|untag)\z/u), keys %{$i;}) and !exists($$i{'company_id'}) || do {
	do {
	Type::Tiny::XS::Str($$i{'company_id'})
}
}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 ref $i eq 'HASH' and not grep((!/\A(?:company_id|id|untag)\z/u), keys %{$i;}) and !exists($$i{'company_id'}) || do {
	do {
	Type::Tiny::XS::Str($$i{'company_id'})
}
} and !exists($$i{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$i{'id'})
}
}
  | 
 
| 
356
 | 
 0  | 
 0  | 
 0  | 
 $#_ == 0 && ref $_[0] eq 'HASH'
  | 
 
| 
386
 | 
 0  | 
 0  | 
 0  | 
 $#_ == 0 && ref $_[0] eq 'HASH'
  | 
 
| 
431
 | 
 0  | 
 0  | 
 0  | 
 $#_ == 0 && ref $_[0] eq 'HASH'
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 defined $v and not ref $v
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 ref $v eq 'HASH' and not grep((!/\A(?:url|value)\z/u), keys %{$v;})
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 ref $v eq 'HASH' and not grep((!/\A(?:url|value)\z/u), keys %{$v;}) and exists $$v{'url'}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 ref $v eq 'HASH' and not grep((!/\A(?:url|value)\z/u), keys %{$v;}) and exists $$v{'url'} and do {
	Type::Tiny::XS::Str($$v{'url'})
}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 ref $v eq 'HASH' and not grep((!/\A(?:amount|currency)\z/u), keys %{$v;})
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 ref $v eq 'HASH' and not grep((!/\A(?:amount|currency)\z/u), keys %{$v;}) and exists $$v{'amount'}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 ref $v eq 'HASH' and not grep((!/\A(?:amount|currency)\z/u), keys %{$v;}) and exists $$v{'amount'} and do {
	$$v{'amount'} =~ /\A-?[0-9]+\z/u if defined $$v{'amount'}
}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 ref $v eq 'HASH' and not grep((!/\A(?:amount|currency)\z/u), keys %{$v;}) and exists $$v{'amount'} and do {
	$$v{'amount'} =~ /\A-?[0-9]+\z/u if defined $$v{'amount'}
} and exists $$v{'currency'}
  | 
 
| 
483
 | 
 0  | 
 0  | 
 0  | 
 $#_ == 0 && ref $_[0] eq 'HASH'
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 ref $from eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$from;})
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 ref $from eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$from;}) and !exists($$from{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$from{'email'})
}
}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 ref $from eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$from;}) and !exists($$from{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$from{'email'})
}
} and !exists($$from{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$from{'id'})
}
}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 ref $from eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$from;}) and !exists($$from{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$from{'email'})
}
} and !exists($$from{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$from{'id'})
}
} and exists $$from{'type'}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 ref $from eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$from;}) and !exists($$from{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$from{'email'})
}
} and !exists($$from{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$from{'id'})
}
} and exists $$from{'type'} and do {
	$$from{'type'} =~ /$Types::Standard::_StrMatch{'(?^u:^(admin|user)$)'}/u if not ref $$from{'type'}
}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 ref $to eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$to;})
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 ref $to eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$to;}) and !exists($$to{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$to{'email'})
}
}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 ref $to eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$to;}) and !exists($$to{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$to{'email'})
}
} and !exists($$to{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$to{'id'})
}
}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 ref $to eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$to;}) and !exists($$to{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$to{'email'})
}
} and !exists($$to{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$to{'id'})
}
} and exists $$to{'type'}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 ref $to eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$to;}) and !exists($$to{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$to{'email'})
}
} and !exists($$to{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$to{'id'})
}
} and exists $$to{'type'} and do {
	$$to{'type'} =~ /$Types::Standard::_StrMatch{'(?^u:^(admin|user)$)'}/u if not ref $$to{'type'}
}
  | 
 
| 
485
 | 
 0  | 
 0  | 
 0  | 
 defined $message_type and $message_type eq 'email'
  | 
 
| 
516
 | 
 0  | 
 0  | 
 0  | 
 $#_ == 1 && ref $_[1] eq 'HASH'
  | 
|  line  | 
 l  | 
 !l&&r  | 
 !l&&!r  | 
 condition  | 
 
| 
113
 | 
 0  | 
 0  | 
 0  | 
 $OK{$_} or Carp::croak("Unknown named parameter: $_")
  | 
 
| 
185
 | 
 0  | 
 0  | 
 0  | 
 $OK{$_} or Carp::croak("Unknown named parameter: $_")
  | 
 
| 
248
 | 
 0  | 
 0  | 
 0  | 
 $OK{$_} or Carp::croak("Unknown named parameter: $_")
  | 
 
| 
283
 | 
 0  | 
 0  | 
 0  | 
 $OK{$_} or Carp::croak("Unknown named parameter: $_")
  | 
 
| 
314
 | 
 0  | 
 0  | 
 0  | 
 $OK{$_} or Carp::croak("Unknown named parameter: $_")
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 not exists $$i{'user_id'} or do {
	do {
	Type::Tiny::XS::Str($$i{'user_id'})
}
}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 !exists($$i{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$i{'email'})
}
}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 !exists($$i{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$i{'id'})
}
}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 !exists($$i{'untag'}) || do {
	do {
	Type::Tiny::XS::Bool($$i{'untag'})
}
}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 not exists $$i{'untag'} or do {
	do {
	Type::Tiny::XS::Bool($$i{'untag'})
}
}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 !exists($$i{'company_id'}) || do {
	do {
	Type::Tiny::XS::Str($$i{'company_id'})
}
}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 !exists($$i{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$i{'id'})
}
}
  | 
 
| 
356
 | 
 0  | 
 0  | 
 0  | 
 $OK{$_} or Carp::croak("Unknown named parameter: $_")
  | 
 
| 
386
 | 
 0  | 
 0  | 
 0  | 
 $OK{$_} or Carp::croak("Unknown named parameter: $_")
  | 
 
| 
431
 | 
 0  | 
 0  | 
 0  | 
 $OK{$_} or Carp::croak("Unknown named parameter: $_")
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 not exists $$v{'value'} or do {
	do {
	Type::Tiny::XS::Str($$v{'value'})
}
}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 defined $v and not ref $v or do {
	not exists $$v{'value'} or do {
	do {
	Type::Tiny::XS::Str($$v{'value'})
}
} if ref $v eq 'HASH' and not grep((!/\A(?:url|value)\z/u), keys %{$v;}) and exists $$v{'url'} and do {
	Type::Tiny::XS::Str($$v{'url'})
}
}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 defined $v and not ref $v or do {
	not exists $$v{'value'} or do {
	do {
	Type::Tiny::XS::Str($$v{'value'})
}
} if ref $v eq 'HASH' and not grep((!/\A(?:url|value)\z/u), keys %{$v;}) and exists $$v{'url'} and do {
	Type::Tiny::XS::Str($$v{'url'})
}
} or do {
	if (ref $v eq 'HASH' and not grep((!/\A(?:amount|currency)\z/u), keys %{$v;}) and exists $$v{'amount'} and do {
	$$v{'amount'} =~ /\A-?[0-9]+\z/u if defined $$v{'amount'}
} and exists $$v{'currency'}) {
	Type::Tiny::XS::Str($$v{'currency'});
}
}
  | 
 
| 
433
 | 
 0  | 
 0  | 
 0  | 
 defined $user_id or defined $email
  | 
 
| 
483
 | 
 0  | 
 0  | 
 0  | 
 $OK{$_} or Carp::croak("Unknown named parameter: $_")
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 not exists $$from{'user_id'} or do {
	do {
	Type::Tiny::XS::Str($$from{'user_id'})
}
}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 !exists($$from{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$from{'email'})
}
}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 !exists($$from{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$from{'id'})
}
}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 not exists $$to{'user_id'} or do {
	do {
	Type::Tiny::XS::Str($$to{'user_id'})
}
}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 !exists($$to{'email'}) || do {
	do {
	Type::Tiny::XS::Str($$to{'email'})
}
}
  | 
 
| 
 | 
 0  | 
 0  | 
 0  | 
 !exists($$to{'id'}) || do {
	do {
	Type::Tiny::XS::Str($$to{'id'})
}
}
  | 
 
| 
516
 | 
 0  | 
 0  | 
 0  | 
 $OK{$_} or Carp::croak("Unknown named parameter: $_")
  |