Evalml: рдбреЗрдЯрд╛ рдЬрд╛рдВрдЪ рдХрд╛ рд╕рдорд░реНрдерди рдорд╛рдирдХреАрдХрд░рдг; рд╕рдорд╕реНрдпрд╛_рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдорд╛рдиреНрдп рд▓рдХреНрд╖реНрдпрдбреЗрдЯрд╛ рдЪреЗрдХ рд╕рддреНрдпрд╛рдкрди рд▓рдХреНрд╖реНрдп рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 15 рдЬреБрд▓ре░ 2020  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: alteryx/evalml

#970 рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИред

#929 рдореЗрдВ @freddyaboulton рдХреЗ рд╕рд╛рде рдЪрд░реНрдЪрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдо рдбреЗрдЯрд╛рдЪреЗрдХ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рджреЗ рд╕рдХреЗрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдЪреЗрдХ рдПрдкреАрдЖрдИ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдСрдЯреЛрдПрдордПрд▓ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдбреЗрдЯрд╛рдЪреЗрдХреНрд╕ рдХреЗ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рдЗрдВрд╕реНрдЯреЗрдВрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рдбреЗрдЯрд╛рдЪреЗрдХ рдХреНрд▓рд╛рд╕ рдХреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ search() ред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐, @angela97lin @freddyaboulton рдЖрдЗрдП рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рджреЛрдиреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВ a) рдСрдЯреЛрдПрдордПрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдФрд░ рдбреЗрдЯрд╛ рдкреИрд░рд╛рдореАрдЯрд░рдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП API рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ рдФрд░ b) рд▓рдХреНрд╖реНрдп рдХреЛ рдорд╛рдиреНрдп рдХрд░рдиреЗ рдФрд░ рд╕рднреА рд▓рдХреНрд╖реНрдп рдХреЗ рд▓рд┐рдП рдмреБрджреНрдзрд┐рдорд╛рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП InvalidTargetDataCheck рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдкреНрд░рдХрд╛рд░ рд╣рдо рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред

рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЕрднреА рдПрдХ рдмрдЧ # 970 рджрд╛рдпрд░ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдХрд░реАрдм рд╕реЗ рджреЗрдЦрдиреЗ рдкрд░ рдпрд╣ рдореБрджреНрджрд╛ рдЙрдкрд░реЛрдХреНрдд рджреНрд╡рд╛рд░рд╛ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рддреЛ рдпрд╣ #970 рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рд╕рднреА 6 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@ рдПрдВрдЬреЗрд▓рд╛ 97 рд▓рд┐рди рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@dsherry рдЬрд╝рд░реВрд░! #929 рдореЗрдВ, @freddyaboulton рдФрд░ рдореИрдВ рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣реЗ рдереЗ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ InvalidTargetDataCheck рдФрд░ рднреА рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдпрд╣ рдЙрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдЕрд╡рдЧрдд рд╣реЛ рдЬреЛ рдЗрд╕реЗ рд╕рдВрднрд╛рд▓ рд░рд╣рд╛ рдерд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реА рд╕рдорд╕реНрдпрд╛ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рд╡рд░реНрдЧреАрдХрд░рдг рдереА, рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛ рдЬрд╛рдВрдЪ рдХреЗ рдЗрдирдкреБрдЯ рдореЗрдВ рджреЛ рд╕реЗ рдЕрдзрд┐рдХ рд╡рд░реНрдЧ рдереЗ, рддреЛ рд╣рдо рдПрдХ рдЪреЗрддрд╛рд╡рдиреА/рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХ рд╕рдХрддреЗ рдереЗред рдЗрд╕рд▓рд┐рдП, рдбреЗрдЯрд╛ рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рддрд░рд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдпрд╛ рдХреЗрд╡рд▓ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкрд╛рд╕ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рд╣рдорд╛рд░реЗ рд╡рд░реНрддрдорд╛рди рдбрд┐рдЬрд╛рдЗрди рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╣рдо рдХрдХреНрд╖рд╛рдУрдВ рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВред

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рд╕рдорд╕реНрдпрд╛ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдЬрд╛рдВрдЪ рдХрдХреНрд╖рд╛рдПрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдмрд╛рдЗрдирд░реА рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рдЗрдирд╡реИрд▓рд┐рдб рдЯрд╛рд░реНрдЧреЗрдЯрдбреЗрдЯрд╛ рдЪреЗрдХ рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдмрд╛рд▓реЛрдВ рд╡рд╛рд▓реА рднреА рд╣реЛ рд╕рдХрддреА рд╣реИ, рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╕рдордп рдХрд┐ рдбрд┐рдлреЙрд▓реНрдЯрдбреЗрдЯрд╛ рдЪреЗрдХ рдореЗрдВ рдХреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдпрд╛ рдЗрд╕реЗ рднреА рдбрд┐рдлреЙрд▓реНрдЯ рдмрд╛рдЗрдирд░реА рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рдирдбреЗрдЯрд╛ рдЪреЗрдХ рдореЗрдВ рддреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?)

рдЕрднреА @angela97lin @freddyaboulton . рдХреЗ рд╕рд╛рде рдЪрд░реНрдЪрд╛ рдХреА

рд╣рдореЗрдВ рдЙрд╕ рдкреИрдЯрд░реНрди рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ component_graph рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ:

  • рдбреЗрдЯрд╛ рдЬрд╛рдВрдЪ рдХреА рд╕реВрдЪреА рдХреЛ рд╢реБрд░реБрдЖрдд рдореЗрдВ DataCheck рдЙрдкрд╡рд░реНрдЧреЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдпрд╛ рд╕рдорд╛рди рд▓реЗрдХрд┐рди DataChecks рдХреЗ рдЕрдВрджрд░), рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВ
  • рдПрдХ рдмрд╛рд░ рдСрдЯреЛрдПрдордПрд▓ рдЦреЛрдЬ рдбреЗрдЯрд╛ рдЬрд╛рдВрдЪ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреА рд╣реИ, рддреЛ рдпрд╣ DataChecks рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛ рд╕рдХрддреА рд╣реИ
  • рдЙрд╕ рд╕рдордп рд╣рдо рдЗрд╕реЗ рдЕрдкрдиреА рдкрд╛рдЗрдкрд▓рд╛рдЗрди parameters рдХреЗ рд╕рдорд╛рди рдПрдХ data_check_parameters dict рдкрд╛рд╕ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реИред
  • рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реАрдзреЗ DataChecks рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рд╡реЗ рдПрдХ рд╕рдорд╛рди рдкреИрдЯрд░реНрди рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
  • data_check_parameters рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ None $ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛ рдпрджрд┐ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдбреЗрдЯрд╛ рдЬрд╛рдВрдЪ рд╕реЗ рдПрдХ рдЖрд╡рд╢реНрдпрдХ рддрд░реНрдХ рдЧреБрдо рд╣реИ (рдЬреИрд╕реЗ problem_type рдХреБрдЫ рдХреЗ рд▓рд┐рдП) рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкреНрд░рд╛рд░рдВрднрд┐рдХ рддреНрд░реБрдЯрд┐ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП

рдпрд╣рд╛рдБ рдПрдХ рд╕реНрдХреЗрдЪ рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЦреЛрдЬ рдореЗрдВ рдХреИрд╕реЗ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:

# today this helper standardizes the input to a list of `DataCheck` instances, and wraps that in a `DataChecks` instance
# after this work, this would standardize the input to a `DataChecks` class.
# if `data_checks` was already a `DataChecks` class, do nothing. else if `data_checks` is a list of `DataCheck` classes, define a `AutoMLDataChecks` class to wrap and return that
data_checks_class = self._validate_data_checks(data_checks)
# next we create the `DataChecks` instance by passing in data checks parameters
data_check_parameters = {'Target Datatype Data Check': {'problem_type': self.problem_type}}
data_checks = data_checks_class(data_check_parameters)
data_check_results = data_checks.validate(X, y)

рдкреНрд░рддреНрдпрдХреНрд╖ рдЙрдкрдпреЛрдЧ рд╕рдорд╛рди рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред

рдЕрдЧрд▓реЗ рдХрджрдо

  • @angela97lin @freddyaboulton рдЕрдиреНрдп рд▓реЛрдЧ рдЙрдкрд░реЛрдХреНрдд рд╕реНрдХреЗрдЪ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рд╡реЗрдХ-рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ
  • @angela97lin #960 рдкрд░ рд╣рдорд╛рд░реА рдЪрд░реНрдЪрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ TargetDatatype рдбреЗрдЯрд╛ рдЬрд╛рдВрдЪ (рдирд╛рдо TBD) рдЬреЛрдбрд╝рдиреЗ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╕реНрдпрд╛ рджрд░реНрдЬ рдХрд░реЗрдЧрд╛ред рдЙрд╕ рдбреЗрдЯрд╛ рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП problem_type рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА
  • рдЬреЛ рдХреЛрдИ рднреА рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЙрдард╛рддрд╛ рд╣реИ рдЙрд╕реЗ рднреА рдЙрд╕реА рд╕рдордп рдЙрд╕ TargetDatatype рдЕрдВрдХ рдХреЛ рдЙрдард╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕реЗ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП! я╕П

@dsherry рдпреЛрдЬрдирд╛ рдореБрдЭреЗ рдЕрдЪреНрдЫреА рд▓рдЧрддреА рд╣реИ! рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдореИрдВ рдЬреЛрдбрд╝реВрдВрдЧрд╛ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдПрдХ рдирдпрд╛ рдбреЗрдЯрд╛ рдЬрд╛рдВрдЪ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж InvalidTargetDataCheck рдХреЛ рдмрдврд╝рд╛рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдХреЛрдИ рднреА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдЬреЛ рдХреЛрдИ рднреА рдЗрд╕реЗ рдЙрдард╛рддрд╛ рд╣реИ, рдХреГрдкрдпрд╛ рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд▓рдХреНрд╖реНрдп рдореЗрдВ рдХреЗрд╡рд▓ рджреЛ рдЕрджреНрд╡рд┐рддреАрдп рдорд╛рди рд╣реИрдВ рдЬрдм problem_type рдмрд╛рдЗрдирд░реА рд╣реИред #929 рдХреА рд╕рдореАрдХреНрд╖рд╛ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

if problem_type == "binary" and len(set(y)) != 2:
    # Warn that we do not have two unique values in y

рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐, @angela97lin @freddyaboulton рдЖрдЗрдП рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рджреЛрдиреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВ a) рдСрдЯреЛрдПрдордПрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдФрд░ рдбреЗрдЯрд╛ рдкреИрд░рд╛рдореАрдЯрд░рдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП API рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ рдФрд░ b) рд▓рдХреНрд╖реНрдп рдХреЛ рдорд╛рдиреНрдп рдХрд░рдиреЗ рдФрд░ рд╕рднреА рд▓рдХреНрд╖реНрдп рдХреЗ рд▓рд┐рдП рдмреБрджреНрдзрд┐рдорд╛рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП InvalidTargetDataCheck рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдкреНрд░рдХрд╛рд░ рд╣рдо рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред

рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЕрднреА рдПрдХ рдмрдЧ # 970 рджрд╛рдпрд░ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдХрд░реАрдм рд╕реЗ рджреЗрдЦрдиреЗ рдкрд░ рдпрд╣ рдореБрджреНрджрд╛ рдЙрдкрд░реЛрдХреНрдд рджреНрд╡рд╛рд░рд╛ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рддреЛ рдпрд╣ #970 рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

@dsherry рдХрд┐рддрдирд╛ рд╕рд╛рдордпрд┐рдХ рд╣реИ! рдпрд╣ рдореБрдЭреЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

freddyaboulton picture freddyaboulton  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

bchen1116 picture bchen1116  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

angela97lin picture angela97lin  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

angela97lin picture angela97lin  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dsherry picture dsherry  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ