package Ġio . github . ole ks iv io . tl . k bot . core . controller . annotations . parser . filter . telegram Ċ Ċ import Ġio . github . ole ks iv io . tl . k bot . core . annotations . filter . composite . Voice Filter Ċ import Ġio . github . ole ks iv io . tl . k bot . core . controller . annotations . parser . filter . Filter Parser Ċ import Ġio . github . ole ks iv io . tl . k bot . core . controller . annotations . parser . finder . Finder Ċ import Ġio . github . ole ks iv io . tl . k bot . core . controller . handler . check . Validator Ċ import Ġio . github . ole ks iv io . tl . k bot . core . controller . handler . check . impl . Union Extract Validator Ċ import Ġio . github . ole ks iv io . tl . k bot . server . api . objects . std . files . Voice Ċ Ċ class ĠVoice Filter Parser Ġ: ĊĠĠĠ ĠFilter Parser < Voice Filter , ĠVoice > Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġparser Annotation Class Ġ= ĠVoice Filter :: class ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Checker ( annotation : ĠVoice Filter , Ġfinder : ĠFin der ): ĠValidator < Voice > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġunion Extract Validator Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUnion Extract Validator < Voice >() ĊĊĠĠĠĠĠĠĠ Ġannotation . validator ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġvalidator Name Ġ-> Ġfinder . find ( validator Name , ĠVoice :: class ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġvalidator Ġ-> Ġunion Extract Validator . add ({ Ġit Ġ}, Ġvalidator ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġduration Ġ= Ġannotation . duration ĊĠĠĠĠĠĠĠ Ġif Ġ( duration . status . isActive ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunion Extract Validator . add ({ Ġit . duration Ġ}, Ġfinder . find ( duration )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval ĠmimeType Ġ= Ġannotation . mime Type ĊĠĠĠĠĠĠĠ Ġif Ġ( mime Type . status . isActive ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunion Extract Validator . add ({ Ġit . mime Type Ġ}, Ġfinder . find ( mime Type )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval ĠfileSize Ġ= Ġannotation . file Size ĊĠĠĠĠĠĠĠ Ġif Ġ( file Size . status . isActive ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunion Extract Validator . add ({ Ġit . file Size Ġ}, Ġfinder . find ( file Size )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġunion Extract Validator ĊĠĠĠ Ġ} Ċ } ĊĊ