# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""
import grpc
import warnings

from neurion.crucible import query_pb2 as neurion_dot_crucible_dot_query__pb2

GRPC_GENERATED_VERSION = '1.70.0'
GRPC_VERSION = grpc.__version__
_version_not_supported = False

try:
    from grpc._utilities import first_version_is_lower
    _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
except ImportError:
    _version_not_supported = True

if _version_not_supported:
    raise RuntimeError(
        f'The grpc package installed is at version {GRPC_VERSION},'
        + f' but the generated code in neurion/crucible/query_pb2_grpc.py depends on'
        + f' grpcio>={GRPC_GENERATED_VERSION}.'
        + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
        + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
    )


class QueryStub(object):
    """Query defines the gRPC querier service.
    """

    def __init__(self, channel):
        """Constructor.

        Args:
            channel: A grpc.Channel.
        """
        self.Params = channel.unary_unary(
                '/neurion.crucible.Query/Params',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryParamsRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryParamsResponse.FromString,
                _registered_method=True)
        self.GetCreators = channel.unary_unary(
                '/neurion.crucible.Query/GetCreators',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetCreatorsRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetCreatorsResponse.FromString,
                _registered_method=True)
        self.GetCreatorApplications = channel.unary_unary(
                '/neurion.crucible.Query/GetCreatorApplications',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetCreatorApplicationsRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetCreatorApplicationsResponse.FromString,
                _registered_method=True)
        self.GetTask = channel.unary_unary(
                '/neurion.crucible.Query/GetTask',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetTaskRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetTaskResponse.FromString,
                _registered_method=True)
        self.ListAllTasks = channel.unary_unary(
                '/neurion.crucible.Query/ListAllTasks',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryListAllTasksRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryListAllTasksResponse.FromString,
                _registered_method=True)
        self.ListTasksByStatus = channel.unary_unary(
                '/neurion.crucible.Query/ListTasksByStatus',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryListTasksByStatusRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryListTasksByStatusResponse.FromString,
                _registered_method=True)
        self.GetSubmission = channel.unary_unary(
                '/neurion.crucible.Query/GetSubmission',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetSubmissionRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetSubmissionResponse.FromString,
                _registered_method=True)
        self.GetSubmissionByTaskCreator = channel.unary_unary(
                '/neurion.crucible.Query/GetSubmissionByTaskCreator',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetSubmissionByTaskCreatorRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetSubmissionByTaskCreatorResponse.FromString,
                _registered_method=True)
        self.GetSubmissionByTask = channel.unary_unary(
                '/neurion.crucible.Query/GetSubmissionByTask',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetSubmissionByTaskRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetSubmissionByTaskResponse.FromString,
                _registered_method=True)
        self.GetEncryptedProofOfOwnership = channel.unary_unary(
                '/neurion.crucible.Query/GetEncryptedProofOfOwnership',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetEncryptedProofOfOwnershipRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetEncryptedProofOfOwnershipResponse.FromString,
                _registered_method=True)
        self.GetPlagiarismReport = channel.unary_unary(
                '/neurion.crucible.Query/GetPlagiarismReport',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetPlagiarismReportRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetPlagiarismReportResponse.FromString,
                _registered_method=True)
        self.GetTaskReward = channel.unary_unary(
                '/neurion.crucible.Query/GetTaskReward',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetTaskRewardRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetTaskRewardResponse.FromString,
                _registered_method=True)
        self.GetPendingCreatorApplications = channel.unary_unary(
                '/neurion.crucible.Query/GetPendingCreatorApplications',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetPendingCreatorApplicationsRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetPendingCreatorApplicationsResponse.FromString,
                _registered_method=True)
        self.GetTaskStake = channel.unary_unary(
                '/neurion.crucible.Query/GetTaskStake',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetTaskStakeRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetTaskStakeResponse.FromString,
                _registered_method=True)
        self.GetUnscoredSubmissionsByTask = channel.unary_unary(
                '/neurion.crucible.Query/GetUnscoredSubmissionsByTask',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetUnscoredSubmissionsByTaskRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetUnscoredSubmissionsByTaskResponse.FromString,
                _registered_method=True)
        self.CanTriggerFinalSubmission = channel.unary_unary(
                '/neurion.crucible.Query/CanTriggerFinalSubmission',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryCanTriggerFinalSubmissionRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryCanTriggerFinalSubmissionResponse.FromString,
                _registered_method=True)
        self.CanTriggerFinalTesting = channel.unary_unary(
                '/neurion.crucible.Query/CanTriggerFinalTesting',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryCanTriggerFinalTestingRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryCanTriggerFinalTestingResponse.FromString,
                _registered_method=True)
        self.CanRegisterAsTrainer = channel.unary_unary(
                '/neurion.crucible.Query/CanRegisterAsTrainer',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryCanRegisterAsTrainerRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryCanRegisterAsTrainerResponse.FromString,
                _registered_method=True)
        self.CanRegisterAsScorer = channel.unary_unary(
                '/neurion.crucible.Query/CanRegisterAsScorer',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryCanRegisterAsScorerRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryCanRegisterAsScorerResponse.FromString,
                _registered_method=True)
        self.IsTrainer = channel.unary_unary(
                '/neurion.crucible.Query/IsTrainer',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryIsTrainerRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryIsTrainerResponse.FromString,
                _registered_method=True)
        self.IsScorer = channel.unary_unary(
                '/neurion.crucible.Query/IsScorer',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryIsScorerRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryIsScorerResponse.FromString,
                _registered_method=True)
        self.CanSubmitTrainingResult = channel.unary_unary(
                '/neurion.crucible.Query/CanSubmitTrainingResult',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryCanSubmitTrainingResultRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryCanSubmitTrainingResultResponse.FromString,
                _registered_method=True)
        self.CanSubmitFinalResult = channel.unary_unary(
                '/neurion.crucible.Query/CanSubmitFinalResult',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryCanSubmitFinalResultRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryCanSubmitFinalResultResponse.FromString,
                _registered_method=True)
        self.CanRequestScoringTask = channel.unary_unary(
                '/neurion.crucible.Query/CanRequestScoringTask',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryCanRequestScoringTaskRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryCanRequestScoringTaskResponse.FromString,
                _registered_method=True)
        self.GetPendingScoringTasks = channel.unary_unary(
                '/neurion.crucible.Query/GetPendingScoringTasks',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetPendingScoringTasksRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetPendingScoringTasksResponse.FromString,
                _registered_method=True)
        self.CanTerminate = channel.unary_unary(
                '/neurion.crucible.Query/CanTerminate',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryCanTerminateRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryCanTerminateResponse.FromString,
                _registered_method=True)
        self.GetPlagiarismReportFromUser = channel.unary_unary(
                '/neurion.crucible.Query/GetPlagiarismReportFromUser',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetPlagiarismReportFromUserRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetPlagiarismReportFromUserResponse.FromString,
                _registered_method=True)
        self.GetScoreDisputeFromUser = channel.unary_unary(
                '/neurion.crucible.Query/GetScoreDisputeFromUser',
                request_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetScoreDisputeFromUserRequest.SerializeToString,
                response_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetScoreDisputeFromUserResponse.FromString,
                _registered_method=True)


class QueryServicer(object):
    """Query defines the gRPC querier service.
    """

    def Params(self, request, context):
        """Parameters queries the parameters of the module.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetCreators(self, request, context):
        """Queries a list of GetCreators items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetCreatorApplications(self, request, context):
        """Queries a list of GetCreatorApplications items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetTask(self, request, context):
        """Queries a list of GetTask items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListAllTasks(self, request, context):
        """Queries a list of ListAllTasks items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListTasksByStatus(self, request, context):
        """Queries a list of ListTasksByStatus items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetSubmission(self, request, context):
        """Queries a list of GetSubmission items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetSubmissionByTaskCreator(self, request, context):
        """Queries a list of GetSubmissionByTaskCreator items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetSubmissionByTask(self, request, context):
        """Queries a list of GetSubmissionByTask items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetEncryptedProofOfOwnership(self, request, context):
        """Queries a list of GetEncryptedProofOfOwnership items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetPlagiarismReport(self, request, context):
        """Queries a list of GetPlagiarismReport items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetTaskReward(self, request, context):
        """Queries a list of GetTaskReward items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetPendingCreatorApplications(self, request, context):
        """Queries a list of GetPendingCreatorApplications items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetTaskStake(self, request, context):
        """Queries a list of GetTaskStake items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetUnscoredSubmissionsByTask(self, request, context):
        """Queries a list of GetUnscoredSubmissionsByTask items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CanTriggerFinalSubmission(self, request, context):
        """Queries a list of CanTriggerFinalSubmission items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CanTriggerFinalTesting(self, request, context):
        """Queries a list of CanTriggerFinalTesting items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CanRegisterAsTrainer(self, request, context):
        """Queries a list of CanRegisterAsTrainer items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CanRegisterAsScorer(self, request, context):
        """Queries a list of CanRegisterAsScorer items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def IsTrainer(self, request, context):
        """Queries a list of IsTrainer items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def IsScorer(self, request, context):
        """Queries a list of IsScorer items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CanSubmitTrainingResult(self, request, context):
        """Queries a list of CanSubmitTrainingResult items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CanSubmitFinalResult(self, request, context):
        """Queries a list of CanSubmitFinalResult items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CanRequestScoringTask(self, request, context):
        """Queries a list of CanRequestScoringTask items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetPendingScoringTasks(self, request, context):
        """Queries a list of GetPendingScoringTasks items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CanTerminate(self, request, context):
        """Queries a list of CanTerminate items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetPlagiarismReportFromUser(self, request, context):
        """Queries a list of GetPlagiarismReportFromUser items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetScoreDisputeFromUser(self, request, context):
        """Queries a list of GetScoreDisputeFromUser items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_QueryServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'Params': grpc.unary_unary_rpc_method_handler(
                    servicer.Params,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryParamsRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryParamsResponse.SerializeToString,
            ),
            'GetCreators': grpc.unary_unary_rpc_method_handler(
                    servicer.GetCreators,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetCreatorsRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetCreatorsResponse.SerializeToString,
            ),
            'GetCreatorApplications': grpc.unary_unary_rpc_method_handler(
                    servicer.GetCreatorApplications,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetCreatorApplicationsRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetCreatorApplicationsResponse.SerializeToString,
            ),
            'GetTask': grpc.unary_unary_rpc_method_handler(
                    servicer.GetTask,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetTaskRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetTaskResponse.SerializeToString,
            ),
            'ListAllTasks': grpc.unary_unary_rpc_method_handler(
                    servicer.ListAllTasks,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryListAllTasksRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryListAllTasksResponse.SerializeToString,
            ),
            'ListTasksByStatus': grpc.unary_unary_rpc_method_handler(
                    servicer.ListTasksByStatus,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryListTasksByStatusRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryListTasksByStatusResponse.SerializeToString,
            ),
            'GetSubmission': grpc.unary_unary_rpc_method_handler(
                    servicer.GetSubmission,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetSubmissionRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetSubmissionResponse.SerializeToString,
            ),
            'GetSubmissionByTaskCreator': grpc.unary_unary_rpc_method_handler(
                    servicer.GetSubmissionByTaskCreator,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetSubmissionByTaskCreatorRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetSubmissionByTaskCreatorResponse.SerializeToString,
            ),
            'GetSubmissionByTask': grpc.unary_unary_rpc_method_handler(
                    servicer.GetSubmissionByTask,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetSubmissionByTaskRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetSubmissionByTaskResponse.SerializeToString,
            ),
            'GetEncryptedProofOfOwnership': grpc.unary_unary_rpc_method_handler(
                    servicer.GetEncryptedProofOfOwnership,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetEncryptedProofOfOwnershipRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetEncryptedProofOfOwnershipResponse.SerializeToString,
            ),
            'GetPlagiarismReport': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPlagiarismReport,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetPlagiarismReportRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetPlagiarismReportResponse.SerializeToString,
            ),
            'GetTaskReward': grpc.unary_unary_rpc_method_handler(
                    servicer.GetTaskReward,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetTaskRewardRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetTaskRewardResponse.SerializeToString,
            ),
            'GetPendingCreatorApplications': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPendingCreatorApplications,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetPendingCreatorApplicationsRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetPendingCreatorApplicationsResponse.SerializeToString,
            ),
            'GetTaskStake': grpc.unary_unary_rpc_method_handler(
                    servicer.GetTaskStake,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetTaskStakeRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetTaskStakeResponse.SerializeToString,
            ),
            'GetUnscoredSubmissionsByTask': grpc.unary_unary_rpc_method_handler(
                    servicer.GetUnscoredSubmissionsByTask,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetUnscoredSubmissionsByTaskRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetUnscoredSubmissionsByTaskResponse.SerializeToString,
            ),
            'CanTriggerFinalSubmission': grpc.unary_unary_rpc_method_handler(
                    servicer.CanTriggerFinalSubmission,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryCanTriggerFinalSubmissionRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryCanTriggerFinalSubmissionResponse.SerializeToString,
            ),
            'CanTriggerFinalTesting': grpc.unary_unary_rpc_method_handler(
                    servicer.CanTriggerFinalTesting,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryCanTriggerFinalTestingRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryCanTriggerFinalTestingResponse.SerializeToString,
            ),
            'CanRegisterAsTrainer': grpc.unary_unary_rpc_method_handler(
                    servicer.CanRegisterAsTrainer,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryCanRegisterAsTrainerRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryCanRegisterAsTrainerResponse.SerializeToString,
            ),
            'CanRegisterAsScorer': grpc.unary_unary_rpc_method_handler(
                    servicer.CanRegisterAsScorer,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryCanRegisterAsScorerRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryCanRegisterAsScorerResponse.SerializeToString,
            ),
            'IsTrainer': grpc.unary_unary_rpc_method_handler(
                    servicer.IsTrainer,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryIsTrainerRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryIsTrainerResponse.SerializeToString,
            ),
            'IsScorer': grpc.unary_unary_rpc_method_handler(
                    servicer.IsScorer,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryIsScorerRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryIsScorerResponse.SerializeToString,
            ),
            'CanSubmitTrainingResult': grpc.unary_unary_rpc_method_handler(
                    servicer.CanSubmitTrainingResult,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryCanSubmitTrainingResultRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryCanSubmitTrainingResultResponse.SerializeToString,
            ),
            'CanSubmitFinalResult': grpc.unary_unary_rpc_method_handler(
                    servicer.CanSubmitFinalResult,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryCanSubmitFinalResultRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryCanSubmitFinalResultResponse.SerializeToString,
            ),
            'CanRequestScoringTask': grpc.unary_unary_rpc_method_handler(
                    servicer.CanRequestScoringTask,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryCanRequestScoringTaskRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryCanRequestScoringTaskResponse.SerializeToString,
            ),
            'GetPendingScoringTasks': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPendingScoringTasks,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetPendingScoringTasksRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetPendingScoringTasksResponse.SerializeToString,
            ),
            'CanTerminate': grpc.unary_unary_rpc_method_handler(
                    servicer.CanTerminate,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryCanTerminateRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryCanTerminateResponse.SerializeToString,
            ),
            'GetPlagiarismReportFromUser': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPlagiarismReportFromUser,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetPlagiarismReportFromUserRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetPlagiarismReportFromUserResponse.SerializeToString,
            ),
            'GetScoreDisputeFromUser': grpc.unary_unary_rpc_method_handler(
                    servicer.GetScoreDisputeFromUser,
                    request_deserializer=neurion_dot_crucible_dot_query__pb2.QueryGetScoreDisputeFromUserRequest.FromString,
                    response_serializer=neurion_dot_crucible_dot_query__pb2.QueryGetScoreDisputeFromUserResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'neurion.crucible.Query', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('neurion.crucible.Query', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class Query(object):
    """Query defines the gRPC querier service.
    """

    @staticmethod
    def Params(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/Params',
            neurion_dot_crucible_dot_query__pb2.QueryParamsRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryParamsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetCreators(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/GetCreators',
            neurion_dot_crucible_dot_query__pb2.QueryGetCreatorsRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryGetCreatorsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetCreatorApplications(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/GetCreatorApplications',
            neurion_dot_crucible_dot_query__pb2.QueryGetCreatorApplicationsRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryGetCreatorApplicationsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetTask(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/GetTask',
            neurion_dot_crucible_dot_query__pb2.QueryGetTaskRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryGetTaskResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ListAllTasks(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/ListAllTasks',
            neurion_dot_crucible_dot_query__pb2.QueryListAllTasksRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryListAllTasksResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ListTasksByStatus(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/ListTasksByStatus',
            neurion_dot_crucible_dot_query__pb2.QueryListTasksByStatusRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryListTasksByStatusResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetSubmission(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/GetSubmission',
            neurion_dot_crucible_dot_query__pb2.QueryGetSubmissionRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryGetSubmissionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetSubmissionByTaskCreator(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/GetSubmissionByTaskCreator',
            neurion_dot_crucible_dot_query__pb2.QueryGetSubmissionByTaskCreatorRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryGetSubmissionByTaskCreatorResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetSubmissionByTask(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/GetSubmissionByTask',
            neurion_dot_crucible_dot_query__pb2.QueryGetSubmissionByTaskRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryGetSubmissionByTaskResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetEncryptedProofOfOwnership(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/GetEncryptedProofOfOwnership',
            neurion_dot_crucible_dot_query__pb2.QueryGetEncryptedProofOfOwnershipRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryGetEncryptedProofOfOwnershipResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetPlagiarismReport(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/GetPlagiarismReport',
            neurion_dot_crucible_dot_query__pb2.QueryGetPlagiarismReportRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryGetPlagiarismReportResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetTaskReward(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/GetTaskReward',
            neurion_dot_crucible_dot_query__pb2.QueryGetTaskRewardRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryGetTaskRewardResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetPendingCreatorApplications(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/GetPendingCreatorApplications',
            neurion_dot_crucible_dot_query__pb2.QueryGetPendingCreatorApplicationsRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryGetPendingCreatorApplicationsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetTaskStake(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/GetTaskStake',
            neurion_dot_crucible_dot_query__pb2.QueryGetTaskStakeRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryGetTaskStakeResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetUnscoredSubmissionsByTask(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/GetUnscoredSubmissionsByTask',
            neurion_dot_crucible_dot_query__pb2.QueryGetUnscoredSubmissionsByTaskRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryGetUnscoredSubmissionsByTaskResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def CanTriggerFinalSubmission(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/CanTriggerFinalSubmission',
            neurion_dot_crucible_dot_query__pb2.QueryCanTriggerFinalSubmissionRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryCanTriggerFinalSubmissionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def CanTriggerFinalTesting(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/CanTriggerFinalTesting',
            neurion_dot_crucible_dot_query__pb2.QueryCanTriggerFinalTestingRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryCanTriggerFinalTestingResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def CanRegisterAsTrainer(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/CanRegisterAsTrainer',
            neurion_dot_crucible_dot_query__pb2.QueryCanRegisterAsTrainerRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryCanRegisterAsTrainerResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def CanRegisterAsScorer(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/CanRegisterAsScorer',
            neurion_dot_crucible_dot_query__pb2.QueryCanRegisterAsScorerRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryCanRegisterAsScorerResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def IsTrainer(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/IsTrainer',
            neurion_dot_crucible_dot_query__pb2.QueryIsTrainerRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryIsTrainerResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def IsScorer(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/IsScorer',
            neurion_dot_crucible_dot_query__pb2.QueryIsScorerRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryIsScorerResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def CanSubmitTrainingResult(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/CanSubmitTrainingResult',
            neurion_dot_crucible_dot_query__pb2.QueryCanSubmitTrainingResultRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryCanSubmitTrainingResultResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def CanSubmitFinalResult(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/CanSubmitFinalResult',
            neurion_dot_crucible_dot_query__pb2.QueryCanSubmitFinalResultRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryCanSubmitFinalResultResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def CanRequestScoringTask(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/CanRequestScoringTask',
            neurion_dot_crucible_dot_query__pb2.QueryCanRequestScoringTaskRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryCanRequestScoringTaskResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetPendingScoringTasks(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/GetPendingScoringTasks',
            neurion_dot_crucible_dot_query__pb2.QueryGetPendingScoringTasksRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryGetPendingScoringTasksResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def CanTerminate(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/CanTerminate',
            neurion_dot_crucible_dot_query__pb2.QueryCanTerminateRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryCanTerminateResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetPlagiarismReportFromUser(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/GetPlagiarismReportFromUser',
            neurion_dot_crucible_dot_query__pb2.QueryGetPlagiarismReportFromUserRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryGetPlagiarismReportFromUserResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetScoreDisputeFromUser(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.crucible.Query/GetScoreDisputeFromUser',
            neurion_dot_crucible_dot_query__pb2.QueryGetScoreDisputeFromUserRequest.SerializeToString,
            neurion_dot_crucible_dot_query__pb2.QueryGetScoreDisputeFromUserResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)
