public function __construct(private ClientSurveyService $client_survey_service, array $selected_client_survey_ids, private GetComparativeReport $request) 	{ 		$this->locale = $this->request->comparative_language ?? DomainLanguages::getDefaultLanguage();  		$client_surveys = ClientSurvey::whereIn('id', $selected_client_survey_ids)->latest()->get();  		foreach ($client_surveys as $client_survey) { 			$client_survey->load([ 				'applicants' => function ($query) use ($request, $client_survey) { 					$query 						->available() 						->final() 						->filterByAnswers($request->comparative_surveys_filter[$client_survey->getKey()]['comparative_filter_values'] ?? null) 						->filterByLocationAndDepartment($request->comparative_surveys_filter[$client_survey->getKey()]['comparative_locations'] ?? null, $request->comparative_surveys_filter[$client_survey->getKey()]['comparative_departments'] ?? null); 				}, 'extraQuestions' => function ($query) { 					$query->comparableTypes(); 				}]);  			$applicant_ids = $client_survey->applicants->pluck('id')->all(); 			$questions_ids = $request->comparative_surveys_filter[$client_survey->getKey()]['comparative_filter_values'] ?? null;  			if ($questions_ids) { 				array_push($this->filter_quesitons_ids, array_keys($questions_ids)); 			}  			$this->total_applicants += count($applicant_ids);  			if (count($applicant_ids)) { 				array_push($this->filtered_client_surveys, $client_survey);  				$this->filter_values = ExportComparativePdfService::getFilterValueNames($request->comparative_surveys_filter, $this->locale); 				$this->basic_reports[] = $this->getBasicReportData($client_survey, $applicant_ids); 			} 		} 	}