[docs]defpassmanager_processor(passmanager:Union[str,PassManager,tuple[str,PassManager],None],passmanager_container:dict[str,PassManager],)->Optional[tuple[str,PassManager]]:"""Process the passmanager for Qurrium. Args: passmanager (Union[str, PassManager, tuple[str, PassManager], None]): The passmanager. passmanager_container (dict[str, PassManager]): The container of passmanager. Raises: KeyError: If the passmanager not found in the container. ValueError: If the passmanager is invalid. Returns: Optional[tuple[str, PassManager]]: The passmanager pair. """ifisinstance(passmanager,str):ifpassmanagernotinpassmanager_container:raiseKeyError(f"Passmanager '{passmanager}' not found in {passmanager_container}")passmanager_pair=passmanager,passmanager_container[passmanager]elifisinstance(passmanager,PassManager):passmanager_pair=f"pass_{len(passmanager_container)}",passmanagerpassmanager_container[passmanager_pair[0]]=passmanager_pair[1]elifisinstance(passmanager,tuple):ifnotisinstance(passmanager[1],PassManager)ornotisinstance(passmanager[0],str):raiseValueError(f"Invalid passmanager: {passmanager}")passmanager_pair=passmanagerpassmanager_container[passmanager_pair[0]]=passmanager_pair[1]elifpassmanagerisNone:passmanager_pair=Noneelse:raiseValueError(f"Invalid passmanager: {passmanager}")returnpassmanager_pair